Kiegészítés tcp ip kliens szerver. Kliens-szerver kiegészítő a TCP streaming socketen

A gyermekek számára készült lázcsillapító szereket gyermekorvos írja fel. De vannak olyan helyzetek, amelyek nélkülözhetetlen segítséget nyújtanak a likhomantsi esetében, ha a gyermeknek hanyagul kell arcot adnia. Ezután az apák magukra veszik az újraélesztést és a lázcsillapító készítményeket. Mit szabad adni a ládás gyerekeknek? Hogyan lehet csökkenteni a hőmérsékletet idősebb gyermekeknél? Melyek a legbiztonságosabb arcok?

Kliens-szerver kiegészítő a TCP streaming socketen

A győztes TCP támadófejénél, a rendezettség biztosítása érdekében, kétirányú bájtfolyamokon keresztül. Kérjük, töltse ki a klienst és a szervert tartalmazó kiegészítést. Mindenekelőtt bemutatjuk, hogyan építsünk fel egy szervert TCP stream socketekre, majd egy kliens programot a szerverünk tesztelésére.

A következő program létrehoz egy szervert, amely fogadja az ügyfelektől érkező kéréseket. A felszólító szerver szinkronban, később blokkolja az áramlást mindaddig, amíg a szerver meg nem engedi a kapcsolatot a klienssel. Ez a program egy egyszerű szervert mutat be, amelyet elküldenek a kliensnek. Az ügyfél az értesítési szerver kezelésével fejezi be a napot .

TCP szerver

A szerverstruktúra létrehozását a következő funkcionális diagram mutatja:

A SocketServer.cs programkód tengelye:

// SocketServer.cs a rendszer használatával; a System.Text használatával; a System.Net használatával; a System.Net.Sockets használatával; névtér SocketServer (osztály Program (statikus void Main (string args)) (// Helyi végpont beállítása az IPHostEntry sockethez ipHost = Dns.GetHostEntry("localhost"); IPAddress ipAddr = ipHost.AddressList; IPEndPoint = IPAdEndPoint1(ipAdEndPoint1) ; // Socket létrehozása Tcp / Ip Socket sListener = new Socket (ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); // Socket hozzárendelése a helyi végponthoz, és hallható socket próbálja meg (sListener.Bind(ipEndPoint.); sListener.); (10); // Figyelés indítása, miközben (igaz) (Console.WriteLine ( "Listen on port (0)", ipEndPoint); // A program leáll a bemenet ellenőrzésével Socket handler = sListener.Accept (); string data = null; // Megkaptuk a klienst, próbálunk fogadni minket byte byte = új bájt; int bytesRec = handler.Receive (bytes); data + = Encoding.UTF8.GetString (bytes, 0, bytesRec ); // Megjelenítés adatok a konzolon Console.Write ( "Szöveg eltávolítása: "+ adatok + "\n\n"); // Válasz küldése a kliensnek \ string reply = "Köszönjük, hogy megkérdezte" + data.Length.ToString () + "szimbólumok"; byte msg = Kódolás.UTF8.GetBytes(válasz); handler.Send(msg); if (data.IndexOf ( " ")> -1) (Console.WriteLine("A szerver befejezte a kommunikációt az ügyféllel. "); Break;) handler.Shutdown(SocketShutdown.Both); handler.Close();)) catch (Kivétel ex) (Konzol . WriteLine(ex.ToString());) végül(Console.ReadLine();))))

Nézzük meg ennek a programnak a felépítését.

A mező első széle a socket helyi végpontjához van beállítva. Az első alsó cím a socket beállításához a z'ednan érvényesítéséhez, fel kell készülni a helyi végpont új címére. Az egyedi TCP/IP szolgáltatási címet a gazdagép IP-címének és a szolgáltatás portszámának kombinációja rendeli hozzá a szolgáltatás végpontjának létrehozásához.

A Dns osztály egy olyan módszeren alapul, amely a helyi határban lévő kiterjesztések által támogatott határcímekről szóló információkat konvertálja. Ha a kiterjesztés egynél több helyi tömbcímmel rendelkezik, a Dns osztály az összes tömbcímről információt fordít, és a kiegészítés felelős a megfelelő címek tömbjének kiválasztásáért a kiszolgáláshoz.

Hozzon létre egy IPEndPoint-ot a szerver számára a gazdagép első IP-címének és a Dns.Resolve() metódus kivételével a portszámmal:

IPHostEntry ipHost = Dns.GetHostEntry("localhost"); IP-cím ipAddr = ipHost.AddressList; IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

Itt az IPEndPoint osztály az 11000-es porton lévő localhost-ot képviseli. A Socket osztály új példányaként létrejön egy adatfolyam socket. Miután beállított egy helyi végpontot a kapcsolat pontozásához, létrehozhat egy socketet:

Socket sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

átépítése CímCsalád Adja meg a címzési sémákat úgy, hogy a Socket osztály egy példánya használható legyen a cím kiválasztására.

A paraméterekhez SocketType A TCP és az UDP socketek külön vannak. Az újban többek között a következő jelentéseket jelölheti:

dgram

Datagrammal támogatott. A Dgram értékét Udp-re kell állítani a protokolltípus és az InterNetwork esetében a címcsalád paraméterében.

Nyers

Támogatja az alapul szolgáló szállítási protokollhoz való hozzáférést.

Folyam

Támogatás stream aljzatok. A Stream értékét Tcp-re kell állítani a protokolltípushoz.

A harmadik és utolsó paraméter határozza meg a sockethez szükséges protokolltípust. A paraméterekhez Protokolltípus Megadhatja a következő legfontosabb értéket - Tcp, Udp, Ip, Raw.

Egy lépéssel felismerheti az aljzatot egy további módszerhez bind(). Ha egy socketet egy konstruktor deklarál, akkor nincs hozzárendelve név, hanem csak egy leíró van lefoglalva. A szerver socket névhez való hozzárendeléséhez a Bind() metódus kerül meghívásra. Annak érdekében, hogy egy kliens socket azonnal azonosítsa a TCP stream socketet, a szerverprogram felelős azért, hogy azt a socketnek adja:

SListener.Bind(ipEndPoint);

A Bind() metódus egy socketet egy helyi végponthoz köt. A Bind() hívási metódust a Listen() és Accept() metódusok előtt meg kell próbálni.

Most, miután létrehoztunk egy socketet, és nevet kötöttünk hozzá, hallhatjuk a bemeneti üzeneteket a módszerrel hallgat(). A lehallgató állomáson a checktime aljzat belép a szondába:

SListener.Listen(10);

A paraméter be van állítva zadil (lemaradás); A következő kódban felhalmozható paraméter értéke legfeljebb tíz nap.

A meghallgatás állomásán előkészítjük az ügyféllel való találkozás időpontját, amelyre a módszert nyerik elfogad(). A módszer segítségével a kliens megadása és a kliens és a szerver nevének összekapcsolása befejeződött. Az Accept() metódus megakadályozza, hogy a program hívja, amíg nincs rá szükség.

Az Accept() metódus ellenőrzi a hívás első kérését, és új socketet hoz létre hozzá. Ha új alkotásokat szeretne, a cob socket továbbra is hall, és gazdag adatfolyammal nyerhet az ügyfelek ivásáról szóló matricák fogadására. Nem a szerver addendum hibája, hogy elcsavarodott a lehallgató aljzat. A Vin felelős az Accept metódussal létrehozott socketek sorrendjének fenntartásáért az ügyfelektől érkező beviteli kérések feldolgozásához.

