A TCP (Transmission Control Protocol) és az UDP (User Datagram Protocol) az internet protokoll (IP) által használt két szabványos szállítási réteg.
Mind a TDP, mind az UDP fejlécek a csomagolási üzenetek részeként a hálózati kapcsolatokra való átvitelhez. A TCP fejlécek és az UDP fejlécek mindegyike tartalmaz egy paramétercsaládot, amelyeket a protokoll műszaki specifikációi határoztak meg.
TCP fejléc formátum
Mindegyik TCP fejlécben tíz kötelező mező van, összesen 20 byte (160 bites ) méretű. Opcionálisan tartalmazhatnak egy további 40 bájt méretű adatszakaszt is.
Ez a TCP fejlécek elrendezése:
- Forrás TCP port száma (2 bájt)
- Rendeltetési TCP port száma (2 bájt)
- Sorszám (4 bájt)
- Nyugtázó szám (4 bájt)
- TCP adat-offset (4 bit)
- Fenntartott adatok (3 bit)
- Vezérlő zászlók (akár 9 bit)
- Ablakméret (2 bájt)
- TCP ellenőrző összeg (2 bájt)
- Sürgős mutató (2 bájt)
- TCP opcionális adatok (0-40 byte)
A TCP beszúrja a fejléc mezőket az üzenetfolyamba a fenti sorrendben.
- A forrás és cél TCP portszámok a kommunikációs végpontok az eszközök küldéséhez és fogadásához.
- Az üzenetfeladók sorszámokat használnak az üzenetek sorrendjének megjelölésére. Mind a küldő, mind a vevők a nyugtázó számok mezőt használják a nemrég kapott vagy várhatóan elküldött üzenetek sorozatszámának kommunikálásához.
- Az adat-offset mező a TCP fejléc teljes méretét tárolja négy bájtos többszörösben. Az opcionális TCP mezőt nem használó fejlécnek 5 (20 byte-os) adat-offsetje van, míg a maximális méretű opcionális mezőt használó fejléc 15 (60 byte-os) adat-eltolással rendelkezik.
- A fenntartott adatok a TCP fejlécekben mindig nulla értékűek. Ez a mező azt a célt szolgálja, hogy az összes fejléc méretét négy bájt többszöröse (a számítógépes adatfeldolgozás hatékonysága szempontjából fontos) igazítsa.
- A TCP hat szabványos és három kiterjesztett vezérlõjelzõt (mindegyik egyenként be- vagy kikapcsoló egyéni bitet használ) az adatáramlás kezelésére bizonyos helyzetekben. Például egy bites zászló kezdeményezi a TCP kapcsolat reset logikáját. Ezeknek a mezőknek a részletes működése meghaladja a jelen cikk alkalmazási körét.
- A TCP-feladók az ablakmérettel rendelkező számot használják annak szabályozása érdekében, hogy mennyi adatot küldjenek a vevőnek, mielőtt visszaigazolást kérne. Ha az ablak mérete túlságosan kicsi lesz, akkor a hálózati adatátvitel szükségtelenül lassú lesz, míg ha az ablakméret túl nagy lesz, akkor a hálózati kapcsolat telített lesz (más alkalmazásokhoz nem használható), vagy a vevő nem tudja feldolgozni a bejövő adatokat gyorsan elégséges (ami szintén lassú teljesítményt eredményez). A protokollba beépített merevítő algoritmusok dinamikusan kiszámolják a méretértékeket, és ezt a TCP fejlécet használják a feladók és a vevők közötti változások koordinálására.
- A TCP fejlécben lévő ellenőrző összeg értékét a protokoll-feladó mint matematikai technika generálja, hogy segítsen a vevőnek érzékelni a sérült vagy sérült üzeneteket.
- A sürgős mutatómezőt gyakran nullára állítják, és figyelmen kívül hagyják, de az egyik vezérlõjelzõvel összekapcsolva adatszigmentként is használhatók az üzenet egy részhalmazának jelölésére, amely elsõdleges feldolgozást igényel.
- Az opcionális TCP-adatok használata túlmutat e cikk alkalmazási körén, de támogatja a speciális nyugtázási és ablakméretezési algoritmusokat.
UDP fejléc formátum
Mivel az UDP lényegesen korlátozottabb, mint a TCP, a fejlécjei sokkal kisebbek. Az UDP fejléc 8 bájtot tartalmaz, a következő négy kötelező mezőre osztva:
- Forrás port száma (2 bájt)
- Rendeltetési hely port száma (2 bájt)
- Az adatok hossza (2 bájt)
- UDP ellenőrző összeg (2 bájt)
Az UDP beszúrja a fejléc mezőket az üzenetfolyamba a fenti sorrendben.
- A forrás és cél UDP portszámok a kommunikációs végpontok az eszközök küldéséhez és fogadásához.
- Az UDP hosszmezője az egyes datagramok teljes méretét jelenti, beleértve a fejlécet és az adatokat is. Ez a mező legalább 8 byte értékkel (a szükséges fejléc méretével) és a 65 000 bájt fölötti mérethez van hozzárendelve.
- A TCP-hez hasonlóan, az UDP ellenőrzőösszeg lehetővé teszi a vevők számára, hogy keresztellenőrzik a bejövő adatokat az üzenet sérült bitjeihez.