IPv4 - IPv4

Internetový protokol verze 4
Protokol stack
IPv4 Packet-en.svg
Paket IPv4
Účel internetový protokol
Vývojáři DARPA
Představeno 1981
OSI vrstva Síťová vrstva
RFC RFC 791

Internet Protocol verze 4 ( IPv4 ) je čtvrtou verzí internetového protokolu (IP). Je to jeden z hlavních protokolů standardních metod práce s internetem v Internetu a dalších paketově přepínaných sítích. IPv4 byla první verze nasazená pro produkci na SATNET v roce 1982 a na ARPANET v lednu 1983. I přes pokračující nasazení nástupnického protokolu IPv6 se stále používá ke směrování většiny internetového provozu .

IPv4 používá 32- Pro bitový adresový prostor, který poskytuje 4,294,967,296 (2 32 ) unikátních adres, ale velké bloky jsou vyhrazeny pro speciální způsob sítí.

Dějiny

Vrstva IP byla původně oddělena ve v3 TCP pro zlepšení návrhu a stabilizována ve verzi 4. IPv4 je popsán v publikaci IETF RFC 791 (září 1981), nahrazující dřívější definici (RFC 760, leden 1980). V březnu 1982 americké ministerstvo obrany prohlásilo TCP/IP za standard všech vojenských počítačových sítí.

Účel

Internet Protocol je protokol, který definuje a umožňuje práci na internetu na internetové vrstvě sady Internet Protocol Suite . V podstatě tvoří internet. Využívá systém logického adresování a provádí směrování , což je předávání paketů ze zdrojového hostitele na další směrovač, který je o skok blíže k zamýšlenému cílovému hostiteli v jiné síti.

IPv4 je protokol bez připojení a funguje na modelu nejlepšího doručení v tom smyslu, že nezaručuje doručení ani nezajišťuje správné sekvenování nebo zamezení duplicitního doručování. Tyto aspekty, včetně integrity dat, jsou řešeny přenosovým protokolem vyšší vrstvy , jako je TCP ( Transmission Control Protocol ).

Adresování

Rozklad reprezentace adresy IPv4 se čtyřmi tečkami na její binární hodnotu

IPv4 používá 32bitové adresy, které omezují adresní prostor na 4 294 967 296 (2 32 ) adres.

IPv4 rezervuje speciální bloky adres pro soukromé sítě (~ 18 milionů adres) a vícesměrové adresy (~ 270 milionů adres).

Zastoupení adres

Adresy IPv4 mohou být zastoupeny v libovolném zápisu vyjadřujícím 32bitovou celočíselnou hodnotu. Nejčastěji se zapisují v desítkové desítkové notaci , která se skládá ze čtyř oktetů adresy vyjádřených jednotlivě v desetinných číslech a oddělených tečkami .

Například adresa IP se čtyřmi tečkami 192.0.2.235 představuje 32bitové desetinné číslo 3221226219, které je v hexadecimálním formátu 0xC00002EB. To může být také vyjádřeno v hexadecimálním formátu s tečkami jako 0xC0.0x00.0x02.0xEB nebo s osmičkovými bajtovými hodnotami jako 0300.0000.0002.0353.

Zápis CIDR kombinuje adresu s její předponou směrování v kompaktním formátu, ve kterém za adresou následuje znak lomítka (/) a počet úvodních po sobě jdoucích 1 bitů v předponě směrování (maska ​​podsítě).

Když byla praktikována síťová komunikace, běžně se používaly jiné reprezentace adres . Například adresa zpětné smyčky 127.0.0.1 se běžně zapisuje jako 127.1 , protože patří do sítě třídy A s osmi bity pro masku sítě a 24 bity pro číslo hostitele. Pokud je v adrese v tečkovaném zápisu zadáno méně než čtyři čísla, je s poslední hodnotou zacházeno jako s celým počtem bajtů, které jsou potřebné k vyplnění adresy na čtyři oktety. Adresa 127.65530 je tedy ekvivalentem 127.0.255.250 .

Přidělení

V původním návrhu IPv4 byla IP adresa rozdělena na dvě části: síťový identifikátor byl nejvýznamnějším oktetem adresy a identifikátor hostitele byl zbytek adresy. Ten byl také nazýván odpočinkovým polem . Tato struktura umožňovala maximálně 256 síťových identifikátorů, což se rychle ukázalo jako nedostatečné.

