L-Arma Sigrieta ta 'TCP: Kontroll tal-Fluss tan-Netwerk u Kontroll tal-Konġestjoni tan-Netwerk

Trasport ta 'affidabilità TCP
Aħna lkoll familjari mal-protokoll TCP bħala protokoll ta 'trasport affidabbli, imma kif tiżgura l-affidabbiltà tat-trasport?

Sabiex tinkiseb trasmissjoni affidabbli, hemm bżonn li jiġu kkunsidrati ħafna fatturi, bħal korruzzjoni tad-dejta, telf, duplikazzjoni u shards barra mill-ordni. Jekk dawn il-problemi ma jistgħux jiġu solvuti, ma tistax tinkiseb trasmissjoni affidabbli.

Għalhekk, TCP juża mekkaniżmi bħan-numru tas-sekwenza, ir-risposta ta 'rikonoxximent, il-kontroll mill-ġdid, il-ġestjoni tal-konnessjoni, u l-kontroll tat-twieqi biex tinkiseb trasmissjoni affidabbli.

F'dan id-dokument, aħna niffokaw fuq it-tieqa li tiżżerżaq, il-kontroll tal-fluss u l-kontroll tal-konġestjoni tat-TCP. Il-mekkaniżmu ta 'trażmissjoni huwa kopert separatament fit-taqsima li jmiss.

Kontroll tal-fluss tan-netwerk
Kontroll tal-fluss tan-netwerk jew taf bħala l-kontroll tat-traffiku tan-netwerk huwa attwalment manifestazzjoni tar-relazzjoni sottili bejn il-produtturi u l-konsumaturi. Probabilment int sibt dan ix-xenarju ħafna fuq ix-xogħol jew f'intervisti. Jekk il-kapaċità tal-produttur li tipproduċi taqbeż ħafna l-kapaċità tal-konsumatur li jikkunsma, dan jikkawża li l-kju jikber b'mod indefinit. F'każ aktar serju, tista 'tkun taf li meta l-messaġġi RabbitMQ jinġabru wisq, jista' jikkawża degradazzjoni tal-prestazzjoni tas-server MQ kollu. L-istess jgħodd għat-TCP; Jekk jitħallew mhux ikkontrollati, wisq messaġġi se jiddaħħlu fin-netwerk, u l-konsumaturi jkunu qabżu l-kapaċità tagħhom, filwaqt li l-produtturi se jkomplu jibagħtu messaġġi duplikati, li jaffettwaw ħafna l-prestazzjoni tan-netwerk.

Biex jindirizza dan il-fenomenu, TCP jipprovdi mekkaniżmu biex il-mittent jikkontrolla l-ammont ta 'dejta mibgħuta abbażi tal-kapaċità ta' akkoljenza attwali tar-riċevitur, li hija magħrufa bħala kontroll tal-fluss. Ir-riċevitur iżomm tieqa ta 'riċeviment, filwaqt li l-mittent iżomm tieqa li tibgħat. Għandu jkun innutat li dawn it-twieqi huma biss għal konnessjoni TCP waħda u mhux il-konnessjonijiet kollha jaqsmu tieqa.

TCP jipprovdi kontroll tal-fluss billi juża varjabbli għal tieqa ta 'riċeviment. It-tieqa ta 'riċeviment tagħti lill-mittent indikazzjoni ta' kemm l-ispazju tal-cache għadu disponibbli. Il-mittent jikkontrolla l-ammont ta 'dejta mibgħuta skont il-kapaċità ta' aċċettazzjoni attwali tar-riċevitur.

L-ospitanti tar-riċevitur jinnotifika lill-mittent tad-daqs tad-dejta li jista 'jirċievi, u l-mittent jibgħat sa dan il-limitu. Dan il-limitu huwa d-daqs tat-tieqa, tiftakar l-intestatura TCP? Hemm kamp tat-twieqi li jirċievu, li jintuża biex jindika n-numru ta 'bytes li r-riċevitur huwa kapaċi jew lest li jirċievi.

L-ospitanti tal-mittent perjodikament jibgħat pakkett ta 'sonda tat-twieqi, li jintuża biex jiskopri jekk l-ospitanti tar-riċevitur għadu kapaċi jaċċetta data. Meta l-buffer tar-riċevitur ikun fil-periklu li jfur, id-daqs tat-tieqa huwa ssettjat għal valur iżgħar biex jagħti struzzjonijiet lill-mittent biex jikkontrolla l-ammont ta 'dejta mibgħuta.

Hawnhekk hawn dijagramma tal-kontroll tal-fluss tan-netwerk:

Kontroll tat-traffiku

