유니캐스트, 멀티캐스트, 브로드캐스트 등 캐스트 3형제는 한마디로 네트우크에서 통신을 하는 방식에 따른 구분이다.
즉, 1대1로 한느 통신 방식이냐, 어떤 그룹을 대상으로 하는 통신 방식이냐, 아니면 전부를 대상으로 하는 통신방식이냐 하는 것이다.
유니캐스트
현재 우리가 네트워크상에서 가장 많이 사용되는 트래픽이 무엇인가 하면 바로 유니캐스트이다.
유니캐스트란, 우리가 랜에서 통신을 한다고 할 때 데이터를 보내고자 하는 PC의 맥 어드레스 주소를 프레임 안에 써넣는데, 이때 PC가 하나여야 한다. 즉, 특정 목적지의 주소 하나만을 가지고 통신하는 방식이다.
편지를 보내는 방식과 비교했을때 봉투에 받는 사람 주소를 적고 보내는 사람 주소를 적은 다음에 우체통에 넣는 방식이다.
이런 방식으로 어떤 PC가 유니캐스트 프레임을 뿌리게 되면, 어차피 로컬 이더넷의 기본 성격이 붙어있는 모든 PC들에게 정보를 뿌리는 Shared방식이기 때문에 로컬 네트워크상에 있는 모든 PC들은 일단 이 프레임을 받아들여서 랜카드에서 자신의 맥 어드레스와 비교하게 된다.
그다음 자신의 랜카드 맥 어드에스와 목적지 맥 어드레스가 서로 다른 경우는 바로 그 프레임을 버리게 된다.
이렇게 되면 그 PC의 CPU까지는 영향을 주지 않기 때문에 PC의 성능이 저하되는 일은 발생하지 않는다. (브로드캐스트의 경우 PC의 성능을 저하시키기 때문에 이 부분이 중요하다.)
브로드캐스트
로컬 랜에 붙어있는 모든 네트워크 장비들에게 보내는 통신이다.
여기서 로컬 랜이란, 라우터에 의해서 구분되는 공간, 즉 브로드캐스트 도메인이라고 하는 공간을 뜻한다.
브로드캐스트는 통신의 대상이 특정한 어떤 한 네트워크 장비가 아니고 내가 살고있는 네트워크 안의 모든 네트워크 장비들에 통신할 때 쓰기 위한 방식이다.
예를들어 동네 이장님이 "동네 사람들! 반상회가 있으니까 다 모이세요!" 이렇게 방송하는 것과 같다.
브로드캐스트 도메인이란 방송을 하면 들리는 영역으로 동네가 된다.
브로드캐스트 맥 주소는 FFFF.FFFF.FFFF로 정해져있다.
이 주소가 오면 랜카드는 비록 자신의 맥 어드레스와 같지는 않지만 브로드캐스트 패킷을 CPU에 보내게 된다.
브로드캐스트는 네트워크상의 전체 노드로 전송되기 때문에 전체적인 트래픽도 증가하지만, 이 패킷을 받은 모든 랜카드가 이 패킷을 CPU로 전송하기 때문에 CPU는 하던 일을 멈추고 또 다른 일을 해야 하고, 이에 따라 전체 PC의 성능도 떨어지게 된다.
그럼 브로드캐스트는 어떤 경우에 발생할까?
예를들어 처음 두 PC간에 통신을 하는 경우 상대편의 IP주소는 알 수 있어도 맥 주소는 모른다. 이 경우 상대의 맥 주소를 알아내기 위해 하는 동작이 ARP(Address Resolution Protocol)이다. 이 ARP가 바로 브로드캐스트이다.
즉, 우리 동네 사는 모든 사람들에게 "이 IP 주소 가진 사람 누구야?" 하고 브로드캐스트를 보내는것이다. 그럼 그 IP주소를 가진 사람이 "나야!" 하고 대답한 후 자신의 맥 어드레스를 보내게 되는데, 이런 과정을 ARP라고 한다.
그 외에도 라우터끼리 정보를 교환한다거나 다른 라우터를 찾을 때, 또 서버들이 자신이 어떤 서비스를 제공한다는 것을 모든 클라이언트들에게 알릴 때 등 여러 경우에 사용된다.
이런 브로드캐스트들은 한 번 발생하고 끝나는 것이 아니라 대부분 30초나 1분에 한 번씩 주기적으로 발생한다.
멀티캐스트
200명의 사용자가 있는 네트워크에서 150면에게만 같은 정보를 보내야 하는 상황이라고 가정해본다. 예를 들어 증권시황 제공 서버가 있는데 이 서버에 가입한 150명의 사용자에게 같은 증권시황을 시간별로 동시에 뿌려야 한다고 할 때 서버는 어떻게 해야 이 정보를 동시에 150명의 사용자에게 뿌려줄 수 있을까?
1. 유니캐스트를 사용하는 경우, 150명의 주소로 하나씩 전부 보내는 것이다. 하지만 서버쪽에서 볼 때는 같은 데이터를 150번이나 반복해서 보내야 하기 때문에 일이 많아질 뿐 아니라 네트워크상에서도 같은 데이터가 150번이나 반복되어 보내기 때문에 트래픽을 가중시킨다.
2. 브로드캐스트를 사용하는 경우, 브로드캐스트로 한 번에 모든 사용자(200명)에게 보내는 것이다. 서버에서 한 번에 브로드캐스트 주소를 사용해서 보내기 때문에 유니캐스트처럼 150명에게 한 번씩 보낼 필요가 없다. 하지만 데이터를 받을 필요도 없는 나머지 50명도 데이터를 받아야만 한다는 문제가 발생한다. 나머지 50대는 브로드캐스트 때문에 쓸데없는 영향을 받게 되는 것이다.
이 문제를 해결하는 방법이 멀티캐스트이다.
멀티캐스트는 보내고자 하는 그룹 멤버들에게만 한 번에 보낼 수 있기 때문에 유니캐스트처럼 여러 번 보낼 필요도 업속, 브로드캐스트처럼 받기 싫어하는 사람에게까지 보낼 필요도 없다.
그 그룹에 속해있는 사람들에게만 선택적으로 한번에 보낼 수 있는 것이다.
예전에는 별로 쓸 일이 없었으나 요즘은 여러 가지 애플리케이션 프로그램에 이러한 기능이 필요하기 대문에 점점 더 인기를 더해가고 있는 추세이다.
멀티캐스트는 라우터나 스위치에서 이 기능을 지원해주어야만 쓸 수 있다.
'네트워크' 카테고리의 다른 글
[네트워크] 허브 / 브릿지 / 스위치 / 라우터 (1) | 2024.03.04 |
---|---|
netfilter, iptables (0) | 2023.08.03 |