Makala haya yanaeleza kwa ufupi jinsi ya kuwezesha algorithm ya udhibiti wa msongamano ya BBR kwenye vifaa vya Windows; na pia matatizo yanayoweza kutokea kwa kutumia huduma hii kwa sasa.

Utangulizi wa BBR

BBR (Bottleneck Bandwidth and Round-trip propagation time) ni aina ya algorithm mpya ya TCP ya udhibiti wa msongamano iliyoandaliwa na Google. Inalenga kutatua matatizo ya algorithms za jadi za udhibiti wa msongamano (kama vile Reno au CUBIC) katika hali fulani za mtandao (hasa mitandao yenye kiwango fulani cha upotezaji wa pakiti na ucheleweshaji) ambapo utumiaji wa bandwidth si mzuri na ucheleweshaji ni mkuu.

Dhana Muhimu

Dhana muhimu ya BBR ni kutotegemea tena upotezaji wa pakiti kama ishara kuu ya kutambua msongamano wa mtandao. Algorithms za jadi za udhibiti wa msongamano kwa kawaida hupunguza kiwango cha utumaji zinapotambua upotezaji wa pakiti, lakini hii inaweza kusababisha kushindwa kutumia bandwidth inayopatikana kikamilifu, au kuleta ucheleweshaji usio wa lazima (kuvimba kwa bafa), katika mitandao yenye bafa kubwa au upotezaji kidogo wa pakiti za nasibu.

Badala yake, BBR hupima kikamilifu vigezo viwili muhimu vya mtandao:

  1. Bandwidth ya Kizuizi (Bottleneck Bandwidth, BtlBw): Kikomo cha juu cha kiwango cha uhamishaji data kwenye njia ya mtandao, yaani, uwezo wa sehemu nyembamba zaidi kwenye njia.
  2. Muda wa Uenezaji wa Safari ya Mzunguko (Round-trip Propagation Time, RTprop): Muda mfupi zaidi unaohitajika kwa pakiti ya data kusafiri kwenda na kurudi kwenye njia ya mtandao, bila kujumuisha muda wa foleni katika vifaa vya kati.

Utaratibu wa Kazi

BBR hurekebisha tabia yake ya utumaji kwa nguvu kwa kuchunguza vigezo hivi viwili mara kwa mara:

  • Kuchunguza Bandwidth ya Kizuizi: BBR itatuma data kwa kiwango kidogo juu kuliko bandwidth ya kizuizi iliyokadiriwa kwa sasa kwa muda, ili kuchunguza ikiwa kuna bandwidth ya juu zaidi inayopatikana.
  • Kuchunguza Muda wa Uenezaji wa Safari ya Mzunguko: BBR itatuma data kwa kiwango kidogo chini kuliko bandwidth ya kizuizi iliyokadiriwa kwa sasa kwa muda, ili kuondoa foleni kwenye njia, ili kupima RTprop sahihi zaidi.

Kwa njia hii, BBR inajaribu kudumisha kiwango cha data inayosafirishwa (data ya inflight) katika kiwango kidogo juu kuliko bidhaa ya kuchelewesha bandwidth (BDP = BtlBw * RTprop). Hii inatilia mkazo kikamilifu bandwidth ya kiungo cha kizuizi, na pia huepuka kusababisha foleni ndefu na ucheleweshaji mwingi katika mtandao.

Faida Kuu

  • Upeo wa Juu: Hasa katika mitandao mirefu yenye mafuta (Long Fat Networks) yenye upotezaji na ucheleweshaji fulani, BBR kwa kawaida inaweza kupata upeo wa juu kuliko algorithms za jadi.
  • Ucheleweshaji Mdogo: Kwa kudhibiti foleni kikamilifu, BBR inaweza kupunguza ucheleweshaji wa mtandao kwa ufanisi na kuepuka matatizo ya uvimbe wa bafa.
  • Haiguswi na Upotezaji wa Pakiti: Kwa sababu haitegemei hasa upotezaji wa pakiti kuamua msongamano, BBR inafanya kazi kwa uthabiti zaidi katika mitandao yenye upotezaji kidogo wa pakiti za nasibu.

Masharti ya Kuwezesha BBR kwenye Windows

