logo

Kas yra perdavimo valdymo protokolas (TCP)?

TCP reiškia Duomenų perdavimo valdymo protokolas . Tai transporto lygmens protokolas, palengvinantis paketų perdavimą iš šaltinio į paskirties vietą. Tai į ryšį orientuotas protokolas, reiškiantis, kad jis užmezga ryšį prieš užmezgant ryšį tarp skaičiavimo įrenginių tinkle. Šis protokolas naudojamas su IP protokolu, todėl kartu jie vadinami TCP/IP .

Pagrindinė TCP funkcija yra duomenų paėmimas iš programos lygmens. Tada jis padalija duomenis į kelis paketus, suteikia šių paketų numeraciją ir galiausiai perduoda šiuos paketus į paskirties vietą. Kita vertus, TCP iš naujo surinks paketus ir perduos juos į taikymo sluoksnį. Kaip žinome, TCP yra į ryšį orientuotas protokolas, todėl ryšys išliks, kol nebus baigtas ryšys tarp siuntėjo ir gavėjo.

roboto komponentai

TCP protokolo ypatybės

Toliau pateikiamos TCP protokolo savybės:

    Transporto sluoksnio protokolas

TCP yra transporto lygmens protokolas, naudojamas perduodant duomenis iš siuntėjo į gavėją.

    Patikimas

TCP yra patikimas protokolas, nes jis vadovaujasi srauto ir klaidų valdymo mechanizmu. Jis taip pat palaiko patvirtinimo mechanizmą, kuris tikrina duomenų būseną ir patikimą gavimą. Patvirtinimo mechanizme gavėjas siunčia siuntėjui teigiamą arba neigiamą patvirtinimą, kad siuntėjas galėtų sužinoti, ar duomenų paketas gautas, ar jį reikia siųsti iš naujo.

    Duomenų tvarka palaikoma

Šis protokolas užtikrina, kad duomenys pasiektų numatytą gavėją ta pačia tvarka, kuria jie siunčiami. Jis sutvarko ir sunumeruoja kiekvieną segmentą, kad paskirties pusėje esantis TCP sluoksnis galėtų juos surinkti pagal jų išdėstymą.

    Orientuotas į ryšį

Tai į ryšį orientuota paslauga, o tai reiškia, kad apsikeitimas duomenimis vyksta tik užmezgus ryšį. Kai duomenų perdavimas bus baigtas, ryšys bus nutrauktas.

lygiagretus apdorojimas
    Pilnas dvipusis

Tai yra pilnas dvipusis būdas, leidžiantis duomenis perduoti abiem kryptimis tuo pačiu metu.

    Orientuotas į srautą

TCP yra į srautą orientuotas protokolas, nes jis leidžia siuntėjui siųsti duomenis baitų srauto forma, o taip pat leidžia gavėjui priimti duomenis baitų srauto forma. TCP sukuria aplinką, kurioje tiek siuntėjas, tiek imtuvas yra sujungti įsivaizduojamu vamzdžiu, vadinamu virtualia grandine. Ši virtuali grandinė perneša baitų srautą internete.

Transporto kontrolės protokolo poreikis

Sluoksniuotoje tinklo modelio architektūroje visa užduotis yra padalinta į mažesnes užduotis. Kiekviena užduotis priskiriama tam tikram sluoksniui, kuris apdoroja užduotį. Viduje TCP/IP modelis , penki sluoksniai yra taikymo sluoksnis, transportavimo sluoksnis, tinklo sluoksnis , duomenų ryšio sluoksnis ir fizinis sluoksnis. Transporto lygis atlieka svarbų vaidmenį užtikrinant tiesioginį ryšį su tiesioginio taikymo procesais. Jis sukuria 65 000 prievadų, kad būtų galima pasiekti kelias programas vienu metu. Jis paima duomenis iš viršutinio sluoksnio, padalija duomenis į mažesnius paketus ir perduoda juos į tinklo sluoksnį.

TCP

TCP veikimas

Naudojant TCP, ryšys užmezgamas naudojant trijų krypčių rankų paspaudimą. Klientas siunčia segmentą su eilės numeriu. Savo ruožtu serveris siunčia savo segmentą su savo eilės numeriu ir patvirtinimo seka, kuri yra vienu daugiau nei kliento eilės numeris. Kai klientas gauna savo segmento patvirtinimą, jis siunčia patvirtinimą serveriui. Tokiu būdu užmezgamas ryšys tarp kliento ir serverio.

