Zvakavanzika Zvakavanzika zveNetwork Packet Broker TCP Mabatanidza: Demystified kudiwa kweTtatu Handshake

TCP Connection Setup
Kana isu tichitsvaga pawebhu, kutumira email, kana kutamba mutambo wepamhepo, isu hatiwanzo funga nezve kunetsa kwe network kuseri kwayo. Nekudaro, aya matanho anoita sediki anovimbisa kugadzikana kutaurirana pakati pedu neserver. Imwe yematanho akanyanya kukosha ndeye TCP yekubatanidza setup, uye musimboti weiyi nzira nhatu kubata maoko.

Ichi chinyorwa chichakurukura musimboti, maitiro uye kukosha kweiyo nzira nhatu kubata maoko zvakadzama. Nhanho nhanho, isu tichatsanangura kuti sei nzira-nhatu kukwazisana ichidikanwa, sei inovimbisa kugadzikana kwekubatana uye kuvimbika, uye kukosha kwazvakaita pakufambisa data. Nekunzwisisa kwakadzama kwenzira nhatu dzekubata maoko, tichawana kunzwisisa kuri nani kwemaitiro epasi ekukurukurirana kwetiweki uye nekuona kwakajeka kwekuvimbika kweTCP kubatana.

TCP Matatu-nzira Handshake Maitiro uye State Transitions
TCP inobatanidza-yakatarisana yekufambisa protocol, inoda kugadzwa kwekubatanidza isati yafambiswa data. Iyi nzira yekumisikidzwa kwekubatanidza inoitwa nenhatu-nzira kubata maoko.

 TCP-nzira nhatu kubata maoko

Ngatitarisei zvakanyanya paTCP mapaketi anotumirwa mune yega yega kubatana.

Pakutanga, zvese mutengi uye sevha AKAFUNGWA. Kutanga, sevha inoteerera pachiteshi uye iri mu LISTEN state, zvinoreva kuti sevha inofanira kutangwa. Tevere, mutengi akagadzirira kutanga kuwana peji rewebhu.Inoda kumisikidza kubatana neserver. Iyo fomati yekutanga yekubatanidza packet ndeiyi inotevera:

 SYN Packet

Kana mutengi atanga kubatana, inogadzira nhamba yekutanga yekutevedzana (client_isn) uye inoiisa mu "Sequence nhamba" ndima yeTCP musoro. Panguva imwecheteyo, mutengi anoseta iyo SYN mureza chinzvimbo kune 1 kuratidza kuti inobuda packet iSYN packet. Mutengi anoratidza kuti inoda kumisa chinongedzo nesevha nekutumira yekutanga SYN packet kune server. Iyi pakiti haina data layer data (kureva kuti, data rakatumirwa). Panguva ino, chimiro chemutengi chakanyorwa seSYN-SENT.

SYN+ACK Packet

Kana sevha ikagamuchira SYN packet kubva kune mutengi, inongotanga iyo yega serial nhamba (server_isn) uye yoisa iyo nhamba mu "Serial nhamba" munda weTCP musoro. Zvadaro, sevha inopinda mutengi_isn + 1 mu "Nhamba yeKubvuma" munda uye inogadzirisa zvose SYN uye ACK bits ku 1. Pakupedzisira, sevha inotumira pakiti kumutengi, iyo isina data-layer data (uye isina data ye server. kutumira). Panguva ino, sevha iri muSYN-RCVD mamiriro.

ACK Packet

Kana mutengi achinge agamuchira pakiti kubva kune server, inoda kuita zvinotevera optimizations kuti ipindure kune yekupedzisira mhinduro pakiti: Kutanga, mutengi anoseta ACK bit yeTCP musoro wepaketi yekupindura ku1; Chechipiri, mutengi anopinda kukosha server_isn + 1 mu "Simbisa mhinduro nhamba" ndima; Pakupedzisira, mutengi anotumira pakiti kune server. Iyi pakiti inogona kutakura data kubva kumutengi kuenda kune server. Kana wapedza mabasa aya, mutengi achapinda ESTABLISHED state.

Kamwe sevha yagamuchira mhinduro pakiti kubva kumutengi, inoshandurawo kune iyo ESTABLISHED state.

Sezvaunogona kuona kubva pamusoro pekuita, kana uchiita nzira nhatu-ruoko, kubata maoko kwechitatu kunobvumirwa kutakura data, asi maoko maviri ekutanga haasi. Uyu mubvunzo unowanzo bvunzwa mubvunzurudzo. Kamwe kubatwa kwemaoko-matatu kwapera, mapato ese ari maviri anopinda mu ESTABLISHED state, zvichiratidza kuti kubatana kwave kwakagadziriswa, panguva iyo mutengi uye server vanogona kutanga kutumira data kune mumwe nemumwe.

