Pakarang rusiah TCP: Kontrol Aliran Jaringan sareng Kontrol Kamacetan Jaringan

TCP Reliability Angkutan
Urang sadayana wawuh sareng protokol TCP salaku protokol transportasi anu tiasa dipercaya, tapi kumaha éta mastikeun kabébasan transportasi?

Pikeun ngahontal transmisi anu tiasa dipercaya, seueur faktor anu kedah dipertimbangkeun, sapertos korupsi data, leungitna, duplikasi, sareng beling kaluar-of-order. Lamun masalah ieu teu bisa direngsekeun, transmisi dipercaya teu bisa kahontal.

Ku alatan éta, TCP ngagunakeun mékanisme saperti nomer runtuyan, reply pangakuan, resend kontrol, manajemén sambungan, jeung kontrol jandela pikeun ngahontal transmisi dipercaya.

Dina makalah ieu, urang bakal difokuskeun jandela ngageser, kontrol aliran jeung kontrol kamacetan TCP. Mékanisme retransmission katutupan misah dina bagian salajengna.

Kontrol Aliran Jaringan
Network Flow Control atanapi katelah Network Traffic Control saleresna mangrupikeun manifestasi tina hubungan halus antara produser sareng konsumen. Anjeun panginten sering mendakan skenario ieu di tempat damel atanapi dina wawancara. Lamun kapasitas produser pikeun ngahasilkeun greatly ngaleuwihan kapasitas konsumen pikeun meakeun, éta bakal ngabalukarkeun antrian tumuwuh salamina. Dina kasus anu langkung serius, anjeun tiasa terang yén nalika pesen RabbitMQ tumpukan teuing, éta tiasa nyababkeun degradasi kinerja sadaya server MQ. Sarua bener keur TCP; lamun ditinggalkeun unchecked, loba teuing seratan bakal nempatkeun kana jaringan, sarta pamakéna bakal ngaleuwihan kapasitas maranéhanana, bari produser bakal neruskeun ngirim pesen duplikat, nu greatly mangaruhan kinerja jaringan.

Pikeun alamat fenomena ieu, TCP nyadiakeun mékanisme pikeun pangirim ngadalikeun jumlah data dikirim dumasar kana kapasitas panarimaan sabenerna panarima, nu katelah kontrol aliran. Panarima ngajaga jandela nampi, sedengkeun pangirim ngajaga jandela kirim. Perlu dicatet yén Windows ieu ngan ukur pikeun sambungan TCP tunggal sareng henteu sadayana sambungan ngabagi jandela.

TCP nyadiakeun kontrol aliran ku ngagunakeun variabel pikeun jandela narima. Jandéla nampi masihan pangirim indikasi sabaraha rohangan cache anu masih aya. Pangirim ngatur jumlah data anu dikirim dumasar kana kapasitas panarima anu sabenerna.

Host panarima ngabéjaan pangirim ngeunaan ukuran data anu tiasa ditampi, sareng pangirim ngirim dugi ka wates ieu. wates ieu ukuran jandela, apal TCP lulugu? Aya widang jandela narima, nu dipaké pikeun nunjukkeun jumlah bait panarima sanggup atawa daék narima.

Host pangirim périodik bakal ngirim pakét usik jandela, anu dianggo pikeun ngadeteksi naha host panarima masih tiasa nampi data. Nalika panyangga panarima dina bahaya overflowing, ukuran jandela disetel ka nilai nu leuwih leutik pikeun maréntahkeun ngirim ka kontrol jumlah data dikirim.

Ieu mangrupikeun diagram Kontrol Aliran Jaringan:

Kadali Lalu Lintas

Kontrol kamacetan jaringan
Sateuacan ngenalkeun kontrol kamacetan, urang kedah ngartos yén salian ti jandela nampi sareng jandela kirim, aya ogé jandela kamacetan, anu utamina dianggo pikeun ngabéréskeun masalah dina sabaraha laju pangirim mimiti ngirim data kana jandela nampi. Ku alatan éta, jandela kamacetan ogé dijaga ku pangirim TCP. Urang peryogi algoritma pikeun mutuskeun sabaraha data anu pas pikeun dikirim, sabab ngirim sakedik atanapi seueur teuing data henteu idéal, ku kituna konsép jandela kamacetan.

Dina kontrol aliran jaringan saméméhna, naon urang dihindari nyaéta pangirim ngeusian cache panarima kalayan data, tapi urang henteu terang naon anu lumangsung dina jaringan. Biasana, jaringan komputer aya dina lingkungan anu dibagikeun. Hasilna, tiasa aya kamacetan jaringan kusabab komunikasi antara host anu sanés.

Nalika jaringan macet, upami sajumlah ageung pakét terus dikirim, éta tiasa nyababkeun masalah sapertos reureuh sareng leungitna pakét. Dina titik ieu, TCP bakal ngirimkeun deui data, tapi pangiriman deui bakal ningkatkeun beban dina jaringan, nyababkeun telat anu langkung ageung sareng kaleungitan pakét langkung seueur. Ieu bisa meunang kana siklus galak tur terus meunang badag.

Ku kituna, TCP teu bisa malire naon anu lumangsung dina jaringan. Nalika jaringan macét, TCP ngorbankeun diri ku ngirangan jumlah data anu dikirimkeun.

Ku alatan éta, kontrol kamacetan diusulkeun, anu tujuanana pikeun nyegah ngeusian sakabeh jaringan ku data ti pangirim. Pikeun ngatur jumlah data nu ngirim ngirim, TCP nangtukeun konsép nu disebut jandela kamacetan. Algoritma kontrol kamacetan bakal nyaluyukeun ukuran jandela kamacetan dumasar kana tingkat kamacetan jaringan, ku kituna ngadalikeun jumlah data anu dikirim ku pangirim.

Naon téh jandela kamacetan? Naon hubunganana sareng jandela kirim?

Jandéla Kamacetan mangrupikeun variabel kaayaan anu dijaga ku pangirim anu nangtukeun jumlah data anu tiasa dikirimkeun ku pangirim. Jandéla kamacetan robih sacara dinamis dumasar kana tingkat kamacetan jaringan.

Jandela Ngirim mangrupikeun ukuran jandela anu sapuk antara pangirim sareng panarima anu nunjukkeun jumlah data anu tiasa ditampi ku panarima. Jandéla kamacetan sareng jandela ngirim aya hubunganana; jandela ngirim biasana sarua jeung minimum kamacetan jeung narima Windows, nyaeta, swnd = mnt(cwnd, rwnd).

Jandéla kamacetan cwnd robih sapertos kieu:

Upami teu aya kamacetan dina jaringan, nyaéta, henteu aya waktos waktos pangiriman ulang, jandela kamacetan naék.

Upami aya kamacetan dina jaringan, jandela kamacetan ngirangan.

Pangirim nangtukeun naha jaringan congested ku observasi naha pakét pangakuan ACK narima dina jangka waktu nu ditangtukeun. Upami pangirim henteu nampi pakét pangakuan ACK dina waktos anu ditangtukeun, éta dianggap yén jaringan macét.

Salian jandela kamacetan, éta waktuna ngabahas algoritma kontrol kamacetan TCP. Algoritma kontrol kamacetan TCP diwangun ku tilu bagian utama:

Mimitian lambat:Mimitina, jandela kamacetan cwnd relatif leutik, sarta pangirim naek jandela kamacetan éksponénsial pikeun gancang adaptasi jeung kapasitas jaringan.
Ngahindarkeun kamacetan:Saatos jandela kamacetan ngaleuwihan ambang anu tangtu, pangirim naekkeun jandela kamacetan sacara linier pikeun ngalambatkeun laju pertumbuhan jandela kamacetan sareng ngahindarkeun kaleuleuwihan jaringan.
Pamulihan gancang:Upami kamacetan lumangsung, pangirim ngabagi dua jandela kamacetan sareng lebet kana kaayaan pamulihan gancang pikeun nangtukeun lokasi pamulihan jaringan ngalangkungan acks duplikat anu ditampi, teras teras ningkatkeun jandela kamacetan.

Mimitian lalaunan
Nalika sambungan TCP diadegkeun, jandela kamacetan cwnd mimitina disetel ka nilai MSS (ukuran ruas maksimum) minimum. Ku cara kieu, laju ngirim awal ngeunaan MSS / RTT bait / detik. Bandwidth anu saleresna sayogi biasana langkung ageung tibatan MSS/RTT, janten TCP hoyong milarian tingkat pangiriman anu optimal, anu tiasa dihontal ku cara ngalambatkeun ngamimitian.

Dina prosés slow-start, nilai cwnd window congestion bakal diinisialisasi jadi 1 MSS, sarta unggal segmen pakét anu dikirimkeun diaku, nilai cwnd bakal ngaronjat ku hiji MSS, nyaéta, nilai cwnd bakal jadi 2 MSS. Sanggeus éta, nilai cwnd dua kali pikeun tiap pangiriman suksés bagéan pakét, jeung saterusna. Prosés tumuwuhna husus ditémbongkeun dina gambar di handap ieu.

 Kontrol kamacetan jaringan

Sanajan kitu, laju ngirim teu bisa salawasna tumuwuh; tumuwuhna kudu mungkas sometime. Janten, iraha paningkatan laju ngirim mungkas? Mimitian lambat biasana mungkas kanaékan laju ngirim ku salah sahiji tina sababaraha cara:

Cara anu kahiji nyaéta kasus leungitna pakét nalika prosés ngirim mimiti laun. Nalika pakét leungitna lumangsung, TCP netepkeun jandela kamacetan pangirim cwnd ka 1 sarta balikan deui prosés slow-mimiti. Dina titik ieu, konsép slow mimiti bangbarung ssthresh diwanohkeun, anu nilai awalna satengah tina nilai cwnd nu dibangkitkeun leungitna pakét. Nyaéta, nalika kamacetan dideteksi, nilai ssthresh satengah tina nilai jandela.

Cara anu kadua nyaéta langsung ngahubungkeun sareng nilai ssthresh ambang slow-start. Kusabab nilai ssthresh nyaéta satengah tina nilai jandela nalika kamacetan dideteksi, pakét leungitna tiasa lumangsung kalayan unggal duka kali nalika cwnd langkung ageung tibatan ssthresh. Ku alatan éta, leuwih sae pikeun nyetel cwnd ka ssthresh, nu bakal ngabalukarkeun TCP pindah ka modeu kontrol kamacetan jeung ngeureunkeun slow-mimiti.

Cara anu terakhir anu mimiti laun tiasa ditungtungan nyaéta upami tilu acks kaleuleuwihan dideteksi, TCP ngalaksanakeun pangiriman gancang sareng lebet kana kaayaan pamulihan. (Lamun teu jelas naha aya tilu pakét ACK, eta bakal dipedar misah dina mékanisme retransmission.)

Ngahindarkeun kamacetan
Nalika TCP asup kana kaayaan kontrol kamacetan, cwnd disetel ka satengah ssthresh bangbarung kamacetan. Ieu ngandung harti yén nilai cwnd teu tiasa dua kali unggal waktos bagéan pakét ditampi. Gantina, pendekatan rélatif konservatif diadopsi nu nilai cwnd ngaronjat ku ngan hiji MSS (panjangna ruas pakét maksimum) sanggeus unggal transmisi réngsé. Contona, sanajan 10 bagéan pakét diakuan, nilai cwnd ngan bakal ningkat ku hiji MSS. Ieu mangrupikeun modél pertumbuhan linier sareng éta ogé ngagaduhan wates luhur pikeun kamekaran. Nalika leungitna pakét lumangsung, nilai cwnd dirobah jadi MSS, sarta nilai ssthresh disetel ka satengah tina cwnd. Atawa éta ogé bakal ngeureunkeun tumuwuhna MSS nalika 3 réspon ACK kaleuleuwihan narima. Lamun tilu acks kaleuleuwihan masih narima sanggeus satengah nilai cwnd, nilai ssthresh dirékam salaku satengah nilai cwnd jeung kaayaan recovery gancang diasupkeun.

Pamulihan Gancang
Dina kaayaan Pamulihan Gancang, nilai cwnd jandela kamacetan ngaronjat ku hiji MSS pikeun tiap narima ACK kaleuleuwihan, nyaeta, ACK nu teu datang dina urutan. Ieu pikeun ngamangpaatkeun bagéan pakét anu parantos hasil dikirimkeun dina jaringan pikeun ningkatkeun efisiensi pangiriman sabisa-bisa.

Nalika hiji ACK tina bagéan pakét leungit datang, TCP ngurangan nilai cwnd lajeng asup kana kaayaan dijauhkeun kamacetan. Ieu pikeun ngadalikeun ukuran jandela kamacetan sareng nyegah kamacetan jaringan langkung seueur.

Upami aya waktos waktos saatos kaayaan kontrol kamacetan, kaayaan jaringan janten langkung serius sareng TCP pindah tina kaayaan nyingkahan kamacetan ka kaayaan mimiti laun. Dina hal ieu, nilai cwnd jandela kamacetan disetel ka 1 MSS, panjang ruas pakét maksimum, sarta nilai ssthresh bangbarung slow-mimiti disetel ka satengah tina cwnd. Tujuanana nyaéta pikeun sacara bertahap ningkatkeun ukuran jandela kamacetan saatos jaringan pulih pikeun nyaimbangkeun laju pangiriman sareng tingkat kamacetan jaringan.

Ringkesan
Salaku protokol angkutan dipercaya, TCP implements angkutan dipercaya ku nomer runtuyan, pangakuan, kontrol retransmission, manajemén sambungan jeung kontrol jandela. Di antarana, mékanisme kontrol aliran ngadalikeun jumlah data dikirim ku pangirim nurutkeun kapasitas narima sabenerna panarima, nu avoids masalah kamacetan jaringan sarta degradasi kinerja. Mékanisme kontrol kamacetan nyegah lumangsungna kamacetan jaringan ku cara nyaluyukeun jumlah data anu dikirim ku pangirim. Konsep jandela kamacetan sareng jandela pangirim aya hubunganana, sareng jumlah data dina pangirim dikontrol ku sacara dinamis nyaluyukeun ukuran jandela kamacetan. Mimitian laun, ngahindarkeun kamacetan sareng pamulihan gancang mangrupikeun tilu bagian utama algoritma kontrol kamacetan TCP, anu nyaluyukeun ukuran jandela kamacetan ngalangkungan strategi anu béda pikeun adaptasi kana kapasitas sareng tingkat kamacetan jaringan.

Dina bagian salajengna, urang bakal nalungtik mékanisme retransmission TCP sacara rinci. Mékanisme transmisi ulang mangrupikeun bagian penting tina TCP pikeun ngahontal transmisi anu tiasa dipercaya. Ieu ensures pangiriman dipercaya data ku retransmitting leungit, ruksak atawa nyangsang data. Prinsip palaksanaan sareng strategi mékanisme retransmission bakal diwanohkeun sareng dianalisis sacara rinci dina bagian salajengna. Tetep di dieu!


waktos pos: Feb-24-2025