E-gradiva > Računalništvo > Računalniška omrežja > 44_sejni > Prenos s TCP

Prijava

Prenos podatkov s TCP

Vzpostavljanje povezave

Vzpostavitev povezave s TCP
Vzpostavitev povezave s TCP

TCP je povezavno usmerjen protokol, kar pomeni, da se mora vzpostaviti povezava med dvema sistemoma, preden lahko izmenjujeta podatke. Ta povezava poskrbi, da sta oba računalnika prisotna in delujeta pravilno ter sta pripravljena na sprejemanje podatkov. TCP povezava ostane aktivna skozi ves proces izmenjave podatkov.

V večini primerov povezava TCP obstaja za čas izmenjave datoteke. Na primer, ko spletni brskalnik vzpostavi povezavo s strežnikom v internetu, najprej vzpostavi povezavo nato sprejme podatke, ki so zahtevani v URL.

Ko je datoteka enkrat prenesena, sistem poruši povezavo. Ko brskalnik procesira preneseno datoteko lahko zasledi povezave do slik, avdio izsekov ali drugih datotek potrebnih za prikaz spletne strani. Brskalnik nato vzpostavi povezavo do strežnika za vsako datoteko, ki je povezana, jih pridobi in jih prikaže kot del spletne strani. Zato lahko ena sama spletna stran potrebuje ducate povezav TCP do strežnika za prenos datotek.

Proces vzpostavljanje povezave sestavlja izmenjava treh sporočil. Nobeno od sporočil ne vsebuje podatkov aplikacijskega sloja. Namen teh sporočil je, razen ugotavljanja prisotnosti drugega računalnika, predvsem v izmenjavi začetnih številk s katerimi bodo računalniki označevali poslane podatke.

Vsak sistem, ki sprejme podatke, pošlje svoj odgovor. Ko enkrat strežnik dobi odjemalčevo potrditev, je povezava vzpostavljena in sistemi so pripravljeni, da izmenjujejo sporočila, ki vsebujejo aplikacijske podatke. Zato je povezava TCP v bistvu sestavljena iz dveh ločenih enosmernih povezav, ki tečeta v nasprotni smeri, zato je TCP polno dvosmeren protokol.

Pomembno je imeti v mislih, da je povezava vzpostavljena med TCP sistemoma le logična povezava. Posamezna TCP sporočila so še vedno nošena v datagramih IP in uporabljajo nepovezavne storitve IP. Sporočila lahko uporabijo različne poti do cilja in lahko celo prispejo v drugačnem vrstnem redu kot so bile poslane. TCP je narejen tako, da računa na vse te možnosti in segmente datoteke spravi v pravilen vrstni red.

Prenos podatkov

Potem ko je povezava vzpostavljena, ima vsak računalnik vse informacije, ki jih potrebuje, da TCP prične s prenosom aplikacijskih podatkov. Če bo uporabnik sprejel podatke, je odvisno od narave aplikacije. Prenos med brskalnikom in strežnikom se prične s odjemalčevim pošiljanjem določenega URL strežniku, tipično je to domača stran spletišča. Druga aplikacija bo začela s prenosom podatkov iz strežnika k odjemalcu.

TCP uporablja drseče okno za prenos podatkov med gostitelji. Nadzoruje koliko informacij se lahko pošlje preko TCP povezave, preden mora sprejmni gostitelj poslati potrdilo. Vsak računalnik ima okno za pošiljanje in okno za sprejemanje. Tako je proces komuniciranja veliko bolj učinkovit. Drseče okno dovoljuje sprejemniku, da sprejema pakete, ki niso prispeli po vrstnem redu in jih uredi medtem, ko čaka na nove. Pošiljajoče okno pa zbira podatke o informacijah, ki so bile poslane in če ne dobi potrdila o sprejemu v določenem roku te podatke ponovno pošlje.

Zakasnjeno potrjevanje
Zakasnjeno porjevanje

animacija

Ko odjemalec enkrat začne prejemati podatke iz strežnika, je zadolžen tudi za potrjevanje prejema. TCP uporablja sistem imenovan zakasnjena potrditev, kar pomeni, da sistemi ne tvorijo ločenih potrditvenih sporočil za vsako sporočilo, ki ga sprejmejo. Intervali, v katerih sistemi ta sporočila tvorijo, so odvisni od posamezne implementacije TCP. Vsako potrditveno sporočilo, ki ga odjemalec pošlje v odgovor strežnikovim podatkovnim sporočilom ima ACK zastavico in vrednost polja potrditvene številke odseva število bajtov v sekvenci ki jo je odjemalec uspešno sprejel.

