Unicast, Broadcast, Multicast 이 세 가지는 네트워크에서 송신 호스트가 데이터를 전송하는 서로 다른 방식이다.
그렇다면 어떻게 이렇게 다른 방식으로 데이터를 전송하는 것일까?
Unicast
- 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 방식.
- 목적지의
MAC 주소
를 프레임에 포함시켜 보내는 방식을 사용한다. - 특정 PC가 유니캐스트 프레임을 보내면, 로컬 네트워크 상의 모든 PC들은 일단 이 프레임을 받아들여 LAN 카드에서 자신의 MAC 주소와 비교한다. 일치하지 않으면 이를 버린다.
⇒ CPU까지 접근할 필요가 없다. - 만약 목적지의 MAC 주소를 모르는 프레임이 스위치를 통해 들어왔다면, 해당 패킷은 스위치에 연결되어있는 모든 포트로 브로드캐스트 된다! 유니캐스트의 목적이 실패로 돌아가는 것이다.
⇒ 이런 경우를 유니캐스트 플러드(unicast flood) 라고 한다.- 위키 백과에서는 “IP 유니캐스트 패킷” 이라는 말을 쓰는데, 표현의 차이일 뿐일까?
Broadcast
- 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
- 브로드캐스트의 범위는, 브로드캐스트 도메인으로 제한된다.
- 브로드캐스트 도메인은 하나의 같은 네트워크라는 뜻으로 이해할 수 있다.
- 네트워크 ID 기준으로 같은 네트워크에 묶여있는 모든 대상에게 패킷을 전송하는 것이다.
- 브로드 캐스트 주소 설명 & 계산법
- IP 주소 클래스란? C클래스이면 a.b.c.d에서 a.b.c까지가 네트워크 주소인 것
- 유니캐스트와 달리, 수신 측에서는 전송된 프레임을 무조건 받아야 한다. MAC 주소가 자신의 것과 다르더라도, 무조건 CPU에까지 보내서 처리해야 한다. 때문에 CPU 성능이 저하될 수 있다.
- 강의에서 브로드캐스팅을 할 때에는 연결된 전체 네트워크의 End-point가 통신을 할 수 없다고 했는데, 그 이유도 이것 때문일까?
- ARP 또한 브로드캐스트를 통해 이루어진다.
- ARP란? 유니캐스트 통신을 하고 싶지만 상대방의 MAC 주소를 모를 때, 상대방의 IP를 통해서 이를 알아내는 주소 결정 프로토콜(Address Resolution Protocol).
Multicast
- 전체가 아닌 특정 다수에게 선택적으로 전송하는 방식
- 한 목적지의 주소 대신, 여러 목적지(수신자)가 참여하고 있는 그룹 주소를 표시하여 패킷을 전송
참고 자료
https://ko.wikipedia.org/wiki/유니캐스트https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BA%90%EC%8A%A4%ED%8A%B8
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BA%90%EC%8A%A4%ED%8A%B8
반응형
'공부 > CS' 카테고리의 다른 글
[네트워크] 서브네팅 이해하기 (2) 서브넷, 서브네팅, CIDR (1) | 2023.05.28 |
---|---|
[네트워크] 서브네팅 이해하기 (1) IPv4와 클래스, 주소의 고갈 (0) | 2023.05.27 |
[네트워크] 소켓의 실체? (1) | 2023.05.14 |