Etherblade.net Encapsulador y sustituci贸n de importaciones para componentes de red (segunda parte)

imagen

En el primer art铆culo, quer铆a mostrar que el desarrollo de FPGA es una tarea interesante, y la implementaci贸n de un encapsulador de flujo es un proyecto bastante simple que bien podr铆a actuar como un proyecto acad茅mico para estudiantes senior o estudiantes de posgrado.

Aunque vale la pena hacer el dise帽o del hardware solo por diversi贸n, en este art铆culo quiero prestar atenci贸n al valor pr谩ctico de esta lecci贸n. En particular, nuestra conversaci贸n continuar谩 sobre c贸mo crear una infraestructura de red para operadores de telecomunicaciones utilizando el encapsulador Etherblade.net implementado en FPGA.

Este texto es una idea de las tecnolog铆as de red y para encajar en un tema tan extenso dentro del marco de un art铆culo, decid铆 escribirlo en el contexto de alg煤n plan de acci贸n o, si lo desea, la respuesta a la siguiente pregunta: "C贸mo reemplazar el equipo usando FPGA y c贸digo abierto de la manera m谩s eficiente posible". de Cisco y Juniper ".
Entonces comencemos.

El concepto de SDN (red definida por software) contra grandes proveedores


Tradicionalmente, durante d茅cadas, los equipos de red han sido fabricados por gigantes como Cisco y Juniper. Hoy, los grandes operadores de redes que desarrollan sus propios equipos de red se est谩n convirtiendo en la nueva norma. El objetivo que quieren lograr es la independencia de los proveedores de componentes y un mejor control sobre la infraestructura.

En Rusia, por razones pol铆ticas, este enfoque asociado con el reemplazo de productos de terceros con sistemas con un mayor porcentaje de componentes intelectuales desarrollados localmente (bloques de propiedad intelectual o n煤cleos de propiedad intelectual) generalmente se denomina sustituci贸n de importaciones.

Debe entenderse que las grandes corporaciones tienen una gran cantidad de recursos de ingenier铆a y dependen de un modelo de desarrollo integrado verticalmente. 驴Y qu茅 hay de los fabricantes relativamente peque帽os?

La falta de recursos puede compensarse con c贸digo abierto. Y la falta de integraci贸n vertical con la distribuci贸n correcta de subtareas entre jugadores m谩s peque帽os.

La arquitectura de los dispositivos de red producidos tradicionalmente por grandes proveedores se segmenta f谩cilmente. Para paralelizar el proceso y resaltar subtareas individuales, el concepto de SDN (red definida por software) sugiere segmentar la arquitectura de los dispositivos de red en niveles, en particular, separando el nivel de gesti贸n de red (plano de control) del nivel de dispositivos de transferencia de datos (plano de datos).

Observo que hoy el SDN se ha convertido en una poderosa herramienta de marketing para grandes proveedores que lo presentan como un conjunto de "nuevas caracter铆sticas" 煤tiles para el usuario final. Lo curioso es que hist贸ricamente, como ya se帽al茅, el concepto de SDN se cre贸 justo en contraste con los gigantes de la industria.

Entonces, SDN ofrece un modelo de arquitectura de un enrutador de red en forma desmontada. Nuestra tarea es identificar el componente que nos interesa en este modelo y comenzar a desarrollarlo.

"Comencemos por lo peque帽o": encapsulaci贸n en enrutadores y superposici贸n SDN


Es natural resolver todas las necesidades del mundo de una vez. Por lo tanto, cuando se construyen sistemas grandes, tiene sentido comenzar con poco y hacer que el sistema sea extensible, de modo que se pueda introducir una funcionalidad adicional integrando bloques adicionales o modificando los existentes. Con las palabras "comenzar con poco" me refiero a la selecci贸n de alguna funci贸n de red completa suficiente para construir un sistema que funcione.

En el proyecto Etherblade.net, como tales funciones, se decidi贸 implementar un mecanismo para encapsular el tr谩fico de red.

La encapsulaci贸n en redes es una cosa com煤n. "Desegreguemos" el enrutador y consideremos c贸mo sus componentes se corresponden con los componentes del modelo SDN y determinemos qu茅 lugar ocupa la encapsulaci贸n en ambos modelos.

Por ejemplo, tome uno de los enrutadores que se muestran en la figura al comienzo del art铆culo y descr铆balo en la figura a continuaci贸n, pero ya en forma "preparada".
En la misma figura, contrastamos el enrutador con un "modelo SDN superpuesto" alternativo que proporciona una funcionalidad similar.

imagen

