[IT Trend]/Network

[펌] IP 멀티캐스팅의 활용

하늘을닮은호수M 2005. 7. 22. 16:10
반응형

멀티캐스팅이 가능한 네트워크를 구성하고 멀티캐스트를 사용하는 애플리케이션을 동작시키기 위해서는 서버 호스트부터 클라이언트 호스트까지의 전송 경로에 있는 여러 장치들이 멀티캐스트를 지원할 수 있어야 한다.
우선 멀티캐스트로 데이터를 전송하는 서버와 클라이언트 호스트는 비디오 스트리밍 서버, 화상회의, 멀티캐스팅 파일 전송 서비스 등과 같은 멀티캐스트 데이터를 전달하고, 받을 수 있는 애플리케이션이 있어야 한다.


IP 프로토콜 스택도 IGMP(Internet Group Management Protocol) 버전 1이나 2를 지원할 수 있어야 한다. 애플리케이션이 직접 전송하거나 받기를 원하는 멀티캐스트 그룹 어드레스를 네트워크 어댑터에 전달하면 네트워크 어댑터는 이 멀티캐스트 그룹 어드레스를 멀티캐스트 MAC 어드레스로 전환해 대기하고 있다가 이 멀티캐스트 MAC 어드레스가 목적지로 된 프레임이 전달되면 그것을 받아들여야 한다.
그 다음 멀티캐스팅 서버와 클라이언트 간에 각 멀티캐스팅 데이터를 구별하기 위한 IP 멀티캐스트 그룹 어드레스가 필요하다. 이것은 일종의 방송 채널(Channel)과 같은 개념이며 서버는 이 주소를 통해 데이터를 보내게 되고 클라이언트는 이 주소를 통해 데이터를 청취한다.
IGMP도 멀티캐스트 통신을 하기 위해서 필수적인 것이며 호스트, 라우터, 스위치에서 필요하다. 이것은 호스트와 스위치가 하나의 클라이언트로써 자신이 전송하거나 전송 받기를 원하는 멀티캐스트 그룹 어드레스를 등록하거나 해지하기 위해 라우터와 통신할 때 필요하다.
CGMP(Cisco Group Management Protocol)는 라우터와 스위치간에 필요한 프로토콜이다. 사실 반드시 필요한 것은 아니지만 2계층 수준에서 3계층 멀티캐스팅의 의미를 완벽하게 지원하기 위해 필요한 기능이다. 스위치에서 특정 멀티캐스트 그룹에 참여한 포트에만 멀티캐스트 데이터를 전달하는 기능을 제공하기 때문이다.
마지막으로 IP 멀티캐스트 라우팅 프로토콜이 필요하다. IP 멀티캐스트 라우팅 프로토콜은 라우터와 라우터간에 멀티캐스팅 정보를 교환해 멀티캐스트 전송 경로인 분산 트리를 만들 때 필요하다.
이런 모든 것들이 갖춰져야 멀티캐스트가 정상적으로 동작할 수 있다.

멀티캐스팅을 위한 라우터 설정
제일 먼저 라우터에서 멀티캐스트가 가능하도록 설정하기 위해서는 우선 ‘Global Configuration Mode’에서 다음과 같은 구성을 진행한다.

Router> enable
Router#configure terminal
Router(config)#ip multicast-routing

이 명령어는 유니캐스트 IP 라우팅을 선언하는 ‘ip routing’ 명령과 비슷한 명령어로 전체적으로는 라우터가 IP 멀티캐스트 라우팅을 가능하게 하고, 라우터가 멀티캐스트 패킷을 전달하는 것을 가능하게 한다는 의미다.
해제 시에는 ‘Router(config)#no ip multicast-routing’이라고 입력하면 된다.

인터페이스에 대한 PIM 설정
그 다음 작업은 멀티캐스트 패킷을 송/수신하고 멀티캐스트 라우팅 정보를 교환하는 인터페이스에 멀티캐스트용 라우팅 프로토콜을 올리는 것이다. 다음은 PIM을 예로 들었다.

Router(config)#interface FastEthernet1
Router(config-if)#ip pim [sparse-mode | dense-mode | sparse-dense-mode]

만약 ‘sparce-dense-mode’로 동시에 지정하면 기본적으로는 ‘dense-mode’로 동작하다가 랑데뷰 포인트(Rendezvous Point)가 지정되면 ‘sparse-mode’로 동작한다.
이 명령은 시스코 라우터의 새로운 문법에 의한 것으로 유니캐스팅 라우팅 프로토콜의 network x.x.x.x의 x.x.x.x에서 파생된 주소를 갖는 모든 인터페이스에 라우팅 프로토콜을 가능하게 하는 명령이다.
해제는 ‘Router(config-if)#no ip pim [sparse-mode | dense-mode | sparse-dense-mode]’ 라고 설정하면 된다.

랑데뷰 포인트의 지정
세번째로 ‘ip pim [sparse-mode | sparse-dense-mode]’로 지정한 인터페이스가 있다면 트리 정보를 유지할 랑데뷰 포인트를 지정해야 한다.
설정 시는 Global Configuration Mode에서 다음과 같이 지정한다.

