MBone과 멀티미디어 응용프로그램
이재용
서울시 성북구 안암동 5가 1번지
고려대학교 전자공학과 멀티미디어통신연구실
E-mail : jlee@dali.korea.ac.kr
URL :
http://dali.korea.ac.kr/~jlee/
- Abstract:
- MBone(Multicast backbone)이란 인터넷 상에서 IP multicast를 구현하기 위하여 구축된
가상의 네트웍으로 이를 이용하면 하나의 IP 주소로 특정 그룹에 참여하는 모든
사람에게 동일한 데이터를 효율적으로 전송할 수 있다. 현재 MBone을 이용하여 인
터넷 상에서 Audio/Video conference, 공유 whiteboard를 이용한 협동 작업 등을 할 수
있으며, 또한 세계 여러곳에서 MBone으로 중계되는 학술회의, 콘서트 등을 시청할 수
있다. 본 세션에서는 MBone에 대한 기본 지식과, 이를 활용할 수 있는 응용 프로그
램들에 대하여 살펴본다.
- Keywords:
- IP multicast, MBone, tunnel, mrouted, sdr, vat, vic, wb
1. 서론
인터넷을 통하여 화상/음성 방송을 하고, 또 이를 시청하기 위해서는 어떤
문제점이 해결되어야 하는가? 오늘날 인터넷이 전세계를 연결하는 기간정보망이
됨으로써 WWW을 잇는 다음 응용을 생각해 볼 때 나올 수 있는 질문이다.
동시에 여러 사용자에게 같은 정보를 보내야 하는 화상회의, 화상 방송 등에서는
데이타량이 기존의 텍스트, 정지영상 위주의 정보에 비해 매우 크기 때문에
전송의 효율성을 극대화해야 할 필요가 있다.
이를 위하여 한번 송신으로 다자의 수신자에게 정보가 전달될 수 있도록 하는
멀티캐스트(multicast)가 필요하게 되었고, 이를 인터넷 상에서 구현하여
시험망을 형성한 것이 MBone(Multicast Backbone)이다.
본 문서에서는 근래에 인터넷의 응용으로 주목을 받고 있는 MBone에 대한
기초지식과 응용 프로그램 및 MBone에 접속하는 방법에 대하여 소개하도록 한다.
먼저 다음 2장에서 인터넷 상의 멀티캐스트 구현인 IP multicast에 대하여 설명하고,
이어 3장에서는 MBone의 기본 개념과 발전사 등의 소개, 4장에서는 MBone에서
사용이 되는 응용 프로그램들에 대한 소개를 한다.
5장에서는 MBone에 처음 연결하여 사용하는 방법을 제시한다.
마지막으로 6장에서 결론을 맺는다.
2. IP Multicast
2.1 IP Addressing Scheme
IP(Internet Protocol)의 어드레싱 기법을 살펴보면 그림 1과 같이 네가지로
나누어진다.[Stevens 94] (Class E도 있지만 이의 사용에 있어서는 아직 정의되어 있지 않다.)
IP address 앞부분의 비트 배열에 따라 구분이 되며, Class A~C는 전체 4바이트가 크게
network id와 host id로 나누어진다. 반면에 Class D 어드레싱 방법은 이와 달리
첫번째 4비트를 제외한 나머지 비트가 하나의 멀티캐스트 그룹 ID를 나타내게 된다.
Class A~C 어드레스를 InterNIC과 같은 기관에서 관리하는 것과는 달리
224.0.0.0에서 239.255.255.255까지의 멀티캐스트 어드레스를 관리하는 기관은
따로 있지 않다. 이것은 어떤 D 클래스 어드레스도 사용자 임의대로 사용
가능하다는 것을 뜻한다. 하지만 일부 D 클래스 어드레스(1)는
IANA(Internet Assigned Numbers Authority)에서 well-known 어드레스로 사용하고
있으므로, 이 어드레스는 피하여야 한다.
세션 생성시에 멀티캐스트 어드레스를 할당하고 세션이 끝난 후에는 다시 이 어드레스가
다른 용도로 사용가능해지므로, 이러한 어드레스를 transient address라고 한다.

