Papildinājums tcp ip klienta serveris. Klienta-servera papildinājums TCP straumēšanas ligzdā

Pretdrudža līdzekļus bērniem izraksta pediatrs. Bet ir situācijas, kad ir nepieciešama palīdzība likhomanci gadījumā, ja bērnam ir jādod sejas nolaidīgi. Tad tēvi paši uzņemas reanimācijas un zastosovuyut pretdrudža preparātus. Ko atļauts dot lādes bērniem? Kā pazemināt temperatūru vecākiem bērniem? Kuras ir visdrošākās sejas?

Klienta-servera papildinājums TCP straumēšanas ligzdā

Uzvarošā TCP uzbrukuma vietā, lai nodrošinātu sakārtotību, izmantojot divvirzienu baitu straumes. Lūdzu, aizpildiet papildinājumu, kas ietver klientu un serveri. Pirmkārt, mēs demonstrējam, kā izveidot serveri uz TCP straumes ligzdām, un pēc tam klienta programmu mūsu servera testēšanai.

Nākamā programma izveidos serveri, kas pieņems pieprasījumu pieprasījumus no klientiem. Uzvednes serveris sinhroni vēlāk bloķē plūsmu, līdz serveris ļauj tam izveidot savienojumu ar klientu. Šī programma demonstrē vienkāršu serveri, kas tiek nosūtīts klientam. Klients pabeidz dienu, pārvaldot paziņojumu serveri .

TCP serveris

Servera struktūras izveide ir parādīta nākamajā funkcionālajā diagrammā:

Programmas koda SocketServer.cs ass:

// SocketServer.cs, izmantojot sistēmu; izmantojot System.Text; izmantojot System.Net; izmantojot System.Net.Sockets; nosaukumvieta SocketServer (klase Programma (statiskā tukšums Galvenā (string args)) (// Iestatīt lokālo galapunktu ligzdai IPHostEntry ipHost = Dns.GetHostEntry("localhost"); IP adrese ipAddr = ipHost.AddressList; IPEndPoint =1ipAdEndPoint1(ipAdEndPoint1) ; // Izveidot ligzdu Tcp / Ip Socket sListener = new Socket (ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); // Piešķirt ligzdu vietējam beigu punktam un dzirdēt ligzdas mēģinājumu (sListener.Bind(ipEndPoint.); sListener. (10); // Sāk klausīties, kamēr (true) (Console.WriteLine ( "Klausīties portā (0)", ipEndPoint); // Programma tiek apturēta, pārbaudot ievadi Socket handler = sListener.Accept (); virknes dati = null; // Mēs saņēmām klientu, mēs cenšamies saņemt mums baiti baiti = jauns baits; int bytesRec = handler.Receive (baiti); dati + = Encoding.UTF8.GetString (baiti, 0, baitiRec ); // Tiek rādīts dati konsolē Console.Write ( "Teksta noņemšana: "+ dati + "\n\n"); // Atbildes nosūtīšana klientam \ string reply = "Paldies, ka jautājāt" + dati.Length.ToString () + "simboli"; baits msg = Encoding.UTF8.GetBytes(atbildēt); apdarinātājs.Sūtīt(ziņa); if (data.IndexOf ( " ")> -1) (Console.WriteLine("Serveris ir pabeidzis saziņu ar klientu. "); Break;) apdarinātājs.Shutdown(SocketShutdown.Both); handler.Close();)) noķert (Izņēmums, ex) (Console . WriteLine(ex.ToString());) beidzot(Console.ReadLine();))))

Apskatīsim šīs programmas struktūru.

Lauka pirmā mala ir iestatīta ligzdas lokālajam beigu punktam. Pirmā zemākā adrese, lai iestatītu ligzdu, lai apstiprinātu z'ednan, ir nepieciešams sagatavoties jaunajai vietējā gala punkta adresei. Unikāla TCP/IP pakalpojuma adrese tiek piešķirta, apvienojot resursdatora IP adresi ar pakalpojuma porta numuru, lai izveidotu pakalpojuma galapunktu.

Dns klase ir balstīta uz metodi, lai pārveidotu informāciju par robežu adresēm, kuras atbalsta vietējās robežas paplašinājumi. Ja paplašinājumam ir vairāk nekā viena vietējā adrese, Dns klase pārvērš informāciju par visām adresēm, un papildinājums ir atbildīgs par atbilstošās adreses masīva atlasi apkalpošanai.

Izveidojiet serverim IPEndPoint, apvienojot resursdatora pirmo IP adresi, no kuras atņemta Dns.Resolve() metode, ar porta numuru:

IPHostEntry ipHost = Dns.GetHostEntry("localhost"); IPAddress ipAddr = ipHost.AddressList; IPEndPoint ipEndPoint = jauns IPEndPoint(ipAddr, 11000);

Šeit IPEndPoint klase apzīmē localhost portā 11000. Straumes ligzda tiek izveidota kā jauna Socket klases instance. Iestatot lokālo beigu punktu savienojuma vērtēšanai, varat izveidot ligzdu:

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

pārbūve AdreseĢimene Norādiet adresācijas shēmas, lai adreses atlasei varētu izmantot Socket klases gadījumu.

Par parametriem SocketType TCP un UDP ligzdas ir atdalītas. Jaunajā, cita starpā, varat apzīmēt šādas nozīmes:

dgram

Atbalsta datagrammas. Adrešu saimes parametrā Dgram vērtība ir jāiestata uz Udp protokola tipam un InterNetwork.

Neapstrādāts

Atbalsta piekļuvi pamatā esošajam transporta protokolam.

Straume

Atbalsta straumes ligzdas. Protokola veidam Stream vērtība ir jāiestata uz Tcp.

Trešais un pēdējais parametrs norāda ligzdai nepieciešamo protokola veidu. Par parametriem Protokola tips Varat ievadīt nākamo svarīgāko vērtību - Tcp, Udp, Ip, Raw.

Ar soli jūs varat atpazīt ligzdu papildu metodei saistīt(). Ja ligzdu ir deklarējis konstruktors, tai netiek piešķirts nosaukums, bet tiek rezervēts tikai rokturis. Lai piešķirtu nosaukumu servera ligzdai, tiek izsaukta metode Bind(). Lai klienta ligzda nekavējoties identificētu TCP straumes ligzdu, servera programma ir atbildīga par tās piešķiršanu savai ligzdai:

SListener.Bind(ipEndPoint);

Metode Bind() saista ligzdu ar lokālo beigu punktu. Izsaukuma metode Bind() ir jāizmēģina pirms Listen() un Accept() metodēm.

Tagad, izveidojot ligzdu un piesaistot tai nosaukumu, varat dzirdēt ievades ziņojumus, izmantojot metodi klausies (). Klausīšanās stacijā pārbaudes laika ligzda nonāk zondē:

SListener.Listen(10);

Parametrs ir iestatīts zadils (atpalikšana); Nākamajā kodā uzkrātā parametra vērtība ir līdz desmit dienām.

Klausīšanās stacijā sagatavojam tikšanās datumu ar klientu, kuram metode tiek uzvarēta pieņemt (). Ar šīs metodes palīdzību tiek ievadīts klients un pabeigta klienta un servera nosaukumu savienošana. Accept() metode neļauj programmai izsaukt, kamēr tā nav nepieciešama.

Accept() metode pārbauda pirmo pieprasījumu zvanā un izveido tam jaunu ligzdu. Ja vēlaties jaunu izstrādājumu ligzdu, vālīšu ligzda turpina dzirdēt un var uzvarēt ar bagātīgu datu plūsmu, lai saņemtu uzlīmes dzeršanai no klientiem. Tā nav servera papildinājuma vaina, ka klausīšanās ligzda bija savīti. Vin ir atbildīgs par to ligzdu secības uzturēšanu, kas izveidotas ar Accept metodi, lai apstrādātu klientu ievades pieprasījumus.