Router> enable
Router#configure terminal
Router(config)# ip pim rp-Address x.x.x.x

x.x.x.x는 랑데뷰 포인트의 역할을 할 라우터의 주소이다. 랑데뷰 포인트의 역할을 수행할 라우터에는 특별히 지정할 명령어는 없으며 랑데뷰 포인트를 사용할 라우터에서만 지정하면 된다. 물론 인터페이스에 PIM이 설정돼 있어야 한다.
해제 시에는 ‘Router(config)#no ip pim rp-Address x.x.x.x’ 명령을 수행하면 된다.

멀티캐스팅 패킷 전달의 범위 제한
네번째로 라우터에 멀티캐스팅이 설정돼 있고 인터페이스에 PIM이 설정 됐으면 덴스 모드(Dense Mode)로 운영되는 경우 초기단계와 재 플러딩(Flooding) 단계에서는 멀티캐스팅 패킷은 원하는 클라이언트의 유무에 상관없이 네트워크로 확산된다. 물론 확산 중에 멀티캐스팅이 설정되지 않은 라우터에서 멈추겠지만, 그렇지 않다면 계속적으로 확산됨으로써 대역폭도 낭비하고 보안에도 문제가 발생할 것이다.
이같은 문제의 통제는 크게 두 가지 방법으로 구현할 수 있다. 첫째는, 멀티캐스팅 데이터를 전송하는 애플리케이션이 미리 TTL(Time To Live) 값을 패킷에 지정해서 라우터가 TTL이 0에 도달하면 자동으로 폐기하는 방법이 있다. (화면 1)은 윈도우 2000/2003 서버에 탑재된 윈도우 미디어 서버에서 실시간 데이터를 멀티캐스트로 전달하기 위한 설정 중 서버 쪽에서부터 전송 범위를 제한하기 위하여 TTL 값을 지정하고 있는 모습을 나타내고 있다.
둘째는 라우터의 인터페이스에 TTL 임계값을 지정해서 패킷의 TTL이 설정된 임계값보다 큰 경우는 건너가고 그렇지 않으면 폐기하는 방법이다.

TTL 임계값 지정을 통한 멀티캐스팅 트래픽 제어
다음은 멀티캐스트 트래픽을 통제하기 위해서 라우터에 TTL 임계값을 지정하는 방법이다. 설정 시에는 각각의 라우터의 인터페이스에 다음과 같은 명령을 입력한다.

Router(config)# interface Ethernet 0
Router(config-if)# ip multicast ttl-threshold 숫자값(0∼255)

이 설정은 멀티캐스트 패킷의 TTL이 라우터의 인터페이스에서 지정한 TTL 임계값보다 크면 해당 인터페이스에서 패킷을 내보내고 TTL 임계값 보다 작으면 패킷을 폐기한다. 쉽게 생각하면 멀티캐스트 패킷의 확산 범위를 제한하는 것이기 때문에 라우터에서 최대 임계값을 지정해 이 임계값을 넘는 패킷의 TTL이 오면 폐기하면 된다고 생각하기 쉽다. 하지만 애플리케이션 쪽에서 TTL을 라우터보다 크게 지정했다는 것은 특별한 이유가 있기 때문이다. 이같은 경우는 제외하고, 일반적인 경우에만 폐기하는 방식이다.
해제는 ‘Router(config-if)# no ip 멀티캐스트 ttl-threshold 숫자값(0∼255)’ 명령을 수행한다.

멀티캐스트 라우팅 테이블
라우터의 Exec 모드에서 'show ip mroute' 명령을 이용하면 덴스나 스파스 모드의 아웃고잉 인터페이스 리스트에 해당하는 멀티캐스트 라우팅 테이블을 볼 수 있다.
명령어 문법은 다음과 같다.

Router#show ip mroute [group-name | group-address] [source] [summary] [count] [active kbps]

- [group-name | group-Address] : 멀티캐스트 그룹 어드레스나 DNS 호스트 테이블에서 지정한 이름
- [source] : 소스 호스트의 IP 어드레스나 이름
- [summary] : 한 라인에 각각의 IP 멀티캐스트 라우팅 테이블의 축약된 엔트리를 표시한다.
- [count] : 그룹이나 소스 어드레스에 대한 패킷의 숫자, 초당 패킷의 숫자, 평균 패킷 사이즈, 그리고 초당 비트 수 등의 통계자료를 표시해 준다.
- [active kbps] : 현재 멀티캐스트 그룹에게 데이터를 전송 중인 소스의 전송 속도를 표시한다. 지정한 속도와 같거나 더 빠르게 전송 중인 소스를 표시한다. 기본값은 4kbps이다.

멀티캐스트 패킷 디버깅
EXEC 모드에서 다음과 같은 명령을 입력하면 라우터에서 받거나 전달된 IP 멀티캐스트 패킷들을 모두 표시할 수 있다.

