Разумевање граница TCP протока
Када преносите податке преко мреже, стварна брзина преноса ретко достиже номиналну брзину ваше интернет везе. Један TCP ток суочава се са три независна физичка и протоколарна ограничења: капацитетом саме везе, величином пријемног прозора и губитком пакета. Најнижа од ових граница постаје активно уско грло које диктира коначне перформансе.
Овај алат омогућава да уносом основних параметара путање тренутно идентификујете шта тачно ограничава ваш проток. Сви прорачуни се извршавају локално у вашем веб прегледачу и унесени подаци се не шаљу на спољне сервере.
Улазни параметри за прорачун
Да бисте израчунали перформансе мреже, потребно је дефинисати следеће вредности у интерфејсу алата:
- Брзина везе: Најспорија деоница на путањи — често номинална брзина Вашег пакета. Ова вредност мора бити већа од нуле.
- Време повратног пута (RTT): Време пинга до удаљеног краја — користите највећу вредност коју очекујете под оптерећењем. Вредност мора бити већа од нуле.
- Величина података: Корисни терет за пренос — датотека, резервна копија, скуп података. Вредност мора бити већа од нуле.
- Пријемни прозор: Бајтови које прималац може да баферује. Вредност мора бити већа од нуле и не може премашити 1,073,725,440 бајтова. Ако поље остане празно, сматра се да нема ограничења прозора.
- MSS (бајтови): Бајтови корисног терета по пакету. Мора бити цео број између 1 и 65,495. Празно поље занемарује протоколарне трошкове и губитак.
- Губитак пакета (%): Просечна вероватноћа губитка пакета. Мора бити између 0 и 100 процената. Празно поље или вредност 0 означава да нема ограничења губитком.
- Приказане децимале: Контролише прецизност приказа резултата.
Интерфејс нуди и дугме Учитај пример за брзо попуњавање поља тест подацима, као и дугме Обриши за ресетовање свих уноса.
Излазни резултати и системска обавештења
Након уноса вредности, калкулатор приказује резултате кроз следеће метрике:
- Очекивани TCP проток: Главни резултат који прати поднаслов са активним ограничењем: „ограничено са:
‹constraint›“, где је ограничење динамички именовано као капацитет везе, пријемни прозор или губитак пакета. - Време преноса: Укупно процењено време.
- Време до првог бајта (1 RTT).
- Време масовног преноса.
- Производ пропусног опсега и кашњења.
- Прозор за попуњавање путање.
- Проток ограничен прозором.
- Проток ограничен губитком (Mathis).
- Граница везе након протоколарних трошкова.
- Ефикасност протокола.
Динамичка системска обавештења
У зависности од унетих вредности, алат приказује следеће напомене:
- „За попуњавање ове путање потребан је прозор од
‹window›— што је изнад нескалираног максимума од 65,535 бајтова, па обе стране морају уговорити TCP скалирање прозора (RFC 7323).“ - „За попуњавање ове путање потребан је прозор од
‹window›— што је изнад највећег прозора који TCP може уговорити (1,073,725,440 бајтова). Један ток на овој путањи никада не може премашити‹value›.“ - „Повећање пријемног прозора на
‹window›омогућило би овом преносу да достигне до‹value›.“ - „Губитак изнад 1% је изван поузданог опсега Mathis-овог модела — сматрајте границу губитка оптимистичном проценом.“
За лако дељење и чување података, дугме Копирај резултат омогућава преузимање свих израчунатих вредности у привремени меморијски простор.
Математички модел и формуле
Прорачуни се заснивају на следећим математичким релацијама и формулама за замену вредности:
проток = min(брзина × ефикасност, прозор ÷ RTT, MSS ÷ RTT ÷ √(p))
BDP = брзина × RTT
Кораци у израчунавању:
- Ефикасност протокола: Ефикасност протокола = MSS ÷ (MSS + 78 B) = mss ÷ frame = eff (где је 40 B заглавља пакета + 38 B на физичком слоју).
- Граница везе: Граница везе = брзина × ефикасност = rate × eff = value.
- BDP: BDP = брзина × RTT = rate × rtt = bdp = bytes.
- Прозор за попуњавање путање: Прозор за попуњавање путање = BDP ÷ 8 = bdp → window.
- Граница прозора: Граница прозора = прозор ÷ RTT = window ÷ rtt = value.
- Граница губитка (Mathis): Граница губитка (Mathis) = MSS ÷ RTT ÷ √(p) = mss ÷ rtt ÷ √(p) = value.
- Очекивани проток: Очекивани проток = најнижа од ових граница = value → ограничено са: constraint.
- Време преноса: Време преноса = RTT + 8 × величина ÷ проток = rtt + 8 × size ÷ throughput = time.
Правила, ограничења и мрежни стандарди
- Протоколарни трошкови: Модел узима у обзир стандардни Ethernet који додаје 78 бајтова по пакету (40 бајтова за TCP/IP заглавља и 38 бајтова за физички слој и међупакетски размак).
- Mathis-ов модел: Овај модел претпоставља равномерно распоређен и независан губитак пакета. Поуздан је само за стопе губитка испод 1%. Ако губитак пређе ову границу, алат приказује упозорење.
- TCP скалирање прозора (RFC 7323): Стандардни TCP прозор без скалирања износи максимално 65,535 бајтова. За брзе мреже са већим кашњењем неопходно је користити скалирање дефинисано у RFC 7323. Апсолутни максимум који се може уговорити овим путем износи 1,073,725,440 бајтова.
- Претпоставке модела: Прорачун важи за устаљено стање једног TCP тока. Фактори попут спорог почетка (slow start), динамичког подешавања контроле загушења, спорог примаоца и TLS руковања нису део овог модела, па стварни преноси могу бити спорији од израчунатих теоријских граница.
Често постављана питања (FAQ)
Шта је производ пропусног опсега и кашњења (BDP) и зашто он одређује величину прозора?
BDP — брзина везе × време повратног пута — јесте количина података у преносу у било ком тренутку. TCP може имати највише један непотврђени прозор у току, па прозор мањи од BDP-а оставља везу делимично празном: на 100 Mbit/s са RTT-ом од 50 ms веза прима 625 kB, а прозор од 65,535 бајтова попуњава једва десетину тога. Зато је брзим путањама са великим кашњењем потребно TCP скалирање прозора (RFC 7323), које подиже максималну преговарачку границу са 65,535 бајтова на око 1 GB.
Зашто је мој пренос спорији од брзине везе коју плаћам?
Један TCP ток се суочава са три независне границе, и најнижа побеђује. Протоколарни трошкови умањују саму везу за око 5% — стандардни Ethernet оквир преноси 1,460 бајтова корисног терета од укупно 1,538 бајтова на физичном слоју. Пријемни прозор ограничава проток на вредност прозор ÷ RTT, па класични прозор од 65,535 бајтова ограничава путању са кашњењем од 50 ms на око 10.5 Mbit/s без обзира на то колико је брза веза. Такође, губитак пакета га ограничава на (MSS ÷ RTT) ÷ √губитак. Горњи резултат именује која граница представља уско грло за Ваше бројеве.
Како губитак пакета ограничава TCP проток?
TCP третира губитак као загушење и преполовљује своју брзину слања при сваком губитку, па чак и сићушне стопе губитка утичу на брзим путањама. Mathis-ов модел процењује границу као (MSS ÷ RTT) ÷ √p — при губитку од 0.01% на путањи од 50 ms са MSS-ом од 1,460 бајтова то износи око 23 Mbit/s, без обзира на брзину везе. Модел претпоставља равномерно распоређене, независне губитке; испод отприлике 1% добро прати стварност, док је за губитке у налетима оптимистичан.
Да ли су мегабајти овде исти као у мом менаџеру датотека?
Не сасвим. Ова страница користи децималне јединице, што је стандард у мрежама: 1 kbit = 1,000 бита и 1 MB = 1,000,000 бајтова. Већина менаџера датотека рачуна у јединицама заснованим на 1024, често погрешно означеним као MB — датотека од „100 MB“ тамо је обично 100 MiB ≈ 104.86 децималних MB, па је за њен пренос потребно око 5% више времена него што то децимални број сугерише. Унесите 104.86 MB овде да бисте добили тачно поклапање.