RFC 791 - Internet Protocol - Summary
RFC 791 on kirjutatud 1981. aastal DARPA (Defense Advanced Research Projects Agency) jaoks Lõuna-California Infoteaduste Instituudi poolt. Dokument on jagatud kolmeks osaks: sissejuhatus, ülevaade ja spetsifikatsioonid. Kuigi sissejuhatuses ja ülevaates on väga head teavet, keskendub see kokkuvõte spetsifikatsioonidele, kuid toob ülevaatest välja mõned jaotised.
Päis
Nagu näha selle saidi raamide ja pakettide artiklis, näeb IP-päis välja selline:
| 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) | |||||||||||||||||||||||||||||||
Päise üksikasjad
Nagu näete, sisaldab andmegramm mitmeid elemente. Iga elemendi funktsioon on:
- Versioon - RFC 791 viitab konkreetselt versioonile 4
- Interneti päise pikkus (IHL) - teavitab vastuvõtusüsteeme päise pikkusest ja sellest, millal andmed algavad
- Teenuse tüüp (TOS) - seda 8-bitist väärtust kasutatakse teenuse kvaliteedi jaoks.
- bitt 0-2 on Precedence'i jaoks
- 000 - rutiinne
- 001 – prioriteet
- 010 - Kohene
- 011 - Välk
- 100 - Flash Override
- 101 – KRIITILINE/ECP
- 110 - Internetitöö kontroll
- 111 – võrgukontroll
- bit 3 on normaalne viivitus (0) või väike viivitus (1)
- bit 4 on normaaljõudlusega (0) või suure jõudlusega (1)
- bit 5 on normaalne töökindlus (0) või kõrge töökindlus (1)
- Kui RFC 791 oli kirjutatud bitt 6 ja 7, kus reserveeritud tulevikus kasutamiseks
- bitt 0-2 on Precedence'i jaoks
- Kogupikkus - Kas andmegrammi kogupikkus baitides on kuni 65535 okt. Siiski peab süsteem suutma vastu võtta vähemalt 567 oktetti.
- Identifitseerimine – kasutatakse killustatud andmegrammide taaskoostamisel
- Lipud - kasutatakse andmegrammi killustatusega
- bit 0 on reserveeritud ja peab olema 0
- bit 1, kui väärtus on 0, võimaldab andmegrammi killustada. 1 väärtuse korral ei saa andmegrammi killustada
- bit 2, kui väärtuseks on seatud 0, näitab viimast murdu. Kui on määratud 1 fragmenti, siis tuleb veel
- Fragment Offset - ütleb süsteemidele, mis teostavad andmegrammi fragementi, kus see võib fragmenteerida
- Aeg elada - näitab, kui kaua andmegramm võrgus püsib. Kui andmegramm jõuab 0-ni, tuleb see kustutada
- Protokoll - näitab andmegrammis kasutatavat järgmise taseme protokolli
- Päise kontrollsum - kontrollib andmegrammi igas võrgupunktis
- Lähteaadress - 32 bitti
- Sihtaadress - 32 bitti
- Valikud - On palju IPv4 võimalusi, mida võib kasutada või mitte. Lisateabe saamiseks lugege kogu RFC-d, täpsemalt lk 15-22
- Päise lõpus on andmegramm polsterdatud 0-ga, kuni see lõpeb 32-bitisel nööril
RFC kokkuvõte
Nagu kõigi RFC-de puhul, nõuab ka see RFC, et iga individuaalne, mis rakendab IP-andmegrammi, vastaks standardile nii, et iga osapool saaks erinevate süsteemide andmegrammiga suhelda. Punktis 3 käsitletakse IPv4 adresseerimisskeemi pikalt, nagu ka eespool kokku võetud funktsioone. Seoses IPv4-ga määrab RFC A-, B- ja C-klassi võrgu suurused. A-klass eraldab 7 bitti võrgule ja 24 bitti hostidele. B-klass eraldab 14 bitti võrgule ja 16 bitti hostidele. C-klass eraldab võrgule 21 bitti ja hostidele 8 bitti. Lisaks skeemide käsitlemisele käsitletakse RFCs üksikasjalikult andmegrammide killustatuse ja uuesti kokkupanemise erifunktsioone. Määrab, et mõned valikud võivad olla kaasatud või mitte, kui pakett on killustatud.
Viidates varasemale statistikale IP-andmestiku rakendamise kohta, annab RFC ka näiteid selle kohta, mida tuleks konfiguratsioonielementide ülemise kihi protokollidele esitada, et hõlbustada süsteemidevahelist suhtlust ja konfiguratsiooni. Need elemenets on samad elemendid, mida kasutatakse andmegrammi koostamiseks.