TCP

TCP privalumai

  • Ji teikia į ryšį orientuotą patikimą paslaugą, o tai reiškia, kad garantuoja duomenų paketų pristatymą. Jei duomenų paketas prarandamas tinkle, TCP iš naujo išsiųs prarastus paketus.
  • Tai suteikia srauto valdymo mechanizmą naudojant stumdomo lango protokolą.
  • Jis suteikia klaidų aptikimą naudojant kontrolinę sumą ir klaidų valdymą naudojant „Go Back“ arba ARP protokolą.
  • Jis pašalina spūstis, naudodamas tinklo perkrovos išvengimo algoritmą, kuris apima įvairias schemas, tokias kaip adityvinis padidėjimas / dauginamasis mažinimas (AIMD), lėtas paleidimas ir perkrovos langas.

TCP trūkumas

Tai padidina daug pridėtinių išlaidų, nes kiekvienas segmentas gauna savo TCP antraštę, todėl maršruto parinktuvo suskaidymas padidina pridėtines išlaidas.

TCP antraštės formatas

TCP
    Šaltinio prievadas:Tai apibrėžia programos, kuri siunčia duomenis, prievadą. Taigi, šiame lauke yra šaltinio prievado adresas, kuris yra 16 bitų.Kelionės tikslo uostas:Jis apibrėžia programos prievadą priimančiojoje pusėje. Taigi, šiame lauke yra paskirties prievado adresas, kuris yra 16 bitų.Eilės numeris:Šiame lauke yra tam tikros sesijos duomenų baitų eilės numeris.Patvirtinimo numeris:Kai nustatyta ACK vėliavėlė, joje yra kitas duomenų baito eilės numeris ir jis veikia kaip ankstesnių gautų duomenų patvirtinimas. Pavyzdžiui, jei imtuvas gauna segmento numerį „x“, tada jis atsako „x+1“ kaip patvirtinimo numerį.HLEN:Jis nurodo antraštės ilgį, nurodytą 4 baitų žodžiais antraštėje. Antraštės dydis yra nuo 20 iki 60 baitų. Todėl šio lauko reikšmė būtų nuo 5 iki 15.Rezervuota:Tai 4 bitų laukas, skirtas naudoti ateityje, ir pagal numatytuosius nustatymus visi yra nustatyti į nulį.Vėliavos
    Yra šeši valdymo bitai arba vėliavėlės:
      URG:Tai yra skubi nuoroda. Jei jis nustatytas, duomenys apdorojami skubiai.ACK:Jei ACK nustatytas į 0, tai reiškia, kad duomenų pakete nėra patvirtinimo.PSH:Jei šis laukas nustatytas, priimančiojo įrenginio prašoma perkelti duomenis į priimančią programą, jų neperkeliant į buferį.RST:Jei jis nustatytas, jis prašo iš naujo paleisti ryšį.SYN:Jis naudojamas ryšiui tarp šeimininkų užmegzti.GALAS:Jis naudojamas ryšiui atjungti, ir daugiau duomenų mainų nebus.
    Lango dydis
    Tai 16 bitų laukas. Jame yra duomenų, kuriuos imtuvas gali priimti, dydis. Šis laukas naudojamas srauto tarp siuntėjo ir gavėjo valdymui, taip pat nustatomas buferio kiekis, kurį imtuvas skyrė segmentui. Šio lauko reikšmę nustato imtuvas.Kontrolinė suma
    Tai 16 bitų laukas. Šis laukas yra neprivalomas UDP, tačiau TCP/IP atveju šis laukas yra privalomas.Skubus rodyklė
    Tai žymeklis, nukreipiantis į skubių duomenų baitą, jei URG vėliavėlė nustatyta į 1. Ji apibrėžia reikšmę, kuri bus pridėta prie eilės numerio, kad būtų gautas paskutinio skubaus baito eilės numeris.Galimybės
    Tai suteikia papildomų parinkčių. Neprivalomas laukas pateikiamas 32 bitais. Jei šiame lauke yra mažesni nei 32 bitų duomenys, norint gauti likusius bitus, reikia užpildyti.