Determinarea performanței reale a unui flux TCP unic
Performanța maximă a unei conexiuni de rețea nu este dictată doar de lățimea de bandă brută pe care o oferă furnizorul de servicii. În cazul unui singur flux TCP, rata de transfer reală este rezultatul unei interacțiuni complexe între latența căii, dimensiunea bufferelor de recepție, pierderile de pachete și overhead-ul de protocol.
Instrumentul de calcul determină plafonul de performanță în stare stabilă pentru un singur flux TCP, identificând care dintre cele trei limite independente reprezintă blocajul principal: capacitatea fizică a legăturii, fereastra de recepție sau rata de pierdere a pachetelor. Toate calculele sunt efectuate local, direct în browserul utilizatorului, fără ca datele introduse să fie încărcate pe servere externe.
Parametrii de intrare ai modelului de rețea
Pentru a evalua comportamentul conexiunii, sunt necesari următorii parametri de configurare a căii de rețea și ai protocolului:
- Rata legăturii: Reprezintă cea mai lentă conexiune de pe traseu — adesea viteza nominală a abonamentului dvs. Valoarea trebuie să fie mai mare decât zero.
- Timp de propagare dus-întors (RTT): Timpul de ping până la capătul celălalt, utilizând cea mai mare valoare pe care o estimați sub sarcină. Valoarea trebuie să fie mai mare decât zero.
- Dimensiune date: Volumul total de date utile de mutat, cum ar fi un fișier, o copie de rezervă sau un set de date. Valoarea trebuie să fie mai mare decât zero.
- Fereastră de recepție: Cantitatea de octeți pe care receptorul îi poate stoca în buffer. Valoarea trebuie să fie mai mare decât zero și nu poate depăși limita absolută de 1,073,725,440 octeți. Lăsarea acestui câmp gol indică absența unei limite pentru fereastră.
- MSS (octeți): Dimensiunea maximă a segmentului (Maximum Segment Size), reprezentând octeții de date utile per pachet. Valoarea trebuie să fie un număr întreg de octeți între 1 și 65,495. Dacă acest câmp este lăsat gol, modelul ignoră overhead-ul și pierderile.
- Pierdere de pachete (%): Probabilitatea medie de pierdere a pachetelor pe calea de transmisie. Valoarea trebuie să fie cuprinsă între 0 și 100 de procente. Lăsarea câmpului gol sau introducerea valorii 0 indică absența unei limite cauzate de pierderi.
- Zecimale afișate: Controlează precizia zecimală a rezultatelor afișate în interfață.
Interfața pune la dispoziție butoanele Încarcă exemplu pentru popularea rapidă a câmpurilor cu valori demonstrative și Șterge pentru resetarea completă a formularelor.
Analiza rezultatelor și formulele de calcul
După introducerea datelor, calculatorul generează un set complet de indicatori de performanță grupați în secțiuni specifice.
Debit și timp de transfer
Indicatorul principal este reprezentat de Debit TCP estimat, însoțit de o etichetă dinamică ce indică factorul restrictiv sub forma: limitat de capacitatea legăturii, fereastra de recepție sau pierderea de pachete.
Sunt calculați și afișați următorii parametri suplimentari:
- Timp de transfer
- Timp până la primul octet (1 RTT)
- Timp transfer în masă
- Produs lățime de bandă-întârziere
- Fereastră pentru a umple calea
- Debit limitat de fereastră
- Debit limitat de pierderi (Mathis)
- Limită legătură după overhead
- Eficiență protocol
Formule și înlocuire
Relațiile matematice utilizate pentru determinarea fiecărui plafon de performanță sunt detaliate transparent în secțiunea de înlocuire:
- Formula generală:
debit = min(rată × ef, fereastră ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = rate × RTT - Eficiență protocol:
Eficiență protocol = MSS ÷ (MSS + 78 B) = ‹mss› ÷ ‹frame› = ‹eff› (antete pachet de 40 B + 38 B pe fir) - Limită legătură:
Limită legătură = rată × eficiență = ‹rate› × ‹eff› = ‹value› - BDP:
BDP = rată × RTT = ‹rate› × ‹rtt› = ‹bdp› = ‹bytes› - Fereastră pentru a umple calea:
Fereastră pentru a umple calea = BDP ÷ 8 = ‹bdp› → ‹window› - Limită fereastră:
Limită fereastră = fereastră ÷ RTT = ‹window› ÷ ‹rtt› = ‹value› - Limită pierderi (Mathis):
Limită pierderi (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value› - Debit estimat:
Debit estimat = cea mai mică dintre aceste limite = ‹value› → limitat de ‹constraint› - Timp de transfer:
Timp de transfer = RTT + 8 × dimensiune ÷ debit = ‹rtt› + 8 × ‹size› ÷ ‹throughput› = ‹time›
Rezultatele obținute pot fi exportate rapid prin intermediul butonului Copiază rezultatul.
Reguli de calcul, limitări și cazuri speciale
Pentru a asigura acuratețea interpretării fizice a rețelei, modelul aplică un set strict de reguli tehnice:
- Convenția unităților de măsură: Toate unitățile utilizate sunt strict zecimale (de exemplu, 1 kbit = 1,000 biți, 1 MB = 1,000,000 de octeți). Managerele de fișiere din sistemele de operare utilizează de regulă unități binare bazate pe 1024 (unde un fișier raportat ca având "100 MB" este de fapt de 100 MiB, echivalentul a aproximativ 104.86 MB zecimali).
- Modelarea overhead-ului: Calculele de eficiență se bazează pe standardul Ethernet, adăugând un overhead fix de 78 de octeți per pachet (compus din 40 de octeți pentru antetele TCP/IP și 38 de octeți reprezentați de overhead-ul fizic de transmisie pe fir).
- Domeniul de aplicare al modelului Mathis: Ecuația Mathis presupune o distribuție uniformă și independentă a pierderilor de pachete. Aceasta oferă rezultate de încredere doar pentru rate de pierdere de sub 1%. Dacă pierderea introdusă depășește 1%, sistemul va afișa avertismentul: "Pierderea de peste 1% este în afara intervalului de încredere al modelului Mathis — tratați limita de pierderi ca fiind optimistă."
- Scalarea ferestrei TCP (RFC 7323):
- Fereastra TCP standard, nescalată, are o limită superioară de 65,535 de octeți. Dacă fereastra necesară pentru a umple calea depășește această valoare, se afișează notificarea: "Umplerea acestei căi necesită o fereastră de
‹window›— peste maximul nescalat de 65,535 de octeți, deci ambele capete trebuie să negocieze scalarea ferestrei TCP (RFC 7323)." - Limita absolută pe care TCP o poate negocia prin mecanismul de scalare RFC 7323 este de 1,073,725,440 octeți. Dacă necesarul depășește acest prag, sistemul avertizează: "Umplerea acestei căi necesită
‹window›— peste cea mai mare fereastră pe care TCP o poate negocia (1,073,725,440 octeți). Un singur flux pe această cale nu poate depăși niciodată‹value›."
- Fereastra TCP standard, nescalată, are o limită superioară de 65,535 de octeți. Dacă fereastra necesară pentru a umple calea depășește această valoare, se afișează notificarea: "Umplerea acestei căi necesită o fereastră de
- Optimizarea ferestrei: Atunci când performanța este limitată strict de o fereastră de recepție prea mică, sistemul sugerează o soluție directă: "Mărirea ferestrei de recepție la
‹window›ar permite acestui transfer să atingă până la‹value›." - Excluderi din model: Calculele descriu un comportament teoretic în stare stabilă pentru un singur flux TCP. Factori dinamici reali precum faza de pornire lentă (slow start), algoritmul de control al congestiei, limitările de procesare ale receptorului sau negocierile de securitate (handshake-ul TLS) nu sunt incluse în formule. Prin urmare, transferurile reale vor începe mai lent și pot înregistra performanțe inferioare plafoanelor calculate.
Mesaje de eroare și validări
Sistemul validează riguros datele introduse pentru a preveni erorile de calcul, afișând mesaje specifice în caz de neconcordanță:
- Dacă un câmp conține caractere nevalide:
"‹field›: “‹token›” nu este un număr." - Dacă rata legăturii este zero sau negativă:
"Rata legăturii trebuie să fie mai mare decât zero." - Dacă timpul de propagare dus-întors este zero sau negativ:
"Timpul de propagare dus-întors trebuie să fie mai mare decât zero." - Dacă dimensiunea datelor este zero sau negativă:
"Dimensiunea datelor trebuie să fie mai mare decât zero." - Dacă fereastra de recepție este zero sau negativă:
"Fereastra de recepție trebuie să fie mai mare decât zero." - Dacă fereastra depășește limita fizică a protocolului:
"TCP nu poate negocia o fereastră mai mare de 1,073,725,440 octeți (scalarea ferestrei RFC 7323)." - Dacă MSS este în afara limitelor fizice:
"MSS trebuie să fie un număr întreg de octeți între 1 și 65,495." - Dacă rata de pierdere este în afara intervalului procentual:
"Rata de pierdere trebuie să fie între 0 și 100 de procente." - Dacă limitele matematice ale sistemului sunt depășite:
"O valoare sau un rezultat intermediar depășește intervalul de numere acceptat."
Confidențialitate și procesare locală
Fiecare valoare pe care o introduceți este calculată direct în acest browser — nimic nu este trimis nicăieri. Procesarea datelor se realizează instantaneu în mediul de execuție local al utilizatorului, asigurând că parametrii de rețea sau dimensiunile fișierelor analizate nu părăsesc dispozitivul personal.
Întrebări frecvente
De ce este transferul meu mai lent decât rata legăturii pentru care plătesc?
Un singur flux TCP se confruntă cu trei limite independente, iar cea mai mică dintre ele câștigă. Overhad-ul de protocol reduce legătura propriu-zisă cu aproximativ 5% — un cadru Ethernet standard transportă 1,460 de octeți de date utile din 1,538 pe fir. Fereastra de recepție limitează debitul la fereastră ÷ RTT, astfel încât fereastra clasică de 65,535 de octeți limitează o cale de 50 ms la aproximativ 10.5 Mbit/s, indiferent de cât de rapidă este legătura. Iar pierderea îl limitează la (MSS ÷ RTT) ÷ √pierdere. Rezultatul de mai sus indică ce limită este restrictivă pentru numerele dvs.
Ce este produsul lățime de bandă-întârziere și de ce stabilește dimensiunea ferestrei?
BDP — rata legăturii × timpul de propagare dus-întors — reprezintă cantitatea de date aflate în tranzit în orice moment. TCP poate avea cel mult o singură fereastră neconfirmată în așteptare, așa că o fereastră mai mică decât BDP lasă canalul parțial gol: la 100 Mbit/s cu un RTT de 50 ms, canalul conține 625 kB, iar o fereastră de 65,535 de octeți umple abia o zecime din acesta. De aceea, căile rapide și lungi au nevoie de scalarea ferestrei TCP (RFC 7323), care ridică maximul negociabil de la 65,535 de octeți la aproximativ 1 GB.
Cum limitează pierderea de pachete debitul TCP?
TCP tratează pierderea ca pe o congestie și își înjumătățește rata de trimitere la fiecare eveniment de pierdere, așa că până și ratele mici de pierdere contează pe căile rapide. Modelul Mathis estimează limita ca fiind (MSS ÷ RTT) ÷ √p — la o pierdere de 0.01% pe o cale de 50 ms cu un MSS de 1,460 de octeți, aceasta este de aproximativ 23 Mbit/s, indiferent de viteza legăturii. Modelul presupune evenimente de pierdere distribuite uniform și independente; sub aproximativ 1% urmărește bine realitatea, iar pentru pierderile în rafală este optimist.
Sunt megabytes de aici aceiași cu cei din managerul meu de fișiere?
Nu chiar. Această pagină folosește unități zecimale, convenția din rețele: 1 kbit = 1,000 de biți și 1 MB = 1,000,000 de octeți. Majoritatea managerelor de fișiere numără în unități bazate pe 1024, adesea etichetate greșit ca MB — un fișier de „100 MB” de acolo are de obicei 100 MiB ≈ 104.86 MB zecimali, deci durează cu aproximativ 5% mai mult de mutat decât sugerează cifra zecimală. Introduceți 104.86 MB aici pentru a se potrivi exact.