RF Blog: No todos los Mbps son iguales – enlaces Punto a Punto.
Cuando se piensa en un enlace Punto a Punto, la mayoría busca pasar la mayor cantidad de Mbps posibles, lo que en un ejemplo podría equivaler a la velocidad máxima que un auto puede lograr. Pero ¿cómo saber la velocidad máxima de un auto? ¿Es éste el número más alto que aparece impreso en el velocímetro? ¿Es la velocidad que el auto puede alcanzar en neutro bajando una colina empinada? O ¿Es la velocidad máxima que puedo alcanzar en el mundo real con el acelerador a fondo en una carretera nivelada?
Para mí la velocidad máxima es aquella que puedo lograr corriendo en una autopista nivelada, es decir, en escenario real. Pero si dijimos que los km/h son equivalentes a los Mbps, entonces ¿por qué seguimos creyendo que la velocidad máxima de un enlace PtP es aquella que logra en neutro bajando por una colina? Para comprender el porqué de esta afirmación es importante entender qué son los poco conocidos paquetes por segundo (PPS) y cuál es su importancia.

Los paquetes por segundo son, como su nombre indica, la cantidad de paquetes de datos que un enlace puede mover por cada segundo. Éstos paquetes contienen datos que llevan diferentes tipos de información, incluyendo audio, video, texto, archivos, etc. Y cada uno de estos paquetes tiene un tamaño: existen paquetes pequeños de 64bytes usados por ICMP (ping), VoIP y mensajería instantánea, hasta paquetes grandes de 1500 bytes o más. Una buena forma de entender por qué los paquetes tienen diferentes tamaños es el ejemplo del periódico (diario en algunos países). Si quiero recibir los periódicos de todo el año puedo hacerlo de dos formas: recibir cada día 1 periódico (paquete) durante 365 días, o puedo el último día del año recibir un gran paquete de 365 periódicos. Si bien, ambas formas transmiten la misma información, la primera donde se transmiten 365 diferentes paquetes, uno cada día, es mucho más útil que la segunda. Es decir, el momento (timing) lo es todo, es por esto que hay paquetes pequeños. El lado “malo” de estos paquetes pequeños es que se requiere un gran número de ellos para enviar una determinada cantidad de información. Por ejemplo para mover 1 MB de datos debo enviar 16,000 paquetes de 64 bytes. En cambio, al usar paquetes de 1,500 bytes sólo debo enviar 683 paquetes (es cierto que hay un overhead, pero para efectos de simplificación omito esta parte, la que en todo caso hace la diferencia aún mayor). Pero como vimos en el ejemplo del periódico hay información que NO puede almacenarse por mucho tiempo para enviar un único gran paquete de 1,500 bytes, ya que si llega fuera de tiempo ya no es útil. Y por lo tanto, debo enviar sí o sí paquetes pequeños de 64 bytes para que la información llegue en el momento que debe llegar.
En este momento ustedes podrían decir: "OK Salvador, hasta aquí te sigo… pero aún no entiendo a dónde vas". Ésta es la parte donde la cosa se pone interesante. Si quiero mover 100Mbps, en cada segundo se transferirán 12.5MB (ya que 1 byte = 8 bits), lo que se puede hacer de dos maneras: La primera forma es dividir estos 12.5MB en paquetes de 1,500 bytes lo que nos da 8,333 paquetes (en realidad son algo así como 10,000+ paquetes debido al overhead del protocolo TCP). La otra forma es dividir estos 12.5MB en paquetes de 64 bytes, lo que nos da 195,313 paquetes (en realidad son algo así como 230,000+ paquetes debido al overhead del protocolo TCP). Pero los equipos basados en 802.11n/ac (WiFi) deben pasar todo el tráfico por el CPU, lo que limita la cantidad de paquetes por segundo a sólo 25,000PPS en equipos 802.11n, como airMax M, y en equipos basados en 802.11ac, como airMax 5AC, sólo pueden mover alrededor de 50,000 PPS. Es decir, ¡los equipos basados en 802.11ac, como airMax 5AC, sólo pueden mover hasta 25 Mbps usando paquetes de 64 bytes! Para quienes no lo puedan creer, y estén pensando “pero mi equipo dice 400+Mbps de velocidad y en el speedtest me da un valor cercano”, pueden calcularlo ustedes mismos 50,000PPS*64bytes = 3.x MBps = 25 Mbps. Quizás sea incluso un poco menos debido al overhead del protocolo TCP. Es importante recordar que la mayoría de los speedtest usan UDP y paquetes de 1,500 bytes.
¡Pero momento, esto no puede ser! Ya que la caja del producto dice 400+Mbps. Bueno, para “lograr” estos 400Mbps se asumen que se usan 80MHz de espectro (algo poco realista, pero que trataremos en un próximo capítulo) y se mueven sólo paquetes de 1,500 bytes. Pero como acabamos de revisar esto es sumamente poco realista, ya que muchísimos paquetes son de 64 bytes, o valores como 128 o 256 bytes. Por lo tanto estos 400+Mbps (800+Mbps si es un equipo que usa doble canal de 80MHz) es equivalente a decir que la velocidad máxima de un Nissan V16 es de 400KM/h! Si bien es cierto que el velocímetro marca eso (asumiendo obvio que puede marcar la velocidad pasados 200KM/h) no quiere decir que sea una velocidad alcanzable en el escenarios reales. A menos que todos los días se conduzca en una colina con una bajada de 10KM con 45 grados de inclinación y con el auto en neutro!