K překonání tohoto limitu byl nejvýznamnější oktet adresy předefinován v roce 1981 za účelem vytvoření tříd sítě v systému, který se později stal známým jako classful networking . Revidovaný systém definoval pět tříd. Třídy A, B a C měly různé bitové délky pro identifikaci sítě. Zbytek adresy byl použit jako dříve k identifikaci hostitele v síti. Kvůli různým velikostem polí v různých třídách měla každá síťová třída jinou kapacitu pro adresování hostitelů. Kromě tří tříd pro adresování hostitelů byla definována třída D pro adresování vícesměrového vysílání a třída E byla vyhrazena pro budoucí aplikace.

Rozdělení stávajících klasických sítí do podsítí začalo v roce 1985 vydáním RFC  950 . Toto rozdělení bylo flexibilnější zavedením masek podsítě s proměnnou délkou (VLSM) v RFC  1109 v roce 1987. V roce 1993 na základě této práce zavedl RFC  1517 Classless Inter-Domain Routing (CIDR), který vyjadřoval počet bitů (od nejvýznamnějších ), například /24, a schéma založené na třídě bylo naopak nazváno třídní . CIDR byl navržen tak, aby umožňoval rozdělení libovolného adresního prostoru tak, aby uživatelům bylo možné přidělit menší nebo větší bloky adres. Hierarchickou strukturu vytvořenou CIDR spravuje úřad Internet Assigned Numbers Authority (IANA) a regionální internetové registry (RIR). Každý RIR spravuje veřejně prohledávatelnou databázi WHOIS, která poskytuje informace o přiřazení IP adres.

Adresy pro speciální použití

Internet Engineering Task Force (IETF) a IANA mají omezený z obecné použití různých rezervovaných IP adres, pro zvláštní účely. Tyto adresy se používají zejména pro vícesměrový provoz a poskytují adresní prostor pro neomezené použití v soukromých sítích.

Speciální bloky adres
Adresní blok Rozsah adres Počet adres Rozsah Popis
0,0.0,0/8 0,0.0,0–0,255,255,255 16 777 216 Software Aktuální síť (platí pouze jako adresa zdroje).
10.0.0.0/8 10.0.0.0–10.255.255.255 16 777 216 Soukromá síť Používá se pro místní komunikaci v rámci soukromé sítě .
100,64.0.0/10 100.64.0.0–100.127.255.255 4 194 304 Soukromá síť Sdílený adresní prostor pro komunikaci mezi poskytovatelem služeb a jeho předplatiteli při použití NAT na úrovni dopravce .
127.0.0.0/8 127.0.0.0–127.255.255.255 16 777 216 Hostitel Používá se pro adresy zpětné smyčky místnímu hostiteli.
169,254.0.0/16 169.254.0.0–169.254.255.255 65 536 Podsíť Používá se pro lokální adresy propojení mezi dvěma hostiteli na jednom propojení, pokud není zadána žádná IP adresa, která by byla normálně získána ze serveru DHCP .
172,16.0.0/12 172.16.0.0–172.31.255.255 1 048 576 Soukromá síť Používá se pro místní komunikaci v rámci soukromé sítě.
192.0.0.0/24 192.0.0.0–192.0.0.255 256 Soukromá síť Přiřazení protokolu IETF.
192.0.2.0/24 192.0.2.0–192.0.2.255 256 Dokumentace Přiřazeno jako TEST-NET-1, dokumentace a příklady.
192,88,99,0/24 192.88.99.0–192.88.99.255 256 Internet Rezervováno. Dříve používané pro relé IPv6 až IPv4 (včetně bloku adres IPv6 2002 ::/16 ).
192.168.0.0/16 192.168.0.0–192.168.255.255 65 536 Soukromá síť Používá se pro místní komunikaci v rámci soukromé sítě.
198,18.0.0/15 198.18.0.0–198.19.255.255 131 072 Soukromá síť Používá se pro srovnávací testování mezisíťové komunikace mezi dvěma samostatnými podsítěmi.
198.51.100.0/24 198.51.100.0–198.51.100.255 256 Dokumentace Přiřazeno jako TEST-NET-2, dokumentace a příklady.
203.0.113.0/24 203.0.113.0–203.0.113.255 256 Dokumentace Přiřazeno jako TEST-NET-3, dokumentace a příklady.
224.0.0.0/4 224.0.0.0–239.255.255.255 268 435 456 Internet Používá se pro vícesměrové vysílání IP . (Bývalá síť třídy D).
233,252.0.0/24 233,252.0,0-233,252.0,255 256 Dokumentace Přiřazeno jako MCAST-TEST-NET, dokumentace a příklady.
240.0.0.0/4 240.0.0.0–255.255.255.254 268 435 455 Internet Vyhrazeno pro budoucí použití. (Bývalá síť třídy E).
255.255.255.255/32 255.255.255.255 1 Podsíť Vyhrazeno pro cílovou adresu „omezeného vysílání “.

Soukromé sítě

Z přibližně čtyř miliard adres definovaných v IPv4 je asi 18 milionů adres ve třech rozsazích vyhrazeno pro použití v soukromých sítích . Adresy paketů v těchto rozsazích nejsou na veřejném internetu směrovatelné; jsou ignorovány všemi veřejnými routery. Soukromí hostitelé proto nemohou přímo komunikovat s veřejnými sítěmi, ale vyžadují pro tento účel překlad síťové adresy na směrovací bráně.


Vyhrazené rozsahy privátní sítě IPv4
název CIDR blok Rozsah adres Počet adres Klasický popis
24bitový blok 10.0.0.0/8 10.0.0.0 - 10.255.255.255 16 777 216 Single Class A.
20bitový blok 172,16.0.0/12 172.16.0.0 - 172.31.255.255 1 048 576 Souvislý rozsah 16 bloků třídy B.
16bitový blok 192.168.0.0/16 192.168.0.0 - 192.168.255.255 65 536 Souvislý rozsah 256 bloků třídy C.

Protože dvě soukromé sítě, např. Dvě pobočky, nemohou přímo spolupracovat prostřednictvím veřejného internetu, musí být tyto dvě sítě propojeny přes internet prostřednictvím virtuální privátní sítě (VPN) nebo IP tunelu , který zapouzdřuje pakety včetně jejich hlaviček obsahujících soukromé adresy, ve vrstvě protokolu při přenosu přes veřejnou síť. Zapouzdřené pakety mohou být navíc šifrovány pro přenos přes veřejné sítě k zabezpečení dat.

Link-local adresování

RFC 3927 definuje speciální blok adres 169.254.0.0/16 pro místní adresování. Tyto adresy jsou platné pouze pro odkaz (například segment místní sítě nebo připojení point-to-point) přímo připojený k hostiteli, který je používá. Tyto adresy nelze směrovat. Stejně jako soukromé adresy nemohou být tyto adresy zdrojem ani cílem paketů procházejících internetem. Tyto adresy se primárně používají pro automatickou konfiguraci adres ( Zeroconf ), když hostitel nemůže získat IP adresu ze serveru DHCP nebo jiných interních konfiguračních metod.

Když byl blok adres rezervován, neexistovaly žádné standardy pro automatickou konfiguraci adres. Microsoft vytvořil implementaci s názvem Automatic Private IP Addressing (APIPA), která byla nasazena na miliony strojů a stala se de facto standardem . O mnoho let později, v květnu 2005, definoval IETF formální standard v RFC 3927 s názvem Dynamic Configuration of IPv4 Link-Local Addresses .

Loopback

Síť třídy A 127.0.0.0 (síť bez tříd 127.0.0.0/8) je vyhrazena pro zpětné smyčky . IP pakety, jejichž zdrojové adresy patří do této sítě, by se nikdy neměly objevovat mimo hostitele. Pakety přijaté na rozhraní bez zpětné smyčky se zdrojem zpětné smyčky nebo cílovou adresou musí být zrušeny.

První a poslední adresa podsítě

První adresa v podsíti se používá k identifikaci samotné podsítě. Na této adrese jsou všechny hostitelské bity 0 . Aby se předešlo nejednoznačnosti v reprezentaci, je tato adresa vyhrazena. Poslední adresa má všechny hostitelské bity nastaveny na 1 . Používá se jako adresa místního vysílání pro současné odesílání zpráv na všechna zařízení v podsíti. U sítí o velikosti /24 nebo větší končí adresa vysílání vždy na 255.

Například v podsíti 192.168.5.0/24 (maska ​​podsítě 255.255.255.0) se identifikátor 192.168.5.0 používá k označení celé podsítě. Adresa vysílání sítě je 192.168.5.255.

Binární forma Tečková desetinná notace
Síťový prostor 11000000.10101000.00000101.00000000 192,168,5.0
Adresa vysílání 11000000.10101000.00000101.11111111 192,168,5,255
Červeně je zobrazena hostitelská část IP adresy; druhá část je předpona sítě. Hostitel se převrátí (logicky NE), ale předpona sítě zůstane nedotčena.

To však neznamená, že každou adresu končící 0 nebo 255 nelze použít jako adresu hostitele. Například v podsíti /16 192.168.0.0/255.255.0.0, což je ekvivalentní rozsahu adres 192.168.0.0–192.168.255.255, je adresa vysílání 192.168.255.255. Pro hostitele lze použít následující adresy, přestože končí na 255: 192.168.1.255, 192.168.2.255 atd. Také 192.168.0.0 je síťový identifikátor a nesmí být přiřazeno k rozhraní. Adresy 192.168.1.0, 192.168.2.0 atd. Mohou být přiřazeny, přestože končí na 0.

V minulosti došlo ke konfliktu mezi síťovými adresami a vysílacími adresami, protože některý software používal nestandardní vysílací adresy s nulami místo jedniček.

V sítích menších než /24 nemusí vysílací adresy nutně končit číslem 255. Například podsíť CIDR 203.0.113.16/28 má vysílací adresu 203.0.113.31.

Binární forma Tečková desetinná notace
Síťový prostor 11001011.00000000.01110001.00010000 203.0.113.16
Adresa vysílání 11001011.00000000.01110001.00011111 203.0.113.31
Červeně je zobrazena hostitelská část IP adresy; druhá část je předpona sítě. Hostitel se převrátí (logicky NE), ale předpona sítě zůstane nedotčena.

Jako zvláštní případ má síť a /31 kapacitu pouze pro dva hostitele. Tyto sítě se obvykle používají pro připojení point-to-point. Pro tyto sítě neexistuje síťový identifikátor ani vysílací adresa.

Rozlišení adresy

Hostitelé na internetu jsou obvykle známí pod jmény, např. Www.example.com, nikoli primárně podle své IP adresy, která se používá pro směrování a identifikaci síťového rozhraní. Využití doménových jmen vyžaduje překlady, zvané řešení , jejich adres a naopak. To je analogické hledání telefonního čísla v telefonním seznamu pomocí jména příjemce.

Překlad mezi adresami a názvy domén provádí Domain Name System (DNS), hierarchický distribuovaný systém pojmenování, který umožňuje subdelegovat obory názvů na jiné servery DNS.

Vyčerpání adresního prostoru

Od 80. let 20. století bylo zřejmé, že se skupina dostupných adres IPv4 vyčerpává rychlostí, která se v původním návrhu sítě původně nepředpokládala. Mezi hlavní tržní síly, které urychlily vyčerpání adres, patřil rychle rostoucí počet uživatelů internetu, kteří stále častěji používali mobilní výpočetní zařízení, jako jsou přenosné počítače , osobní digitální asistenti (PDA) a chytré telefony s datovými službami IP. Vysokorychlostní přístup k internetu byl navíc založen na vždy zapnutých zařízeních. Hrozba vyčerpání motivovala zavedení řady nápravných technologií, jako jsou metody Classless Inter-Domain Routing (CIDR) do poloviny 90. let minulého století, všudypřítomné používání překladu síťových adres (NAT) v systémech poskytovatelů přístupu k síti a přísné používání- alokační zásady založené na regionálních a místních internetových registrech.

Skupina primárních adres na internetu, spravovaná IANA, byla vyčerpána 3. února 2011, kdy bylo pěti RIR přiděleno posledních pět bloků . APNIC byl první RIR, který 15. dubna 2011 vyčerpal svůj regionální fond, s výjimkou malého množství adresního prostoru vyhrazeného pro přechodové technologie na IPv6, který má být přidělen v rámci omezené politiky.

Dlouhodobým řešením řešení vyčerpání byla v roce 1998 specifikace nové verze internetového protokolu IPv6 . Poskytuje výrazně větší adresní prostor, ale také umožňuje lepší agregaci tras po internetu a nabízí koncovým uživatelům velké alokace podsítí s minimálně 2 64 adresami hostitelů. IPv4 však není přímo kompatibilní s IPv6, takže hostitelé pouze IPv4 nemohou přímo komunikovat s hostiteli pouze IPv6. S postupným ukončováním experimentální sítě 6bone počínaje rokem 2004 bylo v roce 2006 zahájeno trvalé formální nasazení IPv6. Očekává se, že dokončení nasazení IPv6 bude vyžadovat značný čas, takže jsou nezbytné přechodné přechodové technologie, které umožní hostitelům účast na internetu pomocí obě verze protokolu.

Struktura paketu

IP paket se skládá ze sekce záhlaví a datové části. IP paket nemá žádný datový kontrolní součet ani jinou zápatí za datovou sekcí. Spojovací vrstva obvykle zapouzdřuje IP pakety do rámců zápatím CRC, které detekuje většinu chyb, mnoho protokolů transportní vrstvy přenášených IP má také vlastní kontrolu chyb.

Záhlaví

Hlavička paketu IPv4 se skládá ze 14 polí, z nichž je 13 požadovaných. 14. pole je volitelné a příhodně pojmenované: možnosti. Pole v záhlaví jsou naplněna nejvýznamnějším bajtem jako prvním ( big endian ) a pro diagram a diskusi jsou nejvýznamnější bity považovány za první ( číslování MSB 0 bitů ). Nejvýznamnější bit je očíslován 0, takže pole verze se ve skutečnosti nachází například ve čtyřech nejvýznamnějších bitech prvního bajtu.

Formát záhlaví IPv4
Ofsety Oktet 0 1 2 3
Oktet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Verze IHL DSCP ECN Celková délka
4 32 Identifikace Vlajky Ofset fragmentu
8 64 Čas žít Protokol Kontrolní součet záhlaví
12 96 IP adresa zdroje
16 128 Cílová IP adresa
20 160 Možnosti (pokud IHL> 5)
60 480
Verze
První pole záhlaví v IP paketu je pole čtyřbitové verze. U IPv4 se to vždy rovná 4.
Délka internetového záhlaví (IHL)
Záhlaví IPv4 má proměnnou velikost díky volitelnému 14. poli (možnosti). Pole IHL obsahuje velikost záhlaví IPv4, má 4 bity, které udávají počet 32bitových slov v záhlaví. Minimální hodnota pro toto pole je 5, což udává délku 5 × 32 bitů = 160 bitů = 20 bytů. Jako 4bitové pole je maximální hodnota 15, což znamená, že maximální velikost záhlaví IPv4 je 15 × 32 bitů = 480 bitů = 60 bytů.
Bod kódu diferencovaných služeb (DSCP )
Toto pole bylo původně definováno jako typ služby (ToS), ale specifikuje diferencované služby (DiffServ) podle RFC 2474. Streamování dat v reálném čase využívá pole DSCP. Příkladem je Voice over IP (VoIP), který se používá pro interaktivní hlasové služby.
Explicitní oznámení o přetížení (ECN )
Toto pole je definováno v RFC 3168 a umožňuje end-to-end upozornění na přetížení sítě bez upouštění paketů . ECN je volitelná funkce, která je k dispozici, pokud ji podporují oba koncové body, a je účinná, pokud je podporuje také základní síť.
Celková délka
Toto 16bitové pole definuje celou velikost paketu v bajtech, včetně záhlaví a dat. Minimální velikost je 20 bajtů (záhlaví bez dat) a maximální je 65 535 bajtů. Všichni hostitelé jsou povinni znovu sestavit datagramy o velikosti až 576 bajtů, ale většina moderních hostitelů zvládá mnohem větší pakety. Odkazy mohou ukládat další omezení velikosti paketu, v takovém případě musí být datagramy fragmentovány . Fragmentace v IPv4 se provádí buď ve vysílajícím hostiteli, nebo ve směrovačích. Opětovné sestavení se provádí u přijímajícího hostitele.
Identifikace
Toto pole je identifikační pole a primárně se používá pro jedinečnou identifikaci skupiny fragmentů jednoho IP datagramu. Některé experimentální práce navrhly použít pole ID pro jiné účely, například pro přidání informací o trasování paketů, které by pomohly trasovat datagramy s podvrženými zdrojovými adresami, ale RFC 6864 nyní jakékoli takové použití zakazuje.
Vlajky
Následuje tříbitové pole a slouží k ovládání nebo identifikaci fragmentů. Jsou to (v pořadí od nejvýznamnějšího po nejméně významný):
  • bit 0: Vyhrazeno; musí být nula.
  • bit 1: Don't Fragment (DF)
  • bit 2: Další fragmenty (MF)
Pokud je nastaven příznak DF a pro směrování paketu je vyžadována fragmentace, paket je zahozen. To lze použít při odesílání paketů hostiteli, který nemá prostředky k opětovnému sestavení fragmentů. Může být také použit pro zjišťování MTU cesty , buď automaticky pomocí softwaru IP hostitele, nebo ručně pomocí diagnostických nástrojů, jako je ping nebo traceroute .
U nefragmentovaných paketů je příznak MF vymazán. U fragmentovaných paketů mají všechny fragmenty kromě posledního nastavený příznak MF. Poslední fragment má nenulové pole Fragment Offset, které jej odlišuje od nefragmentovaného paketu.
Ofset fragmentu
Toto pole určuje posun konkrétního fragmentu vzhledem k začátku původního nefragmentovaného IP datagramu v jednotkách osmibajtových bloků. První fragment má offset nula.  13bitové pole umožňuje maximální ofset (2 13 - 1) × 8 = 65 528 bytů, což při zahrnutí délky záhlaví (65 528 + 20 = 65 548 bytů) podporuje fragmentaci paketů překračujících maximální délku IP 65 535 bytů.
Čas žít (TTL)
Pole s osmibitovou dobou životnosti omezuje životnost datagramu, aby se zabránilo selhání sítě v případě směrovací smyčky . Udává se v sekundách, ale časové intervaly kratší než 1 sekunda se zaokrouhlují na 1. V praxi se pole používá jako počet skoků - když datagram dorazí na router , router zmenší pole TTL o jednu. Když pole TTL dosáhne nuly, router zahodí paket a obvykle odešle odesílateli zprávu o překročení času ICMP .
Program traceroute odesílá zprávy s upravenými hodnotami TTL a používá tyto zprávy o překročení času ICMP k identifikaci směrovačů procházejících pakety ze zdroje do cíle.
Protokol
Toto pole definuje protokol použitý v datové části datagramu IP. IANA udržuje seznam čísel IP protokolů podle pokynů RFC 790.
Kontrolní součet záhlaví
Pole 16bitové kontrolní součet záhlaví IPv4 se používá pro kontrolu chyb záhlaví. Když paket dorazí na router, router vypočítá kontrolní součet záhlaví a porovná jej s polem kontrolního součtu. Pokud se hodnoty neshodují, router paket zahodí. Chyby v datovém poli musí být zpracovány zapouzdřeným protokolem. Oba UDP a TCP mají oddělené kontrolní součty, které se vztahují k jejich datům.
Když paket dorazí na router, router zmenší pole TTL v záhlaví. V důsledku toho musí směrovač vypočítat nový kontrolní součet záhlaví.
Adresa zdroje
Toto pole je adresa IPv4 odesílatele paketu. Tato adresa může být při přenosu změněna zařízením pro překlad síťových adres .
Cílová adresa
Toto pole je adresa IPv4 přijímače paketu. Stejně jako u zdrojové adresy může být toto při přenosu změněno zařízením pro překlad síťové adresy.
Možnosti
Pole možností se často nepoužívá. Pakety obsahující některé možnosti mohou být některými směrovači považovány za nebezpečné a mohou být zablokovány. Všimněte si toho, že hodnota v poli IHL musí obsahovat dostatek dalších 32bitových slov, aby se do něj vešly všechny možnosti, plus jakékoli odsazení potřebné k zajištění toho, aby záhlaví obsahovalo celé číslo 32bitových slov. Pokud je IHL větší než 5 (tj. Je od 6 do 15), znamená to, že pole možností je k dispozici a musí být zváženo. Seznam možností může být ukončen volbou EOOL (Konec seznamu voleb, 0x00); to je nutné pouze v případě, že by se konec voleb jinak neshodoval s koncem záhlaví. Možné možnosti, které lze vložit do záhlaví, jsou následující:
Pole Velikost (bity) Popis
Zkopírováno 1 Nastavte na 1, pokud je třeba možnosti zkopírovat do všech fragmentů fragmentovaného paketu.
Třída opcí 2 Obecná kategorie možností. 0 je pro možnosti ovládání a 2 je pro ladění a měření . 1 a 3 jsou vyhrazeny.
Číslo možnosti 5 Specifikuje možnost.
Možnost Délka 8 Udává velikost celé možnosti (včetně tohoto pole). Toto pole nemusí existovat pro jednoduché možnosti.
Údaje o volbách Variabilní Údaje specifické pro možnost. Toto pole nemusí existovat pro jednoduché možnosti.
Níže uvedená tabulka ukazuje definované možnosti pro IPv4. Sloupec Typ opce je odvozen od bitů Kopírováno, Třída opce a Počet možností, jak je definováno výše.
Typ možnosti (desítkové / šestnáctkové) Název možnosti Popis
0 / 0x00 EOOL Konec seznamu možností
1 / 0x01 NOP Žádná operace
2 / 0x02 SEK Zabezpečení (zaniklé)
7 / 0x07 RR Zaznamenat trasu
10 / 0x0A ZSU Experimentální měření
11 / 0x0B MTUP Sonda MTU
12 / 0x0C MTUR Odpověď MTU
15 / 0x0F ZAKÓDOVAT ZAKÓDOVAT
25 / 0x19 QS Rychlý start
30 / 0x1E EXP Experiment ve stylu RFC3692
68 / 0x44 TS Časové razítko
82 / 0x52 TR Traceroute
94 / 0x5E EXP Experiment ve stylu RFC3692
130 / 0x82 SEK Zabezpečení (RIPSO)
131 / 0x83 LSR Volná trasa zdroje
133 / 0x85 E-SEC Rozšířené zabezpečení (RIPSO)
134 / 0x86 CIPSO Komerční možnost zabezpečení IP
136 / 0x88 SID ID streamu
137 / 0x89 SSR Přísná trasa zdroje
142 / 0x8E VÍZUM Experimentální řízení přístupu
144 / 0x90 IMITD IMI Traffic Descriptor
145 / 0x91 EIP Rozšířený internetový protokol
147 / 0x93 DALŠÍ Rozšíření adresy
148 / 0x94 RTRALT Router Alert
149 / 0x95 SDB Selektivně řízené vysílání
151 / 0x97 DPS Stav dynamického paketu
152 / 0x98 UMP Upstream Multicast Pkt.
158 / 0x9E EXP Experiment ve stylu RFC3692
205 / 0xCD FIN Experimentální řízení toku
222 / 0xDE EXP Experiment ve stylu RFC3692

