You are on page 1of 62

Cmo funcionan los routers?

Area de Ingeniera Telemtica http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3 Ingeniera de Telecomunicacin

Temario
1. 2. 3. 4. 5. 6. 7.

Introduccin Arquitecturas, protocolos y estndares Conmutacin de paquetes Conmutacin de circuitos Tecnologas Control de acceso al medio en redes de rea local Servicios de Internet

Temario
1. 2. 3.

Introduccin Arquitecturas, protocolos y estndares Conmutacin de paquetes


Principios Problemas bsicos
Como funcionan los routers (Nivel de red) Encaminamiento (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)

4. 5. 6. 7.

Conmutacin de circuitos Tecnologas Control de acceso al medio en redes de rea local Servicios de Internet
3

En prximas clases
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?
4

Material
Captulo

4 de Kurose & Ross, Computer Networking a top-down approach featuring the Internet Addison Wesley
Captulo

9 de Keshav (poco)

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
5

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. Planificacin.
6

Qu es un router?
R3 A R1 R4 D

B
D

E R2
Destino D E F Siguiente R3 R3 R5
7

R5

Qu es un router?
R3 A
1 4

R1
16

R4
32 Total Packet Length
Flags Fragment Offset
D

Ver HLen 20 bytes

T.Service Protocol

B C

Fragment ID TTL

Header Checksum

R2 Source Address
Destination Next Destination Address Hop D R3 Options (if any) E F Data R3 R5

R5

Qu es un router?
R3 A R1 R4 D

B C R2

R5

Puntos de presencia (POPs Points of presence)


POP2 A POP1 POP3 POP4 D

B C POP6 POP7

POP5

POP8

10

Donde son necesarios los routers de altas prestaciones


(2.5 Gb/s) R1 R2 R5 R3 R8 R9 R4 R10 R13 (2.5 Gb/s) R15 R14 R16 (2.5 Gb/s)
11

R6

(2.5 Gb/s)

R7 R11

R12

Qu pinta tiene un router?


Cisco GSR 12416
19 ~0.5m

Juniper M160
19 ~0.5m

Capacity: 160Gb/s Power: 4.2kW Full rack 6ft ~1.8m 3ft ~0.9m

Capacity: 80Gb/s Power: 2.6kW Half-a-rack

2ft ~0.6m

2.5ft ~0.8m

12

El mercado de routers

Segn DellOro (Feb. 17, 2005):


$1.2 billion in 2004 (up 66%) Includes high-end (10Gbps) router market $6.1 billion in 2004 (up 26%) Includes IP core/edge routers and multiservice core/edge switches 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.
13

Segn Infonetics (March 2, 2005):


Mercado de routers de ncleo


Router Market

Source: Infonetics (Nov. 2004)


14

Arquitectura bsica de un router IP


Routing Protocols Routing Table

Plano de control

Forwarding Switching Table

Plano de datos
Procesado por paquete

15

Proceso por paquete en un Router IP


1. 2.

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.
16

3. 4. 5. 6.

Arquitectura de un router genrico


Header Processing
Data Hdr

Lookup Update IP Address Header


IP Address Next Hop

Queue Packet

Data

Hdr

~1M prefixes Off-chip DRAM

Address Table

Buffer Memory

~1M packets Off-chip DRAM

17

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)

18

Arquitectura de routers
Data Hdr
Header Processing
Lookup IP Address Update Header

Buffer Manager
Buffer Memory

Data Hdr

Address Table

Data Hdr

Header Processing
Lookup IP Address Update Header

Buffer Manager

Data Hdr

Address Table

Data Hdr Memory

Buffer

Data Hdr

Header Processing
Lookup IP Address Update Header

Buffer Manager
Buffer Memory

Address Table

19

Puertos de entrada

Nivel fsico: Recepcin de bits Nivel de enlace: por ejemplo Ethernet

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
20

Tipos de conmutacin

21

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 Memory Output Port

System Bus

22

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)
23

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

24

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?)
25

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. Planificacin.
26

