1998. május |
Bevezető Az IP multicast-ról röviden A kísérleti felállás Routolás Tapasztalatok, felmerült problémák Konklúzió, nyitott kérdések Javaslat Hasznos linkek
Egyre jobban terjednek a multimédia streaming alkalmazások a hálózaton (pl. RealAudio, RealVideo, Netshow, videokonferencia stb.), melyek a hagyományos pont-pont IP alapú összeköttetésekkel megvalósítva pazarolják a rendelkezésre álló sávszélességet, s nem alkalmasak a tömeges felhasználásra. A kézenfekvő megoldás az IP multicast technika használata, mely egy routolt Internet környezetben átgondolt, alapos tervezést, koordinációt és tesztelést igényel, mielött a szolgáltatók az éles hálózatukon használni tudnák. Jelen leírásban azt a kísérletsorozatot ismertetem, mellyel hozzá szeretnénk járulni egy magyar multicast backbone kialakulásához.A kísérletsorozatban bárki által ingyen letölthető szoftvereket, közönséges PC-ket és létező IP hálózatot használtunk.
2. Az IP multicast-ról röviden
A multicast egy kommunikációs forma, melyben egy adó (jelforrás) és tetszőleges számú vevő egy közös csatornát használva információt cserél. A legfontosabb tulajdonsága a pont-pont kommunikációval szemben, hogy az információmennyiség csak egy példányban áramlik át a hálózaton. Ezt a tulajdonságot elsősorban a multimédia alkalmazások tudják kihasználni, így az élő hang és videóközvetítések, a videókonferenciák, s az egyéb tartalomszóró megoldások.
Az IP multicast lokális hálózatokon a legegyszerűbben megvalósítható: a szerver számítógép operációs rendszerének és az adást sugárzó szoftvernek képesnek kell lennie a multicast kommunikációra, pontosabban az IGMP protokoll használatára. Ez manapság minden modern TCP/IP implementáció része, így csak konfiguráció kérdése a hatékony használat. A legtöbb szoftver esetében ez csak a multicast címtartomány beállítását jelenti.
Az összetett, routolt hálózatok esetében (mint az Internet) megoldandó a multicast forgalom pont-pont WAN linkeken keresztüli továbbítása. Ezt különböző multicast routing protokollok teszik lehetővé. Az első ilyen elterjedt protokoll a DVMRP volt, mely a világméretű MBONE hálózat kialakításánál fontos szerepet játszott. (Az MBONE az Interneten megvalósított multicast backbone, melynek különböző részeit un. tunnel-ek, azaz digitális átjátszó-alagutak kötik össze.) Mára egy korszerűbb protokoll, a PIM (Protokoll Independent Multicast) kezd elterjedni, ezt támogatják a Cisco routerek is. Természetesen lehetséges az átjárás is a különböző protokollok között.
A kísérletek célja, hogy bemutassuk a multicast technológia és routolás egyszerű bevezethetőségét. A kísérlethez Cisco routereket és IBM kompatibilis PC-ket használunk, Windows NT és Windows 95 operációs rendszerrel.
A teszt jelforrás egy CD-ROM meghajtóval felszerelt PC, melyen Windows NT alatt az ingyenesen letölthető RealEncoder szoftver kódolja a végtelenített lejátszásra beállított CD hangját.
Az encoder egy Windows NT szerveren futó - szintén ingyenesen letölthető - RealNetworks Basic Server 5.0-nak küldte a jelet. A szerveren beállítottuk a multicast adás lehetőségét a server.cfg konfigurációs file kiegészítésével:
MulticastAddressRange 239.0.0.1-239.0.0.255
MulticastPort 7070
MulticastControlList [{0.0.0.0, 0.0.0.0}]
A 239.0.0.0/8 a privát multicast címtartomány, ennek egy
blokkjából választ dinamikusan címet a szerver az egyes élő
streameknek: a kliens először TCP kapcsolatot létesít a
szerverrel, ekkor a szerver átadja a kért stream multicast
címét és utána a kliens megpróbál csatlakozni a multicast
csatornához.
A harmadik sor a kiszolgált kliensek körét határozza meg,
jelen esetben mindenki csatlakozhat tetszőleges címről.
A kísérleti hálózat:
E1 és E2 egy telephelyen, s bérelt vonalon csatlakoznak E3-ra (a C3 belső hálózata). PC1-PC5 kliensek más-más pozícióban. E1, R1 és R2 a több routeres kísérlet kedvéért lett beállítva, a többi berendezés üzemszerűen működik a kísérlettől függetlenül is. Az IP forgalmat statikus routolás biztosítja.
A kliensek a RealPlayer
5.0-val ellátva csatlakoznak a hálózat több pontján,
az automatikus multicast vétel létrejöttét a statisztika
ablak fejlécéből lehet ellenőrizni. A debug idején
manuálisan multicast vételre voltak korlátozva, mivel a
szerver automatikusan unicast módban küldi a jelet, ha nem
sikerül a multicast kapcsolatnak létrejönnie.
Az első lépésben a lokális hálózati multicast adatátvitelt teszteltük, ez semmilyen egyéb beállítást, konfigurációt nem igényelt: a RealPlayer kliensek a szerver beállítása után automatikusan multicast üzemmódban tudták fogni az adást.
A második lépésben két lokális hálózat közötti multicast routolás megvalósítása volt a feladat. Ehhez a routerekben konfigurálni kellett a multicast routolást, valamint a PIM protokollt. A tesztekhez az előtanulmányok nyomán a PIM sparse mode (PIM-SM) üzemmódot választottuk, mely a szétszórtan elhelyezkedő, korlátozott sávszélességgel kapcsoló multicast kliensek esetére optimalizált, s nem igényli egy LAN sávszélességét. A PIM-SM a multicast elosztó fa felépítéséhez egy RP (rendezvous point) jelölésű routert használ. Az RP segítségével találkoznak a "vevők" az "adókkal", majd kiépül köztük a közvetlen kapcsolat, azaz az RP csak a kapcsolatfelépítéshez szükséges. A részletekről nagyon jó leírás olvasható a 4. ajánlott linken.
Tehát nézzük egy tetszőleges, a PIM protokollt támogató Cisco router beállítását (itt a fenti R4 router példáján):
conf t | ;belépés a konfigurációs üzemmódba | |
ip multicast-routing | ;a multicast routolás engedályezése | |
ip pim rp-address 194.38.96.65 | ;az RP címének megadása | |
int fa0/0.1 | ;az Ethernet interfész (itt egy VLAN) konfigurálása | |
ip pim sparse-mode | ;a PIM sparse mode engedélyezése | |
int s4/4 | ;a soros port konfigurálása | |
ip pim sparse-mode | ;a PIM sparse mode engedélyezése | |
exit | ;kilépés az interfész konfigurációból | |
exit | ;kilépés |
Ugyanezt értelemszerűen a másik oldali routerben (R3) is
beállítottuk.
Ezt követően az alábbi parancsokkal ellenőrizhető a
működés:
debug ip pim | A PIM protokoll figyelése | |
debug ip igmp | Az IGMP protokoll figyelése | |
show ip mroute | A multicast routing tábla megtekintése | |
show ip mroute active | Az aktív multicast jelfolyamok megjelenítése | |
show ip pim neighbors | A PIM szomszédok megtekintése | |
show ip pim interfaces | A PIM interfészek megtekintése | |
show ip pim rp | Az egyes RP-k megtekintése | |
show ip rpf _cím_ | Az adott címhez tartozó RPF (Reverse Path Forwarding) információk |
A debug ip pim parancsot kiadva látszanak a két router közötti információcserék. (Természetesen telnet kapcsolat esetén a debug nézéséhez ki kell adni a term mon parancsot, mely a console outputját átirányítja a telnet sessionbe. Ezt a term no mon paranccsal lehet kikapcsolni.)
A RealPlayer klienset elindítva a következő - leegyszerűsített - folyamat játszódik le:
1. Először egy TCP kapcsolat eredményeként megkapja a
kliens a kért adás multicast címét a szervertől
2. Erre a címre IGMP kérést küld a kliens a routernek
3. A router PIM csatlakozási kérést küld az RP routernek,
majd az RP-től kapott informáciük alapján felépül a
multicast fa
4. Elindul az adatfolyam a szervertől a routereken át a
klienshez.
Az adatfolyamot az ip mroute active paranccsal
ellenőrizhatjük, itt látható a használt sávszélesség
értéke is.
Ezzel megjelent a kliens Ethernet hálózatán a jelfolyam, s ha
ezt további kliensek is hallgatni kívánják, akkor sem nő a
két router közötti forgalom.
A következő feladat a két pont-pont WAN szakaszon átnyúló multicast routolás volt. Ez - amennyiben a routerek is úgy akarják (lásd később) - egy a fentivel egyező beállítást igényel az újabb routerpáron (R1 és R2). Ezzel a felállással kipróbáltuk, hogy a multicast jelfolyam több hálózaton keresztül is eljut a klienshez, a közbenső routerek automatikusan továbbítják a csatlakozási kéréseket.
5. Tapasztalatok, felmerült problémák
A fentiekben leírt konfigurációban üzemel a kísérleti rendszer, a kiinduló audio stream-en kívül teszteltük video jellel is, tökéletesen működik.
Természetesen a fent leírtak hosszas próbálkozások és tesztek eredményei. Az alábbiakban a menet közben felmerült problémákat, váratlan eseményeket foglaljuk össze:
6. Konklúzió, nyitott kérdések
A kísérlet (és az idevágó online szakirodalom alapos tanulmányozása) alapján nyilvánvaló, hogy viszonylag csekély energiával látványos eredményeket lehet elérni. Természetesen még rengeteg tesztelni, kipróbálni való van a témakörben, ezek közül néhány:
Tervezzük workshop jellegű tesztek végrehajtását, mikor egy alkalommal nagyobb számú eszközzel és több résztvevővel végzünk különböző dokumentált kísérleteket. Az első workshopon plug-n-play jelleggel az itt bemutatott kísérlet ellenőrzését fogjuk végrehajtani nulláról indulva egy háromrouteres, gyűrüs teszthálózaton. (Update: a workshop sikerrel lezajlott, Cisco 4500, 2501 és 1005-ös routerekkel, DTE-DCE kábelekkel és három PC-vel minden lehetséges kombinációt végigpróbáltunk.)
A C3 a jelen kísérletsorozattal szeretné a magyarországi ISP-k összefogását kezdeményezni egy multicast backbone kialakítására, s a további kísérletek közös folytatására. Ennek elősegítésére:
conf t | ;belépés a konfigurációs üzemmódba | |
ip multicast-routing | ;a multicast routolás engedályezése | |
ip pim rp-address 194.38.96.65 | ;az RP címének megadása | |
int e0 | ;az Ethernet interfész konfigurálása | |
ip pim sparse-mode | ;a PIM sparse mode engedélyezése | |
int s0 | ;a soros port konfigurálása | |
ip pim sparse-mode | ;a PIM sparse mode engedélyezése | |
exit | ;kilépés az interfész konfigurációból | |
exit | ;kilépés |
Reméljük kezdeményezésünk kedvező fogadtatásra talál, s nem riadnak vissza a kollégák a kísérletezéstől. Minden javaslatot, kérdést, korrekciót, csatlakozási szándékot, sikeres teszt-stream vételt a multicast@c3.hu címen várunk, s itt olvashatók majd a további fejlemények. Ezt az oldalt folyamatosan frissíteni fogjuk a korrekciókkal, kiegészítésekkel.
1. The IP Multicast Initiative (IPMI) - http://www.ipmulticast.com
2. Multicast addresses - http://www.isi.edu/in-notes/iana/assignments/multicast-addresses
3. Internet Multicast Transmission, Addressing and Routing - http://snad.ncsl.nist.gov/snad-staff/night/multicast/multicast.html
4. Introduction to IP Multicast Routing - http://www.ipmulticast.com/community/whitepapers/introrouting.html
5. RealNetworks homepage - http://www.real.com
6. Multicasting Live Content with RealServer - http://service.real.com/help/library/guides/doc/7multi.htm
7. RealServer Administration Guide - http://service.real.com/help/library/guides/index.htm
8. The Multimedia Conferencing Applications Archive - http://www.video.ja.net/mice/
9. Multicasting (Sztaki) - http://www.sztaki.hu/services/mbone/konfig.hu.html
10. IP multicast szoftver archívum - http://www.sztaki.hu/services/mbone/software.hu.html
11. Cisco Systems IP Multicast Implementation - ftp://ftp-eng.cisco.com/ipmulticast.htm
12. MBONE tools - http://scrappy.cs.ucl.ac.uk/shrimp/install.html
13. MBONE & Multicast for Windows - http://www.research.microsoft.com/research/BARC/mbone/
14. IP Multicast - by Cisco Systems - http://www.cisco.com/warp/customer/732/multicast/
Az oldal utolsó frissítése: 1998-10-31, készítette: atudos@c3.hu