본문 바로가기
Network/Generic Network

브로드캐스트(Broadcast), 멀티캐스트(Multicast), 애니캐스트(Anycast)

by 개Foot/Dog발?! 2015. 1. 29.

URL : http://lily.mmu.ac.kr/lecture/08sm/Fedora2_2/11jang/1-3.html


브로드캐스트(Broadcast)

브로드캐스트는 멀티캐스트와 상당히 비슷하다. 멀티캐스트와 마찬가지로 UDP를 사용하여 여러 호스트들에게 패킷을 전달한다. 그러나 그 대상 호스트의 범위가 다르다. 브로드캐스트는 동일한 네트워크에 연결되어 있는 호스트들에게만 패킷을 전송할 수 있다.

 

다음 그림을 보자.

http://blogfiles16.naver.net/data32/2008/4/19/127/%BA%EA%B7%CE%B5%E5%C4%B3%BD%BA%C6%AE_naesungbabo.jpg

 

 브로드캐스트의 주소선택 방식은 두 가지로 나눠 볼 수 있다.

 지정된 브로드캐스트 방식은 주소 지정은 네트워크 IP를 제외한 나머지 호스트 IP를 전부 255로 설정하면 얻을 수 있다.

 지역적 브로드캐스트 방식은 로컬 네트워크 상에서의 브로드캐스트를 위해서 예약되어 있는 255.255.255.255의 IP를 지정하는 방식이다. 만약에 192.32.32.0이 네트워크 주소인 네트워크에 연결되어 있는 임의의 호스트가 255.255.255.255를 대상으로 패킷을 전송하게 되면, 네트워크 주소 192.32.32.0에 연결되어 있는(같은 로컬 네트워크로 연결되어 있는) 모든 호스트들에게 패킷이 전달된다.

 지정된 브로드캐스트 방식은 잘 사용하지 않는 방식이다. 왜냐하면 만약 A네트워크와 B네트워크가 있다고 하자. A네트워크의 특정 호스트가 B네트워크의 주소를 지정하여 브로드캐스트를 하려고 해도 할 수가 없다. 왜냐하면 브로드캐스트는 동일한 네트워크에 연결되어 있는 호스트들에게만 패킷을 전송할 수 있다는 특성이 있기 때문이다. 즉, A네트워크의 특정 호스트는 자기가 속한 A네트워크에서만 브로드캐스트를 할 수 있다. 그렇기 때문에 IP 주소를 지정해 주는 지정된 브로드캐스트 방식 보다 예약되어 있는 IP주소를 사용하는 지역적 브로드캐스트 방식을 많이 사용한다.


※ 멀티캐스트와 달리 브로드캐스트는 라우터 위로. 즉, 상위 네트워크를 통해 전파되지 않는다. (단, 라우터에서 특정 소스등 조건에 대해 라우팅을 통해 bypass를 시켜 보낼 수는 있다)


멀티캐스트(Multicast)

1. 전송 방식

- 멀티캐스트 방식은 UDP를 기반으로 하는 전송 방식이다.

- 멀티캐스트 방식에서는 데이터 전송의 목적지가 하나의 호스트가 아니라 멀티캐스트 그룹에 속해 있는 모든 호스트들에게 단 한번의 데이터 전송으로 데이터를 전달할 수 있다.

- 멀티캐스트 패킷을 수신하기 위해서는 멀티캐스트 그룹에 가입을 해야 한다. 멀티캐스트 그룹이란 클래스 D(244.0.0.0 ~ 239.255.255.255)에 속하는 IP주소를 말한다.