Sei kubata maoko katatu? Kwete kaviri, kana kana?
Mhinduro yakajairika ndeyekuti, "Nekuti kukwazisana kwenzira nhatu kunovimbisa kugona kugamuchira nekutumira." Mhinduro iyi ndeyechokwadi, asi ingori chikonzero chepamusoro chete, haibudisi chikonzero chikuru. Mune zvinotevera, ini ndichaongorora zvikonzero zvekukwazisana katatu kubva pazvinhu zvitatu kudzamisa kunzwisisa kwedu kwenyaya iyi.

Kubata maoko kwenzira nhatu kunogona kunyatso dzivirira kutanga kwenhoroondo yakadzokororwa kubatana (chikonzero chikuru)
Kubata maoko kwenzira nhatu kunovimbisa kuti mapato ese awana yakavimbika yekutanga kutevedzana nhamba.
Kubatana kwenzira nhatu kunodzivirira kutambisa zviwanikwa.

Chikonzero 1: Dzivisa Historical Duplicate Joins
Muchidimbu, chikonzero chikuru chekukwazisana kwenzira nhatu ndechekudzivirira kuvhiringidzika kunokonzerwa neiyo yekare dhizaini yekubatanidza yekutanga. Munzvimbo yakaoma yetiweki, kutapurirana kwepaketi yedata hakutumirwe nguva dzose kumugadziri wekuenda zvinoenderana nenguva yakatarwa, uye mapaketi ekare edata anogona kusvika kunzvimbo yekuenda kutanga nekuda kwekusangana kwetiweki uye zvimwe zvikonzero. Kuti udzivise izvi, TCP inoshandisa nzira-nhatu kubata maoko kumisikidza kubatana.

kukwazisana kwenzira nhatu kunodzivirira kubatana kwakafanana kwenhoroondo

Kana mutengi achitumira akawanda SYN yekubatanidza yekumisikidza mapaketi achiteedzana, mumamiriro ezvinhu akadai sekusangana kwenetiweki, zvinotevera zvinogona kuitika:

1- Mapaketi ekare eSYN anosvika pasevha pamberi peazvino maSYN mapaketi.
2- Sevha inopindura SYN + ACK pakiti kumutengi mushure mekugamuchira yekare SYN packet.
3- Kana mutengi agamuchira iyo SYN + ACK packet, inoona kuti kubatana kwakabatana kwenhoroondo (nhamba yekutevedzana yakapera kana nguva yekupera) zvinoenderana nemamiriro ayo, uye wozotumira iyo RST packet kune server kuti ibvise kubatana.

Nekubatana kwemaoko maviri-maoko, hapana nzira yekuziva kana iko iko iko iko kubatana kwenhoroondo. Kubata maoko kwenzira nhatu kunobvumira mutengi kuti aone kana kubatana kwazvino inhoroondo yekubatana zvichienderana nemamiriro ezvinhu kana yagadzirira kutumira packet yechitatu:

1- Kana iri nhoroondo yekubatana (nhamba yekutevedzana yapera kana nguva yapera), packet inotumirwa nechitatu handshake ipakiti yeRST yekubvisa nhoroondo yekubatana.
2- Kana isiri nhoroondo yekubatana, pakiti yakatumirwa kechitatu ipakiti yeACK, uye mapato maviri anotaurirana akabudirira kusimbisa kubatana.

Naizvozvo, chikonzero chikuru icho TCP inoshandisa nzira nhatu-kukwazisana maoko ndechekuti inotangisa kubatana kudzivirira nhoroondo yekubatana.

Chikonzero 2: Kuwiriranisa nhamba dzekutanga dzemapato ese ari maviri
Mativi ese ari maviri eTCP protocol anofanirwa kuchengetedza nhamba yekutevedzana, inova chinhu chakakosha kuti uve nechokwadi chekutapurirana kwakavimbika. Nhamba dzekutevedzana dzinoita basa rakakosha mukubatana kweTCP.Vanoita zvinotevera:

Iye anogamuchira anogona kubvisa zvakapetwa data uye kuve nechokwadi chechokwadi cheiyo data.

Iye anogamuchira anogona kugamuchira mapaketi mukurongeka kwenhamba yekutevedzana kuti ave nechokwadi chekuvimbika kwedata.

● Nhamba yekutevedzana inogona kuziva pakiti yedata yakagamuchirwa neimwe bato, ichigonesa kutapurirana data kwakavimbika.