While (true) (Console.WriteLine ( "Egyértelmű vétel a (0) porton keresztül", ipEndPoint); // A program felfüggeszti a bemeneti értesítések ellenőrzésével Socket handler = sListener.Accept ();

Mivel csak a kliens és a szerver hozott létre kapcsolatot egymás között, vicorist módszerekkel kezelheti és távolíthatja el az értesítéseket Küld()і kap() a Socket osztály.

A Send() metódus a kimeneti adatokat a socketbe írja, amellyel a dátum be van állítva. A Receive() metódus beolvassa a bemeneti adatokat a stream socketbe. Egy másik, TCP-n alapuló rendszeren egy zadnanny beszúrható a különböző Send () és Fogadás () metódusok elé a socketek között. A két egymásra utalt entitás pontos protokollja okolható az előzetes találkozókért, így a kliens és a kiszolgáló kiegészítők nem blokkolják egymást, nem tudni, ki a hibás az első előtti tiszteletért.

Ha az adatcsere a szerver és a kliens között megtörtént, a tranzakciót le kell zárni Leállitás()і Bezárás():

Handler.Shutdown(SocketShutdown.Both); kezelő.Close();

SocketShutdown – ez egy újragondolás a foglalat három értékének lecserélésére: Mindkét- zupinyaє vіdravku, hogy otrimannya dannyh aljzat, kap- Zupinyaє otrimannya adataljzat i Küld- zupinyaє vіdpravku adatcsatlakozó.

A socket bezárul a close() metódus meghívásakor, ami a socket Connected teljesítményét is false értékre állítja.

Kliens TCP-n

Az olyan funkciók, mint a vikoristovuyutsya a program-kliens létrehozásához, többé-kevésbé kitalálják a szerver kiegészítést. Ami a szervert illeti, ugyanazokat a módszereket használják a végpont meghatározására, a socket példány létrehozására, az adatok szerkesztésére és eltávolítására, valamint a socket bezárására.

Menj fel a protokollok szerint.

TCP és UDP - mindkét protokoll a szállítási rétegben. UDP - ugyanaz a protokoll kapcsolat létrehozása nélkül és a csomagok nem garantált kézbesítésével. TCP (Transmission Control Protocol) - ugyanaz a protokoll a megállapított rendelésekhez és a csomagok garantált kézbesítéséhez. Kézháton kézremegés (Hello. | Hello. | Csevegjünk? | Csináljunk.), Utána fontos, hogy helyreálljon. Majd a megrendelésnek megfelelően visszaküldték a csomagokat (Ide Rozmov), ráadásul egy újraellenőrzéssel a csomagot a rendelésre küldték. Ha a csomag tönkrement, vagy ha törött ellenőrzőösszegű, akkor újra erőltetik a bort („ismétlés, emelés nélkül”). Ily módon a TCP erősebb, de a megvalósítás szempontjából összehajthatóbb, és láthatóan több órajelet/memóriát jelent, ami nem maradhat fontos a mikrokontrollereknél. A TCP-t legyőző alkalmazásprotokollok alkalmazásához hívhatja az FTP-t, a HTTP-t, az SMTP-t és sok mást.

TL; DR

A HTTP (Hypertext Transfer Protocol) egy alkalmazásprotokoll, a böngészőnk egyik oldalának tűnő szerver segítségére. A HTTP ebben az órában univerzálisan győzedelmeskedik az All-World Web-en a webhelyekről származó információk lekérésében. A képen egy mikrokontroller lámpája látható, a fedélzeten operációs rendszerrel, amelynek színét a böngészőn keresztül lehet beállítani.

A HTTP protokoll szöveges és egyszerű. Másrészt a GET metódus így néz ki, amit a netcat segédprogram jelzőfényekkel küld el a szerver helyi IPv6 címére:

~$Nc fe80::200:e2ff:fe58:b66b%mazko 80<

A HTTP-módszer egy rövid angol szó, nagybetűkkel írva, megkülönböztetve a kis- és nagybetűket. A golyva bőrszerverének támogatnia kell legalább a GET és HEAD metódusokat. A GET és HEAD metódusok krémje, a POST, PUT és DELETE metódusok gyakran blokkolva vannak. A GET metódus nyer a hozzárendelt erőforrás lekérésekor, esetünkben itt a GET / b HTTP / 1.0 de shlyah / b válasz a színre (kék). Szerver azonosító:

HTTP / 1.0 200 OK Szerver: Contiki / 2.4 http://www.sics.se/contiki/ Csatlakozás: bezárás Cache-Control: nincs gyorsítótár, nincs áruház, újra kell érvényesíteni Pragma: nincs gyorsítótár Lejár: 0 Tartalom- type:text/html Contiki RGB

A piros KI

A zöld KI van kapcsolva

A kék be van kapcsolva

A kód a szerver első sorának részévé válik (200-unk van). A Vin három számjegyből álló egész szám. Az első szám azt jelzi, hogy melyik osztályba fogok válni. A kivonás kódja mögött a következő mondatot jelölje meg egy igazolvánnyal, magyarázza el a kifejezést angolul, mintha roz'magyarázná el az embereknek a visszavonás okát. Véleményünk szerint a szerver nem kapott elnézést, minden egy csomóban van (OK).

Ahogy kérdezik, úgy a címsorok is (a skin sor megegyezik a címsor mezővel, az im'ya-érték párja kettővel van elválasztva). A fejlécek egy új sor szimbólumával végződnek, amely után az adatok mehetnek.

A böngészőm a helyi IPv6-címre reagál, így a mikrokontroller firmware-jében van egy további cím, és ugyanazt az előtagot kell hozzárendelni a szimulátor virtuális interfészéhez is:

~ $ sudo ip addr add abcd :: 1/64 dev mazko # linux ~ $ netsh interfész ipv6 cím beállítása mazko abcd :: 1 # windows ~ $ curl http://

Az ezeket a protokollokat vállalati hálózatban megvalósító kiszolgálók IP-címeket, átjárót, hálózati maszkot, névkiszolgálókat és nyomtatót adnak az ügyfeleknek. A koristuvachok számára nem kötelező manuálisan konfigurálni a gazdagépeiket a vikoristovuvat merezh érdekében.

A QNX Neutrino operációs rendszer egy másik AutoIP nevű automatikus konfigurációs protokollt valósít meg, amely az IETF automatikus konfigurációs projektje. Ez a protokoll kis mértékben működik IP-címek hozzárendelésében a linkhez helyi (link-local) gazdagépekhez. Az AutoIP protokoll önállóan hozzárendel egy helyi IP-címet a csatornához, olyan sémát használva, amely megfelel a többi gazdagépnek, és nem megy a központi szerverhez.

A PPPoE protokoll támogatása

A PPPoE rövidítés a „Point-to-Point Protocol over Ethernet” rövidítése. Ez a protokoll egy adott topológiában Ethernet-hálózaton keresztüli továbbításhoz tömöríti az adatokat.

A PPPoE egy specifikáció vezetékes Ethernet hálózat internethez történő csatlakoztatására szélessávú kapcsolaton keresztül, például digitális előfizetői vonal látható, vezeték nélküli kapcsolat vagy kábelmodem. A PPPoE protokoll és a széles körű modem támogatása biztosítja a helyi számítógépes hálózatok védelmét a nagy sebességű adatátviteli hálózatokhoz való egyéni hitelesítéshez.

A PPPoE protokoll egyesíti az Ethernet technológiát a PPP protokollal, amely lehetővé teszi, hogy hatékonyan hozzon létre kapcsolatot egy távoli szerverrel a bőrhámlasztó számára. A beléptetés ellenőrzése, a napi megjelenés és a szolgálatvezetői poszt kiválasztása a dolgozókhoz van rendelve, nem pedig a hálózat csomópontjaihoz. Ennek a megközelítésnek az a prioritása, hogy sem a telefontársaság, sem az internet kiszolgálóinak postai dolgozója nem hibás abban, hogy számára külön támogatást nyújtott.

A vіdminu vіd komtovanih z'єdnаn a ''іdnannya'' digitális előfizetői vonalon és kábelmodemen keresztül mindig aktív. A testnevelés szilánkjai a szolgálat távoli posztalkalmazottjával kollektíven győznek a nagyszámú koristuva, szükséges megjelenési mód, egyfajta ügyintézői és forgalmi címzett nyilvántartásba vétele, valamint a coristuvachok általi ráncolása. A PPPoE protokoll lehetővé teszi, hogy egy távoli csomópont részt vegyen egy hívási munkamenetben, hogy több címet ismerjen fel egy órányi chatcsere során, amit ún. kiderült(felfedezés). Ezt követően, mivel egy szívélyes és távoli csomópont (például az internetes szolgák postai dolgozója) közötti munkamenetet telepítettek, figyelmes szemmel követheti ezt a munkamenetet, hogy viroblyat narahuvannya. Gazdag házakban, szállodákban és vállalatokban az Internet-hozzáférés digitális előfizetői vonalakon keresztül lehetséges, Ethernet technológia és PPPoE protokoll segítségével.

A PPPoE protokollon keresztüli hívások kumulatívak az ügyfél és a szerver között. A kliens és a szerver az Ethernet-specifikációkhoz legközelebb álló interfésszel működik. Ez az interfész a különböző kliensek IP-címei számára van beállítva, és az IP-címükhöz kötődik a coristuvachіv i-hez, a bazhannyam mögött, a munkaállomásokhoz, a zam_st authentifikatsiї csak egy működő állomás alapján. A PPPoE szerver pont-pont kommunikációt hoz létre a skin-kliens számára.

PPPoE munkamenet beállítása

PPPoE munkamenet létrehozásához kövesse a sebességszolgáltatástpppoed. modultio-pkt-*pSzolgáltatásokat nyújt a PPPoE protokollhoz. A spoilert futtatni kellio-pkt-*hkompatibilis illesztőprogram. csikk:

A TCP természetesen integrálva van a kliensbe/szerverbe (10.1. ábra). szerver kiegészítés hallgat(Figyelj) menned kell inni a találkozóra. Például a WWW szolgáltatások, a fájlátvitel vagy a terminálról való hozzáférés figyeli az ügyfelektől elérhető kéréseket. A TCP-ben a kommunikációt olyan alprogramok indítják el, amelyek kommunikációt kezdeményeznek a szerverrel (a socket programozási felület 21. fejezete).

Mal. 10.1. A kliens hívja a szervert.

A valóságban a kliens lehet egy másik szerver is. Például a levelezőszerverek kapcsolódhatnak más levelezőszerverekhez, hogy újra engedélyezzék a számítógépek közötti levelezést.

10.2 TCP-fogalmak

A dodatka milyen formában küldi újra az adatokat a TCP-nek? Hogyan továbbítja a TCP az adatokat IP-re? Hogyan továbbítanak és fogadnak TCP-protokollokat a kiegészítők közötti és az adatelemek megvalósításához szükséges adatok azonosítására? Minden ponton adatokat közölnek a következő szakaszok, amelyek a TCP főbb fogalmait írják le.

10.2.1 Bejövő és kimenő adatfolyamok

fogalmi a pótlék modelljét felülmúlja a pótlólagos adatáramlás. Ugyanakkor ne fogadja el az aktuális adatokat a találkozón résztvevő partnerétől. TCP nada full duplex(Teljes duplex) üzemmód, egy órás szervizzel két patak danikh (div. 10.2. ábra).


Mal. 10.2. Az adalékanyagok cseréje adatfolyamokkal történik.

10.2.2 Szegmensek

A TCP programokból datagrammá alakítható át datagramban való elhelyezésre alkalmas formává. Milyen rang?

A kiegészítés TCP-ben továbbítja az adatokat, és a teljes protokoll bekerül kimeneti puffer(Puffer küldése). Dalі TCP virіzaє shmatki danih a pufferből és vіdpravlyaє єх, hozzáadva a fejlécet (alakításkor szegmensek szegmens). ábrán 10.3 mutatja, ahogy adott kimeneti puffer A TCP-k szegmensekre vannak csomagolva. A TCP egy szegmenst küld az IP-nek, hogy úgy nézzen ki, mint egy datagram. Az adatok megfelelő shmatovyba történő becsomagolása az újraerősítésük hatékonyságának biztonsága érdekében a TCP szegmens bezárása előtt ellenőrizzük, amíg a kimeneti puffer meg nem mutatja az adatmennyiséget.


Mal. 10.3 TCP szegmens létrehozása

10.2.3 Vishtovhuvannya

Az adatok nagy elkötelezettségét azonban gyakran lehetetlen megragadni a valódi kiegészítőknél. Például, ha a napvégi shortlist kliensének programja interaktív munkamenetet kezdeményez egy távoli szerverrel, akkor a shortlister csak parancsokat tud majd bevinni (a billentyű támadása esetén Visszatérés).

Szükséges, hogy a kliensprogram közölje a TCP-vel, az adatok távoli állomásra való átviteléről és a győztes működésről való ismerete hanyagság. Milyen vipadka győzött vishtovhuvannya(Nyom).

Amellett, hogy egy interaktív munkamenetben rácsodálkozhatunk a működésre, kevés adatban gazdag szegmenst tárhatunk fel, sőt, gyakorlatilag az adatok skin szegmensében vizuálisan is vizualizálhatunk. A vishtovhuvannya azonban nem hibás a zastosovuvatisya egy órás fájlok átvitelében (a fennmaradó szegmens hibája miatt), és a TCP képes a leghatékonyabban szegmensekbe csomagolni az adatokat.

10.2.4 Feltételek

A csatoló adatátviteli modellje továbbítja az elavult bájtfolyamot, amely egyenesen az elfogadásig tart. Visszatérve egy interaktív munkamenet példájához, tegyük fel, hogy a koristuvach megnyomta a gombot Figyelem(Tisztelet) ill szünet(Változás). A jövőben a kiegészítés fontosabb lehet, hogy kihagyja a zavazhayut csalit, és reagáljon a yakomoga swidshe billentyűinek támadására.

gépezet terminus adatok(Sürgős adatok) speciális információkat jelöl a szegmensben húr. A Tsim TCP tájékoztatja partnerét, hogy a szegmens adat szempontjából használható, és lehet tudni, hogy vannak-e bűzök. A partner a yakomoga shvidshe tudomásulvétele mellett elküldte ezt az információt.

10.2.5 Kiegészítők része

Az ügyfél felelős a szolgáltatás azonosításáért, amelyiknek hozzáférést kíván adni. Ezt a gazdagép szolgáltatás IP-címének és a TCP-port számának megadásával határozzák meg. Az UDP-hez hasonlóan a TCP-portok száma 0 és 65535 között van. A 0 és 1023 közötti tartományba eső portokat jól ismert portoknak nevezzük, és a szabványos szolgáltatások eléréséhez vannak fenntartva.

A Kіlka priklіv zagalnovіdіmih portіv i vіdpovіdnіh їm programok a 10.1. táblázatban láthatók. szolgáltatások Eldobni(9-es kikötő) i töltött(19-es port) є A TCP-verziókat már ismerjük az UDP-szolgáltatásokon keresztül. Emlékeztetni kell arra, hogy a 9-es porton a TCP-protokoll felé irányuló forgalom el lesz választva az UDP-protokoll 9-es portjának forgalmától.


10.1. táblázat Központi TCP portok és további kiegészítők

kikötő függelék leírás
9 Eldobni Az összes bemeneti adat rögzítése
19 töltött Szimbólum generátor. Szimbólumfolyam csere
20 FTP adatok FTP adatátviteli port
21 FTP Port az FTP párbeszédablakhoz
23 TELNET Port távoli regisztrációhoz Telneten keresztül
25 SMTP SMTP protokoll port
110 POP3 Mail Alert Service személyi számítógépekhez
119 NNTP Hozzáférés a legfrissebb hírekhez

Mit tud mondani a zsákmányról, amit az ügyfelek zsákmányolnak? Ritka esetekben az ügyfél nem a külföldi kikötőn keresztül dolgozik. Ilyen helyzetekben azonban a hívás oka miatt gyakran kérik az operációs rendszertől a VIN-t egy nem viszkózus és nem lefoglalt porthoz. A nap végén a golyva kliense visszafordítja ezt a portot, ami után a portot egy másik kliens megfordíthatja. A nem fenntartott számok készletében több mint 63 000 TCP-port található;

10.2.6 socket címek

Mint már tudjuk, az IP-cím és a kommunikációs port kombinációját hívják aljzat címe. A TCP-munkamenetet a webhely skin végén található socket-cím azonosítja. ábrán A 10.4. ábra a socket címen lévő kliens (128.36.1.24, port = 3358) és a socketcímű szerver (130.42.88.22, port = 21) közötti kapcsolatot mutatja.

Mal. 10.4. aljzatcímek

A skin datagramok fejléce a dzherel IP-címének elküldésére és a felismerésre. Ezután látni fogja, hogy a dzherel portszámai és a felismerés a TCP szegmens fejlécében vannak feltüntetve.

Hívja egyszerre az épület szerverét a dekіlkom kliensek díjazásához. A socket szerver egyedi címei egyszerre vannak hozzárendelve az összes klienshez (div. 10.5. ábra).


Mal. 10.5. Kіlka kіlєntіv z'єdnani z címek socket szerver

Oskіlki datagram mіstit szegmens a TCP kapcsolat, azonosítja az IP-címeket és portokat, a szerver egyszerűen azonosítani tudja a kapcsolatot a kliensekkel.

10.3 TCP biztonsági mechanizmus

Megnézhetjük a TCP-mechanizmust a különböző disztribúciókhoz, vikoristákat az adatok megbízható kézbesítéséhez, konzervált átviteli sorrendben, és kizárjuk a költségeket vagy a duplikációkat.

10.3.1 Számozás és megerősítés

Az adatok TCP-re való átvitelének biztosítására a számozás és a megerősítés (nyugtázás - ACK) van kiválasztva. A TCP számozási séma általában változatlan: Bőr hogy átküldjék a határon oktett hogy legyen sorozatszáma. TCP szegmens tárgya Sorozatszám lekérése szegmens adatainak első oktettje.

Vіd priymacha meg kell erősíteni otrimannya danih. Ha az ACK nem esik az időtúllépési intervallumon belülre, az adatok újraküldésre kerülnek. Kinek az útját hívják pozitív megerősítések újraküldéssel(Pozitív nyugtázás újraküldéssel).

Adatok megfigyelése TCP a sorszámok bevitelének szigorú ellenőrzésére, az adatfelvétel sorrendjének és a felhasznált alkatrészek számának ellenőrzésére. A különböző sorrendben szétszórt ACK-ek beszúrhatók vagy elakadhatnak, az engedelmesség előtt a szegmensek megkettőzése található. A sorszámok lehetővé teszik az adatok megkettőzésének kijelölését, amennyire csak látható.

ábrán A 10.6-os kijelzések megnézik az időtúllépést, és újra próbálkoznak a TCP-ben.


Mal. 10.6. Időtúllépés és újraküldés TCP-ben

10.3.2 Port, Sequence és ACK mezők a TCP fejlécben

Jak az ábrán látható. 10.7, az első TCP fejléc mezők a gerel portok és a felismerés értékének, az adatmelléklet első bájtjának sorszámának és az ACK-nak a sorszámmal megegyező szóközt állítanak be. támadó bájt, ochіkuvanogo on іnshmu kіnci. Vagyis ha a TCP a partnerének tekinti, akkor a 30-ig minden bájtot elvisz, mely mezőben 31 lesz az érték, tehát megadom a szegmenst, melyik lett ezután küldve.


Mal. 10.7. Régi értékek a TCP fejlécmezőiben

Egy apró részletet nem lehet figyelmen kívül hagyni. Tegyük fel, hogy a TCP 1 és 50 közötti bájtokat küldött, de nincs javítható adat. Ha egy partnerhez adatra van szükség, a TCP-nek meg kell erősítenie, hogy azok helyesek-e, amelyekhez a fejlécet új adathoz való csatlakozás nélkül küldték el. Természetesen a fejlécben van egy ACK paraméter. A szekvencia mezőben - az 51-es érték, azaz a támadó bájt száma, amely maє namir küldje el a TCP-t. Amikor a TCP elküldte a következő adatot, az új TCP-fejléc is bekerül az 51-es értéksor mezőbe.

10.4 A dátum beállítása

Milyen sorrendben kapcsolódik össze két függelék? Kommunikáció előtt a skin meghív egy alprogramot a memóriablokk alakítására, amellyel kiválasztható az adott üzem TCP és IP paraméterei, például a socket címe, a folyam sorszáma, az óra cob értéke. az életről stb.

A szerver addendum ellenőrzi a kliens megjelenését, amely a szerverhez való hozzáféréshez látja a kérést z'ednanya(Connect), amely azonosítja az IP-címeket és a szerverportot.

Van egy technikai sajátosság. A skin oldala kezdi a skin byte számozását senki, de nem vipadic sorozatszám(Odd el, miért kell félnünk). A kimeneti specifikációt az idő adja meg: az utósorszámot egy 32 bites hívó időzítő alapján állítják elő, amelynek nagyobb értéke, körülbelül 4 µs.

10.4.1 Hívásforgatókönyv

A zárási eljárást gyakran háromirányú kézfogásnak nevezik, a zárás beállításához szükséges billentyűket három értesítéssel cserélik - SYN, SYN és ACK.

A telepítés órájában a partnerek három fontos információval cserélődnek ki:

1. Megbízott pufferterület a tribute fogadására

2. A bemeneti szegmensbe továbbítandó maximális adatmennyiség

3. Hétvégi adatoknál győztes postai sorszám

Lényeges, hogy a bőr oldalán a pangó művelet 1. és 2. behelyezésére között, amelyben lesz még egy buli. Egy személyi számítógépnek lehet kis puffere, de a szuperszámítógépnek nagy puffere lehet. A személyi számítógép memóriaszerkezete 1 KB-os adatrészekre osztható, és a szuperszámítógépet nagy szegmensek vezérlik.

Az épület kezeli, mivel a másik oldal küld adatokat, ez egy fontos hatóság, amely biztosítja a TCP / IP skálázhatóságát.

ábrán 10,8 jelzések a nap forgatókönyvéhez igazodnak. A bemutatott még egyszerűbb sorszámok, hogy ne terheljék túl a kicsiket. Lényeges, hogy ennél a kis kliensnél az épület méret szerint nagy szegmenseket foglaljon el, alacsonyabb szervert.


Mal. 10.8. telepítés

A következő műveletek számítanak:

1. A szerver inicializálása megtörtént, és készülünk a kliensekkel való kapcsolatra (ezt a tábort passzív nyitottnak nevezzük).

2. A kliens megkéri a TCP-t, hogy csatlakozzon a szerverhez a megadott IP-címen és porton (ezt az állomást hívják aktív nyitottnak).

3. A TCP kliens veszi az első sorozatszámot (ebben az esetben - 1000), és elküldi szinkronizálási szegmens(Szegmens szinkronizálása - SYN). Ehhez a szegmenshez a sorozatszám, a fogadó csatorna mérete (4 K) és a kliens által fogadható legnagyobb szegmens mérete (1460 bájt) kerül elküldésre.

4. Ha SYN-re van szükség, akkor a TCP szerver kerül lefoglalásra a te cob sorozatszám (3000). SYN szegmenst küld a kezdeti sorszám (3000) helyére, ACK 1001 (ami az ügyfél által küldött első bájt számozását jelenti, mint 1001), a fogadóablak méretét (4K) és a legnagyobb szegmens méretét. amit a szerver el tud venni (1024 bájt).

5. A TCP kliens figyelmen kívül hagyva a SYN / ACK értesítési szerver típust, visszaküldte az ACK 3001-et (az adatszerver által küldött üzenetek első bájtját 3001-re kell számozni).

6. A TCP kliens megadja a rendelés kiegészítését.

7. Szerver TCP, otrimavshi a kliens típusú TCP értesítésben ACK, amely a hívásról tájékoztatja a mellékletét.

A kliens és a szerver kihirdetik adatfelvételi szabályaikat, szinkronizálják sorszámukat és készen állnak az adatcserére. A TCP specifikáció meghiúsul, és a következő (nem túl távoli) forgatókönyv szerint, ha a programok egyenlőek egymással, akkor egy órán keresztül aktívak lesznek.

10.4.2 IP-paraméterek beállítása

Kérjen kiegészítéseket a nap telepítéséhez, ezzel egyidejűleg megadhatja az IP datagramok paramétereit, hogy az adatok átvitelre kerüljenek. Ha nem adja meg a paraméter értékét, akkor az érték fix, a kulcs mögé kerül beállításra.

Például egy kiegészítés kiválaszthatja a szükséges értéket az IP-prioritáshoz vagy a szolgáltatás típusához. A szemközti oldalról származó bőrszilánkok egymástól függetlenül meghatározzák a hatóság prioritását és szolgáltatástípusát, ezek az értékek elméletileg a különböző közvetlen adatfolyamokhoz igazíthatók. Általános szabály, hogy a gyakorlatban ugyanazok az értékek vonatkoznak a közvetlen bőrcserére.

Ha ezen kívül a feladat a biztonsági lehetőségek a rend- és katonai létesítmények, a bőr a végpontok a nap leküzdeni, azonban a biztonsági szint, ellenkező esetben ugyanazt nem telepítik.

10.5. Az illeték üldözése

Az adatok átvitele a nap létrehozásának három lépéses megerősítésének befejezése után kezdődik (10.9. ábra). A TCP szabvány lehetővé teszi, hogy a megerősítő szegmensekbe néhány adatot belefoglaljon, de a bűzt nem szállítják kiegészítéssel, amíg a hívás létrehozása be nem fejeződik. A számozás egyszerűsítése érdekében 1000 bájtos lépésekkel egészül ki. A TCP fejléc skin szegmense tartalmazhat egy ACK mezőt, amely azonosítja a bájt sorszámát, amely a kapcsolati partner típusához kerül átvitelre..


Mal. 10.9. Egyszerű adatcsere és ACK

A kliens szegmens által küldött első üzenet az 1001-es bájttípus 2000-re történő módosítása. Ez az ACK mező megváltoztathatja a 3001-es értéket, amely azt a bájtsorszámot jelzi, amely a szerver típusába kerül.

A szerver küld a kliensnek egy szegmenst, amely 1000 bájtnyi adatot helyettesít (amely a 3001-es számtól kezdődik). A TCP fejléc második ACK mezője azt jelzi, hogy az 1001-től 2000-ig terjedő bájtok már sikeresen eltávolításra kerültek, így a szegmens sorszáma 2001-től származik, amikor a kliens érvényesítésre van állítva.

Az ügyfél ezután a szekvencia-hozzárendelésben a 2001, 3001 és 4001 bájtokból származó szegmenseket küldi el. Lényeges, hogy a kliens nem kap ACK-t a szegmensek skin üzenetei után. A tribute-okat addig küldik a partnernek, amíg be nem töltik a pufferteret (alul lehetséges, hogy a birtokos pontosan meg tudja mondani, hogy a tribute-okat neked küldték el).

A szerver elmenti a kapcsolat sávszélességét egyetlen ACK használatával, amely jelzi az összes szegmens átvitelének sikerességét.

ábrán A 10.10 az adatok újraerősségét mutatja az első szegmens elvesztésével. Az időkorlát letelte után a szegmens újra megerősödik. Lényeges, hogy egy szegmens beszúrásának kiküszöbölése után a vevő egy ACK-t küld, megerősítve mindkét szegmens erősségét.


Mal. 10.10. Adatvesztés és újrasugárzás

10.6 A nap zárása

Normális esetben az előjegyzés befejezését az ismételt kézi rajz további eljárása követi, amely az időpont egyeztetésekor történik. A másik oldalon lévő bőr gyakran lezárhatja a sorrendet a közelgő forgatókönyvre:

V:

B:"Jó."

V:– Be is tudom fejezni a munkát.

V:"Jó."

A következő forgatókönyv elfogadható (ha nagyon ritkán szeretne győzni):

V:"Befejeztem a munkámat. Nincs több pénz a túlerőre."

V:"Jó. Vannak azonban adatok..."

V:– Be is tudom fejezni a munkát.

V:"Jó."

Az alábbi példában a szerver bezárul, ahogy ez gyakran előfordul kliens/szerver hívásoknál. Ebben az esetben a coristuvachem bevezetése után az ülésen telnet parancs kijelentkezés (kijelentkezés a rendszerből) a szerver kérést kezdeményez a munkamenet lezárására. ábrán látható helyzet. 10.11 dіє a következő sorrendben:

1. Egy kiegészítés a kiszolgálón, amely jelzi, hogy a TCP be kell zárnia a munkamenetet.

2. A TCP szerver elküldi az utolsó szegmenst (Final Segment - FIN), tájékoztatva partnerét, hogy nincs több javítandó adat.

3. A TCP kliens ACK-t küld a FIN szegmensre.

4. A kliens TCP-je tájékoztatja a kiegészítését, hogy a szerver meg akarja zárni a kapcsolatot.

5. Az ügyfél kiegészítés tájékoztatja a TCP-jét a nap zárásáról.

6. A TCP kliens FIN értesítést küld.

7. A TCP-kiszolgáló átveszi a FIN-t az ügyféltől, és válaszol az új ACK-értesítésre.

8. A TCP-kiszolgáló jelzi a kapcsolat bezárására vonatkozó kiegészítését.


Mal. 10.11. zárd le a napot

A sértett felek azonnal bezárhatnak. Ebben az esetben a nap zárása általában az ACK bőrápoló partnerekkel végzett korrekció után fejeződik be.

10.6.1 Gyors felmondás

A másik oldalon lévő bőr kérheti a bezárás megszakítását. Ez akkor elfogadható, ha a kiegészítésnek a tranzakció befejezéséhez szükséges, vagy ha a TCP komoly kommunikációs problémát mutat, saját pénzből nem engedélyezhető. A Rapto befejezését az egyik vagy a dekіlkoh reset reset (slid) partnerének kérése kéri, amit a TCP fejlécében az első jelkép jelez.

10.7 Áramlásszabályozás

A TCP-mester érdeklődik az adatáramlás iránt, és meghatározza, hogy mely információkat fogadhatja el. Tse obezzhennya vplivaє a vіdpravnik TCP-n. Az alábbiakban bemutatjuk ennek a mechanizmusnak a magyarázatát – koncepcionális, és a kereskedők ezt másként alkalmazhatják termékeikben.

A bőrtömítés beszerelésének órája alatt a partnerektől látjuk a helyet a tömítés bemeneti pufferének, és tanácsot adunk az ellenkező oldalról. A hangpuffer méretét a maximális szegmensbővítések egész száma fejezi ki.

Az adatfolyamnak a bemeneti pufferbe kell kerülnie, és egy újba kell mentenie, amíg át nem kerül az addendumba (ahogyan azt a TCP-port jelöli). ábrán 10.12 olvasási bemeneti puffer, zdatny fogadása 4 KB.


Mal. 10.12. Priymalne vhіdnogo puffer

A puffer kiterjedése megtelik az adatok iránti igény világában. Ha a birtokos adatot vesz a pufferből, akkor elérhetővé válik az új adatok érkezésének helye.

10.7.1 Vevő ablaka

priymalne vikno(Fogadási ablak) - ha van hely a beviteli puffernek, még nem vagy elfoglalva a pénzzel. Az adatok a bejárati pufferben maradnak, amíg a zadiyaniy kiegészítéssé nem válnak. Miért nem gyűjt adatokat a program a banktól?

Az energialáncra adott válaszok segítenek egy egyszerű forgatókönyvben. Tegyük fel, hogy a kliens átvitte a fájlt az FTP szerverre, hogy az egy már foglalt többfelhasználós számítógépen működik. Az FTP program mostantól felelős az adatok kiolvasásáért a pufferből és lemezre írásáért. Ha a kiszolgálónak nem sikerül a lemezre történő bevitele/kiadása műveleteket, a program ellenőrzi ezeknek a műveleteknek a végrehajtását. Ebben az órában egy másik program indulhat (például a terjesztés után), és amíg az FTP program újraindul, a következő adat már bekerül a pufferbe.

Az első alkalommal a fennmaradó megerősített bájttól a puffer végéig bővül. ábrán 10.12 a teljes puffer ugyanabban a sorrendben elérhető i is, є priymalne 4 KB-ban. Ha szükség van az első KB-ra, az általában 3 KB-ra rövidül (az egyszerűség kedvéért figyelembe vesszük, hogy a skin szegmens lehet 1 KB, bár a gyakorlatban az érték ősszel változik a kiegészítés igénye miatt) . A következő két, egyenként 1 Kb-os szegmens érkezése a kezdeti ablak rövid idejére, legfeljebb 1 Kb-ra csökken.

Vegyünk üzeneteket az ACK-tól, hogy bosszút álljunk a bejövő szél in-line táboráról, a parlagon belül, amit az ilyen dzherelek áramlása szabályoz.

A bemeneti puffer nagyobb mérete a hívás elején visszaáll, bár a TCP szabvány nem határozza meg a pufferkezelés megvalósítását. A bemeneti puffer bővíthető vagy módosítható, befolyásolva a kezelővel való visszatérési kapcsolatot.

Mi történik, ha a legjobb szegmenst már az első negyedévben bővíteni tudjuk, de ez nem rendesen történik? Ügyeljen arra, hogy minden implementáció elmenti az első negyedévben szükséges adatokat, és csak a matricaszegmensek teljes, megszakítás nélküli blokkjára küld visszaigazolást (ACK). Ez a helyes út, a szilánkok, különben, ha adatot adnak meg, mivel azok kimentek, a termelékenység csökken.

10.7.2 Szerkesztőablak

Az adatokat továbbító rendszer két jellemzőért felelős: az adatok számát már javították és megerősítették, valamint a streaming rozmіr priymalnogo vіkna oberzhuvach. aktívabb hely a korrekcióknak A (Send space) az első meg nem erősített oktetttől a streamelési ablak bal széléig terjed. rész vikna, mint a vikoristovuєtsya korrekcióra, Kérem, hány további ajándékot küldhet partnernek.

A postai sorszám és az elsődleges ablak postaszáma a nap kezdetének órájában kerül beállításra. Mal. 10.13 Mutassa be az adatok újraérvényesítési mechanizmusának sajátosságait!

1. A Vantazhovidpravnik egy 4 KB-os korrekciós ablakkal kezdi a munkát.

2. Vdpravnik továbbított 1 KB. Ezeknek az adatoknak egy másolata a nyugtázás (ACK) befejezéséig mentésre kerül, előfordulhat, hogy a szilánkokat újra kell küldeni.

3. Kapjon ACK-t az első KB-ra, és javítsa ki a következő 2 KB adatot. ábra harmadik részének leolvasásának eredménye. 10.13. 2 Kbyte megtakarítás három.

4. Minden továbbított adathoz meg kell találnia az ACK-t (tehát minden bűzt elfogadunk). Az ACK 4 KB-ban frissíti a szerkesztőablak méretét.

Mal. 10.13. Vіkno vіdravleniya

Csúsztassa, hogy jelezze a cіkavih jellemzőinek sprattján:

■ A menedzser nem ellenőrzi az ACK-t az adatok bőrápolási szegmenseire vonatkozóan. Az átvitel egyetlen cseréje a kezdeti sávszélesség bővítése (például a diszpécser hibás, ha csak 4 legfeljebb egybájtos szegmenst továbbított).

■ Lehetséges, hogy a rendszergazda rövid szegmensekben (például egyenként 80 bájtos) matricákban küldi el az adatokat. Ily módon az adatok újraformázhatók a hatékonyabb átvitel érdekében (például egyetlen szegmensben).

10.8 TCP téma

ábrán 10.14 szegmensformátum jelzés (TCP fejléc és adatok). A téma a dzherel portjainak azonosítóiból és a felismerésből indul ki. A következő mező sorozatszám(Sorozatszám) Megadja a pozíciót a kimeneti adatfolyamban, az adott szegmens elfoglalását. terület ACK(Megerősítés), hogy megbosszulja azokat a jelentéseket, amelyek az előrehaladó szegmensbe való átállásról szólnak, amely vétkes az adatok bejáratánál való megjelenésben.


Mal. 10.14. TCP szegmens

Іsnuyut hat zászlós:

terület rosszul elhelyezett adatok(Adateltolás) A TCP-fejléc átméretezése 32 bites szavakkal. A TCP téma 32 bites kordonon végződik.

10.8.1 Maximális szegmensméret opció

paraméter "Maximális szegmensbővítés"(Maximális szegmensméret - MSS) zastosovuєtsya az ogoloshennya számára a legnagyobb adatról, amelyet a rendszer képes elfogadni és feldolgozni. A név azonban pontatlan. Csengetés a TCP-ben szegmensúgy néz ki, mint egy címsor plusz adatok. azonban maximális szegmensméretígy néz ki:

Maximális elfogadható datagramméret - 40

Más szóval, az MSS képviseli a legtöbbet korisne hiúság a vevőben ugyanazokkal a TCP és IP fejlécekkel, egyenként 20 bájttal. Yakshcho є dodatkovі paraméterek, їх dozhina nyomon követhető a világon. Otzhe, a szegmensekben elküldhető adatok számát a következőképpen jelöljük:

Deklaráció értéke MSS + 40 - (a TCP és IP fejlécek összege)

Hívja fel a partnereket, és cserélje ki az MSS-értékeket a SYN cob-értesítésekben a hívás megnyitásakor. Ha a rendszer nem közli a maximális szegmensméret értékét, akkor a zárolás értéke 536 bájt.

A maximális szegmens méretét egy 2 bájtos bevezető kód, majd egy 2 bájtos érték kódolja előre, így a legnagyobb érték 2 16 -1 (65 535 bájt).

Az MSS több korlátozást ír elő az adatok TCP-re történő átvitelére vonatkozóan: A vevő nem tud nagy értékeket feldolgozni. A vikorista szegmens győztese azonban kisebb méret, Az utazáshoz szükséges szilánkokat is az áthaladás útvonalának megfelelő MTU határérték határozza meg.

10.8.2 Változatos fejlécmezők egy kérelemben

Az első szegmens, amely a hívás megerősítésére szolgál, a SYN jelző 1-gyel egyenlő értéke, az ACK jelző pedig 0. A SYN jelző 0. egyesül szegmensben állítsa be az ACK mező értékét 0-ra. Fontos megjegyezni, hogy érdemes ellenőrizni, hogy ez a token jelzi-e a bejövő kéréseket egy TCP-munkamenethez.

terület sorozatszám bosszút postai sorszám(Kezdeti sorszám), mező vikna - cob rozmaring priymalnogo vіkna. Az aktuális pillanat egyetlen paramétere a TCP paraméter - a maximális szegmensméret (ha nincs hiba, a zárolás értéke 536 bájt), amely a TCP-t továbbítja. Kölcsönzési érték 32 bit opciók(Választási lehetőség). Az MSS-értéket helyettesítő TCP-fejléc hossza 24 bájt.

10.8.3 Alternatív fejlécmezők a kérelem kéréséhez

A kérésre megengedett utalvány esetén a zászlós (SYN és ACK) vétsége 1. Az utalványrendszer a postai sorszámot a vodpovidny mezőben, a primális véna rozmirát pedig a mezőben jelzi. Ablak. A szegmens maximális mérete, ami a győzelem oka, a rendelési lekérdezés ajtajában hangzik (mezőben opciók). Az érték a bemeneti értéktől függően változhat, így két különböző érték blokkolható.

Kifizetési kérelmet pótlólagos kivonat kérhető a csúszás felső jelzésénél (RST) 1-es értékekkel.

10.8.4 Postai sorszám kiválasztása

A TCP specifikáció megmondja, hogy melyik órában szeretné beállítani a skint a választott másik oldalon postai sorszám(A 32 bites belső időzítő pontos jelentéséhez). Hogyan nyerj?

Meglátjuk, mi lesz a rendszer összeomlásával. Tegyük fel, hogy a coristuvach egy nappal az ütközés előtt csinált és kijavított egy kis pénzt. A frissítés után a rendszer már nem emlékszik semmire, ami az összeomlás előtt működött, beleértve az üzem már futását és a portszámok behozatalát. Koristuvach újra behelyezi a z'ednannyát. A portszámok nem egyeznek a gubacsbetűkkel, és a belőlük lévő diakónusok, lehetséges, már győztesek a néhány másodperccel az ütközés előtt beállított másik felekkel.

A másik oldal a nap végén talán nem tud azokról, hogy a párod az első robot összeomlásán ment keresztül, mi feltámadtunk. Mindez súlyos meghibásodásokhoz vezet a robotban, különösen, ha hosszú idő telik el, amíg a régi adatok el nem múlnak, és nem riadnak vissza az újonnan létrehozott üzem adataitól. Az újraindítási időzítő kiválasztása lehetővé teszi az ilyen problémák letiltását. A régi adat lesz a következő számozás anyja, az új nap alsó sorszámtartománya. Amikor a hackerek meghamisítják a dzherel IP-címét a megbízható gazdagép számára, megpróbálnak hozzáférni a számítógépekhez a továbbított sorozatszám további bejegyzése céljából. A belső kulcsokon alapuló kriptográfiai kivonatolási funkció a legjobb módja a lopott cob számok kiválasztásának.

10.8.5 Globálisan elfogadott victoria mezők

A TCP fejléc újraküldés előtti elkészítésekor a mezőben az első továbbítandó adat oktett sorszámát kell megadni. egymást követő szám(Sorszám).

A mezőbe a szerződésben partnerként érvényesített támadó oktett számát kell beírni megerősítés(Nyugtázási szám), ha az ACK bit 1-re van állítva. Mező vikna Az (Ablak) az elsődleges ablak soron belüli kibontását ismeri fel. Kinek a területére való? bájtok száma megerősítési számonként, ami elfogadható. Lényeges, hogy ez a jelentés lehetővé teszi, hogy pontosan kerubáljon egy tribute-folyammal. Ennek az értéknek a segítségére a partner megmutatja a priymalnoy vikna protyazh cseremenet igazi táborát.

Ha a kiegészítés a vishtovhuvannya TCP-ben való működését jelzi, akkor a PUSH zászló 1-re van állítva. A TCP elfogadása felelős azért, hogy erre a zászlóra válaszoljon a melléklethez tartozó adatok eljuttatásával, mintha csak te szeretnéd elküldeni.

Az 1-es értékű SÜRGŐS jelző (terminalitás) az adatátvitel kifejezést viszi át, a másik jelző pedig a fennmaradó oktettre támaszkodik. Az adatkifejezések tipikus változatai a jelek átvitele a jelterminálról a skálázásra vagy átvitelre.

A kifejezéseket gyakran nevezik információ(sávon kívüli). Ez a kifejezés azonban pontatlan. A terminus adatok az eredeti TCP adatfolyamba kerülnek átvitelre, bár létezhetnek speciális mechanizmusok a kiegészítés megadására a terminus adatok megfelelő használatához, és a kiegészítés átírható a terminus adatok helyett, mindenekelőtt minden bájtnyi információ megtalálható. .

A RESET (visszaállítás) jelző 1-re állítható, ha legközelebb megszakítja a hívást. Ugyanez a jelző van beállítva egy olyan szegmens elején, amely nincs az aktuális TCP-áramkörökhöz kötve.

A FIN jelző 1-re van állítva, és a nap zárásáról tájékoztat.


10.8.6 Ellenőrző összeg

Az IP-ellenőrző összeg csak az IP-fejlécre érvényes, míg a TCP-ellenőrző összeg a teljes szegmensre, valamint az IP-fejlécből létrehozott pszeudofejlécre számítódik. A TCP ellenőrző összeg kiszámításának időpontja a megadott mező értéke 0 is lehet. 10.15 pszeudofejléc jelzése, valószínűleg az, amelyik nyer az UDP ellenőrző összegben.


Mal. 10.15. A pszeudofejléc mezőt a TCP ellenőrző összeg tartalmazza.

A TCP futásteljesítményt úgy számítják ki, hogy a TCP fejléc futásteljesítményét összehajtják az adatok futásteljesítményével. TCP ellenőrző összeg є obov'yazykovoї, nem jak az UDP-ben. A szegmensre vonatkozó ellenőrző összeget először a vevő számítja ki, majd összehasonlítja a TCP fejléc ellenőrző összeg mezőjével. Ha a jelentés nem esik le, a szegmens kiesik.

10.9 TCP szegmens fenék

Mal. 10.16, robot analizátor protokoll Szippantó Az általános hálózat TCP-szegmensek sorozata. Az első három szegmens kapcsolatot létesít a kliens és a szerver között telnet. A fennmaradó szegmensben 12 bájt adatátvitel történik.


Mal. 10.16. TCP fejléc megjelenítése Sniffer analizátorral

elemző Szippantó a nagyobb értéket fordítja át a tizedik nézetre. A zászlók jelentése azonban a tizenhatodik. A 12-es érték jele 010010. Az ellenőrző összeg tizenhatod formában is megjelenik.

10.10 A munkamenet támogatása

10.10.1 Az ablak megszólaltatása

Shvidkіsny vіdpravnik i polіnіy oderzhuvach priymalny vіkno rozmіr 0 bájtot képezhet. Az eredményt ún zakrittam vikna(Az ablak bezárása). Ha van megfelelő idő az elsődleges ablak méretének frissítésére, az ACK nyer. Ha azonban ilyen magyarázatot alkalmaznak, a vétkes feleket a menthetetlenségig hibáztatják.

Ennek a helyzetnek az egyedi esetére a menedzser telepíti időzítő mentése(Persist timer) becsukott állapotban az ablak zárva van. Az időzítő értéke az újrapróbálkozási időtúllépés. Az időzítő lejárta után a partner kap egy szakaszt szondázó vikna(Window probe; a jelenlegi megvalósításokban ez adatokat is tartalmaz). A hangosítás visszaküldi a partnernek ACK-t, amely tájékoztat az ablak aktuális állapotáról.

Időnként a nulla időt még mindig kitölti, az időzítő értékét elmenti. Ezt a folyamatot addig ismételjük, amíg az időzítő értéke el nem éri a maximum 60 másodpercet. A TCP 60 másodpercig kéri a bőrszondázást - a határidő lejártáig, a folyamat gyors válaszadási befejezéséig vagy a kiegészítés időkorlátjáig.

10.11 Munkamenet befejezése

10.11.1 Időtúllépés

A hívásban részt vevő partner munkája kudarccal végződhet, vagy az átjáró meghibásodása vagy egy hívás után újra folytatódik. Annak érdekében, hogy megakadályozzák az adatok újraküldését TCP-ben, a mechanizmusok szétszórásával.

Az újraküldés (újraküldés) első küszöbértékének elérése után a TCP jelzi az IP-címet az útválasztó újraellenőrzésének szükségességéről, és azonnal tájékoztatja a kiegészítést a problémáról. A TCP mindaddig folytatja az adatok kényszerítését, amíg el nem ér egy másik határértéket, és csak ezután törik.

Érthető, hogy előtte, ahogy megesik, találhat egy ICMP emlékeztetőt arról, hogy a felismerési pont bármilyen okból elérhetetlen. Egyes megvalósítások esetén utasítsa a következő TCP-t, hogy próbálkozzon a hozzáféréssel az elfogadási pontig, amíg az időtúllépési idő le nem telik (ezt követően a probléma kijavítható). Továbbá egy kiegészítéssel a felismerési pont megközelíthetetlenségéről szól.

Ezenkívül egyéni időtúllépést is beállíthat az adattovábbításhoz, és az intervallum végén normál műveleteket hajthat végre. Hívás kell végrehajtani, hogy telefonáljon a nap eltöltése előtt.

10.11.2

Ha hosszabb ideig nem fejeződik be az időpont, lehetőség van továbbértékesítésre, az inaktív állapotba kerül. Az inaktivitási időszak órája alatt a vonal összeomlása, vagy a fizikai vonali kapcsolat megszakadhat. Amint új partner leszek, a partnerek továbbra is pénzt váltanak, anélkül, hogy megszakítanák az ülést. Ezt a stratégiát a Honvédelmi Minisztérium támogatói kapták.

Akár aktív, akár nem aktív, rengeteg számítógép memóriát foglal el. Az aktív rendszergazdáknak nem látható erőforrásokat kell a rendszerbe fordítaniuk. Ezért a TCP megvalósítása gazdag építési információkban támogatás(Keep-alive), inaktív félévek tesztelése. Az ilyen értesítéseket rendszeresen elküldik a partnernek a merezhі jógaalapjának újbóli ellenőrzésére. Az ACK nyugtázása szükséges. Vikoristannya podomlenya a pіdtrimku z'єdnannya nem є obov'yazkovym. Ahogy a rendszerben, itt is van ilyen lehetőség, minden pénzedből pótlékot lehet fizetni. átigazolási időszak az eljegyzéshez a támogatási idő lejártakor ez egy nap, hogy két év legyen!

Találja ki, milyen kiegészítést telepíthet saját időzítőjére, amely szerint Ön saját maga dönt a nap befejezéséről.

10.12 termelékenység

Mennyire hatékony a TCP? Az erőforrások termelékenységéhez sok tényező hozzáadódik, ezek közül a legfontosabb a memória és az önelégült átvitel (10.17. ábra).


Mal. 10.17. TCP termelékenységi tényezők

Smuga forgalom és zatrymki in vikoristovuvano ї ї ї ї ї ї ї ї іstotno zamezhuyut zdatnіst zdatnіst. Mocskos az adatok átvitele a datagramok kiadásának nagy kötelezettségéhez, ami egy második átvitelt igényel, és ennek eredményeként csökkenti a smuga átvitel hatékonyságát.

Az elsődleges oldal felelős azért, hogy elegendő pufferterületet biztosítson, amely lehetővé teszi az ügyintéző számára az adatok átvitelét munkaszünet nélkül. Különösen fontos az intézkedés nagy zatrimki, bizonyos esetekben az adatok korrekciója és visszavonása ACK (és akkor is, amikor az ablak van elrendezve), hogy átmenjen egy nagy intervallumot az óra. A dzherel folyamatos adatáramlásának támogatása érdekében a fogadó oldal az anyát hibáztatja, amiért a zatrimkára áthaladó smuga nem kevesebb, mint minimális mértékben változott.

Például, ha 10 000 bájt/s sebességgel tud adatot küldeni, és az ACK fordulatnál ez 2 másodpercet vesz igénybe, akkor a másik oldalon legalább 20 000 bájt minimális méretet kell biztosítani, ellenkező esetben nincs fennakadás. Egy elfogadható, 10 000 bájtos puffer a felére csökkenti az átviteli sebességet.

A termelékenység másik fontos tényezője az, hogy a gazdagép mennyire képes reagálni a magas prioritású felosztásokra és a gyorsaság. kontextus, Egy művelet befejezéséhez és egy másikra való váltáshoz. A gazdagép interaktívan figyelheti az anonim helyi kommunikációt, a kötegelt háttérfolyamatokat és több tucat egyórás kommunikációs hívást. A kontextusváltás lehetővé teszi mindezen műveletek kiszolgálását a rendszerhez kapcsolódva. A TCP/IP-t az operációs rendszer kernelével integráló megvalósítások jelentősen csökkenthetik a kontextuális permutáció terhét.

A TCP-fejléc-feldolgozási műveletekhez számítógépes CPU-erőforrásokra van szükség. Mivel a processzor nem tudja kiszámítani a vezérlőösszeg sebességét, ezért az adatátvitel sebességét mértékkel kell csökkentenie.

Ezenkívül a kereskedőknek figyelniük kell a TCP-paraméterek konfigurációjának összetettségére, hogy a hálózati rendszergazda helyi hatásköreikkel azonnal kijavíthassa azokat. Például a puffer méretének a sávszélességhez és a távolság késleltetéséhez igazítása növeli a termelékenységet. Sajnos sok megvalósítás nem ad megfelelő gondosságot és nehezen programozható kommunikációs paramétereket.

Mondjuk abszolút éles a határ: van elég forrás, és a kontextus sem változik gyorsabban, az alsóbb cowboyok köpködik a revolverüket. Chi bude otrimana finom termelékenység?

Ne várj. A TCP szoftverbiztonság terjesztésének értéke és minősége. Az évek során számos teljesítményproblémát diagnosztizáltak és kiküszöböltek a különböző TCP-megvalósításokban. Megfontolhatja, hogy mi lesz a legjobb szoftverbiztonság az RFC +1122-vel összhangban annak érdekében, hogy kommunikációs paritást érhessen el az internetes gazdagépekkel.

Nem kevésbé fontos a hibáztatás és Jacobson, Kern és Partridge algoritmusainak tesztelése (ezeket az algoritmusokat az alábbiakban tekintjük át).

A szoftverbiztonsági gyártók olyan programok létrehozásával tudják megoldani a problémákat, amelyek kikapcsolják a szükségtelenül kis adatátvitelt, és időzítőket állíthatnak be a hálózati erőforrások betöltésére, amelyek pillanatnyilag nem szakadnak meg.

10.13 Algoritmusok a termelékenység javítására

Továbblépve a TCP összecsukható részének megismerésére, nyugodtan nézhetjük meg a termelékenység növelésének és az átviteli teljesítmény csökkentésével kapcsolatos problémák megoldásának mechanizmusait. Akinél a következő problémákat tárgyalják:

megfelelő kezdés(Lassú indítás) a megkötött forgalom nagy részét igényli egy új munkamenethez, ami pazarláshoz vezethet.

■ Likuvannya vіd szindróma(Silly window szindróma) óvja a táplálékkiegészítők mocskos terjeszkedését a fejlesztések által túlterhelt formában.

ACK zavarás(Késleltetett ACK) csökkenti az átvitelt az adatátvitel független visszaigazolásainak számának növelése érdekében.

Az újraadási időtúllépés számlálása(Computing retransmission timeout) a munkamenet tényleges óráján alapul, megváltoztatva a szükségtelen újraküldések szükségességét, ugyanakkor nem okoz nagy késéseket a valóban szükséges adatcserékben.

■ Galmuvannya túlerő TCP amikor permutációk Lehetővé teszi az útválasztók számára, hogy egyetlen lépésben barangolási módba kapcsoljanak, és egyszerre gyűjtsék be az erőforrásokat az összes munkamenethez.

■ Javítás duplikált ACK(Duplikált ACK) ha a szegmenst a korrekciós szekvencia után eltávolítják, a vikonátus partnerei újraküldhetik az aktuális időtúllépés előtt.

10.13.1 Szokásos indítás

Ha otthon egyszerre kapcsolja be az összes elektromos készüléket, az bekapcsolja az elektromos vezetékeket. Számítógépes hálózatokon megfelelő kezdés ne engedje az őrök tüzét.

A Nove z'ednannya, mittevo elindítja a nagy adatkötelezettség újbóli érvényesítését a már és így navantazhenoi merezhі, problémákhoz vezethet. A sikeres indítás ötlete egy új sikeres indítás biztonságán alapul, nagyobb sebességgel, amikor ezek az adatok túlsúlyba kerülnek, ami valódi kihívásokhoz vezet a vonalon. A hivatalnok keveredik a navantazhuvalny vykn rozmirjával, és nem a priyomniy vykn nagy rozmirjával.

navantazhuvalny vikno(torlódási ablak) 1 szegmens méretétől indul. A bőr szegmensnél sikeresen eltávolítjuk a navantagealis véna ACK expanzióját 1 szegmenssel, amíg az kisebb, alsó, primális véna lesz. Mintha a vonal nem túlterhelt volna, a navantazhuvalny ablak lépésről lépésre eléri az elsődleges ablak kiterjesztését. Normál körülmények között ezeknek a vikonoknak a tágulásának rugalmassága megnő.

Lényeges, hogy a jobb kezdés nem ugyanaz és helyesebb. Az első ACK után a navigációs ablak bővítése 2 szegmensre, az ACK sikeres két szegmensre történő eltávolítása után pedig akár 8 szegmensre is bővülhet. Más szóval, a világ tágulása exponenciálisan növekszik.

Tegyük fel, hogy az ACK visszahívás kacsintott a timeout helyzetre. A hajózó nézet viselkedése ilyen lelkiállapotban az alábbiakban látható.

10.13.2 „Nem halványuló” szindróma

A TCP/IP első implementációi során a kereskedők belebotlottak a jelenségbe szindróma(Silly Window Syndrome – SWS), amely gyakran megnyilvánul. A megértés kedvéért, hogy néz ki a közelgő forgatókönyv, mit produkáljunk az elviselhetetlen találgatásokig, de egy csomó lehetőség:

1. Az adatutalvány továbbítási melléklete.

2. Egy kiegészítés elfogadása a bemeneti pufferből egyenként 1 bájt adatot olvas ki (ez helyes).

3. A bemeneti puffer az olvasás gyors befejezése után.

4. A kiegészítés fogadása 1 bájtot olvas, a TCP pedig ACK-t küld, ami azt jelenti, hogy "1 bájt adatot megengedhetek magamnak".

5. Az átviteli kiegészítés 1 bájtnyi TCP-csomagot küld.

6. A fogadó TCP ACK-t küld, ami azt jelenti, hogy "Ez jó. Eldobtam a csomagot, és nem bírom tovább."

7. Függelék vételekor olvass el újra 1 bájtot és küldj egy ACK-t, és az egész folyamat megismétlődik.

Gyakrabban az adatok hosszú távú ellenőrzésére és az információ folyamatos átvitelére az ablak bal szélére alkalmazzák, és egyáltalán nincs szükségem a műveletre, mivel ez további forgalmat generál a területen.

A valós helyzetek nyilvánvalóan nem szélsőségesek. A Shvidky vodpravnik és a povilny oderzhuvach kisméretű (a szegmens maximális méretéig) adatköpenyekkel cserélődnek, és átfedésben vannak a legfontosabb priymalny vykna-val. ábrán 10.18 jelzések a "nem zavaró változás" szindróma megjelenésére.


Mal. 10.18. Az elsődleges ablak puffere még kisebb szabad területtel

Ezt a problémát nem könnyű megoldani. Amint gyakoribb, hogy Dovzhinába rohannak, a civil terjeszkedés Dániáinál kevésbé, a TCP elkezdi becsapni a tisztviselőt. Ebben a helyzetben a TCP nem utasítja a dodatkove prostіr vіknі, ha pryimayucha alkalmazott adatolvasást a pufferből kis adagokban. Az a helyettese, akinek a kormányfőtől eddig titokban kell forrást takarítani, amíg nincs elég pénz. Javasolt egy szegmensre bővíteni, majd ledobni, ha a teljes bemeneti puffer egyetlen szegmenst foglal el (az esés hátralévő részében bővíteni, a puffer felével egyenlő). Tsіl'ovy rozmіr, amelyről a TCP hibás, elmondhatja:

minimum (1/2 bemeneti puffer, maximális szegmensméret)

A TCP csalni kezd, ha az univerzum tágulása kisebb lesz, mint a tágulás, és az igazat megvallva, ha a tágulás tágulása nem kisebb, akkor a képlet által nyert érték. Lényeges, hogy a hivatalosnak nincs shkodi, oskolki elfogadva mindent be nem szerezhetett volna a nem méltó adatokból.

A javasolt megoldás könnyen áthelyezhető egy jól áttekinthető tokba, amelyen egy ACK whisker található a bőreltávolító bájtok számára. Ugyanez a módszer véletlenszerű és a vaping, ha a bemeneti puffer megspórolhat egy spratt szegmenst (ahogy ez a gyakorlatban gyakran megtörténik). Shvidky vіdpravnik töltse ki a beviteli puffert, de a priymach vkazhe, scho nem lehet szabad hely az információk elhelyezésére, és ne nyissa meg ezt az erőforrást, amíg el nem éri az egész szegmenst.

10.13.3 Nagle algoritmusa

A vezető tisztségviselő vétkes, függetlenül attól, hogy a vezető tisztségviselőt halmozottan köteles kikapcsolni a rövid szakaszokon. A Nagle algoritmusa egy nagyon egyszerű ötletet valósít meg, amely lehetővé teszi a lehető legtöbb rövid datagramon keresztüli átvitelek számának csökkentését.

Az algoritmus azt javasolja, hogy az adatok továbbítása előtt egy órával késleltesse az adatok újraküldését (és їх vishtovhuvannya) az ACK nyugtázását követően. Az adatok összegyűjtése és újraküldése az ACK eltávolítása után történik az információ korábban elküldött részén, vagy az adatok eltávolítása után az adatok javítása érdekében az új szegmens bővítésekor, vagy az időtúllépés lejárta után. Ez az algoritmus nem csúsztatva zastosovuvaty hozzá a valós időhöz, mintha az okosabb által kijavított adatok hibája lenne.

10.13.4 ACK zavarás

A termelékenység növelésének másik mechanizmusa az ACK dadogás módszer. A rövid ACK-számok csökkentik a sávszélességet, így más forgalmat is megnyerhet. Ha a TCP-partner megpróbálja szerkeszteni az ACK-t, akkor:

■ Egy ACK-ban több szegmens fogadását is nyugtázhatja.

■ fogadjon el egy kiegészítést az utolsó üzenet elmentésére az időtúllépési időközök között, így használhatja az ACK utolsó fejlécét, és nem kell okrem üzenetet létrehoznia.

A túlméretezett szegmensek áramlásának túlfeszítése esetén (például fájlcsere esetén) az elakadás kikapcsolásának módszerével az ACK túlnyúlhat, legalábbis egy másik túlméretezett szegmens bőre esetében.

A victorious sok implementációjának időtúllépése 200 ms. Ale zavaró ACK nem csökkenti az árfolyamot. Ha rövid szegmensre van szükség, a bemeneti puffernek még szabad helynek kell lennie az új adatok fogadásához, és a menedzser folytathatja a túlterhelést (ráadásul gazdagabban küldheti újra a hangot). Ha a teljes szegmenst el kell érni, akkor ugyanabban a másodpercben kell üzenetet küldeni egy új ACK-ra.

10.13.5 Újrapróbálkozás időtúllépés

A TCP szegmens módosítása után beállítom az időzítőt és ellenőrzöm, hogy érkezik-e az ACK. Ha az ACK-t nem törli az időtúllépési idő, a TCP megvárja a szegmens újraküldését (újraküldését). Ez a buti periódus időtúllépésének a hibája?

Ha a vin túl rövid, akkor ki kell tölteni a felesleges szegmensek számát, mivel ez megkettőzi a már javított információkat. Túl nagy időtúllépés kerül át a deisno zruynovanyh Shvidky átszervezésére, amikor a szegmenseket túlterhelték, hogy csökkentsék az épület áteresztőképességét.

Hogyan válasszuk ki a megfelelő intervallumot az időtúllépéshez? A minőségi helyi határhoz kötődő jelentőség nem alkalmas egy távoli, személytelen látványt nyújtó tájra. Tehát az „egy érték minden elmének” elve egyértelműen elfogadhatatlan. Sőt, egy igazán konkrét cél érdekében megváltoztathatja elméje hálóit, és a trükköket - növelheti vagy csökkentheti.

Jacobson, Kern és Partridge algoritmusok (leírása a cikkekben , Van Jacobson, i Az oda-vissza utazási idő becslésének javítása a megbízható szállítási protokollokban, Karn és Partridge) lehetővé teszik, hogy a TCP-t a mesh-szemlélet változásaihoz igazítsa. A Qi algoritmusok javasoltak az új megvalósításokban történő kiválasztáshoz. Az alábbiakban röviden megnézzük őket.

Az egészséges szem azt sugallja, hogy egy adott feladathoz a megfelelő időtúllépési óra becslésének legjobb alapja lehet órás ciklus(Oda-vissza idő), mint az adatok javítása és az elfogadásuk megerősítése közötti intervallum.

Elemi statisztikai adatok alapján jó döntéseket lehet hozni az elkövetkezendő értékekre (10.19. oszt. ábra), ami segít korrigálni az időtúllépési órát. Nem kell azonban az átlagértékre hagyatkozni, a becslések több mint felének a pontszáma nagyobb, az alacsonyabb átlagos statisztikai érték lesz. Néhány jegyzet megnézése után pontosabb becsléseket készíthet, így visszafizetheti a normál árfolyamot, és csökkentheti a második átutalás pontozásának hosszú óráját.


Mal. 10.19. Csökkentette a ciklus órájának értékét

A nagy beszámolóban nincs szükség számításokra a formális matematikai becslések eltávolítására. Nyerhet egy hozzávetőleges becslést a fennmaradó értékek és az átlagos statisztikai becslés közötti különbség abszolút értéke alapján:

Pihenő lélegzet = | Pihenési ciklus - Átlagos |

A pontos időtúllépési érték kiszámításához még egy tényezőt kell korrigálni – a ciklus óráját a beépített hálós elméken keresztül módosítani. Azok, amelyeket a merezhі a többi csendben láttak, fontosabbak, alacsonyabbak, mint azok, amelyek egy évvel ezelőtt voltak.

Feltételezzük, hogy a ciklus átlagos értékét egy óránkénti hosszú munkamenetre számítjuk. Legyen az összevonás egy kis zavantazhena, és 1000 kis értéket jelöltünk ki, ami a forgalom növekedését eredményezte a váratlan órának növekedésével.

Például, ha 1000 érték 170 egység átlagos statisztikai értéket adott, és ha 50 értéket adott az átlagtól 282-ig, akkor az aktuális átlag a következő lesz:

170 x 1000/1050 + 282 x 50/1050 = 175

Ésszerűbb érték simított óraciklus(Smoothed Round-Trip Time – SRTT), amely a magasabb értékeket részesíti előnyben:

Új SRTT = (1 - α) × (régi SRTT) + α × hurok pihentetés

α értéke 0 és 1 között van. sbіlshennya a növelje a ciklus nagyobb áramlási sebességét az átlagérték simítása érdekében. A számítógép szilánkjai gyorsan áthelyezhetik a 2-es számot a 2-es lépésére, a két számot jobbra zúzva, α esetén mindig az (1/2) n (hang 1/8) van kiválasztva, ehhez:

Új SRTT = 7/8 × régi SRTT + 1/8 × pihenőidő

A 10.2. táblázat bemutatja, hogy az SRTT képlete hogyan igazodik az aktuális 230 egység SRTT-értékhez, ha a határok módosítása a ciklus órájának utolsó növekedéséig megtörténik (ügyeljen arra, hogy az időtúllépés nem következik be). A 3. oszlopban lévő értékek megegyeznek az 1. oszlopban lévő értékekkel a táblázat előremenő sorában (ugyanaz, mint a régi SRTT).


10.2. táblázat A simított óraciklus számítása

Nézze meg az SRTT-t Ugyanaz az RTT megálló (7/8) × (régi SRTT) + (1/8) × (RTT)
230.00 294 238.00
238.00 264 241.25
241.25 340 253.59
253.59 246 252.64
252.64 201 246.19
246.19 340 257.92
257.92 272 259.68
259.68 311 266.10
266.10 282 268.09
268.09 246 265.33
265.33 304 270.16
270.16 308 274.89
274.89 230 269.28
269.28 328 276.62
276.62 266 275.29
275.29 257 273.00
273.00 305 277.00

Most megtudhatja az újraküldési időtúllépés értékének kiválasztását. A ciklus óránkénti értékeinek elemzése az aktuális érték aktuális értékét mutatja az aktuális átlagértékben. May sens kordont szerel fel az eltérés nagyságára (eltérés). Az újraküldési időtúllépés (az RFC-szabványokban ezt az értéket Retransmission TimeOut - RTO-nak hívják) jó értéke a következő képlettel adható meg a simított kiáramlás (SDEV) cseréjéhez:

T = Retry Timeout = SRTT + 2 × SDEV

T = SRTT + 4 × SDEV

Az SDEV kiszámításához a beépített szellőztetés abszolút értékét veszik figyelembe:

DEV = | Pihenő óra ciklus - régi SRTT |

Használjuk a vikoristovuyu képletet a simításhoz, hogy az érték többi részét javítsuk:

Új SDEV = 3/4 × régi SDEV + 1/4 × DEV

Egy étel hiányzik – hogyan vehetjük fel a csutka értékét? ajánlott:

Cob időtúllépés = 3 s

Cob SRTT = 0

Cob SDEV = 1,5 s

Van Jacobson kifejlesztett egy intelligens algoritmust, amely hatékonyan tudta kiszámítani az adatok újrapróbálkozási idejét.

10.13.6 Statisztika gomb

Mennyivel lehet korrigálni az időtúllépésnél többet? A felvett érték megvalósításával a termelékenység jelentős növekedése várható. Példaként szolgálhatnak a parancs statisztikai adatai netstat, Otrimani a rendszeren tigris- az Internet szerverei, milyen mértékben gyötörik a világ névtelen gazdáit.


1510769 csomag (314955304 bájt) érkezett egymás után

rendszer tigris A TCP adatszegmensek kevesebb mint 2,5%-a került újraküldésre. A második milliónál vannak adatszegmensek (és є tiszta ACK kiegészítések) a duplikáció csak 0,6%. Bármilyen körültekintéssel a bemeneti adatok költsége megközelítőleg megegyezik a kimeneti szegmensek díjával. Ily módon az újraközvetítés ingyenes forgalma a teljes forgalom közel 0,6%-át teszi ki.

10.13.7 Újbóli javítás utáni töltés

A fejlettebb képletekben a ciklus órájának értékét választják a szakasz korrekciója és az elfogadás megerősítése közötti intervallumként. Elfogadható azonban, hogy az időkorlát alatt senki sem érezte úgy, hogy újra behelyezték.

Kern algoritmusa átadja, hogy nem lehet minden körben megváltoztatni a ciklus óráját. Pontosabban a ciklus óra értékének simítása i kisimultak mentse el az értéküket mindaddig, amíg az aktuális szegmens átvitelének megerősítése törlődik anélkül, hogy azt újra beállítaná. Ettől a pillanattól kezdve a díjak frissítése a megtakarítások és az új számítások alapján történik.

10.13.8 Az újraküldés utáni dátum

Ale scho vodbuvaetsya végéig a megerősítés? Ismételt újraküldést követően a TCP viselkedése gyökeresen megváltozik, főként a hálózaton belüli átmenet során bekövetkező adatvesztés miatt. Otzhe, a reakció ezek újraszerkesztésére a következő lesz:

■ Csökkentett újratöltési sebesség

■ Küzdeni kell a hálózatok újbóli felhasználása ellen a további gyors forgalom érdekében

10.13.9 Exponenciális horganyzás

Ismételt újraküldés után az időkorlát beállításra kerül. De mi történik, ha az időzítőt újra alaphelyzetbe állítják? Az adatok újraküldésre kerülnek, és az újraküldés időtartama ismét megduplázódik. Ezt a folyamatot ún exponenciális galvanizmus(Exponenciális visszalépés).

Ha a hiba továbbra is megjelenik, az időtúllépési időszak meghosszabbodik a beállított maximális érték eléréséig (hang - 1 perc). Időtúllépés után csak egy szegmens küldhető el. Az időtúllépés be van állítva, és amikor az adatátvitel értéke az ACK eltávolítása nélkül módosul.

10.13.10 Kedvezményes bérleti díj

Hamarosan kötelezni fogom az adatot, hogy minél több hajtogatott holmit tesznek keresztbe, annál több mechanizmust néznek lejjebb. Úgy indul pratsyuvati, mint egy új kezdet. Ale, a szilánkok az egyenlő forgalom határaként jönnek létre, ami már korai szakaszban problémákhoz vezethet, valóban segít az árfolyam növelésében, ha egy szegmensben növeljük a navantage vikna számát. A szállítási sebesség valós sebességéhez szükséges a kordon értékét beállítani. A veszélyküszöb a hátoldalon van számolva:

Kordon - 1/2 minimum

Ha az értéket levesszük, akkor több mint két szegmens lesz, її vikoristovuyut, mint egy kordon. Ellenkező esetben a kordon tágulása két szegmensre áll vissza. Az új frissítési algoritmus megváltozik:

■ Állítsa be a navigációs ablak méretét egy szegmensre.

■ A bőrből eltávolított ACK esetén csökkentse a navigációs rést egy szegmenssel, amíg el nem éri a határt (ez a legjobb módja a megfelelő kezdésnek).

■ Az ACK bőrkivonása esetén a navigációs intervallumok előtt adjon hozzá egy kisebb értéket, mivel ez a ciklus óránkénti egy szegmensének növekedési sebessége alapján kerül kiválasztásra (a növekedés kiszámítása MSS / N, de N - a navigációs intervallum mérete a szegmensekben).

Az ideális megoldás forgatókönyve az inspiráció mechanizmusával könnyen feltárható a robot számára. Tegyük fel, hogy a partner elsődleges ablaka (és a jelenlegi naiv ablak) nem elegendő az időtúllépés 8 szegmensben történő megjelenítéséhez, és a határ 4 szegmensben van hozzárendelve. Gyakorlati alkalmazásként a pufferből kiolvasva az elsődleges ablak mérete 8 szegmens lesz.

■ 1 szegmens fut (az uralkodó ablak = 1 szegmens).

■ ACK Rejected – 2 szegmens kerül elküldésre.

■ ACK eltávolítva 2 szegmensre - 4 szegmens túlerősödik (eléri a határt).

■ ACK érkezett 4 szegmensre. 5 szegmenst erősít meg.

■ ACK érkezett 5 szegmensre. 6 szegmenst erősít meg.

■ ACK érkezett 6 szegmensre. 7 szegmens erősítése.

■ ACK érkezett 7 szegmensre. 8 szegmens van felülírva (a bővítés utáni utolsó eggyel fontosabb lett).

Oskіlki pіd egy óra ismételt átvitel időtúllépéssel szükséges az összes kormányzati adat kézhezvételének megerősítéséhez, a folyamat az elsődleges ablak navigációs ablakának eléréséig. Podії, scho vіdbuvayutsya pokazanі az ábrán. 10.20. Rozmir vіkna zbіlshuєtsya exponenciálisan, podvoyuyuchi minden órában az időszak szabályos kezdetét, és miután elérte az interi zbіlshennya vіdbuvaєtsya a lineáris törvényt.


Mal. 10.20. Szállítási költségek cseréje költöztetés pid áthelyezés órája

10.13.11 Ismétlődő ACK

Egyes megvalósításokban a neobov'yazkova képessége stagnál - így hívják shvidka újra megnyúlt(Gyors újraküldés) - olyan módszerrel, amely felgyorsítja az adatok újrabeállítását éneklő elmékkel. A fő gondolat a kiegészítő ACK adminisztrációjával kapcsolatos, ami hiányosságot jelez a fogadott adatokban.

Vegyünk egy nem rendben lévő szegmenst, tartsuk vissza az ACK-t, ami az első bájtot jelzi vdchenih danikh (div. 10.21. ábra).


Mal. 10.21. duplikált ACK

Az adatkezelő nem mulasztja el az adatok újraküldését, az IP-szilánkok normál módban szerkesztési sorozat nélkül is eljuttatják az adatokat a tulajdonoshoz. És ha másolatot készített az adatok megkettőzésére szolgáló további ACK-okról (például háromról), akkor a napi szegmens az időtúllépés ellenőrzése nélkül kerül elküldésre.

Lényeges, hogy a duplikált ACK az adatszegmens kihagyását jelzi. A megkettőzött ACK-ek másolata lehetővé teszi annak megértését, hogy egy elegendő mennyiségű adat szállítására szolgáló alap ezért nem túl hiábavaló. A rejtett algoritmus részeként a navigációs ablak kismértékű, rövid távú kibővítését tekintik a futópad forgalom valódi növekedésével. Ebben az esetben a világ gyökeres változásának folyamata nem áll meg a mű megújulásával.

Vіdpovіdno a szabványnak Host követelmények(A gazdagépeknek is) A TCP ugyanabban a szabályos indításban vétkes, mint fentebb leírtuk, fojtott forráskioltással. Az árra vonatkozó információ azonban nem є tsіlespryamovanim, hanem effektivnym, oskolki elvette a tse voіdomlennya z'єdnannya tud és nem generál túl nagy forgalmat. Áramlási specifikáció Router követelmények(Routereket szeretne) jelzi, hogy mely útválasztók nem bűnös küldjön egy emlékeztetőt a dzherel megfojtásával kapcsolatban.

10.13.13 TCP statisztikák

Nareshti, vessünk egy pillantást a parancsnokság statisztikájára netstat, schobachit a robotokban gazdagon más mechanizmusok leírásaiból.

A szegmenseket csomagoknak nevezzük.
879137 adatcsomag (226966295 bájt)
21815 adatcsomag (8100927 bájt) újraküldve
Újra átadás.
132957 csak fogadható csomag (104216 késleltetett)
Jelentősen nagy számban

zatrimanih ACK.

Szondázás

nulla méret.

Miért SYN és FIN?
762469 akk (226904227 bájt esetén)
Jelzés a csomagokról, yaki megérkezett

a sorrend testtartása.

1510769 csomag (314955304 bájt)
9006 teljesen duplikált csomag (867042 bájt)
Időtúllépési eredmény valódi

adatszolgáltatás.

74 csomag némi duppal. adatok (12193 bájt átverve)
Nagyobb hatékonyságú módszerrel

Az ismételt újracsomagolás során a deakі adatokat a rendszer újracsomagolta, hogy további bájtokat tartalmazzon.

13452 soron kívüli csomag (2515087 bájt)
530 csomag (8551 bájt) adat az ablak után
Lehetséges, qі danі buli

a szondázási utasítások tartalmazzák.

402 csomag érkezett bezárás után
Tse jön a kiújulás

módosítások.

108-at elvettük rossz ellenőrző összegek miatt
Érvénytelen TCP-ellenőrző összeg.
0 elvetve rossz fejléceltolási mezők miatt
7 eldobva, mert a csomag túl rövid
14677 kapcsolat létrejött (beleértve az elfogadásokat is)
18929 kapcsolat lezárva (ebből 643 csepp)
4100 embrionális kapcsolat megszakadt
572187 szegmens frissítve rtt (587397 próbálkozásból)
Nem messze próbáld ki a változtatást

a ciklus órájában az ACK-szilánkok nem érkeztek meg az időtúllépés lejártáig,

26 kapcsolat megszakadt a rexmit időtúllépése miatt
Gyere, próbáld ki

ismételt javítások, a számlán feltüntetettek szerint.

Időtúllépés szondázással

nulla ablak.

Időtúllépés a fordítás szerint

nem praktikus sorrend.

472 kapcsolat megszakadt a Keepalive által

10.14 Vіdpovіdnіst vіmogam kiskereskedő

A TCP streaming szabvány vymagaє, schob végrehajtása szilárdan dotrimuvalis eljárások povіlnogo indul inicializálása során a nap és vikoristovuvali algoritmusok Kern és Jacobson, hogy értékelje az időtúllépés az adatok újraelosztása és kezelése navantagenym. A tesztek kimutatták, hogy ezek a mechanizmusok a termelékenység jelentős növekedéséhez vezetnek.

Mi történik a rendszer telepítésekor, ha nem tartja be határozottan ezeket a szabványokat? Nem lesz képes megbízható termelékenységet biztosítani a nedves coristuvachiv számára, és rossz forrás lesz más merezhi rendszerek számára, megváltoztatja a normál működést a timchasovy eltolása után, és túlvilági forgalmat hoz létre, amely a datagramok megjelenése előtt keletkezik.

10.15 Termelékenységi akadályok

A TCP elérte rugalmasságát, kis lépésekben dolgozik a másodpercenkénti száz vagy millió bit cseréjéért. Ezzel a protokollal jó eredményeket lehetett elérni napjaink Ethernet, Token-Ring és Fibre Distributed Data Interface (FDDI) topológiájú helyi hálózataiban, valamint alacsony vonalú kapcsolatoknál vagy távoli hálózatokról (hasonlóan a műholdas kapcsolatokhoz).

A TCP-t úgy bontják fel, hogy reagáljon a szélsőséges elmékre, például a túlterheltségre. A protokoll streaming verziójában azonban vannak olyan funkciók, amelyek egyesítik a termelékenységet az ígéretes technológiákban, yak, hogy sok sávszélességet mutasson több száz és több ezer megabájtban. Annak érdekében, hogy megértsük a felrótt problémákat, ez egy egyszerű (kívánatos és irreális) fenék.

Tegyük fel, hogy egy fájl két rendszer közötti mozgatásakor a cserét a padlóburkolat folyamatos áramlásával kell hatékonyan, amennyire csak lehetséges. Mondjuk, hogy:

■ A vételi szegmens maximális mérete 1 KB.

■ Priymalne vіkno - 4 KB.

A Smuga kihagyás lehetővé teszi két szegmens átvitelét 1 másodperc alatt.

■ priymaє dodatka poglaє danі on іrі їх nakhodzhennya.

■ Az ACK-értesítések 2 másodperc múlva kerülnek elküldésre.

Az épület illetékese az adattovábbítást megszakítás nélkül. Még ha a videó elképzelései elkészülnek is, adjon hozzá egy ACK-t, amely lehetővé teszi egy másik szegmens szerkesztését:

2 óra után:

AZ 1. SZEGMENT VISSZAFOGLALÁSA, KÜLDHETŐ AZ 5. RÉSZ.
A 2. SZEGMENT VISSZAFOGLALÁSA, KÜLDHETŐ A 6. RÉSZ.
A 3. SZEGMENS VISSZAFOGLALÁSA, KÜLDHETŐ A 7. RÉSZ.
A 4. SZEGMENT VISSZAFOGLALÁSA, KÜLDHETŐ A 8. RÉSZ.

Bővebben 2 óra múlva:

AZ 5. SZEGMENT VISSZAFOGLALÁSA, KÜLDHETŐ A 9. RÉSZ.

Szokás szerint csak 2 Kbyte volt, ez egy másodperces ellenőrzés lenne a skinből kettő, mielőtt kijavítaná az érkező adatokat. Valójában a zavartalan adatáramlás mérséklése érdekében nem kevesebb, mint rozmir anya felelőssége:

Vіkno \u003d Smuga pass time × Óraciklus

Ha azt szeretnénk, hogy egy kis csikk az átvitelek (biztosítására több prímszám), egy kicsit problémákhoz vezethet, amikor csatlakozik műholdakon keresztül egy nagy zatrymkoy.

Most nézzük meg, mi látható a sokemeletes padlókkal. Például, mivel a smuga sávszélességet és sebességet 10 millió bit/másodperc túllépi, és a ciklus órája 100 ms (1/10 másodperc) lesz, akkor a megszakítás nélküli áramláshoz jobb, ha 1 000 000 bitet veszünk. 125 000 bájt. A TCP vételi útvonal fejlécébe írható legmagasabb szám 65536.

Egy másik probléma a nagy cseregyorsaság, a rendelési számok szilánkjai és a gyorsabb vége. Ha 4 GB / s sebességgel tud adatot továbbítani, akkor a hiba sorozatszáma egy skin másodperc alatt frissül. Nem lehet majd szétválasztani a régi duplikált datagramokat, mintha egy másodperccel alacsonyabbak lennének az interneten való mozgás során, tekintettel a friss, új adatokra.

Ugyanakkor aktívan végrehajtják az új frissítéseket a TCP / IP frissítéshez és a fejlettebb kódok elfogadásához.

10.16 TCP-funkciók

Ez a fejezet a TCP numerikus funkcióival foglalkozik. Az alábbiakban a főbbeket rehabilitálják:

■ A portok kommunikációja a padlóval

■ A segélyhívás kezdeményezése háromlépcsős megerősítés

■ A megfelelő kezdés Wiconnannyja, amely magában foglalja az átkapcsolást is

■ Adatok szegmentálása az átvitel során

■ Adatok számozása

■ Úgy tervezték, hogy duplikált szegmenseket tartalmazzon

■ Ellenőrző összegek kiszámítása

■ A fogadó ablakon és a korrekciós ablakon keresztüli adatáramlás szabályozása

■ A találkozó befejezése visszaállítási módon

■ Találkozó átütemezése

■ Kifejezések fordítása

■ Az újraküldés pozitív megerősítése

■ Próbálja újra az időtúllépés számítását

■ A visszirányú forgalom csökkenése újrasugárzás esetén

■ A nem megfelelő szegmensek jelenlétének jelzése

■ A fogadóablak bezárásának vizsgálata

10.17 TCP leszek

A következő TCP több szakaszon megy keresztül: egy hívás jön létre további információcserére, majd adatküldésre kerül sor, majd a speciális értesítések további cseréjére bezár. Bőr Croc a robotnál tábor ts'ogo z'ednannya. Az üzem bőroldali TCP-szoftveres biztonsága folyamatosan figyeli az üzem másik oldalának gyártósorát.

Az alábbiakban röviden áttekintjük a szerver- és kliensbeállítások jellemző változásait, amelyek a nap különböző szakaszaiban történtek. Nem állítjuk be metaadatként az összes lehetséges pozíció leírását az adatátvitel során. Az RFC 793-ban és a dokumentumokban indukálódik Host követelmények.

A telepítés órájában a szervernek és a kliensnek hasonló állomássorozatokon kell keresztülmennie. A 10.3. táblázatban látható szerver leszek, és kliens leszek - a 10.4. táblázatban.


10.3. táblázat Szerver állvány sorrendje

szerver tábor pódium leírás
ZÁRVA Fiktív tábor előtt a csutka a telepítés z'ednannya.
Passzív visszajelzés a szerverkiegészítésből.
HALLGAT A szerver törli a kapcsolatot az ügyféllel.
A TCP-kiszolgáló elfogadja a SYN-t, és SYN / ACK-t küld. A szerver elfogadja a SYN-t és küldi a SYN / ACK-t. Lépjen az ACK oldalra.
SZIN A TCP szerver elfogadja az ACK-t.
LÉPTETT (telepítve) Elutasította ACK, elismerte s'ednanya.

10.4. táblázat Az ügyfél bejegyzéseinek sorrendje

A yakby partnerek egyszerre próbálták feladni a rendelést egyenként (ami trapleyatsya ritkán), a bőr átment a táboron ZÁRVA, SYN-SENT, SYN-RECEIVED és LÉPTETÉS.

A nap végét felhagyják a KIÁLLÍTOTT állomáson, amíg az egyik oldal tovább nem lép zárva hívjon FIN szegmens küldésével. A végső zárás során az oldal, mint a zárást megindító, áthalad a malmon, a 10.5. táblázatban látható. Її partner áthaladni a táboron, a 10.6. táblázatban bemutatva.


10.5. táblázat Az oldalra állás, a hát zárása sorozata

begörbítem az oldalamat pódium leírás
ALAPÍTOTT Helyi kiegészítés a megrendelés lezárását kéri.
A TCP FIN/ACK-t küld.
FIN-WAIT-1 Az oldal bezárása a partner pontozása. Feltételezve, hogy egy partner továbbra is hozzáadhat új adatokat.
A TCP elfogadja az ACK-t.
FIN-WAIT-2 A zárt oldal ACK-t kapott a partnertől, de továbbra sem kapott FIN-t. A záró oldal FIN pontot ér, elfogadva a rendelkezésre álló adatokat.
A TCP elfogadja a FIN / ACK-t.
ACK küldése.
IDŐ-VÁR Z'ednannya pіdtremuєtsya a neznachennym stіnі, schob lehetővé pribiti аbo vіdkinuti továbbra is іsnuyuchi mértékében az adatok megkettőzése vagy megkettőzése FIN. A pontozási időszak hosszabb, mint a szegmens maximális várható élettartamának értékelése.
ZÁRVA

10.6. táblázat A partnerré válás sorrendje a nap zárásaként

partner tábora pódium leírás
ALAPÍTOTT A TCP elfogadja a FIN / ACK-t.
ZÁR-VÁR Megérkezett FIN.
A TCP ACK-t küld.
A TCP ellenőrzi a blokkolási kérelmét. Ebben a pillanatban a kiegészítések nagyszámú tribute hozzáadásához szükségesek.
A helyi program elindítja a nap zárását.
A TCP FIN/ACK-t küld.
LAST-ACK A TCP törli az utolsó ACK-t.
A TCP elfogadja az ACK-t.
ZÁRVA A nappal kapcsolatos összes információ kimaradt.

10.17.1 TCP üzemelemzés

csapat netstat -an lehetővé teszi a malom soros malomjának újragondolását. Az alábbiakban az egyes országokban bemutatott bemutatókat találja figyel, indítás, alapítás, bezárásі idő-várás.

Lényeges, hogy a cél portszáma a skin helyi és külső címében van megadva. Látható, hogy a bejáratoknál és a hétvégéknél is van TCP forgalom.

Pro Recv-Q Send-Q Helyi cím Külföldi cím (állam)
Tcp 0 0 128.121.50.145.25 128.252.223.5.1526 SYN_RCVD
Tcp 0 0 128.121.50.145.25 148.79.160.65.3368 LÉPTETT
Tcp 0 0 127.0.0.1.1339 127.0.0.1.111 TIME_WAIT
Tcp 0 438 128.121.50.145.23 130.132.57.246.2219 LÉPTETÉS
Tcp 0 0 128.121.50.145.25 192.5.5.1.4022 TIME_WAIT
Tcp 0 0 128.121.50.145.25 141.218.1.100.3968 TIME_WAIT
Tcp 0 848 128.121.50.145.23 192.67.236.10.1050 LÉPTETÉS
Tcp 0 0 128.121.50.145.1082 128.121.50.141.6000 LÉPTETÉS
TCP 0 0 128.121.50.145.1022 128.121.50.141.1017 LÉPTETT
Tcp 0 0 128.121.50.145.514 128.121.50.141.1020 CLOSE_WAIT
Tcp 0 1152 128.121.50.145.119 192.67.239.23.3572 LÉPTETT
Tcp 0 0 128.121.50.145.1070 192.41.171.5.119 TIME_WAIT
Tcp 579 4096 128.121.50.145.119 204.143.19.30.1884 LÉPTETÉS
Tcp 0 0 128.121.50.145.119 192.67.243.13.3704 LÉPTETT
Tcp 0 53 128.121.50.145.119 192.67.236.218.2018 FIN_WAIT_1
Tcp 0 0 128.121.50.145.119 192.67.239.14.1545 LÉPTETÉS

10.18 A végrehajtás tiszteletben tartása

A kezdetektől fogva a TCP-találkozók protokollja a határellenőrzés kölcsönhatására különböző változatokban. A TCP specifikáció nem határozza meg pontosan, hogy a belső megvalósítási struktúrát hogyan kell megvalósítani. A diéta nem elérhető a kiskereskedők számára, ha Ön felhívja, hogy megismerje az adott bőrbe való bejuttatás legjobb mechanizmusait.

Navit RFC +1122 (dokumentum Gazdakövetelmények - segít a házigazdáknak) elegendő szabadságot foszt meg a variációkhoz. A végrehajtott funkciókat tartalmazó bőrfelületek azonos összességgel vannak jelölve:

■ MÁJUS (Engedélyezett)

■ NEM KELL

Kár, hogy egyes termékeket árulnak, nem árulnak MUST előnyöket. Ennek eredményeként a koristuvachok a termelékenység csökkenése miatt kéznélkülivé válnak.

A jó módszereket és a végrehajtást nem védik szabványok. Például javítható a biztonság, ha a hőcserélőt a rendszer kiemelt folyamatai fűtik, mivel a helyi operációs rendszerben ez a módszer támogatott. Az értékesítés termelékenységének növelésével kevesebbet tudunk másolni, mozgatni a feliratokat vagy a csodás tiszteletadásokat.

Szabványos alkalmazásprogramozási felület nincs időpont(Mint egy biztonsági politika), így elveszett a tevékenységi terület a különféle szoftvereszközökkel való kísérletezéshez. Azonban különböző szoftverfelületeket hozhat létre a különböző platformokon, és nem engedheti meg a szoftveralkalmazások platformok közötti mozgását.

Valójában a kiskereskedők a Berkeley Socket programozási felületére alapozzák eszközkészleteiket. A szoftveres interfész értéke nőtt a WINSock (Windows Socket) megjelenésével, ami az asztali rendszerekhez való új kiegészítők gyors növekedéséhez vezetett, amelyek bármely WINSock felületen működhetnének, teljes köteg TCP-vel. / IP.

10.19 Dodatkov-irodalom

Az eredeti TCP szabványt az RFC 793 határozza meg. A korszerűsítéseket, korrekciókat és esetleg a konzisztenciát az RFC 1122 áttekinti. Kern (Kash) és Partridge (Partridge) publikálta a cikket Az oda-vissza becslések javítása a megbízható szállítási protokollokban egy folyóiratban Az ACM SIGCOMM 1 987 közleménye. Statya Jacobson Torlódások elkerülése és ellenőrzéseórakor jelent meg Az ACM SIGCOMM 1988 Workshop anyaga. Jacobson is látott egy darab RFC-t, amely a termelékenység javítására szolgáló algoritmusokat vizsgálja.

Támogassa a projektet – ossza meg erőfeszítéseit! Köszönjük!
Olvassa el is
Sbebrank (más néven Oschadbank) Sbebrank (más néven Oschadbank) A licencproblémák megoldása az Autocad Chi programban nem indítja el az Autocad Windows 7 rendszert A licencproblémák megoldása az Autocad Chi programban nem indítja el az Autocad Windows 7 rendszert Útmutató a CryptoPro PIN kód kiválasztásához, számos dokumentum aláírásának órájában - Utasítások - AT Útmutató a CryptoPro PIN kód kiválasztásához, számos dokumentum aláírásának órájában - Utasítások - JSC "PEK-Torg"