== Three-Way Handshake == == Trigubas Rankos Paspaudimas == ---- = Apibrėžimas = ''' Trigubas Rankos Paspaudimas ''' - tai technologija, naudojama TCP(''Transfer Control Protocol'') protokolo ir ji yra skirta ryšio tarp tinklo mazgų užmezgimui. Rankos paspaudimas yra automatizuotas procesas, kuris dinamiškai nustato ryšio kanalo, kuriuo jungiasi du mazgai, parametrus dar prieš prasidedant normaliam susijungimui. Jis yra vykdomas iškart po fizinio susijungimo bei prieš informacijos mainus. === Naudojimas ir veikimas === Trigubas Rankos Paspaudimas yra būtinas patikimo TCP ryšio užmezgimui. ---- Kad klientas galėtų prisijungti prie serverio, serveris pirmiausiai turi paskirti portą, kuriuo bus vykdomas susijungimas - tai yra vadinama pasyviniu atidarymu (''Passive open''). Po to, kai įvyksta pasyvinis atidarymas, klientas gali inicijuoti aktyvųjį atidarymą. Kad susijungimas būtų sėkmingas, yra vykdomas trigubas (arba trijų žingsinių) rankos paspaudimas: 1. Aktyvusis atidarymas atliekamas siunčiant '''SYN''' pranešimą į serverį. 2. Atsakydamas serveris siunčia '''SYN-ACK''' pranešimą. 3. Galiausiai klientas siunčia '''ACK''' (dažnai dar vadinamą '''SYN-ACK-ACK''') pranešimą atgal serveriui. Po šių operacijų abu: tiek klientas, tiek serveris jau būna gavę susijungimo patvirtinimo (''Acknowledgement'') pranešimą, reiškiantį, kad susijungimas pavyko. ---- === Pavyzdys === 1. Inicijuojantis mazgas (klientas) siunčia sinchronizacijos paketą ('''SYN''') tam, kad pradėtų susijungimo procesą. Bet koks '''SYN''' paketas savyje turi ''Sekos numerį''. ''Sekos numeris'' yra 32 bitų laukas TCP segmento antraštėje. Tarkime, kad šiame pavyzdyje ''Sekos numeris'' yra lygus X. 2. Kitas mazgas gauna paketą, įsirašo ''Sekos numerį'' X iš kliento, bei atsako patvirtinimo ir sinchronizavimo paketu ('''SYN-ACK'''). Šio TCP segmento antraštėje esantis 32 bitų laukas yra vadinamas ''Patvirtinimo numeriu'' ir jis yra vienetu didesnis, nei prieš tai gautas ''Sekos numeris''. Tai yra numeris, kurį serveris tikisi išvysti kitame gautame pranešime. Serveris taip pat inicijuoja gražinimo seansą (''return session''). Jam priklauso TCP segmentas, turintis savo pradinį ''Sekos numerį'' Y. 3. Inicijuojantis mazgas (klientas) atsako ''Sekos numeriu'' X+1 bei paprastu ''Patvritinimo numeriu'' Y+1 , kuris yra kito mazgo siųstas ''Sekos numeris'' +1. {{attachment:Handshake.png}}<
> 1 pav. Trigubas rankos paspaudimas. === Literatūra === 1. http://support.microsoft.com/kb/172983 2. http://www.3wayhandshake.com/ 3. http://www.inetdaemon.com/tutorials/internet/tcp/3-way_handshake.shtml ---- CategoryŽodis