Kontroll tal-konġestjoni tan-netwerk
Qabel ma nintroduċu l-kontroll tal-konġestjoni, irridu nifhmu li minbarra t-tieqa ta 'riċeviment u t-tieqa ta' tibgħat, hemm ukoll tieqa ta 'konġestjoni, li tintuża prinċipalment biex issolvi l-problema ta' liema rata l-mittent jibda jibgħat id-dejta fit-tieqa ta 'riċeviment. Għalhekk, it-tieqa tal-konġestjoni tinżamm ukoll mill-mittent TCP. Għandna bżonn algoritmu biex niddeċiedu kemm id-dejta hija xierqa biex tibgħat, peress li tibgħat ftit jew wisq dejta mhix ideali, u għalhekk il-kunċett ta 'tieqa ta' konġestjoni.

Fil-kontroll preċedenti tal-fluss tan-netwerk, dak li evita li kien il-mittent jimla l-cache tar-riċevitur bid-dejta, imma ma nafux x'kien qed jiġri fin-netwerk. Tipikament, in-netwerks tal-kompjuter jinsabu f'ambjent maqsum. Bħala riżultat, jista 'jkun hemm konġestjoni fin-netwerk minħabba komunikazzjoni bejn ospiti oħra.

Meta n-netwerk ikun konġestjonat, jekk numru kbir ta 'pakketti jitkomplu jintbagħtu, jista' jikkawża problemi bħal dewmien u telf ta 'pakketti. F'dan il-punt, TCP se jerġa 'jibgħat id-dejta, iżda t-trażmissjoni t-trażmissjoni se żżid il-piż fuq in-netwerk, li tirriżulta f'dewmien ikbar u aktar telf ta' pakketti. Dan jista 'jidħol f'ċiklu vizzjuż u jibqa' jikber.

Għalhekk, TCP ma jistax jinjora dak li qed jiġri fuq in-netwerk. Meta n-netwerk ikun konġestjonat, TCP jissagrifika ruħu billi jnaqqas l-ammont ta 'dejta li jibgħat.

Għalhekk, il-kontroll tal-konġestjoni huwa propost, li għandu l-għan li jevita li jimla n-netwerk kollu b'data mill-mittent. Biex tirregola l-ammont ta 'dejta li l-mittent għandu jibgħat, TCP jiddefinixxi kunċett imsejjaħ it-tieqa tal-konġestjoni. L-algoritmu tal-kontroll tal-konġestjoni se jaġġusta d-daqs tat-tieqa tal-konġestjoni skont il-grad tal-konġestjoni tan-netwerk, sabiex jikkontrolla l-ammont ta 'dejta mibgħuta mill-mittent.

X'inhi tieqa ta 'konġestjoni? X'għandha x'taqsam mat-tieqa Ibgħat?

It-tieqa tal-konġestjoni hija varjabbli tal-istat miżmuma mill-mittent li jiddetermina l-ammont ta 'dejta li l-mittent jista' jibgħat. It-tieqa tal-konġestjoni tinbidel b'mod dinamiku skond il-livell ta 'konġestjoni tan-netwerk.

It-tieqa li tibgħat hija d-daqs tat-tieqa miftiehem bejn il-mittent u r-riċevitur li jindika l-ammont ta 'dejta li r-riċevitur jista' jirċievi. It-tieqa tal-konġestjoni u t-tieqa li tibgħat huma relatati; It-tieqa li tibgħat hija ġeneralment daqs il-minimu tal-konġestjoni u t-twieqi li jirċievu, jiġifieri, SWND = min (CWND, RWND).

It-tieqa tal-konġestjoni CWND tinbidel kif ġej:

Jekk ma jkun hemm l-ebda konġestjoni fin-netwerk, jiġifieri, ma sseħħ l-ebda ħin mill-ġdid, it-tieqa tal-konġestjoni tiżdied.

Jekk hemm konġestjoni fin-netwerk, it-tieqa tal-konġestjoni tonqos.

Il-mittent jiddetermina jekk in-netwerk huwiex konġestjonat billi josserva jekk il-pakkett ta 'rikonoxximent ACK huwiex riċevut fil-ħin speċifikat. Jekk il-mittent ma jirċevix il-pakkett ta 'rikonoxximent ACK fil-ħin speċifikat, huwa kkunsidrat li n-netwerk huwa konġestjonat.

Minbarra t-tieqa tal-konġestjoni, wasal iż-żmien li tiddiskuti l-algoritmu tal-kontroll tal-konġestjoni TCP. L-algoritmu ta 'kontroll tal-konġestjoni TCP jikkonsisti fi tliet partijiet ewlenin:

