6.8. Összefoglalás

A szállítási réteg megértése kulcsfontosságú a rétegekbe szervezett protokollok megértéséhez. Számos különböző szolgáltatást kínál, amelyek közül a legfontosabb a végpontok közötti, összeköttetés-alapú, megbízható bájtfolyam a küldőtől a vevőig. Ehhez egy olyan szolgáltatási primitív készlet segítségével lehet hozzáférni, amely az összeköttetések kiépítését, használatát és lebontását teszi lehetővé. Egy gyakran alkalmazott szállítási réteg interfész a Berkley-csatlakozók (sockets) által nyújtott interfész.

A szállítási protokolloknak képesnek kell lenniük az összeköttetések kezelésére egy megbízhatatlan hálózaton. Az összeköttetések kiépítését az olyan késleltetett és megkettőzött csomagok léte nehezíti, amelyek teljesen váratlan pillanatokban újra felbukkanhatnak. Emiatt „háromutas kézfogás”-ra van szükség az összeköttetések felépítéséhez. Az összeköttetések bontása könnyebb, mint a kiépítésük, de a „két hadsereg” probléma miatt még így is távol áll a triviálistól.

A szállítási rétegnek még akkor is sok dolga van, ha a hálózati réteg teljesen megbízható. Kezelnie kell az összes szolgáltatási primitívet, az összeköttetéseket és az időzítőket, a sávszélességet kell felosztania torlódáskezeléssel, és a forgalomszabályozás érdekében egy változó méretű csúszóablakot kell futtatnia.

A versengő folyamok számára a torlódáskezelésnek a teljes elérhető sávszélességet igazságosan kell felosztania, és a hálózatban történt változásokat folyamatosan nyomon kell követnie. Az AIMD vezérlési törvény egy igazságos és hatékony kiosztáshoz vezet.

Az internet két fő szállítási protokollt használ, az UDP-t és a TCP-t. Az UDP egy összeköttetés nélküli protokoll, amely lényegében egy olyan héj az IP-csomagok körül, amely lehetővé teszi több folyamat nyalábolását és a nyalábok szétbontását egyetlen IP-címen. Az UDP kliens–szerver-párbeszédek lefolytatására alkalmas, például RPC használatával. Felhasználható még az RTP-hez hasonló valós idejű protokollok építőelemeként.

Az internet fő szállítási protokollja a TCP, amely megbízható, kétirányú, torlódáskezeléssel ellátott bájtfolyamot biztosít. Minden szegmens egy 20 bájtos fejrészt tartalmaz. Nagy mennyiségű munka fekszik a TCP teljesítmény-optimalizálásában, amely Nagle, Clark, Jacobson, Karn és mások algoritmusait használja fel.

A hálózat hatékonysága általában főként a protokollfeldolgozás és a szegmensfeldolgozás többletterhelésén múlik, és a sebesség növelésével a helyzet egyre romlik. A protokollokat nagy sávszélesség-késleltetés szorzattal rendelkező útvonalakon arra kell tervezni, hogy a lehető legkisebbre csökkentsék a felhasznált szegmensek számát, és hogy olyan útvonalat dolgozzanak ki, amelyen nagy a sávszélesség-késleltetés szorzat. A gigabites hálózatok egyszerű protokollokat és folyamszerű feldolgozást igényelnek.

A késleltetéstűrő hálózatok kézbesítési szolgáltatást nyújtanak olyan hálózatokon, amelyben az adatkapcsolatokon az összeköttetések esetlegesek, vagy a késleltetések nagyok. A közbeeső csomópontok az információt hordozó kötegeket tárolják és hordozzák, így azok végül célba érnek még akkor is, ha bármikor nincs működő útvonal a küldő és vevő között.