Por qu necesitamos routers ms rpidos?


1.

Para evitar que los routers se conviertan en el cuello de botella de Internet Para aumentar la capacidad de los puntos de presencia (POP) y reducir su coste, tamao y consumo

2.

27

Por qu necesitamos routers ms rpidos? Evitar que los routers sean el cuello de botella
Packet Processing Power
10000

Single Fiber Capacity (commercial) 2x / year

Spec95Int CPU results

1000

2x / 18 months

100

10

1985
0,1

1990

1995

2000

Source: SPEC95Int & Coffman and Odlyzko.

28

Por qu necesitamos routers ms rpidos?


2: Reducir coste, consumo y complejidad de POPs
POP con routers grandes POP con routers pequeos

Puertos: precio >$50k, consumo > 400W. Alrededor de 50-60% de los puertos es para interconexin.
29

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

30

Por qu es dificil hacer routers rpidos?


Velocidad de la DRAM comercial
1.
1980 1983 Its hard to keep 1986 with Moores Law: up 1989 1992 1995 1998 1000 The bottleneck is memory speed. 100 Memory speed is not keeping up with Moores Law. 1.1x / 18 months 10 1 0.1 0.01
31

2001

Access Time (ns)

Moores Law 2x / 18 months

0.001

Por qu es dificil hacer routers rpidos?


1.

2.

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 La ley de Moore no es suficiente: Los routers necesitan mejorar ms rpido que la ley de Moore

32

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.

33

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. Planificacin.
34

Routers de primera generacin


Shared Backplane CPU
Route Table Buffer Memory

Line Interface
MAC

Line Interface
MAC

Line Interface
MAC

Tpico <0.5Gb/s capacidad agregada


35

Routers de segunda generacin


CPU
Route Table Buffer Memory

Line Card Buffer Memory Fwding Cache


MAC

Line Card Buffer Memory Fwding Cache


MAC

Line Card Buffer Memory Fwding Cache


MAC

Tpico <5Gb/s capacidad agregada


36

Routers de tercera generacin


Backplane conmutado (Switched Backplane)

Line Card Local Buffer Memory


Fwding Table
MAC

CPU Card
Routing Table

Line Card Local Buffer Memory


Fwding Table
MAC

Tpico <50Gb/s capacidad agregada


37

Routers de cuarta generacin


Multi-Racks, Optical Links

Optical links

100s of metres

Switch Core

Linecards

Capacidades 0.3 - 10Tb/s

38

(Futuros) Routers de quinta generacin Optical Switch Core

Optical links

100s of metres

Optical Switch Core

Linecards
39

Routers de 10-100Tb/s en proyecto

(Muy futuros) Routers de sexta generacin All-Optical Routers

Optical links

100s of metres

Optical Switch Core

Optical Linecards
40

Routers de 100-1000Tb/s en un futuro lejano

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. Planificacin.
41

Arquitectura de router
Header Processing
Lookup IP Address Update Header

Buffer Manager
Buffer Memory

Address Table

Header Processing
Lookup IP Address Update Header

Buffer Manager
Buffer Memory

Address Table

Header Processing
Lookup IP Address Update Header

Buffer Manager
Buffer Memory

Address Table

42

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.

43

IP Lookup con Longest Prefix Match

128.9.176.0/24 128.9.16.0/21 128.9.172.0/21 65.0.0.0/8 128.9.0.0/16 142.12.0.0/19

128.9.16.14

232-1

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
44

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.

45

Las tablas de rutas son grandes

Source: http://www.cidr-report.org/
46

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.

47

La bsqueda debe ser muy rpida

Ao

Lnea tpica
622Mb/s 2.5Gb/s 10Gb/s 40Gb/s 160Gb/s

Paquetes de 40B (Mpkt/s) 1.94 7.81 31.25 125 500


48

1997 1999 2001 2003 2005?

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. Planificacin.
49

Arquitectura de router
Header Processing
Lookup IP Address Update Header

Buffer Queue Manager Packet


Buffer Memory

Address Table