- 멀티캐스트 그룹에 가입을 한다는 의미는 “나는 클래스 D에 속하는 IP중에서 239.234.218.234(클래스 D)를 목적지로 하여 전송되는 멀티캐스트 패킷에 관심이 있으므로 이 패킷들을 수신하겠다”라는 의미이다.

 

 이러한 멀티캐스트 패킷을 전송할 때에는 멀티캐스트 용 UDP패킷 하나만 네트워크 상에 흘려 놓으면 라우터를 통해서, 먼 거리에 존재하는 그룹에 가입되어 있는 여러 호스트들에게 데이터가 전달 된다.

 하나의 라우터를 통해 멀티캐스트 패킷은 여러 곳에 복사되어 전달되는데, 즉 임의의 멀티캐스트 패킷을 받은 라우터는 그 패킷을 다른 라우터에도 복사해서 전달해 주고, 자신에게 연결되어 있는 호스트들 중에서 그 패킷을 수신하기 위해 멀티캐스트 그룹에 가입한 호스트가 있다면 패킷을 복사하여 전달해 준다.

 

 하지만 현재 인터넷에 연결되어 있는 대부분의 라우터는 멀티 캐스트를 지원하지 않고, 라우터가 멀티캐스트를 지원한다고 하더라도 네트워크의 불필요한 트래픽 문제를 고려해서 일부러 막아 놓은 경우가 많다. 

 멀티캐스트 패킷을 전송하기 위하여서는 멀티캐스트 라우터 사이에 터널링(tunneling)이라는 개념을 사용하여 캡슐화(encapsulation)된 패킷을 전송한다. 즉 멀티캐스트 주소를 가진 데이터 패킷 헤더 앞에 멀티캐스트 라우터간에 설정된 터널의 양 끝단의 IP 주소를 덧붙여 라우팅(routing)을 함으로써 멀티캐스트를 지원하지 않는 일반 라우터들을 거칠 때 기존의 유니캐스트 패킷과 같은 방법으로 라우팅되어 최종적으로 터널의 종착지로 전송될 수 있게 하는 것이다.

 



애니캐스트(Anycast)

  애니캐스트란 데이터가 라우팅 구성도에 의해 보여지는 제일 가깝거나 최상의 목적지로 라우팅되는 네트워크 주소배정과 라우팅의 한 방법이다.


- 유니캐스트는 1:1통신. 각각의 목적지 주소는 하나의 수신지를 의미한다.

- 브로드캐스트는 1:전체네트웍 통신. 세그먼트 내의 모든 호스트에게 보낸다.

- 멀티캐스트는 1:특정다수 통신. 각각의 목적지 주소는 수신자들의 집합을 가리킨다.

- 애니캐스트도 1:특정다수 통신이다. 역시 각각의 목적지 주소는 수신자들의 집합을 가리키지만, 발신자의 정보에 따라 그 중의 하나만 선택된다.

 

 인터넷에선, 일제히 같은 인터넷상의 많은 다른 장소에 있는 목적지 IP주소 범위를 알리기 위해 애니캐스트는 보통 BGP에 의해서 운영된다. 네트워크 안에서 목적지IP주소에 대해 알려진 제일 가까운 지점으로 패킷들은 라우팅된다.

 

애니캐스트는 연결지향적인 TCP나 일부UDP와는 달리, 주로 UDP같이 비연결지향적인 프로토콜을 위해 설계됐다. 왜냐하면, 애니캐스트는 그 때 그 때 상황에 따라 최적의 라우팅 테이블에 의해서 패킷을 목적지IP에 해당하는 다른 수신지로 보내기 때문에 연결지향적인 프로토콜은 통신에 문제가 생길수 있기 때문이다.

 

이러한 이유로 인해 애니캐스트는 보통 복사본 데이터에 접근하거나 하는 고가용성과 분산처리 제공을 위해 쓰인다. 예를 들어, DNS서비스는 지리적으로 광범위하게 분산된 서버들로 이루어진 분포된 서비스이다.


















'Network > Generic Network' 카테고리의 다른 글

[DNS] Anycast  (0) 2015.01.29
Multicast (2) IGMP  (0) 2015.01.29
Multicast (1) 기본 이론  (0) 2015.01.29
Unicast, Anycast, Multicast, Broadcast  (0) 2015.01.29
Network 의 기본 개념  (0) 2015.01.29