Nezávislé unicast a multicast topologie s využitím MBGP Bc. Kriváček Martin (KRI0080), Bc. Stratil Tomáš(STR0136) Abstrakt: Tento krátký dokument by měl teoreticky i prakticky zasvětit do problematiky protokolu MBGP pro využití multicast i unicast provozu v nezávislých topologiích. V následujícím textu je rozebraná konfigurace a testy odděleného multicast a unicast směrování nad protokoly IPv4 a IPv6. Klíčová slova: BGP, MBGP, multicast, unicast 1 Úvod...2 2 Modelová situace...3 2.1 Topologie...3 3 Konfigurace...4 3.1 Konfigurace směrovacího protokolu MBGP...4 3.1.1 Konfigurace MBGP nad protokolem IPv4...4 3.1.2 Konfigurace MBGP nad protokolem IPv6...4 3.2 Konfigurace multicast směrovaní...5 3.2.1 Konfigurace multicast nad protokolem IPv4...5 3.2.2 Konfigurace multicast nad protokolem IPv6...5 4 Výsledky...6 4.1 Unicast testovaní...6 4.2 Multicast testování...7 4.3 Výpisy ze směrovačů...9 5 Závěr...10 6 Použitá literatura...11
1 Úvod V tomto projektu jsme si prakticky vyzkoušeli zapojení a nakonfigurování směrovacího protokolu BGP s rozšířením Multiprotocol BGP. Rozšíření Multiprotocol přidává funkce do BGP protokolu. Zajišťuje směrovací politiky v multicast topologiích a její začlenění do směrovacího protokolu BGP a také mezi dva BGP autonomní systémy. To znamená, že MBGP je vylepšený BGP, který zvládá vícesměrové vysílání IP tras. BGP tedy nese dva soubory, jeden soubor pro unicast směrování a druhý pro multicast směrování. Na trasách spojené multicast směrováním se používá protokol Independent Multicast (PIM). Rozšířený Multiprotokol nepřidává do BGP protokolu jen možnost rozdělit směrování na unicast a multicast, ale také přidává podporu IPv6 rodiny. [1]
2 Modelová situace Jako modelovou situaci jsme si vybrali jednoduchou topologii pro oddělený multicast a unicast provoz. V topologii je zapojen jeden multicast server, který přeposílá všechny multicast požadavky všem klientům v této multicast skupině. 2.1 Topologie Obrázek 1: Topologie Jako testovací konfiguraci MBGP jsme zvolili zapojení s třemi směrovači. Rozhodli jsme se názorně ukázat možnost oddělit multicast a unicast provoz. Směrovače R1 a R2 jsme propojili dvěma linkami, jednou jsme směrovali jen multicast provoz a druhou jen unicast. Mezi směrovači R2 a R3 jsme směrovali jen multicast provoz. Následně je uvedená konfigurace jednotlivých směrovačů.
3 Konfigurace Na začátku byla provedena základní konfigurace směrovačů, tj. nastavení IP adres rozhraní a počítačů. Při konfiguraci směrovacího protokolu BGP jsme se řídili z častí návodem z blogu Arwina Reprakashe [2], a z častí Cisco dokumentací k MBGP [1]. Co se týče samotného povolení multicast směrovaní použili jsme informace ze cvičení, ve kterém se probíralo multicast směrovaní [3]. 3.1 Konfigurace směrovacího protokolu MBGP Konfigurace protokolu MBGP nad protokolem IPv4 a protokolem IPv6 se moc neliší. A však důležité změny jsou uvedené v následujících podkapitolách. 3.1.1 Konfigurace MBGP nad protokolem IPv4 V prvním radě bylo třeba vypnout původní unicast a přidat zaznamenávání změny BGP sousedů jako je uvedeno v následujícím seznamu: router bgp <číslo AS> no bgp default ipv4-unicast bgp log-neighbour-changes Následně přidat sousedy příkazem: neighbour <IP> remote-as <číslo sousedního AS> Jelikož je unicast a multicast směrování oddělené, musíme ručně přidat jednotlivé sousedy do správné adresní skupiny a přidat sítě, které se budou šířit. V případě unicast směrováni to bude: address-family ipv4 neighbour <IP souseda> activate network <IP sítě > <maska sítě> V případe multicast směrováni je potřeba mít zapnutý na směrovači multicast routing, aby bylo možné vytvořit adresní skupinu následujícím způsobem: address-family ipv4 multicast neighbour <IP souseda> activate network <IP sítě > <maska sítě> 3.1.2 Konfigurace MBGP nad protokolem IPv6 Když jde o konfiguraci nad protokolem IPv6, vyskytují se zde některý změny v konfiguraci. V první řadě je nutno mít zapnuté IPv6 unicast i multicast směrováni. To dosáhneme následujícími příkazy: ipv6 unicast-routing ipv6 multicast-routing ipv6 cef Přímo při konfiguraci v BGP je jediná změna oproti konfiguraci nad IPv4 a to, že adresní skupina pro unicast a multicast je : address-family ipv6 address-family ipv6 multicast Dál je potřeba nastavit ID směrovače, protože se na směrovači nenachází IPv4 adresy z kterých by si ID vybral: router-id <IPv4 adresa> Stávající část konfigurace je totožná.
3.2 Konfigurace multicast směrování Konfigurace multicast směrováni na směrovačích byla potřeba pro zajištění správné funkčnosti. Nastavení nad protokolem IPv4 a IPv6 se od sebe odlišuje, jejich použitá konfigurace je zobrazená v následujících dvou podkapitolách. 3.2.1 Konfigurace multicast nad protokolem IPv4 V případe konfigurace multicast směrovaní nad protokolem IPv4 je potřeba v první řadě povolit toto směrovaní pomocí příkazu: ip multicast-routing Dále je potřeba globálně definovat tzv. Randezvous point: ip pim rp-address <IP adresa RP> Na směrovači, na kterém se nachází tento RP, je třeba povolit příchozí spojení a poslat RP-announce pro automatické nastavení PIM: access-list 1 permit <IP adresa >< maska > ip pim send-rp-announce <rozhraní> scope 16 group-list 1 Následně na rozhraních, které se účastní tohoto směrovaní, je třeba zvolit režim spravování a přidat rozhraní do multicast skupiny: ip pim sparse-dense mode ip igmp join-group <IP adresa multicast skupiny> 3.2.2 Konfigurace multicast nad protokolem IPv6 Když se jedná o konfiguraci pod Ipv6, vyskytují se zde některé odlišnosti oproti protokolu IPv4. Povolení multicast směrovaní a podporu IPv6 jsme zapnuli příkazy: ipv6 multicast-routing ipv6 cef Globálně ještě třeba nastavit RP adresu: ipv6 pim rp-address <IPv6 adresa RP> Následně na rozhraních nastavit připojení do multicast skupiny: ipv6 mld join-group <IPv6 adresa> V případě konfigurace směrovače, na kterém se nachází RP, je nutné přidat přistup: ipv6 access-list <název> permit ipv6 any host <IPv6 adresa> Tato skupina je použita na rozhraních do kterých se bude multicast provoz šířit: ipv6 mld access-group <název listu>
4 Výsledky Pro ověření námi použité konfigurace jsme zvolili dvojici jednoduchých testů. Za pomoci těchto testů jsme ověřili funkčnost jak multicast tak i unicast provozu. 4.1 Unicast testovaní Na testování unicast směrování jsme použili test za pomoci ping-u. Následující screenshoty ukazují vzájemný ping mezi jednotlivými počítači. Obrázek 2: Ping z multicast serveru Obrázek 3: Ping z PC1 Obrázek 4: Ping z PC2 Ping na PC2 a ani z PC2 nebyl dostupný, protože linka k směrovači R3 byla nastavená čistě na směrování multicast spojení. PC1 a Multicast Server byli vzájemně dostupné.
4.2 Multicast testování Na ověření funkčnosti multicast směrování jsme použili program Iperf. Nastavení serveru naslouchajícího v multicast skupině 224.2.1.1: # iperf -s -u -B 224.2.1.1 -i 1 Nastavení klienta který bude přispívat do multicast skupiny: # iperf -c 224.2.1.1 -u -T 32 -t 3 -i 1 Na následujících screenshotech je znázorněné multicast testování, kde naslouchají dva počítače a jeden klient přispívá do této skupiny. Obrázek 5: Multicast server Obrázek 6: PC1 Obrázek 7: PC2 Multicast server zobrazuje příspěvky do multicast skupiny od počítačů PC1 a PC2.
Následně jsme otestovali i vysílání dvou počítačů do multicast skupiny, kde naslouchal jen Multicast Server. Obrázek 8: Multicast server Obrázek 9: PC2 Obrázek 10: PC1 Na screenshotech je vidět, že PC1 vysílá do multicast skupiny a Multicast Server s PC2 naslouchají v této skupině. Oba zobrazují příchozí spojení.
4.3 Výpisy ze směrovačů Pro ověření, jestli námi nakonfigurované BGP správně pracuje jsme se mohli přesvědčit pomoci kontrolních výpisů jednotlivých směrovačů. Na zobrazení jsme použili kontrolní výpisy: show bgp ipv4 multicast show bgp ipv4 unicast show bgp Následující snímky zobrazují kontrolní výpisy BGP na směrovači R1: Obrázek 11: Zobrazení BGP tabulky Obrázek 12: Zobrazení multicast IPv4 směrování Obrázek 13: Zobrazení unicast IPv4 směrování Na snímcích je vidět rozdílné směrování multicast a unicast provozu.
5 Závěr Tuto topologii jsme testovali v laboratoři za pomoci směrovač Cisco c2801 s verzí IOS 15.1. Nastavení konfigurace pro unicast i multicast v MBGP vypadá jednoduše. Unicast nebyl problém nakonfigurovat a správně fungoval v podstatě okamžitě. Při konfiguraci multicast směrovaní se objevili problémy. Hlavní problémy s kterými jsme se setkali bylo, že směrovače si přestali přeposílat některé informace, což zna - menalo, že komunikace mezi sousedy přestala fungovat. Problém se nám podařilo vyřešit změnou multicast nastavení na rozhraních a automatickým nastavením PIM. Po opětovném nakonfigurovaní směrovačů a po uskutečnění testů jsme mohli prohlásit, že námi navrhnuta topologie je plně funkční. Následně jsme změnili konfiguraci na protokol IPv6. Tato konfigurace se téměř nelišila a po konfiguraci všechno běželo tak jako na protokolu IPv4.
6 Použitá literatura [1] MBGP. Cisco [online]. 2014 [cit. 2014-05-04]. Dostupné z: http://www.cisco.com/c/en/us/tech/ip/multiprotocol-bgp-mbgp/index.html [2] BGP - Configuring mbgp (Multicast BGP). IT Blogtorials [online]. 2013 [cit. 2014-05-04]. Dostupné z: http://ithitman.blogspot.cz/2013/02/bgp-configuring-mbgp-multicast-bgp.html [3] Multicast Routing - MilataWiki [online]. 2011 [cit. 2014-05-04]. Dostupné z: http://wh.cs.vsb.cz/mil051/index.php/multicast_routing