포스트

네트워크 (3) - 네트워크 통신

네트워크 (3) - 네트워크 통신

1. 수신자 범위에 따른 통신 분류

네트워크 통신은 목적지 주소(Address)의 범위에 따라 크게 4가지로 분류된다.

  • Unicast (1:1): 출발지와 목적지가 1:1로 통신하는 방식이다. 실제 네트워크 트래픽의 대다수를 차지한다.
  • Broadcast (1:All): 동일한 물리적 네트워크 내의 모든 호스트를 목적지로 한다. Unicast 통신 전, 상대방의 위치(MAC 주소)를 파악하기 위한 ARP 등에 주로 사용된다.
  • Multicast (1:Group): 특정 그룹에 가입된 호스트들에게만 데이터를 전송한다. IPTV, 사내 방송, 증권 시세 전달 등 단방향 다량 전송에 유용하다.
  • Anycast (1:1 중 가장 가까운 호스트): 동일한 주소를 가진 여러 후보 호스트 중 가장 가깝거나 효율적인 서버 1곳과 통신한다. 가장 가까운 DNS 서버를 찾을 때 주로 활용된다.

IPv6의 주요 변화: IPv6에서는 Broadcast 개념이 완전히 사라지고, 링크 로컬 멀티캐스트(Link-Local Multicast)가 이를 대체한다. 라우터를 넘어가지 않는 동일 로컬 네트워크 범위 내에서 주소 자동 설정(SLAAC) 및 인근 장치 탐색(Neighbor Discovery)을 수행한다.

BUM Traffic

Broadcast, Unknown Unicast, Multicast의 앞 글자를 따온 말이다. 특히 Unknown Unicast는 목적지 MAC 주소가 스위치 테이블에 학습되지 않아 모든 포트로 패킷을 뿌리는(Flooding) 동작을 하며, Broadcast와 유사하게 동작한다. BUM 트래픽이 과도해지면 네트워크 전체 성능 저하를 유발한다.


2. 2계층의 핵심: MAC Address

MAC 주소는 NIC(네트워크 카드) 출하 시 하드웨어에 고정되어 부여되는 48비트(16진수 12자리) 물리적 주소다.

  • 주소 구조: 앞 24비트는 제조사 식별 코드인 OUI(IEEE 관리), 뒤 24비트는 제조사가 자체 할당하는 UAA로 구성된다.
  • 유일성과 범위: 라우터를 넘어 다른 네트워크로 넘어갈 때 출발지/목적지 MAC 주소는 라우터의 MAC 주소로 변환(Re-encapsulation)된다. 따라서 동일 로컬 네트워크 안에서만 중복되지 않는다면 통신에 문제가 없다.
  • 변경 가능성: ROM 형태에 고정되어 있지만, OS 메모리에 적재되어 동작하므로 윈도우 드라이버 설정이나 리눅스의 macchanger 등을 통해 소프트웨어적으로 변경할 수 있다.

NIC의 동작과 무차별 모드

  • 기본 동작: NIC는 수신된 패킷의 목적지 MAC 주소를 확인하고, 본인의 주소나 Broadcast/Multicast 주소가 아니면 하드웨어 단에서 즉시 패킷을 폐기하여 OS와 CPU의 부하를 줄인다.
  • 무차별 모드(Promiscuous Mode): 네트워크 분석이나 디버깅(Wireshark 등)을 위해 목적지 주소와 상관없이 들어오는 모든 패킷을 메모리에 올려 분석할 수 있도록 수신하는 모드다.

3. 3계층의 핵심: IP Address & 서브네팅

IP 주소는 3계층에서 사용하는 논리적 주소로, 사용자 및 네트워크 관리자가 자유롭게 변경할 수 있다. Network AddressHost Address 두 부분으로 구성된다.

IP 주소 부족 문제와 CIDR

IPv4는 32비트 주소 체계로, 초기에는 Classful(A, B, C, D, E 클래스) 방식을 사용했으나 심각한 주소 낭비가 발생했다. 이를 해결하기 위해 다음 기술들이 도입되었다.

  1. CIDR (Classless Inter-Domain Routing): 클래스 개념을 없애고 서브넷 마스크 비트 수(/24 등)를 자유롭게 지정하여 주소를 효율적으로 할당한다.
    • 서브네팅: 하나의 네트워크를 여러 개로 분할하여 사용한다.
    • 슈퍼네팅: 여러 개의 네트워크를 하나로 병합하여 라우팅 테이블 크기를 줄인다.
  2. NAT & Private IP: 외부 인터넷에 노출되지 않는 사설 주소 대역(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)을 내부에서 사용하고, 외부 나갈 때만 공인 IP로 변환한다.
  3. IPv6: 128비트 주소 체계로의 전환.

Bogon IP: IANA에서 특수 목적(Loopback, Private, Test 등)으로 예약하여 인터넷상에 공인 할당되지 않는 IP 대역이다. 외부 망에서 Bogon IP로 접근을 시도한다면 IP Spoofing 등 공격 트래픽일 가능성이 높으므로 차단해야 한다.


