GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué un enrutador de hardware funciona mejor que un enrutador Linux con mejores especificaciones (RAM y CPU)?

Solución 1:

ASIC.

En lugar de utilizar una CPU de propósito general y un software específico para tareas, puede omitir el software y simplemente hacer que el silicio maneje la tarea directamente.

El hardware de red de alto rendimiento utiliza ASIC en lugar de software para las tareas computacionalmente pesadas (pero relativamente simples desde el punto de vista lógico) de algo como comparar una dirección IP con una enorme tabla de enrutamiento de Internet, verificar una tabla CAM para una decisión de conmutación o verificar un paquete contra una ACL . Esto marca una enorme diferencia en la velocidad de esas operaciones sensibles al tiempo, proporcionando una ventaja significativa sobre una CPU de uso general.

Solución 2:

Un enrutador dedicado de gama alta puede superar a una PC con una CPU más rápida y más RAM porque puede hacer más enrutamiento en el hardware.

Es la misma razón por la que un conmutador Gigabit Ethernet de $ 60 puede superar a una PC de $ 2,000 con 4 tarjetas GigE de dos puertos que actúan como un conmutador Ethernet. El interruptor está construido desde cero para ser un interruptor.

Solución 3:

¿"Aparte de IOS"?

IOS hace casi toda la diferencia. CentOS es un sistema operativo de propósito general. Está diseñado para funcionar lo suficientemente bien en una amplia gama de escenarios, utilizando una amplia gama de configuraciones de hardware diferentes. IOS, por otro lado, está extremadamente ajustado para manejar solo el tipo de cargas de trabajo que esperaría de un equipo de red, utilizando los tipos de hardware muy específicos que encontraría en los equipos de Cisco.

Saber exactamente las piezas de hardware para las que está programando lo llevarán muy lejos en términos de rendimiento frente a compatibilidad.

Solución 4:

Tanto el software como el hardware tienen algo que decir. Tengo la comparación de Intel y TP-Link NIC (que utiliza un chip Realtek en su núcleo) en hardware de servidor genérico, así como software de enrutamiento específico y genérico.

En el lado del hardware, si el ASIC integrado puede manejar el tráfico IP, la carga del procesador puede ser menor y, por lo tanto, más rápida. He notado que los dos chips INtel NIC integrados se comunican directamente por DMA, sin pasar por la CPU principal en el manejo del reenvío de paquetes; mientras tanto, el chip Realtek se interrumpe cada vez que llega un paquete.

Por el lado del software, si el software está diseñado para usarse en el enrutamiento, se puede hacer más eficiente. He usado tanto pfSense+PF (un FreeBSD modificado destinado a ser usado como enrutador) como Ubuntu 12.04+iptables de propósito genérico como software de enrutamiento y el primero cambia claramente el tráfico mucho más rápido. (Ubuntu 14.04 ahora es casi igual de rápido, gracias a los nuevos nftables en el kernel de Linux 3.13).

Sin embargo, el enrutador dedicado tiene un inconveniente importante:no puede realizar mucho más que cambiar el tráfico y no se puede virtualizar. Mi enrutador perimetral actual es una máquina virtual dentro de mi clúster ESXi que ejecuta Ubuntu 14.04 y también actúa como un sistema de detección de intrusos y equilibrador de carga.

Solución 5:

AFAIK, es la sobrecarga de un sistema operativo de propósito general; independientemente de la velocidad de sus conexiones, los paquetes se tratan paquete por paquete dentro del contexto del kernel, lo que aumenta la latencia y la tensión en el sistema. Creo que ya se ha explicado en las otras Respuestas mejor de lo que podría hacerlo.

Habiendo dicho eso, hay tecnologías nuevas y prometedoras que están aumentando en popularidad y viabilidad que podrían crear un competidor más formidable de los sistemas Linux en este y en otros aspectos; es decir, InfiniBand

Eche un vistazo a las siguientes preguntas y respuestas sobre StackOverflow:¿Cómo se implementa la omisión del kernel de TCP?

Lectura adicional:

  • Un tutorial en CCGrid '11:Infiniband y 10 Gigabit Ethernet para principiantes
  • InfiniBand y Linux en un artículo de LinuxJournal
  • Acceso a InfiniBand desde Linux - Intel DeveloperZone
  • Proyecto InfiniBand OpenSource

Linux
  1. Por qué a los programadores les encanta el empaquetado de Linux

  2. ¿Por qué Printf es mejor que Echo?

  3. ¿Por qué un VPS de Linux es una mejor opción que un VPS de Windows?

  4. ¿Por qué rand() repite números con mucha más frecuencia en Linux que en Mac?

  5. ¿Por qué mi nombre de host aparece con la dirección 127.0.1.1 en lugar de 127.0.0.1 en /etc/hosts?

8 razones por las que Linux Mint es mejor que Ubuntu para principiantes de Linux

11 razones por las que Linux es mejor que Windows

Linux vs Mac:7 razones por las que Linux es una mejor opción que Mac

Cómo ejecutar el software de Windows en Linux con botellas

Encuentre información de hardware del sistema Linux con Hwinfo

Personalice Grub para obtener una mejor experiencia con Linux