El nivel superior (verde) es el plano de control / orquestaci贸n SDN. Este es el cerebro del sistema, de hecho, el microprocesador en el que se ejecuta el software de red de control. En los enrutadores tradicionales, este componente est谩 integrado. En SDN, esta funcionalidad generalmente se lleva a un "controlador de orquestaci贸n" externo, una computadora que sirve a muchos dispositivos de red.

Nivel medio (azul): ruta de reenv铆o. El papel principal de este nivel es la provisi贸n de transporte de red (conmutaci贸n / enrutamiento de tr谩fico). En los enrutadores tradicionales: esta funcionalidad se implementa como una unidad de conmutaci贸n interna. En nuestro modelo de "superposici贸n SDN", la funci贸n de este componente de "conmutaci贸n" se puede reducir completamente conectando directamente los dispositivos de borde (caja blanca) a la red de transporte.

Inferior (naranja): borde / nivel de acceso. En estos componentes, se producen todas las manipulaciones con el tr谩fico de red, como la encapsulaci贸n y otras conversiones de protocolos. Este nivel se caracteriza por una alta velocidad de procesamiento y funcionalidad determinista, un gran lugar para ASIC / FPGA. En los enrutadores tradicionales, esta funcionalidad se implementa en m贸dulos lineales (tarjetas de l铆nea), en SDN estos son los llamados "dispositivos de caja blanca".

Por lo tanto, resumiendo lo anterior, podemos decir que Etherblade.net es esencialmente un proyecto para desarrollar dispositivos "whitebox" para "SDN-overlay".

"Reenviar a centros de datos !!!" - encapsulador en funci贸n de NFV (virtualizaci贸n de funciones de red)


Habiendo descubierto c贸mo se ve estructuralmente el sistema que estamos desarrollando, tiene sentido hablar sobre las opciones para su realizaci贸n f铆sica.

imagen

A la izquierda hay un encapsulador Etherblade como un dispositivo CPE separado (versi贸n del campus). A la derecha est谩 el encapsulador Etherblade implementado dentro del servidor (opci贸n para centros de datos).

Es interesante que al implementar un encapsulador en una placa con una interfaz PCIe y "ocultar" esta placa dentro del servidor, podemos crear la ilusi贸n de virtualizar esta funci贸n de red. Este enfoque se llama NFV: virtualizaci贸n de funciones de red.

El concepto de NFV implica deshacerse de dispositivos de red externos como firewalls, equilibradores de carga, etc. debido a la virtualizaci贸n de sus funciones dentro de los servidores. La implementaci贸n del encapsulador como una funci贸n NFV nos permite deshacernos de los enrutadores "edge" f铆sicos.

Entonces, NFV est谩 de moda y conveniente. La dificultad es que, en t茅rminos de dise帽o de hardware, frenar PCIe no es tan f谩cil como ethernet. Si ethernet es un protocolo serie serial, entonces PCIe es un protocolo transaccional complejo con muchos estados finales (esencialmente una pila de red implementada en hardware). No olvide que el sistema operativo requiere los controladores adecuados para funcionar con el dispositivo PCIe.

Una de las soluciones m谩s elegantes para el problema es el uso de placas FPGA, similar a la que se muestra al principio del art铆culo. La siguiente figura muestra la arquitectura de la placa y ambas opciones para implementar el encapsulador en ella.

imagen

Como puede ver, esta placa FPGA tiene adaptadores de red "externos" integrados, que son esencialmente convertidores entre Ethernet y PCIe. Por lo tanto, la implementaci贸n del encapsulador en tales dispositivos hace posible obtener NFV "de inmediato", sin problemas innecesarios con PCIe y controladores de escritura.

De "privado a general": creaci贸n de un repositorio abierto de n煤cleos IP de red


Uno no puede estar en desacuerdo con el hecho de que hoy en d铆a hay muchos ASIC de red especializados (por ejemplo, de Broadcom) que pueden traducir cualquier proyecto de este tipo en otra historia de la serie "Disfrutando trabajando con FPGA". El escepticismo es apropiado en este caso, sin embargo, quiero recordarle que el proyecto Etherblade.net no se limita a crear un dispositivo de red separado. El objetivo principal de Etherblade.net es crear un repositorio abierto de n煤cleos IP parametrizados y documentados.

Este repositorio puede convertirse en una base efectiva para crear una amplia gama de dispositivos de red (incluidos los m谩s ex贸ticos), que a su vez se pueden implementar tanto en FPGA como en forma de ASIC.

Sobre esto, termino. En el pr贸ximo art铆culo, iremos directamente al dise帽o de hardware, pero por ahora lo invito a que se familiarice con el proyecto m谩s cerca de etherblade.net .

Source: https://habr.com/ru/post/484108/


All Articles