Agregar puertos Ethernet - aumentar en gbps

0

Me preguntaba cómo escalaría esto. Si tiene un puerto Ethernet en un dispositivo y puede manejar 1 Gb / s, digamos, puede manejar 1 Gb de datos cada segundo, ¿no?

Pero si agrega más puertos Ethernet, ¿la cantidad de datos que el dispositivo puede recibir aumenta linealmente?

    
pregunta dylnmc

3 respuestas

3

Sí, asumiendo que los siguientes dos detalles son verdaderos:

  1. El dispositivo puede utilizar ambos puertos al mismo tiempo, y el software puede manejar varias conexiones a la vez. Esto a menudo no es cierto, pero para los sistemas integrados, puede hacerlo si lo diseña.
  2. La red de conmutación puede manejarlo, es decir, si tiene una conexión de 1 Gb / s que va a su ISP o dispositivo en cuestión y un enrutador, ejecutar 2Gb / s de ancho de banda desde su computadora al enrutador no hará nada.

Por ejemplo, trabajo para una compañía de dispositivos médicos y tenemos un gran sistema integrado que ejecuta 4 10Gb / s Copper Ethernet. Ahora se utiliza un protocolo UDP semi personalizado y Jumbo Frames, por lo que no es una locura gestionarlo. Sin embargo, para aprovechar esto, aprovechamos algunos FPGA de Altera para manejar los datos en un nivel de hardware / firmware mucho antes de que un software real lo toque y el nivel de SO / Software lo vea como una conexión Ethernet única para que los programas puedan aprovecharse.

    
respondido por el MadHatter
3

En teoría sí. En la práctica, no siempre tan fácil.

1Gbit / s es esencialmente el estándar de velocidad de bits en el cable. Los puertos Ethernet pueden estar conectados a un bus back-end que tiene un ancho de banda limitado, especialmente si está combinando múltiples.

Ejemplo: hay muchas tarjetas adicionales USB3.0 a PCI-e 1x. USB3.0 puede alcanzar un rendimiento de 5 Gbit, pero PCI-e 2.0 1x (común en el momento en que USB3.0 se va a la corriente) solo aumenta el ancho de banda de datos de 4Gbit / s. Entonces, aunque agrega 2x puertos USB 3.0, no puede ni siquiera (o apenas como @ alex.forenich señaló) saturar un solo puerto.

Además, Ethernet utiliza paquetes bastante pequeños para transferir datos. A 1500 bytes max. carga, puede tener hasta 81000 paquetes / segundo a 1 Gbit / s de tráfico. Si cada paquete se maneja individualmente a través de interrupciones, eso puede acumular una gran cantidad de tiempo de CPU. Esto podría mejorarse utilizando marcos jumbo.

El protocolo utilizado puede no escalar con varias conexiones. P.ej. algunos conmutadores (high-end) pueden admitir la agregación de enlaces, pero solo pueden proporcionar el doble ancho de banda en varias conexiones TCP.

    
respondido por el Hans
1

Es posible "unir" varios puertos en ciertas circunstancias. En general, ambos extremos del enlace deben admitir esto, de lo contrario no funcionará correctamente. Consulte enlace .

Ahora, utilizar ese ancho de banda es una historia diferente. En general, la vinculación se usaría para cosas como los enlaces ascendentes del conmutador, es decir, tiene un conmutador 1G de 48 puertos y une 4 puertos para un enlace ascendente 4G. Si hay cuellos de botella a lo largo del camino, entonces el ancho de banda utilizable podría ser significativamente limitado. Y estos cuellos de botella pueden ser internos o externos, es decir, entre la CPU y la NIC, o entre los conmutadores de la red.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas