ʻO ka mea kaua huna a TCP: Ka Mana Hoʻokele Pūnaewele a me ka Mana Hoʻokele Paʻa Pūnaewele

Ka Halihali Hilinaʻi TCP
Ua kamaʻāina mākou a pau i ka protocol TCP ma ke ʻano he protocol halihali hilinaʻi, akā pehea lā e hōʻoia ai i ka hilinaʻi o ka halihali?

I mea e hoʻokō ai i ka hoʻoili hilinaʻi, pono e noʻonoʻo ʻia nā kumu he nui, e like me ka palaho ʻikepili, ka nalowale, ka hana pālua, a me nā ʻāpana i waho o ke kaʻina. Inā ʻaʻole hiki ke hoʻoponopono ʻia kēia mau pilikia, ʻaʻole hiki ke hoʻokō ʻia ka hoʻoili hilinaʻi.

No laila, hoʻohana ʻo TCP i nā ʻano hana e like me ka helu kaʻina, ka pane ʻae, ka mana hoʻouna hou, ka hoʻokele pili, a me ka mana puka makani e hoʻokō ai i ka hoʻoili hilinaʻi.

Ma kēia pepa, e kālele ana mākou i ka puka makani paheʻe, ka kaohi kahe a me ka kaohi ʻana i ka paʻa ʻana o TCP. Ua uhi ʻokoʻa ʻia ke ʻano hoʻoili hou ʻana ma ka ʻāpana aʻe.

Ka Mana Hoʻokele Kahe Pūnaewele
ʻO ka Network Flow Control a i ʻike ʻia ʻo Network Traffic Control he hōʻike maoli ia o ka pilina maalea ma waena o nā mea hana a me nā mea kūʻai aku. Ua hālāwai pinepine paha ʻoe me kēia hiʻohiʻona ma ka hana a i ʻole ma nā nīnauele. Inā ʻoi aku ka nui o ka hiki o ka mea hana ke hana ma mua o ka hiki o ka mea kūʻai ke hoʻopau, e hoʻonui mau ʻia ka laina. I kahi hihia koʻikoʻi, ʻike paha ʻoe i ka wā e hōʻiliʻili nui ai nā leka RabbitMQ, hiki ke hoʻohaʻahaʻa i ka hana o ke kikowaena MQ holoʻokoʻa. Pēlā nō hoʻi no TCP; inā waiho ʻole ʻia, e hoʻokomo ʻia nā leka he nui i loko o ka pūnaewele, a ua ʻoi aku ka nui o nā mea kūʻai aku ma mua o ko lākou hiki, ʻoiai e hoʻomau nā mea hana i ka hoʻouna ʻana i nā leka pālua, kahi e hoʻopilikia nui ai i ka hana o ka pūnaewele.

No ka hoʻoponopono ʻana i kēia hanana, hāʻawi ʻo TCP i kahi ʻano hana no ka mea hoʻouna e kāohi i ka nui o ka ʻikepili i hoʻouna ʻia ma muli o ka hiki ke loaʻa maoli o ka mea loaʻa, i ʻike ʻia ʻo ke kaohi kahe. Mālama ka mea loaʻa i kahi puka makani loaʻa, ʻoiai mālama ka mea hoʻouna i kahi puka makani hoʻouna. Pono e hoʻomaopopo ʻia ʻo kēia mau Windows no hoʻokahi pilina TCP wale nō a ʻaʻole nā ​​​​pilina āpau e kaʻana like i kahi puka makani.

Hāʻawi ʻo TCP i ka mana kahe ma ka hoʻohana ʻana i kahi loli no ka puka makani loaʻa. Hāʻawi ka puka makani loaʻa i ka mea hoʻouna i kahi hōʻailona o ka nui o ka wahi cache i loaʻa. Hoʻomalu ka mea hoʻouna i ka nui o ka ʻikepili i hoʻouna ʻia e like me ka hiki ke ʻae maoli o ka mea loaʻa.

Hoʻomaopopo ka mea hoʻokipa i ka mea hoʻouna i ka nui o ka ʻikepili hiki iā ia ke loaʻa, a hoʻouna ka mea hoʻouna a hiki i kēia palena. ʻO kēia palena ka nui o ka puka makani, e hoʻomanaʻo i ke poʻomanaʻo TCP? Aia kahi kahua puka makani loaʻa, i hoʻohana ʻia e hōʻike i ka helu o nā bytes hiki i ka mea hoʻokipa a makemake paha e loaʻa.

E hoʻouna pinepine ka mea hoʻokipa hoʻouna i kahi pākēkē puka makani, kahi e hoʻohana ʻia e ʻike inā hiki i ka mea hoʻokipa mea hoʻokipa ke ʻae i ka ʻikepili. Ke pilikia ka buffer o ka mea hoʻokipa i ka piha ʻana, ua hoʻonohonoho ʻia ka nui o ka puka makani i kahi waiwai liʻiliʻi e kuhikuhi i ka mea hoʻouna e kāohi i ka nui o ka ʻikepili i hoʻouna ʻia.

Eia kahi kiʻikuhi Mana Kahe Pūnaewele:

Ka Mana Kaʻahele

Ka Mana Hoʻopaʻa Pūnaewele
Ma mua o ka hoʻolauna ʻana i ka kaohi ʻana i ka congestion, pono mākou e hoʻomaopopo he ʻokoʻa ka puka makani loaʻa a me ka puka makani hoʻouna, aia kekahi puka makani congestion, kahi i hoʻohana nui ʻia e hoʻoponopono i ka pilikia o ka wikiwiki o ka hoʻomaka ʻana o ka mea hoʻouna e hoʻouna i ka ʻikepili i ka puka makani loaʻa. No laila, mālama ʻia ka puka makani congestion e ka mea hoʻouna TCP. Pono mākou i kahi algorithm e hoʻoholo ai i ka nui o ka ʻikepili kūpono e hoʻouna, ʻoiai ʻaʻole kūpono ka hoʻouna ʻana i ka ʻikepili liʻiliʻi a nui paha, no laila ke kumumanaʻo o ka puka makani congestion.

Ma ke kaohi kahe pūnaewele ma mua, ʻo ka mea a mākou i pale aku ai, ʻo ia ka hoʻopiha ʻana o ka mea hoʻouna i ka cache o ka mea loaʻa me ka ʻikepili, akā ʻaʻole mākou i ʻike i ka mea e hana nei ma ka pūnaewele. ʻO ka maʻamau, aia nā pūnaewele kamepiula i loko o kahi ʻano i kaʻana like ʻia. ʻO ka hopena, aia paha ka paʻa ʻana o ka pūnaewele ma muli o ke kamaʻilio ʻana ma waena o nā kikowaena ʻē aʻe.

Ke paʻa ka pūnaewele, inā hoʻomau ʻia ka hoʻouna ʻana i ka nui o nā packets, hiki ke hana i nā pilikia e like me ka lohi a me ka nalowale o nā packets. I kēia manawa, e hoʻouna hou ʻo TCP i ka ʻikepili, akā e hoʻonui ka hoʻouna hou ʻana i ke kaumaha ma ka pūnaewele, e hopena ana i nā lohi nui a me nā pohō packet hou aʻe. Hiki i kēia ke komo i loko o kahi pōʻai ʻino a hoʻomau i ka nui.

No laila, ʻaʻole hiki iā TCP ke hoʻowahāwahā i nā mea e hana nei ma ka pūnaewele. Ke paʻa ka pūnaewele, hoʻokupu ʻo TCP iā ia iho ma ka hōʻemi ʻana i ka nui o ka ʻikepili āna e hoʻouna ai.

No laila, ua manaʻo ʻia ka kaohi ʻana i ka paʻa ʻana o ka pūnaewele, ʻo ia hoʻi ka manaʻo e pale aku i ka hoʻopiha ʻana i ka pūnaewele holoʻokoʻa me ka ʻikepili mai ka mea hoʻouna. No ka hoʻoponopono ʻana i ka nui o ka ʻikepili a ka mea hoʻouna e hoʻouna ai, wehewehe ʻo TCP i kahi manaʻo i kapa ʻia ʻo ka puka makani paʻa. E hoʻoponopono ka algorithm kaohi ʻana i ka paʻa ʻana i ka nui o ka puka makani paʻa e like me ke kekelē o ka paʻa ʻana o ka pūnaewele, i mea e kaohi ai i ka nui o ka ʻikepili i hoʻouna ʻia e ka mea hoʻouna.

He aha ka puka makani paʻa? He aha ka pilina o kēia me ka puka makani hoʻouna?

