7.1.4. Szállítási réteg

Ezen a szinten két különbözo protokoll található teljesen eltéro tulajdonságokkal: a TCP és az UDP protokoll.

7.1.4.1. TCP (Transmission Control Protocol)

A TCP a TCP/IP protokollkészletben az IP után a második legfontosabb protokoll. A TCP a hálózati és az alkalmazási szint között továbbítja az adatokat. Ez a protokoll az IP-vel ellentétben megbízható, kapcsolatorientált és bájtfolyamatú adattovábbítást végez. Tehát hibamentes adattovábbítást nyújt, és a rendeltetési alkalmazás a helyes sorrendben kapja az adatokat. Ez végzi az üzenetek széttördelését, összeállítását, az elveszett részek újraadását, a datagramok helyes sorrendjének visszaállítását.

A TCP fogadja a tetszõleges hosszúságú üzeneteket a felhasználói folyamattól, és azokat maximum 64 kbyte-os darabokra vágja szét. Ezekhez fejlécet fûz, majd ezeket a darabokat egymástól független datagramokként küldi el. A hálózati réteg sem azt nem garantálja, hogy a datagramokat helyesen kézbesíti, sem a megérkezett datagramok helyes sorrendjét. A TCP feladata az, hogy idõzítéseket kezelve szükség szerint újraadja õket, illetve, hogy helyes sorrendben rakja azokat össze az eredeti üzenetté. Minden TCP által elküldött byte-nak saját sorszáma van. A sorszámtartomány 32 bit széles.

23. ábra: TCP csomagformátum

7.1.4.2. UDP (User Datagram Protocol)

A TCP protokoll mellett ez a másik protokoll helyezkedik el a szállítási szinten. Ez sokkal gyorsabb protokoll, mint a TCP protokoll, viszont nem megbízható adatátvitel szempontjából. Nem kapcsolatorientált, nincs hibajavítás, nincs nyugtázás. Tulajdonképpen az IP szint által biztosított szolgáltatásokat nyújtja felfelé. Nagyon hasonlít a hálózati szinten elhelyezkedõ IP protokollhoz. Az IP az adatokat egy gazdaszámítógépnek továbbítja, viszont csak az UDP képes arra, hogy az adatokat a gazdagép több rendeltetési helyére irányítsa. Ezekhez a rendeltetési helyekhez a hálózati protokoll portokat rendel, ami lényegében az alkalmazás címe.
Akkor szokták használni, ha az adatátvitel sebessége a legfontosabb, minden többi feladatot a felette elhelyezkedo réteg lát el. Tipikusan a DNS-ek (Domain Name Server), real-time (a felhasználással egyszerre történõ, igen gyors, számítógépes folyamat) alkalmazások, játékok használják.
Gyakran találkozunk olyan alkalmazásokkal, ahol az üzenet elfér egy datagramban is. Jó példa erre a nevek kikeresése. Amikor egy felhasználó egy másik rendszerrel kapcsolatba akar lépni, akkor általában az adott rendszer nevét fogja megadni, és nem az IP-címét. Mielott bármit is kezdhetne vele, a felhasználó rendszerének ezt a nevet le kell fordítania IP-címre. Az erre a célra szolgáló adatbázissal viszont nem minden rendszer rendelkezik, ezért a felhasználó rendszere az adatbázissal bírót kéri meg a fordításra. A kérés annyira rövid, hogy biztosan elfér egyetlen datagramban. Ugyanez mondható el a válaszról is. Viszont az olyan kérdéshez, amely egyetlen datagramban elfér, nincs szükség a TCP teljes bonyolultságára. Ha egy pár másodpercen belül nem kapunk választ, akkor egyszerûen megismételjük a kérdést. Az ilyen alkalmazásokra a TCP mellett létezik az UDP protokoll. Olyan alkalmazásokhoz találták ki, ahol nincs szükség datagramok sorozatba állítására.
Hasonlóan illeszkedik a rendszerbe, mint a TCP. A hálózati szoftver az adatok elejére ráilleszti az UDP fejlécet ugyanúgy, ahogy a TCP fejléc esetében teszi. Az UDP ezek után az IP-nek továbbítja az adatot. Az IP hozzáteszi a saját fejlécét, amibe a TCP helyett az UDP protokollszámát helyezi el a Protokoll mezoben (lásd IP fejléc).


Az UDP nem végez annyi feladatot, mint a TCP: nem tördeli szét az üzenetet datagramokra, nem figyeli a már elküldött adatokat, hogy majd esetleg újraadja oket. Az UDP csak portszámokat biztosít, hogy egyszerre több program is használhassa a protokollt. Az UDP portszámok ugyanúgy használatosak, mint a TCP portszámok. Az UDP-t használó kiszolgálókhoz is léteznek jól ismert portszámok.

 

tart.