Delovanje kalkulatorja pasovne širine in zakasnitve omrežja
Kalkulator pasovne širine in zakasnitve omrežja je brezplačno spletno orodje, ki izračuna dejansko zgornjo mejo zmogljivosti posameznega toka TCP na podlagi pogojev v omrežni poti. Z vnosom hitrosti povezave, časa povratnega potovanja in velikosti podatkov lahko takoj ugotovite, katero ozko grlo omejuje vašo povezavo, si ogledate pričakovano prepustnost TCP ter preverite skupni ocenjeni čas prenosa.
Orodje deluje v celoti v vašem spletnem brskalniku, kjer lokalno izvede vse izračune, ne da bi vaše vnesene podatke pošiljalo na zunanje strežnike. Vsaka vrednost, ki jo vnesete, se izračuna v tem brskalniku — nič se nikamor ne pošilja.
Vhodni podatki za izračun poti in parametrov TCP
Uporabnik konfigurira omrežno pot, prenos podatkov in parametre TCP z naslednjimi vhodnimi polji:
- Hitrost povezave: Najpočasnejši skok na poti — pogosto nazivna hitrost vašega paketa. Zahteva izbiro ustrezne enote v polju Enota hitrosti in mora biti večja od nič.
- Čas povratnega potovanja (RTT): Čas odziva (ping) do oddaljenega konca — uporabite največjo vrednost, ki jo pričakujete pod obremenitvijo. Nastavi se skupaj z poljem Enota časa in mora biti večji od nič.
- Velikost podatkov: Koristna vsebina za prenos — datoteka, varnostna kopija, nabor podatkov. Nastavi se z poljem Enota velikosti in mora biti večja od nič.
- Sprejemno okno: Bajti, ki jih prejemnik lahko shrani v medpomnilnik. Vrednost mora biti večja od nič in ne sme presegati 1,073,725,440 bajtov. Če polje pustite prazno, to pomeni, da ni omejitve okna. Nastavi se z poljem Enota okna.
- Velikost MSS: Bajtov koristne vsebine na paket — 1,460 zapolni standardni ethernetni okvir. Vrednost mora biti celo število bajtov med 1 in 65,495. Če polje pustite prazno, kalkulator prezre protokolne glave in izgube.
- Izguba paketov (%): Povprečna verjetnost izgube paketov. Vrednost mora biti med 0 in 100 odstotki. Prazno polje ali vrednost 0 pomeni, da ni omejitve zaradi izgub.
- Prikazana decimalna mesta: Nadzoruje decimalno natančnost izpisanih rezultatov.
Uporabniški vmesnik ponuja tudi gumb Naloži primer za samodejno izpolnitev polj s testnimi podatki ter gumb Počisti za ponastavitev vseh vnosov.
Rezultati prepustnosti in časa prenosa
Izračunani podatki so prikazani v treh glavnih sklopih:
Prepustnost in čas prenosa
- Pričakovana prepustnost TCP — z dodatno oznako aktivne omejitve: "omejuje
‹constraint›", kjer se kot omejitev dinamično izpiše zmogljivost povezave, sprejemno okno ali izguba paketov. - Čas prenosa.
- Čas do prvega bajta (1 RTT).
- Čas prenosa podatkov.
- Produkt pasovne širine in zakasnitve.
- Okno za zapolnitev poti.
- Prepustnost, omejena z oknom.
- Prepustnost, omejena z izgubami (Mathis).
- Omejitev povezave po upoštevanju glave.
- Učinkovitost protokola.
Dinamična sistemska opozorila
Glede na vnesene vrednosti lahko kalkulator prikaže naslednja opozorila:
- "Zapolnitev te poti zahteva okno velikosti
‹window›— kar je nad neskaliranim maksimumom 65,535 bajtov, zato morata obe strani izpogajati skaliranje oken TCP (RFC 7323)." - "Zapolnitev te poti zahteva
‹window›— kar presega največje okno, ki ga TCP lahko izpogaja (1,073,725,440 bajtov). Posamezen tok na tej poti ne more nikoli preseči‹value›." - "Povečanje sprejemnega okna na
‹window›bi omogočilo, da ta prenos doseže do‹value›." - "Izguba nad 1% je zunaj zanesljivega območja Mathisovega modela — omejitev zaradi izgub obravnavajte kot optimistično oceno."
Formule in vstavljanje vrednosti
Vmesnik pod gumbom Kopiraj rezultat omogoča kopiranje vseh izračunanih podatkov in prikazuje naslednje matematične izpeljave:
- Glavna formula:
prepustnost = min(hitrost × učinkovitost, okno ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = hitrost × RTT - Učinkovitost protokola:
Učinkovitost protokola = MSS ÷ (MSS + 78 B) = ‹mss› ÷ ‹frame› = ‹eff› (40 B glave paketov + 38 B na fizičnem mediju) - Omejitev povezave:
Omejitev povezave = hitrost × učinkovitost = ‹rate› × ‹eff› = ‹value› - BDP:
BDP = hitrost × RTT = ‹rate› × ‹rtt› = ‹bdp› = ‹bytes› - Okno za zapolnitev poti:
Okno za zapolnitev poti = BDP ÷ 8 = ‹bdp› → ‹window› - Omejitev okna:
Omejitev okna = okno ÷ RTT = ‹window› ÷ ‹rtt› = ‹value› - Omejitev zaradi izgub (Mathis):
Omejitev zaradi izgub (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value› - Pričakovana prepustnost:
Pričakovana prepustnost = najnižja od teh omejitev = ‹value› → omejuje ‹constraint› - Čas prenosa:
Čas prenosa = RTT + 8 × velikost ÷ prepustnost = ‹rtt› + 8 × ‹size› ÷ ‹throughput› = ‹time›
Pravila delovanja in omejitve modela
Za pravilno interpretacijo rezultatov je treba upoštevati naslednja pravila in robne primere:
- Merske enote: Vse enote v kalkulatorju so desetiške (npr. 1 kbit = 1,000 bitov, 1 MB = 1,000,000 bajtov). Upravljalniki datotek v operacijskih sistemih običajno uporabljajo dvojiške enote na osnovi 1024 (kjer je datoteka velikosti "100 MB" dejansko 100 MiB oziroma približno 104.86 desetiških MB).
- Protokolna glava: Izračun izhaja iz standardnega etherneta, ki vsakemu paketu doda 78 bajtov dodatnih podatkov (40 bajtov za TCP/IP glave in 38 bajtov za fizični medij).
- Mathisov model: Ta model predvideva enakomerno porazdeljene in neodvisne izgube paketov. Zanesljiv je le pri stopnjah izgub pod približno 1%. Če izguba preseže to mejo, se sproži opozorilo, saj so izgube v izbruhih v praksi bolj škodljive.
- Omejitve oken TCP: Standardno neskalirano okno TCP znaša največ 65,535 bajtov. Če je za zapolnitev poti potrebno večje okno, je nujno skaliranje oken po standardu RFC 7323. Največje teoretično okno, ki ga je mogoče izpogajati s skaliranjem, znaša 1,073,725,440 bajtov.
- Izključitve iz modela: Izračuni predvidevajo ustaljeno stanje in en sam tok TCP. Dejavniki, kot so počasni zagon (slow start), prilagajanje nadzora zastojev, počasen sprejemnik in rokovanja TLS, niso vključeni, zato se dejanski prenosi začnejo počasneje in lahko delujejo pod izračunanimi vrednostmi.
Napake pri vnosu podatkov
V primeru napačnih vnosov bo kalkulator izpisal naslednja opozorila:
- Če vnosa ni mogoče prebrati:
"‹field›: »‹token›« ni število." - Če je hitrost povezave enaka ali manjša od nič:
"Hitrost povezave mora biti večja od nič." - Če je čas povratnega potovanja enak ali manjši od nič:
"Čas povratnega potovanja mora biti večji od nič." - Če je velikost podatkov enaka ali manjša od nič:
"Velikost podatkov mora biti večja od nič." - Če je sprejemno okno enako ali manjše od nič:
"Sprejemno okno mora biti večje od nič." - Če sprejemno okno preseže omejitev RFC 7323:
"TCP ne more izpogajati okna nad 1,073,725,440 bajti (RFC 7323 skaliranje okna)." - Če je MSS zunaj dovoljenih meja:
"MSS mora biti celo število bajtov med 1 in 65,495." - Če je izguba paketov izven območja:
"Stopnja izgube mora biti med 0 in 100 odstotki." - Če izračuni presežejo sistemske omejitve:
"Vrednost ali vmesni rezultat presega podprto številsko območje."
Pogosta vprašanja (FAQ)
Kaj je produkt pasovne širine in zakasnitve ter zakaj določa velikost okna?
BDP — hitrost povezave × čas povratnega potovanja — je količina podatkov v prenosu v vsakem trenutku. TCP ima lahko hkrati odprto največ eno nepotrjeno okno, zato okno, ki je manjše od BDP, pusti povezavo delno prazno: pri 100 Mbit/s s 50 ms RTT povezava zadrži 625 kB, okno velikosti 65,535 bajtov pa zapolni komaj desetino te zmogljivosti. Zato hitre poti z dolgimi zakasnitvami potrebujejo skaliranje oken TCP (RFC 7323), ki zviša izpogajano največjo vrednost s 65,535 bajtov na približno 1 GB.
Zakaj je moj prenos počasnejši od hitrosti povezave, ki jo plačujem?
Posamezen tok TCP se sooča s tremi neodvisnimi omejitvami in najnižja med njimi prevlada. Protokolne glave zmanjšajo dejansko hitrost same povezave za približno 5% — standardni ethernetni okvir prenaša 1,460 bajtov koristne vsebine od 1,538 bajtov na fizičnem mediju. Sprejemno okno omejuje prepustnost na okno ÷ RTT, zato klasično okno velikosti 65,535 bajtov omejuje pot s 50 ms zakasnitvijo na približno 10.5 Mbit/s, ne glede na to, kako hitra je povezava. Izguba paketov pa jo omejuje na (MSS ÷ RTT) ÷ √izguba. Zgornji rezultat poimenuje, katera omejitev vpliva na vaše podatke.
Kako izguba paketov omejuje prepustnost TCP?
TCP obravnava izgubo kot zastoj v omrežju in ob vsakem dogodku izgube razpolovi svojo hitrost pošiljanja, zato so na hitrih poteh pomembne že izjemno majhne stopnje izgub. Mathisov model ocenjuje zgornjo mejo kot (MSS ÷ RTT) ÷ √p — pri 0.01% izgubi na poti s 50 ms zakasnitve in MSS z 1,460 bajti je to približno 23 Mbit/s, ne glede na hitrost povezave. Model predvideva enakomerno porazdeljene, neodvisne dogodke izgub; pod približno 1% dobro sledi realnosti, pri paketnih izgubah v izbruhih pa je optimističen.
Ali so megabajti tukaj enaki kot v mojem upravljalniku datotek?
Ne povsem. Ta stran uporablja desetiške enote, kar je običaj v omrežnih povezavah: 1 kbit = 1,000 bitov in 1 MB = 1,000,000 bajtov. Večina upravljalnikov datotek računa v enotah na osnovi 1024, ki so pogosto napačno označene kot MB — datoteka s »100 MB« tam običajno pomeni 100 MiB ≈ 104.86 desetiških MB, zato njen prenos traja približno 5% dlje, kot kaže desetiška številka. Tukaj vnesite 104.86 MB, da se bo natančno ujemalo.