[스터디] CS 전공지식 노트-네트워크 기기

Lina Hongbi Ko·2025년 3월 13일
0

CS스터디

목록 보기
3/3
post-thumbnail

2025년 3월 13일

2. 네트워크

🖥 SECTION 3. 네트워크 기기

:네트워크는 여러 개의 네트워크 기기를 기반으로 구축됨

📍 네트워크 기기의 처리 범위

  • 네트워크 기기는 계층별로 처리 범위를 나눌 수 있음
  • 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가
    e.g) L7 스위치 (애플리케이션 계층 처리 기기)로 그 밑의 모든 계층의 프로토콜을 처리할 수 있지만 AP (물리계층)은 해당 계층만 처리할 수 있음
  • 애플리케이션 계층: L7 스위치
  • 인터넷 계층: 라우터, L3 스위치
  • 데이터 링크 계층: L2 스위치, 브리지
  • 물리 계층: NIC, 리피터, AP

📍 애플리케이션 계층을 처리하는 기기

✨ L7 스위치

  • 여러 장비 연결, 데이터 통신 중재해 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비
  • 로드 밸런서라고도 하고, 서버의 부하를 분산하는 기기
    • 클라이언트에서 오는 요청들을 여러 서버로 나누는 역할을해 시스템이 처리할 수 있는 트래픽 증가를 목표로 함

*로드 밸런서: 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치

  • url, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산
  • 바이러스, 불필요한 외부 데이터 등을 걸러내는 필터링 기능 있음
  • 응용 프로그램 수준의 트래픽 모니터링 가능
  • 장애가 발생한 서버가 있으면 이를 트래픽 분산 대상에서 제외해야하는데 이를 정기적으로 헬스 체크(health check)를 이용해 감시하면서 이루어짐

✨ L4 스위치와 L7 스위치

  • 로드밸런서로 L4 스위치도 있음
  • L4 스위치는 전송 계층을 처리하는 기기
    • 스트리밍 관련 서비스에서 사용X
    • 메시지를 기반으로 인식하지 못하고, IP와 포트를 기반으로(특히 포트 기반) 트래픽을 분산함
  • L7 로드밸런서는 IP, 포트 외에도 URL, HTTP 헤더, 쿠키 등을 기반으로 트래픽 분산
  • 클라우드 서비스(AWS 등)에서 L7 스위치를 이용한 로드 밸런싱은 ALB (Application Load Balancer) 컴포넌트로 하며, L4 스위치를 이용한 로드 밸런싱은 NLB (Network Load Balancer) 컴포넌트로 한다고 함

✨ 헬스 체크

  • 전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것을 말함
    • 이때 서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 함
    • TCP, HTTP 등 다양한 방법으로 요청을 보내며 이 요청이 정상적으로 이루어졌으면 정상적인 서버로 판별
      e.g) TCP 요청을 보냈는데 3-way-handshake가 정상적으로 일어나지 않으면 정상X

✨ 로드 밸런서를 이용한 서버 이중화

  • 로드밸런서의 대표적인 기능 : 서버 이중화
  • 서비스를 안정적으로 운용하기 위해 2대 이상의 서버는 필수적(에러 발생해 서버 1대가 종료되면 나머지에서라도 운용되어야하기 때문)
    • 따라서, 로드 밸런서는 2대 이상의 서버를 기반으로 가상 IP를 제공해 이를 기반으로 안정적인 서비스를 제공함
    • 로드 밸런서가 제공한 0.0.0.12010 이란 가상 IP에 사용자들이 접근하고 뒷단에 사용 가능한 서버인 0.0.0.12011과 0.0.0.12012를 기반으로 서빙 -> 0.0.0.12011 서버에 장애 발생해도 0.0.0.12012 서버를 기반으로 서비스 운용 할 수 있음

📍 인터넷 계층을 처리하는 기기

✨ 라우터

  • 여러 개의 네트워크를 연결, 분할, 구분 시켜주는 역할
  • 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 최적화해 최소 경로로 패킷을 포워딩(패킷을 목적지로 가는 경로 상에 올려 놓는 것) 하는 라우팅을 하는 장비
    *포워딩: 패킷을 다음 홉(최종 목적지 또는 중간 연결 장치)로 배달하는 것 의미

✨ L3 스위치

  • L2 스위치의 기능과 라우팅 기능을 갖춘 장비
  • 라우터라고 해도 무방
    • 라우터: 소프트웨어 기반의 라우팅과 하드웨어 기반의 라우팅을 하는 것으로 나눠지는데, 하드웨어 기반의 라우팅을 담당하는 장치를 L3 스위치라고 함

📍 데이터링크 계층을 처리하는 기기

✨ L2 스위치

  • 장치들의 MAC주소를 MAC 주소 테이블을 통해 관리하고, 연결된 장치로부터 패킷이 왔을때 패킷 전송을 담당
  • IP 주소를 이해하지 못해 IP주소를 기반으로 라우팅 불가능
  • 단순히 패킷의 MAC 주소를 읽어 스위칭 하는 역할을 함
    • 목적지가 MAC 주소 테이블에 없다면 전체 포트에 전달하고, MAC 주소 테이블의 주소는 일정 시간 이후 삭제하는 기능도 있음

