Cast Models

Cast Models(전송 모델)은 데이터 패킷이 출발지에서 하나 또는 여러 목적지로 전달되는 방식을 설명합니다. 아래서 얘기할 각각의 전송 모델은 각각의 통신 목표와 기술을 가지고 있습니다. 이를 통해 데이터 전달을 최적화 하는것이죠.

Unicast(유니캐스트) [1:1통신]

Unicast는 출발지와 목적지간에 데이터가 전달되는 1:1 형태의 전송 모델입니다. 가장 일반적인 형태이고 기본적인 전송 방식입니다. 다음과 같은 원리로 실행되는데요.

  1. 출발지 노드가 특정 목적지 노드를 식별하여 데이터 패킷을 보냄.
  2. 라우터와 스위치는 목적지 IP주소를 기반으로 경로를 설정하고, 패킷을 목적지로 전달.

Unicast는 이메일, 화상통화 이런류에 유니캐스트 방식이 사용되는데요. 데이터 전송은 주로 연결 지향형 프로토콜(TCP)이나 비연결형 프로토콜(UDP)를 통해 수행됩니다. 다수의 목적지에 동일 데이터를 전송하고자 할때는 효율이 떨어지는 모델입니다.

Broadcast(브로드캐스트) [1:N 통신]

Broadcast는 네트워크의 모든 노드로 데이터를 전송하는 1:N 형태의 전송 모델입니다. 특정 네트워크 내의 모든 장치가 데이터를 수신할 수 있는데요. 다음과 같은 원리로 실행됩니다.

  1. 출발지 노드가 브로드캐스트 주소를 사용하여 패킷을 전송
  2. 네트워크 내의 모든 노드가 패킷을 수신하며, 각 노드는 자신의 MAC주소와 비교하여 데이터를처리하거나 폐기

Broadcast의 한계는 로컬 네트워크에서만 유효하다는 점이고, 모든 노드가 데이터를 수신하므로 목적에따라 비효율적인 방식입니다. 그리고, IPv4에서만 지원되는 기술이기도 합니다. IP를 자동으로 할당하기 위한 DHCP(Dynamic Host Configuration Protocol)이나 MAC주소를 찾기 위한 ARP(Address Resolution Protocol)에 사용됩니다.

Multicast(멀티캐스트) [1:N그룹 통신]

Multicast또한 1:N형태의 전송 모델이라고 할 수 있으나 Broadcast와 전송 대상에 차이가 있습니다. Multicast는 한 출발지에서 다수의 ‘특정’ 목적지 ‘그룹’으로 데이터를 전송하는 방식이기 때문인데요. 따라서 모든 노드로 데이터를 전송하는 Broadcast보다 효율적인 기술입니다.

  1. 출발지 노드는 멀티캐스트 그룹 주소(IP Class D)를 통해 데이터를 전송
  2. 네트워크 장비는 멀티캐스트 라우팅 프로토콜을 사용하여 데이터 전송 경로를 최적화
  3. 멀티캐스트 수신자는 그룹에 가입하여 데이터 패킷을 수신

위와 같은 작동원리로 특정 그룹만 데이터를 받도록 설정이 가능하고 IPv6를 지원한다는 장점이 있습니다. 실시간 방송 및 스트리밍, 화상회의, 온라인 게임에 이 멀티캐스트 방식이 적용되어 있습니다. RTP(Real-time Transprot Protocol), IGMP(Internet Groupt Management Protocol), PIM(Protocol Independent Multicast) 등의 프로토콜을 사용합니다.

다만, 모든 네트워크 장비가 멀티캐스트 트래픽을 지원하지는 않을 수 있는 정도의 한계점은 존재합니다.

Anycast(애니캐스트) [1:가장가까운 1 통신]

Anycast는 출발지에서 가장 가까운 단일 목적지로 데이터를 전달하는 형태의 전송 모델입니다. 이런 형태로 인해 분산 네트워크와 부하분산(load balancing)에 사용됩니다.

  1. 여러 노드가 동일한 애니캐스트 주소를 공유
  2. 데이터 패킷은 최단 경로(라우팅 알고리즘)에 따라 가장 가까운 노드로 전달.
  3. DNS 및 라우팅 프로토콜을 통해 네트워크 트래픽이 분산

DNS, CDN등에 이 애니캐스트 방식이 사용이 되고, BGP(Border Gateway Protocol) 프로토콜을 사용합니다.

정리

전송 모델 주요 특징 전송 방식
Unicast 출발지에서 단일 목적지로 데이터 전송. 가장 일반적이고 기본적인 전송 방식. 출발지 → 단일 목적지
Broadcast 네트워크 내 모든 노드로 데이터 전송. 로컬 네트워크에서만 유효. 출발지 → 네트워크 전체
Multicast 특정 그룹의 노드에만 데이터 전송. 네트워크 자원 효율적 사용 가능. 출발지 → 특정 수신 그룹
Anycast 출발지에서 가장 가까운 목적지로 데이터 전송. 분산 네트워크 및 부하 분산에 적합. 출발지 → 가장 가까운 목적지

전송모델중에 더 낫고 더 못한 모델로 구분지어지지는 않습니다. 글을 읽으셨으면 아시겠지만 기술적 요구사항에따라 적합한 모델이 있는 것이기 때문에 네트워크 설계하실때 요구사항 분석을 잘하시면 어렵지 않게 모델 선택이 가능해질 것 같습니다.