Principio de reenvío de enrutamiento de hardware del sistema Linux

  
                

En los sistemas Linux, el reenvío de rutas se refiere a un protocolo en el que las señales se transfieren de un sitio a otro. Debido a que algunas señales se reenvían y otras no se reenvían, constituyen un mundo de red complejo. Este artículo presentará el principio de reenvío del enrutamiento de hardware del sistema Linux.

esquemas de hardware de reenvío:

Tenga en cuenta que no hay optimización, puede intentar algunos consejos para una mayor optimización, se puede utilizar directamente para mapear la norma TCAM Es En esta imagen, muestro en detalle cómo se realiza la lógica de "prefijo más largo" y, en el caso de la tabla de reenvío de enrutamiento de TCAM, a menudo se dibuja como una caja negra llamada "Controlador lógico de prioridad". Sin embargo, este circuito lógico es relativamente simple, creo que puedes diseñarlo tú mismo si piensas un poco.

De hecho, en la figura anterior, hay un contenedor llamado "Anti-Mask", que se organiza bit a bit junto a la clave de comparación de la línea de bits detrás del decodificador. Este es un estándar. La práctica de TCAM se ha ido.

Acerca del direccionamiento del contenido y el direccionamiento de la dirección

Todos sabemos que el caché es caro, por lo que no puede ser demasiado grande, y el contenido puede ser muy grande porque es más barato.

¿Pero puedes explicarlo desde una perspectiva técnica? De hecho, la diferencia es caro y barato debido a razones técnicas, nos fijamos en la matriz de memoria de circuito de la memoria:

Esta es una matriz muy típica, es también muy simple. Pero para el circuito de la CAM, no es tan simple, como se muestra en la siguiente figura:

Para el TCAM, el cuidado necesario añadir una lógica, aún más complejo, no sólo es la complejidad del circuito, el consumo de energía también aumenta Cabe señalar que en el proceso de coincidencia CAM /TCAM, todas las partes del circuito funcionan simultáneamente.

Acerca del hardware HASH

Mucha gente dice que hay un hardware HASH en la memoria caché de la CPU, como tomar los nth to m bits de la dirección, de hecho, ¡es una operación de cambio de módulo! Esto solo lo pueden ver los programadores. Los algoritmos HASH más simples que los programadores saben son más complicados que esto. De hecho, los ingenieros de hardware rechazan el ajetreo y el bullicio del programador, ya que se centran en cómo hacer que el circuito funcione al mismo tiempo con el menor consumo de energía y la menor escala del circuito. CAM /TCAM usa hardware HASH, hardware muy simple HASH, pero el circuito puede funcionar al mismo tiempo. Este es un gran problema con los hashes de software. Los hashes de software están diseñados para hacer que las distribuciones de hash sean más uniformes y el rendimiento promedio sea mejor. Por lo tanto, la varianza promedio de la longitud de la lista conflictiva es la más pequeña. El hash del software está diseñado para resolver conflictos, y el hardware HASH no necesita hacer esto, porque cuando el software parece tener que atravesar en serie la lista de conflictos, el hardware se puede hacer simultáneamente.

CPU para ejecución secuencial

Las computadoras están diseñadas para ser un modelo de ejecución secuencial, y las instrucciones se ejecutan una después de la otra. Esto se debe a que simula completamente el comportamiento de las personas en el mundo real. Esto significa que todos los pasos algorítmicos que se ejecutan en la computadora se implementan en serie en el tiempo, y un buen algoritmo está diseñado para minimizar el tiempo. Sin embargo, el diseño del circuito de hardware no sigue la forma en que las personas reales hacen las cosas, al menos no demasiado. Una persona no puede hacer muchas cosas al mismo tiempo. El proceso de ejecución del circuito de hardware se parece más a un proceso de inundación. Debido a la energía potencial, la inundación va (¡al mismo tiempo!) A todos los lugares a los que puede ir, e instantáneamente se traga todo.

Lo anterior es el principio de reenvío del enrutamiento de hardware del sistema Linux. Por supuesto, el reenvío de enrutamiento es solo una parte del enlace de red de Linux y, por supuesto, la parte más insustituible.

Copyright © Conocimiento de Windows All Rights Reserved