Konfigirasyon Koneksyon TCP
Lè n ap navige sou entènèt la, voye yon imèl, oswa jwe yon jwèt sou entènèt, byen souvan nou pa panse ak koneksyon rezo konplèks ki dèyè l la. Sepandan, se etap sa yo ki sanble piti anpil ki asire yon kominikasyon ki estab ant nou menm ak sèvè a. Youn nan etap ki pi enpòtan yo se konfigirasyon koneksyon TCP a, epi nwayo sa a se koneksyon twa-fason an.
Atik sa a pral diskite prensip, pwosesis ak enpòtans koneksyon twa-fason an an detay. Etap pa etap, nou pral eksplike poukisa koneksyon twa-fason an nesesè, kijan li asire estabilite ak fyab koneksyon, epi kijan li enpòtan pou transfè done. Avèk yon konpreyansyon pi pwofon sou koneksyon twa-fason an, nou pral gen yon pi bon konpreyansyon sou mekanis fondamantal kominikasyon rezo a ak yon vizyon pi klè sou fyab koneksyon TCP yo.
Pwosesis TCP Three-way Handshake ak Tranzisyon Eta
TCP se yon pwotokòl transpò oryante koneksyon, ki egzije etablisman koneksyon anvan transmisyon done yo. Pwosesis etablisman koneksyon sa a fèt pa yon handshake twa-fason.
Ann pran yon gade pi pre sou pakè TCP yo ki voye nan chak koneksyon.
Okòmansman, ni kliyan an ni sèvè a FÈMEN. Premyèman, sèvè a ap koute aktivman sou yon pò epi li nan eta LISTEN, ki vle di sèvè a dwe demarre. Apre sa, kliyan an pare pou kòmanse jwenn aksè nan paj wèb la. Li bezwen etabli yon koneksyon ak sèvè a. Fòma premye pake koneksyon an se jan sa a:
Lè yon kliyan inisye yon koneksyon, li jenere yon nimewo sekans inisyal o aza (client_isn) epi li mete l nan chan "Nimewo sekans" nan header TCP a. An menm tan, kliyan an mete pozisyon drapo SYN lan sou 1 pou endike ke pake sortan an se yon pake SYN. Kliyan an endike ke li vle etabli yon koneksyon ak sèvè a lè li voye premye pake SYN nan bay sèvè a. Pake sa a pa gen done kouch aplikasyon an (sa vle di, done ki voye). Nan pwen sa a, estati kliyan an make kòm SYN-SENT.
Lè yon sèvè resevwa yon pake SYN nan men yon kliyan, li inisyalize pwòp nimewo seri li (server_isn) owaza epi li mete nimewo sa a nan chan "Nimewo seri" nan header TCP a. Apre sa, sèvè a antre client_isn + 1 nan chan "Nimewo akize" a epi li mete tou de bit SYN ak ACK yo a 1. Finalman, sèvè a voye pake a bay kliyan an, ki pa gen okenn done kouch aplikasyon (epi pa gen okenn done pou sèvè a voye). Nan moman sa a, sèvè a nan eta SYN-RCVD.
Yon fwa kliyan an resevwa pake a nan men sèvè a, li bezwen fè optimizasyon sa yo pou reponn a pake repons final la: Premyèman, kliyan an mete bit ACK nan header TCP pake repons lan sou 1; Dezyèmman, kliyan an antre valè server_isn + 1 nan chan "Konfime nimewo repons" lan; Finalman, kliyan an voye pake a bay sèvè a. Pake sa a ka pote done soti nan kliyan an rive nan sèvè a. Lè operasyon sa yo fini, kliyan an ap antre nan eta ESTABLISHED la.
Yon fwa sèvè a resevwa pake repons lan nan men kliyan an, li chanje tou nan eta ESTABLISHED la.
Jan ou ka wè nan pwosesis ki anwo a, lè w ap fè yon handshake twa-fason, twazyèm handshake la gen dwa pote done, men de premye handshake yo pa gen dwa pote yo. Sa a se yon kesyon yo souvan poze nan entèvyou. Yon fwa handshake twa-fason an fini, tou de pati yo antre nan eta ESTABLISHED la, ki endike ke koneksyon an te etabli avèk siksè, nan pwen sa a kliyan an ak sèvè a ka kòmanse voye done youn bay lòt.
Poukisa twa lanmen? Pa de fwa, kat fwa?
Repons komen an se, "Paske twa fason handshake la garanti kapasite pou resevwa ak voye." Repons sa a kòrèk, men se sèlman rezon sifas la, li pa prezante rezon prensipal la. Nan sa ki annapre yo, mwen pral analize rezon ki fè twa fason handshake la soti nan twa aspè pou nou ka pi byen konprann pwoblèm sa a.
Lansman twa-fason an ka efektivman evite inisyalizasyon koneksyon ki repete istorikman (rezon prensipal la)
Koneksyon twa-fason an garanti ke tou de pati yo te resevwa yon nimewo sekans inisyal serye.
Koneksyon twa-fason an evite gaspiye resous.
Rezon 1: Evite Antre Kopi Istorik yo
An brèf, rezon prensipal pou koneksyon twa-fason an se pou evite konfizyon ki koze pa ansyen inisyalizasyon koneksyon kopi a. Nan yon anviwònman rezo konplèks, transmisyon pake done yo pa toujou voye bay lame destinasyon an nan tan espesifye a, epi ansyen pake done yo ka rive nan lame destinasyon an an premye akòz konjesyon rezo a ak lòt rezon. Pou evite sa, TCP itilize yon koneksyon twa-fason pou etabli koneksyon an.
Lè yon kliyan voye plizyè pake etablisman koneksyon SYN youn apre lòt, nan sitiyasyon tankou konjesyon rezo a, bagay sa yo ka rive:
1- Ansyen pakè SYN yo rive nan sèvè a anvan dènye pakè SYN yo.
2- Sèvè a ap reponn kliyan an ak yon pake SYN + ACK apre li fin resevwa ansyen pake SYN nan.
3- Lè kliyan an resevwa pake SYN + ACK la, li detèmine ke koneksyon an se yon koneksyon istorik (nimewo sekans lan ekspire oswa delè a depase) dapre pwòp kontèks li, epi li voye pake RST a bay sèvè a pou abandone koneksyon an.
Avèk yon koneksyon de-lans, pa gen okenn fason pou detèmine si koneksyon aktyèl la se yon koneksyon istorik. Lans twa-lans lan pèmèt kliyan an detèmine si koneksyon aktyèl la se yon koneksyon istorik ki baze sou kontèks la lè li pare pou voye twazyèm pake a:
1- Si se yon koneksyon istorik (nimewo sekans lan ekspire oswa delè a depase), pake twazyèm handshake la voye a se yon pake RST pou abandone koneksyon istorik la.
2- Si se pa yon koneksyon istorik, pake ki voye pou twazyèm fwa a se yon pake ACK, epi de pati k ap kominike yo etabli koneksyon an avèk siksè.
Se poutèt sa, rezon prensipal ki fè TCP itilize handshake twa-fason an se paske li inisyalize koneksyon an pou anpeche koneksyon istorik.
Rezon 2: Pou senkronize nimewo sekans inisyal tou de pati yo
Tou de bò pwotokòl TCP a dwe kenbe yon nimewo sekans, ki se yon faktè kle pou asire yon transmisyon serye. Nimewo sekans yo jwe yon wòl enpòtan nan koneksyon TCP yo. Yo fè bagay sa yo:
Reseptè a ka elimine done kopi epi asire presizyon done yo.
Reseptè a ka resevwa pakè yo nan lòd nimewo sekans lan pou asire entegrite done yo.
● Nimewo sekans lan ka idantifye pake done lòt pati a te resevwa a, sa ki pèmèt yon transmisyon done serye.
Se poutèt sa, lè kliyan an etabli yon koneksyon TCP, li voye pakè SYN ak nimewo sekans inisyal la epi li mande sèvè a pou reponn ak yon pakè ACK ki endike li te resevwa pakè SYN kliyan an avèk siksè. Apre sa, sèvè a voye pakè SYN lan ak nimewo sekans inisyal la bay kliyan an epi li tann kliyan an reponn, yon fwa pou tout, pou asire ke nimewo sekans inisyal yo senkronize yon fason fyab.
Malgre ke yon handshake kat-fason posib tou pou senkronize nimewo sekans inisyal tou de pati yo yon fason fyab, dezyèm ak twazyèm etap yo ka konbine nan yon sèl etap, sa ki bay yon handshake twa-fason. Sepandan, de handshake yo ka sèlman garanti ke nimewo sekans inisyal yon pati a resevwa avèk siksè pa lòt pati a, men pa gen okenn garanti ke nimewo sekans inisyal tou de pati yo ka konfime. Se poutèt sa, handshake twa-fason an se pi bon chwa pou pran pou asire estabilite ak fyab koneksyon TCP yo.
Rezon 3: Evite gaspiye resous yo
Si gen sèlman yon "de-lans", lè demann SYN kliyan an bloke nan rezo a, kliyan an pa ka resevwa pake ACK sèvè a voye a, kidonk SYN nan ap voye ankò. Sepandan, piske pa gen yon twazyèm lans, sèvè a pa ka detèmine si kliyan an te resevwa yon akize resepsyon ACK pou etabli koneksyon an. Kidonk, sèvè a ka sèlman etabli yon koneksyon proactivement apre li fin resevwa chak demann SYN. Sa mennen nan bagay sa yo:
Gaspiyaj resous: Si demann SYN kliyan an bloke, sa ki lakòz transmisyon plizyè pake SYN repete, sèvè a ap etabli plizyè koneksyon redondan ki pa valab apre li fin resevwa demann lan. Sa lakòz yon gaspiyaj resous sèvè ki pa nesesè.
Retansyon mesaj: Akòz absans yon twazyèm handshake, sèvè a pa gen okenn fason pou konnen si kliyan an te resevwa akize resepsyon ACK la kòrèkteman pou etabli koneksyon an. Kòm rezilta, si mesaj yo bloke nan rezo a, kliyan an ap kontinye voye demann SYN plizyè fwa, sa ki lakòz sèvè a toujou ap etabli nouvo koneksyon. Sa ap ogmante konjesyon ak reta rezo a epi afekte pèfòmans jeneral rezo a negatifman.
Se poutèt sa, pou asire estabilite ak fyab koneksyon rezo a, TCP itilize handshake twa-fason pou etabli koneksyon an pou evite pwoblèm sa yo.
Rezime
LaKoutye Pake RezoEtablisman koneksyon TCP a fèt ak yon handshake twa-fason. Pandan handshake twa-fason an, kliyan an premye voye yon pake ak drapo SYN bay sèvè a, ki endike ke li vle etabli yon koneksyon. Apre li fin resevwa demann nan men kliyan an, sèvè a reponn yon pake ak drapo SYN ak ACK bay kliyan an, ki endike ke demann koneksyon an aksepte, epi li voye pwòp nimewo sekans inisyal li. Finalman, kliyan an reponn ak yon drapo ACK bay sèvè a pou endike ke koneksyon an te etabli avèk siksè. Kidonk, de pati yo nan eta ESTABLISHED epi yo ka kòmanse voye done youn bay lòt.
An jeneral, pwosesis handshake twa-fason pou etablisman koneksyon TCP a fèt pou asire estabilite ak fyab koneksyon, evite konfizyon ak gaspiyaj resous sou koneksyon istorik, epi asire ke tou de pati yo kapab resevwa epi voye done.
Dat piblikasyon: 8 janvye 2025