Post on 17-Apr-2020
1
José DuatoRomán García
Routers de Altas PrestacionesRouters de Altas Prestaciones
José DuatoRomán García
DISCADepartamento de Informática de
Sistemas y Computadores
2
Í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
BIBLIOGRAFIA1. 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
3
Routers de altas prestaciones (RAP)
SONET / RPR / ...
4
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.
5
DWDM
6
7
8
Inyección de datos en fibra
9
MUX
MUX
MUX
STS-1
STS-1
STS-1
STS-3
STS-12
Convertidorelectro-óptico
OC-12
34 RDSIPRI
ADM
Synchronous Optical Network (SONET)Multiplexación TDM síncrona
• Elementos:– Multiplexores n:1 y 1:n
– Convertidores y repetidores.
– Multiplexores ADM.
10
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
Eléctrico Optico Optico
Tasa de datos
Mbps
STS-1 OC-1 51.84
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
11
SONET vs Resilient Packet Ring (RPR)
12
13
Detalle de conexión de routers
physical location where an interexchange carrier installed equipment to interconnect with a local exchange carrier
14
15
(6 marzo del 2001)(Fuente: Juniper Networks)Packet Over Sonet
16
17
Juniper M40
18
19
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
20
21
22
23
24
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
25
MPLSRoute At Edge, Switch In Core
IP ForwardingLABEL SWITCHINGIP Forwarding
IP IP #L1 IP #L2 IP #L3 IP
26
#216
#612
#5#311
#14
#99
#963
#462
#963
#14
#99
#311
#311
#311
LABEL SWITCHED PATH (vanilla)
27
#216
#14
#612
#5 #99 #311
#963
#462
- 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.
HOP-BY-HOP(Vanilla) LDP
28
Two types of Label Switched Paths:
• Hop by hop (“Vanilla” LDP)
• Explicit Routing (LDP+”ER”)
#18
#427
#819
#216
#14
#612
#5 #99 #311
#963
#462
#77
Label Switched Path (Two Types)
29
Í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
30
RAP: Bloques funcionales
• 2 TAREAS FUNDAMENTALES:1) Routing2) Packet forwarding
• 4 ELEMENTOS ESENCIALES:1) Routing software
routing protocols (OSPF, BGP4,…)routing tables+ system control
2) Packet processingde-encapsuladolongest-match routeencolado en salidare-encapsulado
3) Switch fabricmover paquetes in out
crossbar, banyan, Clos, …4) Line cards
Adaptar a N-1 y N-2SONET, ATM, 10GE,…
31
Juniper M40
32
Í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
33
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 routerencamine eficientemente a su next-hop ?
34
IP forwarding: Tablas de encaminamiento
• Hosts y routers mantienen tablas que contienen la información de encaminamiento
• Siendo precisos…
• Tablas de routing usadas para calcularrutas ó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.
35
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 IPOtros esquemas de direccionamiento N-3:
• IPX• CLNP• IPv6
36
• 3 clases primarias: A, B y C• Direccionamiento jerarquizado a 2 niveles: NET-ID + HOST-ID
Direccionamiento IPv4
37
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
38
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
39
Subnetting tamaño fijo
• El estándar TCP/IP permite elegir cuantos bits se utilizan para subnetting
40
Subnetting tamaño variable• Técnica recursiva
• Máxima flexibilidad
• Problemas de ambigüedad desaconsejado (?)
Preguntar
41
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 subnettingdeben utilizar “subnet routing”.
42
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
43
Preguntar
44
45
46
Supernetting (CIDR) (RFC1519)
• ROADS (Running Out of ADdress Space)1. Clases A, B, C no dividen el espacio de direccionamiento de forma útil.
2. Poca demanda de direcciones de clase C.
3. Muy alta demanda de direcciones de clase B.
• Ejemplo: Organización con 4000 ordenadores– 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
47
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
48
192.0.0.0 /21 2046 direcciones
192.0.0.0 192.0.7.2550xC0.00.00.00 0xC0.00.07.FF
1100:0000.0000:0000.0000:0xxx.xxxx:xxxx
192.0.16.0 /204094 direcciones
192.0.16.0 192.0.31.2550xC0.00.10.00 0xC0.00.1F.FF
1100:0000.0000:0000.0001:xxxx.xxxx:xxxx
Net-id Broadcast
T
192.0.16.0 /24
S 192.0.32.0 /20192.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.254 /32
NET /mask next-hop0.0.0.0 /0 default192.0.16.0 /20 T192.0.16.0 /24 R192.0.16.254 /32 S…
R
Encaminar por concordancia más larga.
49
Longest-match routing
Dir IP destino =
Value = red
Next-hop
Dir IP destino =
Subnetting
Subnetting: direccionamiento ambiguo si los bits “1” de la máscara no son consecutivos
50
route print
UPVNET158.42.0.0
mi PC+
Proxy
mi Intranet192.168.0.0
158.42.50.137
192.168.0.1
51
Í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
52
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érticeasociado
• 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úsquedaProporcional al tamaño mediode las tiras en el diccionario, independientemente del nº deentradas
• Mantenimiento no difícil añadir seguir puntero y
añadir al árbolquitar si tiene hijos … quitar *
si no … quitar rama
53
PATRICIA TRIE• Patricia = Practical Algorithm To Retrieve Information Coded In Alphanumeric
(D.R: Morrison 1968)
• Patricia es una estructura Trie adaptada para evitar representar nodoscon 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
S=10110
T=00100
E=00101
Y=11101
32
0
• 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)
10
54
PATRICIA TRIE: Creación del árbol
Insertando T
55
Insertando O
56
Insertando E
57
Insertando A
58
Insertando S
59
Insertando Y
60
•Generar PATRICIA empezando de abajo hacia arriba
61
Í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
62
IPX
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
• dirección IEEE 802
ADMINISTRACIÓN• Las direcciones de red nunca fueron bien administradas
• a mediados de los 90 existian más hosts con IPX que con IPpero no se planteó sustituir a IP como protocolo de Internet
• consecuencia IPX no routeable• bastaría con reconfigurar direcciones de red en routers
63
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 nadade la estructura IPX
3) Direccionamiento Internet basado en dominio
64
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
• Level 1 routing• direccionamiento plano• IEEE 802 (6 bytes) principalmente
• 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, …)
•Identificación entre múltiples usuarios
65
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
EUI-64 (IEEE802 MAC 48 extendido a 64)• Prefijos en la línea de CLNP• Geographic addressing
• Plug & Play Similar a IPX+• Representación en hexadecimal
3A57:0:0:9CFE:8888:FE34:1FCA:1998::67FA:97FF3F5A::35::/8::FFFF:158.42.1.10
• Europa• América• Asia
• red IRIS • UPV
long. var.
66
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
• 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
• 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 paralelo2. Protocolos que transportan direcciones IP (p.e. FTP)3. Mensajes cifrados (en combinación a 2)
• Mejor idea host NAT/NAPTEl host pide a NAT/NAPT una dirección IP válida y procede el.
Intranet
NAT
Internet
67
Transición IPv4 IPv6
68
69
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