Setup sa koneksyon sa TCP
Kung nag-browse kami sa web, magpadala usa ka email, o magdula usa ka dula sa online, kanunay kami nga wala maghunahuna bahin sa komplikado nga koneksyon sa network sa luyo. Bisan pa, kini kini ingon gamay nga mga lakang nga nagsiguro nga malig-on nga komunikasyon tali sa US ug sa server. Usa sa labing hinungdanon nga mga lakang mao ang pag-setup sa koneksyon sa TCP, ug ang kinauyokan niini mao ang tulo nga paagi nga handshake.
Gihisgotan sa kini nga artikulo ang prinsipyo, proseso ug kamahinungdanon sa detalye sa three-way nga handshake. Lakang sa lakang, among ipatin-aw kung ngano nga gikinahanglan ang tulo-ka-paagi nga handshake, giunsa kini pagsiguro sa pagkonektar sa katakus ug kasaligan, ug kung unsa kini kaimportante alang sa pagbalhin sa datos. Sa mas lawom nga pagsabut sa three-way handshake, makakuha kami usa ka labi ka maayo nga pagsabut sa mga nailubon nga mekanismo sa komunikasyon sa network ug usa ka mas tin-aw nga pagtan-aw sa kasaligan sa mga koneksyon sa TCP.
TCP three-way handshake nga proseso ug mga pagbalhin sa estado
Ang TCP usa ka protocol nga naka-orient sa koneksyon sa koneksyon, nga nanginahanglan sa pag-establisar sa koneksyon sa wala pa ang pag-transmate sa datos. Ang kini nga proseso sa pag-establisar sa koneksyon gihimo sa usa ka tulo nga paagi nga handshake.
Atong susihon ang mga packet sa TCP nga gipadala sa matag koneksyon.
Sa sinugdan, ang kliyente ug server sirado. Una, ang server aktibo nga namati sa usa ka pantalan ug naa sa estado sa pagtudlo, nga nagpasabut nga ang server kinahanglan magsugod. Sunod, ang kliyente andam nga magsugod sa pag-access sa webpage.Iter kinahanglan nga magtukod og koneksyon sa server. Ang format sa first connection packet mao ang mga musunud:
Kung gisugdan sa usa ka kliyente ang usa ka koneksyon, naghimo kini usa ka random nga inisyal nga numero sa pagkasunud (kliyente) ug gibutang kini sa kapatagan nga "Sequence Number" nga natad sa TCP HEADER. Sa samang higayon, ang kliyente nagpahimutang sa posisyon sa bandila sa bandila sa 1 aron ipakita nga ang outgoing packet usa ka sinulat nga pakete. Gipakita sa kliyente nga gusto kini nga magtukod og koneksyon sa server pinaagi sa pagpadala sa una nga mga sinagpa sa server sa server. Kini nga pakete wala maglangkob sa datos sa layer sa aplikasyon (nga mao, gipadala ang datos). Niining higayona, ang kahimtang sa kliyente gimarkahan ingon nga sinugo.
Kung ang usa ka server makadawat usa ka sili nga pakete gikan sa usa ka kliyente, kini nga random nga nag-una sa kaugalingon nga serial number (server_isn) ug dayon gibutang ang numero sa "Serial Number" nga uma sa TCP Header. Sunod, ang server mosangko sa kliyente_isn + 1 sa "pag-ila sa numero" ug gipunting ang mga data sa ack sa 1. Niining panahona, ang server naa sa Syn-RCVD State.
Sa higayon nga ang kliyente makadawat sa packet gikan sa server, kinahanglan nga himuon ang mga mosunud nga pag-optimasyon sa pagtubag sa katapusang reply Packet: Ang kliyente nagpahimutang sa ack sa TCP Peader sa TCP Pa-Packet sa 1; Ikaduha, ang kliyente mosulod sa kantidad sa server_isn + 1 sa "Kumpirma nga numero nga Tubag sa Tubag" Sa katapusan, ang kliyente nagpadala sa packet sa server. Kini nga pakete makadala mga datos gikan sa kliyente hangtod sa server. Pagkahuman sa kini nga mga operasyon, ang kliyente mosulod sa natukod nga kahimtang.
Sa higayon nga ang server nakadawat sa reply packet gikan sa kliyente, kini usab nag-agay sa natukod nga kahimtang.
Sama sa imong nakita gikan sa proseso sa ibabaw, kung ang usa ka three-way handshake, gitugotan ang ikatulo nga handshake nga magdala mga datos, apan ang una nga duha nga mga handshakes dili. Kini usa ka pangutana nga kanunay nga gipangayo sa mga interbyu. Kung nahuman na ang tulo nga paagi, ang duha nga partido nagsulud sa natukod nga estado, nga nagpaila nga ang koneksyon malampuson nga natukod, diin ang mga punto sa kliyente mahimo magsugod sa pagpadala sa mga datos sa usag usa.
Ngano nga Tulo ka mga Kamot? Dili kaduha, upat ka beses?
Ang sagad nga tubag mao, "Tungod kay ang tulo nga paagi nga nagdumala sa kaarang sa pagdawat ug pagpadala." Kini nga tubag husto, apan kini ra ang hinungdan sa nawong, dili ibutang ang panguna nga hinungdan. Sa mosunud, pag-analisar ko ang mga hinungdan sa triple handshake gikan sa tulo nga mga aspeto aron mapalalom ang among pagsabut sa kini nga isyu.
Ang three-way handshake mahimong epektibo nga malikayan ang pasiuna sa mga gisubli nga mga koneksyon (ang panguna nga hinungdan)
Garantiya sa tulo nga paagi nga ang duha nga partido nakadawat usa ka kasaligan nga inisyal nga numero sa pagkasunud-sunod.
Ang three-way handshake naglikay sa pag-usik sa mga kapanguhaan.
Pangatarungan 1: Paglikay sa mga Doblehikong Kasaysayan sa Kasaysayan
Sa usa ka nutshell, ang panguna nga hinungdan sa tulo nga paagi nga handshake mao ang paglikay sa kalibog nga gipahinabo sa una nga pag-una sa koneksyon nga koneksyon. Sa usa ka komplikado nga palibot sa network, ang pagpadala sa mga pakete sa datos dili kanunay gipadala sa destinasyon nga host subay sa gitakda nga oras, ug ang mga daan nga pag-host sa destinasyon una sa mga hinungdan sa destinasyon ug uban pang mga hinungdan. Aron malikayan kini, gigamit sa TCP ang usa ka three-way handshake aron matukod ang koneksyon.
Sa diha nga ang usa ka kliyente nagpadala daghang mga bahin sa pag-establisar sa pag-establisar sa sunud-sunod, sa mga sitwasyon sama sa kasulbaran sa network, ang mosunod mahimong mahitabo:
1- Ang daan nga mga sinulat nga mga pakete nakaabot sa server sa wala pa ang labing bag-o nga mga pakete sa SIDS.
2- Ang server motubag sa usa ka syn + pack packet sa kliyente human madawat ang daan nga pag-usik sa pag-usik.
3- Kung ang kliyente nakadawat sa pag-apak nga packet, kini ang koneksyon usa ka makasaysayanon nga koneksyon (pag-ihap sa Sequence) sumala sa kaugalingon nga konteksto sa server aron maapil ang koneksyon.
Sa usa ka koneksyon sa duha nga handshake, wala'y paagi aron mahibal-an kung ang koneksyon karon usa ka makasaysayanon nga koneksyon. Gitugotan sa tulo nga paagi ang kliyente nga mahibal-an kung ang koneksyon sa karon usa ka makasaysayanon nga koneksyon base sa konteksto kung andam ba nga ipadala ang ikatulo nga packet:
1- Kung kini usa ka makasaysayanon nga koneksyon (ang numero sa pagkasunud-sunod nga na-expire o oras), ang packet nga gipadala sa ikatulo nga handshake usa ka rst packet aron ma-abort ang makasaysayanon nga koneksyon.
2- Kung dili kini usa ka makasaysayanon nga koneksyon, ang packet nga gipadala sa ikatulo nga higayon mao ang usa ka pack packet, ug ang duha nga nakigsulti nga mga partido nga malampuson nga nagtukod sa koneksyon.
Busa, ang panguna nga hinungdan nga gigamit sa TCP ang tulo-pa nga handshake mao nga kini nag-una sa koneksyon aron mapugngan ang mga koneksyon sa kasaysayan.
Pangatarungan 2: Aron i-synchronize ang una nga mga numero sa pagkasunud sa duha nga partido
Ang duha ka kilid sa TCP protocol kinahanglan magpadayon sa usa ka numero sa pagkasunud, nga usa ka hinungdan nga hinungdan aron masiguro ang kasaligan nga transmission. Ang mga numero sa sunod-sunod nga mga numero adunay hinungdan nga papel sa mga koneksyon sa TCP.Nag buhata ang mga musunud:
Ang tigdawat makawagtang sa doblema sa doblema ug masiguro ang katukma sa datos.
Ang tigdawat makadawat makadawat mga packet sa han-ay sa numero sa han-ay aron masiguro ang integridad sa datos.
● Ang numero sa Sequence mahimong mailhan ang packet sa datos nga nadawat sa lain nga partido, nga nagtugot sa kasaligan nga pagbalhin sa datos.
Busa, sa pag-establisar sa usa ka koneksyon sa TCP, ang kliyente nagpadala mga Packets nga adunay inisyal nga numero sa pagkasunud-sunod ug kinahanglan ang server aron matubag ang usa ka packet sa ACK nga nagpaila sa mga Sinkete sa ACK. Pagkahuman, ang server nagpadala sa mga sinulat nga pakete sa una nga numero sa pagkasunud sa kliyente ug naghulat alang sa pagtubag sa kliyente, sa makausa ug alang sa tanan, aron masiguro nga ang mga inisyal nga mga numero nga kasaligan nga gisumpay.
Bisan kung ang usa ka upat nga paagi nga handshake posible usab nga kasaligan ang inisyal nga mga numero sa pagkasunud sa duha nga mga partido, ang ikaduha ug ikatulo nga mga lakang mahimong mahiusa sa usa ka lakang, nga miresulta sa usa ka tulo nga paagi nga handshake. Bisan pa, ang duha nga mga handshakes mahimo ra garantiya nga ang una nga pagkasunud-sunod sa usa ka partido nga malampuson nga nadawat sa lain nga partido, apan wala'y garantiya nga ang una nga pagkasunud-sunod sa duha nga mga partido mahimong makumpirma. Busa, ang tulo nga paagi nga handshake mao ang labing kaayo nga kapilian nga makuha aron masiguro ang kalig-on ug kasaligan sa mga koneksyon sa TCP.
Pangatarungan 3: Likayi ang mga kapanguhaan sa pag-usik
Kung adunay usa ka "duha nga handshake", kung ang kliyente sa pagkilala gipugngan sa network, ang kliyente dili makadawat sa packet nga ACK nga gipadala sa server, mao nga ang mga syn and ang masuko. Bisan pa, tungod kay wala'y ikatulong handshake, ang server dili makatino kung ang kliyente nakadawat usa ka pag-ila sa ACK aron matukod ang koneksyon. Busa, ang server mahimo ra nga makahimo sa usa ka koneksyon human madawat ang matag hangyo sa Sinut. Kini ang hinungdan sa mosunod:
Pag-usik sa mga Kapanguhaan: Kung ang Pinangayo sa Sinulat sa Kliyente gipugngan, nga miresulta sa balikbalik nga paghatud sa daghang mga sina nga mga pakete, ang server magtukod og daghang mga dili husto nga koneksyon human madawat ang hangyo. Kini ang hinungdan sa usa ka dili kinahanglan nga basura sa mga kapanguhaan sa Server.
Ang pagpadayon sa mensahe: Tungod sa kakulang sa usa ka ikatulo nga handshake, ang server wala'y paagi sa pagkahibalo kung ang kliyente ba nga hustong nakadawat sa pag-ila sa ACK. Ingon usa ka sangputanan, kung ang mga mensahe naigo sa network, ang kliyente magpadayon sa pagpadala sa mga hangyo sa kanunay, hinungdan nga kanunay nga magtukod ang server sa bag-ong mga koneksyon. Magdugang kini nga kasulbaran sa network ug paglangan ug negatibo nga makaapekto sa kinatibuk-ang pasundayag sa network.
Busa, aron masiguro ang kalig-on ug kasaligan sa koneksyon sa network, gigamit sa TCP ang three-way handshake aron matukod ang koneksyon aron malikayan ang kini nga mga problema.
Kalangkoban
AngNetwork Packet BrokerAng pag-establisar sa koneksyon sa TCP gihimo sa usa ka tulo nga paagi nga handshake. Atol sa tulo nga paagi nga handshake, ang kliyente una nga nagpadala usa ka pakete sa Sink Bandera sa server, nga nagpaila nga gusto kini magtukod usa ka koneksyon. Human madawat ang hangyo gikan sa kliyente, ang server nagtubag sa usa ka pakete nga adunay mga bandila sa Sinkil ug ACK sa kliyente, ug gipadala ang kaugalingon nga numero sa pagkasunud-sunod. Sa katapusan, ang kliyente mitubag uban sa usa ka ack nga bandila sa server aron ipakita nga ang koneksyon malampuson nga natukod. Sa ingon, ang duha nga mga partido naa sa natukod nga kahimtang ug mahimo magsugod sa pagpadala sa mga datos sa usag usa.
Sa kinatibuk-an, ang tulo-ka-agianan nga proseso sa handshake alang sa pag-establisar sa koneksyon sa TCP gilaraw aron masiguro ang pagkonektar ug pag-usik sa mga kapanguhaan sa mga partido sa mga partido sa mga partido sa mga partido.
Post Oras: Jan-08-2025