Router # debug ip mpacket [detail] [acl] [group]

- [detail]: IP 헤더 정보뿐만 아니라 MAC Address까지 모니터링할 수 있다.
- [acl]: 오직 Access-list에 지정된 Source Address를 가진 패킷만을 모니터링 한다.
- [group]: 하나의 Group Address에 의하여 만들어지는 패킷만을 모니터링 한다.

‘Debug ip packet’, ‘debug ip mpacket’ 명령들은 상당히 많은 메시지를 발생시켜 라우터의 성능에 영향을 미칠 수 있기 때문에 필요한 경우에만 수행하고 모니터링이 완료되면 해제해야 한다. 해제는 ‘Router #no debug ip mpacket’ 명령으로 수행한다.

CGMP를 위한 라우터 설정
CGMP가 가능한 스위치와 라우터간에 멀티캐스트 그룹 어드레스정보를 교환해 스위치에서 멀티캐스트 그룹 어드레스에 등록된 호스트가 존재하는 포트에만 멀티캐스트 데이터를 전달할 수 있도록 해야 한다. CGMP는 라우터에 기본값으로 설정돼 있지 않기 때문에 ‘Interface Configuration Mode’에서 다음과 같이 구성해 줘야 한다.

Router(config)#interface FastEthernet 1
Router(config-if)#ip cgmp

이 인터페이스에 연결되어있는 스위치와 그 스위치에 연결되어있는 하위 스위치들에게 멀티캐스트가 가능한 호스트가 IGMP를 통해서 등록한 멀티캐스트 그룹 어드레스정보를 보낼 수 있게 한다. 단 라우터의 경우 CGMP는 오직 PIM 등이 설정된 인터페이스에서만 수행할 수 있다. 해제는 ‘Router(config-if)#no ip cgmp’ 명령으로 수행한다.

CGMP를 위한 스위치의 설정
기본적으로 CGMP 기능은 저성능 스위치에 설정돼있고 고성능 스위치에는 설정돼 있지 않다. 그렇기 때문에 명시적으로 지정할 필요가 있으면 다음의 명령어를 이용해야 한다.

- 카탈리스트 4000, 5000, 6000 시리즈의 Set 기반 명령어
Switch (enable) set cgmp [enable | disable]

- 카탈리스트 2950, 3550 시리즈
ip igmp snooping vlan vlan-id mrouter learn cgmp
no ip igmp snooping vlan vlan-id mrouter learn cgmp

- 카탈리스트 2900XL 시리즈
cgmp [leave-processing | holdtime time]
no cgmp [leave-processing | holdtime time]

- 카탈리스트 1900 시리즈
cgmp [hold-time]
cgmp [leave-processing]
cgmp [remove]
clear [cgmp]
show [cgmp]

IP 멀티캐스트 활용 영역
IP 멀티캐스팅은 크게 다음과 같은 3 가지 분야에서의 활약이 기대되고 있다.

- 파일 전송
시스템 관리와 같은 분야에서 대용량의 관리용 파일을 여러 대의 클라이언트에 동시에 전송할 때 사용할 수 있다. 예를 들어 윈도우 2000/2003에 탑재돼있는 마이크로소프트 미디어 서비스에 멀티캐스팅 파일 전송 기능이 있고, 시메트릭스의 Ghost 프로그램이 멀티캐스트 파일 전송 기능을 제공한다.

- 음성, 화상 회의
다자간 음성과 화상회의는 멀티캐스트 활용의 가장 성공적인 분야다. 윈도우 2000에는 ‘Microsoft Site Internet Locater Service’의 MCU(Multicasting Conference Unit)라는 화상회의 서버가 내장돼 있으며, ‘Microsoft Phone Dialer’라는 VoIP와 화상회의 클라이언트 프로그램을 추가비용 없이 사용할 수 있다.

- 멀티캐스팅 방송
아직은 ISP들이 멀티캐스트가 가능한 네트워크를 구성하지 않았기 때문에, 현재는 기업이나 특정 단체의 내부 네트워크에서만 실시간 라이브 비디오 스트리밍 방송을 멀티캐스트에 의하여 수행할 수 있다. 실시간 방송을 멀티캐스트로 수행하면 많은 대역폭을 절약할 수 있다.
마이크로소프트 미디어 서비스, 시스코 IPTV 서버, 리얼네트웍스의 리얼서버 G2, 애플 퀵타임 스트리밍 서버 등이 멀티캐스트 비디오 스트리밍 기능을 제공한다.

출처 : 온더넷 (www.ionthenet.co.kr)

반응형

'[IT Trend] > Network' 카테고리의 다른 글

[펌] ASX 를 효과적으로 이용하려면.. 아래 참조  (0) 2005.08.12
[펌] [CCNA] RIP  (0) 2005.08.01
[펌] [CCNA] Configuration Methods and Modes  (0) 2005.07.20
[펌] [CCNA] USER INTERFACE  (0) 2005.07.20
[펌] [CCNA] ROUTER BASICS  (0) 2005.07.20