그림 1. IP 어드레싱 기법
2.2 IGMP, 라우팅 프로토콜
멀티캐스트 그룹의 멤버쉽을 관리하기 위해서 IGMP(Internet Group
Management Protocol)이 있으며, 이는 Steve Deering이 89년에 Internet
RFC-1112 문서로 이루어져 있다.[Deering 89]
멀티캐스트 라우팅 프로토콜로는 DVMRP(Distance Vector Multicast
Routing Protocol, RFC-1075), MOSPF(Multicast Open Shortest Path First, RFC-1584),
PIM(Protocol Independent Protocol) 등이 있다.
본 문서에서는 이들 각각의 프로토콜에 대해 자세히 다루지는 않는다.
3. MBone 소개
3.1 MBone
MBone이란 인터넷 상에서 IP multicast를 구현하기 위하여 구축된 가상망(virtual
network)이자 시험망(testbed)이다. 가상망이라고 하는 이유는, 실제 물리적인
망 위에서 터널링(tunneling)이라는 방법을 통하여 가상적으로 멀티캐스트 네트웍을
구축하였기 때문이다.
터널링이란 그림 2와 같이 두 개의 mrouter(multicast router) 사이를 가상적인 하나의
경로로 연결시켜 주는 것을 의미한다.
이는 인터넷 상의 모든 라우터들이 IP multicast를 지원하지는 않기 때문이다.
터널링된 두 mrouter 사이에서는 멀티캐스트 패킷을 일반 unicast IP 패킷 형태로
encapsulation하여 전달하므로 unicast 라우터를 거친다 하더라도 문제가 되지 않는다.
또한 MBone은 IP 멀티캐스트를 인터넷 상에서 테스트하기 위한 시험망(testbed)으로
계속하여 보완이 되고 있으며, 발전하고 있다.

그림 2. 터널링 (tunneling)
3.2 TTL, Threshold, Metric
터널링과 관련해서 TTL, threshold, metric 이라는 용어가 등장한다.
TTL(time-to-live)은 모든 멀티캐스트 패킷에 포함된 값으로 mrouter를 거칠 때마다
1씩 줄어든다. Threshold는 패킷이 mrouter에서 설정된 값으로 자신을 거쳐
전달될 수 있는 최소의 TTL 값을 나타낸다. 만일 패킷의 TTL 값이 threshold보다
작다면 그 패킷은 계속 존재하지 못하고 폐기된다.
따라서 TTL과 threshold로 패킷의 전달 범위가 결정이 된다.
Metric은 그 링크를 통하여 패킷이 전달되는 cost혹은 길이를 나타내는 것으로
멀티캐스트 라우팅을 위한 정보로 사용된다.
신호원에서 목적지까지 metric의 합이 32이상이 되면 그 경로로는
패킷이 전달될 수 없다.
3.3 MBone의 발전사
MBone은 1992년 3월 San Diego에서 개최된 IETF 미팅에서 시작되었다.
이 때는 오디오 방송만으로 4개국에서 이루어졌다. 같은 해 7월, Boston에서
개최된 IETF 미팅에서 MBone이라는 이름이 붙여졌으며 그 후에 전 세계에
걸쳐 보급이 되어 현재는 25개국의 약 1,500대의 mrouter가 터널링을 통하여
연결되어 있다.
또한 초기 오디오 방송에 비해 비디오 세션도 활발히 이루어지고 있다.
MBone map은 그림 3과 같다. (1994년 5월)

