Perdavimo valdymo protokolas (TCP) ir vartotojo duomenų perdavimo protokolas (UDP) yra du standartiniai transporto sluoksniai, naudojami kartu su interneto protokolu (IP) .
Tiek TDP, tiek UDP naudojimo antraštės yra pakuočių pranešimų duomenų dalis, perduodamos per tinklo jungtis. TCP antraštėse ir UDP antraštėse kiekviena yra parametrų rinkinys, vadinamas laukais, apibrėžtais protokolo techninėse specifikacijose.
TCP antraščių formatas
Kiekviename TCP antraštėje yra dešimt privalomų laukų, kurių bendras dydis yra 20 baitų (160 bitų ). Jie taip pat gali papildomai įtraukti papildomą duomenų sekciją iki 40 baitų.
Tai TCP antraščių išdėstymas:
- Šaltinio TCP prievado numeris (2 baitai)
- Paskirties TCP prievado numeris (2 baitai)
- Sekos numeris (4 baitai)
- Patvirtinimo numeris (4 baitai)
- TCP duomenų nuokrypis (4 bitai)
- Rezervuoti duomenys (3 bitai)
- Valdymo vėliavos (iki 9 bitų)
- Lango dydis (2 baitai)
- TCP kontrolinė suma (2 baitai)
- Skubus žymeklis (2 baitai)
- TCP neprivalomi duomenys (0-40 baitų)
TCP įterpia antraščių laukus į pranešimų srautą, nurodytą aukščiau.
- Šaltinio ir paskirties TCP prievado numeriai yra ryšio siuntimo ir priėmimo įrenginių priėmimo taškai.
- Pranešimų siuntėjai naudoja eilės numerius, kad pažymėtų pranešimų grupės užsakymą. Tiek siuntėjai, tiek imtuvai naudoja patvirtinimo numerių lauką, norėdami perduoti neseniai gautų ar tikėtinų išsiųsti pranešimų sekos numerius.
- Duomenų išlyginimo laukas saugo bendrą TCP antraštės dydį, susidedantį iš keturių baitų. Antraštė, kurioje nenaudojamas pasirinktinis TCP laukas, turi 5 balų (20 baitų) vertės, o antraštėje, kurioje naudojamas didžiausias pasirinktinio lauko laukas, yra 15 duomenų (tai yra 60 baitų).
- Rezervuoti duomenys TCP antraštėse visada turi reikšmę nuliui. Šis laukas skirtas suderinti viso antraštės dydį su keturių baitų skaičiumi (svarbu kompiuterinių duomenų apdorojimo efektyvumui).
- TCP naudoja šešių standartinių ir tris papildomas kontrolines vėliavas (kiekvienas atskiras bitas, rodantis įjungimą arba išjungimą ), kad valdytų duomenų srautą konkrečiose situacijose. Pavyzdžiui, vienos žymos vėliava inicijuoja TCP jungties paleidimo logiką. Išsamus šių sričių veikimas viršija šio straipsnio taikymo sritį.
- TCP siuntėjai naudoja numerį, vadinamą lango dydžiu, kad reguliuotų, kiek duomenų jie siunčia imtuvui, prieš tai reikalaudami patvirtinimo. Jei lango dydis tampa per mažas, tinklo duomenų perdavimas bus nereikalingai lėtas, o jei lango dydis tampa per didelis, tinklo linija gali tapti sočia (netaikoma kitoms programoms) arba imtuvas gali neapsunkinti apdoroti gaunamus duomenis greitai pakankamai (taip pat dėl lėto veikimo). Prognozuojantys algoritmai, įterpti į protokolą, dinamiškai apskaičiuoja dydžio reikšmes ir naudoja šį TCP antraščių lauką, kad koordinuotų siuntėjų ir imtuvų pokyčius.
- TCP antraštėje esančio kontrolsumo vertę protokolo siuntėjas sukuria kaip matematinę techniką, padedančią imtuvui aptikti sugadintus arba sugadintus pranešimus.
- Skubos rodyklės laukas dažnai nustatomas į nulį ir ignoruojamas, bet kartu su viena iš kontrolinių vėliavų, jis gali būti naudojamas kaip duomenų suvedimas, kad pranešimo pogrupis būtų pažymėtas pirmenybės apdorojimu.
- Pasirinktinių TCP duomenų naudojimas viršija šio straipsnio taikymo sritį, bet apima paramą specialiems patvirtinimo ir langų mastelio algoritmams.
UDP antraštės formatas
Kadangi UDP yra daug labiau ribotas nei TCP, jo antraštės yra daug mažesnės. UDP antraštėje yra 8 baitai, suskirstyti į šiuos keturis privalomus laukus:
- Šaltinio prievado numeris (2 baitai)
- Paskirties prieigos numeris (2 baitai)
- Duomenų ilgis (2 baitai)
- UDP kontrolinė suma (2 baitai)
UDP įterpia antraščių laukus į savo pranešimų srautą, kaip nurodyta aukščiau.
- Šaltinio ir paskirties UDP prievado numeriai yra ryšio siuntimo ir priėmimo įrenginiai.
- Ilgis lauke UDP rodo bendrą kiekvienos datagramos dydį, įskaitant antraštes ir duomenis. Šis laukas svyruoja nuo mažiausiai 8 baitų (reikalaujamo antraštės dydžio) iki dydžių virš 65 000 baitų.
- Panašus į TCP, UDP kontrolinė suma leidžia imtuvams patikrinti gaunamus duomenis už bet kokius sugadintus pranešimo bitus.