Bidu bil-mod:Inizjalment, it-tieqa tal-konġestjoni CWND hija relattivament żgħira, u l-mittent iżid it-tieqa tal-konġestjoni b'mod esponenzjali biex jadatta malajr għall-kapaċità tan-netwerk.
Evitar tal-konġestjoni:Wara li t-tieqa tal-konġestjoni taqbeż ċertu limitu, il-mittent iżid it-tieqa tal-konġestjoni b'mod lineari biex inaqqas ir-rata tat-tkabbir tat-tieqa tal-konġestjoni u jevita t-tagħbija żejda tan-netwerk.
Irkupru mgħaġġel:Jekk isseħħ il-konġestjoni, il-mittent jillaqqa t-tieqa tal-konġestjoni u jidħol fl-istat ta 'rkupru mgħaġġel biex jiddetermina l-post tal-irkupru tan-netwerk permezz tal-ACKs duplikati riċevuti, u mbagħad ikompli jżid it-tieqa tal-konġestjoni.

Bidu bil-mod
Meta tiġi stabbilita konnessjoni TCP, it-tieqa tal-konġestjoni CWND hija inizjalment issettjata għal valur minimu ta 'MSS (daqs massimu tas-segment). Dan il-mod, ir-rata inizjali li tibgħat hija madwar bytes MSS / RTT / it-tieni. Il-wisa 'tal-frekwenza disponibbli attwali huwa ġeneralment ħafna ikbar minn MSS / RTT, u għalhekk TCP irid isib ir-rata ta' tibgħat ottimali, li tista 'tinkiseb permezz ta' startjar bil-mod.

Fil-proċess tal-bidu bil-mod, il-valur tat-tieqa tal-konġestjoni CWND se jkun inizjalizzat għal 1 MSS, u kull darba li s-segment tal-pakkett trasmess huwa rikonoxxut, il-valur tas-CWND se jiżdied b'wieħed MSS, jiġifieri, il-valur ta 'CWND se jsir 2 MSS. Wara dan, il-valur ta 'CWND huwa rduppjat għal kull trasmissjoni ta' suċċess ta 'segment ta' pakkett, u l-bqija. Il-proċess ta 'tkabbir speċifiku huwa muri fil-figura li ġejja.

 Kontroll tal-konġestjoni tan-netwerk

Madankollu, ir-rata li tibgħat mhux dejjem tikber; It-tkabbir irid jintemm f'xi żmien. Allura, meta żżid ir-rata ta 'mibgħut tintemm? Start bil-mod tipikament itemm iż-żieda fir-rata ta ’tibgħat b’waħda minn diversi modi:

L-ewwel mod huwa l-każ ta 'telf ta' pakketti matul il-proċess ta 'tibgħat ta' bidu bil-mod. Meta sseħħ telf ta 'pakketti, TCP jistabbilixxi t-tieqa tal-konġestjoni tal-mittent CWND għal 1 u terġa' tibda l-proċess tal-bidu bil-mod. F'dan il-punt, huwa introdott kunċett ta 'limitu ta' bidu bil-mod, li l-valur inizjali tiegħu huwa nofs il-valur ta 'CWND li jiġġenera telf ta' pakketti. Jiġifieri, meta tiġi skoperta l-konġestjoni, il-valur ta 'SSThresh huwa nofs il-valur tat-tieqa.

It-tieni mod huwa li tikkorrelata direttament mal-valur tal-limitu tal-bidu bil-mod SSThresh. Peress li l-valur ta 'SSThresh huwa nofs il-valur tat-tieqa meta tiġi skoperta l-konġestjoni, jista' jkun hemm telf ta 'pakketti ma' kull irduppjar meta CWND huwa ikbar minn SSTHRESH. Għalhekk, huwa l-aħjar li tissettja CWND għal SSThresh, li tikkawża li TCP jaqleb għall-mod ta 'kontroll tal-konġestjoni u jispiċċa bil-mod.