Es por esto que para entender la velocidad máxima REAL de un auto, en nuestro caso nuestros enlaces Punto a Punto, debemos hacerlo en un escenario real, es decir, donde muchos paquetes no son de 1,500 bytes, si no que hay varios de 64 bytes o 128 bytes. Ahora hablemos del Porsche, los airFiber pueden mover 1,000,000 de paquetes por segundo. Sí, leíste bien 1 millón de paquetes por segundo!. Esto se logra debido a que el tráfico no pasa por el CPU y es manejado directamente por el FPGA, por lo que no existe el cuello de botella del CPU, lo que tiene como ventaja adicional una latencia mínima y estable. ¿Y en qué se traduce este millón de PPS? Bueno, simple, al multiplicar 1,000,000*64bytes = 61MBps = 488Mbps, es decir, con paquetes de 64 bytes se pueden mover 488Mbps, que es 20 veces más capacidad que los 25Mbps que se logran con la tecnología 802.11ac.
Comentarios
"Pero los equipos basados en 802.11n/ac (WiFi) deben pasar todo el tráfico por el CPU, lo que limita la cantidad de paquetes por segundo a sólo 25,000PPS en equipos 802.11n, como airMax M, y en equipos basados en 802.11ac, como airMax 5AC, sólo pueden mover alrededor de 50,000 PPS. Es decir, ¡los equipos basados en 802.11ac, como airMax 5AC, sólo pueden mover hasta 25 Mbps usando paquetes de 64 bytes"
Saludos
</font><div><div><font face="Arial" size="2">Los paquetes por segundo son, como su nombre indica, la cantidad de paquetes de datos que un enlace puede mover por cada segundo. Éstos paquetes contienen datos que llevan diferentes tipos de información, incluyendo audio, video, texto, archivos, etc. Y cada uno de estos paquetes tiene un tamaño: existen paquetes pequeños de 64bytes usados por ICMP (ping), VoIP y mensajería instantánea, hasta paquetes grandes de 1500 bytes o más. Una buena forma de entender por qué los paquetes tienen diferentes tamaños es el ejemplo del periódico (diario en algunos países). Si quiero recibir los periódicos de todo el año puedo hacerlo de dos formas: recibir cada día 1 periódico (paquete) durante 365 días, o puedo el último día del año recibir un gran paquete de 365 periódicos. Si bien, ambas formas transmiten la misma información, la primera donde se transmiten 365 diferentes paquetes, uno cada día, es mucho más útil que la segunda. Es decir, el momento (timing) lo es todo, es por esto que hay paquetes pequeños. El lado “malo” de estos paquetes pequeños es que se requiere un gran número de ellos para enviar una determinada cantidad de información. Por ejemplo para mover 1 MB de datos debo enviar 16,000 paquetes de 64 bytes. En cambio, al usar paquetes de 1,500 bytes sólo debo enviar 683 paquetes (es cierto que hay un overhead, pero para efectos de simplificación omito esta parte, la que en todo caso hace la diferencia aún mayor). Pero como vimos en el ejemplo del periódico hay información que NO puede almacenarse por mucho tiempo para enviar un único gran paquete de 1,500 bytes, ya que si llega fuera de tiempo ya no es útil. Y por lo tanto, debo enviar sí o sí paquetes pequeños de 64 bytes para que la información llegue en el momento que debe llegar.</font></div><div><font face="Arial" size="2"> </font></div><div><font face="Arial" size="2">En este momento ustedes podrían decir: "OK Salvador, hasta aquí te sigo… pero aún no entiendo a dónde vas". Ésta es la parte donde la cosa se pone interesante. Si quiero mover 100Mbps, en cada segundo se transferirán 12.5MB (ya que 1 byte = 8 bits), lo que se puede hacer de dos maneras: La primera forma es dividir estos 12.5MB en paquetes de 1,500 bytes lo que nos da 8,333 paquetes (en realidad son algo así como 10,000+ paquetes debido al overhead del protocolo TCP). La otra forma es dividir estos 12.5MB en paquetes de 64 bytes, lo que nos da 195,313 paquetes (en realidad son algo así como 230,000+ paquetes debido al overhead del protocolo TCP). Pero los equipos basados en 802.11n/ac (WiFi) deben pasar todo el tráfico por el CPU, lo que limita la cantidad de paquetes por segundo a sólo 25,000PPS en equipos 802.11n, como airMax M, y en equipos basados en 802.11ac, como airMax 5AC, sólo pueden mover alrededor de 50,000 PPS. Es decir, ¡los equipos basados en 802.11ac, como airMax 5AC, sólo pueden mover hasta 25 Mbps usando paquetes de 64 bytes! Para quienes no lo puedan creer, y estén pensando “pero mi equipo dice 400+Mbps de velocidad y en el speedtest me da un valor cercano”, pueden calcularlo ustedes mismos 50,000PPS*64bytes = 3.x MBps = 25 Mbps. Quizás sea incluso un poco menos debido al overhead del protocolo TCP. Es importante recordar que la mayoría de los speedtest usan UDP y paquetes de 1,500 bytes.</font></div><div><font face="Arial" size="2"> </font></div><div><font face="Arial" size="2">¡Pero momento, esto no puede ser! Ya que la caja del producto dice 400+Mbps. Bueno, para “lograr” estos 400Mbps se asumen que se usan 80MHz de espectro (algo poco realista, pero que trataremos en un próximo capítulo) y se mueven sólo paquetes de 1,500 bytes. Pero como acabamos de revisar esto es sumamente poco realista, ya que muchísimos paquetes son de 64 bytes, o valores como 128 o 256 bytes. Por lo tanto estos 400+Mbps (800+Mbps si es un equipo que usa doble canal de 80MHz) es equivalente a decir que la velocidad máxima de un Nissan V16 es de 400KM/h! Si bien es cierto que el velocímetro marca eso (asumiendo obvio que puede marcar la velocidad pasados 200KM/h) no quiere decir que sea una velocidad alcanzable en el escenarios reales. A menos que todos los días se conduzca en una colina con una bajada de 10KM con 45 grados de inclinación y con el auto en neutro!</font></div></div><div><font face="Arial"><br></font></div><font face="Arial"><img src="https://forum-es.ubnt.com/uploads/imageupload/133/0Z1DPQJ68R08.png" alt="Screen Shot 2016-06-14 at 12.56.31 PM" title="Screen Shot 2016-06-14 at 12.56.31 PM"></font>
<div><font face="Arial" size="2"><br></font></div><div><font face="Arial"><font size="2">Es por esto que para entender la velocidad máxima REAL de un auto, en nuestro caso nuestros enlaces Punto a Punto, debemos hacerlo en un escenario real, es decir, donde muchos paquetes no son de 1,500 bytes, si no que hay varios de 64 bytes o 128 bytes. Ahora hablemos del Porsche, los airFiber pueden mover 1,000,000 de paquetes por segundo. Sí, leíste bien 1 millón de paquetes por segundo!. Esto se logra debido a que el tráfico no pasa por el CPU y es manejado directamente por el FPGA, por lo que no existe el cuello de botella del CPU, lo que tiene como ventaja adicional una latencia mínima y estable. ¿Y en qué se traduce este millón de PPS? Bueno, simple, al multiplicar 1,000,000*64bytes = 61MBps = 488Mbps, es decir, con paquetes de 64 bytes se pueden mover 488Mbps, que es 20 veces más capacidad que los 25Mbps que se logran con la tecnología 802.11ac.</font><br></font></div></blockquote>