16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado...

23
Routing por software, ¿De verdad? Fernando García Fernández 16/05/19

Transcript of 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado...

Page 1: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Routing por software, ¿De verdad?

Fernando García Fernández

16/05/19

Page 2: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

.Toda empresa tiene una red de pruebasAlgunas tienen una red de producción

Page 3: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Buenas y malas noticias:- Ya tengo una charla para el GORE-24- Estoy en estado de investigación

Page 4: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

LA IDEA 01

Page 5: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Proyecto● "construir" un router usando commodity server● Hardware ya existente● Software ya existente

○ (basado en Linux, por supuesto)

Page 6: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

¿Porque?● Porque podemos● POC sustituir un IYFNM por commodity server

Insert Your Favourite Network Manufacturer

Page 7: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface
Page 8: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Software a usar● FRRouting● VPP

Page 9: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Routing 02

Page 10: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

FRRouting

FRRouting (https://frrouting.org)

Suite de routing (BGP, OSPF, IS-IS)..

Routing, No Switching.

Spinoff de Quaga

Page 11: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Instalación

Fácil (nivel script kidie)

Se apoya en el kernel, no "toca" hardware, sin

incompatibilidades

Puede funcionar stand-alone.

Page 12: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Configuración

CLI propio dentro del linux (telnet 127.0.0.1 2605)

Configuración estilo IOS

algunas funcionalidades desde el propio Linux

Configuracion de interfaces

NAT

Conmutación de paquetes por el kernel de Linux

Page 13: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

PERO FUNCIONA!!!

Page 14: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Operacion

Full BGP (IPv4 y IPv6) i.e. 720.000 y 50.000 rutas

NAT

Entorno FTTH casero (300 Mbps full duplex)

Conmutación por el kernel

Page 15: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Problemas

Lentitud

Se podía ver Netflix

Pero muchas operaciones se hacían lentas

BGP monohilo (varios minutos recibir la tabla de rutas)

Page 16: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Conmutacion en el kernel

user space

KernelInterface

Interface

Driver

Driver

pkt mgr

FRR

Page 17: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Switching 03

Page 18: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

VPP

Vector Packet Processing

https://wiki.fd.io/view/VPP

Aceleración de switching basado en DPDK.

Usado en los ASR-9000 de Cisco

Page 19: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Conmutacion VPP

user space

Kernel

Interface

Interface

DPDK + VPP FRR

Page 20: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

FRR + VPP

En eso estamos

VPP Necesita compilación con opciones

Paquete precompilado para Vagrant.

Desplegar en baremetal………….

Page 21: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Inconvenientes 04

Page 22: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

Open Source

A los programadores no les gusta escribir documentación

Solución compilada y empaquetada a medida

Sólo se soporta cierto hardware

Page 23: 16/05/19 - ESNOG Routing por software.pdfVector Packet Processing Aceleración de switching basado en DPDK. Usado en los ASR-9000 de Cisco . Conmutacion VPP user space Kernel Interface

¿Preguntas?