http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3 Ingeniera de Telecomunicacin 2 Temario 1. Introduccin 2. Protocolos y arquitectura 3. Redes de rea local 4. Protocolos de Internet 5. Conmutacin de paquetes 6. Conmutacin de circuitos 7. Gestin de recursos en conmutadores 8. Protocolos de control de acceso al medio 3 Temario 1. Introduccin 2. Protocolos y arquitectura 3. Redes de rea local 4. Protocolos de Internet 5. Conmutacin de paquetes Principios Problemas bsicos Encaminamiento (Nivel de red) Como funcionan los routers (Nivel de red) Transporte fiable (Nivel de transporte en TCP/IP) Control de flujo (Nivel de transporte en TCP/IP) Control de congestin (Nivel de transoporte en TCP/IP) 6. Conmutacin de circuitos 7. Gestin de recursos en conmutadores 8. Protocolos de control de acceso al medio 4 En clases anteriores Enrutamiento Algoritmos y tcnicas de enrutamiento Cmo construyo la tabla de rutas? Hoy Como funciona un router Qu otros problemas hay que resolver para hacer un router aparte de construir la tabla de rutas? 5 Material Presentacin basada en transparencias de AsstProf. Bhichate Chiewthanakul basadas a su vez en las de Profs. Nick McKeown and Balaji Prabahakar (Stanford) adems de transparencias basadas en el libro de Kurose Capitulo 4 de Kurose & Ross, Computer Networking a top-down approach featuring the Internet Addison Wesley 6 Contenido Background + Qu es un router? + Por qu necesitamos routers ms rpidos? + Por qu son dificiles de construir? Arquitecturas y tcnicas + Evolucin de arquitecturas de routers. + Bsqueda de direccin IP. + Almacenamiento de paquetes. + Conmutacin. 7 Qu es un router? R3 A B C R1 R2 R4 D E F R5 R5 F R3 E R3 D Siguiente Destino D 8 Qu es un router? R3 A B C R1 R2 R4 D E F R5 R5 F R3 E R3 D Next Hop Destination D 16 32 4 1 Data Options (if any) Destination Address Source Address Header Checksum Protocol TTL Fragment Offset Flags Fragment ID Total Packet Length T.Service HLen Ver 2 0
b y t e s 9 Qu es un router? A B C R1 R2 R3 R4 D E F R5 10 Puntos de presencia (POPs Points of presence) A B C POP1 POP3 POP2 POP4 D E F POP5 POP6 POP7 POP8 11 Donde son necesarios los routers de altas prestaciones R10 R11 R4 R13 R9 R5 R2 R1 R6 R3 R7 R12 R16 R15 R14 R8 (2.5 Gb/s) (2.5 Gb/s) (2.5 Gb/s) (2.5 Gb/s) 12 Qu pinta tiene un router? Cisco GSR 12416 Juniper M160 6ft 19 2ft Capacity: 160Gb/s Power: 4.2kW Full rack 3ft 2.5ft 19 Capacity: 80Gb/s Power: 2.6kW Half-a-rack ~1.8m ~0.6m ~0.5m ~0.5m ~0.8m ~0.9m 13 El mercado de routers Segn DellOro (Feb. 17, 2005): $1.2 billion in 2004 (up 66%) Includes high-end (10Gbps) router market Segn Infonetics (March 2, 2005): $6.1 billion in 2004 (up 26%) Includes IP core/edge routers and multiservice core/edge switches Mercado de routers de ncleo Relativamente pequeo (en comparacin con el mercado de routers para empresas), pero da experiencia a las compaias Fabricantes: Cisco, Juniper, Avici, Nortel, Lucent, Alcatel, Chiaro, Huawei, etc. 14 Router Market Source: Infonetics (Nov. 2004) 15 Arquitectura bsica de un router IP Plano de control Plano de datos Procesado por paquete Switching Forwarding Table Routing Table Routing Protocols 16 Proceso por paquete en un Router IP . Aceptar paquetes por las lineas de entrada Lookup: bsqueda de la direccin de destino del paquete en la tabla de reenvo (para identificar puerto de salida). Header Processing: Manipulacin de la cabecera IP: decrementar TTL, recalcular checksum. _ Switching: Enviar el paquete al puerto de destino correspondiente. Buffering: Almacenar paquete en la cola. : Transmitir paquete en la linea de salida. 17 Arquitectura de un router genrico Lookup IP Address Update Header Header Processing Data Hdr Data Hdr ~1M prefixes Off-chip DRAM Address Table IP Address Next Hop Queue Packet Buffer Memory ~1M packets Off-chip DRAM 18 Arquitectura de routers Dos funciones bsicas de los routers: Correr protocolos/algorimtos de enrutamiento (RIP, OSPF, BGP) Dirigir paquetes de los puertos de entrada a los puertos de salida (forwarding) 19 Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Arquitectura de routers Lookup IP Address Update Header Header Processing Address Table Data Hdr Data Hdr Data Hdr Buffer Manager Buffer Memory Buffer Manager Buffer Memory Buffer Manager Buffer Memory Data Hdr Data Hdr Data Hdr 20 Puertos de entrada Decentralized switching: A partir de la direccin de destino buscar el puerto de salida en la tabla de reenvios (se mantiene una copia de la tabla de rutas en la memoria del puerto de entrada) objetivo: porcesar paquetes entrantes a velocidad de linea Cola de entrada: si los paquetes llegan a mas velocidad que la velocidad de entrada a matriz de conmutacin Nivel fsico: Recepcin de bits Nivel de enlace: por ejemplo Ethernet 21 Tipos de conmutacin 22 Conmutacin por memoria Primera generacin de routers: ordenador tradicional con conmutacin bajo control de la CPU el paquete se copia a la memoria del sistema al recibirlo velocidad limitada por el ancho de banda a memoria (2 accesos al bus por paquete) Input Port Output Port Memory System Bus 23 Conmutacin via Bus El paquete se copia de la memoria del puerto de entrada a la memoria del puerto de salida a travs de un bus compartido Contencin en el bus: Si el bus est ocupado el paquete espera en la memoria del puerto de entrada (colas a la entrada) Velocidad de conmutacin limitada por el bus Con bus de 1 Gbps, (Cisco 1900): es suficiente velocidad para accesos y routers de empresa (pero no para regionales o backbone) 24 Conmutacin via red de interconexin Superar las limitacines de un bus Redes Banyan y otras redes de interconnexin pensadas en principio para conectar procesadores en maquinas multiprocesador Diseo avanzado: fragmentar los paquetes en celdas de longitud fija, y conmutar las celdas por la matriz de conmutacin. Cisco serie 12000: conmuta a Gbps a traves de la red de interconexin 25 Puertos de salida Buffer (cola de salida)necesario si los paquetes pueden llegar a mas velocidad que la del puerto de salida desde la matriz de conmutacin Planificacin (Scheduling) elige entre los paquetes disponible para transmision (FIFO, u otras?) 26 Contenido Background + Qu es un router? + Por qu necesitamos routers ms rpidos? + Por qu son dificiles de construir? Arquitecturas y tcnicas + Evolucin de arquitecturas de routers. + Bsqueda de direccin IP. + Almacenamiento de paquetes. + Conmutacin. 27 Por qu necesitamos routers ms rpidos? 1. Para evitar que los routers se conviertan en el cuello de botella de Internet 2. Para aumentar la capacidad de los puntos de presencia (POP) y reducir su coste, tamao y consumo 28 0,1 1 10 100 1000 10000 1985 1990 1995 2000 S p e c 9 5 I n t
C P U
r e s u l t s Por qu necesitamos routers ms rpidos? Evitar que los routers sean el cuello de botella Packet Processing Power 2x / 18 months Source: SPEC95Int & Coffman and Odlyzko. Single Fiber Capacity (commercial) 2x / year 29 POP con routers pequeos Por qu necesitamos routers ms rpidos? 2: Reducir coste, consumo y complejidad de POPs POP con routers grandes + Puertos: precio >$50k, consumo > 400W. + Alrededor de 50-60% de los puertos es para interconexin. 30 Por qu es dificil hacer routers rpidos? 1. Es difcil seguir la ley de Moore: El cuello de botella es la velocidad de la memoria La velocidad de la memoria no sigue la ley de Moore 31 Por qu es dificil hacer routers rpidos? Velocidad de la DRAM comercial 1. Its hard to keep up with Moores Law: The bottleneck is memory speed. Memory speed is not keeping up with Moores Law. 0.001 0.01 0.1 1 10 100 1000 1980 1983 1986 1989 1992 1995 1998 2001 A c c e s s
T i m e
( n s ) Moores Law 2x / 18 months 1.1x / 18 months 32 Por qu es dificil hacer routers rpidos? 1. Es difcil seguir la ley de Moore: El cuello de botella es la velocidad de la memoria La velocidad de la memoria no sigue la ley de Moore 2. La ley de Moore no es suficiente: Los routers necesitan mejorar ms rpido que la ley de Moore 33 Prestaciones de routers y la ley de Moore Crecimiento de la capacidad de routers comerciales: Capacidad 1992 ~ 2Gb/s Capacidad 1995 ~ 10Gb/s Capacidad 1998 ~ 40Gb/s Capacidad 2001 ~ 160Gb/s Capacidad 2003 ~ 640Gb/s Crecimiento medio: 2.2x / 18 months. 34 Contenido Background + Qu es un router? + Por qu necesitamos routers ms rpidos? + Por qu son dificiles de construir? Arquitecturas y tcnicas + Evolucin de arquitecturas de routers. + Bsqueda de direccin IP. + Almacenamiento de paquetes. + Conmutacin. 35 Route Table CPU Buffer Memory Line Interface MAC Line Interface MAC Line Interface MAC Tpico <0.5Gb/s capacidad agregada Shared Backplane L i n e I n t e r f a c e C P U M e m o r y Routers de primera generacin 36 Route Table CPU Line Card Buffer Memory Line Card MAC Buffer Memory Line Card MAC Buffer Memory Fwding Cache Fwding Cache Fwding Cache MAC Buffer Memory Tpico <5Gb/s capacidad agregada Routers de segunda generacin 37 Line Card MAC Local Buffer Memory CPU Card Line Card MAC Local Buffer Memory Backplane conmutado (Switched Backplane) L i n e I n t e r f a c e C P U M e m o r y Fwding Table Routing Table Fwding Table Tpico <50Gb/s capacidad agregada Routers de tercera generacin 38 Switch Core Linecards Optical links 100s of metres Capacidades 0.3 - 10Tb/s Routers de cuarta generacin Multi-Racks, Optical Links 39 Optical Switch Core Linecards Optical links 100s of metres Routers de 10-100Tb/s en proyecto (Futuros) Routers de quinta generacin Optical Switch Core 40 Optical Switch Core Optical Linecards Optical links 100s of metres Routers de 100-1000Tb/s en un futuro lejano (Muy futuros) Routers de sexta generacin All-Optical Routers 41 Contenido Background + Qu es un router? + Por qu necesitamos routers ms rpidos? + Por qu son dificiles de construir? Arquitecturas y tcnicas + Evolucin de arquitecturas de routers. + Bsqueda de direccin IP. + Almacenamiento de paquetes. + Conmutacin. 42 Arquitectura de router Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Buffer Manager Buffer Memory Buffer Manager Buffer Memory Buffer Manager Buffer Memory Lookup IP Address Address Table Lookup IP Address Address Table Lookup IP Address Address Table 43 Bsqueda de la direccin (Address lookup) Por qu es difcil?: + No es una busqueda exacta sino la busqueda del prefijo ms largo (longest prefix match). + La tabla es muy grande: unas 150,000 entradas y creciendo. + La bsqueda debe ser muy rpida: unos 30ns para una lnea de 10Gb/s. 44 IP Lookup con Longest Prefix Match 128.9.16.0/21128.9.172.0/21 128.9.176.0/24 0 2 32 -1 128.9.0.0/16 142.12.0.0/19 65.0.0.0/8 128.9.16.14 Routing lookup: Encuentra el prefijo ms largo que coincida (o sea la ruta ms especfica) entre todos los prefijos que verifique esta direccin IP de destino 45 Bsqueda de la direccin (Address lookup) Por qu es difcil?: + No es una busqueda exacta sino la busqueda del prefijo ms largo (longest prefix match). + La tabla es muy grande: unas 150,000 entradas y creciendo. + La bsqueda debe ser muy rpida: unos 30ns para una lnea de 10Gb/s. 46 Las tablas de rutas son grandes Source: http://www.cidr-report.org/ 47 Bsqueda de la direccin (Address lookup) Por qu es difcil?: + No es una busqueda exacta sino la busqueda del prefijo ms largo (longest prefix match). + La tabla es muy grande: unas 150,000 entradas y creciendo. + La bsqueda debe ser muy rpida: unos 30ns para una lnea de 10Gb/s. 48 La bsqueda debe ser muy rpida 125 40Gb/s 2003 31.25 10Gb/s 2001 7.81 2.5Gb/s 1999 1.94 622Mb/s 1997 Paquetes de 40B (Mpkt/s) Lnea tpica Ao 500 160Gb/s 2005? 49 Contenido Background + Qu es un router? + Por qu necesitamos routers ms rpidos? + Por qu son dificiles de construir? Arquitecturas y tcnicas + Evolucin de arquitecturas de routers. + Bsqueda de direccin IP. + Almacenamiento de paquetes. + Conmutacin. 50 Arquitectura de router Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Queue Packet Buffer Memory Queue Packet Buffer Memory Queue Packet Buffer Memory Buffer Manager Buffer Memory Buffer Manager Buffer Memory Buffer Manager Buffer Memory 51 Buffers de paquetes muy rpidos Ejemplo: buffer para puertos de 40Gb/s Tamao = RTT*BW = 10Gb; 40 byte packets Write Rate, R 1 paquete cada 8 ns Read Rate, R 1 paquete cada 8 ns Buffer Manager Buffer Memory Usar SRAM? + acceso suficientemente rpido, pero - poca densidad para conseguir 10Gb. Usar DRAM? + alta densidad, suficiente memoria, pero - demasiado lenta (50ns tiempo acceso). 52 Contenido Background + Qu es un router? + Por qu necesitamos routers ms rpidos? + Por qu son dificiles de construir? Arquitecturas y tcnicas + Evolucin de arquitecturas de routers. + Bsqueda de direccin IP. + Almacenamiento de paquetes. + Conmutacin. 53 Arquitectura de router Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Queue Packet Buffer Memory Queue Packet Buffer Memory Queue Packet Buffer Memory Data Hdr Data Hdr Data Hdr 1 2 N 1 2 N N times line rate N times line rate 54 Arquitectura de router Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Lookup IP Address Update Header Header Processing Address Table Queue Packet Buffer Memory Queue Packet Buffer Memory Queue Packet Buffer Memory Data Hdr Data Hdr Data Hdr 1 2 N 1 2 N Data Hdr Data Hdr Data Hdr Scheduler 55 Usando colas en los puertos de salida Cuando la velocidad de llegada a traves de la matriz de conmutacin es superior a la velocidad de salida se almacenan en buffer (cola de salida) almacenamiento (retraso) y prdidas debidas al desbordamiento del buffer del puerto de salida Problema: matriz de conmutacin debe ser N veces mas rpida que el puerto de entrada/salida 56 Usando colas en los puertos de entrada Matriz de conmutacin ms lenta que la suma de los puertos de entrada -> hay que almacenar en el puerto de entrada Bloqueo Head-of-the-Line (HOL): un paquete que no puede ir a un puerto bloquea al resto de paquetes en el puerto de entrada, aunque podran ser servidos Retraso y prdidas debidas a desbordamiento de puerto de entrada Combinacin de las dos tcnicas para conseguir poco HOL con matrices de conmutacin rpidas pero no tanto como la suma de los puertos 57 Conclusiones Arquitectura bsica de routers y evolucin Conmutacin via memoria Conmutacin via bus Conmutacin via red de conmutacin Problemas importantes en arquitectura de routers Busqueda rpida de direcciones Almacenamiento de paquetes Conmutacin y planificacin Prxima clase: Construyendo transporte fiable