Hoʻonohonoho Hoʻohui TCP
Ke nānā mākou i ka pūnaewele, hoʻouna i leka uila, a pāʻani paha i ka pāʻani pūnaewele, ʻaʻole pinepine mākou e noʻonoʻo i ka pili pūnaewele paʻakikī ma hope o ia. Eia naʻe, ʻo kēia mau ʻanuʻu liʻiliʻi e hōʻoia i ka kamaʻilio paʻa ma waena o mākou a me ke kikowaena. ʻO kekahi o nā ʻanuʻu koʻikoʻi ʻo ia ka hoʻonohonoho pili ʻana i ka TCP, a ʻo ke kumu o kēia ʻo ka lima lima ala ʻekolu.
E kūkākūkā kēia ʻatikala i ke kumu, kaʻina hana a me ke koʻikoʻi o ka lulu lima ʻekolu i nā kikoʻī. ʻO kēlā me kēia ʻanuʻu, e wehewehe mākou i ke kumu e pono ai ka lulu lima ʻekolu, pehea e hōʻoia ai i ka paʻa a me ka hilinaʻi o ka pilina, a me ke ʻano nui o ka hoʻoili ʻikepili. Me ka hoʻomaopopo hohonu ʻana i ka lima lima ala ʻekolu, e loaʻa iā mākou ka ʻike maikaʻi aʻe o nā ʻōnaehana kumu o ke kamaʻilio pūnaewele a me ka ʻike maopopo o ka hilinaʻi o nā pilina TCP.
ʻO ke Kaʻina Lūlima ʻEkolu ala ʻekolu a me nā hoʻololi mokuʻāina
ʻO ka TCP kahi protocol transport e pili ana i ka pilina, e koi ana i ka hoʻokumu ʻana i ka pilina ma mua o ka lawe ʻana i ka ʻikepili. Hana ʻia kēia kaʻina hoʻokumu pili ʻana me ka lulu lima ʻekolu ala.
E nānā pono kākou i nā ʻeke TCP i hoʻouna ʻia ma kēlā me kēia pilina.
I ka hoʻomaka ʻana, ua pani ʻia ka mea kūʻai aku a me ke kikowaena. ʻO ka mea mua, hoʻolohe ikaika ke kikowaena ma kahi awa a aia i ka mokuʻāina LISTEN, ʻo ia hoʻi, pono e hoʻomaka ke kikowaena. Ma hope aʻe, ua mākaukau ka mea kūʻai aku e hoʻomaka e komo i ka ʻaoʻao pūnaewele. Pono e hoʻokumu i kahi pilina me ke kikowaena. ʻO ke ʻano o ka ʻeke pili mua penei:
Ke hoʻomaka ka mea kūʻai aku i kahi pilina, hana ia i kahi helu kaʻina mua maʻamau (client_isn) a waiho iā ia i loko o ke kahua "Sequence Number" o ke poʻo TCP. I ka manawa like, hoʻonohonoho ka mea kūʻai aku i ke kūlana hae SYN i 1 e hōʻike ai he ʻeke SYN ka puka i waho. Hōʻike ka mea kūʻai aku makemake ʻo ia e hoʻokumu i kahi pilina me ke kikowaena ma ka hoʻouna ʻana i ka ʻeke SYN mua i ke kikowaena. ʻAʻole i loko o kēia pūke ka ʻikepili papa noi (ʻo ia hoʻi, ka ʻikepili i hoʻouna ʻia). I kēia manawa, hōʻailona ʻia ke kūlana o ka mea kūʻai aku ʻo SYN-SENT.
Ke loaʻa i kahi kikowaena kahi paʻi SYN mai kahi mea kūʻai aku, hoʻomaka ʻo ia i kāna helu serial (server_isn) a laila kau i kēlā helu ma ka "Serial number" kahua o ke poʻo TCP. A laila, hoʻokomo ke kikowaena i ka client_isn + 1 ma ka "Acknowledgement number" kahua a hoʻonohonoho i nā bits SYN a me ACK i ka 1. ʻO ka hope, hoʻouna ke kikowaena i ka ʻeke i ka mea kūʻai aku, ʻaʻohe ʻikepili palapala noi (a ʻaʻohe ʻikepili no ka server. e hoʻouna). I kēia manawa, aia ke kikowaena ma SYN-RCVD moku'āina.
I ka manawa e loaʻa ai i ka mea kūʻai aku ka ʻeke mai ka kikowaena, pono ia e hana i nā optimizations e pane ai i ka ʻeke pane hope: ʻO ka mua, hoʻonohonoho ka mea kūʻai aku i ka bit ACK o ke poʻo TCP o ka ʻeke pane i 1; ʻO ka lua, hoʻokomo ka mea kūʻai aku i ka waiwai server_isn + 1 ma ke kahua "E hōʻoia i ka helu pane"; ʻO ka hope, hoʻouna ka mea kūʻai aku i ka ʻeke i ke kikowaena. Hiki i kēia ʻeke ke lawe i ka ʻikepili mai ka mea kūʻai aku i ke kikowaena. I ka pau ʻana o kēia mau hana, e komo ka mea kūʻai aku i ka mokuʻāina ESTABLISHED.
I ka manawa e loaʻa ai i ke kikowaena ka ʻeke pane mai ka mea kūʻai aku, e hoʻololi pū ia i ka mokuʻāina ESTABLISHED.
E like me kāu e ʻike ai mai ke kaʻina hana i luna, i ka wā e hana ai i kahi lima lima ala ʻekolu, ʻae ʻia ke kolu o ka lima lima e lawe i ka ʻikepili, akā ʻaʻole nā lima lima mua ʻelua. He nīnau kēia i nīnau pinepine ʻia ma nā nīnauele. Ke hoʻopau ʻia ka lulu lima ʻekolu, e komo nā ʻaoʻao ʻelua i ka mokuʻāina ESTABLISHED, e hōʻike ana ua hoʻokumu maikaʻi ʻia ka pilina, ma ia manawa hiki i ka mea kūʻai aku a me ke kikowaena ke hoʻomaka e hoʻouna i ka ʻikepili i kekahi i kekahi.
No ke aha ʻekolu lulu lima? ʻAʻole ʻelua, ʻehā manawa?
ʻO ka pane maʻamau, "No ka mea, ʻo ka lima lima ala ʻekolu e hōʻoiaʻiʻo i ka hiki ke loaʻa a hoʻouna." Ua pololei kēia pane, akā ʻo ke kumu honua wale nō, ʻaʻole ia e waiho i ke kumu nui. Ma lalo iho nei, e kālailai au i nā kumu o ka lulu lima ʻekolu mai nā ʻaoʻao ʻekolu e hoʻonui ai i ko mākou ʻike no kēia pilikia.
Hiki i ka lima lima ala ʻekolu ke pale maikaʻi i ka hoʻomaka ʻana o nā pilina o ka wā kahiko (ke kumu nui)
ʻO ka lima lima ala ʻekolu e hōʻoiaʻiʻo ai ua loaʻa nā ʻaoʻao ʻelua i kahi helu kaʻina mua hilinaʻi.
ʻO ka lima lima ala ʻekolu e pale i ka hoʻopau ʻana i nā kumuwaiwai.
Ke kumu 1: Hōʻalo i ka hui ʻana i nā Duplicate Historical
I ka pōkole, ʻo ke kumu nui o ka lulu lima ʻekolu ala e pale aku i ka huikau i hoʻokumu ʻia e ka hoʻomaka ʻana o ka hoʻomaka ʻana o ka pilina. I loko o kahi kaiapuni pūnaewele paʻakikī, ʻaʻole i hoʻouna mau ʻia ka hoʻouna ʻana i nā ʻeke ʻikepili i ka mea hoʻokipa e like me ka manawa i ʻōlelo ʻia, a hiki i nā ʻeke ʻikepili kahiko ke hōʻea mua i ka mea hoʻokipa ma muli o ka paʻa o ka pūnaewele a me nā kumu ʻē aʻe. No ka pale ʻana i kēia, hoʻohana ʻo TCP i kahi lima lima ala ʻekolu e hoʻokumu i ka pilina.
Ke hoʻouna aku ka mea kūʻai aku i nā ʻeke hoʻokumu pili SYN he nui i ka holomua, i nā kūlana e like me ka hoʻopaʻa ʻana o ka pūnaewele, hiki mai kēia:
1- Ua hōʻea nā ʻeke SYN kahiko i ke kikowaena ma mua o nā ʻeke SYN hou loa.
2- Na ke kikowaena e pane i kahi ʻeke SYN + ACK i ka mea kūʻai ma hope o ka loaʻa ʻana o ka ʻeke SYN kahiko.
3- Ke loaʻa ka mea kūʻai aku i ka ʻeke SYN + ACK, hoʻoholo ʻo ia he pilina mōʻaukala ka pilina (ka helu o ke kaʻina a i ʻole ka manawa pau) e like me kona pōʻaiapili ponoʻī, a laila hoʻouna i ka ʻeke RST i ke kikowaena e kāpae i ka pilina.
Me ka pili lima lua, ʻaʻohe ala e hoʻoholo ai inā he pilina moʻolelo ka pilina o kēia manawa. ʻO ka lima lima ala ʻekolu e hiki ai i ka mea kūʻai ke hoʻoholo inā he pilina moʻolelo ka pilina o kēia manawa e pili ana i ka pōʻaiapili ke mākaukau ʻo ia e hoʻouna i ke kolu o ka ʻeke:
1- Inā he pilina mōʻaukala ia (ua pau ka helu o ke kaʻina a i ʻole ka manawa pau), ʻo ka ʻeke i hoʻouna ʻia e ke kolu lima lima he ʻeke RST e kāpae i ka pilina mōʻaukala.
2- Inā ʻaʻole ia he pilina mōʻaukala, ʻo ka ʻeke i hoʻouna ʻia no ke kolu o ka manawa he ʻeke ACK, a ua hoʻokumu nā ʻaoʻao ʻelua i ka pilina.
No laila, ʻo ke kumu nui o ka hoʻohana ʻana o TCP i ka lima lima ala ʻekolu, ʻo ia ka hoʻomaka ʻana i ka pilina e pale ai i nā pilina mōʻaukala.
Ke kumu 2: No ka hoʻonohonoho ʻana i nā helu kaʻina mua o nā ʻaoʻao ʻelua
Pono nā ʻaoʻao ʻelua o ka protocol TCP e mālama i kahi helu kaʻina, ʻo ia ke kumu nui e hōʻoia i ka hoʻouna pono ʻana. He koʻikoʻi ko nā helu kaʻina i nā pilina TCP. Hana lākou penei:
Hiki i ka mea hoʻokipa ke hoʻopau i ka ʻikepili pālua a hōʻoia i ka pololei o ka ʻikepili.
Hiki i ka mea hoʻokipa ke loaʻa nā ʻeke ma ke ʻano o ka helu kaʻina e hōʻoia i ka pono o ka ʻikepili.
● Hiki i ka helu kaʻina ke hoʻomaopopo i ka ʻeke ʻikepili i loaʻa i ka ʻaoʻao ʻē aʻe, e hiki ai i ka hoʻouna ʻikepili hilinaʻi.
No laila, ma ka hoʻokumu ʻana i kahi pilina TCP, hoʻouna ka mea kūʻai aku i nā ʻeke SYN me ka helu kaʻina mua a koi i ke kikowaena e pane me kahi ʻeke ACK e hōʻike ana i ka hoʻokipa maikaʻi ʻana i ka ʻeke SYN o ka mea kūʻai. A laila, hoʻouna ke kikowaena i ka ʻeke SYN me ka helu kaʻina mua i ka mea kūʻai aku a kali i ka pane ʻana o ka mea kūʻai aku, hoʻokahi a no nā mea āpau, e hōʻoia i ka hoʻonohonoho pono ʻana o nā helu kaʻina mua.
ʻOiai e hiki nō hoʻi i ka lulu lima ʻehā ke hoʻonohonoho pono i nā helu kaʻina mua o nā ʻaoʻao ʻelua, hiki ke hoʻohui ʻia nā ʻanuʻu ʻelua a me ke kolu i hoʻokahi ʻanuʻu, e hopena i kahi lulu lima ala ʻekolu. Eia nō naʻe, hiki i nā lulu lima ʻelua ke hōʻoiaʻiʻo i ka loaʻa ʻana o ka helu kaʻina mua o kekahi ʻaoʻao e ka ʻaoʻao ʻē aʻe, akā ʻaʻohe mea hōʻoia e hiki ke hōʻoia i ka helu kaʻina mua o nā ʻaoʻao ʻelua. No laila, ʻo ka lima lima ala ʻekolu ke koho maikaʻi loa e lawe i mea e hōʻoia ai i ka paʻa a me ka hilinaʻi o nā pilina TCP.
Ke kumu 3: E hōʻalo i ka hoʻopau ʻana i nā kumuwaiwai
Inā he "lua-lima" wale nō, i ka wā i kāohiʻia ai ka noi SYN o ka mea kūʻai aku ma ka pūnaewele,ʻaʻole hiki i ka mea kūʻai ke loaʻa ka paʻi ACK i hoʻounaʻia e ke kikowaena, no laila e huhū ka SYN. Eia naʻe, ʻoiai ʻaʻohe lua lima lima, ʻaʻole hiki i ke kikowaena ke hoʻoholo inā loaʻa i ka mea kūʻai aku kahi hōʻoia ACK e hoʻokumu i ka pilina. No laila, hiki i ke kikowaena ke hoʻokumu i kahi pilina ma hope o ka loaʻa ʻana o kēlā me kēia noi SYN. Ke alakaʻi nei kēia i kēia mau mea:
Hoʻopau i nā kumuwaiwai: Inā pāpā ʻia ka noi SYN a ka mea kūʻai aku, e hopena i ka hoʻouna pinepine ʻana i nā ʻeke SYN he nui, e hoʻokumu ke kikowaena i nā pilina hewa ʻole ma hope o ka loaʻa ʻana o ke noi. Ke alakaʻi nei kēia i ka hoʻopau pono ʻole o nā kumuwaiwai kikowaena.
Ka mālama ʻana i nā memo: Ma muli o ka nele o ke kolu o ka lulu lima, ʻaʻohe ala o ke kikowaena e ʻike ai inā loaʻa pololei ka mea kūʻai aku i ka ʻae ACK e hoʻokumu i ka pilina. ʻO ka hopena, inā paʻa nā memo i ka pūnaewele, e hoʻouna mau ana ka mea kūʻai aku i nā noi SYN, e hoʻokumu mau ana ka server i nā pilina hou. E hoʻonui kēia i ka hoʻopaʻa ʻana a me ka hoʻopaneʻe a hoʻopilikia i ka hana holoʻokoʻa.
No laila, i mea e hōʻoiaʻiʻo ai i ka paʻa a me ka hilinaʻi o ka pilina pūnaewele, hoʻohana ʻo TCP i ka lima lima ala ʻekolu e hoʻokumu i ka pilina e pale aku i ka hiki ʻana mai o kēia mau pilikia.
Hōʻuluʻulu manaʻo
ʻO kaMea Hoʻolaha Puke PūnaeweleHana ʻia ka hoʻokumu ʻana i ka pilina TCP me kahi lulu lima ʻekolu ala. I loko o ka lima lima ala ʻekolu, hoʻouna mua ka mea kūʻai aku i kahi ʻeke me ka hae SYN i ke kikowaena, e hōʻike ana e makemake ana e hoʻokumu i kahi pilina. Ma hope o ka loaʻa ʻana o ka noi mai ka mea kūʻai aku, pane ke kikowaena i kahi ʻeke me nā hae SYN a me ACK i ka mea kūʻai aku, e hōʻike ana ua ʻae ʻia ka noi pili, a hoʻouna i kāna helu kaʻina mua. ʻO ka hope, pane ka mea kūʻai aku me kahi hae ACK i ke kikowaena e hōʻike i ka hoʻokumu pono ʻana o ka pilina. No laila, aia nā ʻaoʻao ʻelua i ka mokuʻāina ESTABLISHED a hiki ke hoʻomaka e hoʻouna i ka ʻikepili i kekahi i kekahi.
Ma keʻano laulā, ua hoʻolālā ʻia ke kaʻina hana lima lima ʻekolu no ka hoʻokumu ʻana i ka pilina TCP e hōʻoia i ka paʻa a me ka hilinaʻi o ka pilina, e pale i ka huikau a me ka hoʻonele ʻana i nā kumuwaiwai ma luna o nā pilina mōʻaukala, a e hōʻoia i hiki i nā ʻaoʻao ʻelua ke loaʻa a hoʻouna i ka ʻikepili.
Ka manawa hoʻouna: Jan-08-2025