ʻO ka Congestion Window kahi loli kūlana i mālama ʻia e ka mea hoʻouna e hoʻoholo ai i ka nui o ka ʻikepili e hiki i ka mea hoʻouna ke hoʻouna. Hoʻololi ka puka makani congestion e like me ka pae congestion o ka pūnaewele.

ʻO ka Puka Hoʻouna he nui puka makani i ʻaelike ʻia ma waena o ka mea hoʻouna a me ka mea loaʻa e hōʻike ana i ka nui o ka ʻikepili hiki i ka mea loaʻa ke loaʻa. Pili ka puka makani congestion a me ka puka makani hoʻouna; ʻo ka puka makani hoʻouna e like me ka liʻiliʻi loa o ka congestion a me ka loaʻa ʻana o nā puka makani, ʻo ia hoʻi, swnd = min(cwnd, rwnd).

Hoʻololi ka puka makani congestion penei:

Inā ʻaʻohe congestion i loko o ka pūnaewele, ʻo ia hoʻi, ʻaʻohe retransmission timeout e hana ʻia, piʻi aʻe ka puka makani congestion.

Inā he paʻa ka pūnaewele, e emi iho ana ka puka makani paʻa.

Hoʻoholo ka mea hoʻouna inā ua paʻa ka pūnaewele ma ka nānā ʻana inā ua loaʻa ka pūʻolo hōʻoia ACK i loko o ka manawa i kuhikuhi ʻia. Inā ʻaʻole i loaʻa i ka mea hoʻouna ka pūʻolo hōʻoia ACK i loko o ka manawa i kuhikuhi ʻia, ua manaʻo ʻia ua paʻa ka pūnaewele.

Ma waho aʻe o ka puka makani congestion, ua hiki i ka manawa e kūkākūkā ai i ka algorithm kaohi congestion TCP. ʻEkolu mau ʻāpana nui o ka algorithm kaohi congestion TCP:

Hoʻomaka lohi:I ka wā mua, he liʻiliʻi ka puka makani congestion cwnd, a hoʻonui nui ka mea hoʻouna i ka puka makani congestion e hoʻololi koke i ka hiki o ka pūnaewele.
Ka pale ʻana i ka paʻa ʻana o ka ʻōpū:Ma hope o ka hala ʻana o ka puka makani congestion ma mua o kahi paepae, hoʻonui ka mea hoʻouna i ka puka makani congestion ma ke ʻano linear e hoʻolohi i ka ulu ʻana o ka puka makani congestion a pale i ka hoʻouka nui ʻana i ka pūnaewele.
Hoʻōla wikiwiki:Inā kū ka paʻa ʻana, hoʻokaʻawale ka mea hoʻouna i ka puka makani paʻa a komo i ke kūlana hoʻōla wikiwiki e hoʻoholo ai i kahi o ka hoʻōla pūnaewele ma o nā acks pālua i loaʻa, a laila hoʻomau i ka hoʻonui ʻana i ka puka makani paʻa.

Hoʻomaka lohi
Ke hoʻokumu ʻia kahi pilina TCP, ua hoʻonohonoho mua ʻia ka cwnd pukaaniani congestion i kahi waiwai MSS (maximum segment size). Ma kēia ʻano, ʻo ka helu hoʻouna mua ma kahi o MSS/RTT bytes/kekona. ʻOi aku ka nui o ka bandwidth i loaʻa ma mua o MSS/RTT, no laila makemake ʻo TCP e ʻimi i ka helu hoʻouna kūpono, hiki ke hoʻokō ʻia ma o ka hoʻomaka lohi.

I ke kaʻina hana hoʻomaka lohi, e hoʻomaka ʻia ka waiwai o ka puka makani congestion cwnd i 1 MSS, a i kēlā me kēia manawa e ʻae ʻia ai ka ʻāpana packet i hoʻouna ʻia, e hoʻonui ʻia ka waiwai o cwnd e hoʻokahi MSS, ʻo ia hoʻi, e lilo ka waiwai o cwnd i 2 MSS. Ma hope o kēlā, ua pāpālua ʻia ka waiwai o cwnd no kēlā me kēia hoʻouna kūleʻa o kahi ʻāpana packet, a pēlā aku. Hōʻike ʻia ke kaʻina hana ulu kikoʻī ma ke kiʻi aʻe.

 Ka hoʻokele ʻana i ka paʻa ʻana o ka pūnaewele

