Estoy tratando de aprender más sobre cómo una red (tanto LAN como Internet) maneja el tráfico, y una parte de esto es la cuestión del paralelismo.
En la documentación de Speedtest.net, al describir cómo funciona exactamente la prueba, menciona que se pueden usar "hasta 4 hilos", sin describir en qué consisten esos hilos.
Mi pregunta es, ¿qué determina el grado de paralelismo que puede ocurrir en una red? Sé que una vez que una señal llega al servidor de destino, todo depende de los recursos de ese servidor y del programa receptor. Pero, ¿cómo funciona el paralelismo en la red?
Por ejemplo, ¿la tarjeta de interfaz de red toma la solicitud y la divide para una transferencia más rápida a través del cable? ¿O simplemente empaqueta todo en trozos más grandes y deja que un enrutador / conmutador haga eso?
Específicamente, estoy tratando de entender esto desde un sentido de red empresarial> comercial, por lo que no me preocupan cosas como un módem de cable local o un adaptador DSL local.
fuente
Respuestas:
Vamos a basar algunas cosas ...
Speedtest.net configura 4 sockets TCP paralelos en javascript entre el navegador web y su servidor de ancho de banda. Speedtest.net transfiere datos masivos a través de estos sockets y luego cronometra los resultados para obtener mediciones de rendimiento.
4 Las secuencias TCP paralelas ayudan a superar la latencia y la pérdida de paquetes en el camino entre la velocidad más rápida ... las secuencias TCP paralelas son mucho mejores para superar estos desafíos que un solo socket TCP ... Vea esta respuesta del superusuario para ver un ejemplo de cómo puede hacerlo esto desde la línea de comandos de Linux.
Realmente no importa si los flujos son paralelos entre los mismos hosts o diferentes hosts, Ethernet puede manejar miles de flujos paralelos simultáneos ... ni siquiera sabe el número exacto de sockets paralelos que existen más allá del ancho de banda que consumen.
fuente
Supongo que estás hablando principalmente sobre Ethernet 10/100/1000. La clave para entender es que, en lo que respecta a Ethernet, solo puede enviarse una trama a la vez (una enviada y otra recibida si está funcionando en Full Duplex). No hay "paralelismo" en el sentido de que más de una trama abandone la NIC en un momento dado. Aquí es donde entra en juego una discusión sobre buffers y colas, que no abordaré aquí.
El sistema que usa la tarjeta de red es capaz de mantener muchos flujos de tráfico diferentes, destinados a muchas ubicaciones diferentes (o todas a la misma ubicación). Sin embargo, no abandonan la NIC al mismo tiempo.
Recomendaría leer el artículo de Wikipedia sobre Ethernet o consultar el libro de O'Reilly Ethernet: The Definitive Guide para obtener más información. Ambos lo vinculan a muchas fuentes relevantes.
Como señaló Ytti en los comentarios anteriores, esto también puede variar mucho en función de las tecnologías de enlace de datos / red que estamos discutiendo.
fuente