Če odjemalec dobi sporočilo, da je preverjanje paketa ugotovilo, da ne more sprejeti nekaterih segmentov v sekvenci, signalizira strežniku te napake z uporabo potrditvenega polja v sporočilu ACK. Vrednost potrditvene številke vedno odseva število bajtov od začetka sekvence od katere je ciljni sistem prejel brez napak. Če se na primer sekvenca sestoji iz desetih segmentov in so vsi prejeti pravilno razen segmenta številka 7, bo prejemnikovo potrditveno sporočilo vsebovalo vrednost potrditvene številke le za število bajtov v prvih šestih segmentih. Segmenti 8 do 10 morajo biti ponovno poslani skupaj s sedmim segmentom, čeprav so bili morebiti prejeti pravilno. Ta sistem imenujemo pozitivno potrjevanje in ponovno pošiljanje, ker ciljni sitem potrdi le sporočila ki so bila poslana pravilno.

Protokol, ki uporablja negativno potrditev, bi sklepal, da so vsa sporočila bila poslana pravilno razen tistega za katerega ciljni sistem posebej določa za okvarjenega.

Izvirni sistem vzdržuje vrsto sporočil, ki jih je poslal in izbriše tista, za katera dobi potrditev, da so prispela. Za sporočila, ki ostanejo v vrsti izvirnega sistema za preddoločeno količino časa, se sklepa da so bila izgubljena ali izbrisana in sistem jih ponovno pošlje

Zaznavanje napak

V bistvu obstajata dve zadevi, ki lahko gresta narobe med izmenjavo podatkov s TCP. Ali sporočila pridejo v pokvarjenem stanju ali pa sploh ne pridejo. Ko sporočilu spodleti prihod, izostanek potrditve povzroči, da se sporočila znova pošljejo. Če nastanejo resne omrežne težave, ki preprečujejo dvema sistemoma izmenjavo sporočil, bo TCP povezava sčasoma zastarala in ves proces se bo moral ponoviti.

Ko sporočila prispejo na cilj, jih sprejemni sistem pregleda opravi enake izračune za kontrolo podakov kot jih je pošiljatelj pred pošiljanjem in primerja rezultate. Če se vrednosti ne ujemata, sistem uniči sporočilo. To je kritično mesto protokola TCP, ker je to edino preverjanje med uporabnikoma, ki je opravljeno na podatkih aplikacijskega sloja. IP vključuje obojestransko kontrolo, vendar le na glavi podatka. Protokoli kot so eternet in token ring vsebujejo CRC, vendar odkrivajo napake v posameznem okvirju.

Kontrola, ki jo izvede TCP, je nenavadna saj ni izračunana le na vsej TCP glavi in aplikacijskih podatkih pač pa tudi na psevdoglavi. Psevdoglava je sestavljena iz naslova IP vira glave, cilja naslova IP, protokola, polj dolžine, polnila, kar znese končno število bajtov na najmanj 12. Vključevanje psevdoglave zagotovi da bodo dostavljeni datagrami na pravi računalnik in na pravi transportni sloj na tem računalniku.

Kontrola pretoka

TCP uses a sliding window technique to provide flow control.
TCP uporablja za kontrolo pretoka drseče okno

Kontrola pretoka je proces, s katerim ciljni sistem v TCP povezavi priskrbi izvornemu sistemu informacije, kar omogoči, da izvorni sistem nadzoruje hitrosti prenosa podatkov. Vsak sistem ima omejeno količino medpomnilniškega prostora (angl. buffer), v katerega shranjuje prihajajoče podatke. Podatki tam ostanejo dokler sistem ne generira potrditvenih sporočil. Če bi izvorni sistem pošiljal podatke prehitro, bi se lahko nalagalni prostor ciljnega sistema zapolnil in povzročil brisanje podatkov. Prejemni sistem uporablja okensko polje, da s potrditvenimi sporočili obvesti izvorni sistem o tem, koliko nalagalnega prostora še ima.

animacija

Ta vrsta nadzora pretoka je imenovan tehnika drsečega okna. Ponujeno okno je zaporedje bajtov, za katere je ciljni sistem dovolil izvornemu, da jih pošlje. Ko ciljni sistem potrdi prispele bajte, se leva stran okna pomakne desno in ko sistem poda potrditvene bajte skozi proces na aplikacijski sloj, ki ga določa številka ciljnega vhoda, se desna stran okna pomakne v desno. Tako lahko rečemo, da okno drsi v smeri prihajajočega toka, od leve proti desni.

Rušitev povezave

Ko sistemi, vključeni v izmenjavo podatkov s TCP, zaključijo s prenosom, porušijo povezavo z uporabo kontrolnega sporočila, podobnega tistemu, ki ga uporabljajo v trosmernem potrjevanju, ki je vzpostavi povezavo.

Zaključek

vprašanjanja v pisni obliki vprašanjanja vprašanje

TCP je zanesljiv, povezovalen protokol. Vtičnice aplikacij uporabljajo unikatne številke vrat. Vtičnica je končna točka komunikacijskega procesa. Vtičnico sestavlajta IP številka in številka vrat. TCP seja se začne in konča s trismernim usklajevanjem. TCP uporablja za prenašanje podatkov drseče okno.

Avtor Borut