Unicast & Broadcast & Multicast

2022. 5. 10. 17:29Network

○ Unicast

현재 가장 보편적으로 사용하는 통신방법이고 목적이 address 하나만 적어서 목표 pc에만 보내는 방식이다.

유니캐스트는 기본적으로 1:1 통신방법을 사용한다. 데이터를 보낼 PC1의  출발지 MAC address에 자신의 주소를 넣고 데이터를 받을 PC2 목적지 MAC address에 PC2의 주소를 넣어 프레임 안에 저장을 하여 전송한다. 로컬 이더넷의 특성 상 일단 자신과 연결된 모든 PC들에 프레임을 뿌리게 된다. 프레임을 받은 PC들은 자신의 MAC address 와 비교하게 되는데 받은 프레임의 목적지의 MAC address와 자신의 랜카드 MAC address가 서로 일치하다면 랜카드는 받은 프레임을 CPU로 전달하고 다르다면 받은 프레임을 드롭하게 된다. 이로 인해 MAC address가 서로 다른 PC들의 CPU 성능을 저하시키지 않을 수 있다.

 

# merits

목적지 MAC address 를 1개만 사용하고 일치하지 않는 MAC address를 받은 PC들은 프레임을 드롭시키기 때문에 CPU 성능에 부담을 주지 않음

 

# demerits

많은 사용자가 동시에 정보를 보낼 경우 일일이 한개씩 보내주어야 되므로 트래픽 부담이 발생함

 

○ Braodcast

브로드캐스트는 기본적으로 1:N의 통신을 하며 브로드캐스트 도메인상에 있는 모든 장비들에게 보내는 통신방법이다.

cf) 브로드캐스트 도메인 : 라우터로 구분되는 공간임

모든 PC 들에게 패킷을 전달하고 받는 PC들은 이를 거부 할 수 없다. 이더넷 환경에서 브로드캐스트에서 목적지의 주소는 이진수 1로 꽉채우고 16진수로 변환된 값인 ff:ff:ff:ff:ff:ff 출력된다. 유니캐스트와 달리 브로드캐스트를 사용하면 모든 PC들은 프레임을 받기 때문에 이것을 CPU에 올려 CPU가 이 패킷을 처리하게 된다. 그렇기 때문에 CPU는 자신이 기존에 하던 일을 멈추고 받은 패킷을 처리 해야 된다. 브로드캐스트는 ARP 프로토콜에서 자주 사용된다. ARP는 네트워크상에서 통신을하기 위해 필요한 MAC주소를 IP주소를 이용해서 알아오는 프로토콜이기 때문에 이를 위해 먼저 데이터를 보낼 PC의 목적지 IP를 같은 브로드캐스트 도메인이라고 생각하고 목적지 MAC address에 ff:ff:ff:ff:ff:ff 을 넣어 패킷 전송을 하여 MAC address를 알아 올 수 있다. 따라서 브로드캐스트가 경고, 안내 같이 전체가 알아야 되는 데이터를 보낼 때에는 유용하지만 너무 자주 사용하면 CPU 성능과 트래픽이 증가되기 때문에 과도하게 사용하지 않는 것이 좋다.

 

# merits

데이터를 한번에 여러 사용자에게 보낼 수 있음 -> 시간이 절약 됨

 

# demerits

브로드캐스트 도메인 상에 있는 모든 PC에다가 패킷을 보내기 때문에 트래픽 증가와 CPU 부담이 증가됨

 

○ Multicast

[Unicast + Broadcast의 장점을 합쳐 여러명에게 보내야 할 경우 유용한 통신방법]

멀티캐스트는 1: N 통신을 하며 유니캐스트+브로드캐스트의 장점을 합친 것이 가능하게 되어 한번에 특정 그룹 멤버들에게 데이터를 보낼 수 있고 또한 그룹에 속하지 않은 pc 들에는 영향을 주지 않는다. 

100개의 PC 중 50개의 PC에게 데이터를 보낼 경우 유니캐스트를 사용한다면 일일이 50개의 PC에게 데이터를 전달해야 되므로 트래픽 증가가 발생하게 되고 브로드캐스트를 사용한다면 선택하지 않은 50개의 PC들도 데이터를 전달받기 때문에 필요없는 CPU 부담이 발생하게 된다. 하지만 위 같이 멀티캐스트는 선택한 50개의 PC를 선택하여 한번에 데이터를 전달하므로 트래픽 증가, CPU 부담 문제를 해소시킬 수 있는 통신방법이다.

 

# merits

유니캐스트 + 멀티캐스트의 장점 -> 선택한 그룹에 한번에 데이터 전달이 가능함

 

# demerits

스위치와 라우터가 지원을 해주어야만 사용할 수 있음

 

'Network' 카테고리의 다른 글

routing protocal  (0) 2023.05.20
TCP fragmentation[mss&mta]  (0) 2023.03.21
MAC address  (0) 2022.04.21
Subnet mask  (0) 2022.04.20
Ip address class  (0) 2022.04.20