Data

Užitečné zatížení paketů není zahrnuto v kontrolním součtu. Jeho obsah je interpretován na základě hodnoty pole záhlaví protokolu.

Seznam čísel IP protokolů obsahuje úplný seznam typů protokolů užitečného zatížení. Mezi běžné protokoly užitečného zatížení patří:

Číslo protokolu Název protokolu Zkratka
1 Internet Control Message Protocol ICMP
2 Internetový protokol pro správu skupiny IGMP
6 protokol kontroly přenosu TCP
17 Protokol uživatele Datagram UDP
41 Zapouzdření IPv6 ENCAP
89 Nejprve otevřete nejkratší cestu OSPF
132 Stream Control Transmission Protocol SCTP

Fragmentace a opětovné sestavení

Internetový protokol umožňuje provoz mezi sítěmi. Návrh pojme sítě různorodé fyzické povahy; je nezávislý na základní přenosové technologii použité v linkové vrstvě. Sítě s různým hardwarem se obvykle liší nejen přenosovou rychlostí, ale také maximální přenosovou jednotkou (MTU). Když chce jedna síť přenášet datagramy do sítě s menším MTU, může své datagramy fragmentovat . V IPv4 byla tato funkce umístěna na internetové vrstvě a je prováděna ve směrovačích IPv4, které tedy pro funkci směrování IP paketů nevyžadují žádnou implementaci vyšších vrstev.

Naproti tomu IPv6 , další generace internetového protokolu, neumožňuje směrovačům provádět fragmentaci; hostitelé musí před odesláním datagramů určit cestu MTU.

Fragmentace

Když router přijme paket, prozkoumá cílovou adresu a určí odchozí rozhraní, které má použít, a MTU tohoto rozhraní. Pokud je velikost paketu větší než MTU a bit Nefragmentovat (DF) v záhlaví paketu je nastaven na 0, pak může router paket fragmentovat.

Směrovač rozděluje paket na fragmenty. Maximální velikost každého fragmentu je MTU minus velikost záhlaví IP (minimálně 20 bajtů; maximálně 60 bajtů). Směrovač vloží každý fragment do svého vlastního paketu, přičemž každý fragment paketu má následující změny:

  • Pole celkové délky je velikost fragmentu.
  • Další fragmenty (MF) je nastaven příznak pro všechny fragmenty s výjimkou posledního, který je nastaven na hodnotu 0.
  • Pole posunu fragmentu je nastaveno na základě posunu fragmentu v původním datovém obsahu. To se měří v jednotkách 8bajtových bloků.
  • Pole kontrolního součtu záhlaví se přepočítá.

