Szerelési vegyületet (TCP)
Kapcsolat létrehozása
„Három-utas kézfogás” - egy alkalmazott eljárás a kapcsolat létesítésekor. Ezt az eljárást általában kezdeményezi egy TCP és válaszolt a másik TCP. Ez az eljárás is működik, ha a két TCP egyidejűleg kezdeményezi a. Inicializálásnál kísérletet végezni mindkét végén ugyanabban az időben, egyes TCP kap szegmense „SYN”, amely nem hordoz elismervényt után küldött „SYN”. Természetesen „SYN” szegmensben az érkezését régi másolatok lenyűgözni a címzett, hogy egyidejű kapcsolatot. Helyes használata „reset” szegmensek egyértelműség ezekben az esetekben.
Az alábbiakban néhány példa a vegyületek inicializálás. Bár ezek a példák nem mutatják a szinkronizációs kapcsolatot a szegmensek adatok átvitelére, akkor teljesen jogos, mert a TCP részesülő program szegmensek nem adja át az adatokat a kliens, amíg egyértelmű az adatok érvényesek (azaz a felhasználói adatok „tárolni”, amíg amíg a kapcsolat nem megy az állam a állapítható meg). Háromutas kézfogás csökkenti annak lehetőségét, hamis kapcsolatokat. Információk beszerzésének ilyen ellenőrzés elérni végrehajtása közötti átváltás a számítógép memóriájában, és kering az üzenetküldő hálózat.
Itt, az „állam” TCP protokollt programot megfelelnek az a pillanat után azonnal küldő vagy a fogadó szegmens (a tartalmát a szegmens látható, a középső oszlopban az egyes sorok). Szegmens tartalma látható rövidített formában, a sorszám, vezérlő jelzőket, és ACK mező. Más területeken, például az ablak hossza, és az adatok terén továbbra is túlmutat érdekünk.
Előállítás régi ismétlődő SYN jel
9. ábra
Egy egyszerű példa, úgy a helyzet, így a régi példányban a 9. ábra a 3. sorban a régi SYN jel eléri az ismételt TCP B. Az utóbbi program nem tudja meghatározni, hogy ez egy régi másolata, és így megfelel a szokásos módon (4. sor).
TCP Egy program hibát észlel az értéket a mezőbe, és ezért visszatér az ACK jelet RST (reset). Így SEQ mező értékét úgy választjuk meg, hogy elfogadható szegmens. Pro gramm TCP B kézhezvételét követően a jel RST változások az állam meghallgatni. Ha a 6-os vonal jelet SYN érvényes és nem elavult eléri TCP B program, a szinkronizálási folyamat megy végbe rendesen. Ha a SYN jel a 6. sorban eléri TCP B programot jel RST előtt, lehet egy bonyolultabb kombinált RST csere burkolat mindkét irányban.
Félig nyitott kapcsolatok és egyéb rendellenességet
A már kialakult kapcsolat az úgynevezett „félig nyitott”, ha a TCP kapcsolat lezárva, vagy elhagyta őt. És ő csinálta a végén anélkül, hogy a partnere. Továbbá, ez a helyzet akkor állhat elő, ha a szinkronizálás zavarta meg a végén a vonal miatt nem vezetett a adatvesztést a memóriában. Ha az ilyen vegyületek egy kísérlet, hogy adatokat küldjön mindkét irányban, akkor az újraindítás kapcsolatot. De várható, hogy a félig nyitott kapcsolatok ritkaság, és a behajtási eljárás enyhén részt.
Ha a végén a vegyület minősül nem létezik, és az ügyfél a végén B próbál adatokat küldeni, ez vezet az a tény, hogy a végén a TCP B megkapja a vezérlő üzenetet újraindít. Ez az üzenet azt mutatja, a TCP programot végén B, hogy valami nincs rendben, és azt javasolta, hogy töröljék el a kapcsolatot.
Tegyük fel, hogy két ügyfelek és B pontok kommunikálnak egymással, és ebben a pillanatban van összeomlása, ami adatvesztést a memóriában a program végén a TCP A. függően az operációs rendszer, a szolgáltató program TCP A, valószínűleg be kell vonni mechanizmust a hiba kijavítására. A TCP A programot indítanak újra, akkor valószínű, hogy újra kezdi meg munkáját az elejétől, vagy egy visszaállítási pont. Ennek eredményeként, a program egy, valószínűleg megpróbálja megnyitni (OPEN) vegyület vagy információt küldeni (send) keresztül olyan vegyület, amely úgy véli, nyitva van. Az utóbbi esetben, a helyi programok (TCP végén A) kapott egy üzenetet, „kapcsolat nincs nyitva.” Amikor megpróbál kapcsolatot létesíteni a TCP A program küld egy szegmenst tartalmazó jel SYN. Ez a forgatókönyv eredményezi a helyzet a 10. ábrán látható Miután TCP A összeomlik, a felhasználó megpróbálja újra megnyitja a kapcsolatot. Program TCP B, eközben továbbra is úgy véli, hogy a kapcsolat nyitva marad.
Detection félig nyitott
10. ábra
Amikor a 3. sorban SYN jel eléri TCP B programot, amely szinkronban, és a soron következő szegmens az ablakon, TCP B programot reagál erre a visszaigazolást, azt mutatja, a sor számát, hogy el kívánja fogadni (ACK = 100). TCP Egy program, látva, hogy a vonalszakasz 4 nem erősítik küldte, rögzíti hiányában szinkronizálás és elküldi egy reset (RST), mint felfedezték, hogy a vegyület félig nyitott. 5. sorban TCP B programot megszakítja a kapcsolatot. TCP A program továbbra is megpróbál kapcsolatot létesíteni.
Most a probléma megoldódik azáltal, hogy egy egyszerű megerősítést a három út (7. ábra).
Egy másik érdekes történet, ha a TCP Egy program összeomlik, és a TCP B programot, tekintve, hogy mi van a szinkronizálás állam próbál küldeni az adatokat. Ezt a helyzetet mutatja a 11. ábrán.
Ebben az esetben az adatokat küldött a program által TCP B, és jött a program TCP A (2-es vonal). Ők fogják utasítani, mivel azonban a kapcsolat nem létezik. Ennek alapján a TCP A program elküldi az RST jelet. Amint az RST jelet kap a program TCP B, akkor felül kell vizsgálni, és használható, amíg a kapcsolat megszűnik.
(Parcella 300 számú, vétel - 100)
Az aktív oldala vezet a felfedezés
félig nyitott kapcsolat
11. ábra
12. ábra azt mutatja, hogy a két program TCP - A és B, amelyek passzív állapotban, várva a jel SYN. Régi jel ismétlődő program eléri TCP B (2-es vonal), futtatja. Visszaküldött jel SYN-ACK (3 sor), és okoz TCP A program létrehoz egy RST jel (signal on line 3 ACK elfogadhatatlan). TCP B elfogadja a reset és visszatér passzív állapot meghallgatni.
visszatéréshez MEGHALLGAT
Régi Ismétlődő SYN jel újraindul
két passzív foglalatok
12. ábra
Lehet, hogy sok más változatok, amelyek azzal magyarázható, amelyek az alább leírt szabályok létrehozása és RST jelfeldolgozás.
Létrehozása újraindítás jel
Szerint a fő szabály, a reset (RST) kell küldeni, ha egy szegmens érkezik, ami nyilvánvalóan nem erre a kapcsolatot. Ha nem egyértelmű, hogy van olyan eset, tartózkodnia kell az újraindítás.
három országcsoport lehet megkülönböztetni a kapcsolat:
Ha a bejövő szegmens zászló a ACK mező, a jelet a visszaállító szegmens számozott sorban ACK mező az első szegmensben. Ellenkező esetben, a szegmens a reset jel nulla értékű, és a sorszám az ACK mező összegével egyenlő a bejövő szegmense sorozatszámokat, és az azonos hosszúságú. A kapcsolat megmarad a zárt állapotban.
Ha a SYN még nem erősítették meg, és a prioritási szintje bejövő szegmense nagyobb, mint a kért szintre, vagy növeli a helyi szintű prioritás (ha ez elfogadható a felhasználó és a rendszer), vagy küld egy reset. Vagy ha a prioritási szintje bejövő szegmense kevesebb, mint kérte, a feldolgozás folytatódik tovább, mintha a szint azonos volt (ha a távoli TCP nem lehet emelni a részesítendő, hogy az megfeleljen a miénk ez meg fog jelenni a következő szegmens küld, majd zárva lesz vegyület). Ha a SYN kapott nyugta (talán ebben a bejövő szegmense) Az elsőbbségi szintű bejövő szegmensén pontosan meg kell egyeznie a helyszínek Nome szinten. Ha az utóbbi feltétel nem teljesül, a visszaállító küldeni.
Ha a bejövő szegmense van egy ACK jelet, akkor a visszaállítás lesz egy sorszám megfelelő számú jel ACK a bejövő szegmense. Ellenkező esetben, egy visszaállító lesz nulla sorszámot, és az ACK - szám összegével egyenlő a számát a bejövő szegmense, és az azonos hosszúságú. A kapcsolat nem változik az állapota.
Ha a bejövő szegmense van egy védelmi szintet, szigetelés vagy a prioritást, anélkül, hogy megfelelő vegyületek helyi szinten, akkor egy reset küldött, és a vegyületet mozog állapot Zárt. visszaállító veszi sorszáma megfelelő ACK számát a bejövő szegmense.
Feldolgozás újraindítani a jel
Minden Államok kivéve SYN-SENT, minden szegmens a reset jel (RST) vizsgált területeken SEQ. A reset akkor érvényes, ha a sorszám az ablakon belül. Az állam a SYN elküldeni (RST jel érkezik válaszul kezdeti SYN-jel), RST jel kerül elszámolásra, ha az ACK mező igazolják a korábbi küldő SYN jelet.
A vevő az RST első érvényesíti, és csak akkor változtatja meg az állapotát. Ha a vevő volt a hallgató állapotban, ez figyelmen kívül hagyja azt. Ha a vevő képes volt szin- érkezik, visszatér az állam meghallgatni. Más esetekben a vevő megszakítja a kapcsolatot, és továbblép állapotban zárva van. Ha a címzett minden más állami, akkor megszakítja a kapcsolatot, és mielőtt megy a zárt állapotban, értesíti az ügyfelet.