✨ 브리지

  • 두 개의 근거리 통신망(LAN)을 상호 접속 하도록 하는 통신망 연결 장치
  • 포트와 포트 사이의 다리역할을 하고, 장치에서 받아온 MAC 주소를 MAC 주소 테이블로 관리
  • 통신망 범위를 확장하고, 서로 다른 LAN 등으로 이루어진 하나의 통신망을 구축할 때 사용됨

📍 물리 계층을 처리하는 기기

✨ NIC

  • LAN 카드라고 하는 네트워크 인터페이스 카드(NIC, Network Interface Card)는 2대 이상의 컴퓨터 네트워크를 구성하는데 사용함
  • 네트워크와 빠른 속도로 데이터를 송수신할 수 있도록 컴퓨터 내에 설치하는 확장 카드
  • 각 LAN 카드에는 주민등록번호처럼 각각을 구분하기 위한 고유 식별번호인 MAC 주소 있음

✨ 리피터

  • 들어오는 약해진 신호를 증폭해 다른 쪽으로 전달하는 장치 -> 이를 통해 패킷이 더 멀리 갈 수 있지만 광케이블이 보급됨에 따라 현재는 잘 쓰이지 않는 장치

✨ AP

  • Access Point
  • 패킷을 복사하는 기기
  • AP에 유선 LAN을 연결한 후 다른 장치에 무선 LAN 기술(와이파이 등)을 사용해 무선 네트워크를 연결할 수 있음

🖥 SECTION 4. IP 주소

  • 인터넷 계층에서 IP 주소 사용

📍 ARP

  • Address Resolution Protocol
  • 컴퓨터와 컴퓨터 간 통신을 흔히 IP 주소 기반으로 통신한다고 하지만 정확히는 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신함
  • IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜
    • ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환
    • 이와 반대로 RARP를 통해 실제 주소인 MAC 주소를 가장 주소인 IP 주소로 변환하기도 함
  • ARP의 주소를 찾는 과정
  • 장치 A가 ARP Request 브로드캐스트를 보내서 IP 주소인 120.70.80.3에 해당하는 MAC 주소를 찾음 -> 해당 주소에 맞는 장치 B가 ARP Reply 유니 캐스트를 통해 MAC 주소를 반환하는 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾음

*브로드캐스트: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
*유니캐스트: 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식

📍 홉바이홉 통신

  • IP 주소를 통해 통신하는 과정을 홉바이홉 통신 이라고 함
  • 홉(hop) 이란 영어 뜻 자체로는 건너 뛰는 모습을 의미
    • 이는 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것
  • 수많은 서브네트워크 안에 있는 라우터의 라우팅 테이블 IP를 기반으로 패킷을 전달하고 또 전달하면서 라우팅을 수행해 최종 목적지까지 패킷을 전달함
  • 통신 장치에 있는 '라우팅 테이블'의 IP를 통해 시작 주소부터 다음 IP로 계속 이동하는 '라우팅' 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신

*라우팅: IP 주소를 찾아가는 과정

✨ 라우팅 테이블

  • routing table
  • 송신지에서 수신지까지 도달하기 위해 사용됨
  • 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법들이 들어 있는 리스트를 말함
  • 라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지 에 도달하기 위해 거쳐야할 다음 라우터의 정보를 가지고 있음

✨ 게이트웨이

  • gateway
  • 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어
  • 사용자는 인터넷에 접속하기 위해 수많은 톨케이트인 게이트웨이를 거쳐야 하며, 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할을 하기도 함
  • 게이트웨이를 확인하는 방법: 라우팅 테이블을 통해 확인
    • 윈도우의 명령 프롬프트에서 netstat -r 명령어를 실행해 확인 가능
    • IPv4 경로 테이블, IPv6 경로 테이블이 있는데, 이것이 바로 라우팅 테이블이며 게이트웨이, 인터페이스 등이 나오는 것을 볼 수 있음

📍 IP 주소 체계

  • IPv4와 IPv6로 나뉨

  • IPv4: 32비트를 8비트 단위로 점을 찍어 표기
    e.g) 123.45.67.89

  • IPv6: 64비트를 16비트 단위로 콜론을 찍어 표기
    e.g) 2001:db8::ff00:42:8329

  • 추세는 IPv6로 가고 있지만 현재 가장 많이 쓰이고 있는 주소 체계는 IPv4임

