본문 바로가기

네트워크

유니캐스트, 브로드캐스트, 멀티캐스트(Unicast, Broadcast, Multicast)

이번엔 통신에서 꼭 필요한 3형제에 대해 알아보겠습니다.

 

이녀석들은 통신하는 방식에 따라 구분이 됩니다.

 

먼저 유니캐스트(Unicast)란 전송하는 프레임에 즉, 패킷(Packet)에 출발지와 목적지의 주소(맥 어드레스)의 정보를 함께 싣어 보내는 방식입니다.

이 방식의 특징은 내가 보낸 정보를 받는 호스트는 단 하나라는 겁니다.

유니캐스트 방식을 적용한 프레임을 받은 PC는 자신의 맥 어드레스와 비교한 뒤에 자신의 것이 아니면 그 프레임을 버리게 됩니다. 따라서, CPU의 부하는 늘지 않겠죠?

 

다음은, 브로드 캐스트(Broadcast)입니다. 브로드캐스트방식은 랜에 붙어있는 모든 네트워크 호스트에게 보내는 방식입니다. 어떤 한 호스트가 아닌 내가 속한 네트워크 전체에 메시지를 뿌리는 방식이라고 생각하시면 됩니다.

유니캐스트는 자신의 것이 아니면 버리게 되어 있지만 이 방식은 받기 싫어도 받는 방식이기 때문에 CPU의 부하가 늘겠죠. 

브로드캐스트방식을 너무 과도하게 사용한다면 CPU의 부하가 와서 네트워크 성능을 떨어트릴겁니다. 이 경우를 브로드캐스트 스톰(Broadcast Storm)이라고 부릅니다. 브로드캐스트의 대표적인 특징을 갖고 있는 프로토콜이 바로 ARP입니다. 

ARP(Address Resolution Protocol)는 상대편 IP주소는 알지만 맥어드레스는 모를 때 사용합니다. 즉, IP주소를 전체 네트워크 호스트에 던지고 그 메시지를 받은 호스트들은 자신의 IP와 대조하여 일치한다면 맥 어드레스를 보냅니다. 이 반대는 RARP(Reverse Address Resolution Protocol)겠죠?

이 ARP는 라우터끼리 정보를 교환한다거나 다른 라우터를 찾을 때, 또 서버들이 자신의 서비스를 광역으로 알리기 위할 때 사용합니다. 이는 물론 좋은방식이지만, 브로드캐스트 스톰을 유발할 수 있기에 대규모 네트워크에서는 리스크가 따르겠죠?

 

마지막으로 멀티캐스트(Multicast)입니다. 만약 100명 중 50명에게 메시지를 보내야한다면? 

유니캐스트방식으로 50명에 대한 정보를 직접 프레임에 넣을까요?

아님 브로드캐스트방식으로 100명에게 전부 메시지를 보낼까요?

이 문제를 해결하기 위한 방식이 멀티캐스트입니다. 멀티캐스트는 보내고자 하는 호스트에게만 보낼 수 있기 때문에 유니캐스트처럼 노가다를 하지 않아도 되고 브로드캐스트처럼 불필요한 동작을 할 필요도 없습니다.

하지만 멀티캐스트방식은 스위치나 라우터에서 지원을 해주어야 가능한 방식입니다. 

따라서 스위치나 라우터는 멀티캐스트 기능을 꼭 지원해야한다는 규격이 있습니다.

 

정리하겠습니다.

유니캐스트는 목적지 주소를 하나만 적어 특정한 호스트와 통신하기 위한 방식이고

브로드캐스트는 모든 호스트들에게 메시지를 뿌리는 방식입니다.

멀티캐스트는 유니캐스트와 브로드캐스트의 장점을 섞은 방식입니다.

 

 

'네트워크' 카테고리의 다른 글

프로토콜(Protocol)  (0) 2020.01.06
맥 어드레스(MAC Address)  (1) 2019.11.29
토큰링(TokenRing)이란?  (0) 2019.11.26
이더넷(Ethernet)??인터넷(Internet)??  (2) 2019.11.25
LAN(Lacal Area Network)란?  (0) 2019.11.25