Routers de Altas Prestaciones José José Duato Duato Román Román García García DISCA Departamento de Informática de Sistemas y Computadores 1 Índice • • • Marco operativo de un router de altas prestaciones Bloques funcionales IP forwarding – Direccionamiento IP • Subnetting • Supernetting – Algoritmos y estructuras de datos para consulta rápida en tabla forwarding • Trie • Patricia – Otros esquemas de direccionamiento • IPX / IPX+ • CNLP • IPv6 BIBLIOGRAFIA 1. R. PERLMAN, Interconections (2º edition): Bridges, Routers, Switches and Internetworking Protocols. Ed: Addison-Wesley 1999. 2. L. PETERSON & B.S. DAVIE, Computer Networks: a systems approach (2º edition), Morgan Kaufmann Publishers, 2000. 3. D. COMER, Internetworking with TCP/IP (vol-1). 4ªEdición, Ed: Prentice-Hall, 2000. 4. 5. 6. … http://www.redes.disca.upv.es/rap 2 Routers de altas prestaciones (RAP) SONET / RPR / ... 3 DWDM:Dense Wavelength Division Mxing • • Multiplexación de varias señales de diferente longitud de onda en una única fibra. Cada señal puede tener diferentes velocidades (p.ej. OC–3/12/24, etc.) y diferentes formatos (SONET, ATM, etc.) – Ejemplo: una red DWDM con un mix de señales SONET que funcionan a OC–48 (2.5 Gbps) y OC–192 (10 Gbps) puede alcanzar capacidades de más de 40 Gbps. • Se prevé que en el futuro DWDM podrá llevar hasta 80 señales de tipo OC–192, por un total de 800 Gbps. 4 DWDM 5 6 7 Inyección de datos en fibra 8 Synchronous Optical Network (SONET) Multiplexación TDM síncrona • Elementos: – – – Multiplexores n:1 y 1:n Convertidores y repetidores. Multiplexores ADM. ADM 34 RDSI PRI M U X STS-3 STS-1 M U X M STS-1 U X Convertidor electro-óptico STS-12 OC-12 STS-1 9 SONET: Tasas de datos • Canal básico SONET: STS-1 – Una trama de 810 bytes cada 125useg (51.84Mbps) – El resto de canales es múltiplo del básico SONET SDH Tasa de datos Optico Mbps Eléctrico Optico STS-1 OC-1 STS-3 OC-3 STM-1 155.52 STS-9 OC-9 STM-3 466.56 STS-12 OC-12 STM-4 622.08 STS-18 OC-18 STM-6 933.12 STS-24 OC-24 STM-8 1202.688 STS-36 OC-36 STM-12 1866.24 STS-48 OC-48 STM-16 2488.32 STS-192 OC-192 STM-64 9953,28 51.84 10 SONET vs Resilient Packet Ring (RPR) 11 12 Detalle de conexión de routers physical location where an interexchange carrier installed equipment to interconnect with a local exchange carrier 13 14 Packet Over Sonet (6 marzo del 2001)(Fuente: Juniper Networks) 15 16 Juniper M40 17 18 Abilene Architecture: Core • • • Router Nodes located at Qwest PoPs – Cisco 12008 GSR – ICS Unix PC: IPPM and Network Mgmt – Cisco 3640 Remote Access for NOC – 100BaseT LAN and ‘console port’ access – Remote 48v DC Power Controllers Initially, ten Router Nodes – Seattle, Sacramento, Los Angeles, Denver, Kansas City, Houston, Indianapolis, Cleveland, New York City, Atlanta – And, coming this Fall - Washington, DC Interior lines connect core nodes – OC-12 and OC-48 Sonet – IP-over-Sonet interfaces 19 20 21 22 23 Routers de altas prestaciones (RAP) • Encaminamiento “wired-speed” – switches (ATM – Ethernet) • tramas (celdas) de tamaño fijo • búsqueda en tablas con direcciones de tamaño fijo – routers Æ mas complejo • paquetes de tamaño variable • longest-match lookups • Evolución de Internet – best-effort service Æ fiable (QoS) Æ MPLS 24 MPLS Route At Edge, Switch In Core IP IP IP Forwarding #L1 IP #L2 IP #L3 IP IP Forwarding LABEL SWITCHING 25 LABEL SWITCHED PATH (vanilla) #216 #14 #311 #99 #311 #963 #311 #963 #14 #612 #5 #462 #99 #311 26 HOP-BY-HOP(Vanilla) LDP #216 #963 #14 #612 #462 #311 #99 #5 - Ultra fast, simple forwarding a.k.a switching - Follows same route as normal IP datapath - So like IP, LDP will over-utilize best paths and under-utilize less good paths. 27 Label Switched Path (Two Types) #427 #216 #819 #77 #18 #963 #14 #612 #462 #99 #5 #311 Two types of Label Switched Paths: • Hop by hop (“Vanilla” LDP) • Explicit Routing (LDP+”ER”) 28 Índice • • • Marco operativo de un router de altas prestaciones Bloques funcionales IP forwarding – Direccionamiento IP • Subnetting • Supernetting – Algoritmos y estructuras de datos para consulta rápida en tabla forwarding • Trie • Patricia – Otros esquemas de direccionamiento • IPX / IPX+ • CNLP • IPv6 29 RAP: Bloques funcionales • 2 TAREAS FUNDAMENTALES: 1) Routing 2) Packet forwarding • 4 ELEMENTOS ESENCIALES: 1) Routing software routing protocols (OSPF, BGP4,…) routing tables + system control 2) Packet processing de-encapsulado longest-match route encolado en salida re-encapsulado 3) Switch fabric mover paquetes inÆout crossbar, banyan, Clos, … 4) Line cards Adaptar a N-1 y N-2 SONET, ATM, 10GE,… 30 Juniper M40 31 Índice • • • Marco operativo de un router de altas prestaciones Bloques funcionales IP forwarding – Direccionamiento IP • Subnetting • Supernetting – Algoritmos y estructuras de datos para consulta rápida en tabla forwarding • Búsqueda binaria • Trie • Patricia – Otros esquemas de direccionamiento • IPX / IPX+ • CNLP • IPv6 32 IP forwarding • Hosts y routers realizan encaminamiento indirecto (a través de otros routers) • Frecuentemente hosts sólo utilizan un router (default), pero en general hosts y routers pueden hacer uso de múltiples routers • Pregunta : ¿ Que router (next-hop) usar ? • ¿Cómo se informa un router de cual es el mejor camino a usar ? • Si la tabla de encaminamiento es muy grande…¿Qué algoritmo y que estructura de datos son necesarios para que un router encamine eficientemente a su next-hop ? 33 IP forwarding: Tablas de encaminamiento • Hosts y routers mantienen tablas que contienen la información de encaminamiento • Siendo precisos… • Tablas de routing Æ usadas para calcular rutas óptimas • Tablas de forwarding Æ utilizadas para consultar el next-hop • Las tablas de forwarding se generan por los protocolos de routing, que utilizan las tablas de routing para el calculo de las rutas óptimas. 34 Encaminamiento Búsqueda en la tabla de forwarding Æ función crítica El tamaño y la complejidad de las tablas de forwarding depende de • Tipo direccionamiento utilizado • plano o jerarquizado • direcciones tipo Seguridad Social, MAC, … • n-niveles de jerarquía, tipo red telefónica • direcciones de tamaño fijo o variable • Tamaño (número de redes/hosts) de Internet • 200.000 redes (año 2002) • El número de hosts se dobla cada año Objetivo Æ routers IP Otros esquemas de direccionamiento N-3: • IPX • CLNP • IPv6 35 Direccionamiento IPv4 • 3 clases primarias: A, B y C • Direccionamiento jerarquizado a 2 niveles: NET-ID + HOST-ID 36 IPv4: Problemas Problemas del direccionamiento IP tradicional • Tablas de encaminamiento muy grandes en routers • +2M redes clase C • Clases muy rígidas • Problema si red > 254 hosts • Problema si red << 65534 hosts • Agotamiento de las dir. IP ¿ Como minimizar el nº de dir. de red (especialmente el de clase B) ? • Compartiendo el mismo net-id para varias redes Æ Subnetting ¿ Como gestionar más eficientemente las clases (A, B, C) ? • Eliminándolas Æ Supernetting 37 Subnetting (RFC 950) • Red clase B Æ 65.534 host – técnicamente posible pero – impracticable por acumulación de tráfico de difusión • Solución: 1 dir NET-ID Æ multiples redes físicas 38 Subnetting tamaño fijo • El estándar TCP/IP permite elegir cuantos bits se utilizan para subnetting 39 Subnetting tamaño variable • • • Preguntar Técnica recursiva Máxima flexibilidad Problemas de ambigüedad Æ desaconsejado (?) 40 Encaminamiento con subnetting • • • Direccionamiento jerárquico Æ Encaminamiento jerárquico No queda afectado el encaminamiento desde fuera de la red lógica siempre y cuando las redes físicas sean contiguas. – Muy complicado propagar la información de subnetting. No todos los protocolos lo permiten – Empresas ubicadas en distintas poblaciones Æ NO subnetting (ver ejemplo) Todos los hosts y routers conectados a redes que utilizan subnetting deben utilizar “subnet routing”. 41 Algoritmo Subnet Routing • Algoritmo normal Æ sabe cuantos bits corresponden a “red” y cuantos a “estación” – tabla… (net, next-hop) – búsqueda sencilla y eficiente • Algoritmo con subnetting (purista) – tabla … (subnet-mask, subnet, next-hop) PARA CADA ENTRADA EN LA TABLA (subnet-mask, network, next-hop) IF (( dir_IP_destino AND subnet_mask) == subnet ) IF (next_hop) es una interface de red mandar datagrama directamente a destino ELSE mandar datagrama a next_hop 42 Preguntar 43 44 45 Supernetting (CIDR) (RFC1519) • ROADS (Running Out of ADdress Space) 1. 2. 3. • Ejemplo: Organización con 4000 ordenadores – – • Clases A, B, C no dividen el espacio de direccionamiento de forma útil. Poca demanda de direcciones de clase C. Muy alta demanda de direcciones de clase B. 1 clase C Æ 254 direciones para hosts. 16 clase C Æ 4064 problema: 16 rutas en routers en vez de una. Existen 2.097.152 redes clase C Æ Tablas de encaminamiento demasiado grandes CIDR (Classless Inter-Domain Routing) – – – Ya no se interpretan las clases (A, B, C) 4000 hosts Æ 12 bits Æ HOST-ID de 12 bits y NET-ID de 20 Æ Máscara de subred = 20 bits La dir. IP se ve como un entero. Permite asignar direcciones en bloques contiguos potencia de 2 contiguos 46 Supernetting (CIDR) y encaminamiento • CIDR requiere que los protocolos de encaminamiento publiquen también la máscara de red – RIP-2, OSPF, BGP-4 • Encaminamiento sin clase Æ enrutador nunca supone que la máscara de red se base en la clase. – compatible con subnetting fijo y variable 47 Encaminar por concordancia más larga. NET /mask next-hop 0.0.0.0 /0 default 192.0.16.0 /20 T 192.0.16.0 /24 R 192.0.16.254 /32 S … 192.0.16.254 /32 R 192.0.0.0 /21 2046 direcciones 192.0.0.0 Æ 192.0.7.255 0xC0.00.00.00 Æ 0xC0.00.07.FF 1100:0000.0000:0000.0000:0xxx.xxxx:xxxx S T 192.0.32.0 /20 192.0.32.0 Æ 192.0.47.255 0xC0.00.20.00 Æ 0xC0.00.2F.FF 1100:0000.0000:0000.0010:xxxx.xxxx:xxxx 192.0.16.0 /24 192.0.16.0 /20 Broadcast 4094 direcciones 192.0.16.0 Æ 192.0.31.255 0xC0.00.10.00 Æ 0xC0.00.1F.FF 1100:0000.0000:0000.0001:xxxx.xxxx:xxxx Net-id 48 Longest-match routing Subnetting Dir IP destino = Next-hop Value = red Subnetting: direccionamiento ambiguo si los bits “1” de la máscara no son consecutivos Dir IP destino = 49 route print 158.42.50.137 mi Intranet 192.168.0.0 mi PC + Proxy UPVNET 158.42.0.0 192.168.0.1 50 Índice • • • Marco operativo de un router de altas prestaciones Bloques funcionales IP forwarding – Direccionamiento IP • Subnetting • Supernetting – Algoritmos y estructuras de datos para consulta rápida en tabla forwarding • Trie • Patricia – Otros esquemas de direccionamiento • IPX / IPX+ • CNLP • IPv6 51 TRIE (reTRIEve) FUNCIONAMIENTO • Las direcciones en la base de datos están en una estructura árbol • Cada vértice representa una cadena ¾ La raíz es la cadena nula • Hay 26 punteros desde cada vértice, ¾ El primero apunta a la cadena actual +a, el segundo +b, … • Si la cadena no existe en el diccionario, tampoco existe el vértice asociado • Cada vértice tiene una bandera asociada que indica si la cadena, terminada en ese punto, está en el diccionario o no. • Tiempo de búsqueda Proporcional al tamaño medio de las tiras en el diccionario, independientemente del nº de entradas • Mantenimiento no difícil añadir Æ seguir puntero y añadir al árbol quitar Æ si tiene hijos … quitar * si no … quitar rama 52 PATRICIA TRIE • Patricia = Practical Algorithm To Retrieve Information Coded In Alphanumeric (D.R: Morrison 1968) • Patricia es una estructura Trie adaptada para evitar representar nodos con un solo hijo • Trie Æ cada parte de la clave (letra) determina por que sub-árbol seguir. Patricia Æ el nodo del árbol indica (bit index) cual es el próximo elemento (bit) de la clave debe utilizarse. 4 • La clave de búsqueda en Patricia es una cadena de bits y el índice (bit-index) es el peso del bit • Cada nodo tiene un bit-index asociado. Es el bit de la cadena que debemos comparar • El bit-index debe decrecer a medida nos alejamos de la raíz • La búsqueda en Patricia termina con un uplink (o null) S=10110 2 1 0 T=00100 3 Y=11101 0 E=00101 53 PATRICIA TRIE: Creación del árbol Insertando T 54 Insertando O 55 Insertando E 56 Insertando A 57 Insertando S 58 Insertando Y 59 •Generar PATRICIA empezando de abajo hacia arriba 60 Índice • • • Marco operativo de un router de altas prestaciones Bloques funcionales IP forwarding – Direccionamiento IP • Subnetting • Supernetting – Algoritmos y estructuras de datos para consulta rápida en tabla forwarding • Búsqueda binaria • Trie • Patricia – Otros esquemas de direccionamiento • IPX / IPX+ • CNLP • IPv6 61 IPX • dirección IEEE 802 CARACTERISTICAS •Similar a IP: posible subnetting/supernetting • Plug & Play Æ conoce su dirección de nodo y pide (broadcast) la dirección de red • IPX no necesita ARP Æ menor sobrecarga en la LAN y no ARP-cache en hosts ADMINISTRACIÓN • Las direcciones de red nunca fueron bien administradas • a mediados de los 90 existian más hosts con IPX que con IP pero no se planteó sustituir a IP como protocolo de Internet • consecuencia Æ IPX no routeable • bastaría con reconfigurar direcciones de red en routers 62 IPX+ dir. IEEE 802 de cada host configurado en Routers, hosts consultan Service Provider (ISPs) 1) Compatible IPX 2) Permitiría cambiar toda la red IPX de proveedor Internet sin cambiar nada de la estructura IPX 3) Direccionamiento Internet basado en dominio 63 CLNP • Connectionless Network Layer Protocol by ISO • Usado en ATM y CDPD (cellular digital packet data) • Direcciones de tamaño variable Æ máx. 20 octetos •Identificación entre múltiples usuarios • Level 2 routing • Jerarquizado con todos los niveles que hagan falta • Direccionamiento tipo teléfonos • Muy eficiente (sobre todo si se usan backbones de telefonía, X25, …) • Level 1 routing • direccionamiento plano • IEEE 802 (6 bytes) principalmente 64 IPv6 (RFC2460) • IPv4 Æ 4 bytes IPv6 Æ 16 bytes Æ 3,4*1038 nodos Æ 150 direcciones/m2 • No existen las clases • Similar a IPv4 con CIDR (IETFÆAsignar rangos a ISPÆenpresas) net-id 8 bytes host-id 8 bytes • Prefijos en la línea de CLNP • Geographic addressing EUI-64 (IEEE802 MAC 48 extendido a 64) long. var. • Europa • América • Asia • red IRIS • UPV • Plug & Play Æ Similar a IPX+ • Representación en hexadecimal 3A57:0:0:9CFE:8888:FE34:1FCA:1998 ::67FA:97FF 3F5A:: 35::/8 ::FFFF:158.42.1.10 65 NAT/NAPT • • • NAT = Network Address Translator NAPT = Network Address Port Translator ¿Por qué NO tener una dir. IP globalmente única? 1. Para no tener que reasignar dir. IP cada vez que se cambia de ISP 2. Porque prefieres usar internamente IPX (p.e.) 3. Porque una clase IP te resulta muy caro Internet NAT • NAT utiliza un conjunto de direcciones IP válidas para Internet y las va asignando a los hosts en la intranet • Asignación estática • Dinámica • Se asume que no todos los hosts de la intranet están conectados simultáneamente a Internet Intranet • NAPT transforma (dirección-INTRA, puerto-X) en (dirección IP, puerto-X’) • Permite miles de conexiones simultaneas a Internet con sólo una IP válida • • NAT/NAPT está retrasando la entrada de IPv6 Problemas de NAT/NAPT 1. Coherencia en presencial de NATs en paralelo 2. Protocolos que transportan direcciones IP (p.e. FTP) 3. Mensajes cifrados (en combinación a 2) • Mejor idea Æ host NAT/NAPT El host pide a NAT/NAPT una dirección IP válida y procede el. 66 Transición IPv4 Æ IPv6 67 68 Búsqueda BINARIA • • No da buenos resultados porque no se busca una concordancia exacta, sino la más larga PERO con unas pequeñas modificaciones puede funcionar bien •Buscar ABCDEFGH • Buscar ABCDEYBVNG 69