3. Síťová vrstva PB156: Počítačové sítě Eva Hladká Slidy připravil: Tomáš Rebok Fakulta informatiky Masarykovy univerzity jaro 2011 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 1 / 81 Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 2 / 81 Přehled Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 3 / 81 Přehled L3. Síťová vrstva – Přehled Proč nestačí L2? nemožnost vybudování geograficky libovolně rozlehlé sítě neuniformní prostředí Co nás nyní čeká. . . představení L3, poskytované služby Internetworking, modely zajištění síťových služeb adresace na L3, přidělování adres protokoly IPv4, ARP, ICMP protokoly IPv6, ICMPv6 směrování, směrovací techniky Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 4 / 81 Přehled L3 z pohledu sítě – kde se pohybujeme? propojování lokálních sítí do větších, komplexních sítí (např. Internet) možnost ustavení komunikačního kanálu mezi „libovolnými stanicemi v Internetu skrze více samostatných fyzických sítí (LANs) tzv. host-to-host delivery Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 5 / 81 Úvod Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 6 / 81 Úvod Úvod síťová vrstva: poskytuje služby pro transportní vrstvu: přijímá segmenty od transportní vrstvy, které transformuje do paketů ve spolupráci s vrstvou datového spoje zajišťuje přenos paketů mezi komunikujícími uzly (i mezi různými fyzickými LAN sítěmi) logicky spojuje samostatné heterogenní LAN sítě vyšším vrstvám poskytuje iluzi uniformního prostředí jediné velké sítě (WAN – Wide Area Network) poskytuje možnost jednoznačné identifikace (adresace) každého PC/zařízení na Internetu zajišťuje směrování procházejících paketů ve spolupráci s vrstvou datového spoje mapuje adresy síťové vrstvy na fyzické adresy (MAC adresy) další služby: multicast Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 7 / 81 Úvod Obrázek: Ilustrace služeb síťové vrstvy. Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 8 / 81 Poskytované služby Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 9 / 81 Poskytované služby Služby Propojování fyzických sítí (Internetworking) iluze uniformního prostředí jediné velké sítě Tvorba paketů (Packetizing) přijaté segmenty transformovány na pakety (IP protokol) Fragmentace paketů (Fragmenting) rozdělování segmentů na pakety s délkou závislou na vlastnostech/schopnostech sítě Adresace (Addressing) adresy entit síťové vrstvy – tzv. IP adresy, jedinečné skrze celou síť pakety obsahují zdrojovou a cílovou IP adresu komunikujících entit Mapování IP adres na/z fyzické adresy (Address Resolution) ARP, RARP protokoly Směrování (Routing) nalezení nejvhodnější cesty mezi komunikujícími entitami, reakce na chyby Metody základního monitoringu stavu sítě (Control Messaging) základní informace o nedoručitelnosti paketů, stavu sítě, uzlů, atp. – ICMP protokol Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 10 / 81 Internetworking Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 11 / 81 Internetworking Propojování sítí (Internetworking) vzájemné propojování celých sítí i jednotlivých kabelových segmentů (hierarchie) propojením vzniká tzv. internetwork, zkráceně internet internet = jakékoliv propojení dvou či více sítí Internet = jméno jedné konkrétní sítě (celosvětového Internetu) důvody pro internetworking: překonání technických omezení/překážek – např. omezený dosah kabelových segmentů optimalizace fungování sítě – snaha regulovat tok dat, zamezení zbytečného šíření provozu zpřístupnění vzdálených zdrojů – přístup ke vzdáleným serverům zvětšení dosahu poskytovaných služeb – elektronická pošta, internetové telefonování, . . . Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 12 / 81 Internetworking Internetworking – obecná podstata rozdíl dle vrstvy, na které propojovací zařízení operuje: fyzická vrstva: opakovač (repeater) – viz minule vrstva datového spoje: můstek (bridge), přepínač (switch) – viz minule síťová vrstva: směrovač (router) – dnes aplikační vrstva: brána (gateway) – v budoucnu Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 13 / 81 Internetworking Internetworking na L3 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 14 / 81 Internetworking Internetworking – modely zajištění síťových služeb přepínání okruhů (Circuit Switching): ustavení přímého fyzického spojení mezi odesílatelem a příjemcem bez potřeby paketizace vrstva L1, využito ve spojovaných sítích spojovaná (connection-oriented) služba přepínání paketů (Packet Switching): zasílání nezávislých datových jednotek (paketů) virtuální kanály (Virtual Circuits Approach): na začátku přenosu ustavena cesta (implementováno na L2/L3) všechny pakety jedné relace putují po stejné trase využito ve WANs, Frame Relay, ATM (viz PV169: Základy přenosu dat) spojovaná (connection-oriented) služba datagramový přístup (Datagram Approach): každý paket obsluhován zcela nezávisle na ostatních nespojovaná (connectionless) služba pakety jsou zde nazývány datagramy Internet Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 15 / 81 Internetworking Internetworking – Datagram Approach Internet na síťové vrstvě využívá datagramový přístup k přepínání paketů, komunikace je nespojovaná. Obrázek: Ilustrace datagramového přístupu k přepínání paketů. Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 16 / 81 Adresace Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 17 / 81 Adresace Adresace na L3 požadavek jednoznačné identifikace každého zařízení připojeného k Internetu nutnost systematického přidělování adres za účelem snadnějšího směrování každému zařízení/rozhraní přiřazena Internetová adresa (IP adresa) IPv4 adresa (32 bitů) vs. IPv6 adresa (128 bitů) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 18 / 81 Adresace IPv4: typy adres IPv4 – typy adres Individuální (unicast) adresy – identifikace jednoho síťového rozhraní identifikace jediného odesílatele/příjemce Broadcast adresy – slouží pro zasílání dat všem možným příjemcům na dané LAN („all-hosts broadcast ) zdrojová adresa datagramu (identifikace odesílatele) je unicastová Skupinové (multicast) adresy – slouží pro adresování skupiny příjemců (síťových rozhraní), kteří o data projevili zájem data směrovači rozesílána všem členům skupiny zdrojová adresa datagramu (identifikace odesílatele) je unicastová Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 19 / 81 Adresace IPv4: Classful Addressing Přidělování adres – Classful Addressing Classful Addressing: zcela první metoda přidělování adres adresní prostor rozdělen do 5 tříd: třída A: 27 sítí, každá z nich 224 uzlů třída B: 214 sítí, každá z nich 216 uzlů třída C: 221 sítí, každá z nich 28 uzlů třída D: multicastové adresy třída E: rezervovaný prostor Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 20 / 81 Adresace IPv4: Classful Addressing Přidělování adres – Classful Addressing NetID vs. HostID Adresa sítě (NetID): identifikuje danou síť (nemůže být přidělena uzlu/rozhraní) tuto identifikaci lze využít pro směrování (viz později) Adresa uzlu/rozhraní (HostID): identifikuje jedinečný uzel v síti NetID Příklad: HostID = 147.251.48.1 ⇒ třída B ⇒ NetID = 147.251.0.0 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 21 / 81 Adresace IPv4: Classful Addressing Problémy Classful adresování nedostatečná granularita – každá třída rozdělena na pevný počet sítí s pevnou maximální velikostí = plýtvání adresním rozsahem organizace chce využít 10 IP adres? Dostane C třídu (256 adres) organizace chce využít 270 IP adres? Dostane B třídu (65536 adres) organizace chce využít 70000 IP adres? Dostane A třídu (2097152 adres) možné řešení: přidělování více síťových adres menší třídy popsané řešení generuje nárůst směrovacích tabulek roste objem směrovacích informací, které musí být zpracovávány při rozhodování o volbě dalšího směru procházejícího paketu nutnost prohledávání tabulek (lineární složitost) Ilustrace problému: organizace s 1500 uzly 1 přidělena adresa třídy B ⇒ zabráno 65536 adres ⇒ 1 záznam ve sm.tabulce 2 přiděleno 8 adres třídy C ⇒ zabráno 2048 adres ⇒ 8 záznamů ve sm.tabulce Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 22 / 81 Adresace IPv4: Classful Addressing Problémy Classful adresování – řešení Subnetting, Supernetting Lze přidělenou adresu sítě dále dělit do menších podsítí? např. rozdělení sítě dle organizačních složek v rámci jedné organizace Subnetting Lze využít skutečnosti, že organizace má přidělen souvislý blok adres určité třídy? a snižovat tak velikost směrovacích tabulek Supernetting Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 23 / 81 Adresace IPv4: Classful Addressing Classful adresování – Subnetting standardní IP adresa poskytuje dvouúrovňovou hierarchii adresa sítě a adresa uzlu Subnetting zavádí možnost tříúrovňové hierarchie adresa sítě, adresa podsítě a adresa uzlu využitelné v nějaké geograficky omezené oblasti (velké organizace, univerzity, ISPs) síť rozdělena na menší podsítě (subnetworks (subnets)) důležitý princip uzavřenosti: „zvenčí (z pohledu Internetu) se jeví jako 1 síť (1 záznam ve sm. tabulkách), podsítě se rozlišují až na hraničním směrovači tj. má pouze lokální platnost, nikoli platnost globální Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 24 / 81 Adresace IPv4: Classful Addressing Classful adresování – Subnetting Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 25 / 81 Adresace IPv4: Classful Addressing Classful adresování – Supernetting Supernetting: pravý opak subnettingu, posouvá pomyslnou dělící čáru mezi oběma složkami IP adresy směrem k vyšším bitům spojuje (agreguje) několik původně samostatných síťových IP adres v jednu výslednou musí však jít o „sousední síťové adresy síťové IP adresy se musí shodovat v určitém počtu vyšších bitů své síťové části a musí vyčerpávat všechny bitové kombinace v příslušném počtu nižších bitů (své síťové části) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 26 / 81 Adresace IPv4: Classful Addressing Classful adresování – Subnetting vs. Supernetting Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 27 / 81 Adresace IPv4: Classful Addressing Classful adresování – Maska sítě/podsítě oba způsoby vyžadují mechanismus pro identifikaci bitů, které identifikují síť v rámci subnettingu nezbytné jen na hraničních směrovačích v rámci supernettingu nezbytné na všech směrovačích využitý mechanismus – maska sítě 32-bitový řetězec (v rámci IPv4) obsahuje 1 v těch bitech, které odpovídají síťové části adresy, 0 tam, kde jde o relativní adresu uzlu v rámci sítě IP adresa uzlu && maska sítě = adresa sítě Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 28 / 81 Adresace IPv4: Classless Addressing Přidělování adres – Classless Addressing do poloviny 90. let adresy přidělovány pouze v rámci tříd nejmenší počet přidělených adres – 256 (třída C) Classless Addressing: zobecnění a rozšíření subnettingu/supernettingu zavádí zcela variabilní délku bloku adresy sítě identifikace sítě = adresa sítě a maska sítě adresy se přidělují hierarchicky umožnění agregace směrování (viz později) ⇒ snaha o minimalizaci velikosti směrovacích tabulek opodstatnění subnettingu zůstává Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 29 / 81 Adresace IPv4: Classless Addressing Classless Addressing – Classless Inter-Domain Routing (CIDR) konvence popisující „pravidla hry – použití IP adres, významu masek, supernetting a subnetting nahrazuje původní „třídní charakter IP adres (třídy A, B a C) IP adresy přidělovány po tzv. CIDR blocích velikost CIDR bloku dána příslušnou maskou možno velmi pružně přizpůsobovat ⇒ snížení tempa vyčerpávání adresového prostoru Důsledek CIDRu: adresy závislé na poskytovateli původně IP adresy nezávislé na způsobu jejich připojení zavedení závislosti poskytovatel získává CIDR blok, který si rozděluje dle svého uvážení vnější směrovače směrují jen na základě CIDR bloku při změně poskytovatele je potřeba síť přeadresovat (přečíslovat) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 30 / 81 Adresace IPv4: Network Address Translation (NAT) Network Address Translation (NAT) další mechanismus pro snížení tempa vyčerpávání adresového prostoru určeno zejména pro domácí uživatele původně připojováni modemy → možnost dynamického přidělování adres nyní ADSL, kabelová připojení – (většinou) trvalá alokace adres časté požadavky na přidělení více IP adres řešení: Network Address Translation (NAT) „skrývání vnitřní sítě za jednu/několik externích adres v rámci vnitřní sítě možnost využít mnoho interních adres rezervované privátní adresy (viz obrázek), unikátní v rámci organizace vedlejší efekt: ochrana vnitřní sítě překlad adres procházejících síťovým prvkem (např. NAT směrovačem) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 31 / 81 Adresace IPv4: Network Address Translation (NAT) Network Address Translation (NAT) – ilustrace Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 32 / 81 Adresace IPv4: Network Address Translation (NAT) Network Address Translation (NAT) – překlad adres Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 33 / 81 Adresace IPv4: Network Address Translation (NAT) Network Address Translation (NAT) – překlad adres II. překlad adres odchozích paketů je triviální překlad adres příchozích paketů vyžaduje dodatečné informace: kterému stroji z vnitřní sítě mají být data přeposlána? překladové tabulky (translation tables) Obrázek: Ukázka překladové tabulky. Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 34 / 81 Adresace IPv4: Vyčerpávání adresového prostoru IPv4 – vyčerpávání adresového prostoru Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 35 / 81 Adresace IPv6 adresy IPv6 adresy adresy využívané protokolem IPv6 (viz dále) (prozatím) finální řešení nedostatku IP adres IPv6 adresa má 128 bitů (= 16 bajtů): 2128 možných adres (≈ 3 × 1038 adres ⇒ ≈ 5 × 1028 adres na každého obyvatele Země) hexadecimální zápis místo dekadického (po dvojicích bajtů oddělených znakem „: ) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 36 / 81 Adresace IPv6 adresy IPv6 adresy – zkracování zápisu Úvodní nuly lze ze zápisu každé skupiny vynechat: 0074 lze psát jako 74, 000F jako F, . . . 3210 nelze zkracovat! Sekvenci po sobě jdoucích nulových skupin lze vynechat: vždy však pouze jednu sekvenci takovýchto nulových skupin! Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 37 / 81 Adresace IPv6 adresy IPv6 adresy – hierarchie cílem opět usnadnění směrování strukturu individuálních IPv6 adres definuje RFC 3587 základní struktura: globální směrovací prefix ≈ adresa sítě adresa podsítě obvykle 16 bitů ⇒ globální prefix 48 bitů prvních 16 bitů obsahuje hodnotu 200116 dalších 16 bitů přiděluje regionální registrátor (RIR) dalších 16 bitů přiděluje lokální registrátor (LIR) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 38 / 81 Adresace IPv6 adresy IPv6 adresy && CIDR IPv6 adresace je pouze classless, třídy neexistují sítě v IPv6 popisovány s využitím notace CIDR (stejně jako v IPv4) např. FDEC:0:0:0:0:BBFF:0:FFFF/60 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 39 / 81 Adresace IPv6 adresy IPv6 adresy – typy adres Individuální (unicast) adresy – totéž co v IPv4, identifikace jednoho síťového rozhraní Skupinové (multicast) adresy – totéž co v IPv4, slouží pro adresování skupin počítačů či jiných síťových zařízení data jsou vždy doručena všem členům skupiny prefix ff00::/8 Výběrové (anycast) adresy – novinka v IPv6 také označují skupinu příjemců data se však doručí jen jedinému jejímu členovi (tomu, který je nejblíže) broadcast adresy IPv4 protokolu se v IPv6 nevyužívají nahrazeny speciálními multicastovými skupinami (např. všechny uzly na dané lince) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 40 / 81 Interakce L3 se spojovou vrstvou (L2) Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 41 / 81 Interakce L3 se spojovou vrstvou (L2) Interakce L3 se spojovou vrstvou (L2) – mapování adres mechanismus doručení dat v IP sítích – hop-by-hop vlastní předání/doručení zprávy na základě fyzických (MAC) adres 2 alternativy: příjemce na stejné LAN jako odesílatel IP datagram obsahuje IP adresu příjemce, rámec L2 vrstvy MAC adresu příjemce příjemce na jiné LAN než odesílatel IP datagram obsahuje IP adresu příjemce, rámec L2 vrstvy MAC adresu směrovače směrovač po přijetí (a zpracování) datagramu jej vloží do nového rámce s MAC adresou dalšího směrovače ve snaze přiblížit se cíli (odtud hop-by-hop) po dosažení cílové LAN platí alternativa 1 (lokální „odesílatel = poslední směrovač) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 42 / 81 Interakce L3 se spojovou vrstvou (L2) Interakce L3 se spojovou vrstvou (L2) – mapování adres II. ⇒ nutnost mapování IP adres na fyzické (MAC) adresy statické mapování vytvoření statické tabulky párů (IP adresa, MAC adresa) obtížně spravovatelné dynamické mapování Address Resolution Protocol (ARP) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 43 / 81 Interakce L3 se spojovou vrstvou (L2) Interakce L3 se spojovou vrstvou (L2) – mapování adres III. Obrázek: Případové ilustrace využití ARP protokolu (hop-by-hop doručení). Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 44 / 81 Interakce L3 se spojovou vrstvou (L2) ARP protokol Interakce L3 se spojovou vrstvou (L2) – ARP protokol protokol pro zjištění MAC adresy uzlu/směrovače na základě IP adresy mechanismus: 1 zaslání tzv. ARP request paketu všem uzlům na dané LAN (broadcast) paket obsahuje IP & MAC adresu odesílatele a IP adresu hledaného uzlu 2 paket zpracován všemi uzly; odpoví jen ten, jehož IP adresa se shoduje s hledanou ostatní paket zahodí 3 hledaný uzel žadateli odpovídá tzv. ARP reply paketem ARP pakety baleny přímo do rámců L2 vrstvy protokol RARP (Reverse Address Resolution Protocol) zpětný překlad MAC adres na IP adresy; již se nevyužívá Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 45 / 81 Interakce L3 se spojovou vrstvou (L2) ARP protokol Interakce L3 se spojovou vrstvou (L2) – ARP protokol II. Obrázek: Ilustrace mechanismu operace ARP protokolu. více viz animace: http://frakira.fi.muni.cz/~jeronimo/vyuka/OsiSchool_ARP.swf Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 46 / 81 IP protokol Struktura přednášky 1 Přehled 2 Úvod 3 Poskytované služby 4 Internetworking 5 Adresace IPv4: typy adres IPv4: Classful Addressing IPv4: Classless Addressing IPv4: Network Address Translation (NAT) IPv4: Vyčerpávání adresového prostoru IPv6 adresy 6 Interakce L3 se spojovou vrstvou (L2) ARP protokol 7 IP protokol IP protokol verze 4 (IPv4) ICMP IP protokol verze 6 (IPv6) ICMPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 IPv6: Literatura Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 47 / 81 IP protokol Internet Protocol (IP protokol) nejrozšířenější protokol síťové vrstvy doprava dat (datagramů) na místo jejich určení, a to i přes mezilehlé uzly (směrovače) – host-to-host delivery uzly/rozhraní v rámci IP protokolu jednoznačně identifikovány IP adresami využívá datagramový přístup k přepínání paketů, komunikace je nespojovaná ⇒ směrování (příští přednáška) poskytuje nespolehlivou (tzv. best-effort) službu doplněn dalšími podpůrnými protokoly (ICMP, ARP, RARP, IGMP) ošetření nestandardních situací, šíření informací potřebných ke korektnímu směrování, identifikace rozhraní na LAN atd. navržen a standardizován ve dvou verzích: Internet Protocol verze 4 (IPv4) – 1981, RFC 791 Internet Protocol verze 6 (IPv6) – 1998, RFC 2460 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 48 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 datagram Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 49 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 datagram II. Version (VER) – verze IP protokolu Header length (HLEN) – délka hlavičky IP datagramu (ve 4B slovech) nezbytné kvůli poli Option (proměnná délka datagramu) Differentiated services (DS), také Type of service (TOS) – třída datagramu v rámci kvality služby (QoS) nezbytné pro odlišení „důležitých (řídící datagramy, provoz v reálném čase) a „méně důležitých datagramů později (konec semestru) Total length – délka celého IP datagramu (v B) max. 216 − 1 = 65535 bajtů Identification, Flags, Offset – viz Fragmentace v IPv4, slide 55 Time to live (TTL) – řízení maximálního počtu skoků (= směrovačů) navštívených datagramem odesílací uzel vloží číslo (≈ 2× největší počet skoků mezi libovolnými dvěma uzly) po průchodu směrovačem TTL dekrementováno o 1 pokud po dekrementování platí TTL = 0, datagram je zahozen nezbytné pro zamezení vzniku „bloudících datagramůEva Hladká (FI MU) 3. Síťová vrstva jaro 2011 50 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 datagram III. Protocol – identifikace protokolu vyšší vrstvy využívajícího služeb IP vrstvy nezbytné pro specifikaci cílového protokolu, kterému má být datagram doručen forma multiplexingu/demultiplexingu identifikátory určeny v online databázi asociace IANA např. 1 = ICMP, 2 = IGMP, 6 = TCP, 17 = UDP, atd. viz http://www.iana.org/assignments/protocol-numbers Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 51 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 datagram IV. Header checksum – kontrolní součet hlavičky IP datagramu bez dat data (resp. transportní protokoly) mají vlastní kontrolní součty hlavní důvod pro zdvojení: nutnost přepočítávání kontrolního součtu na směrovačích díky proměnlivým polím IP datagramu (např. TTL) ⇒ počítání kontrolního součtu jen hlavičky = úspora času (data se stejně nemění) Source IP address, Destination IP address – 32-bitová IPv4 adresa identifikující odesílací/přijímající uzel Options – volitelná součást IP datagramů, určeno zejména pro budoucí rozšíření IPv4 Data – vlastní přenášená data Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 52 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 – fragmentace datagramů datagram při cestě k cíli prochází různými sítěmi ne všechny sítě (resp. využité L2 protokoly) mohou přenášet data stejné velikosti Maximum Transfer Unit (MTU) – maximální velikost dat, které lze přenést využitým L2 protokolem určuje maximální velikost přenositelného IP datagramu (Total size) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 53 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 – fragmentace datagramů II. situace: zdrojový uzel chce odeslat datagram, který je větší než MTU výstupní linky směrovač přijme datagram, který je větší než MTU výstupní linky řešení: provedení tzv. fragmentace IP datagramu původní datagram je rozdělen na několik menších datagramů (tzv. fragmenty) každý fragment získá svou vlastní IP hlavičku (= stane se z něj nový, plnohodnotný datagram) fragmenty na cílovém uzlu složeny do původního datagramu (před předáním transportnímu protokolu) složení fragmentů do původního datagramu vyžaduje: identifikaci datagramu, kterému fragmenty náleží znalost počtu fragmentů znalost pozice každého fragmentu v původním datagramu využití polí IP hlavičky: Identification, Flags a Offset Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 54 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 – fragmentace datagramů III. Identification – pole identifikuje původní datagram, kterému fragmenty náleží tj. všechny fragmenty jednoho datagramu mají stejné identifikační číslo Flags – 3-bitová hodnota: 1 bit rezervovaný do-not-fragment bit – hodnota 1 = datagram nesmí být fragmentován (v případě nutnosti generována ICMP zpráva – viz dále) more-fragment bit – hodnota 1 = fragment není posledním fragmentem (0 určuje poslední fragment daného datagramu) Offset – relativní pozice fragmentu v původním datagramu 13 bitů ⇒ offset max. 8191 ⇒ nelze pokrýt větší datagramy ⇒ jednotka offsetu stanovena na 8 B Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 55 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 – fragmentace datagramů IV. Obrázek: Ukázka fragmentace 4000B datagramu do 3 fragmentů. Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 56 / 81 IP protokol IP protokol verze 4 (IPv4) IPv4 – fragmentace datagramů V. Kde se fragmentace provádí? na zdrojovém uzlu na směrovači/směrovačích Kde se provádí skládání fragmentů? pouze na cílovém uzlu ztráta fragmentu = ztráta datagramu na směrovačích nelze skládat ze dvou důvodů: zbytečná zátěž směrovače fragmenty putují sítí nezávisle na sobě (tj. i jinými cestami) Možno provádět vícenásobnou fragmentaci „fragmentaci fragmentu otázka: jak bude vypadat hlavička fragmentů fragmentu? Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 57 / 81 IP protokol ICMP Internet Control Message Protocol (ICMP) IP protokol poskytuje nespolehlivou (best-effort) službu bez mechanismů pro informování odesílatele o vzniklých chybách bez podpůrných mechanismů pro zjišťování stavu sítě Internet Control Message Protocol (ICMP) RFC 792 doprovodný protokol IP protokolu poskytuje informace o chybách při přenosu IP datagramů poskytuje základní informace o stavu sítě přestože je ICMP protokolem síťové vrstvy, zprávy nejsou předávány linkové vrstvě, ale baleny do IP protokolu hodnota pole Protocol v hlavičce IP datagramu nastavena na 1 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 58 / 81 IP protokol ICMP Internet Control Message Protocol (ICMP) – hlavička Aktuální přehled definovaných typů ICMP zpráv dostupný na adrese http://www.iana.org/assignments/icmp-parameters Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 59 / 81 IP protokol ICMP Internet Control Message Protocol (ICMP) – příklady zpráv oznamy o chybách: Destination unreachable – „Destination může být protokol, port, uzel nebo celá síť Time exceeded – informace o vypršení TTL či informace o vypršení času pro znovusložení fragmentů IP datagramu dotazy na stav sítě/uzlu: Echo request/reply – požadavek na odpověď zprávy obsahují část paketu, který způsobil chybu na který se váže odpověď přímé využití ICMP v aplikacích: program ping – využití ICMP Echo request/reply program traceroute – využití ICMP Time exceeded (TTL expired) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 60 / 81 IP protokol ICMP Internet Control Message Protocol (ICMP) – omezení ochrana proti rekurzivnímu generování: Chybový ICMP paket není generován jako reakce na: ICMP chybu broadcast nebo multicast zprávu poškozenou IP hlavičku (špatná cílová adresa) chybu fragmentu (kromě prvního) generování ICMP zpráv často výkonnostně omezeno Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 61 / 81 IP protokol IP protokol verze 6 (IPv6) IP protokol verze 6 (IPv6) – Proč nový protokol? hlavní impulz pro návrh nového IP protokolu: relativně rychlé vyčerpávání adresního prostoru IPv4 protokolu další důvody: problémy IPv4, které vyvstaly s rozvojem Internetu, zejména slabá podpora přenosů aplikací reálného času žádná podpora zabezpečené komunikace na úrovni IP žádná podpora autokonfigurace zařízení žádná podpora mobility atp. (mnoho vlastností do IPv4 zpětně doimplementováno) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 62 / 81 IP protokol IP protokol verze 6 (IPv6) IP protokol verze 6 (IPv6) – vlastnosti rozšířený adresní prostor – 128-bitová IPv6 adresa, 2128 jedinečných adres jednodušší formát hlavičky – základní 40B hlavička obsahující pouze nejnutnější informace možnosti dalšího rozšíření – skrze tzv. rozšiřující hlavičky podpora přenosů reálného času – značkování toků, prioritizace provozu podpora zabezpečení přenosu – podpora autentizace, šifrování a verifikace integrity přenášených dat podpora mobility – skrze tzv. domácí agenty podpora autokonfigurace zařízení – stavová a bezstavová konfigurace Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 63 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 datagram – základní hlavička pevná velikost základní hlavičky (40 B) kontrolní součet, volby (options) a fragmentační informace nejsou součástí základní hlavičky volby (options) a fragmentační informace možno zajistit skrze rozšiřující hlavičky kontrolní součet na L3 zmizel bez náhrady (zajištěn na L2 a L4) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 64 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 datagram – základní hlavička II. Version (VER) – verze IP protokolu (nyní 6) Priority (PRI), také Traffic Class – priorita datagramu (zařazení do určité přepravní třídy) Flow label – identifikace proudu datagramů od jednoho odesílatele ke stejnému cíli se stejnými vlastnostmi původně pro podporu aplikací v reálném čase, aktuálně nevyužito Payload length – celková délka IPv6 datagramu (bez základní hlavičky) Next header – hlavička transportního protokolu nebo rozšiřující hlavička Hop limit – ≈ TTL v IPv4 Source/Destination address – IPv6 adresa zdrojového/cílového uzlu Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 65 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 datagram – rozšiřující hlavičky Definováno několik rozšiřujících hlaviček např. Hop-By-Hop Options (volby pro všechny), Routing (směrování), Fragment (fragmentace), Encapsulating Security Payload (šifrování obsahu), Authentication Header (autentizace), atd. Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 66 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora zabezpečených přenosů implementace zabezpečené komunikace na síťové vrstvě označováno jako IPSec původní IPv4 zcela ignoruje (doimplementováno dodatečně) v IPv6 povinná poskytované služby: autentizace dat – cílem je ověřit, že data odeslal skutečně ten, kdo to o sobě tvrdí. Navíc zaručuje, že obsah datagramu je původní a nebyl během průchodu sítí změněn. šifrování dat – umožňuje utajit obsah korespondence (data nesená v zašifrovaných datagramech dokáže rozluštit jen jejich příjemce) dvě rozšiřující hlavičky: AH (Authentication Header) – autentizace datagramu (ověření pravosti jeho adres a obsahu) ESP (Encapsulating Security Payload) – autentizace datagramu + možnost šifrování obsahu Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 67 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora zabezpečených přenosů II. AH (Authentication Header) 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 paketů, které se mu podařilo zachytit ESP (Encapsulating Security Payload) š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ě 2 režimy ochrany: transportní režim – bezpečnostní hlavičky se vkládají přímo jako součást datagramu mezi jeho rozšiřující hlavičky tunelující režim – celý stávající datagram se zabalí jako data do nového datagramu, který je opatřen novými hlavičkami, včetně bezpečnostních Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 68 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora zabezpečených přenosů III. Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 69 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora zabezpečených přenosů IV. bezpečnostní asociace (Security Association, SA) virtuální spojení dvou počítačů, které zajišťuje zabezpečený přenos dat součástí jsou všechny potřebné informace použitý bezpečnostní protokol (AH nebo ESP, nikoli oba) a jeho režim, šifrovací algoritmus a klíče platné pro toto spojení, čítače, doba životnosti, ochranné prvky proti opakování, atp. jsou jednosměrné správa bezpečnostních asociací: dříve: Internet Security Association and Key Management Protocol (ISAKMP, RFC 2408) pro obecný rámec vzájemné dohody o parametrech bezpečnostních asociací, a Internet Key Exchange (IKE) verze 1 (RFC 2409) pro výměnu klíčů nyní: Internet Key Exchange (IKEv2) Protocol (RFC 4306) kompletní funkce potřebné pro správu bezpečnostních asociací a nastavení jejich parametrů i používaných klíčů Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 70 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora mobility nosná myšlenka: i pohyblivé zařízení je někde „doma existuje pro něj tzv. domovská síť adresy: domácí adresa (Home Address) – neměnná adresa, pod níž je stroj trvale dostupný (i když není v domovské síti) dočasná adresa (Care-of Address) – měnící se adresa (závislá na síti, kde se aktuálně zařízení nachází) domácí agent (home agent) – jeden ze směrovačů v domácí síti, jehož prostřednictvím je mobilní zařízení trvale dosažitelné stahuje na sebe datagramy směřující k mobilnímu uzlu a předává mu je tunelem optimalizace cesty – seznámení vzdálené strany s aktuální dočasnou adresou mobilního uzlu cílem je zefektivnění komunikace není nezbytná (komunikace může po celou dobu probíhat prostřednictvím domácího agenta) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 71 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora mobility II. Obrázek: Ilustrace funkce domácího agenta v IPv6. (Satrapa P., IPv6) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 72 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – podpora autokonfigurace stavová konfigurace – základem server spravující konfigurační parametry, které pak na požádání sděluje klientům mechanismus ala RARP → BOOTP → DHCP navrženo DHCPv6 bezstavová konfigurace – zcela nový způsob konfigurace IPv6 klientů předpokládá se, že v síti sídlí „ctnostní mudrcové (směrovače), kteří vědí vše potřebné čas od času sdělí, jaká je situace v sítí – tzv. ohlášení směrovače (Router Advertisements) ohlášení informují o všem potřebném (informace o síti – prefix, implicitní směrovač, atp.) nově příchozí klient čeká na ohlášení nebo si ohlášení aktivně vyžádá na základě ohlášení si vypočte vlastní IPv6 adresu (prefix + L2 adresa) nezbytné doplnit mechanismem pro oznamy lokálních DNS serverů (např. skrze DHCPv6) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 73 / 81 IP protokol IP protokol verze 6 (IPv6) IPv6 – fragmentace datagramů stejný mechanismus jako v IPv4 rozdíl: vnitřní uzly (směrovače) nesmí fragmentovat fragmentovat smí pouze zdrojový uzel cílem je snížení zátěže vnitřních uzlů ⇒ nutnost zjištění maximální velikosti paketů skrze celou cestu k cíli mechanismus Path MTU Discovery = zjištění minimálního MTU využitelného pro přenos dat mezi dvěma uzly provedeno před vlastní komunikací využití Packet too big chybových zpráv protokolu ICMP (ICMPv6) – obsahují informaci o vyžadovaném MTU problém s dynamickými cestami při déletrvajících přenosech nutnost pravidelného opakování Path MTU Discovery Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 74 / 81 IP protokol ICMPv6 IPv6 – podpůrné protokoly ICMP protokol verze 6 (ICMPv6) založen na stejných principech/mechanismech jako ICMPv4 navíc zahrnuje funkcionalitu protokolů ARP a IGMP s využitím Neighbour Discovery protokolu operujícím nad ICMPv6 Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 75 / 81 IP protokol ICMPv6 ICMPv6 v IPv6 hlavičce identifikován hodnotou 58 v položce Next header formát ICMPv6 hlavičky shodný s ICMPv4 zprávy identifikovány dvojicí (typ, kód) zprávy rozděleny do dvou tříd: chybové – typ leží v intervalu (0, 127) informační – typ leží v intervalu (128, 255) aktuální přehled definovaných typů ICMPv6 zpráv dostupný na adrese http://www.iana.org/assignments/icmpv6-parameters Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 76 / 81 IP protokol Mechanismy pro podporu přechodu IPv4 → IPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 při návrhu IPv6 se počítalo s pozvolným přechodem z IPv4 ⇒ nezbytný mechanismus koexistence IPv4 a IPv6 3 základní skupiny: Dvojí zásobník – příslušné zařízení podporuje jak IPv4, tak IPv6 Tunelování – IPv6 datagramy zabaleny jako data do IPv4 datagramu, který daná síť dokáže přepravit Translátory – zařízení pro překlad IPv6 datagramů do IPv4 datagramů (směr klient → server) a pro překlad odpovědi serveru (naopak, z IPv4 do IPv6) Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 77 / 81 IP protokol Mechanismy pro podporu přechodu IPv4 → IPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 Dvojí zásobník Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 78 / 81 IP protokol Mechanismy pro podporu přechodu IPv4 → IPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 Tunelování Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 79 / 81 IP protokol Mechanismy pro podporu přechodu IPv4 → IPv6 Mechanismy pro podporu přechodu IPv4 → IPv6 Translátory Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 80 / 81 IP protokol IPv6: Literatura IPv6: Literatura příslušná RFC Satrapa P.: IPv6. Sdružení CZ.NIC, 2008. Dostupné online: http://knihy.nic.cz/files/nic/edice/ pavel_satrapa_ipv6_2008.pdf Blanchet M.: Migrating to IPv6. John Wiley & Sons, Ltd., 2005. http://www.ipv6.cz Eva Hladká (FI MU) 3. Síťová vrstva jaro 2011 81 / 81