Naizvozvo, pakuisa TCP yekubatanidza, mutengi anotumira SYN mapaketi nenhamba yekutanga kutevedzana uye inoda kuti sevha ipindure neACK packet inoratidza kugamuchirwa kwakabudirira kweSYN packet yemutengi. Zvadaro, sevha inotumira SYN packet nenhamba yekutanga yekutevedzana kune mutengi uye inomirira kuti mutengi apindure, kamwechete kwenguva dzose, kuti ave nechokwadi chokuti nhamba dzekutanga dzakatevedzana dzakanyatsoenderana.

Batanidza nhamba dzekutanga dzemapato maviri

Kunyange zvazvo kubata maoko kwenzira ina kuchigonekawo kuwiriranisa zvakavimbika nhamba dzekutanga dzemapato ese ari maviri, nhanho yechipiri neyechitatu inogona kusanganiswa kuita nhanho imwe chete, zvichikonzera kubata kwemaoko matatu-nzira. Zvisinei, kubata maoko kuviri kunogona chete kuvimbisa kuti nhamba yekutanga yekutevedzana yebato rimwe inogamuchirwa zvinobudirira nerimwe bato, asi hapana vimbiso yekuti nhamba yekutanga yekutevedzana yemapato maviri inogona kusimbiswa. Naizvozvo, nzira nhatu-kukwazisana maoko ndiyo yakanakisa sarudzo yekutora kuitira kuve nechokwadi kugadzikana uye kuvimbika kwekubatana kweTCP.

Chikonzero 3: Dzivisa Kupambadza Zviwanikwa
Kana paine chete "kubatwa-maoko maviri", kana mutengi SYN chikumbiro chakavharwa munetiweki, mutengi haagone kugamuchira ACK packet inotumirwa neserver, saka iyo SYN inozopokana. Nekudaro, sezvo pasina kubatwa ruoko kwechitatu, sevha haigone kuona kana mutengi akagamuchira ACK kubvuma kumisikidza kubatana. Naizvozvo, sevha inongokwanisa kumisa chinongedzo mushure mekutambira yega yega SYN chikumbiro. Izvi zvinotungamirira kune zvinotevera:

Kuraswa kwezviwanikwa: Kana chikumbiro cheSYN chemutengi chakavharwa, zvichikonzera kudzokororwa kutapurirana kweakawanda SYN mapakeji, sevha inomisa akawanda akawandisa asina basa ekubatanidza mushure mekugamuchira chikumbiro. Izvi zvinotungamirira kumarara asina kufanira evhavha zviwanikwa.

Kuchengeta meseji: Nekuda kwekushayikwa kwekukwazisana kwechitatu, sevha haina nzira yekuziva kuti mutengi akagamuchira nemazvo here kubvuma kweACK kuti atange kubatana. Nekuda kweizvozvo, kana mameseji akanamira munetiweki, mutengi anoramba achitumira zvikumbiro zveSYN kakawanda, zvichiita kuti sevha igare yakagadzira hukama hutsva. Izvi zvichawedzera kusangana kwenetiweki uye kunonoka uye zvinokanganisa kuita kwese network.

Dzivisa kupambadza zviwanikwa

Nokudaro, kuitira kuti tive nechokwadi chekugadzikana uye kuvimbika kwekubatana kwetiweki, TCP inoshandisa nzira-nhatu kubata maoko kuti igadzirise kubatana kudzivirira kuitika kwezvinetso izvi.

Summary
TheNetwork Packet BrokerTCP yekubatanidza kumisikidzwa inoitwa neatatu-nzira kubata ruoko. Munguva yenzira nhatu dzekubata maoko, mutengi anotanga kutumira pakiti ine SYN mureza kune server, zvichiratidza kuti inoda kumisa chinongedzo. Mushure mekugamuchira chikumbiro kubva kumutengi, sevha inopindura pakiti ine SYN uye ACK mireza kune mutengi, zvichiratidza kuti chikumbiro chekubatanidza chinogamuchirwa, uye inotumira yayo yekutanga kutevedzana nhamba. Pakupedzisira, mutengi anopindura ne ACK mureza kune server kuratidza kuti kubatana kwave kusimbiswa. Saka, mapato maviri ari mu ESTABLISHED state uye anogona kutanga kutumira data kune mumwe nemumwe.

Kazhinji, nzira nhatu dzekubata maoko kweTCP yekumisikidzwa kwekubatanidza dzakagadzirirwa kuve nechokwadi chekubatanidza kugadzikana uye kuvimbika, kudzivirira kuvhiringidzika uye kutambisa zviwanikwa pamusoro pekubatana kwenhoroondo, uye kuona kuti mapato ese ari maviri anokwanisa kugamuchira uye kutumira data.


Nguva yekutumira: Jan-08-2025