RFC 791 - Internet Protocol - Summary
RFC 791 byl napsán v roce 1981 pro DARPA (Defense Advanced Research Projects Agency) od Information Sciences Institute University of South California. Dokument je rozdělen do tří sekcí, Úvod, Přehled a Specifikace. I když úvod a přehled mají velmi dobré informace tento souhrn se zaměří na specifikace, ale zvýrazní další části z přehledu.
Hlavička
Jak je vidět v článku Frames a Packets na těchto stránkách hlavička IP vypadá takto:
| IPv4 Header (32 bits) | ||||||||||||||||||||||||||||||||
| Starting Byte | Byte | Byte | Byte | Byte | ||||||||||||||||||||||||||||
| 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 | Version | IHL (header Len) | Type Of Server (TOS) | Total Length | ||||||||||||||||||||||||||||
| 4 | Identification | IP Flag | Fragment Offset | |||||||||||||||||||||||||||||
| 8 | Time To Line (TTL) | Protocol | Header Checksum | |||||||||||||||||||||||||||||
| 12 | Source Address | |||||||||||||||||||||||||||||||
| 16 | Destination Address | |||||||||||||||||||||||||||||||
| 20 | IP Option (Variable Length, Optional, not common) | |||||||||||||||||||||||||||||||
Podrobnosti o hlavičce
Jak můžete vidět, datagram obsahuje několik prvků. Funkce pro každý prvek je:
- Verze - RFC 791 konkrétně odkazuje na verzi 4
- Délka hlavičky Internetu (IHL) - Informuje přijímací systémy o délce hlavičky a kdy data začínají
- Typ služby (TOS) - Tato 8 bitová hodnota se používá pro kvalitu služby.
- bit 0-2 jsou pro přesnost
- 1000 - rutina
- 001 - Priorita
- Ustanovení čl
- 011 - Flash
- 100 - Flash Override
- 101 - CRITIC / ECP
- 110 - Řízení mezi sítěmi
- 111 - Řízení sítě
- bit 3 je pro normální zpoždění (0) nebo nízké zpoždění (1)
- bit 4 je pro normální propustnost (0) nebo vysokou propustnost (1)
- bit 5 je pro normální spolehlivost (0) nebo vysokou spolehlivost (1)
- Když RFC 791 byl napsán bit 6 a 7 kde vyhrazeno pro budoucí použití
- bit 0-2 jsou pro přesnost
- Celková délka - Je celková délka datagramu v bytech až 65535 oktů. Systém však musí být schopen akceptovat minimálně 567 oktů.
- Identifikace - používá se při remontáži fragmentovaných datagramů
- Vlajky - používané s fragmentací datagramu
- bit 0 je vyhrazen a musí být 0
- bit 1, pokud je nastaveno na 0, umožňuje, aby datagram byl fragmentován. Při nastavení na 1 nelze datagram roztříštit
- bit 2, pokud je nastaveno na 0, indikuje poslední fragaci. Pokud je nastaveno na 1 další úlomky se blíží
- Fragment Offset - Označuje systémy provádějící fragmentaci datagramu, kde může fragovat
- Čas žít - Indikuje, jak dlouho může datagram v síti přetrvávat. Pokud dosáhne 0, musí být datagram zlikvidován
- Protokol - Označuje další level protokol použitý v datagramu
- Záhlaví Checksum - Validuje datagram v každém bodě prostřednictvím sítě
- Zdrojová adresa - 32 bitů
- Adresa určení - 32 bitů
- Možnosti - Existuje mnoho možností IPv4, které mohou nebo nemohou být použity. Další podrobnosti naleznete na stránce15 -22
- Na konci záhlaví je datagram vypolstrovaný s 0, dokud neskončí na 32 bit skákání
Souhrn RFC
Stejně jako u všech RFC tento RFC vyžaduje, aby každý indivdual, který implementuje IP datagram sladit se standardem tak, že každá strana může interagovat s datagram na různých systémech. V oddíle 3 je prodiskutováno schéma adresování IPv4, stejně jako výše uvedené funkce. Ve vztahu k IPv4 tato RFC definuje velikosti sítě třídy A, B a C. Třída A přiděluje 7 bitů pro síť a 24 bitů pro hostitele. Třída B přiděluje 14 bitů pro síť a 16 bitů pro hostitele. Třída C přiděluje 21 bitů pro síť a 8 bitů pro hostitele. Kromě řešení schémat jsou v rámci RFC podrobně projednávány specifické funkce fragmentace datagramu a remontáže. Upřesnění, že některé možnosti mohou nebo nemusí být zahrnuty, pokud je paket roztříštěný.
Refering zpět k předchozímu prohlášení o implementaci IP Datagramu RFC také uvádí příklady toho, co by mělo být předloženo do protokolů horní vrstvy pro konfigurační prvky, aby se usnadnila komunikace a konfigurace mezi systémy. Tyto elementy jsou stejné prvky používané pro konstrukci datagramu.