- Transportnú vrstvu predstavujú dva protokoly: TCP a UDP.
- Protokol IP v sieťovej vrstve doručuje datagram zo zdrojového hostiteľa do cieľového hostiteľa.
- Operačný systém v súčasnosti podporuje viacužívateľské a multiprocesné prostredia, spustený program sa nazýva proces. Keď hostiteľ pošle správu inému hostiteľovi, znamená to, že zdrojový proces posiela proces do cieľového procesu. Protokoly transportnej vrstvy definujú niektoré pripojenia k jednotlivým portom známym ako protokolové porty.
- Protokol IP je protokol medzi hostiteľmi, ktorý sa používa na doručenie paketu zo zdrojového hostiteľa do cieľového hostiteľa, zatiaľ čo protokoly transportnej vrstvy sú protokoly medzi portami, ktoré fungujú na vrchole protokolov IP a doručujú pakety z pôvodného hostiteľa. port do služieb IP a zo služieb IP do cieľového portu.
- Každý port je definovaný kladnou celočíselnou adresou a má 16 bitov.
UDP
- Skratka UDP znamená Protokol užívateľského datagramu .
- UDP je jednoduchý protokol a poskytuje funkcionalitu nesekvenčného prenosu.
- UDP je protokol bez spojenia.
- Tento typ protokolu sa používa, keď spoľahlivosť a bezpečnosť sú menej dôležité ako rýchlosť a veľkosť.
- UDP je protokol na úrovni prenosu typu end-to-end, ktorý k údajom z vyššej vrstvy pridáva adresy na úrovni prenosu, kontrolu chýb kontrolného súčtu a informácie o dĺžke.
- Paket vytvorený protokolom UDP je známy ako užívateľský datagram.
Formát používateľského datagramu
Užívateľský datagram má 16-bajtovú hlavičku, ktorá je zobrazená nižšie:
Kde,
Adresa zdrojového portu: | Definuje adresu aplikačného procesu, ktorý doručil správu. Adresa zdrojového portu je 16-bitová adresa.
Adresa cieľového portu: | Definuje adresu procesu aplikácie, ktorý dostane správu. Adresa cieľového portu je 16-bitová adresa.
Celková dĺžka: | Definuje celkovú dĺžku užívateľského datagramu v bajtoch. Ide o 16-bitové pole.
Kontrolný súčet: | Kontrolný súčet je 16-bitové pole, ktoré sa používa pri zisťovaní chýb.
Nevýhody protokolu UDP
- UDP poskytuje základné funkcie potrebné pre end-to-end doručenie prenosu.
- Neposkytuje žiadne funkcie sekvenovania alebo zmeny poradia a nešpecifikuje poškodený paket pri hlásení chyby.
- UDP môže zistiť, že sa vyskytla chyba, ale nešpecifikuje, ktorý paket sa stratil, pretože neobsahuje ID alebo poradové číslo konkrétneho dátového segmentu.
TCP
- TCP je skratka pre Transmission Control Protocol.
- Aplikáciám poskytuje úplné služby transportnej vrstvy.
- Ide o protokol orientovaný na spojenie, čo znamená spojenie vytvorené medzi oboma koncami prenosu. Na vytvorenie spojenia TCP generuje virtuálny okruh medzi odosielateľom a prijímačom počas trvania prenosu.
Vlastnosti protokolu TCP
Streamový prenos dát: | TCP protokol prenáša dáta vo forme súvislého toku bajtov. TCP zoskupuje bajty vo forme segmentov TCP a potom ich odovzdá vrstve IP na prenos do cieľa. Samotný TCP segmentuje údaje a posiela ich ďalej na IP.
Spoľahlivosť: | TCP priraďuje poradové číslo každému prenášanému bajtu a očakáva kladné potvrdenie od prijímajúceho TCP. Ak ACK nie je prijaté v rámci časového limitu, údaje sa znova prenesú do cieľa.
Prijímajúci TCP používa poradové číslo na opätovné zostavenie segmentov, ak prídu mimo poradia, alebo na odstránenie duplicitných segmentov.
Kontrola toku: | Pri prijímaní TCP odošle potvrdenie späť odosielateľovi s uvedením počtu bajtov, ktoré môže prijať bez preplnenia vnútornej vyrovnávacej pamäte. Počet bajtov sa odosiela v ACK v tvare najvyššieho poradového čísla, ktoré môže bez problémov prijať. Tento mechanizmus sa tiež označuje ako mechanizmus okna.
Multiplexovanie: | Multiplexovanie je proces prijímania údajov z rôznych aplikácií a ich posielanie do rôznych aplikácií na rôznych počítačoch. Na prijímacej strane sa údaje preposielajú do správnej aplikácie. Tento proces je známy ako demultiplexovanie. TCP prenáša paket do správnej aplikácie pomocou logických kanálov známych ako porty.
Logické spojenia: | Kombinácia soketov, poradových čísel a veľkostí okien sa nazýva logické spojenie. Každé pripojenie je identifikované dvojicou soketov používaných procesmi odosielania a prijímania.
Full Duplex: | TCP poskytuje službu Full Duplex, t.j. dátový tok v oboch smeroch súčasne. Na dosiahnutie plne duplexnej služby by mal mať každý TCP vyrovnávaciu pamäť pre odosielanie a prijímanie, aby segmenty mohli prúdiť oboma smermi. TCP je protokol orientovaný na spojenie. Predpokladajme, že proces A chce odosielať a prijímať údaje z procesu B. Vykonajú sa tieto kroky: - Vytvorte spojenie medzi dvoma TCP.
- Dáta sa vymieňajú v oboch smeroch.
- Spojenie je ukončené.
Formát segmentu TCP
Kde,
Adresa zdrojového portu: | Používa sa na definovanie adresy aplikačného programu v zdrojovom počítači. Ide o 16-bitové pole.
Adresa cieľového portu: | Používa sa na definovanie adresy aplikačného programu v cieľovom počítači. Ide o 16-bitové pole.
Poradové číslo: | Prúd údajov je rozdelený do dvoch alebo viacerých segmentov TCP. Pole 32-bitového poradového čísla predstavuje polohu dát v pôvodnom dátovom toku.
Číslo potvrdenia: | 32-poľové potvrdzovacie číslo potvrdzuje údaje z iných komunikujúcich zariadení. Ak je pole ACK nastavené na 1, potom udáva poradové číslo, ktoré prijímač očakáva.
Dĺžka hlavičky (HLEN): | Špecifikuje veľkosť hlavičky TCP v 32-bitových slovách. Minimálna veľkosť hlavičky je 5 slov a maximálna veľkosť hlavičky je 15 slov. Preto je maximálna veľkosť hlavičky TCP 60 bajtov a minimálna veľkosť hlavičky TCP je 20 bajtov.
Rezervované: | Je to šesťbitové pole, ktoré je vyhradené pre budúce použitie.
Ovládacie bity: | Každý bit riadiaceho poľa funguje samostatne a nezávisle. Riadiaci bit definuje použitie segmentu alebo slúži ako kontrola platnosti pre iné polia.
V kontrolnom poli je celkom šesť typov príznakov:
URG: | Pole URG označuje, že údaje v segmente sú urgentné.
ACK: | Keď je nastavené pole ACK, overí sa číslo potvrdenia.
PSH: | Pole PSH sa používa na informovanie odosielateľa, že je potrebná vyššia priepustnosť, takže ak je to možné, údaje sa musia posielať s vyššou priepustnosťou.
RST: | Resetovací bit sa používa na resetovanie TCP spojenia, keď dôjde k zámene v sekvenčných číslach.
SYN: | Pole SYN sa používa na synchronizáciu sekvenčných čísel v troch typoch segmentov: požiadavka na spojenie, potvrdenie spojenia (s nastaveným bitom ACK) a potvrdenie potvrdenia.
KONIEC: | Pole FIN sa používa na informovanie prijímajúceho modulu TCP, že odosielateľ dokončil odosielanie údajov. Používa sa pri ukončení spojenia v troch typoch segmentov: žiadosť o ukončenie, potvrdenie ukončenia a potvrdenie potvrdenia ukončenia. Veľkosť okna: | Okno je 16-bitové pole, ktoré definuje veľkosť okna.
Kontrolný súčet: | Kontrolný súčet je 16-bitové pole používané pri zisťovaní chýb.
Naliehavý ukazovateľ: | Ak je príznak URG nastavený na 1, potom toto 16-bitové pole je posunom od poradového čísla, ktoré naznačuje, že ide o posledný bajt urgentných údajov.
Možnosti a čalúnenie: | Definuje voliteľné polia, ktoré prenášajú dodatočné informácie príjemcovi.
Rozdiely b/w TCP a UDP
Základ pre porovnanie | TCP | UDP |
Definícia | TCP vytvorí virtuálny okruh pred prenosom údajov. | UDP prenáša údaje priamo do cieľového počítača bez overenia, či je prijímač pripravený na príjem alebo nie. |
Typ pripojenia | Ide o protokol orientovaný na pripojenie | Je to protokol bez pripojenia |
Rýchlosť | pomaly | vysoká |
Spoľahlivosť | Je to spoľahlivý protokol. | Je to nespoľahlivý protokol. |
Veľkosť hlavičky | 20 bajtov | 8 bajtov |
uznanie | Čaká na potvrdenie údajov a má schopnosť znova odoslať stratené pakety. | Neprijíma potvrdenie, ani opätovne nevysiela poškodený rámec. |