¿Qué determina el grado de paralelismo que puede ocurrir en una red?

7

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.

Sean Long
fuente
2
Muy amplio tema. En DSL tiene inicio, es altamente paralelo entre su módem de inicio y DSLAM de extremo lejano (diferentes símbolos enviados en diferentes frecuencias). Su conexión inalámbrica en casa es paralela. Ethernet óptico es serial a menos que supere los 10GE (e incluso 10GE en multimodo de corto alcance puede ser paralelo). Una vez que el paquete está realmente en Internet, hay varias tecnologías como ECMP y 802.1AX para introducir paralelismo, pero no está dentro de un solo paquete. Esperemos que alguien pueda encontrar una respuesta más coherente.
ytti
Intentaré aclarar un poco, no me di cuenta de que era tan dependiente de la configuración local (pensé que, si algo, la NIC ayuda a dividirlo).
Sean Long
Ah, y nada de esto tiene nada que ver con los hilos más rápidos que el paralelismo no es visible para la red en absoluto. Eso es solo un código lento que empuja los paquetes y para compensar el código lento, ejecuta más al mismo tiempo, pero no introduce paralelismo a nivel de paquete.
ytti

Respuestas:

6

¿Qué determina el grado de paralelismo que puede ocurrir en una red?

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.

Mike Pennington
fuente
5

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.

Brett Lykins
fuente