3장 네트워크 통신하기

yeongjin·2024년 12월 22일


네트워크에서 데이터를 출발지에서 목적지로 전송할 때 다양한 통신 방식과 기술이 활용된다. 이 글에서는 여러가지 통신 방식과 MAC 및 IP 주소, ARP, NAT 등의 네트워크 통신 요소를 알아본다.


1. 네트워크 통신 방식

1.1 유니캐스트(1:1 통신)

유니캐스트는 가장 일반적으로 사용되는 통신 방식으로, 한 대의 출발지에서 한 대의 목적지로 데이터를 전송한다. 대부분의 인터넷 통신은 유니캐스트를 기반으로 이루어진다.

1.2 브로드캐스트(1:ALL 통신)

브로드캐스트는 네트워크 내 모든 호스트로 데이터를 전달한다. 이는 유니캐스트 통신 전, 상대방의 정확한 위치를 알기 위해 주로 사용된다. 예를 들어, ARP 브로드캐스트를 통해 로컬 네트워크 내의 모든 호스트에 패킷을 전달한다.

1.3 멀티캐스트(1:N 통신)

멀티캐스트는 특정 그룹에만 데이터를 전달하는 방식이다. 그룹 주소를 이용하여 다수의 호스트에게 패킷을 전송하며, 실시간 스트리밍과 같은 애플리케이션에서 주로 활용된다.

1.4 애니캐스트(1:1 통신)

애니캐스트는 애니캐스트 주소를 사용하는 여러 호스트 중 가장 가까운 호스트와 통신하는 방식이다. 주로 DNS 서버 연결 및 게이트웨이 선택에서 활용된다. 애니캐스트는 후보지가 여러 개 있다는 점에서 유니캐스트와 차별화된다.


2. 데이터 전송과 흐름 제어

2.1 윈도우 크기(Window Size)와 슬라이딩 윈도우

네트워크 상에서 한 번에 데이터를 받을 수 있는 데이터 크기를 윈도우 크기(Window Size)라고 한다. 네트워크 상황에 따라 이 크기를 조정하는 방식이 슬라이딩 윈도우(Sliding Window)이다.
TCP는 데이터 유실이 발생하면 윈도우 크기를 절반으로 줄이고, 정상적인 통신이 지속되면 크기를 서서히 늘려 최적의 전송 속도를 유지한다.

2.2 TCP 데이터 전송 과정

TCP에서 송신 측은 데이터를 윈도우 크기 단위로 전송하며, 데이터를 메모리에 유지한다. 수신 측에서 ACK 번호를 수신한 뒤 통신이 성공적으로 이루어진 것을 확인하고 나서야 메모리에서 데이터를 제거한다.
중간에 데이터 유실이 발생하면 시퀀스 번호와 ACK 번호를 비교해 유실된 데이터를 파악하고, 메모리에 저장된 데이터를 재전송한다.


3. MAC 주소와 IP 주소의 역할

3.1 MAC 주소

MAC 주소는 로컬 네트워크 내에서 데이터를 전달할 때 사용된다.

  • 동일 네트워크에서만 중복되지 않으면 문제가 발생하지 않는다.
  • NIC(Network Interface Card)는 목적지 MAC 주소를 확인하여 자신을 목적지로 한 패킷만 수용한다.
  • 라우터는 OSI 3계층에서 작동하므로, MAC 주소가 포함된 프레임 헤더는 다른 네트워크로 넘어갈 때 제거된다.

3.2 CIDR과 클래스리스 주소 체계

기존 클래스풀 주소 체계의 한계를 극복하기 위해 도입된 방식으로, 서브넷 마스크를 사용해 네트워크와 호스트 주소를 구분한다.

3.3 서브네팅

네트워크를 더 작은 단위로 나누어 효율적으로 관리할 수 있도록 하는 방식이다.


4. 초기 통신과 ARP

4.1 ARP의 역할

호스트가 네트워크에서 처음 통신을 시도할 때, 출발지와 목적지 IP 주소는 이미 알고 있지만 상대방의 MAC 주소는 알 수 없다. 따라서 2계층 캡슐화를 수행할 수 없다. 이를 해결하기 위해 ARP(Address Resolution Protocol) 브로드캐스트를 사용해 네트워크 전체에 MAC 주소를 질의한다.
ARP는 IP 주소와 MAC 주소를 매핑해 ARP 테이블에 저장하며, 이를 통해 이후 통신을 원활히 처리한다.

4.2 RARP와 DHCP

RARP(Reverse ARP)는 MAC 주소로 IP 주소를 확인하는 과거 프로토콜로, 현재는 DHCP로 대체되어 사용되지 않는다.


5. 게이트웨이의 역할

같은 네트워크 내 통신과 원격지 네트워크 간 통신은 동작 방식과 필요한 장비가 다르다.

  • 원격지 네트워크와 통신할 때 사용하는 장비를 게이트웨이라고 하며, 이는 3계층 장비(라우터, L3 스위치 등)가 담당한다.
  • 외부 네트워크와 통신이 필요할 경우, 단말은 ARP 요청을 기본 게이트웨이의 IP 주소로 전송한다.

6. 사설 IP와 공인 IP

6.1 사설 IP 대역

사설 IP는 내부 네트워크에서 사용된다.

  • A클래스: 10.0.0.0/8
  • B클래스: 172.16.0.0/12
  • C클래스: 192.168.x.0/24

6.2 NAT와 공인 IP

NAT(Network Address Translation)는 사설 IP를 공인 IP로 변환하여 외부 네트워크와 통신할 수 있도록 한다.

  • NAT 구성 시, 공인 IP로 이미 할당된 주소를 사설 네트워크에 사용하면 외부 서버와의 통신이 차단될 수 있으므로 주의해야 한다.

0개의 댓글