L-aħħar mod li l-bidu bil-mod jista 'jispiċċa huwa jekk jiġu skoperti tliet ACKs żejda, TCP iwettaq trażmissjoni mgħaġġla u jidħol fl-istat ta' rkupru. (Jekk mhux ċar għaliex hemm tliet pakketti ACK, se jiġu spjegati separatament fil-mekkaniżmu ta 'trażmissjoni.)

Evitar tal-konġestjoni
Meta TCP jidħol fl-istat ta 'kontroll tal-konġestjoni, CWND huwa ssettjat għal nofs il-limitu tal-konġestjoni SSTHRESH. Dan ifisser li l-valur ta 'CWND ma jistax jirdoppja kull darba li jiġi riċevut segment ta' pakketti. Minflok, huwa adottat approċċ relattivament konservattiv li fih il-valur ta 'CWND jiżdied b'MSS wieħed biss (tul massimu tas-segment tal-pakketti) wara li titlesta kull trasmissjoni. Pereżempju, anke jekk 10 segmenti tal-pakketti huma rikonoxxuti, il-valur ta 'CWND jiżdied biss b'MSS wieħed. Dan huwa mudell ta 'tkabbir lineari u għandu wkoll limitu massimu fuq it-tkabbir. Meta sseħħ telf ta 'pakketti, il-valur ta' CWND jinbidel għal MSS, u l-valur ta 'SSThresh huwa ssettjat għal nofs is-CWND. Jew se twaqqaf ukoll it-tkabbir tal-MSS meta jiġu rċevuti 3 tweġibiet ACK żejda. Jekk tliet ACKs żejda jkunu għadhom riċevuti wara n-nofs il-valur ta 'CWND, il-valur ta' SSThresh jiġi rreġistrat bħala nofs il-valur ta 'CWND u l-istat ta' rkupru mgħaġġel jiddaħħal.

Irkupru mgħaġġel
Fl-istat ta 'rkupru mgħaġġel, il-valur tat-tieqa tal-konġestjoni CWND jiżdied b'MSS wieħed għal kull ACK żejjed riċevut, jiġifieri, ACK li ma jasalx sekwenza. Dan biex jagħmel użu mis-segmenti tal-pakketti li ġew trasmessi b'suċċess fin-netwerk biex itejbu l-effiċjenza tat-trasmissjoni kemm jista 'jkun.

Meta jasal ACK tas-segment tal-pakkett mitluf, TCP inaqqas il-valur ta 'CWND u mbagħad jidħol fl-istat ta' evitar tal-konġestjoni. Dan biex tikkontrolla d-daqs tat-tieqa tal-konġestjoni u tevita li żżid aktar il-konġestjoni tan-netwerk.

Jekk timeout isseħħ wara l-istat ta 'kontroll tal-konġestjoni, il-kundizzjoni tan-netwerk issir iktar serja u t-TCP jemigra mill-istat ta' evitar tal-konġestjoni għall-istat li jibda bil-mod. F'dan il-każ, il-valur tat-tieqa tal-konġestjoni CWND huwa ssettjat għal 1 MSS, it-tul massimu tas-segment tal-pakkett, u l-valur tal-limitu tal-bidu bil-mod SSThresh huwa ssettjat għal nofs is-CWND. L-iskop ta 'dan huwa li jerġa' jżid id-daqs tat-tieqa ta 'konġestjoni wara li n-netwerk jirkupra biex jibbilanċja r-rata ta' trasmissjoni u l-grad ta 'konġestjoni tan-netwerk.

Sommarju
Bħala protokoll ta 'trasport affidabbli, TCP jimplimenta trasport affidabbli bin-numru tas-sekwenza, rikonoxximent, kontroll ta' trażmissjoni, ġestjoni tal-konnessjoni u kontroll tat-twieqi. Fost dawn, il-mekkaniżmu ta 'kontroll tal-fluss jikkontrolla l-ammont ta' dejta mibgħuta mill-mittent skond il-kapaċità ta 'riċevitur attwali tar-riċevitur, li tevita l-problemi tal-konġestjoni tan-netwerk u d-degradazzjoni tal-prestazzjoni. Il-mekkaniżmu ta 'kontroll tal-konġestjoni jevita l-okkorrenza tal-konġestjoni tan-netwerk billi jaġġusta l-ammont ta' dejta mibgħuta mill-mittent. Il-kunċetti tat-tieqa tal-konġestjoni u t-tieqa li tibgħat huma relatati ma 'xulxin, u l-ammont ta' dejta fil-mittent huwa kkontrollat ​​billi jiġi aġġustat b'mod dinamiku d-daqs tat-tieqa tal-konġestjoni. Bidu bil-mod, evitar ta 'konġestjoni u rkupru mgħaġġel huma t-tliet partijiet ewlenin tal-algoritmu ta' kontroll tal-konġestjoni TCP, li jaġġustaw id-daqs tat-tieqa tal-konġestjoni permezz ta 'strateġiji differenti biex jadattaw għall-kapaċità u l-grad ta' konġestjoni tan-netwerk.

Fit-taqsima li jmiss, aħna neżaminaw fid-dettall il-mekkaniżmu ta 'ridotta ta' TCP. Il-mekkaniżmu ta 'trażmissjoni huwa parti importanti mit-TCP biex tinkiseb trasmissjoni affidabbli. Dan jiżgura t-trasmissjoni affidabbli tad-dejta billi tittrasmetti data mitlufa, korrotta jew imdewwma. Il-prinċipju u l-istrateġija ta 'implimentazzjoni tal-mekkaniżmu ta' trażmissjoni se jiġu introdotti u analizzati fid-dettall fit-taqsima li jmiss. Ibqa 'sintonizzat!


Ħin ta 'wara: Frar-24-2025