그림 3. MBone map (1994년 5월 11일)
국내에서는 1992년에 최초로 KAIST에서 MBone에 연결되었다.
이 해외 터널링은 1993년 한국통신(h2o.kotel.co.kr)으로 옮겨졌으며,
이 해에 국내 최초로 오디오 전송 시험도 이루어졌다.
1994년에는 MBone을 이용한 국내 최초의 음악 Radio 방송(vat 이용)이
한국통신의 김영식씨(현 한솔텔레콤)에 의해 실시되었으며,
그 해 11월에는 KAIST, ETRI, SERI, NCA, 4개 기관에서 화상회의 시험이
이루어지기도 했다.
1995년 7월 KRnet'95 MBone BOF에서 국내 MBone 사용자 그룹인
MBone-KR(http://paro.etri.re.kr)이
발족된 이후, 그 이듬해 5월에는 전문적인 MBone technical research 모임인
Internet-KIG MBone WG(
http://pec.etri.re.kr/mbone-wg)이 발족되었으며,
7월에는 KRnet'96에서 국내 최초로
T3 라인을 통하여 세션의 해외 중계가 이루어지는 비약적인 발전을 보였다.
국내 MBone 발전사에 대해 자세히 알기 위해서는
http://paro.etri.re.kr/history/를
참조하기 바란다.
현재 국내 MBone topology는 그림 4와 같다.

그림 4. 국내 MBone Topology (96년 10월 1일 현재, 작성자: 김형석, KT)
4. MBone 툴
MBone에 접속한 후 사용할 수 있는 멀티미디어 응용프로그램들로는 다음과
같은 것들이 있다.
4.1 sdr (Session Directory)(2)
현재 MBone상에 진행중인 세션들의 목록을 보여준다. 그림 5에서와 같이
세션을 선택했을 경우, 그 세션에 대한 자세한 정보와 사용되고 있는 매체들에
대한 정보가 나타나며, 원하는 매체를 선택했을 때 필요한 응용 프로그램을 실행시켜준다.
또한 새로운 세션을 생성할 수도 있는데,
이 때는 sdr이 스스로 사용하고 있지 않은 클래스 D 어드레스를 잡아서
사용할 수 있도록 해준다. 따라서 사용자들이 새로운 세션을 만들 때는 2장에서
설명한 그룹 어드레스의 충돌이 일어나지 않도록 하기 위해 sdr을 이용할 것을
권장한다.
다운로드:
ftp://cosmos.kaist.ac.kr/mbone/applications/sdr/

그림 5. sdr 실행화면
4.2 vat (Visual Audio Tool)
LBL(Lawrence Berkeley Laboratory)에서 개발한 MBone용 오디오 회의툴이다.
RTP(Realtime Transport Protocol)에 기반을 둔 응용프로그램으로,
오디오 코딩 형식으로는 PCM, DVI 등을 사용할 수 있다.
그림 6과 같이 현재 세션에 참여하고 있는 참가자들의 정보를 보여준다.
다운로드:
ftp://cosmos.kaist.ac.kr/mbone/applications/vat/

그림 6. vat 실행화면
4.3 vic (Video Conference Tool)
LBL에서 개발한 화상회의 툴로 H.261, CellB, nv 등의 코딩형식을 사용할 수
있으며, 전송율(kbps)과 화질을 조절할 수 있다. nv에 이어 근래에 많이
사용하는 비디오 툴이다. 그림 7에서와 같이 프로그램이 시작되면
비디오를 전송하는 참여자들의 작은 비디오 화면을 포함한 윈도우만 나타나나
비디오 화면 부분을 클릭하면 비디오가 크게 나타난다.
비디오 전송 장비가 없어도 수신은 가능하다.
메뉴 버튼을 눌러 메뉴 윈도우를 띄우면 상세한 설정을 변경할 수도 있다.
다운로드:
ftp://cosmos.kaist.ac.kr/mbone/applications/vic/

그림 7. vic 실행화면
4.4 wb (WhiteBoard)
공유 윈도우를 보며 동시에 편집 작업을 할 수 있도록 하여준다.
일반 텍스트 파일과 포스트스크립트 파일도 사용할 수 있다.
아직까지 UNIX기반의 플랫폼에서만 실행되며, Windows95용은 없다.
다운로드:
ftp://cosmos.kaist.ac.kr/mbone/applications/wb/

그림 8. wb 실행화면
4.5 기타
그 밖에도 nv, ivs, nevot, nvat 등의 오디오/비디오 툴들도 여러 종류가 있고,
webcast, mMosaic 등의 동기화된 WWW navigation을 제공하는 프로그램들도 있다.
자세한 프로그램들에 대한 정보와 다운로드는
http://paro.etri.re.kr/tools.html를
참조하기 바란다.
5. MBone 시작하기
MBone에 접속하여 사용하고자 하는 사람들은 대략 다음과 같은 순서를 따르면 된다.
- MBone FAQ등 관련자료를 읽는다.
(MBone-KR 홈페이지
(http://paro.etri.re.kr/)에서 시작하기 바란다.)
- MBone 메일링리스트에 가입한다.
- 메일링리스트 가입 신청 및 터널링 요구: mbone-req@knc.or.kr
- 일반 질문 및 답변: mbone-kr@knc.or.kr
- 자신에게 가장 가까운 mrouter를 찾아 자신의 시스템과 터널링을 설정한다.
- 4장에서 소개한 MBone 툴들을 설치하고 사용한다. (먼저 sdr을 실행)
5.1 mrouted
MBone에 접속하기 위해서는 먼저 자신의 서브넷 안에 멀티캐스트 라우터(mrouter)가
있는지를 확인하여야 한다. 만약 있다면 디폴트 게이트웨이로 해당 mrouter를 지정하고
필요한 MBone 툴들만 설치하면 되지만, 그렇지 않다면 자신의 서브넷 안에 mrouter 부터
설치하여야 한다. 대부분의 근래 상용 라우터들은 일정 버전 이상의 OS를 설치하면
mrouter로 동작한다. 하지만 이것이 힘들 경우에는 웍스테이션에 mrouted를
설치하여 mrouter의 기능을 수행하도록 하면 된다.
mrouted는 멀티캐스트 라우팅 프로토콜인 DVMRP 알고리즘을 실행하는
경로제어 프로그램으로 터널링을 포함한 경로제어 관련 정보들을 교환한다.
웍스테이션에 mrouted를 설치하여 mrouter로 동작시키기 위해서는 웍스테이션의
커널이 멀티캐스트를 지원해야 한다. Solaris 2.x, IRIX, NetBSD 등은 기본적으로
멀티캐스트가 지원되지만, SunOS, HP-UX, Ultrix, AIX, OSF 등은 그렇지 못하므로
커널 패치를 우선적으로 하여야 한다.
http://cosmos.kaist.ac.kr/~krkang/mcast/kernel-patches.html에서 필요한 프로그램을
다운 받으면 된다.
Solaris 사용자는 다음 사이트를 참조하기 바란다.
커널 패치 후에는 mrouted를 돌려야 하는데 그 이전에 우선
메일링리스트를 통하여 터널링 할 호스트의 IP 어드레스를 알아낸다.
그 후 /etc/mrouted.conf파일을 작성한다. mrouted.conf파일 내에는 터널링에 대한
정보가 들어가게 되는데 다음 한 줄 만으로도 충분하다.
tunnel local-addr remote-addr [metric m] [threshold t] [rate_limit r]
여기서 metric, threshold는 3.2절에서 설명한 것과 같고, rate_limit은
터널에서 멀티캐스트 패킷에 대하여 최대한 할당할 수 있는 대역폭을 지정하는
것이다. 디폴트 값은 m = 1, t = 1, r = 500(kbps) 이다.
터널 지정의 예를 들면 다음과 같다.
# jade.korea.ac.kr
# Tunnel between jade(local) and eix-mbone1.kix.net(source)
tunnel 163.152.17.154 203.234.255.134 metric 1 threshold 32 rate_limit 500
# Tunnel between jade(local) and atlantis.korea.ac.kr(destination)
tunnel 163.152.17.154 163.152.217.64 metric 1 threshold 16 rate_limit 100
mrouted.conf 파일 수정 후에 mrouted를 돌리면 터널링이 살아나고 멀티캐스트
패킷들이 송수신되기 시작한다. mrinfo, mtrace 등의 프로그램으로 터널링을
확인하도록 한다.
- mrinfo: Mrouter의 각종 설정 정보 표시
ex) mrinfo any.mrouter.ip.addr
- mtrace: 수신측에서 송신측까지 멀티캐스트 경로를 표시하여 준다.
ex) mtrace source [receiver]
5.2 Windows95에서 MBone 연결
많은 인터넷 사용자들이 PC에서 Windows95 환경을 이용하고 있다.
다행히 Windows95에서는 그 자체로 IP 멀티캐스트를 지원한다.
하지만 Windows95 자체로는 터널링이 불가능하므로,
자신의 네트웍 안에 멀티캐스트 라우터가 있는 경우에만 Windows 95에서
MBone에 연결할 수 있다.
다음과 같은 과정을 통하여 Windows95에서 MBone 접속이 가능하다.
(
http://dali.korea.ac.kr/~jlee/interests/mbone/howto.html)
Windows 95에서 라우터를 설정한다. 하는 법은 다음과 같다.
- 시작 -> 설정 -> 제어판 을 선택한 후, 네트워크를 더블 클릭한다.
- 네트워크 구성에서 TCP/IP를 선택하고 등록정보를 클릭한다.
- TCP/IP 등록정보 중에서 게이트웨이를 선택한다. 여기에서 기존에 있던
게이트웨이는 일단 다 지우고 멀티캐스트 라우터의 IP 어드레스를 추가한다.
- 확인을 몇 번 누르면 Windows 95를 다시 시작하겠냐고 묻는다.
아직 해야할 일이 조금 더 있으므로 나중에 재부팅하도록 한다.
'아니오'를 선택한다.
라우터를 설정하였으면 MBone 툴들을 설치하여야 한다.
먼저
ftp://cosmos.kaist.ac.kr/mbone/applications/sdr/winsdr22.zip 파일을 다운 받는다.
이 파일의 압축을 풀면(자동적으로 Mbone이라는 디렉토리가 생성된다.
여기에서는 /(root)에서 풀어 C:\MBONE이 만들어졌다고 가정)
sdr, vat, vic 프로그램이 설치된다.
프로그램 설치가 끝났으면 autoexec.bat에서 아래와 같이 두 라인을 수정한다.
- PATH= ... C:\MBONE; ....
(path에 추가한다. 만약 다른 디렉토리라면 그 디렉토리 경로를 쓴다.)
- HOME=C:\MBONE (home으로 설정)
여기까지 다 되었으면 시스템을 재부팅한다. (시작->시스템 종료->시스템 재시작)
이제 sdr을 실행시킨 후 4장에서 설명한 방법으로 세션에 참여하면 된다.
5.3 Tunnel threshold, TTL 가이드라인
MBone WG에서는 1996년 10월 회의에서 국내 MBone 사용의 일관성과
네트웍 자원의 효율적인 사용을 위하여
터널의 threshold와 세션 중계시 TTL 값에 대한 가이드라인을 수립하였다.
터널을 설정하거나, 새로운 세션을 생성하고자 할 때는 이 가이드라인을
따르기를 권장한다.
먼저 터널 threshold 가이드라인은 다음과 같다.
- 국내(EIX/혜화) <---> 해외 (mbone-jp): 64
- EIX or KIX <---> ISP MBone node: 32
(현재 모든 ISP는 EIX/KIX에 T1이상으로 접속되어 있음)
- ISP MBone node <---> 개별기관
- 512Kbps ~ T1 이상 : 32
- 128Kbps ~ 384Kbps : 48
- 56/64Kbps 이하 : 64
- 개별기관 내부 터널 : 16
세션 중계시 지정하는 TTL 값에 대한 가이드라인은 다음과 같다.
- 해외 중계 : 65 이상 (127)
- 국내 중계
- 오디오 : 63이하 (63)
- 비디오 : 47이하 (필요시(?) 63)
- 개별기관내 중계 : 15 이하 (15)
5.4 MBone 세션들
현재 sdr로 announce되어 있는 주요 세션들을 살펴보면 다음과 같다.
- CBC Radio On-line
- KBS 1 TV - 국내 방송사인 KBS에서 제 1 TV를 방송시간 동안 전세계로 중계한다.
- MBone RTP Audio - 디폴트 세션, MBone 연결 후 테스트용으로 사용할 수 있다.
- Radio Free Vat (MUSIC!) - 상설 음악 방송 세션
세션들에 대한 정보는
http://www.cilea.it/MBone/agenda.html에서 얻을 수 있고, 국내 세션에 대한
정보는
http://cosmos.kaist.ac.kr/mcast/sched.html를 참조하면 된다.
5.5 하드웨어
본 문서에서는 MBone을 사용하기 위한 하드웨어 사양에 대하여 자세히
논하지는 않는다.
http://cosmos.kaist.ac.kr/~krkang/mcast/equip.html를 참조할 것.
6. 결론
IP 멀티캐스트는 다자간의 통신에서 오버헤드를 줄일 수 있는 매우 효율적인 방법이다.
앞으로 상용 라우터들이 IP 멀티캐스트를 지원하고 인터넷 상에 모든 라우터들이
이러한 라우터들로 업그레이드 되면 터널링에 기반을 둔 가상망인 MBone은 사라지고,
실제 Internet = MBone으로 발전할 것이다.
WWW이 문화, 경제 등 여러 면에서 지리적인 제한과 국경을 초월하여
전체 인터넷 연결 국가에 큰 영향을 주고 있는 것처럼 MBone은
전세계에 걸친 Internet 방송용으로써 사회 전반에 많은 영향을 끼칠 것이다.
참고문헌(References)
- [Stevens 94]
- W. R. Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison Wesley, 1994
- [Brutzman 94]
- M. R. Macedonia and D. P. Brutzman, "MBone Provides Audio and Video Across the
Internet,"
COMPUTER, pp.30-36, April 1994
- [Casner 93]
- S. Casner, "FAQ on the Multicast Backbone," May 6, 1993
URL: ftp://venera.isi.edu/mbone/faq.txt
- [Deering 89]
- S. Deering, "Host Extensions for IP Multicasting," RFC-1112, Aug. 1989
URL: ftp://nic.ddn.mil/rfc/rfc1112.txt
- [MBone-KR]
- MBone-KR WWW site
URL: http://paro.etri.re.kr/
- [jlee 96]
- 이재용, "MBone에 연결하기", 1996년
URL:
http://dali.korea.ac.kr/~jlee/interests/mbone/howto.html
각주(Footnotes)
- (1)
- 예를 들어, 224.0.0.1은 자신이 속한 서브넷의 모든 시스템을 지정하고,
224.0.1.1은 NTP(Network Time Protocol)을 위하여, 224.0.0.9는
RIP-2(Routing Information Protocol version 2)를 위하여 사용된다.
- (2)
- sdr 이전에 sd라는 프로그램이 많이 사용되었으나 최근에 와서는 주로
sdr을 사용하므로 이를 사용할 것을 추천한다.