01.06. Iekapsulēšana

Last modified by Valdis Vītoliņš on 2018/01/15 21:44

01.06. Iekapsulēšana

Kad lietotne sūta datus, izmantojot TCP, šie dati tiek pārsūtīti lejup pa protokolu steku, caur katru slāni, kamēr tie pārtop par bitu plūsmu, ko var nosūtīt pa (fizisko) tīklu. Katrs slānis pievieno informāciju šiem datiem, pievienojot sākumposmus (un dažreiz pievienojot arī beiguposma informāciju) saņemtajiem datiem. #picref("f_1_7.gif", "1.7.attēls") parāda šo procesu. Datu vienība, ko TCP sūta uz IP sauc par TCP segmentu. Datu vienību, ko IP sūta tīkla interfeisam sauc par IP datagrammu. Bitu plūsmas vienība, kas iet caur Ethernet'am saucas kadrs.

Skaitļi zem sākum- un beiguposmiem Ethernet'a kadrā #picref("f_1_7.gif", "1.7. attēlā") ir tipiskie sākumposmu izmēri baitos. Par sākumposmiem mēs pastāstīsim vairāk turpmākās nodaļās. Ethernet'a tīkla fizisko īpašību dēļ, kadra datu izmēram jābūt starp 46 un 1500 baitiem. Minimumu sastapsim 4.5.nodaļā, savukārt maksimumu - 2.8.nodaļā.

Visi Interneta standarti un vairums grāmatu par TCP/IP izmanto jēdzienu oktets nevis baits. Tas ir korekts, bet senatnīgs termins, jo sākotnējā TCP/IP pētniecība tika veikta uz tādām sistēmām kā DEC-10, kuras nelietoja 8-bitu vārdus. Tā kā ilgu laiku datorsistēmas izmantoja 8-bitu vārdus, ar jēdzienu "baits" saprotam 8 bitus.

Lai mēs būtu pilnīgi precīzi 1.7.attēlā, mums būtu jāsaka, ka datu vienība, ko apmaina IP un tīkla interfeiss ir pakete. Šī pakete var būt vai nu IP datagramma vai arī fragments no IP datagrammas. Fragmentāciju apspriedīsim 11.5.nodaļā.

Varētu uzzīmēt gandrīz identisku bildi arī par UDP datiem. Vienīgās izmaiņas ir tās, ka informācijas vienība, ko UDP padod IP slānim sauc par UDP datagrammu un UDP sākumposma izmērs ir 8 baiti.

#pic("f_1_7.gif", "300") 1.7.attēls: Datu iekapsulēšana, tiem ejot lejup pa protokolu steku

Atcerieties no #picref("f_1_4.gif", "1.4.attēla"), ka TCP, UDP, ICMP un IGMP visi sūta datus uz IP. IP protokolam būtu jāpievieno kaut kāds identifikators IP sākmposmam, lai norādītu slāni, kuram šie dati pieder. IP to dara, noglabājot 8-bitu vērtību savā sākumposmā, ko sauc par protokola lauku. Vērtība "1" atbilst ICMP, 2 atbilst IGMP, 6 atbilst TCP un 17 atbilst UDP.

Uz datora var būt vairākas lietotnes, kuras vienlaikus izmanto TCP, UDP vai abus šos protokolus. Lietotņu identificēšanai, transporta slāņa protokoli noglabā identifikatoru ģenerētajos sākumposmos. Gan TCP, gan UDP avota un galapunkta lietotņu identificēšanai izmanto 16-bitu portu numurus. 

Savukārt tīkla interfeiss sūta un saņem kadrus gan no IP, gan ARP un RARP. Jābūt kaut kādai identifikācijai Ethernet'a sākumposmā, kas norāda, kurš tīkla slāņa protokols ģenerēja datus. Lai ar to tiktu galā, Ethernet'a sākumposmā ir 16-bitu kadra tipa lauks.