Například pro MTU 1 500 bajtů a velikost záhlaví 20 bajtů by posuny fragmentů byly násobky . Tyto násobky jsou 0, 185, 370, 555, 740 atd

Je možné, že paket je fragmentován na jednom routeru, a že fragmenty jsou dále fragmentovány na jiném routeru. Například paket 4 520 bajtů, včetně 20 bajtů záhlaví IP (bez možností), je fragmentován na dva pakety na propojení s MTU 2 500 bajtů:

Fragment Velikost
(bajty)
Velikost záhlaví
(bajty)
Velikost dat
(bajty)
Označit
Další fragmenty
Ofset fragmentu
(8bajtové bloky)
1 2 500 20 2 480 1 0
2 2040 20 2020 0 310

Celková velikost dat je zachována: 2 480 bajtů + 2 020 bajtů = 4 500 bajtů. Ofsety jsou a .

Na odkazu s MTU 1 500 bajtů každý fragment vyústí ve dva fragmenty:

Fragment Velikost
(bajty)
Velikost záhlaví
(bajty)
Velikost dat
(bajty)
Označit
Další fragmenty
Ofset fragmentu
(8bajtové bloky)
1 1 500 20 1 480 1 0
2 1020 20 1 000 1 185
3 1 500 20 1 480 1 310
4 560 20 540 0 495

Velikost dat je opět zachována: 1 480 + 1 000 = 2 480 a 1 480 + 540 = 2 020.

Také v tomto případě bit Více fragmentů zůstane 1 pro všechny fragmenty, které byly dodány s 1 v nich, a pro poslední fragment, který dorazí, funguje jako obvykle, to znamená, že bit MF je nastaven na 0 pouze v posledním. A samozřejmě pole identifikace má i nadále stejnou hodnotu ve všech znovu fragmentovaných fragmentech. Tímto způsobem, i když jsou fragmenty znovu fragmentovány, příjemce ví, že původně všechny začaly ze stejného paketu.

Poslední offset a poslední velikost dat se používá pro výpočet celkové velikosti dat: .

Zpětná montáž

Přijímač ví, že paket je fragment, pokud je splněna alespoň jedna z následujících podmínek:

  • Je nastaven příznak „více fragmentů“, což platí pro všechny fragmenty kromě posledního.
  • Pole „offset fragmentu“ je nenulové, což platí pro všechny fragmenty kromě prvního.

Přijímač identifikuje odpovídající fragmenty pomocí cizí a místní adresy, ID protokolu a identifikačního pole. Přijímač znovu sestaví data z fragmentů se stejným ID pomocí posunu fragmentu a příznaku více fragmentů. Když přijímač přijme poslední fragment, který má příznak „více fragmentů“ nastaven na 0, může vypočítat velikost užitečného zatížení původních dat vynásobením posunu posledního fragmentu osmi a přidáním datové velikosti posledního fragmentu. V uvedeném příkladu byl tento výpočet 495*8 + 540 = 4500 bajtů.

Když má přijímač všechny fragmenty, mohou být znovu sestaveny ve správném pořadí podle ofsetů, aby vytvořily původní datagram.

Pomocné protokoly

IP adresy nejsou trvale spojeny s hardwarovou identifikací a síťové rozhraní může mít v moderních operačních systémech více IP adres. Hostitelé a směrovače potřebují další mechanismy k identifikaci vztahu mezi rozhraními zařízení a IP adresami, aby správně doručily IP paket cílovému hostiteli na propojení. Address Resolution Protocol (ARP) provádí tento překlad IP-adresa-to-hardware-adresy pro IPv4. (Hardwarová adresa se také nazývá MAC adresa .) Kromě toho je často nutná zpětná korelace. Když je například hostitel IP spuštěn nebo připojen k síti, musí určit svou IP adresu, pokud není adresa předkonfigurována správcem. Protokoly pro takové inverzní korelace existují v sadě Internet Protocol Suite . V současné době se používají metody Dynamic Host Configuration Protocol (DHCP), Bootstrap Protocol (BOOTP) a, zřídka, reverzní ARP .

Viz také

Poznámky

Reference

externí odkazy