Uni, Broad, Multi, Anycast

 

개요

본 문서에서는 4가지 통신 방식 유니캐스트(Unicast), 브로드캐스트(Broadcast), 멀티캐스트(Multicast), 애니캐스트(Anycast)를 소개한다.

send me email if you have any questions.


유니캐스트(Unicast)

출발지와 목적지가 정확해야 하는 일대일 통신이다.
송신 노드 하나가 수신노드 하나에 데이터를 전송하는 일대일 방식

  • 데이터를 보내는 PC는 자신의 MacAddress와 받는 쪽 PC의 MacAddress를 프레임에 감싸 데이터를 전송한다.
  • 수신 PC는 자신의 MAC과 비교하여 동일하지 않으면 해당 통신을 받지 않는다.
    • CPU 성능 저하가 일어나지 않는다.
  • 자신과 비교하여 동일하면 CPU로 해당프레임을 올린다.

브로드캐스트(Broadcast)

같은 네트워크에 있는 모든 장비들에게 보내는 통신이다.
송신 노드 하나가 네트워크에 연결된 수신 가능한 모든 노드에 데이터를 전송

  • 해당 네트워크에 있는 PC들이 신호를 받고 싶던 말던 무조건 받게 된다.
    (자신의 MAC과 비교해서 동일하지 않으면 통신하지 않는 유니캐스트와 차이)
  • 무조건 수신 하기 때문에 나에게 필요한정보인지 확인하는 과정에서 CPU를 사용하게 된다.
    • 모든 프레임을 CPU에 올리기 때문에 과도한 브로드캐스트는 네트워크 및 PC 성능을 떨어뜨릴 수 있다.
  • 주로 상대 IP는 알지만 MAC을 모를경우에 사용.

멀티캐스트(Multicast)

여러명에게 보내야 할 경우에 사용하는 방식으로 유니캐스트와 브로드캐스트를 합쳐놓은 듯한 개념이다.
송신 노드 하나가 네트워크에 연결된 하나 이상의 수신노드에 데이터를 전송

  • 유니캐스트 문제점
    • MAC을 모두 확인해서 같은걸 여러 번 보내야 하니 수량이 많을수록 네트워크 부하가 커진다.
  • 브로드캐스트 문제점
    • 해당 네트워크 전체에 보내게 되니 관련없는 PC에서는 CPU사용률이 증가하게 된다.
  • 멀티캐스트는 특정 그룹을 지정해서 해당 그룹원에게만 보내느 방식을 사용한다.
    • 스위치나 라우터가 멀티캐스트 방식을 지원해야한다.

애니캐스트(Anycast)

Anycast통신은 가장 가까운 Node와 통신하는 방식이다.
송신 노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다.

  • 유니캐스트와 차이점
    • 송신노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다.

즉, 동일한 Anycast Address가 서로 다른 node들의 Interface에 할당되어 있을 때, 해당 Anycast Address로 IPv6 Packet을 전송하면 Routing Protocol의 알고리즘에 따라 가장 가까이에 있다고 판단되는 Node의 Interface로 전달.

  • 애니캐스트의 목적

  • 트래픽 분산
  • 네트워크 이중화
  • DDos공격이 발생했을 때, 서버가 받는 피해 최소화
  • Client와 Server간의 물리적인 거리를 줄임으로써 Response Time의 최소화

정리

  • 유니캐스트
    • 목적지주소를 하나만 적어서 특정한 한 PC에게만 보내는 방식
  • 브로드캐스트
    • 도메인(영역) 안에 있는 모든 PC들에게 한번에 전송하는 방식으로 CPU에 인터럽트를 걸기 때문에 수신 측에서 PC성능에 영향을 받을 수 있다.
  • 멀티캐스트
    • 원하는 그룹에만 전송하는 방식. 유니캐스트보다 적은 네트워크 부하를 가지고 멀티캐스트로 인한 수신불필요 PC에서의 CPU성능에 영향을 끼치지 않는다.
  • 애니캐스트
    • 가장 가까운 Node와 통신
구분 IPv4 IPv6
주소 유형 유니캐스트, 멀티캐스트, 브로드캐스트 유니캐스트, 멀티캐스트, 애니캐스트

참고

유니캐스트 / 브로드캐스트 / 멀티캐스트 / 애니캐스트 란? - 길덕근
IPv4와 IPv6 - 둔탱이