✨ 클래스 기반 할당 방식

  • IP 주소 체계는 과거를 거쳐 발전해오고 있으며 처음에는 A,B,C,D,E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식(classful network addressing)을 썼음
  • 앞에 있는 부분을 네트워크 주소, 그 뒤에 있는 부분을 컴퓨터에 부여하는 주소인 호스트 주소로 놓아서 사용
  • 클래스 A, B, C는 일대일 통신으로 사용됨
  • 클래스 D는 멀티캐스트 통신으로 사용됨
  • 클래스 E는 앞으로 사용할 예비용으로 쓰는 방식
    e.g) 클래스 A의 경우 0.0.0.0부터 127.255.255.255까지 범위를 갖음

  • 맨 왼쪽에 있는 비트 => 구분 비트
  • 그림처럼 클래스 A의 경우 맨 왼쪽에 있는 비트가 0이고, 클래스 B는 10, 클래스 C는 110임
    • 이를 통해 클래스간의 IP가 나눠지고, 클래스 A에서 가질 수 있는 IP 범위는 00000000.00000000.00000000.00000000~01111111.11111111.11111111.11111111임 -> 이를 십진수로 표현하면 0.0.0.0~127.255.255
  • 네트워크의 첫 번째 주소는 네트워크 주소로 사용되고, 가장 마지막 주소는 브로드캐스트용 주소로 네트워크에 속해 있는 모든 컴ㅁ퓨터에 데이터를 보낼 때 사용됨

    e.g) 클래스 A로 12.0.0.0 이란 네트워크를 부여 받았을때, 12.0.0.1~12.255.255.254의 호스트 주소를 부여받은 것임.
    이때 첫 번째 주소인 12.0.0.0은 네트워크 구별 주소로 사용하면 안되고 가장 마지막 주소인 12.255.255.255의 경우 브로드캐스트용으로 남겨두어야 해서 이 또한 사용하면 안됨 -> 따라서 그 사이에 있는 12.0.0.1~12.255.255.254를 컴퓨터에 부여할 수 있는 호스트 주소로 사용 할 수 있음
  • 이 방식은 주소보다 버리는 주소가 많은 단점이 있었고, 이를 해소하기 위해 DHCP와 IPv6, NAT이 나옴

✨ DHCP

  • Dynamic Host Configuration Protocol
  • IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜
  • 이를 통해 네트워크 장치의 IP 주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP 주소를 할당 할 수 있음
  • 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며 이를 통해 대부분의 가정용 네트워크에서 IP 주소를 할당함

✨ NAT

  • Network Address Translation
  • 패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 방법
  • IPv4 주소 체계만으로는 많은 주소들을 모두 감당하지 못해 이를 해결하기 위해 NAT로 공인 IP와 사설 IP로 나눠서 많은 주소를 처리함
  • NAT을 가능하게 하는 소프트웨어는 ICS, RRAS, Netfilter 등이 있음
    • 위의 그림을 보면 홍철 팀장, 가영 대리는 192.168.0.xxx를 기반으로 각각의 다른 IP를 가지고 있음 -> 사설 IP. 그리고 NAT 장치를 통해 하나의 공인 IP인 121.165.131.200으로 외부 인터넷에 요청할 수 있음
  • 이를 통해 어비스 회사에 있는 홍철 팀장과 가영 대리는 하나의 IP인 121.165.151.200을 기반으로 각각의 다른 IP를 가지는 것처럼 인터넷을 사용할 수 있음
  • NAT 장치를 통해 사설 IP를 공인 IP로 변환하거나 공인 IP를 사설 IP로 변환하는데 사용
🍏 공유기와 NAT
  • NAT을 쓰는 이유는 주로 여러 대의 호스트가 하나의 공인 IP 주소를 사용해 인터넷에 접속하기 위함
    e.g) 인터넷 회선 하나를 개통하고 인터넷 공유기를 달아서 여러 PC를 연결해 사용 -> 인터넷 공유기에 NAT 기능이 탑재 되어 있기 때문
🍏 NAT을 이용한 보안
  • NAT을 이용하면 내부 네트워크에서 사용하는 IP 주소와 외부에서 드러나는 IP 주소를 다르게 유지할 수 있어서 내부 네트워크에 대한 어늬 정도의 보안 가능
🍏 NAT의 단점
  • NAT은 여러 명이 동시에 인터넷을 접속하게 되므로 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려지는 단점이 있음

📍 IP 주소를 이용한 위치 정보

  • IP 주소는 인터넷에서 사용하는 네트워크 주소임
  • 이를 통해 동 또는 구까지 위치 추적이 가능!
    = IP 주소 기반으로 위치 찾는 사이트: https://mylocation.co.kr

사진 출처
https://thebook.io/080326/0068/

관련 자료
https://velog.io/@su1433/IP%ED%8C%A8%ED%82%B7-%EC%A0%84%EB%8B%AC%EA%B3%BC-%ED%8F%AC%EC%9B%8C%EB%94%A9
https://louis-j.tistory.com/entry/%EB%9D%BC%EC%9A%B0%ED%8C%85%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%9D%BC%EC%9A%B0%ED%8C%85-%ED%85%8C%EC%9D%B4%EB%B8%94Routing-table%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

profile
프론트엔드개발자가 되고 싶어서 열심히 땅굴 파는 자

0개의 댓글