TCP hálózat működése

Innen: TételWiki
A lap korábbi változatát látod, amilyen Csega (vitalap | szerkesztései) 2011. június 11., 14:00-kor történt szerkesztése után volt. (Sávszél-tesztelés)
  • Az Internet egy csomagkapcsolt hálózat --> csak a végpontokról van infó, a köztes hálózatról nincs.
  • Ha kettőnél több számítógépközpontot kötünk össze, akkor a sávszélesség felosztása problémákba ütközhet. Ennek megoldására és a csomagok célba juttatására született meg a TCP (transmission control protocol - átvitelvezérlő protokoll).

TCP hálózat alapjai

  • Alapvető adatátvitel: Egy oktettekből álló folytonos adatfolyam átvitelét látja el, úgy hogy a bájtokat szegmensekre bontja szét.
  • Megbízhatóság: A TCP dolga az elveszett, megsérült, megduplázódott, nem helyes sorrendben érkezett csomagok érzékelése, és ezek kiküszöbölése. Ezt úgy éri el, hogy minden egyes kiküldött oktetthez tartozik egy sorszám, és a fogadó oldalnak pozitív megerősítést kell adjon a megérkezett oktettekről. Ha egy bizonyos időn belül nem jön pozitív megerősítés, akkor az adatot újraküldi a küldő oldal. Mindamellet ez a sorszám arra is jó, hogy a fogadó oldal a nem helyes sorrendben jött adatokat helyesen sorba tudja rendezni és észlelje a duplázódásokat. Az adatok sérülésének észrevételére pedig ellenörzőösszeget használ.
  • Adatfolyam vezérlés: A TCP egy úgynevezett torlódási ablakot (congestion window - cwnd) használ az adatfolyamvezérlésre.
  • Multiplexitás: Mint említettük a TCP folyamat-folyamat közti kommunikációra szolgál, azonban egy hoszton több folyamat is futhat, és több is akarhat párhuzamosan kommunikálni, így a TCP a hoszton ún. portokat használ. A kapcsolat kommunikációnál használt hálózati címe, és a TCP port együtt adják az ún. socket-et és a socketekből álló egyértelmű párokkal azonosítjuk a kapcsolatot. Minden egyes hoszt saját feladata, hogy a feladatok számára portokat biztosítson egy hozzárendeléssel(bind()).
  • Kapcsolatok: Lévén a kommunikációt egy nem feltétlenül megbízható alapokra helyezett hálózaton kell lefolytatni, a kapcsolat létrehozásához kézfogási (Handshake) mechanizmusokat kell beépíteni.
  • Megelőző biztonság: A TCP szükség esetén gondoskodik helyes default értékek használatáról, és beállításáról. (Pl. kapcsolódó kliens esetén automatikusan kap portot, ha nem adunk meg külön ablakméretet, akkor az OS TCP kezelő része ad meg ilyet, stb.)

Hardver

  • Routereknél default kézbesítés: best effort (legjobb tudás szerint) és SORBAN. Spec esetekben (diffuser mód) prioritás feladó, címzett vagy típus alapján.

A TCP protokoll

  • Ha egy csomag célbaért, akkor a célgép nyugtázó csomagot (acknowledgement packet - ACK) küld a küldő gép felé. Ennek mérete kicsi, csak fejléc és minimális tartalom (következő küldendő csomag sorszáma). Ha nem érkezik meg meghatározott időn belül, vagy az ACK-k érkezésekor egy sorszám kimarad, újra kell küldeni a hiányzó csomagot.
  • Roundtrip time (RTT) - ami alatt a kiküldött csomag ACK-ja visszaérkezik a küldő géphez (teljes körbemenet ideje). Mérése: több csomag küldéséból az utolsó kettő átlaga. Szórás: az átlagos RTT és az aktuálisan beérkezett különbsége. Szofisztikáltabb módszer \sigma a szórás, T_i a legutolsó csomag RTT-je, \bar{T} az átlagos RTT, '-vel a frissített értékeket jelöltem:

\sigma' = \frac{2}{3} \sigma + \frac{1}{3} \left( T_i - \bar{T} \right)

\bar{T}' = \frac{2}{3}T + \frac{1}{3}T_i

  • Csomagvesztés: ha az átlagos RTT után 2\sigma-val sem jön válasz. Ehhez legalább három sikeres csomagküldés szükséges (a szórás becsléséhez). Mivel a csomagvesztés manapság kicsi (minden 1000-10000-edik csomag veszik csak el), az ACK-k ötös-tízes csomagokban érkeznek, csak azt kell újraküldeni, ami ebből kimarad.

Sávszél-tesztelés

Vagy másnéven Slow Start. Sávszél-tesztelés alatt a sávszélesség exponenciálisan növekszik (1 RTT-nyi idő alatt több csomagot is kiküld a rendszer). Ezt addig folytatja, amíg el nem veszik egy csomag. Ekkor a sávszélességet a csomagvesztés előtti utolsó érték felére veszi vissza, majd exponenciális helyett lineáris sávszélesség-növelés kezdődik (és a rendszer átvált torlódás-elkerülő üzemmódba). Ezen módszer segítségével logaritmikus idő alatt megtalálja a rendszer az általa elérhető sávszélességet. A sávszélesség aktuális értéke: \frac{P}{\hat{T}}w, ahol P a csomagméret, \hat{T} a roundtrip time, w pedig a kiküldött csomagok száma.

Torlódás-kezelés

Congestion avoidance

A TCP hálózat, mint kaotikus rendszer

MSc záróvizsga tételek
Tételek Soktest rendszerek | Transzportfolyamatok | Véletlen gráfok generálása, tulajdonságai | Elsőrendű és folytonos fázisátalakulások | Válasz- és korrelációs függvények, fluktuáció-disszipáció tétel | Sztochasztikus folyamatok | A statisztikus fizikai szimulációk alapjai és a Monte Carlo módszer | Dinamikai rendszerek, kaotikus viselkedés | Adatelemzés: lineáris és nem lineáris regresszió egy modellen bemutatva | Adatelemzés: bootstrap modellek | TCP hálózat működése | Adatelemzés: ARCH, GARCH folyamatok | Numerikus módszerek | Vizualizációs módszerek