Osnova 03 přednáška Tomáš Fidler UPCE 2. 10. 2007 Základy IP adresace Typy Adres subnetting VLSM CIDR Směrovací tabulka Kde je problém? 1-Bit Bin. tree Multi-bit trie - hodnoty ve větvích Bitmapové struktury TCAM IP adresy individuální Trídy A zacíná 0 /8 B zacíná 10 /16 C zacíná 110 /24 D zacíná 1110 multicast E zacíná 1111 experimentální Zapomeňte na třídy adres, ale... dnešní adresace je beztřídní (classless) RFC 1166 - INTERNET NUMBERS standardně jedno rozhraní = jedna adresa ne vždy je třeba adresa (bod-bod spoje (využívá se ip adresa jiného fyzického rozhraní)) možno více adres na jednom rozhraní!! (další jsou sekundární (používá se např. u mobile IP)) na fyzickém rozhraní mohou být vytvořeny subrozhraní, která mají každá svou vlastní IP... pozor neplést s více adresami na jednom rozhraní
skupinové = Multicast skupinové = Multicast nejlepší vstup: Introduction to IP Multicast Routing {draft-ietf-mboned-intro-multicast-03.txt} používá se pro skupinové vysílání (iptv, multicast streaming) a pro speciální účely, je třeba se přihlásit do skupiny používán moderními routovací protokoly Local Network Control Block all systems on this subnet 224.0.0.1 all routers on this subnet 224.0.0.2 all DVMRP routers 224.0.0.4 all OSPF routers 224.0.0.5 all OSPF designated routers 224.0.0.6 all RIP2 routers 224.0.0.9 EIGRP routers 224.0.0.10 Pro další informace: RFC: 1112, 2236, 1458, 1812, 2117, 2189, 2201 http://www.iana.org/assignments/multicast-addresses RFC 1112 Host Extensions for IP Multicasting. Steve Deering. August 1989. RFC 2236 Internet Group Management Protocol, version 2. W. Fenner. November 1997. RFC 1458 Requirements for Multicast Protocols. Braudes, R and Zabele, S. May 1993. RFC 1469 IP Multicast over Token-Ring Local Area Networks. T. Pusateri. June 1993. RFC 1390 Transmission of IP and ARP over FDDI Networks. D. Katz. January 1993. RFC 1812 Requirements for IP version 4 Routers. Fred Baker, Editor. June 1995 RFC 2117 Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification. D. Estrin, D. Farinacci, A. Helmy, D. Thaler; S. Deering, M. Handley, V. Jacobson, C. Liu, P. Sharma, and L. Wei. July 1997. RFC 2189 Core Based Trees (CBT version 2) Multicast Routing. A. Ballardie. September 1997. RFC 2201 Core Based Trees (CBT) Multicast Routing Architecture. A. Ballardie. September 1997. všeobecné - Broadcast Třídní rozdělení Původní model Internetu byl dvou úrovňový nejprve se hledala sít, v té síti konkrétní host musí být podporované, at již typem média, nebo speciálně (NBMA - řeší se například posíláním kopií na konkrétní rozhraní) RFC 919, 922, 2644 Příklad 172.16.0.1 sít je třídy B adresa sítě je 172.16.0.0... posíláme směrovači, který to má na starosti směrovač sítě 172.16.0.0 to pošle na rozhraní náležící této síti konkrétnímu hostu.
Subnetting Problémy: nedostatek adres (rozdělování adres podle tříd nekopírovalo dynamiku rozvíjení Internetu) malá variabilita sítí (různá média navzájem oddělována různými sítěmi(nutný větší počet přidělených sítí) špatná diagnostika, lokace, chyba jednoho klienta je schopna ovlivnit chod celé sítě Subnetting Zavedené způsoby implementace subnettingu (RFC 950) Řešení: Subnetting lepší využití přidělené adresace možnost rozdělení sítě na podsítě mezi sebou směrované subnetting dovolil 3 úrovně - hierarchii kterou mohla zavést a ovlivňovat sama firma 1. Variable-width field: Any number of the bits of the local address part are used for the subnet number; the size of this field, although constant for a given network, varies from network to network. If the field width is zero, then subnets are not in use. 2. Fixed-width field: A specific number of bits (e.g., eight) is used for the subnet number, if subnets are in use.
Zavedené způsoby implementace subnettingu (RFC 950).. Základní pseudo-kód pro směrování na síti před subnettingem: 3. Self-encoding variable-width field: Just as the width (i.e., class) of the network number field is encoded by its high-order bits, the width of the subnet field is similarly encoded. 4. Self-encoding fixed-width field: A specific number of bits is used for the subnet number. 5. Masked bits: Use a bit mask ( address mask ) to identify which bits of the local address field indicate the subnet number. IF ip_net_number(dg.ip_dest) = ip_net_number(my_ip_addr) THEN send_dg_locally(dg, dg.ip_dest) ELSE send_dg_locally(dg, gateway_to(ip_net_number(dg.ip_dest))) Rozšíření o subnetting IF bitwise_and(dg.ip_dest, my_ip_mask) = bitwise_and(my_ip_addr, my_ip_mask) THEN send_dg_locally(dg, dg.ip_dest) ELSE send_dg_locally(dg,gateway_to(bitwise_and(dg.ip_dest, my_ip_mask))) VLSM Rozdělení pouze na subnety se ukázalo jako nedostatečné - jedna sít byla rozdělena jedním jediným způsobem VLSM dovolilo libovolné zacházení s přidělenými adresami vysoká flexibilita RFC 1812
Situace začátku 90. let Rozšiřování Internetu => rostoucí směrovací tabulky nutnost pomoci směrovačům se směrováním CIDR Změna způsobu dělení adres úplné upuštění od třídního rozdělení sítě jsou přidělovány vždy s maskou (podle potřebného počtu hostů) dá se použít sumarizace směrování na základě prefixu padá nutnost rezervovat první a poslední podsít pro nejednoznačnosti RFC: -1338, 1517, 1518, 1519, 1520 (rok 1993) Adresace s třídami sít podsít stanice Adresace CIDR (bez tříd) sít (určená prefixem) stanice
31-bitový prefix Speciální prefix pro dvoubodové spoje (s protokolem PPP) nemá adresu sítě nemá broadcast adresu RFC 3021 Směrovací tabulka Kde je problém? Naivní implementace postupně hledat nejdelší shodu náročnost: průměr: O(N/2) nejhorší: O(N) - pamět ová náročnost Next hop Prefix P1 * P2 1* P3 00* P4 101* P5 111* P6 1000* P7 11101* P8 111001* P7 1000011* Rychlost vyhledávání (Lookup) 1Gbps cca 3.125 mpps (40byte/ip) (320nsec/p) 10Gbps cca 31.25 mpps (40byte/ip) (32nsec/p) 40Gbps cca 125 mpps (40byte/ip) (8nsec/p) 100Gbps?? Náročnost na pamět Malá pamět = rychlá pamět, málo energie SRAM 1-10nsec DRAM 40-60nsec Čas aktualizace Škálovatelnost 320 000 cest aktuálně, 25 000 nových/rok Flexibilita implementace Software nebo hardware implementace ASIC, network processor... Generic processor
1-Bit binární strom (1-B trie) Uzavřený B-trie, bez paměti P1 P2 P3 Nejjednodušší strom náročnost vyhled.: O(32),O(W) náročnost ulož.: O(NW)*S P6 P4 P5 P7 při nejhorším stejná časová náročnost Prostorová horší cca 0(NW)*2-1 P3 P1a P6a P2b P4 P2a P7 P5a P6b P5b P8 P8 P6c P9 P9 Komprimovaný strom Multi-bit trie P1 P3 Skip=1 P2 malé 2 nová pole(skip, segment) prostorová náročnost O(N) P6 Skip=1 P4 P5 Skip=1 Next hop Prefix P1 * P2 1* P3 00* P4 101* P5 111* P6 1000* P7 11101* P8 111001* P7 1000011* P9 Skip=2 P8 Skip=1 P7
Multi-bit trie Bitmapové struktury 0(W/k) 0(2 k N W /k) Lulea efektivní 16x8x8 patent? Další přístupy Bitmapové struktury Tree bitmap CRS-1 patent? Hashovací prefix tabulky Binární prefix range stromy TCAM
Ternary Content adresable memory CEF CAM - pamět speciálně pro paralelní porovnávání TCAM - CAM pro porovnávání hodnot s maskou CEF