Multicast • Výzva: způsob zasílání stejných zpráv skupině koncových stanic • Revize všech základních aspektů – směrování – autonomní systémy – adresace – reakce na zahlcení – kvalita doručení (spolehlivost, uspořádanost, …) Multicast Multicast Multicast – motivace • Data pro více „odběratelů“ – všesměrové vysílání (broadcast) – vzdálená spolupráce (telecollaboration) – update programového vybavení a dat (antiviry) • Dotaz „neznámému“ (vyhledávání) – peer-to-peer sdílení souborů (gnutella, napster) – hledání zdrojů – distribuované databáze Mutlicast - principy • Každým spojem data prochází nejvýše jednou • Vlastnost sítě (nelze zajistit end-to-end) – duplikace dat na prvcích sítě („uvnitř“ sítě) • Doručení – nezaručené, (best effort, UDP) – skupinová adresa • TTL kontroluje rozsah šíření (poloměr) Multicast - komunikující strany • Vysílající – každý může vysílat (znalost skupinové adresy) – proměnný počet vysílajících • stačí posílat paketu na skupinovou adresu – může, ale nemusí být členem skupiny • Přijímající – žádný, jeden, více – kdokoliv se může přidat či může opustit skupinu – může patřit do více skupin IP multicast - vlastnosti • Nelze jej účtovat • Nelze zjistit přijímající • Snadný terč útoku Denial of Servcie (DoS) • Složitá dynamická alokace adres • Problematická rozšiřitelnost IP multicast - jednoduchý model • Sdílená media (podporují broadcast) • Aplikace se „přihlásí“ ke skupině • Uzel začne přijímat všechny pakety vysílané na použitou skupinovou adresu • Vysílající posílá pakety na skupinovou adresu Správa skupinové komunikace • komunikující skupina – statická || dynamická – úzce lokalizovaná || široce rozprostřená – počet členů: jednotky -> desetitisíce • protokoly – IGMP (Internet Group Management Protocol, RFC 1112) • adresace – adresa třídy D: 224.0.0.0 -> 239.255.255.255 Správa skupinové komunikace • všichni členové komunikující skupiny komunikují se stejnou adresou • přijetí člena do skupiny • opuštění skupiny • správa skupiny během existence Protokoly pro multicastové směrování • stromová struktura multicastové skupiny – dynamická skupiny => dynamická struktura • dva základní přístupy – Source Based Tree – Shared Tree (Core Based Tree) Source Based Tree • Aktivita shora - zakládající uvědomuje zájemce • Periodický broadcast • Ořezávání větví, kde nejsou žádní členové • Omezení šířky - TTL • Vhodný pro úzce lokalizované skupiny • Nevýhoda: režie, záplava broadcasty Shared Tree (Core Based Tree) • Ustaveno jádro (core) - body setkání (meeting points) • Zájemce o členství ve skupině kontaktuje nejbližší MP • Aktivita zdola - od příjemce • Redukce broadcastu => lepší škálovatelnost • Nevýhoda: problém závislosti na dostupnosti jádra Shared Tree (Core Based Tree) • Ustaveno jádro (core) - body setkání (meeting points) • Zájemce o členství ve skupině kontaktuje nejbližší MP • Aktivita zdola - od příjemce • Redukce broadcastu => lepší škálovatelnost • Nevýhoda: problém závislosti na dostupnosti jádra Konkrétní směrovací protokoly • DVMRP (Distance Vector Multicast Routing Protocol) – Source Based Tree – obdoba RIP • MOSPF (Muticast Open Shortest Path First) – Source Based Tree – obdoba OSPF – volba ústředního routeru pro skupinu • CBT (Core Based Tree) – Shared Tree – protokolově nezávislý (využívá stávající směrovací informace) • PIM (Protocol Independent Multicast) – optimalizace směrování pro různé typy skupin – PIM-SM (Sparse Mode) (Shared Tree) – PIM-DM (Dense Mode) (Source Based Tree) Multicast bez podpory sítě • Virtuální sítě – multicast na úrovni aplikací, tunelování – směrování se může přizpůsobit aktuální zátěži – omezení kapacity tunelů UDP Packet Reflector (rum) Tunely • Připojení účastníků za směrovači bez podpory multicastu • IP multicast paket enkapsulován do unicastového IP paketu, transportován ke své destinaci a dekapsulován • mrouter (mrouted) MBone • Multicastová podsíť Internetu Spolehlivý multicast • contradictio in adjecto • problém datových služeb • potvrzování zpráv (ACK, NACK) – ACK explosion, baby crying • zálohování provozu na směrovačích • problémy s implementací, vysoké nároky na výkon a nároky směrovačů QoS • použití pro multimediální přenosy v reálném čase • kromě spolehlivosti ještě požadavky na další parametry (zpoždění, jitter...) • pokusy o řešení (aktivní sítě) • možný přístup – dekompozice – partikulární řešení – suboptimalita (vyšší než nezbytně nutná spotřeba zdrojů IPv6 - motivace • Nedostatek jedinečných IP adres – přístroje (včetně domácích) – mobilní zařízení • Příliš velké směrovací tabulky v páteřních směrovačích • Manuální konfigurace IPv4 (nebo DHCP) • Původně sekundární motivace: – nedostatečná variabilita IP – bezpečnost – podpora mobility IPv6 - architektura • Struktura IPv6 packetů IPv6 - architektura • Struktura adres IPv6 • vzhledem ke složitosti adres se předpokládá použití přes DNS IPv6 - architektura • Prefixy IPv6 - architektura • Struktura unicastových adres IPv6 - architektura • Speciální adresy IPv6 - architektura • Struktura multicastových adres IPv6 - architektura • Autokonfigurace unicastových adres – stavová (obdobná DHCP) – bezstavová (neighbor dircovery) • novinka IPv6 založená na tom, že router opakovaně inzeruje tzv. ohlášení směrovače • snaha po Plug-and-Play (nebo Plug-and-Pray??) • klient se z ohlášení dozví, jaké prefixy používá daná síť a k ní si připojí svoji 64bitovou část vytvořenou ze své ethernetové adresy a také informace potřebné pro routování • tento způsob vůbec neřeší DNS, což je v IPv6 nezbytnost • časové omezení automaticky přidělovaných adres IPv6 - bezpečnost • Implementace bezpečnosti je v IPv6 povinná (i když mnoha autory dosud odkládaná) • Authenication Header (AH) paketu – ověření totožnosti odesílatele – možnost ochrany před opakovaným vysíláním téhož (aby vetřelec nemohl jednoduše odeslat ještě jednou sekvenci vašich paketů, které se mu podařilo zachytit) • Encapsulating Security Payload (ESP) paketu – širší služby než AH – umožňuje buď řešit šifrování paketu nebo ověřování totožnosti odesílatele, avšak ne současně • Security Policy Database -> Security Association – zahodit, akceptovat bez prověření, poslat na prověření IPv6 - mobilita • Provoz „domácího agenta“ • v případě změny IP pohybující se stanice pošle informace jak svému domácímu agentovi tak i všem strojům, s nimiž aktuálně komunikuje • bezpečnostní otázky IPv6 - implementace • projekt KAME - NetBSD/FreeBSD/OpenBSD – ve velmi dobrém stavu včetně podpory mobility a bezepčnosti • implementace pro Windows 2000 a XP od MS • Linux - stabilizováno od řady 2.2.x - ověřit • Cisco má podporu IPv6 pouze jako testovací • 6bone IPv6 - shruntí • 128 bitové adresy – 340282366920938463463374607431768211456 (3*10**38) jedinečných adres • jednodušší hlavička se 64bitovým zarovnáním • podpora real-time provozu (flow label) • směrovače nesmí fragmentovat • podpora autokonfigurace • flexibilní mechanismus rozšiřitelnosti hlaviček – bezpečnost – výběr cest