캐스트 3형제(유니캐스트, 브로드캐스트, 멀티캐스트)
이번에는 캐스트 3형제에 대하여 알아보겠습니다.
먼저 자세히 설명하기에 앞서 간단히 보자면 유니크캐스트는 1대 1 방식, 브로드캐스트는 1대 전부, 멀티캐스트는 1대 원하는 수입니다.
<유니캐스트(Unicast)>
앞서 말한것처럼 유니캐스트는 1:1 통신 방식인데 LAN 구성에서의 A PC가 B PC에게 데이터를 보낸다고 가정하면 A PC는 자신의 MAC Address와 목적지의 MAC Address를 프레임 안에 적어 전송합니다.
여기서 프레임과 MAC Address라는 말이 나왔는데 프레임이란 2 계층에서 사용하는 데이터의 단위를 말합니다. 그렇다면 계층이라는 것은 또 뭘까요?
국제표준기구인 ISO라는 단체에서 네트워크의 흐름을 7단계로 나눴는데 그것을 OSI 7 Layer라고 합니다.
OSI 7 Layer는 1단계인 물리계층부터 7단계인 애플리케이션 계층까지 나눠지는데 그중 MAC Address는 2단계인 데이터링크 계층에서 사용되는 주소를 말하고 프레임은 데이터링크 계층에서 사용되는 데이터 단위를 말합니다.
OSI 7 Layer와 MAC Address에 대해서는 뒤에가서 더 자세히 알아볼 텐데 여기서는 쉽게 MAC Address는 주소다 라고 생각하면 될 것 같습니다.
즉 유니캐스트는 1:1방식이기 때문에 자신의 출발지 주소와 자신이 보내려고 하는 곳의 목적지 주소만 알고 있으면 통신이 가능합니다.
이렇게 출발지 주소와 목적지 주소를 넣어 프레임을 보내주면 받는 PC 입장에서는 목적지주소가 자신일 경우 프레임을 받고 그렇지 않은 경우 프레임을 버리게 됩니다.
따라서 유니캐스트는 CPU에 영향을 주지 않기 때문에 PC의 성능을 저하시키지 않습니다.
<브로드캐스트(Broadcast)>
브로드캐스트는 1:전부의 방식인데 유니캐스트와 비교하며 설명드리겠습니다.
학교를 예로 들면 선생님이 철수에게 반에가서 영희를 찾으라고 시켰습니다. 그 말을 들은 철수가 반에 가서 영희를 찾는 방법은 크게 두 가지가 있습니다.
1. 영희에게 직접 찾아가 선생님이 찾는다고 말해준다
2. 칠판 앞에 서서 "영희야 선생님이 너 찾는다"라고 고래고래 소리 지른다.
1번의 경우는 내가 직접 영희에게 메시지를 전달한 1:1 즉 유니캐스트 방식이였기 때문에 다른 아이들에게까지 그 내용이 알려지지 않았습니다. 즉 선생님이 영희를 찾는구나라고 아는 것은 철수와 영희뿐이죠.
하지만 2번의 경우에는 원래 목적인 영희뿐 아니라 그 반에 있는 모든 아이들이 그 메세지를 들었습니다. 즉 좋든싫든 그 안에 있는 모든 학생들에게 메시지를 전달하는 방법 그게 바로 브로드캐스트입니다.
브로드캐스트는 LAN 구간에서 자신의 네트워크에 속한(위에 예시에서는 같은 반이 됩니다) 모든 장비들에게 전달합니다.
브로드캐스트를 받는 LAN카드 입장에서는 자신의 맥주소(MAC Address)와 다르더라도 이 패킷을 CPU에게 전달을 해주는데 즉 CPU의 영향을 주기 때문에 PC의 성능이 저하됩니다.
그렇다면 브로드캐스트는 언제 발생될까요?
사실 위에 예시에서는 철수가 영희를 안다고 가정한다면 교실에서 고래고래 소리 지를 필요는 없습니다. 하지만 철수가 영희를 모른다면 반 아이들에게 일일이 물어보는 편이 오히려 비효율적이겠지요.
이처럼 두 PC간 처음으로 통신을 하는 경우는 서로의 IP는 알아도 맥 주소는 모르는데 이때 맥주소를 알기 위해 하는 동작이 ARP(Address Resolution Protocol)입니다.
ARP란 쉽게말하면 IP만 알고 있는 경우 IP를 MAC Address로 변환하는 것을 말합니다. 반대의 경우는 RARP라고 합니다.
이 때 ARP 과정이 바로 브로드캐스트입니다.
이 과정은 나중에 OSI 7 Layer와 MAC Address까지 배운 후 다시 보면 이해가 더 쉽습니다.
여기서 알아야 할 것은 크게 브로드캐스트는 자신의 네트워크에 속한 모든 장비에게 데이터를 전달한다. 브로드캐스트는 PC의 성능을 저하시킨다. 이 2가지만 확실하게 기억하면 좋을 것 같습니다.
<멀티캐스트>
멀티캐스트는 유니캐스트와 브로드캐스트의 짬뽕형태로 전체가 100이라고 했을 때 50명에게 데이터를 주고 싶다면 유니캐스트로 하자니 50번이나 데이터를 줘야 되고 브로드캐스트로 하자니 남은 50명이 쓸데없이 데이터를 받아야 합니다.
이런 경우 멀티캐스트를 사용하는데 보내고자하는 그룹 멤버들에게만 한 번에 데이터를 보낼 수 있습니다.
*정리*
유니캐스트 : 1대1 통신 방식
브로드캐스트 : 자신이 속한 네트워크에(브로드캐스트 도메인이라고도 합니다) 속한 모든 장비들에게 데이터를 보내는 방식
멀티캐스트 : 그룹 맴버들에게만 한 번에 데이터를 보내는 방식