While (true) (Console.WriteLine ("Skaidrs saņemts, izmantojot portu (0)", ipEndPoint); // Programma tiek apturēta, pārbaudot ievades paziņojumus Socket handler = sListener.Accept ();

Tā kā tikai klients un serveris ir izveidojuši savienojumu savā starpā, varat pārvaldīt un noņemt paziņojumus, izmantojot vicorist metodes sūtīt ()і saņemt () Socket klase.

Metode Send() ieraksta izvaddatus ligzdā, ar kuru tiek iestatīts datums. Saņemšanas () metode nolasa ievades datus straumes ligzdā. Citā sistēmā, kuras pamatā ir TCP, starp ligzdām pirms dažādām metodēm Sūtīt () un Saņemt () var ievietot zadnanny. Precīzs protokols starp divām savstarpēji atkarīgām entītijām ir vainojams par iepriekšēju tikšanos, lai klienta un servera pievienojumprogrammas nebloķētu viens otru, nezinot, kurš ir vainīgs viņu cieņā pirmajam.

Ja datu apmaiņa starp serveri un klientu ir pabeigta, ir nepieciešams slēgt darījumu izslēgt()і aizvērt ():

Handler.Shutdown(SocketShutdown.Both); apdarinātājs.Aizvērt();

SocketShutdown — šī ir pārdomāšana, lai aizstātu trīs ligzdas vērtības: Abi- zupinyaє vіdravku ka otrimannya dannyh ligzda, saņemt- Zupinyaє otrimannya datu ligzda i nosūtīt- zupinyaє vіdpravku datu ligzda.

Ligzda tiek aizvērta, kad tiek izsaukta metode close(), kas arī iestata ligzdas Connected jaudu uz false.

TCP klients

Funkcijas, piemēram, vikoristovuyutsya programmas-klienta izveidei, vairāk vai mazāk uzmin servera papildinājumu. Kas attiecas uz serveri, tās pašas metodes tiek izmantotas beigu punkta noteikšanai, ligzdas instances izveidei, datu rediģēšanai un noņemšanai un ligzdas aizvēršanai.

Iet uz augšu saskaņā ar protokoliem.

TCP un UDP - abi transporta slāņa protokoli. UDP - tas pats protokols bez savienojuma izveidošanas un ar negarantētu pakešu piegādi. TCP (Transmission Control Protocol) - tas pats protokols izveidotiem pasūtījumiem un garantētu pakešu piegādi. Rokas aizmugurē roku trīcēšana (Sveiki. | Sveiki. | Pļāpāsim? | Parunāsim.), Pēc kura svarīgi ir atjaunoties. Pēc tam pēc pasūtījuma pakas nosūtīja atpakaļ (Ide Rozmovs), turklāt ar atkārtotu verifikāciju paciņa tika nosūtīta uz pasūtījumu. Ja iepakojums ir sabojāts, vai arī, ja tas ir ar salauztu kontrolsummu, tad vīns tiek piespiests vēlreiz (“atkārtot, neceļot”). Tādā veidā TCP ir jaudīgāks, bet no realizācijas viedokļa salokāmāks un, acīmredzot, nozīmē vairāk pulksteņu/atmiņas, kas nevar palikt svarīgi mikrokontrolleriem. Kā lietot lietojumprogrammu protokolus, kas pārspēj TCP, varat izsaukt FTP, HTTP, SMTP un daudzus citus.

TL; DR

HTTP (Hypertext Transfer Protocol) ir lietojumprogrammu protokols, kas paredzēts servera palīdzībai, kas izskatās kā mūsu pārlūkprogrammas puse. HTTP šajā stundā ir vispārēji uzvarošs Vispasaules tīmeklī informācijas izgūšanā no vietnēm. Attēlā ir mikrokontrollera lampiņa ar iebūvētu OS, kurā krāsa tiek iestatīta caur pārlūkprogrammu.

HTTP protokols ir tekstuāls un vienkāršs. No otras puses, GET metode izskatās šādi, ko netcat utilīta nosūta uz servera vietējo IPv6 adresi ar indikatoriem:

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

HTTP metode ir īss angļu vārds, kas rakstīts ar lielajiem burtiem, reģistrjutīgs. Gūžas ādas serverim ir jāatbalsta vismaz GET un HEAD metodes. GET un HEAD metožu, POST, PUT un DELETE metožu krēms bieži tiek bloķēts. GET metode uzvar piešķirtā resursa pieprasīšanai, mūsu gadījumā šeit GET / b HTTP / 1.0 de shlyah / b atbild par krāsu (zilu). Servera ID:

HTTP / 1.0 200 OK Serveris: Contiki / 2.4 http://www.sics.se/contiki/ Savienojums: aizveriet Cache-Control: bez kešatmiņas, bez veikala, atkārtoti jāapstiprina Pragma: bez kešatmiņas Derīguma termiņš: 0 Saturs- tips: teksts/html Contiki RGB

Sarkanais ir IZSLĒGTS

Zaļā krāsa ir IZSLĒGTA

Zilā krāsa ir IESLĒGTA

Kods kļūs (mums ir 200) є servera pirmās rindas daļu. Vin ir vesels trīs ciparu skaitlis. Pirmais cipars norāda klasi, no kuras es kļūšu. Aiz izstāšanās koda izrunājiet nākamo frāzi ar caurlaidi, paskaidrojot frāzi angļu valodā, it kā roz' izskaidrojot cilvēkiem šādas izņemšanas iemeslu. Mūsuprāt, serveris nav saņēmis nekādu piedošanu, viss ir čupā (OK).

Kā tiek jautāts, arī virsraksti (ādas rinda ir tāda pati kā virsraksta lauks, im'ya vērtību pāris ir atdalīts ar divkāršu). Virsraksti beidzas ar jaunas rindas simbolu, pēc kuras var pāriet dati.

Mana pārlūkprogramma reaģē uz vietējo IPv6 adresi, tāpēc mikrokontrollera programmaparatūrā ir papildu adrese, un tas pats prefikss jāpiešķir arī simulatora virtuālajam interfeisam:

~ $ sudo ip addr add abcd :: 1/64 dev mazko # linux ~ $ netsh interfeiss ipv6 iestatīt adresi mazko abcd :: 1 # windows ~ $ curl http://

Serveri, kas ievieš šos protokolus korporatīvajā tīklā, piešķir klientiem IP adreses, vārteju, tīkla masku, nosaukumu serverus un norāda printeri. Koristuvachiem nav obligāti manuāli jākonfigurē saimnieki, lai vikoristovuvat merezh.

QNX Neutrino operētājsistēmā tiek ieviests cits automātiskās konfigurācijas protokols ar nosaukumu AutoIP, kas ir IETF automātiskās konfigurācijas projekts. Šis protokols darbojas nelielos veidos, lai piešķirtu IP adreses saimniekiem, kas ir lokāli saitei (link-local). AutoIP protokols neatkarīgi piešķir kanālam lokālu IP adresi, izmantojot shēmu, kas piemērota citiem resursdatoriem un nedodas uz centrālo serveri.

Atbalsta PPPoE protokolu

PPPoE saīsinājums nozīmē "Point-to-Point Protocol over Ethernet". Šis protokols iekapsulē datus pārraidei Ethernet tīklā noteiktā topoloģijā.

PPPoE ir specifikācija īssavienojuma Ethernet tīkla savienošanai ar internetu, izmantojot plaša diapazona savienojumu, piemēram, ciparu abonenta līniju, bezvadu savienojumu vai kabeļa modemu. PPPoE protokola un plaša diapazona modema atbalsts nodrošina vietējo datortīklu drošību individuālai autentificētai piekļuvei ātrdarbīgiem datu pārraides tīkliem.

PPPoE protokols apvieno Ethernet tehnoloģiju ar PPP protokolu, kas ļauj efektīvi izveidot savienojumu ar attālo serveri ādas lobītājam. Piekļuves kontrole, dienas izskats un dienesta vadītāja amata izvēle tiek piešķirta darbiniekiem, nevis tīkla mezgliem. Šīs pieejas prioritāte ir tāda, ka ne telefona kompānija, ne interneta kalpu pasta darbinieks nav vainojams viņam īpaša atbalsta sniegšanā.

Vіdminu vіd komtovanih z'єdnаn, z'єdnannya, izmantojot digitālo abonenta līniju un kabeļmodemu, vienmēr ir aktīvi. Fiziskās audzināšanas šķembas ar dienesta tālsatiksmes pastnieku kolektīvi uzvar lielais koristuvaču skaits, vajadzīgā izskata metode, sava veida ierēdņu un satiksmes adresātu uzskaite, kā arī koristuvaču čīkstēšana. PPPoE protokols ļauj vienam attālam mezglam piedalīties zvana sesijā, atpazīt vairākas adreses vienas stundas tērzēšanas apmaiņai, ko sauc atklāts(atklājums). Pēc tam, kad ir uzstādīta sesija starp sirsnīgu un attālu mezglu (piemēram, interneta kalpu pasta darbinieks), jūs varat sekot šai sesijai ar aizsargu, lai vibrētu narahuvannya. Bagātās mājās, viesnīcās un korporācijās globāla piekļuve internetam ir iespējama, izmantojot digitālās abonentu līnijas, izmantojot Ethernet tehnoloģiju un PPPoE protokolu.

Zvani, izmantojot PPPoE protokolu, tiek kumulatīvi starp klientu un serveri. Klients un serveris strādā ar jebkuru interfeisu, kas ir vistuvāk Ethernet specifikācijām. Šis interfeiss ir iestatīts dažādu klientu IP adresēm ar viņu IP adreses piesaisti koristuvachіv i, aiz bazhannym, darba stacijām, zam_st authentifikatsiї, pamatojoties tikai uz darba staciju. PPPoE serveris veido punkta-punkta saziņu ādas klientam.

PPPoE sesijas iestatīšana

Lai izveidotu PPPoE sesiju, ievērojiet ātruma pakalpojumupppoed. modulisio-pkt-*pNodrošina pakalpojumus PPPoE protokolam. Spoileris ir jāpalaižio-pkt-*hsaderīgs draiveris. dibens:

TCP ir dabiski integrēts klientā/serverī (att. 10.1.). servera papildinājums klausoties(Klausieties) jums jāiet iedzert sapulcē. Piemēram, WWW pakalpojumi, failu pārsūtīšana vai piekļuve no termināļa klausās pieprasījumus, kas ir pieejami no klientiem. Sakarus TCP sāk apakšprogrammas, kas uzsāk saziņu ar serveri (21. nodaļa par ligzdas programmēšanas interfeisu).

Mal. 10.1. Klients izsauc serveri.

Patiesībā klients var būt cits serveris. Piemēram, pasta serveri var izveidot savienojumu ar citiem pasta serveriem, lai atkārtoti iespējotu e-pastu starp datoriem.

10.2. TCP jēdzieni

Kādā formā dodatka atkārtoti sūta datus uz TCP? Kā TCP pārsūta datus uz IP? Kā jūs pārraidāt un saņemat TCP protokolus, lai identificētu datus starp papildinājumiem un nepieciešami datu elementu ieviešanai? Visos punktos dati ir sniegti nākamajās sadaļās, kurās aprakstīti galvenie TCP jēdzieni.

10.2.1. Ienākošās un izejošās datu plūsmas

konceptuāls piemaksas modeli pārspēj papildu datu plūsma, kas vienāda ar papildu datu plūsmu. Tajā pašā laikā jums nevajadzētu pieņemt pašreizējos datus no partnera sanāksmē. TCP nav pilna dupleksa(Pilna dupleksa) darbības režīms ar vienas stundas apkalpošanu divas straumes danikh (div. 10.2. att.).


Mal. 10.2. Piedevu apmaiņa notiek ar datu plūsmām.

10.2.2. Segmenti

TCP var pārvērst no programmām uz datagrammām formā, kas piemērota ievietošanai datagrammā. Kāds rangs?

Papildinājums pārsūta datus TCP, un tajā tiek ievietots viss protokols izvades buferis(Sūtīt buferi). Dalі TCP virіzaє shmatki danih no bufera un vіdpravlyaє єх, pievienojot galveni (veidojot segmentiem segments). Uz att. 10.3 rāda, kā dots izvades buferis TCP ir iepakoti segmentos. TCP nosūta segmentu uz IP, lai tas izskatītos kā datagrammas. Datu pakotēšana pareizajā shmatuvannya, lai nodrošinātu to atkārtotas nostiprināšanas efektivitātes drošību, līdz tiek slēgts TCP segments, līdz izvades buferis parāda datu daudzumu.


Mal. 10.3 TCP segmenta izveide

10.2.3. Vishtovhuvannya

Tomēr lielas datu saistības bieži vien nav iespējams iestrēgt, meklējot reālus papildinājumus. Piemēram, ja klienta dienas beigu koristuvach programma sāka interaktīvu sesiju ar attālu serveri, koristuvach tika dota tikai komandu ievadīšanai (ar uzbrukumu atslēgai atgriezties).

Klienta programmai ir nepieciešams pateikt TCP, zinot par datu pārsūtīšanu uz attālo resursdatoru un uzvarošu darbību, ir nolaidība. Kāda vipadka ir uzvarējusi vishtovhuvannya(Piespiediet).

Kā arī brīnīties par darbību interaktīvā sesijā, jūs varat atklāt bagātīgu segmentu nelielā datu skaitā, turklāt jūs varat vizuāli vizualizēt praktiski ādas datu segmentā. Tomēr vishtovhuvannya nav vainīga zastosovuvatisya stundā failu pārsūtīšanai (par atlikušā segmenta vainu), un TCP var visefektīvāk iepakot datus segmentos.

10.2.4. Noteikumi

Papildinātāja datu pārsūtīšanas modelis pārsūta novecojušo baitu straumi, kas ir tieši līdz pieņemšanas vietai. Atgriežoties pie interaktīvās sesijas piemēra, pieņemsim, ka koristuvach nospieda taustiņu uzmanību(Cieņa) vai pārtraukums(Mainīt). Nākotnē papildinājums var būt svarīgāks, lai palaistu garām zavazhayut ēsmu un reaģētu uz yakomoga swidshe taustiņu uzbrukumu.

mehānisms termiņa dati(Steidzamie dati) segmentā atzīmē īpašu informāciju virkne. Tsim TCP informē savu partneri, ka segmentu var izmantot datu ziņā, un jūs varat noteikt, vai tajā ir smird. Partneris ir vainīgs šīs informācijas nosūtīšanā papildus yakomoga shvidshe atzīšanai.

10.2.5. Papildinājumu daļa

Klients ir atbildīgs par pakalpojuma identificēšanu, kuram tas vēlas piešķirt piekļuvi. To nosaka, norādot resursdatora pakalpojuma IP adresi un TCP porta numuru. Tāpat kā UDP gadījumā, TCP portu numuri svārstās no 0 līdz 65535. Porti diapazonā no 0 līdz 1023 tiek saukti par labi zināmiem portiem un ir rezervēti piekļuvei standarta pakalpojumiem.

Kіlka priklіv zagalnovіdіmih portіv i vіdpovіdnіh їm programmas ir parādītas 10.1. tabulā. pakalpojumus Izmest(Osta 9) i uzlādēts(Port 19) є TCP versijas mums jau ir zināmas, izmantojot UDP pakalpojumus. Jāatceras, ka trafika 9. portā uz TCP protokolu tiks izolēta no trafika 9. portā uz UDP protokolu.


10.1. tabula Centrālie TCP porti un papildu papildinājumi

osta papildinājums apraksts
9 Izmest Visu ievades datu tveršana
19 uzlādēts Simbolu ģenerators. Simbolu plūsmas apmaiņa
20 FTP dati FTP datu pārsūtīšanas ports
21 FTP Ports FTP dialogam
23 TELNET Ports attālai reģistrācijai, izmantojot Telnet
25 SMTP SMTP protokola ports
110 POP3 Pasta brīdinājumu pakalpojums personālajiem datoriem
119 NNTP Piekļuve jaunākajām ziņām

Ko jūs varat teikt par laupījumiem, kurus izpelnās klienti? Retos gadījumos klients nestrādā caur ārvalstu ostu. Tomēr šādās situācijās izsaukuma iemesla dēļ VIN bieži tiek pieprasīts no operētājsistēmas, lai tas tiktu piešķirts neviskozam un nerezervētam portam. Dienas beigās goitera klients pagriezīs šo portu atpakaļ, pēc tam portu var mainīt cits klients. Nerezervēto numuru pūlā ir vairāk nekā 63 000 TCP portu;

10.2.6 ligzdu adreses

Kā mēs jau zinām, saziņai tiek saukta IP adreses un porta kombinācija kontaktligzdas adrese. TCP sesija tiks identificēta pēc ligzdas adreses vietnes apvalkā. Uz att. 10.4. attēlā parādīts savienojums starp klientu ligzdas adresē (128.36.1.24, ports = 3358) un serveri ligzdas adresē (130.42.88.22, ports = 21).

Mal. 10.4. ligzdu adreses

Ādas datagrammu galvene, lai nosūtītu dzhereļa IP adresi un atpazīšanu. Tālāk jūs redzēsiet, ka TCP segmenta galvenē ir norādīti dzherel portu numuri un atpazīšana.

Vienlaikus zvaniet ēkas serverim, lai iekasētu dekіlkom klientus. Socket servera unikālās adreses tiek piešķirtas visiem klientiem vienlaikus (10.5. att. iedalījums).


Mal. 10.5. Kіlka kіlєntіv z'єdnani z adreses socket server

Oskіlki datagramma mіstit TCP savienojuma segmentu, identificējot IP adreses un portus, serveris var arī vienkārši identificēt savienojumu ar klientiem.

10.3. TCP drošības mehānisms

Mēs varam aplūkot TCP mehānismu dažādiem sadalījumiem, vikoristus uzticamai datu piegādei ar saglabātu pārsūtīšanas secību un izmaksu vai dublēšanās izslēgšanu.

10.3.1 Numerācija un apstiprināšana

Lai nodrošinātu datu pārsūtīšanu uz TCP, tiek atlasīta numerācija un apstiprinājums (apstiprinājums - ACK). TCP numerācijas shēma parasti ir nemainīga: āda jāsūta pāri robežai oktets lai jums būtu sērijas numurs. TCP segmenta priekšmeta izgūšanas kārtas numurs segmenta datu pirmais oktets.

Vіd priymacha jāapstiprina otrimannya danih. Ja ACK neietilpst taimauta intervālā, dati tiek pārsūtīti atkārtoti. Kuru ceļu sauc pozitīvi apstiprinājumi ar retranslāciju(Pozitīvs apstiprinājums ar retranslāciju).

Datu novērošana TCP, lai veiktu stingru kārtas numuru ievadīšanas kontroli, lai pārbaudītu datu ņemšanas secību un izmantoto daļu skaitu. Izkliedētie ACK atšķirīgā secībā var tikt sajaukti vai iestrēguši, pirms paklausības var atrast segmentu dublēšanos. Kārtības skaitļi ļauj norādīt datu dublēšanos, ciktāl jūs varat redzēt.

Uz att. 10.6 rādījumi apskata taimautu un mēģina vēlreiz TCP.


Mal. 10.6. Taimauts un atkārtota pārraide TCP

10.3.2. Port, Sequence un ACK lauki TCP galvenē

Jaks ir parādīts attēlā. 10.7, pirmie TCP galvenes lauki nosaka atstarpi Gerel portu vērtībai un atpazīšanai, datu pielikuma pirmā baita kārtas numuram un ACK, kas ir vienāds ar kārtas numuru. aizskaroši baits, ochіkuvanogo uz іnshmu kіnci. Citiem vārdiem sakot, ja TCP uzskata savu partneri, tas ņems visus baitus līdz 30. datam, kurā laukā vērtība būs 31, tāpēc es precizēju segmentu, kurš tika nosūtīts nākamais.


Mal. 10.7. Vecās vērtības TCP galvenes laukos

Nevar nepamanīt vienu mazu detaļu. Pieņemsim, ka TCP nosūtīja baitus no 1 līdz 50 un vairāk, bet nav datu, ko labot. Ja dati ir nepieciešami partnerim, TCP ir jāapstiprina, ka tie ir pareizi, kam galvene tika nosūtīta bez savienojuma ar jauniem datiem. Protams, galvenē ir ACK parametrs. Secības laukā - vērtība 51, tas ir aizskarošā baita numurs, kurš maє namir nosūtīt TCP. Kad TCP nosūtīja nākamos datus, vērtību secības laukā 51 ir arī jaunā TCP galvene.

10.4. Datuma iestatīšana

Pēc kāda ranga divi piedēkļi savienojas kopā? Pirms komunikācijas āda izsauc atmiņas bloka formēšanas apakšprogrammu, ar kuru tiks atlasīti dotā rūpnīcas TCP un IP parametri, piemēram, ligzdas adrese, straumes kārtas numurs, stundas cob vērtība. no dzīves utt.

Servera papildinājums pārbauda klienta izskatu, kurš, lai piekļūtu serverim, redz pieprasījumu z'ednannya(Savienot), kas identificē IP adreses un servera portu.

Ir viena tehniska īpatnība. Ādas pusē sāk ādas baita numerāciju neviens, bet nē vipadic sērijas numurs(Paziņojiet mums, kāpēc mums vajadzētu baidīties). Izvades specifikāciju nosaka laiks: pēc kārtas numurs tiek ģenerēts, pamatojoties uz 32 bitu zvanītāja taimeri, kura vērtība ir lielāka, aptuveni 4 µs.

10.4.1. Zvana scenārijs

Aizvēršanas procedūru bieži sauc par trīsvirzienu rokasspiedienu, aizvēršanas iestatīšanas taustiņi tiek apmainīti ar trim paziņojumiem - SYN, SYN un ACK.

Uzstādīšanas stundā partneri tiek apmainīti ar trīs svarīgām informācijas daļām:

1. Uzticēta bufera vieta cieņas saņemšanai

2. Maksimālais datu apjoms, kas jāpārsūta uz ievades segmentu

3. Pasta sērijas numurs, kas ir uzvarošs nedēļas nogales datiem

Zīmīgi, ka āda uz sāniem stagnācijas operācijas 1 un 2 ievietošanai starp, kurā būs vēl viena ballīte. Personālajam datoram var būt mazs buferis, bet superdatoram var būt liels buferis. Personālā datora atmiņas struktūru var sadalīt 1 KB datu daļās, un superdatoru kontrolē lieli segmenti.

Ēka to pārvalda, jo otra puse sūta datus, tā ir svarīga iestāde, kas nodrošina TCP / IP mērogojamību.

Uz att. 10,8 norādes uz dienas scenāriju. Uzdāvināti vēl vienkāršāki sērijas numuri, lai nenomāktu mazos. Zīmīgi, ka šim mazajam klientam ēkai ir jāuzņem lieli segmenti pēc izmēra, zemāks serveris.


Mal. 10.8. uzstādīšana

Tiek skaitītas nākamās operācijas:

1. Serveris ir inicializēts un gatavojamies pieslēgties klientiem (šī nometne tiks saukta par pasīvo atvērto).

2. Klients lūdz TCP izveidot savienojumu ar serveri norādītajā IP adresē un portā (šo staciju sauc par aktīvo atvērto).

3. TCP klients paņem pirmo sērijas numuru (šajā gadījumā - 1000) un nosūta sinhronizācijas segments(Sinhronizēt segmentu - SYN). Šim segmentam tiek nosūtīts sērijas numurs, saņemšanas kanāla lielums (4 K) un lielākā segmenta izmērs, ko klients var pieņemt (1460 baiti).

4. Ja ir nepieciešams SYN, tiks izmantots TCP serveris jūsu vālītes sērijas numurs (3000). Tas nosūta SYN segmentu, lai aizstātu sākotnējo kārtas numuru (3000), ACK 1001 (kas nozīmē klienta nosūtītā pirmā baita numerāciju, piemēram, 1001), saņemšanas loga izmēru (4K) un lielākā segmenta izmēru. ko serveris var aizņemt (1024 baiti).

5. TCP klients, ignorējot SYN / ACK paziņojumu servera tipu, nosūtīja atpakaļ ACK 3001 (datu servera nosūtīto ziņojumu pirmais baits ir numurējams kā 3001).

6. TCP klients norāda savu pasūtījuma papildinājumu.

7. Servera TCP, otrimavshi klienta TCP paziņojuma veidā ACK, informējot savu papildinājumu par zvanu.

Klients un serveris paziņo savus datu pieņemšanas noteikumus, sinhronizē savus kārtas numurus un kļūst gatavi datu apmaiņai. TCP specifikācija neizdodas un nākamais scenārijs (ne pārāk tālu), ja programmas ir vienādas viena ar otru, tās būs aktīvas vienu stundu.

10.4.2 IP parametru iestatīšana

Pieprasīt pielikumus par dienas uzstādīšanu, tajā pašā laikā var norādīt parametrus IP datagrammām, lai dati tiktu pārsūtīti. Ja parametra vērtību nenorāda, vērtība ir fiksēta, tā tiek iestatīta aiz atslēgas.

Piemēram, papildinājums var izvēlēties vajadzīgo vērtību IP prioritātei vai pakalpojuma veidam. Ādas lauskas no vienas puses neatkarīgi ir viena no tām, kas nosaka iestādes prioritāti un pakalpojuma veidu, teorētiski šīs vērtības var pielāgot dažādām tiešajām datu plūsmām. Kā likums, praksē tiešai ādas apmaiņai ir vienādas vērtības.

Ja piedevām uzdevums drošības iespējas sakārtotām un militārām instalācijām, āda no dienas gala punktiem ir jāpārvar, tomēr drošības līmenis, pretējā gadījumā tas pats netiks uzstādīts.

10.5. Nodevas vajāšana

Datu pārsūtīšana sākas pēc dienas izveides trīs soļu apstiprināšanas pabeigšanas (att. 10.9.). TCP standarts ļauj iekļaut dažus datus apstiprinājuma segmentos, bet smaka netiks piegādāta ar papildinājumu, kamēr zvana izveide nav pabeigta. Lai vienkāršotu numerāciju, tiks pievienoti 1000 baitu soļi. TCP galvenes ādas segmentam var būt ACK lauks, kas identificē baita kārtas numuru, kas tiek pārsūtīts uz savienojuma partnera veidu..


Mal. 10.9. Vienkārša datu apmaiņa un ACK

Pirmā klienta segmenta sūtītā ziņa ir mainīt baita veidu 1001 uz 2000. Šis ACK lauks var mainīt vērtību 3001, kas norāda baita kārtas numuru, kas tiek pārsūtīts uz servera tipu.

Serveris nosūta klientam segmentu, lai aizstātu 1000 baitus datu (kas sākas no 3001 skaitļa). Otrais TCP galvenes ACK lauks norādīs, ka baiti no 1001 līdz 2000 jau ir veiksmīgi noņemti, tāpēc segmenta kārtas numurs ir paredzēts 2001. gadam, kad klientam ir iestatīta pārbaude.

Pēc tam klients nosūta segmentus, kas nāk no 2001., 3001. un 4001. baitiem secības piešķiršanā. Zīmīgi, ka klients nevērtē ACK pēc segmentu ādas ziņojumiem. Veltinājumi tiek nosūtīti partnerim, līdz tie aizpilda bufera vietu (zemāk, iespējams, īpašnieks pat var precīzi pateikt, ka veltes ir nosūtītas jums).

Serveris saglabā savienojuma joslas platumu, izmantojot vienu ACK, lai norādītu uz visu segmentu pārraides panākumiem.

Uz att. 10.10 parāda datu atkārtotu stiprumu ar pirmā segmenta zudumu. Pēc taimauta pabeigšanas segments tiek atkārtoti nostiprināts. Zīmīgi, ka, likvidējot segmenta ievietošanu, uztvērējs nosūta vienu ACK, apstiprinot abu segmentu spēku.


Mal. 10.10. Datu zudums un retranslācija

10.6. Dienas noslēgums

Parasti pēc tikšanās pabeigšanas ir jāseko papildu procedūrai ar atkārtotu roku zīmēšanu, kas ir gadījumā, kad tiek veikta tikšanās. Āda no otras puses bieži var slēgt pasūtījumu gaidāmajam scenārijam:

A:

B:"Labi."

IN:"Es varu arī pabeigt darbu."

A:"Labi."

Ir pieņemams šāds scenārijs (ja vēlaties uzvarēt ļoti reti):

A:"Esmu pabeidzis savu darbu. Nav vairs naudas, lai pārvarētu."

IN:"Labi. Tomēr ir daži dati ..."

IN:"Es varu arī pabeigt darbu."

A:"Labi."

Tālāk esošajā piemērā serveris tiek aizvērts, kā tas bieži notiek klienta/servera izsaukumos. Šajā gadījumā pēc koristuvachema ieviešanas sesijā telnet komanda logout (izrakstieties no sistēmas) serveris ierosinās pieprasījumu slēgt sesiju. Situācija, kas parādīta attēlā. 10.11 dіє šādā secībā:

1. Papildinājums serverī, kas norāda TCP, lai aizvērtu sesiju.

2. TCP serveris nosūta gala segmentu (Final Segment - FIN), informējot savu partneri, ka vairs nav labojamo datu.

3. TCP klients nosūta ACK segmentā FIN.

4. Klienta TCP informē savu papildinājumu, ka serveris vēlas slēgt savienojumu.

5. Klienta pielikums informē savu TCP par dienas slēgšanu.

6. TCP klients nosūta FIN paziņojumu.

7. TCP serveris paņem FIN no klienta un atbild uz jauno ACK paziņojumu.

8. TCP serveris norāda savu papildinājumu, lai aizvērtu savienojumu.


Mal. 10.11. noslēdz dienu

Apvainotās puses var aizvērties uzreiz. Šajā gadījumā dienas noslēgums parasti tiek pabeigts pēc korekcijas ar ādas kopšanas partneriem ACK.

10.6.1. Ātra pārtraukšana

Āda otrā pusē var pieprasīt aborta aizvēršanu. Tas ir pieņemams, ja papildinājumam ir jāpabeidz darījums vai ja TCP uzrāda nopietnu komunikācijas problēmu, to nevar atļaut ar savu naudu. Rapto pabeigšana tiek pieprasīta pēc viena vai dekіlkoh reset atiestatīšanas (slīdēšanas) partnera pieprasījuma, ko norāda pirmais simbols TCP galvenē.

10.7 Plūsmas kontrole

TCP kapteinis interesējas par datu plūsmu un nosaka, kuru informāciju tas var pieņemt. Tse obezzhennya vplivaє uz vіdpravnik TCP. Tālāk ir sniegts šī mehānisma skaidrojums – konceptuāls, un mazumtirgotāji to savos produktos var ieviest atšķirīgi.

Ādas blīvējuma uzstādīšanas stundā no partneriem mēs redzam vietu blīvējuma ievades buferim un konsultējam par pretējo pusi. Skaņas bufera lielumu izsaka ar veselu skaitu maksimālo segmenta paplašinājumu.

Datu plūsmai jānonāk ievades buferī un jāsaglabā jaunā buferī, līdz tā tiek pārsūtīta uz papildinājumu (kā to norāda TCP ports). Uz att. 10.12 rādījumu ievades buferis, zdatny pieņem 4 KB.


Mal. 10.12. Priymalne vhіdnogo buferis

Bufera plašums tiks aizpildīts datu nepieciešamības pasaulē. Ja īpašnieks ņem datus no bufera, tad vieta kļūst pieejama jaunu datu ienākšanai.

10.7.1 Uztvērēja logs

priymalne vikno(Saņemšanas logs) - vai ir vieta ievades buferim, jūs vēl neesat aizņemts ar naudu. Dati tiek atstāti ieejas buferī, līdz tie kļūst par zadiyaniy papildinājumu. Kāpēc programma neievāc datus no bankas?

Atbildes uz jaudas ķēdi palīdzēs ar vienkāršu scenāriju. Pieņemsim, ka klients ir pārsūtījis failu uz FTP serveri, ka tas darbojas uz jau aizņemta vairāku lietotāju datora. FTP programma tagad ir atbildīga par datu nolasīšanu no bufera un ierakstīšanu diskā. Ja serverim neizdodas ievadīt/izvadīt darbības diskā, programma pārbauda šo darbību pabeigšanu. Šajā stundā var sākties cita programma (piemēram, pēc izplatīšanas), un, kamēr FTP programma sāk darboties no jauna, nākamie dati jau tiks pievienoti buferim.

Pirmo reizi tas tiek paplašināts no atlikušā apstiprinātā baita līdz bufera beigām. Uz att. 10.12 viss buferis ir pieejams tādā pašā secībā i, arī, є priymalne 4 KB. Ja ir nepieciešams pirmais KB, tas parasti tiks saīsināts līdz 3 KB (vienkāršības labad ņemsim vērā, ka skin segments var būt 1 KB, lai gan praksē vērtība mainās rudenī sakarā ar papildinājuma vajadzībām) . Nākamo divu 1 Kb segmentu ierašanās tiks samazināta līdz īsam sākuma loga laikam līdz 1 Kb.

Ņemsim ziņas no ACK, lai atriebtos informācija par ienākošā vēja in-line nometni, atmatā, kuru regulē šāda veida dzhereļu plūsma.

Lielāks ievades bufera izmērs tiek atjaunots zvana sākumā, lai gan TCP standarts nenorāda bufera pārvaldības ieviešanu. Ievades buferi var palielināt vai mainīt, ietekmējot atgriešanās saiti ar pārvaldnieku.

Kas notiek, ja labāko segmentu var paplašināt pirmajā ceturksnī, bet ja tas tiek darīts ārpus ierindas? Ņemiet vērā, ka visas implementācijas saglabā datus, kas jums nepieciešami pirmajā ceturksnī, un nosūta apstiprinājumu (ACK) tikai visam nepārtrauktam uzlīmju segmentu blokam. Tas ir pareizais veids, skaidiņas, pretējā gadījumā, kad tiek doti dati, jo tie izgāja no ierindas, produktivitāte samazināsies.

10.7.2 Rediģēšanas logs

Sistēma, kas pārraida datus, ir atbildīga par diviem raksturlielumiem: datu skaits jau ir labots un apstiprināts, kā arī straumēšana rozmіr priymalnogo vіkna oberzhuvach. aktīvāks vieta labojumiem(Sūtīšanas atstarpe) izvēršas no pirmā neapstiprinātā okteta līdz straumēšanas loga kreisajai malai. daļa vikna, piemēram, vikoristovuєtsya korekcijai, Lūdzu, cik daudz papildus dāvanu var nosūtīt partnerim.

Pasta sērijas numurs un primārā loga pasta numurs tiek iestatīts dienas sākuma stundā. Mal. 10.13. Ilustrējiet datu atkārtotas izpildes mehānisma īpatnības.

1. Vantazhovidpravnik sāk darbu ar 4 KB korekcijas logu.

2. Vdpravnik pārsūtīja 1 KB. Šo datu kopija tiks saglabāta, līdz tiks pabeigta apstiprināšana (ACK), iespējams, vajadzēs pārsūtīt fragmentus.

3. Saņemiet ACK par pirmo KB un labojiet nākamos 2 KB datus. Attēla trešās sadaļas rādījumu rezultāts. 10.13. Ietaupot 2 kbaitus ir trīs.

4. Jāatrod ACK visiem pārsūtītajiem datiem (tātad mēs pieņemsim visas smirdības). ACK atjaunina rediģēšanas loga lielumu 4 KB.

Mal. 10.13. Vіkno vіdravleniya

Slidiniet, lai norādītu uz іkavih pazīmju šprotes:

■ Pārvaldnieks nepārbauda ACK ādas kopšanas segmentiem datos. Vienīgā apmaiņa pret pārsūtīšanu ir sākotnējās joslas platuma paplašināšana (piemēram, dispečers ir vainīgs tikai 4 līdz viena baita segmentu pārsūtīšanā).

■ Iespējams, ka administrators datus nosūta uzlīmēs īsos segmentos (piemēram, katrs 80 baiti). Tādā veidā datus var pārformatēt efektīvākai pārraidei (piemēram, vienā segmentā).

10.8 TCP tēma

Uz att. 10.14 segmenta formāta indikācija (TCP galvene un dati). Tēma sākas no dzhereļa ostu identifikatoriem un atpazīšanas. Nākamais lauks sērijas numurs(Secības numurs) Norāda pozīciju izvades datu plūsmā, kā dotais segments tiek aizņemts. lauks AK(Apstiprinājums), lai atriebtu ziņojumus par pāreju uz virzošo segmentu, kas ir vainīgs, ka parādījās pie datu ieejas.


Mal. 10.14. TCP segments

Іsnuyut seši karogi:

lauks nepareizi ievietoti dati(Datu nobīde) Mainiet TCP galvenes izmērus 32 bitu vārdos. TCP tēma ir vainīga, ka tā beidzās ar 32 bitu kordonu.

10.8.1 Maksimālā segmenta izmēra opcija

parametrs "Maksimālā segmenta paplašināšana"(Maksimālais segmenta izmērs — MSS) zastosovuєtsya for ogoloshennya par lielāko datu gabalu, ko sistēma var pieņemt un apstrādāt. Tomēr nosaukums ir neprecīzs. Zvanīt uz TCP segmentu izskatās kā virsraksts un dati. Tomēr maksimālais segmenta izmērs izskatās šādi:

Maksimālais pieļaujamais datagrammas izmērs - 40

Citiem vārdiem sakot, MSS pārstāv visvairāk korisne iedomība uztvērējā ar vienādām TCP un IP galvenēm, katrs 20 baiti. Yakshcho є dodatkovі parametri, їх dozhina izsekot pasaulē. Otzhe, datu skaits, ko var nosūtīt segmentos, ir norādīts kā:

Deklarācijas vērtība MSS + 40 — (gan TCP, gan IP galvenes summa)

Zvaniet partneriem un apmainieties ar MSS vērtībām SYN cob paziņojumos, kad zvans tiek atvērts. Ja sistēma nepaziņo segmenta maksimālā lieluma vērtību, bloķēšanas vērtība ir 536 baiti.

Maksimālā segmenta lielumu kodē 2 baitu ievads, kam seko 2 baitu vērtība, tāpēc lielākā vērtība ir 2 16 -1 (65 535 baiti).

MSS nosaka vairāk ierobežojumu datu pārsūtīšanai uz TCP: uztvērējs nevar apstrādāt lielas vērtības. Tomēr vikoristu segmenta uzvarētājs mazāks izmērs,Šķembas braucienam nosaka arī MTU limits atbilstoši caurbraukšanas maršrutam.

10.8.2. Variantu galvenes lauki pieprasījuma pieprasījumā

Pirmais segments, ko izmanto, lai apstiprinātu zvanu, ir SYN karoga vērtība, kas vienāda ar 1, un ACK karodziņš ir 0. SYN karodziņš ir 0. apvienoties segmentu, iestatiet ACK lauka vērtību uz 0. Ir svarīgi ņemt vērā, ka ir vērts pārbaudīt, vai šis marķieris norāda uz TCP sesijas ienākošajiem pieprasījumiem.

lauks sērijas numurs atriebties pasta sērijas numurs(Sākotnējais kārtas numurs), lauks Vika - vālīšu rozmarīns priymalnogo vіkna. Vienīgais šodienas parametrs ir TCP parametrs - segmenta maksimālais izmērs (ja nav kļūdu, bloķēšanas vērtība ir 536 baiti), kas pārraida TCP. Aizņēmuma vērtība 32 biti iespējas(Opcija). TCP galvenes garums, lai aizstātu MSS vērtību, ir 24 baiti.

10.8.3. Alternatīvi galvenes lauki pieprasījuma pieprasījumam

Pieprasījuma pieļaujamā kupona gadījumā praporščika pārkāpums (SYN un ACK) ir vienāds ar 1. Vaučera sistēma norāda pasta sērijas numuru laukā vodpovidny, bet galvenā patskaņa rozmіr - laukā. Logs. Segmenta maksimālais lielums, kas ir iemesls uzvarai, skan pie pasūtījuma vaicājuma durvīm (laukā iespējas). Vērtība var atšķirties atkarībā no ievades vērtības, lai varētu bloķēt divas dažādas vērtības.

Maksājuma pieprasījumu var veikt papildu izziņai uz sānslīdes (RST) augstākās zīmes ar vērtībām 1.

10.8.4. Pasta sērijas numura izvēle

TCP specifikācija jums pateiks, kurā stundā vēlaties iestatīt ādu otrā pusē pēc jūsu izvēles pasta sērijas numurs(Precīzai 32 bitu iekšējā taimera nozīmei). Kā uzvarēt?

Mēs varam redzēt, kas notiks ar sistēmas sabrukumu. Pieņemsim, ka koristuvačs taisīja dienu pirms avārijas un izlaboja nelielu naudas summu. Pēc jaunināšanas sistēma vairs neatceras neko, kas darbojās pirms avārijas, tostarp rūpnīcas jau darbināšanu un portu numuru ievadīšanu. Koristuvach atkārtoti ievieto z'ednannya. Portu numuri nesakrīt ar vālītes burtiem, un diakoni no tiem, iespējams, jau ir uzvarējuši ar citām pusītēm, kas uzstādītas dažas sekundes pirms avārijas.

Otra puse pašās dienas beigās var nezināt par tiem, ka jūsu partneris ir izgājis cauri pirmā robota sabrukumam, mēs esam augšāmcēlušies. Tas viss novedīs pie nopietnām robota kļūmēm, it īpaši, ja paies ilgs laiks, līdz vecie dati paiet garām un nevairās no jaunizveidotās rūpnīcas datiem. Jauna palaišanas taimera izvēle ļauj atspējot šādas problēmas. Vecie dati būs nākamās numerācijas māte, jaunās dienas kārtas numuru apakšējais diapazons. Kad hakeri vilto uzticamā saimniekdatora dzherel IP adresi, viņi mēģina piekļūt datoriem, lai veiktu papildu ierakstu pārsūtītajā sērijas numurā. Kriptogrāfiskā jaukšanas funkcija, kuras pamatā ir iekšējās atslēgas, ir labākais veids, kā atlasīt zagšanas vālītes numurus.

10.8.5. Globāli pieņemti Viktorijas lauki

Sagatavojot TCP galveni pirms atkārtotas nosūtīšanas, laukā tiek norādīts pirmā pārsūtāmo datu okteta kārtas numurs kārtas numurs(Secības numurs).

Laukā tiek ievadīts uzbrūkošā okteta numurs, kas apstiprināts kā līguma partneris apstiprinājums(Apstiprinājuma numurs), kad ACK bits ir iestatīts uz 1. Lauks vikna(Logs) tiek atpazīts primārā loga tiešai paplašināšanai. Kam tas ir paredzēts? baitu skaits uz apstiprinājuma numuru, ko var pieņemt. Zīmīgi, ka šī nozīme ļauj precīzi ķerubēt ar veltījumu straumi. Par šīs vērtības palīdzību partneris parāda īsto priymalnoy vikna protyazh apmaiņas sesijas nometni.

Ja papildinājums norāda uz vishtovhuvannya darbību TCP, tad PUSH ensign ir iestatīts uz 1. TCP akceptētājs ir atbildīgs par atbildi uz šo ensign ar datu piegādi papildinājumam, it kā jūs tikai vēlaties to nosūtīt.

STEIDZAMS karodziņš (terminalitāte) ar vērtību 1 pārsūta terminu datu pārsūtīšana, un otrs rādītājs ir vainīgs, ka paļaujas uz atlikušo terminu datu oktetu. Tipiskas datu terminu variācijas ir signālu pārsūtīšana no signāla termināļa uz mērogošanu vai pārsūtīšanu.

Bieži tiek saukti termini informāciju(ārpus joslas). Tomēr šis termins ir neprecīzs. Terminu dati tiek pārsūtīti uz sākotnējo TCP straumi, lai gan terminu datu pareizai izmantošanai var būt īpaši mehānismi papildinājuma norādīšanai, un papildinājumu var pārrakstīt terminu datu vietā, pirmkārt, jūs varat atrast visus informācijas baitus .

Karodziņu RESET (atiestatīšana) var iestatīt uz 1, ja nākamreiz pārtrauc zvanu. Tas pats karogs ir iestatīts segmenta sākumā, kas nav saistīts ar kādu no pašreizējām TCP shēmām.

Karogs FIN ir iestatīts uz 1, lai informētu par dienas slēgšanu.


10.8.6. Kontrolsumma

IP kontrolsumma ir derīga tikai IP galvenei, savukārt TCP kontrolsumma tiek aprēķināta visam segmentam, kā arī pseidogalvenei, kas izveidota no IP galvenes. TCP kontrolsummas aprēķināšanas laiks norādītajam laukam var būt 0. Attēlā. 10.15 pseidogalvenes norāde, iespējams, tā, kas uzvar UDP kontrolsummā.


Mal. 10.15. Pseidogalvenes lauks ir iekļauts TCP kontrolsummā.

TCP nobraukums tiek aprēķināts, saliekot TCP galvenes nobraukumu pār datu nobraukumu. TCP kontrolsumma є obov'yazykovoї, nevis jaks UDP. Segmenta kontrolsummu vispirms aprēķina uztvērējs un pēc tam salīdzina ar TCP galvenes kontrolsummas lauku. Ja nozīme nekrīt, segments tiek atmests.

10.9 TCP segmenta dibens

Mal. 10.16, robotizētā analizatora protokols Snifers Tīkls General, ir TCP segmentu secība. Pirmie trīs segmenti izveido savienojumu starp klientu un serveri telnet. Atlikušajā segmentā tiek pārsūtīti 12 baiti datu.


Mal. 10.16. TCP galvenes displejs, izmantojot Sniffer analizatoru

analizators Snifers pārvērš lielāko vērtību desmitajā skatījumā. Tomēr praporščiku nozīme ir parādīta kā sešpadsmitā. Ensign no vērtības 12 ir 010010. Kontrolsumma tiek parādīta arī sešpadsmitajā formā.

10.10 Atbalsts sesijai

10.10.1 Loga skaņas signāls

Shvidkіsny vіdpravnik i polіnіy oderzhuvach var veidot priymalny vіkno rozmіr 0 baitu. Rezultāts tiek saukts zakrittam vikna(Aizver logu). Ja ir piemērots laiks, lai atjauninātu primārā loga izmēru, uzvar ACK. Taču, ja tiek izmantots šāds skaidrojums, vainīgās puses tiks vainotas līdz nepiedodamiībai.

Lai atrisinātu šo situāciju, pārvaldnieks instalēs saglabājiet taimeri(Pastāv taimeris), kad tas ir aizvērts, logs tiek aizvērts. Taimera vērtība ir atkārtota mēģinājuma taimauts. Pēc taimera pabeigšanas partneris saņems segmentu zondēšana vikna(Loga zonde; pašreizējās implementācijās tas ietvers datus). Zonēšana nosūta partnerim atpakaļ ACK, kas informē par pašreizējo loga statusu.

Ik pa laikam nulles laiks joprojām tiek aizpildīts, taimera vērtība tiek saglabāta. Šo procesu atkārto, līdz taimera vērtība sasniedz maksimumu 60 s. TCP turpina pieprasīt ādas zondēšanu 60 s — līdz ir sasniegts termiņš, līdz process ir pabeigts ar ātru atbildi vai līdz pabeigšanai līdz papildinājuma taimauta beigām.

10.11 Sesijas beigšana

10.11.1. Taimauts

Zvana partnera darbs var beigties ar neveiksmi, vai arī tas atkal turpināsies pēc vārtejas darbības traucējumiem vai zvana. Lai novērstu datu atkārtotu pārsūtīšanu TCP, izmantojot mehānismu izsmidzināšanu.

Sasniedzot pirmo atkārtotas pārraides (atkārtotas pārraides) sliekšņa vērtību, TCP norāda IP uz nepieciešamību atkārtoti pārbaudīt maršrutētāju un nekavējoties informē pielikumu par problēmu. TCP turpina atkārtoti ieviest datus, līdz tie sasniedz citu robežvērtību, un tikai pēc tam tas sabojājas.

Saprotams, ka pirms tam, kā tas notiek, jūs varat atrast ICMP atgādinājumu par atpazīšanas punkta nepieejamību jebkura iemesla dēļ. Dažām implementācijām uzdodiet nākamajam TCP turpināt mēģināt piekļūt līdz pieņemšanas punktam, līdz ir pabeigts taimauta intervāls (pēc kura problēmu var novērst). Tālāk ar pielikumu teikts par atpazīšanas punkta nepieejamību.

Turklāt varat iestatīt pielāgotu taimautu datu piegādei un veikt parastās darbības intervāla beigās. Zvans jāveic, lai piezvanītu pirms dienas pavadīšanas.

10.11.2

Ja tikšanās nav pabeigta ilgu laiku, ir iespēja pārdot tālāk, tas ieņems statusu neaktīvs. Neaktivitātes perioda stundā var rasties līnijas sabrukums vai fiziskais līnijas savienojums. Tiklīdz es kļūstu par jaunu partneri, partneri turpina apmainīt naudu, nepārtraucot sesiju. Šāda stratēģija tika dota Aizsardzības ministrijas atbalstītājiem.

Tomēr neatkarīgi no tā, vai tas ir aktīvs vai neaktīvs, tas aizņem daudz datora atmiņas. Aktīviem administratoriem ir nepieciešams pārvērst sistēmā neredzamos resursus. Tāpēc TCP ieviešana ir bagāta ar informāciju par atbalsts(Keep-live), testē neaktīvos semestrus. Šādi paziņojumi periodiski tiek nosūtīti partnerim, lai atkārtoti pārbaudītu jogas pamatu merezhі. Nepieciešams ACK apstiprinājums. Vikoristannya podomlenya par pіdtrimku z'єdnannya nav є obov'yazkovym. Kā jau sistēmā ir tāda iespēja, ar visu savu naudu var samaksāt pielikumu. nodošanas periods par saderināšanos atbalsta taimautai ir diena, lai kļūtu veseli divi gadi!

Uzminiet, kādu papildinājumu varat uzstādīt savu taimeri, saskaņā ar kuru jūs pats pieņemsit lēmumu par dienas pabeigšanu.

10.12 produktivitāte

Cik efektīva ir TCP? Resursu produktivitātei tiek pievienoti daudzi faktori, no kuriem galvenie ir atmiņa un pašapmierinātības pārraide (10.17. att.).


Mal. 10.17. TCP produktivitātes faktori

Smuga satiksme un zatrymki in vikoristovuvano ї ї ї ї ї ї ї ї іstotno zamezhuyut zdatnіst zdatnіst. Ir netīri pārsūtīt datus uz lielu pienākumu izlaist datagrammas, kas prasa otrreizēju pārsūtīšanu un rezultātā samazina smuga pārraides efektivitāti.

Primālā puse ir atbildīga par pietiekamas bufera vietas nodrošināšanu, kas ļauj ierēdnim pārsūtīt datus bez pārtraukumiem darbā. Tas ir īpaši svarīgi, lai pasākums ar lielu zatrimki, dažos gadījumos starp datu labošanu un ACK izņemšanu (un arī tad, kad logs ir sakārtots), lai izietu lielu stundu intervālu. Lai atbalstītu vienmērīgu datu plūsmu no dzherel, saņēmēja puse ir vainīga mātei par ne mazāku smuga izmaiņu, kas iziet cauri uz zatrimku.

Piemēram, ja jūs varat nosūtīt datus ar ātrumu 10 000 baiti / s, un ACK pagriezienā tas aizņem 2 s, tad otrā pusē ir nepieciešams nodrošināt minimālo izmēru vismaz 20 000 baitu, pretējā gadījumā būs bez pārtraukuma. Pieņemams 10 000 baitu buferis samazinās caurlaidspēju uz pusi.

Vēl viens svarīgs produktivitātes faktors ir resursdatora spēja reaģēt uz augstas prioritātes apakšnodaļām un ātrums. kontekstā, Lai pabeigtu vienu darbību un pārslēgtos uz citu. Uzņēmējs var interaktīvi pārraudzīt anonīmus vietējos sakarus, pakešu fona procesus un desmitiem vienas stundas sakaru zvanu. Konteksta pārslēgšana ļauj apkalpot visas šīs darbības, pievienojoties sistēmai. Īstenojumi, kas integrē TCP/IP ar operētājsistēmas kodolu, var ievērojami samazināt kontekstuālās permutācijas slogu.

Datora CPU resursi ir nepieciešami TCP galvenes apstrādes darbībām. Tā kā procesors nevar aprēķināt kontroles summas ātrumu, tam jāsamazina datu pārsūtīšanas ātrums.

Turklāt mazumtirgotājiem vajadzētu pievērst uzmanību TCP parametru konfigurācijas sarežģītībai, lai tīkla administrators varētu nekavējoties tos labot ar savām vietējām pilnvarām. Piemēram, iespēja pielāgot bufera lielumu joslas platumam un attāluma aizkavei palielinās produktivitāti. Diemžēl daudzas ieviešanas nepievieno pienācīgu aprūpi un grūti ieprogrammējamus sakaru parametrus.

Teiksim, robeža ir absolūti asa: resursu pietiek un konteksts ātrāk nemainās, zemākie kovboji nospļauj revolverus. Chi bude otrimana fine produktivitāte?

Negaidiet. TCP programmatūras drošības izplatīšanas vērtība un kvalitāte. Gadu gaitā dažādās TCP implementācijās ir diagnosticētas un novērstas daudzas veiktspējas problēmas. Varat apsvērt, kāda būs labākā programmatūras drošība saskaņā ar RFC +1122, lai varētu panākt komunikācijas paritāti ar interneta saimniekiem.

Ne mazāk svarīgi pārmetumi un Džeikobsona, Kerna un Partridžas algoritmu testēšana (šie algoritmi tiks apskatīti tālāk).

Programmatūras drošības pārdevēji var novērst problēmas, izveidojot programmas, kas izslēdz nevajadzīgi mazu datu pārsūtīšanu un var iestatīt taimerus tīkla resursu ielādei, kas pašreizējā brīdī neplīst.

10.13. Algoritmi produktivitātes uzlabošanai

Pārejot uz iepazīšanos ar TCP saliekamo daļu, ir mierīgi aplūkot produktivitātes palielināšanas mehānismus un caurlaidspējas samazināšanas problēmu risināšanu. Kurā tiek apspriestas šādas problēmas:

pareizs sākums(Lēns sākums) jaunai sesijai ir nepieciešama liela daļa piesaistītās datplūsmas, kas var izraisīt izšķērdēšanu.

■ Likuvannya vіd sindroms(Silly logu sindroms) sargā netīro uztura bagātinātāju paplašināšanos uzlabojumu veidā.

ACK traucēšana(Delayed ACK) samazina pārsūtīšanu, lai palielinātu neatkarīgo datu pārsūtīšanas apstiprinājumu skaita ātrumu.

Notiek atkārtotas pārraides taimauta skaitīšana(Computing retransmission timeout) ir balstīta uz faktisko sesijas stundu, mainot nepieciešamību pēc nevajadzīgām retranslācijām, bet tajā pašā laikā tas nerada lielu aizkavi patiešām nepieciešamajai datu apmaiņai.

■ Galmuvannya overpowering TCP kad permutācijasĻauj maršrutētājiem ar vienu pasākumu pārslēgties uz viesabonēšanas režīmu un vienlaikus ievākt resursus visām sesijām.

■ Labojums ACK dublikāts(Dublēts ACK), kad segments tiek noņemts pēc korekcijas secības, vikonāta partneri var pārsūtīt pirms pašreizējā taimauta.

10.13.1. Regulārais starts

Ja mājās ieslēgsiet visas elektroierīces vienlaicīgi, tas ieslēgs elektrības vadus. Datortīklos pareizs sākums nepieļaut aizsargu uguni.

Nove z'ednannya, mittevo uzsākot atkārtotu ieviešanu lielo pienākumu datu jau un tā navantazhenoi merezhі, var radīt problēmas. Ideja par veiksmīgu palaišanu ir balstīta uz jaunas veiksmīgas palaišanas drošību, palielinot šo datu pārsūtīšanas ātrumu, radot reālas problēmas. Ierēdnis ir sajaukts ar navantazhuvalny vykn rozmiru, nevis ar lielo Priyomniy vykn rozmiru.

navantazhuvalny vikno(Sastrēgumu logs) sākas no 1 segmenta lieluma. Ādas segmentam mēs veiksmīgi noņemam ACK paplašināšanos no navantageālās vēnas par 1 segmentu, līdz tā ir mazāka, apakšējā, primārā vēna. It kā līnija nav pārslogota, navantazhuvalny logs soli pa solim sasniedz primārā loga izplešanos. Normālos apstākļos šo vikonu izplešanās noturība palielināsies.

Zīmīgi, ka labāks sākums nav tas pats un pareizāks. Pēc pirmā ACK navigācijas loga paplašināšana tiks paplašināta līdz 2 segmentiem, un pēc veiksmīgas ACK noņemšanas diviem segmentiem paplašināšana var palielināties līdz 8 segmentiem. Citiem vārdiem sakot, pasaules paplašināšanās pieaug eksponenciāli.

Pieņemsim, ka ACK izgūšana pieminēja taimauta situāciju. Navantāžas skatījuma uzvedība šādā prāta stāvoklī ir redzama zemāk.

10.13.2 "Neizbalēšanas" sindroms

Pirmajās TCP / IP ieviešanā mazumtirgotāji paklupa uz šo parādību sindroms(Silly Window Syndrome – SWS), kas izpaužas bieži. Sapratnes labad, kā izskatās gaidāmais scenārijs, ko ražot līdz neciešamiem minējumiem, taču iespējas ir ļoti daudz:

1. Datu kupona nosūtīšanas pielikums.

2. Pieņemot papildinājumu, katrs no ievades bufera tiek nolasīts 1 baits datu (tas ir pareizi).

3. Ievades buferis pēc nolasīšanas ir ātri pabeigts.

4. Saņemot papildinājumu, tiek nolasīts 1 baits, un TCP nosūta ACK, kas nozīmē "Es varu atļauties 1 baitu datu."

5. Pārraides papildinājums nosūta 1 baita lielu TCP paketi.

6. Saņēmējs TCP nosūta ACK, kas nozīmē "Tas ir labs. Esmu nometusi paketi un vairs nevaru to izturēt."

7. Saņemot pielikumu, vēlreiz nolasa 1 baitu un nosūta ACK, un viss process tiek atkārtots.

Biežāk tas tiek piemērots datu ilgstošai pārbaudei un informācijas pastāvīgai pārsūtīšanai uz loga kreiso malu, un man šī darbība nav absolūti nepieciešama, jo tā radīs papildu trafiku šajā zonā.

Reālās situācijas, protams, nav ekstrēmas. Shvidky vodpravnik un povilny oderzhuvach tiek apmainīti ar maziem (līdz segmenta maksimālajam izmēram) datu apmetņiem un pārklājas ar vissvarīgākajiem priymalny vykna. Uz att. 10.18 norādes uz "nesatraucošu pārmaiņu" sindroma parādīšanos.


Mal. 10.18. Primārā loga buferis ar vēl mazāku brīvās vietas izmēru

Šo problēmu nav viegli atrisināt. Tiklīdz biežāk steidzas uz Dovžinu, mazāk nekā civilās paplašināšanās Dānijā, TCP sāk krāpt ierēdni. Šādā situācijā TCP nav vainīgs norādījumu sniegšanā dodatkove prostіr vіknі, ja pryimayucha piemēro lasīt datus no bufera mazās porcijās. Deputāts, kuram līdz šim no valdības vadītāja slēpti jātaupa līdzekļi, kamēr naudas pietiks. Ieteicams izvērst vienā segmentā, tad nomest, ja viss ievades buferis aizņem vienu segmentu (pārējā rudenī izvērst, vienāds ar pusi no bufera). Tsіl'ovy rozmіr, par kuru vainojams TCP, varat teikt:

minimālais (1/2 ievades buferis, maksimālais segmenta izmērs)

TCP sāk maldināt, ja Visuma izplešanās kļūst mazāka par izplešanos, un saki patiesību, ja izplešanās izplešanās nav mazāka, tad vērtība, ko iegūst ar formulu. Zīmīgi, ka ierēdnim nav škodi, oskolki pieņemot piemēroja visu, ko nevarētu iegūt vairāk datu, kas nav cienīgi.

Ierosinātais risinājums ir viegli pārveidojams labi pārdomātā korpusā ar ACK ūsām ādas noņemšanas baitiem. Tas pats veids ir nejaušs un tvaicēšanai, ja ievades buferis var ietaupīt segmentu šprotu (kā tas bieži notiek praksē). Shvidky vіdpravnik, lai aizpildītu ievades buferi, bet priymach vkazhe, scho nevar būt brīvas vietas informācijas izvietošanai, un neatveriet šo resursu, līdz tas sasniedz visu segmentu.

10.13.3. Nagles algoritms

Izpilddirektors ir vainīgs neatkarīgi no pienākuma atslēgt strāvu īsajos segmentos, kas kumulatīvi nodoti izpilddirektoram. Nagles algoritms īsteno ļoti vienkāršu ideju, kas ļauj samazināt pārsūtīšanas skaitu pēc iespējas vairāk īsu datagrammu.

Algoritms iesaka atlikt datu atkārtotu nosūtīšanu (un їх vishtovhuvannya) uz stundu pēc ACK apstiprināšanas pirms datu pārsūtīšanas. Dati tiek uzkrāti un pārsūtīti pēc ACK atsaukšanas iepriekš nosūtītajā informācijas daļā vai pēc datu atsaukšanas, lai labotu datus jaunā segmenta paplašināšanā, vai pēc taimauta pabeigšanas. Šis algoritms netiek slīdēts uz zastosovuvaty, lai pievienotu reālajam laikam, it kā tā būtu datu vaina, kas jālabo gudrākam.

10.13.4 ACK traucēšana

Vēl viens produktivitātes palielināšanas mehānisms ir ACK stostīšanās metode. Īsie ACK cipari samazina joslas platumu, lai jūs varētu pārņemt citu trafiku. Ja TCP partneris mēģina rediģēt ACK, tad:

■ Jūs varat apstiprināt vairāku segmentu saņemšanu vienā ACK.

■ pieņemiet papildinājumu, lai saglabātu pēdējo ziņojumu starp taimauta intervāliem, lai jūs varētu izmantot pēdējo ACK galveni un jums nav jāveido okrem ziņojums.

Izmantojot traucēšanas izslēgšanas metodi, kad pārmērīgi izstiepta segmentu plūsma (piemēram, apmainoties ar failiem), ACK var pārstiepties, vismaz cita liela izmēra segmenta ādai.

Daudzām Victorious implementācijām ir 200 ms noildze. Ale traucēšana ACK nesamazina maiņas kursu. Ja nepieciešams īss segments, ievades buferī joprojām ir jābūt brīvai vietai jaunu datu saņemšanai, un pārvaldnieks var turpināt pārspēt (turklāt atkārtoti sūtīt skaņu bagātīgāk). Ja jums ir jāsasniedz viss segments, tajā pašā sekundē ir jānosūta ziņojums uz jaunu ACK.

10.13.5. Atkārtota mēģinājuma taimauts

Pēc TCP segmenta modificēšanas es iestatīju taimeri un pārbaudu, vai tiek saņemts ACK. Ja ACK netiek atcelts līdz taimauta periodam, TCP gaida, līdz segments tiks pārsūtīts (atkārtoti nosūtīts). Vai tā ir buti perioda taimauta vaina?

Ja vins ir par īsu, nepieciešams aizpildīt nevajadzīgo segmentu skaitu, jo tas dublē jau laboto informāciju. Pārāk liels taimauts tiks pārcelts uz deisno zruynovanyh Shvidky reorganizāciju, kad segmenti būs pārslogoti, lai samazinātu ēkas caurlaidspēju.

Kā izvēlēties pareizo taimauta intervālu? Nozīme, kas piesaistīta kvalitatīvai vietējai robežai, nav piemērota tālai zemei ​​ar bezpersonisku skatu. Tātad princips "viena vērtība jebkuram prātam" ir nepārprotami nepieņemams. Vēl vairāk, patiešām konkrētam mērķim jūs varat mainīt prāta tīklus, bet trikus - palielināt vai samazināt.

Džeikobsona, Kerna un Partridge algoritmi (aprakstīti rakstos , Van Jēkabsons, i Turp un atpakaļ laika aprēķinu uzlabošana uzticamos transporta protokolos, Karn un Partridge) ļauj pielāgot TCP acu uzskatu maiņai. Qi algoritmi ir ieteicami atlasei jaunās implementācijās. Mēs tos īsi aplūkojam zemāk.

Veselīga acs liecina, ka vislabākais pamats konkrēta uzdevuma noildzes stundas noteikšanai var būt stundu cikls(Turp un atpakaļ) kā intervāls starp datu labošanu un to pieņemšanas apstiprinājumu.

Labus lēmumus par gaidāmajām vērtībām var pieņemt, pamatojoties uz elementāriem statistikas datiem (att. 10.19.), kas palīdzēs koriģēt taimauta stundu. Tomēr nav nepieciešams paļauties uz vidējo vērtību, vairāk nekā pusei novērtējumu punkti būs lielāki, jo zemāka vidējā statistiskā vērtība. Apskatot pāris piezīmes, varat veikt pareizākus aprēķinus, lai varētu atmaksāt parasto likmi un samazināt otrā pārskaitījuma ieskaitīšanas ilgo stundu.


Mal. 10.19. Samazināta cikla stundas vērtība

Lielajā kontā nav jāaprēķina formālo matemātisko aprēķinu noņemšana. Jūs varat laimēt aptuvenu aprēķinu, pamatojoties uz absolūto vērtību starpībai starp atlikušajām vērtībām un vidējo statistisko novērtējumu:

Atpūtas elpa = | Atpūtas cikls - Vidējais |

Lai aprēķinātu pareizo taimauta vērtību, ir jālabo vēl viens faktors - cikla stundas maiņa, izmantojot in-line tīkla prātus. Tie, kas bija redzami merezhі pārējā klusumā, ir svarīgāki, zemāki nekā tie, kas bija pirms gada.

Tiek pieņemts, ka cikla vidējā vērtība tiek aprēķināta ilgstošai sesijai stundā. Ļaujiet apvienošanai nedaudz zavantazhena, un mēs iecēlām 1000 mazas vērtības, kā rezultātā palielinājās satiksme, palielinoties vēja stundai.

Piemēram, ja 1000 vērtības sniedza vidējo statistisko vērtību 170 vienības un, ja tās deva 50 vērtību no vidējā līdz 282, tad pašreizējā vidējā vērtība būs:

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

Saprātīgāka vērtība izlīdzināts stundu cikls(Smoothed Round-Trip Time — SRTT), kas dod priekšroku augstākām vērtībām:

Jaunā SRTT = (1 – α) × (vecā SRTT) + α × Cilpas atpūta

α vērtība ir no 0 līdz 1. sbіlshennya a palielināt līdz lielākam plūsmas ātrumam ciklam, lai izlīdzinātu vidējo vērtību. Datora šķembas var ātri pārvietot skaitli 2 uz skaitļa 2 soli, saspiežot divus skaitļus pa labi, α vienmēr tiek atlasīta vērtība (1/2) n (skaņa 1/8), lai:

Jauns SRTT = 7/8 × vecais SRTT + 1/8 × atpūtas cikla laiks

10.2. tabulā parādīts, kā tiek koriģēta SRTT formula, pamatojoties uz pašreizējo SRTT vērtību 230 vienībām, ja robežu izmaiņas tiek veiktas līdz pēdējam cikla stundas pieaugumam (ņemiet vērā, ka taimauts nenotiek). Vērtības 3. ailē ir saskaņotas ar vērtībām 1. ailē tabulas priekšējai rindai (tāda pati, kas vecā SRTT).


Tabula 10.2 Izlīdzināto stundu cikla aprēķins

Skaties SRTT Tā pati pietura RTT (7/8) × (vecā 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

Tagad varat uzzināt par atkārtotas pārraides taimauta vērtības izvēli. Cikla stundu vērtību analīze parāda pašreizējās vērtības pašreizējo vērtību pašreizējās vidējās vērtības izteiksmē. May sens uzstāda kordonu novirzes (novirzes) lielumam. Labu atkārtotas pārraides taimauta vērtību (RFC standartos šo vērtību sauc par Retransmission TimeOut — RTO) nosaka šāda izlīdzinātās izplūdes (SDEV) apmaiņas formula:

T = Atkārtota mēģinājuma taimauts = SRTT + 2 × SDEV

T = SRTT + 4 × SDEV

Lai aprēķinātu SDEV, tiek ņemta vērā iekšējās ventilācijas absolūtā vērtība:

DEV = | Atpūtas stundu cikls - vecais SRTT |

Izlīdzināšanai izmantosim vikoristovuyu formulu, lai pārējā vērtība tiktu izlabota:

Jauns SDEV = 3/4 × vecs SDEV + 1/4 × DEV

Trūkst viena ēdiena – kā ņemt vālītes vērtību? ieteicams:

Cob taimauts = 3 s

Cob SRTT = 0

Cob SDEV = 1,5 s

Van Džeikobsons izstrādāja viedu algoritmu, kas varētu efektīvi aprēķināt datu atkārtošanas taimautu.

10.13.6 Statistika muca

Cik daudz būs iespējams labot maksas, kas pārsniedz taimautu? Ieviešot ņemto vērtību, bija gaidāms būtisks produktivitātes pieaugums. Komandas statistikas dati var kalpot kā piemērs netstat, Otrimani uz sistēmas tīģeris- interneta serveri, cik lielā mērā pasaulē tiek mocīti anonīmie saimnieki.


1510769 paketes (314955304 baiti) saņemtas secīgi

sistēma tīģeris Mazāk nekā 2,5% no TCP datu segmentiem tika atkārtoti pārsūtīti. Otrajam miljonam ir datu segmenti (un є tīri ACK papildinājumi) dublēšanās tikai 0,6%. Ar jebkādu piesardzību izmaksu likme ievades datiem ir aptuveni vienāda ar izvades segmentu likmi. Tādā veidā retranslācijas bezmaksas trafiks veido gandrīz 0,6% no kopējās trafika.

10.13.7. Uzlāde pēc atkārtotas korekcijas

Uzlabotākajās formulās cikla stundas vērtība tiek izvēlēta kā intervāls starp segmenta korekciju un pieņemšanas apstiprinājumu. Tomēr ir pieļaujams, ka taimauta periodā neviens nejuta, ka tie ir atkārtoti ievietoti.

Kerna algoritms pārraida, ka katrā pagriezienā nav iespējams mainīt cikla stundu. Precīzāk nogludinot cikla stundas vērtību i nogludināts saglabā to vērtību, līdz apstiprinājums pašreizējā segmenta pārsūtīšanai tiek atcelts bez tā atkārtotas pielāgošanas. No šī brīža maksas tiek atjauninātas, pamatojoties uz ietaupījumiem un jauniem aprēķiniem.

10.13.8. Datums pēc retranslācijas

Ale scho vodbuvaetsya līdz apstiprinājuma beigām? Pēc atkārtotas pārraides TCP darbība radikāli mainās, galvenokārt datu zuduma dēļ pārejas laikā tīklā. Otzhe, reakcija uz to atkārtotu rediģēšanu būs:

■ Samazināts pārkraušanas ātrums

■ Cīnās pret tīklu pārveidošanu, lai nodrošinātu papildu ātru trafiku

10.13.9. Eksponenciālā cinkošana

Pēc atkārtotas pārraides taimauta intervāls tiek pielāgots. Tomēr, kas notiek, kad taimeris tiek atiestatīts vēlreiz? Dati tiks nosūtīti vēlreiz, un atkārtotas pārsūtīšanas periods atkal tiks dubultots. Šo procesu sauc eksponenciālais galvanisms(Eksponenciāla atkāpšanās).

Ja kļūda turpinās parādīties, taimauta periods tiks pagarināts, līdz tiks sasniegta iestatītā maksimālā vērtība (skaņa - 1 min). Pēc taimauta var nosūtīt tikai vienu segmentu. Tiek iestatīts taimauts un datu pārsūtīšanas vērtības maiņa, nenoņemot ACK.

10.13.10 Samazināta atlaide nomas maksai

Drīzumā likšu par pienākumu, jo vairāk sakrusto lietas, jo vairāk mehānismus skatās zemāk. Tas sākas pratsyuvati, kā jauns sākums. Ale, šķembas tiek nodibinātas kā robeža vienlīdzīgai satiksmei, kas jau agrīnā stadijā var radīt problēmas, tas tiešām palīdzēs palielināt kursu, palielinot navantage vikna skaitu vienā segmentā. Nepieciešams iestatīt kordona vērtību reālajam piegādes ātruma ātrumam. Bīstamības slieksnis tiek skaitīts aizmugurē:

Kordons - 1/2 minimums

Ja vērtība tiek noņemta, tas būs vairāk nekā divi segmenti, її vikoristovuyut kā kordons. Pretējā gadījumā kordona izplešanās tiks atjaunota līdz diviem segmentiem. Jaunais atjaunināšanas algoritms mainās:

■ Iestatiet navigācijas loga izmēru uz vienu segmentu.

■ Ja ACK ir noņemts no ādas, samaziniet navigācijas atstarpi par vienu segmentu, līdz tiek sasniegta robeža (tas ir labākais veids, kā sākt pareizo sākumu).

■ Ja ACK āda tiek atņemta pirms navigācijas intervāliem, pievienojiet mazāku vērtību, jo tā tiek izvēlēta, pamatojoties uz pieauguma ātrumu vienā cikla stundā (palielinājums tiek aprēķināts kā MSS / N, de N - navigācijas intervāla lielums segmentos).

Ideālā varianta scenāriju var viegli atklāt robotam ar iedvesmas mehānismu. Pieņemsim, ka partnera primārais logs (un pašreizējais naivais logs) nav pietiekams, lai parādītu taimautu 8 segmentos, un robeža ir piešķirta 4 segmentos. Kā praktisks pielietojums, nolasot datus no bufera, primārā loga izmērs būs vienāds ar 8 segmentiem.

■ Tiek izpildīts 1 segments (dominējošais logs = 1 segments).

■ ACK noraidīts — tiek nosūtīti 2 segmenti.

■ ACK noņemts 2 segmentiem - 4 segmenti ir pārslogoti (sasniedzot robežu).

■ ACK saņemts 4 segmentiem. Nostiprina 5 segmentus.

■ ACK saņemts 5 segmentiem. Nostiprina 6 segmentus.

■ ACK saņemts 6 segmentiem. 7 segmentu stiprināšana.

■ ACK saņemts par 7 segmentiem. Tiek aizstāti 8 segmenti (pēdējais pēc paplašināšanas ir kļuvis par vēl vienu svarīgāko).

Oskіlki pіd stundu retranslācijas pēc taimauta ir nepieciešama, lai apstiprinātu visu datu saņemšanu, process līdz sasniedzot navigācijas logu primārā loga. Podії, scho vіdbuvayutsya pokazanі attēlā. 10.20. Rozmir vіkna zbіlshuєtsya eksponenciāli, podvoyuyuchi katru stundu perioda regulāra sākuma, un pēc tam, kad ir sasniegts interi zbіlshennya vіdbuvaєtsya par lineāro likumu.


Mal. 10.20. Piegādes izmaksu maiņa pārcelšanās pid pārvietošanas stunda

10.13.11. Dublikāts ACK

Dažās realizācijās neobov'yazkova spēja ir apstājusies - tā viņi sauc shvidka no jauna izstiepta(Ātra pārsūtīšana) - ar metodi, lai paātrinātu datu atkārtotu pielāgošanu ar dziedošiem prātiem. Galvenā doma ir saistīta ar papildu ACK administrēšanu, kas norāda uz robu saņemtajos datos.

Paņemiet segmentu, kas nav kārtībā, aizturiet ACK, kas norāda pirmo baitu vdchenih danikh (div. 10.21. att.).


Mal. 10.21. ACK dublikāts

Datu pārvaldnieks nepalaiž garām datu retranslāciju, IP shards normālā režīmā var piegādāt datus īpašniekam bez datu labojumu secības. Un, ja esat paņēmis papildu ACK kopijas datu dublēšanai (piemēram, trīs), tad tiks nosūtīts nākamais segments, nepārbaudot taimauta pabeigšanu.

Zīmīgi, ka dublētais ACK norāda uz datu segmenta izlaišanu. Dublētu ACK kopijas ļauj saprast, ka fonds pietiekama datu apjoma piegādei nav pārāk veltīgs. Kā daļa no slēptā algoritma neliela īstermiņa navigācijas loga paplašināšana ir atkarīga no reāla skrejceliņu satiksmes pieauguma. Šajā gadījumā radikālu pārmaiņu process pasaulē neapstājas, kad darbs tiek atjaunots.

Vidpovіdno standartam Uzņēmēja prasības(Arī saimniekiem) TCP ir vainīgs tādā pašā regulārā startā, kā aprakstīts iepriekš, ar avota dzēšanu. Tomēr paziņojums par cenu nav є tsіlespryamovanim, bet effektivnym, oskolki atņēma tse voіdomlennya z'єdnannya var un nerada pārāk lielu trafiku. Plūsmas specifikācija Prasības maršrutētājam(Vēlos maršrutētājus) norādiet, kuri maršrutētāji nav vainīgs nosūtiet atgādinājumu par dzhereļa nožņaugšanu.

10.13.13 TCP statistika

Nareshti, paskatīsimies uz komandas statistiku netstat, schobachit robotos bagātīgi no citu mehānismu aprakstiem.

Segmentus sauc par pakotnēm.
879137 datu paketes (226966295 baiti)
Atkārtoti pārsūtītas 21815 datu paketes (8100927 baiti).
Atkārtota pārsūtīšana.
132957 tikai apstiprinājuma paketes (104216 kavējas)
Ievērojami liels skaits

zatrimanih ACK.

Zondēšana

nulles izmērs.

Kāpēc SYN un FIN.
762469 acs (226904227 baitiem)
Signāls par paciņām, yaki ieradās

secības poza.

1510769 paketes (314955304 baiti)
9006 pilnīgi dublētas paketes (867042 baiti)
Taimauta rezultāts reāls

datu piegāde.

74 paketes ar dažiem dup. dati (piekrāpti 12193 baiti)
Ar lielākas efektivitātes metodi

deakі dati atkārtotas pārsaiņošanas laikā tika pārsaiņoti, lai iekļautu papildu baitus.

13452 ārpus kārtas paketes (2515087 baiti)
530 datu paketes (8551 baits) pēc loga
Iespējams, qі danі buli

iekļauts zondēšanas instrukcijās.

Pēc slēgšanas saņemtas 402 paketes
Tse nāk atkārtošanās

grozījumiem.

108 izmesti sliktas kontrolsummas dēļ
Nederīga TCP kontrolsumma.
0 atmeta sliktu galvenes nobīdes lauku dēļ
7 izmesti, jo pakete ir pārāk īsa
Izveidoti 14677 savienojumi (ieskaitot akceptus)
18929 savienojumi slēgti (ieskaitot 643 pilienus)
Pārtrūka 4100 embrionālo savienojumu
RTT atjaunināti 572187 segmenti (no 587397 mēģinājumiem)
Netālu izmēģiniet izmaiņas

cikla stundu, ACK lauskas nesanāca, kamēr taimauts nebija beidzies,

26 savienojumi tika pārtraukti rexmit taimauta dēļ
Nāc tuvāk un pamēģini

atkārtotas korekcijas, kā norādīts rēķinā.

Noildze, veicot zondēšanu

nulles logs.

Taimauts saskaņā ar tulkojumu

nepraktiska kārtība.

Keepalive pārtrauca 472 savienojumus

10.14 Vіdpovіdnіst vіmogam mazumtirgotājs

TCP straumēšanas standarts vymagaє, schob ieviešana stingri dotrimuvalis procedūras povіlnogo sākas inicializācijas laikā dienā un vikoristovuvali algoritmi Kern un Jacobson, lai novērtētu taimautu datu pārdales un pārvaldības navantagenym. Testi ir parādījuši, ka šie mehānismi ievērojami palielina produktivitāti.

Kas notiek, uzstādot sistēmu, ja jūs stingri neievērojat šos standartus? Tas nespēs nodrošināt uzticamu produktivitāti mitrā koristuvachiv, un tas būs slikts avots citām merezhі sistēmām, mainot normālu darbu pēc timchasovy nobīdes un radot pārpasaules trafiku, kas jāveido pirms datu diagrammu izlaišanas.

10.15. Produktivitātes šķēršļi

TCP ir sasniedzis savu elastību, strādājot mazos soļos, lai apmainītos ar simtiem vai miljoniem bitu sekundē. Šis protokols ļāva sasniegt labus rezultātus mūsdienu lokālajos tīklos ar Ethernet, Token-Ring un Fiber Distributed Data Interface (FDDI) topoloģijām, kā arī zemas līnijas saitēm vai no attāliem tīkliem (līdzīgi kā satelītsaitēm).

TCP tiek sadalīts tā, lai reaģētu uz ekstrēmiem prātiem, piemēram, pārņemt kādu mēru. Tomēr protokola straumēšanas versijā ir funkcijas, kas apvieno produktivitāti daudzsološās tehnoloģijās, lai parādītu lielu joslas platumu simtos un tūkstošos megabaitu. Lai saprastu problēmas, kuras tiek vainotas, tā ir vienkārša (gribu un nereāla) dibena.

Pieņemsim, ka, pārvietojot failu starp divām sistēmām, pēc iespējas efektīvāk ir jāpārnes apmaiņa ar nepārtrauktu grīdas seguma plūsmu. Teiksim tā:

■ Maksimālais saņemšanas segmenta izmērs ir 1 KB.

■ Priymalne vіkno - 4 KB.

Smuga izlaišana ļauj pārsūtīt divus segmentus 1 sekundē.

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

■ ACK paziņojumi tiek nosūtīti pēc 2 sekundēm.

Ēkas amatpersonai ir jāsūta dati bez pārtraukuma. Pat ja video vīzijas tiks pabeigtas, pievienojiet ACK, kas ļauj rediģēt citu segmentu:

Pēc 2h:

SAŅEMT APSTIPRINĀJUMU PAR 1. SEGMENTU, VAR SŪTĪT 5. SEGMENTU.
SAŅEMT APSTIPRINĀJUMU PAR 2. SEGMENTU, VAR SŪTĪT 6. SEGMENTU.
SAŅEMT APSTIPRINĀJUMU PAR 3. SEGMENTU, VAR SŪTĪT 7. SEGMENTU.
SAŅEMT APSTIPRINĀJUMU PAR 4. SEGMENTU, VAR SŪTĪT 8. SEGMENTU.

Vairāk pēc 2 h:

SAŅEMT APSTIPRINĀJUMU PAR 5. SEGMENTU, VAR SŪTĪT 9. SEGMENTU.

Kā parasti, tas bija tikai 2 Kbaiti, tā būtu vienas sekundes pārbaude no ādas divas pirms nākamo datu labošanas. Faktiski, lai mazinātu nepārtrauktu datu plūsmu, tas ir ne mazāk kā mātes rozmiras atbildība:

Vіkno \u003d Smuga caurlaides laiks × Stundu cikls

Ja vēlaties nelielu pārsūtīšanas muca (lai nodrošinātu vairāk pirmskaitļu), nedaudz var rasties problēmas, savienojot caur satelītiem ar lielisku zatrymkoy.

Tagad apskatīsim, kas ir redzams ar daudzstāvu grīdām. Piemēram, tā kā smuga joslas platums un ātrums tiek pārsniegts par 10 miljoniem bitu sekundē un cikla stunda kļūst par 100 ms (1/10 sekundes), tad nepārtrauktai plūsmai labāk ir ņemt 1 000 000 bitu, tobto. 125 000 baitu. Lielākais skaitlis, ko var ierakstīt TCP saņemšanas ceļa galvenes laukā, ir 65536.

Vēl viena problēma tiek vainota lielos apmaiņas ātrumos, pasūtījumu numuru lauskas un ātrākā galā. Ja varat pārsūtīt datus ar ātrumu 4 GB / s, kļūdas sērijas numurs tiks atjaunināts ādas sekundē. Nebūs iespējams atdalīt vecās dublētās datagrammas, jo, pārvietojoties pa internetu, tās būtu par sekundi zemākas, ņemot vērā jaunus datus.

Tajā pašā laikā tiek aktīvi veikti jauni atjauninājumi TCP / IP atjauninājumam un progresīvāku kodu pieņemšanai.

10.16 TCP funkcijas

Šī nodaļa ir veltīta TCP skaitliskajām funkcijām. Zemāk ir atjaunoti galvenie:

■ Pieslēgvietu sakari ar grīdu

■ Palīdzības izsaukuma inicializācija trīspakāpju apstiprināšana

■ Pareiza sākuma Wiconnanny, kas ietver pārslēgšanu

■ Datu segmentēšana pārsūtīšanas laikā

■ Datu numerācija

■ Izstrādāts tā, lai tiem būtu dublēti segmenti

■ Kontrolsummu aprēķināšana

■ Datu plūsmas regulēšana caur saņemšanas logu un korekcijas logu

■ Tikšanās pabeigšana atjaunošanas veidā

■ Sanāksmes pārplānošana

■ Terminu tulkošana

■ Pozitīvs atkārtotas pārraides apstiprinājums

■ Mēģiniet vēlreiz taimauta aprēķinu

■ Atgriešanās plūsmas samazināšanās retranslācijas gadījumā

■ Signalizācija par nederīgu segmentu klātbūtni

■ Pārbauda saņemšanas loga aizvēršanos

10.17 Kļūšu par TCP

Nākamajam TCP ir jāiziet vairāki posmi: tiek izveidots izsaukums papildu informācijas apmaiņai, pēc tam tiek nosūtīti dati un pēc tam tiek slēgts papildu speciālo paziņojumu apmaiņai. Ādas kroks pie robota nometne ts'ogo z'ednannya. TCP programmatūras drošība rūpnīcas ādas pusē pastāvīgi uzrauga rūpnīcas otrās puses ražošanas līniju.

Tālāk īsumā apskatīsim tipiskās servera un klienta iestatījumu izmaiņas, kas tika apstrādātas dažādos diennakts laikos. Mēs neiestatām kā metadatus visu iespējamo pozīciju aprakstu ar datu pārsūtīšanu. Tas ir ierosināts RFC 793 un dokumentos Uzņēmēja prasības.

Instalēšanas stundā serverim un klientam ir jāiziet līdzīgas staciju secības. Es kļūšu par serveri, kas parādīts 10.3. tabulā, un es kļūšu par klientu - 10.4. tabulā.


Tabula 10.3 Servera stenda secība

serveru nometne pjedestāls apraksts
SLĒGTS Fiktīva nometne instalācijas z'ednannya vālītes priekšā.
Pasīvās atsauksmes no servera pielikuma.
KLAUSIES Serveris notīra savienojumu ar klientu.
TCP serveris pieņem SYN un nosūta SYN / ACK. Serveris pieņem SYN un nosūta SYN/ACK. Dodieties uz ACK.
SYN SAŅEMTA TCP serveris pieņem ACK.
IZVEIDOTS (uzstādīts) Noraidīja ACK, atzina s'ednannya.

Tabula 10.4 Klienta ierakstu secība

Yakby partneri uzreiz mēģināja veikt pasūtījumu pa vienam (kas trapleyatsya reti), āda izgāja cauri nometnei SLĒGTA, SYN-SENT, SYN-RECEIVED un NOTEIKTA.

Dienas beigas tiek pamestas IZVEIDOTĀ stacijā, līdz viena no pusēm virzās uz slēgts zvanīt, nosūtot FIN segmentu. Galīgās slēgšanas procesā sāns, kā aizvēršanas iniciators, iziet cauri dzirnavām, kas parādīts 10.5. tabulā. Її partneris, lai izietu cauri nometnei, parādīts tabulās 10.6.


Tabula 10.5 Stāvēšanas uz sāniem secība, aizverot muguru

Es saritināšu savu sānu pjedestāls apraksts
IZVEIDOTS Vietējais papildinājums prasa slēgt pasūtījumu.
TCP nosūta FIN/ACK.
FIN-WAIT-1 Sānu aizvēršana ir partnera punktu gūšana. Domājams, ka partneris joprojām var pievienot jaunus datus.
TCP pieņem ACK.
FIN-WAIT-2 Slēgtā puse paņēma no partnera ACK, bet joprojām nesaņēma FIN. Noslēguma puse novērtē FIN, pieņemot pieejamos datus.
TCP pieņem FIN / ACK.
Nosūtiet ACK.
LAIKS-GAIDĪT Z'ednannya pіdtremuєtsya in neznachennym stіnі, schob ļauj pribiti аbo vіdkinuti joprojām іsnuyuchi mērījumā dublēšanās datu vai dublēšanās FIN. Vērtēšanas periods ir lielāks nekā segmenta maksimālā paredzamā dzīves ilguma novērtējums.
SLĒGTS

10.6. tabula Secība, kā kļūt par partneri dienas noslēgumā

partneru nometne pjedestāls apraksts
IZVEIDOTS TCP pieņem FIN / ACK.
AIZVĒRT-GAIDĪT Ieradusies FIN.
TCP nosūta ACK.
TCP pārbauda savu bloķēšanas pieprasījumu. Šobrīd var veikt papildinājumus, lai pievienotu lielu skaitu veltījumu.
Vietējā programma inicializē dienas noslēgumu.
TCP nosūta FIN/ACK.
LAST-ACK TCP notīra pēdējo ACK.
TCP pieņem ACK.
SLĒGTS Visa informācija par dienu ir izlaista.

10.17.1. TCP iekārtas analīze

komandu netstat -anļauj pārskatīt dzirnavu rindas dzirnavas. Tālāk ir sniegti šovi dažādās valstīs klausīties, palaišana, izveidota, slēgšanaі laiks-gaidi.

Būtiski, ka galamērķa porta numurs ir norādīts ādas lokālajā un ārējā adresē. Redzams, ka ir TCP trafika gan uz ieejām, gan uz brīvdienām.

Pro Recv-Q Send-Q vietējā adrese Ārvalstu adrese (štats)
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 IZVEIDOTS
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 IZVEIDOTS
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 IZVEIDOTS
Tcp 0 0 128.121.50.145.1082 128.121.50.141.6000 IZVEIDOTS
TCP 0 0 128.121.50.145.1022 128.121.50.141.1017 IZVEIDOTS
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 IZVEIDOTS
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 IZVEIDOTS
Tcp 0 0 128.121.50.145.119 192.67.243.13.3704 IZVEIDOTS
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 IZVEIDOTS

10.18. Ieviešanas ievērošana

No pašas vālītes, TCP tikšanās protokols robežkontroles mijiedarbībai dažādās šķirnēs. TCP specifikācijā nav precīzi norādīts, kā ir jāievieš iekšējā ieviešanas struktūra. Piedāvājums nav pieejams mazumtirgotājiem, ja zvanāt, lai uzzinātu labākos mehānismus konkrētai ādas ieviešanai.

Navit RFC +1122 (dokuments Saimniekdatora prasības - palīdzība saimniekiem) liedz pietiekami daudz brīvības variācijām. Āda ar īstenotajām funkcijām ir atzīmēta ar tādu pašu vienādu kopumu:

■ MAIJS (atļauts)

■ NEDRĪKST

Žēl, daži produkti tiek pārdoti, viņi nepārdod MUST labumus. Rezultātā koristuvachs kļūst bez rokām, jo ​​samazinās produktivitāte.

Labu metožu aktus un ieviešanu standarti neaizsargā. Piemēram, ir iespējams uzlabot drošību, ja siltummaini silda sistēmas priviliģētie procesi, tāpat kā vietējā operētājsistēmā šī metode tiek atbalstīta. Paaugstinot pārdošanas produktivitāti, mēs varam mazāk kopēt un pārvietot uzrakstus vai brīnišķīgos veltījumus.

Standarta lietojumprogrammu saskarne nav tikšanās(Tāpat kā drošības politika), tādējādi tika zaudēts darbības lauks eksperimentēšanai ar dažādiem programmatūras rīku komplektiem. Tomēr dažādām platformām varat pievienot dažādas programmatūras saskarnes un neļaut programmatūras lietojumprogrammām pārvietoties starp platformām.

Faktiski mazumtirgotāji savus rīku komplektus pamato ar Socket programmēšanas saskarni no Berkeley. Programmatūras interfeisa vērtība ir pieaugusi līdz ar WINSock (Windows Socket) parādīšanos, kā rezultātā strauji palielinājās jaunu pievienojumprogrammu skaits galddatoru sistēmām, kas varētu darboties virs jebkura WINSock interfeisa ar kopējo TCP kaudzīti. / IP.

10.19 Dodatkova literatūra

Sākotnējais TCP standarts ir definēts RFC 793. Modernizācijas, labojumi un, iespējams, konsekvence ir apskatīti RFC 1122. Kern (Kash) un Partridge (Partridge) publicēja rakstu Turp un atpakaļ aprēķinu uzlabošana uzticamos transporta protokolosžurnālā ACM SIGCOMM 1 987 lietas. Statja Jēkabsone Sastrēgumu novēršana un kontrole parādījās plkst ACM SIGCOMM 1988. gada semināra materiāli. Džeikobsons ir redzējis arī RFC daļu, kas aplūko algoritmus produktivitātes uzlabošanai.

Atbalsti projektu – dalies ar saviem pūliņiem, paldies!
Izlasi arī
Sbebrank (pazīstams arī kā Oschadbank) Sbebrank (pazīstams arī kā Oschadbank) Atrisinot licences problēmas ar Autocad Chi, netiek startēts autocad Windows 7 Atrisinot licences problēmas ar Autocad Chi, netiek startēts autocad Windows 7 Norādījumi CryptoPro PIN koda izvēlei vairāku dokumentu parakstīšanas stundā - Instrukcijas - AT Instrukcija CryptoPro PIN koda izvēlei, vairāku dokumentu parakstīšanas stundā - Instrukcija - AS "PEK-Torg"