Header Processing
Lookup IP Address Update Header

Buffer Queue Manager Packet


Buffer Memory

Address Table

Header Processing
Lookup IP Address Update Header

Buffer Queue Manager Packet


Buffer Memory

Address Table

50

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

Buffer Manager

Read Rate, R 1 paquete cada 8 ns

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).
51

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. Planificacin.
52

Arquitectura de router
Data Hdr
Header Processing
Lookup IP Address Update Header

Queue Packet
Buffer Memory

Address Table

Data Hdr

Header Processing
Lookup IP Address Update Header

NQueue line rate times


Packet
Buffer Memory

Address Table

N times line rate


Data Hdr
Header Processing
Lookup IP Address Update Header

Queue Packet
Buffer Memory

Address Table

53

Arquitectura de router
Data Hdr
Header Processing
Lookup IP Address Update Header

Queue Packet

Address Table

Data Hdr Memory


Update Header

Buffer

Data Hdr

Header Processing
Lookup IP Address

Queue Packet
Buffer Memory

Data Hdr

Address Table

Data Hdr

Header Processing
Lookup IP Address Update Header

Queue Packet

Scheduler
N N

Address Table

Data Hdr Memory


54

Buffer

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
55

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

56

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. Planificacin.
57

Planificacin (scheduling)

Trfico variable. Paquetes llegan al puerto de salida ms rpido de lo que pueden ser enviados (o hay paquetes en varios puertos de entrada con colas a la entrada)
Input port

Output port
Data Hdr Data Hdr Data Hdr

Data Hdr Input port Output port

Data Hdr

Data Hdr Input port Data Hdr

No podemos mantener esta situacin por tiempo ilimitado Pero podemos amortiguar rfagas de cierta duracin (colas) Tenemos varios candidatos de paquetes a enviar para un recurso limitado (slo podemos enviar uno) Cmo decidimos cual se enva y cual espera? Qu hacemos con los paquetes que llegan cuando el almacenamiento es escaso? Problema de planificacin (o scheduling)
58

Planificacin (scheduling)

Aproximacin ms simple: por orden de llegada (FCFS First came first served) Si un paquete llega y no hay sitio se elimina (DropTail) Problemas tipicos

El orden de llegada puede ser arbitrario (llegar por el primer puerto de entrada?) Problemas de injusticia entre flujos

Llegan 2 cada t
Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr

Queda sitio para 1


Data Hdr Data Hdr Data Hdr

Sale 1 cada t
Data Hdr

A algunas aplicaciones les importa ms el retardo que a otras


Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr

Data Data Data

Hdr

Hdr Hdr

Voz sobre IP pocos paquetes pero muy importante que lleguen rpido (>150ms inutil) Descarga de fichero muchos paquetes pero no importa que se retrasen muchos milisegundos 59

Planificadores

Colas con prioridad (PQ Priority Queueing) y clases de aplicaciones Solo enva de las colas con menos prioridad si no hay nada en las de mas prioridad (con 2 o ms niveles)
Output port Alta prioridad
Data Data Hdr Data Hdr Data Hdr Data Hdr Hdr

Baja prioridad
Data Hdr Data Data Hdr Hdr Data Hdr

Normalmente aplicaciones con requisitos de retardo vs aplicaciones normales. Y algn otro nivel ms pero no muchos

Limitando clasificacin del trfico Limitando estado interno (mayor complejidad con ms colas)
60

Planificadores

Planificadores justos, reparten el envo por igual entre varias clases de paquetes: GPS (Generalized Processor Sharing), WFQ (Weigthed Fair Queueing) Incluyendo reparto a partes proporcionales (por ejemplo: que la clase A tenga el doble de procesador que la B)
Output port A peso: 2
Data Hdr Data Hdr Data Hdr Data Hdr

B peso: 1
Data Hdr Data Data Hdr Hdr Data Hdr Data Hdr Data Hdr Data Hdr Data Hdr

C peso: 1
Data Hdr

61

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:

Enrutamiento
62

You might also like