4. 4계층 프로토콜: TCP vs UDP

4계층의 핵심 목적은 단순 주소 찾기를 넘어 최종 애플리케이션 프로세스(Port 번호)를 정확히 찾아가고 데이터를 올바르게 분할/조립하는 것이다.

구분TCP (Transmission Control Protocol)UDP (User Datagram Protocol)
연결 방식연결 지향 (3-Way Handshake)비연결 지향
신뢰성높음 (손실 시 재전송)낮음 (데이터 전송 미보장)
헤더 특징Sequence/ACK 번호, Window Size 포함구조가 단순함 (포트 번호, 길이, 체크섬)
흐름/혼잡 제어슬라이딩 윈도우 등을 이용해 동적 제어없음
주요 용도웹(HTTP/HTTPS), 파일전송(FTP), DB, SSH실시간 스트리밍, VoIP, DNS, 멀티캐스트
  • TCP의 슬라이딩 윈도우: 패킷을 하나 보낼 때마다 ACK를 받으면 오버헤드가 크므로, 한 번에 수신할 수 있는 데이터 양(윈도우 사이즈)만큼 연달아 보내고 ACK를 처리하여 전송 효율을 높인다.
  • UDP의 스트리밍 활용: 실시간 음성/영상 전송에서는 패킷 몇 개 유실되는 것보다 재전송을 기다리며 화면이 멈추는 것이 더 치명적이다. 따라서 신뢰성보다 연속적인 시간 준수가 중요한 서비스에 UDP를 채택한다. (단, 넷플릭스/유튜브 같은 VOD 서비스는 버퍼링 캐싱이 가능하므로 TCP를 사용한다.)

5. 주소를 연결하는 다리: ARP (Address Resolution Protocol)

IP 주소(3계층)와 MAC 주소(2계층)는 서로 아무런 연관성이 없다. 따라서 통신을 시작할 때 목적지 IP 주소는 알아도 MAC 주소를 모르면 패킷을 캡슐화할 수 없다.

  1. 동작 과정: 출발지 호스트는 상대방의 MAC 주소를 알아내기 위해 ARP Request(Broadcast)를 네트워크 전체에 보낸다.
  2. 응답: 해당 IP를 가진 호스트가 자신의 MAC 주소를 담아 ARP Reply(Unicast)로 응답한다.
  3. ARP Cache Table: 반복적인 Broadcast 전송을 줄이기 위해 매핑 정보를 메모리에 저장한다 (arp -a로 확인 가능). 일정 시간 동안 통신이 없으면 삭제된다.

특수 ARP

  • GARP (Gratuitous ARP): 자신의 IP와 MAC 주소를 네트워크에 스스로 알리기 위해 보내는 ARP 패킷이다. IP 중복 감지, 타 장비의 ARP 테이블 갱신, HA(고가용성) 클러스터링 페일오버 시 IP를 이전받은 장비가 즉시 통신을 이어나가기 위해 사용한다.
  • Proxy ARP: 라우터가 다른 네트워크에 있는 목적지를 대신해 자신의 MAC 주소로 ARP 응답을 해주는 기능이다.
  • RARP (Reverse ARP): 자신의 MAC 주소는 알지만 IP 주소를 모를 때 서버에게 IP를 요청하는 옛 프로토콜로, 현재는 BOOTP나 DHCP로 대체되었다.

6. 서로 다른 네트워크를 잇는 다리: 서브넷과 게이트웨이

서로 다른 네트워크 대역 간의 통신에서는 브로드캐스트 패킷이 라우터를 넘어가지 못하므로, 외부 네트워크로 나가기 위한 중간 관문과 기준이 필요하다.

  • Subnet (서브넷): 현재 시도하는 통신이 동일한 로컬 네트워크 내에서의 통신인지, 아니면 외부 망으로 나가는 원격 통신인지를 판단하는 기준을 제공한다. IP 주소와 서브넷 마스크를 AND 연산하여 네트워크 주소가 같은지 확인하는 방식으로 작동한다.
  • Gateway (게이트웨이 / Default Gateway): 브로드캐스트가 도달하지 못하는 원격 네트워크로 데이터를 전송할 때 사용하는 통신 관문이다. PC나 장비에서는 외부 망으로 나가는 기본 경로인 Default Gateway 주소를 설정하여 라우터로 패킷을 전달한다.
  • Proxy ARP: 원격지 통신 시 원래는 기본 게이트웨이의 MAC 주소를 질의해야 하지만, 게이트웨이(라우터)에 Proxy ARP 기능이 활성화되어 있다면 원격지 IP에 대한 ARP 요청을 로컬에 브로드캐스트로 보낼 때 라우터가 대신 자신의 MAC 주소로 응답해 통신을 중계해 준다. 상당수 라우터 장비에 기본으로 활성화되어 동작한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.