우리가 TV 를 시청하기 위해서 방송국에서 날아온 공중파를 TV 로 보게 됩니다.
이렇게 일대 다 의 형식이 브로드 캐스트(broadcast
)라고 하죠.
그리고, 무전기나 전화와 같이 일대일 로 연결 되어 있는것이
유니캐스트(Unicast
) 라고 합니다. 다음 그림을 한번 보세요..


처음 그림(일:일)이 유니캐스트를 보여 주는 것입니다.
이런형식을 Point-to-Point 라고 그러죠?
나머지 두가지 그림은 Point-to-MultiPoint 라고 합니다.

나머지 두가지중 가운데(일:전부) 것이
공중파방송과 같은 브로드 캐스트라고 하구요,

맨 마지막(일:불특정다수)이 멀티캐스트의 형식입니다.
처음것과 두번째 것은 이해가 가는데 마지막이 애매하죠?
일단 브로드 캐스트는 방송과 같다고 생각하시고,

유니캐스트와 멀티캐스트에 대해서 보죠
다음 과 같은 가상의 네트웍이 있다고 생각합시다.
호스트(host) 들과 라우터(router) 들로 이루어져 있겠죠?
이것을 약간 간략화 시켜 봅시다.


인터넷중 일부를 보여 주는 것입니다.
일단 데이터를 보내는 Sender 가 있을 것이고,
그것을 받는 Receiver 가 있다고 가정을 합시다.
이럴때 유니캐스트는 일대 일로 데이터를 주고 받는다고 그랬었죠?
이럴때 Sender 에서 Receiver 1, 2, 3 에게 동시에 데이터를 주려고 할때에
다음과 같이 될 것입니다.

그림이 이해가 가십니까?
그러니까 일대 일로 통신을 하기 때문에 Sender 는
Receiver1 에게 한번주고,
Receiver 2 에게도 한번주고,
Receiver 3 에게도 한번을 줘야 합니다.
자 그러면 멀티캐스트를 볼까요?

제가 멀티캐스트는 일대 불특정다수라고 했습니다.
그러니까 위의 그림처럼
데이터를 받고자 하는 특정 호스트만 데이터를 받게 됩니다.
그런데 그림이 좀 이상하지 않습니까?
유니캐스트와는 달리 Sender 와 Sender 측 라우터 에서
Receiver 측 라우터 까지 데이터의 흐름이 한번밖에 없습니다.

과연 어떻게 된 걸까요?
이것이 바로 유니캐스트의 단점을 멀티캐스트로 해결할 수 있는 이유입니다.
유니캐스트의 단점은 위의 유니캐스트의 그림처럼 받고자 하는 호스트에게 전부가 일대 일로 데이터를 주어야 하기 때문에 네트웍의 대역폭을 많이 차지 하게 됩니다.
이 단점을 해결하기 위해서
멀티캐스트는 Sender 측에서 Receiver 측의 라우터에게 한번만 데이터를 주면
라우터가 그 데이터를 그하위 네트웍에 속한 호스트중 받고자 하는 호스트에게만
데이터를 복사해 전달합니다. 다음 그림을 보세요.


위의 푸른선에 해당하는 단계를 보면
유니캐스트는 받고자 하는 호스트 전부에게 한번씩 데이터를 전달하게 되고,
멀티캐스트는 한번만 전달하게 되죠.

다음과 같이 가정을 해보겠습니다.
서울 프레스 센터에서
인터넷 방송으로 남북정상회담 장면을 방송한다고 생각해 봅시다.
그런데 부산에서 100만명이 시청하려고 합니다.
아마 국내 인터넷이 마비가 될걸요.
자 한번 생각해 봅시다.
동영상 데이터는 엄청난 사이즈 입니다.
그렇죠? 구체적으로 이 방송을 보려고 하는 호스트에서 적어도
56Kbps 의 대역폭이 필요하다고 할때, 곱하기 100만 해보면....
서울 부산간 네트웍망이 마비가 될껀 불을 보듯!!!
자 그런데 멀티캐스트를 이용한다면 어떻게 될까요.
물론 이런 문제를 해결할 수 있습니다.
부산측에서 보고자 하는 호스트가 있는 라우터들의 수만큼만 보내주면 되겠죠?
그러니까 위와 같이 데이터가 많고,
데이터를 받고자 하는 호스트가 불특정할때에는 멀티캐스트가 유리하게 됩니다.

그런데 멀티캐스트가 좋다고 해서 아무데나 쓰는 것이 아닙니다.
서울에서 데이터를 보내고 각 도시에 데이터를 받고자 하는
호스트가 하나 일때는 유니캐스트 똑같습니다.
그러니깐 이럴때에는 유니캐스트를 이용하는것이 좋습니다.
또다른 이유는 멀티캐스트 보단 유니캐스트가 구현하기에 좋습니다.

그리고 참고로 게시판에 올라 왔던 글중에 멀티캐스트에 관해서라는 글이 있었는데, 유니캐스트는 통신을 하고자 하는 호스트가 직접 연결을 설정하고
데이터를 주고 받거든요.
그런데 멀티캐스트는 라우터가 복사해서 전달 한다고 했었습니다.
그런데 옛날에는 라우터가 그것을 지원하지 않았었거든요.
그래서 소프트웨어적으로 해결을 했었습니다.
Linux 나 Free BSD 같은 OS 를 깐 컴퓨터에 멀티캐스트 라우팅기능을 추가해서 MRouter 라는것을 만들수 있습니다.
그리고, 실제 라우터가 아니므로 이렇게 만들어 놓은 MRouter 들끼리
로컬망에서 생기는 멀티캐스트 데이터를 또다른 MRouter 로 보내고
그것을 받은 MRouter 가 그 로컬망에 데이터를 받고자 하는 컴퓨터에게
전달하는 형식으로 이뤄졌었습니다.
그런데 요즘에 나오는 라우터들은 기본으로 멀티캐스트를 지원합니다
2007/05/02 17:05 2007/05/02 17:05

트랙백 주소 :: http://thinkit.or.kr/network/trackback/5

댓글을 달아 주세요