Mfumo wa uendeshaji lazima uunga mkono. Mahitaji ya toleo yanaweza kuwa Windows 11 version 22H2 na matoleo mapya zaidi.

Endesha Powershell kama msimamizi, tuma amri ifuatayo ili kuelewa algorithms zinazoungwa mkono na mfumo:

[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])

Inaweza kutoa kitu kama:

Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2

Orodha hii inawakilisha majina ya algorithms za udhibiti wa msongamano ambazo mfumo unaweza kuzitambua na kuzisanidi katika mipangilio ya TCP. Default kwa kawaida inamaanisha kwamba mfumo huamua kutumia CUBIC au algorithm nyingine kulingana na kiolezo maalum au mipangilio ya kimataifa.

Jaribu Kutumia Algorithm ya Udhibiti wa Msongamano ya BBR kwenye Windows

Angalia algorithm ya udhibiti wa msongamano iliyosanidiwa sasa:

Get-NetTCPSetting | Select SettingName, CongestionProvider

Matokeo yanaweza kuonekana kama ifuatavyo:

SettingName        CongestionProvider
-----------        ------------------
Automatic
InternetCustom     CUBIC
DatacenterCustom   CUBIC
Compat             NewReno
Datacenter         CUBIC
Internet           CUBIC

Jaribu kuwezesha:

Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2

Kosa:

Set-NetTCPSetting : Property CongestionProvider is read-only
At line:1 char:1
+ Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (MSFT_NetTCPSett...ystemName = ""):ROOT/StandardCimv2/MSFT_NetTCPSetti
   ng) [Set-NetTCPSetting], CimException
    + FullyQualifiedErrorId : Windows System Error 87,Set-NetTCPSetting

Tatizo la Sasa la Windows Kutumia Algorithm ya BBR

Kwa sasa, uchunguzi unaonyesha kuwa usaidizi wa BBR wa Windows haujakamilika, kuna mende nyingi (nyenzo mbili za kwanza zilizotajwa, kuwezesha BBR kutaharibu trafiki ya TCP ya “localhost” (kiolesura cha loopback), na kusababisha miunganisho ndani ya mashine moja kuwa polepole au kutojibu), kama vile:

Kwa hiyo nimeamua kutokuwezesha BBR kwa sasa. Ikiwa ungependa kujaribu kuwezesha, unaweza kujaribu amri:

netsh int tcp set supplemental template=Internet congestionprovider=BBR2
netsh int tcp set supplemental template=InternetCustom congestionprovider=BBR2
netsh int tcp set supplemental template=Datacenter congestionprovider=BBR2
netsh int tcp set supplemental template=DatacenterCustom congestionprovider=BBR2
netsh int tcp set supplemental template=Compat congestionprovider=BBR2

Hapa pia unaweza kubadilisha BBR2 na BBR (BBR v1), unaweza kujaribu na kulinganisha athari.

Kisha angalia algorithm ya udhibiti wa msongamano iliyosanidiwa sasa, ikiwa tayari imesanidiwa kama BBR2 :

Get-NetTCPSetting | Select SettingName, CongestionProvider

Kwenye Windows 11 23H2 / 24H2, kuwezesha BBR v2 kunaweza kusababisha miunganisho ya ndani ya TCP isipatikane (kwa mfano, kusababisha adb kushindwa kufanya kazi, Steam kushindwa, nk.) , katika kesi hii, tafadhali rudisha algorithm ya udhibiti wa msongamano kwa usanidi wa awali. Hakuna haja ya kuwasha upya baada ya kurejesha, tatizo linapaswa kutatuliwa mara moja.

Makala haya hayajakamilika, karibu kuacha maoni au maoni, nijulishe habari za hivi karibuni.

Marejeo

Set-NetTCPSetting (NetTCPIP) | Microsoft Learn

Wezesha TCP BBR v2 kwenye Linux & Windows 11 - Coxxs

https://github.com/google/bbr

Toleo Nyingine za Ukurasa Huu

Makala hii ina matoleo katika lugha nyingi.

Ikiwa ungependa kutoa maoni, tafadhali tembelea ukurasa ufuatao:

ZH EN ZH-TW JA

Kurasa hizi zinaunga mkono kuvinjari tu, haziwezi kutoa maoni au ujumbe, lakini hutoa chaguzi zaidi za lugha na muda mfupi wa kupakia:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO