El rendiment real d'una connexió de xarxa rarament coincideix amb la velocitat nominal del canal físic. Quan les dades es transfereixen mitjançant un únic flux TCP, factors com la latència, la capacitat de memòria intermèdia del receptor i la pèrdua de paquets actuen com a límits físics i matemàtics estrictes. La calculadora de latència i amplada de banda de xarxa permet modelar aquests paràmetres per identificar quin d'ells actua com a coll d'ampolla actiu i calcular el temps estimat de transferència d'un volum de dades determinat.
El funcionament del càlcul de rendiment TCP
El rendiment d'un flux TCP en estat estacionari es regeix pel límit més baix de tres factors independents: la capacitat física de l'enllaç (ajustada per l'eficiència del protocol), la finestra de recepció disponible i la taxa de pèrdua de paquets. La fórmula general que descriu aquest comportament és:
throughput = min(rate × eff, window ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = rate × RTT
On:
- rate representa la velocitat de l'enllaç.
- eff és l'eficiència del protocol, determinada per la mida màxima de segment (MSS) i el cost addicional de les capçaleres.
- window és la finestra de recepció de TCP.
- RTT és el temps d'anada i tornada (Round-Trip Time).
- p és la probabilitat de pèrdua de paquets.
A l'interfície de l'eina, el resultat principal es mostra sota l'etiqueta Rendiment TCP esperat, acompanyat del text dinàmic limitat per ‹constraint›, on la restricció es defineix com la capacitat de l'enllaç, la finestra de recepció o la pèrdua de paquets.
Paràmetres de xarxa i dades d'entrada
Per utilitzar la calculadora, s'han de configurar els següents camps de la secció Camí, Transferència i Paràmetres TCP:
- Velocitat de l'enllaç: El salt més lent del camí, sovint la velocitat contractada del vostre pla. S'ha d'especificar una unitat de velocitat i el valor ha de ser superior a zero.
- Temps d'anada i tornada (RTT): El temps de ping a l'extrem llunyà, utilitzant el valor més gran que s'esperi sota càrrega. Ha de ser superior a zero.
- Mida de les dades: La càrrega útil a moure, com ara un fitxer, una còpia de seguretat o un conjunt de dades. Ha de ser superior a zero.
- Finestra de recepció: Els bytes que el receptor pot emmagatzemar a la memòria intermèdia. Un valor buit indica que no hi ha límit de finestra, mentre que un valor introduït ha de ser superior a zero i no pot superar els 1,073,725,440 bytes.
- MSS (en bytes): Els bytes de càrrega útil per paquet (on 1,460 bytes omplen una trama Ethernet estàndard). Ha de ser un nombre sencer entre 1 i 65,495. Si es deixa buit, s'ignora el cost addicional i la pèrdua.
- Pèrdua de paquets (%): La probabilitat mitjana de pèrdua de paquets, que ha d'estar entre el 0 i el 100 per cent. Un valor buit o 0 indica que no hi ha límit de pèrdua.
- Decimals mostrats: Controla la precisió decimal dels resultats.
L'usuari disposa dels botons Carrega un exemple per autoemplenar els camps amb dades de prova, Neteja per restablir el formulari i Copia el resultat per desar les dades calculades al porta-retalls.
Eficiència del protocol i límits de l'enllaç
La transmissió de dades a través d'Ethernet afegeix un cost addicional de protocol de 78 bytes per paquet, que es desglossa en 40 bytes per a les capçaleres TCP/IP i 38 bytes de línia física. L'eficiència es calcula mitjançant la fórmula:
Eficiència del protocol = MSS ÷ (MSS + 78 B) = ‹mss› ÷ ‹frame› = ‹eff› (capçaleres de paquet de 40 B + 38 B a la línia física)
Aquesta eficiència redueix la velocitat nominal de l'enllaç per obtenir el Límit de l'enllaç després del cost addicional:
Límit de l'enllaç = velocitat × eficiència = ‹rate› × ‹eff› = ‹value›
El Producte de Retard d'Amplada de Banda (BDP) i la Finestra TCP
El producte de retard d'amplada de banda (BDP) defineix el volum de dades que han d'estar en trànsit simultàniament per saturar el camí de xarxa. Es calcula com:
BDP = velocitat × RTT = ‹rate› × ‹rtt› = ‹bdp› = ‹bytes›
A partir d'aquest valor, es determina la Finestra per omplir el camí:
Finestra per omplir el camí = BDP ÷ 8 = ‹bdp› → ‹window›
Si la finestra de recepció configurada és inferior a aquest requisit, el rendiment es veurà limitat pel receptor:
Límit de la finestra = finestra ÷ RTT = ‹window› ÷ ‹rtt› = ‹value›
Regles d'escala de la finestra (RFC 7323)
El protocol TCP clàssic té un límit de finestra sense escala de 65,535 bytes. Segons les condicions del camí, l'eina genera avisos dinàmics:
- Si per omplir el camí es requereix una finestra superior a 65,535 bytes, es mostra la nota: "Per omplir aquest camí es necessita una finestra de
‹window›, per sobre del màxim sense escala de 65,535 bytes, de manera que ambdós extrems han de negociar l'escala de finestra TCP (RFC 7323).". - El límit absolut que TCP pot negociar mitjançant l'escala de finestra de l'RFC 7323 és d'1,073,725,440 bytes. Si el camí requereix un valor superior, es mostra l'avís: "Per omplir aquest camí es necessita ‹window›, que supera la finestra més gran que TCP pot negociar (1,073,725,440 bytes). Un únic flux en aquest camí mai no podrà superar ‹value›.".
- Si la finestra de recepció introduïda limita la transferència, es mostra la nota: "Augmentar la finestra de recepció a
‹window›permetria que aquesta transferència arribés fins a‹value›.".
El model de pèrdua de Mathis
Quan hi ha pèrdua de paquets a la xarxa, el rendiment de TCP es degrada ràpidament perquè el protocol interpreta la pèrdua com una congestió de la línia. El model de Mathis estima aquest límit mitjançant la fórmula:
Límit per pèrdua (Mathis) = MSS ÷ RTT ÷ √p = ‹mss› ÷ ‹rtt› ÷ √‹p› = ‹value›
Aquest model assumeix una pèrdua de paquets distribuïda de manera uniforme i independent. Només és fiable per a taxes de pèrdua inferiors a l'1% aproximadament. Si la pèrdua introduïda supera aquest llindar, l'eina mostra l'avís: "La pèrdua superior a l'1% està fora del rang fiable del model de Mathis; considereu el límit de pèrdua com a optimista.".
Estimació del temps de transferència
Un cop determinat el rendiment esperat (el valor més baix dels límits calculats), el temps total de transferència es calcula sumant el temps d'anada i tornada inicial (necessari per establir la connexió) al temps requerit per transmetre la càrrega útil:
Temps de transferència = RTT + 8 × mida ÷ rendiment = ‹rtt› + 8 × ‹size› ÷ ‹throughput› = ‹time›
Aquest càlcul es desglossa en el Temps fins al primer byte (1 RTT) i el Temps de transferència massiva.
Exclusions del model i comportament real
Els càlculs d'aquesta eina assumeixen un estat estacionari i un únic flux TCP. En entorns reals, hi ha diversos factors que fan que les transferències comencin més a poc a poc o quedin per sota dels límits calculats:
- Inici lent de TCP (Slow Start): TCP augmenta gradualment la quantitat de dades en trànsit al començament de la connexió.
- Ajust del control de congestió: Els algorismes de control de congestió reaccionen de manera dinàmica a les condicions de la xarxa.
- Receptors lents: Limitacions en el processament de la CPU o en l'escriptura en disc del receptor.
- Acoblaments TLS: El procés de negociació de seguretat afegeix RTTs addicionals abans de l'enviament de dades.
- Unitats de mesura: Totes les unitats de l'eina són decimals (1 kbit = 1,000 bits, 1 MB = 1,000,000 bytes), mentre que els gestors de fitxers solen utilitzar unitats binàries basades en 1024 (on 100 MB reals del sistema equivalen a uns 104.86 MB decimals).
Gestió d'errors de validació
L'eina valida estrictament les dades introduïdes i mostra missatges d'error específics si no es compleixen els requisits:
- Si un camp no es pot processar: "
‹field›: «‹token›» no és un nombre.". - Si la velocitat de l'enllaç és igual o inferior a zero: "La velocitat de l'enllaç ha de ser superior a zero.".
- Si el RTT és igual o inferior a zero: "El temps d'anada i tornada ha de ser superior a zero.".
- Si la mida de les dades és igual o inferior a zero: "La mida de les dades ha de ser superior a zero.".
- Si la finestra de recepció és igual o inferior a zero: "La finestra de recepció ha de ser superior a zero.".
- Si la finestra supera el límit de l'RFC 7323: "El protocol TCP no pot negociar una finestra superior a 1,073,725,440 bytes (escala de finestra RFC 7323).".
- Si l'MSS està fora de rang: "L'MSS ha de ser un nombre sencer de bytes entre 1 i 65,495.".
- Si la taxa de pèrdua està fora de rang: "La taxa de pèrdua ha d'estar entre el 0 i el 100 per cent.".
- Si es produeix un desbordament numèric: "Un valor o resultat intermedi supera el rang de nombres admès.".
Privadesa de les dades
Cada valor que introduïu es calcula en aquest navegador; no s'envia res enlloc. El processament es realitza de manera totalment local al dispositiu de l'usuari.
Preguntes freqüents (FAQ)
Què és el producte de retard d'amplada de banda i per què defineix la mida de la finestra?
El BDP (velocitat de l'enllaç × temps d'anada i tornada) és la quantitat de dades en trànsit en qualsevol moment. El protocol TCP només pot tenir com a màxim una finestra pendent de confirmació, de manera que una finestra més petita que el BDP deixa el canal parcialment buit: a 100 Mbit/s amb un RTT de 50 ms, el canal conté 625 kB, i una finestra de 65,535 bytes en cobreix a penes una desena part. És per això que els camins ràpids i llargs necessiten l'escala de finestra TCP (RFC 7323), que eleva el màxim negociable de 65,535 bytes a aproximadament 1 GB.
Per què la meva transferència és més lenta que la velocitat d'enllaç que pago?
Un únic flux TCP s'enfronta a tres límits independents, i el més baix és el que mana. El cost addicional del protocol redueix el propi enllaç en un 5% aproximadament: una trama Ethernet estàndard transporta 1,460 bytes de càrrega útil dels 1,538 que viatgen per la línia física. La finestra de recepció limita el rendiment a finestra ÷ RTT, de manera que la clàssica finestra de 65,535 bytes limita un camí de 50 ms a uns 10.5 Mbit/s, per molt ràpid que sigui l'enllaç. I la pèrdua el limita a (MSS ÷ RTT) ÷ √pèrdua. El resultat de dalt indica quin límit s'aplica als vostres números.
Com limita la pèrdua de paquets el rendiment de TCP?
El protocol TCP tracta la pèrdua com a congestió i redueix a la meitat la seva velocitat d'enviament en cada esdeveniment de pèrdua, de manera que fins i tot taxes de pèrdua minúscules importen en camins ràpids. El model de Mathis estima el límit com a (MSS ÷ RTT) ÷ √p; amb una pèrdua del 0.01% en un camí de 50 ms amb un MSS d'1,460 bytes, això és d'uns 23 Mbit/s, independentment de la velocitat de l'enllaç. El model assumeix esdeveniments de pèrdua independents i distribuïts uniformement; per sota de l'1% aproximadament s'ajusta bé a la realitat, i per a pèrdues en ràfegues és optimista.
Els megabytes d'aquí són els mateixos que els del meu gestor de fitxers?
No del tot. Aquesta pàgina utilitza unitats decimals, la convenció de xarxes: 1 kbit = 1,000 bits i 1 MB = 1,000,000 de bytes. La majoria de gestors de fitxers compten en unitats basades en 1024, sovint etiquetades erròniament com a MB: un fitxer de «100 MB» allà sol ser de 100 MiB ≈ 104.86 MB decimals, de manera que triga un 5% més a transferir-se del que suggereix la xifra decimal. Introduïu 104.86 MB aquí per fer-ho coincidir exactament.