Eia nō naʻe, ʻaʻole hiki ke ulu mau ka nui o ka hoʻouna ʻana; pono e pau ka ulu ʻana i kekahi manawa. No laila, i ka manawa hea e pau ai ka piʻi ʻana o ka nui o ka hoʻouna ʻana? ʻO ka hoʻomaka lohi ka mea maʻamau e hoʻopau i ka piʻi ʻana o ka nui o ka hoʻouna ʻana ma kekahi o nā ʻano:

ʻO ke ala mua, ʻo ia ke ʻano o ka nalowale o ka packet i ka wā o ke kaʻina hoʻouna ʻana o ka hoʻomaka lohi. Ke loaʻa ka nalowale o ka packet, hoʻonohonoho ʻo TCP i ka puka makani congestion cwnd o ka mea hoʻouna i 1 a hoʻomaka hou i ke kaʻina hoʻomaka lohi. I kēia manawa, hoʻolauna ʻia kahi manaʻo o ka paepae hoʻomaka lohi ssthresh, nona ka waiwai mua he hapalua o ka waiwai o cwnd e hoʻoulu ai i ka nalowale o ka packet. ʻO ia hoʻi, ke ʻike ʻia ka congestion, ʻo ka waiwai o ssthresh he hapalua o ka waiwai o ka puka makani.

ʻO ke ala ʻelua, ʻo ia ke hoʻopili pololei ʻana me ka waiwai o ka paepae hoʻomaka lohi ssthresh. ʻOiai ʻo ka waiwai o ssthresh ka hapalua o ka waiwai puka makani ke ʻike ʻia ka paʻa ʻana, hiki ke loaʻa ka nalowale o ka packet me kēlā me kēia pālua ʻana ke ʻoi aku ka nui o cwnd ma mua o ssthresh. No laila, ʻoi aku ka maikaʻi o ka hoʻonohonoho ʻana iā cwnd i ssthresh, kahi e hoʻololi ai iā TCP i ke ʻano kaohi paʻa a hoʻopau i ka hoʻomaka lohi.

ʻO ke ala hope loa e hiki ai i ka hoʻomaka lohi ke hoʻopau, ʻo ia ka ʻike ʻia ʻana o ʻekolu mau acks redundant, hana ʻo TCP i kahi retransmission wikiwiki a komo i ke kūlana hoʻōla. (Inā ʻaʻole maopopo ke kumu he ʻekolu mau pūʻolo ACK, e wehewehe ʻokoʻa ʻia ma ke ʻano retransmission.)

Ka pale ʻana i ka paʻa ʻana
Ke komo ʻo TCP i ke kūlana kaohi congestion, ua hoʻonohonoho ʻia ʻo cwnd i ka hapalua o ka paepae congestion ssthresh. ʻO ke ʻano kēia, ʻaʻole hiki ke pāpālua ʻia ka waiwai o cwnd i kēlā me kēia manawa e loaʻa ai kahi ʻāpana packet. Akā, ua hoʻohana ʻia kahi ʻano mālama pono kahi e hoʻonui ʻia ai ka waiwai o cwnd e hoʻokahi MSS wale nō (ka lōʻihi o ka ʻāpana packet kiʻekiʻe) ma hope o ka pau ʻana o kēlā me kēia hoʻouna ʻana. No ka laʻana, inā ʻae ʻia he 10 mau ʻāpana packet, e hoʻonui wale ʻia ka waiwai o cwnd e hoʻokahi MSS. He kumu hoʻohālike ulu linear kēia a he palena kiʻekiʻe hoʻi kona ma ka ulu ʻana. Ke hiki mai ka nalowale o ka packet, ua hoʻololi ʻia ka waiwai o cwnd i kahi MSS, a ua hoʻonohonoho ʻia ka waiwai o ssthresh i ka hapalua o cwnd. A i ʻole e hoʻōki pū ia i ka ulu ʻana o MSS ke loaʻa nā pane ACK redundant 3. Inā loaʻa mau ʻekolu mau acks redundant ma hope o ka hapalua ʻana o ka waiwai o cwnd, ua hoʻopaʻa ʻia ka waiwai o ssthresh ma ke ʻano he hapalua o ka waiwai o cwnd a ua hoʻokomo ʻia ke kūlana hoʻōla wikiwiki.

Hoʻōla wikiwiki
Ma ke kūlana Hoʻōla wikiwiki, ua hoʻonui ʻia ka waiwai o ka puka makani congestion e hoʻokahi MSS no kēlā me kēia ACK redundant i loaʻa, ʻo ia hoʻi, ʻo ACK i hōʻea ʻole mai ma ke kaʻina. ʻO kēia ke hoʻohana ʻana i nā ʻāpana packet i hoʻouna pono ʻia ma ka pūnaewele e hoʻomaikaʻi i ka pono o ka hoʻoili ʻana i ka hiki.

Ke hiki mai kahi ACK o ka ʻāpana packet nalowale, hoʻemi ʻo TCP i ka waiwai o cwnd a laila komo i ke kūlana pale ʻana i ka congestion. ʻO kēia ke kāohi i ka nui o ka puka makani congestion a pale aku i ka hoʻonui hou ʻana i ka congestion pūnaewele.

Inā loaʻa kahi manawa pau ma hope o ke kūlana kaohi ʻana i ka congestion, lilo ke kūlana pūnaewele i mea koʻikoʻi a neʻe ʻo TCP mai ke kūlana pale ʻana i ka congestion i ke kūlana hoʻomaka lohi. I kēia hihia, ua hoʻonohonoho ʻia ka waiwai o ka puka makani congestion cwnd i 1 MSS, ka lōʻihi o ka ʻāpana packet kiʻekiʻe loa, a ua hoʻonohonoho ʻia ka waiwai o ka paepae hoʻomaka lohi ssthresh i ka hapalua o cwnd. ʻO ke kumu o kēia, ʻo ia ka hoʻonui mālie ʻana i ka nui o ka puka makani congestion ma hope o ka hoʻōla ʻana o ka pūnaewele e kaulike i ka wikiwiki o ka hoʻouna ʻana a me ke kekelē o ka congestion pūnaewele.

Hōʻuluʻulu manaʻo
Ma ke ʻano he protocol halihali hilinaʻi, hoʻokō ʻo TCP i ka halihali hilinaʻi ma o ka helu kaʻina, ka ʻae ʻana, ka hoʻokele hoʻouna hou ʻana, ka hoʻokele pili a me ka hoʻokele puka makani. I waena o lākou, kaohi ka mīkini hoʻomalu kahe i ka nui o ka ʻikepili i hoʻouna ʻia e ka mea hoʻouna e like me ka hiki ke loaʻa maoli o ka mea loaʻa, kahi e pale aku ai i nā pilikia o ka paʻa ʻana o ka pūnaewele a me ka hōʻino ʻana o ka hana. Pale aku ka mīkini hoʻomalu paʻa i ka hanana o ka paʻa ʻana o ka pūnaewele ma ka hoʻoponopono ʻana i ka nui o ka ʻikepili i hoʻouna ʻia e ka mea hoʻouna. Pili nā manaʻo o ka puka makani paʻa a me ka puka makani hoʻouna kekahi i kekahi, a ʻo ka nui o ka ʻikepili ma ka mea hoʻouna e hoʻomalu ʻia e ka hoʻoponopono ʻana i ka nui o ka puka makani paʻa. Hoʻomaka lohi, pale ʻana i ka paʻa ʻana a me ka hoʻōla wikiwiki ʻana nā ʻāpana nui ʻekolu o ka algorithm kaohi paʻa TCP, kahi e hoʻoponopono ai i ka nui o ka puka makani paʻa ma o nā hoʻolālā like ʻole e hoʻololi i ka hiki a me ke kekelē paʻa o ka pūnaewele.

Ma ka ʻāpana aʻe, e nānā pono mākou i ke ʻano hana hoʻoili hou ʻana o TCP. He ʻāpana koʻikoʻi ka ʻano hana hoʻoili hou ʻana o TCP no ka hoʻokō ʻana i ka hoʻoili hilinaʻi. Hōʻoiaʻiʻo ia i ka hoʻoili hilinaʻi ʻana o ka ʻikepili ma o ka hoʻoili hou ʻana i ka ʻikepili nalowale, hōʻino ʻia a lohi paha. E hoʻolauna ʻia a kālailai ʻia ke kumumanaʻo hoʻokō a me ke ʻano hana o ka ʻano hana hoʻoili hou ʻana ma ka ʻāpana aʻe. E noho mālie!


Ka manawa hoʻouna: Pepeluali-24-2025