Capítulo 4 - · PDF file1 Network Layer 4-1 Capítulo 4 Capa de red Network...

48
1 Network Layer 4-1 Capítulo 4 Capa de red Network Layer 4-2 Capitulo 4: Capa de red Objetivos del capítulo: Entender los principios detrás de los servicios de la capa de red: Modelos de servicios de la capa de red Forwarding vs routing Como funciona un router Enrutamiento (Selección de caminos) Escalamiento Tópicos avanzados: IPv6 Aplicación e implementación en la Internet Network Layer 4-3 Capítulo 4: Capa de red 4. 1 Introducción 4.2 Circuito virtual y datagramas redes 4.3 Que hay dentro de un router 4.4 IP: Protocolo de Internet Formato de Datagrama Direccionamiento IPv4 ICMP IPv6 4.5 Algoritmo de enrutamiento Estado de enlace Distancia Vectorial Enrutamiento Jerárquico 4.6 Enrutamiento en Internet RIP OSPF BGP 4.7 Enrutamiento de Broadcast y multicast

Transcript of Capítulo 4 - · PDF file1 Network Layer 4-1 Capítulo 4 Capa de red Network...

1

Network Layer 4-1

Capítulo 4Capa de red

Network Layer 4-2

Capitulo 4: Capa de red

Objetivos del capítulo:Entender los principios detrás de los servicios de la capa de red:

Modelos de servicios de la capa de redForwarding vs routing‏Como funciona un routerEnrutamiento (Selección de caminos)EscalamientoTópicos avanzados: IPv6

Aplicación e implementación en la Internet

Network Layer 4-3

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

2

Network Layer 4-4

Capa de redTransporta segmentos de origen a destinoEn origen encapsula segmentos en datagramasEn destino entrega segmentos a capa transporteHay protocolos capa red (network) en cada terminal y routerRouter examina campos de cabecera en todos los datagramas IP que pasan por él

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

networkdata linkphysical network

data linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

Network Layer

Funciones claves de la capa de redRuteo: determinar ruta para los paquetes desde un origen a destino.

Algoritmos de RuteoRe-envío (forwarding): mover paquetes desde la entrada del router a la salida apropiada.

Analogía:

Ruteo: proceso de planear viaje de origen a destino

Re-envío (forwarding): proceso de transitar a través de una intersección

Network Layer 4-6

1

23

0111

Valor en lacabecera del paqueteque arriba

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Interacción entre enrutamiento y forwarding

3

Network Layer 4-7

Armando la conexión

Fuera de ruteo y re-envío, el establecimiento de la conexión es la 3ra función de importancia en algunasarquitecturas de redes:

ATM, frame relay, X.25En algunas redes, antes que los datagramas fluyan, los dos hosts y los routers que intervienen establecen una conexión virtual

Routers se involucran en las conexiones Diferencia entre los servicio de conexión de las capas de red y transporte:

Red: conexión entre dos terminales (hosts)‏Transporte: conexión entre dos procesos

Network Layer 4-8

Modelo de servicio de redQ: ¿Cuál es el modelo de servicio para el “canal” que transporta los datagramas desde Tx a Rx?Sería bueno contar con:

Ejemplo de servicios para datagramas individuales:Entrega garantizadaEntrega garantizada con retardo inferior a X [ms] (e.g. 40 ms) ‏

Ejemplo de servicios para un flujo de datagramas:Entrega de datagramas en ordenAncho de banda mínimo garantizado para el flujoRestricciones sobre cambios en el intervalo (tiempo) entre paquetes

Network Layer 4-9

Modelos de servicios de capa de red:

ArquitecturaDe red

Internet

ATM

ATM

ATM

ATM

Modelo deServicio

best effort

CBR

VBR

ABR

UBR

Bandwidth

none

constantrateguaranteedrateguaranteed minimumnone

no Loss

no

yes

yes

no

no

Orden

no

yes

yes

yes

yes

Timing

no

yes

yes

no

no

Congestionfeedback

no (inferredvia loss)nocongestionnocongestionyes

no

Guarantees ?

4

Network Layer 4-10

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-11

Servicios de la capa de red orientado y no orientado a la conexión

Las redes de datagramas proveen servicio sin conexión en su capa de red (caso Internet)‏Redes de VC (Virtual Circuit) proveen servicio de conexión en su capa de red (e.g. ATM)‏Análogo a los servicios de capa transporte, pero:

Servicio es: terminal-a-terminal (host-to-host)‏No hay opción: la capa de red provee sólo uno u otroImplementación: en la red interna (core) ‏

Network Layer 4-12

Circuitos virtuales VC

Hay tres fases identificables:Establecimiento de la llamada, Transferencia de datos, yTérmino de la llamada

Cada paquete lleva un identificador del VC (no dirección de máquina destino)‏Cada router en el camino de origen a destino mantiene el “estado” por cada conexión que pasa por élEnlace y recursos del router (ancho de banda, buffers) pueden ser asignados al VC (recursos dedicados=servicios predecibles)

“camino de origen a destino se comporta más como un circuitode teléfono”

performance-prudenteAcciones de red a lo largo del camino origen - destino

5

Network Layer 4-13

Implementación VC

Un VC consiste de:1. Camino desde origen a destino2. Número de VC, un número por cada enlace a lo largo del

camino3. Entradas en tablas de re-envío en los routers a lo largo

del caminoLos paquetes que pertenecen a un VC llevan el número de VC correspondiente.El número de VC debe ser cambiado en cada enlace.

El nuevo número de VC es tomado de la tabla de re-envío

Network Layer 4-14

Tabla de reenvío12 22 32

1 23

VC number

interfacenumber

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 3 222 63 1 18 3 7 2 171 97 3 87… … … …

Forwarding table innorthwest router:

Routers mantienen la información del estado de la conexion!

Network Layer 4-15

Circuitos virtuales: protocolos de señalización

Usado para establecer, mantener y terminar VCUsado en ATM, frame-relay, X.25No usado en el Internet de hoy

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Initiate call 2. incoming call3. Accept call4. Call connected

5. Data flow begins 6. Receive data

6

Network Layer 4-16

Redes de DatagramaNo establecimiento de la llamada en la capa de redrouters: no estado acerca de las conexiones end-to-end

no concepto de “conexión” a nivel de redLos paquetes son reenviados utilizando direccionesde host destino

paquetes entre el mismo par origen-destino puedentomar diferentes caminos

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

Network Layer 4-17

Tabla de Forwarding

Destination Address Range Link Interface

11001000 00010111 00010000 00000000through 0

11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000through 1

11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000through 2

11001000 00010111 00011111 11111111

otherwise 3

4 billones de Posibles entradas

Network Layer 4-18

Concidencia del prefijo mas largo

Prefix Match Link Interface11001000 00010111 00010 0 11001000 00010111 00011000 111001000 00010111 00011 2

otherwise 3

DA: 11001000 00010111 00011000 10101010

Examples

DA: 11001000 00010111 00010110 10100001 Cual interfase?

Cual interfase?

7

Network Layer 4-19

Red de datagrama o VC : por que?

Internet (datagrama)Datos intercambiados entre computadores

Servicio “elástico”, sin requerimientos de tiempo estricto.

Sistemas terminales “inteligentes”(computadores)‏

Se pueden adaptar, hacer control, recuperación de erroresRed interna simple, la complejidad en “periferia”

Muchos tipos de enlacesCaracterísticas diferentes: satélite, radio, fibra, cableEs difícil uniformar servicios: tasas, pérdidas, BW

ATM (VC)Evoluciona desde la telefoníaConversación humana:

Tiempos estrictos, requerimientos de confiabilidadNecesidad de servicios garantizados

Sistemas terminales “tontos”

TeléfonosComplejidad dentro de la red

Network Layer 4-20

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-21

Arquitectura de routers Generalidades

Dos funciones claves de los routers:

Correr algoritmos/protocolos de ruteo (RIP, OSPF, BGP)‏Re-envío de datagramas desde enlaces de entrada a salida

8

Network Layer 4-22

Funciones del puerto de entrada

Conmutación Descentralizada:Dada la dirección destino de datagrama, se obtiene puerto de salida usando la tabla de re-envío en la memoria del puerto de entradaObjetivo: procesamiento completo en puerto de entrada a “velocidad de la línea”Hacer cola si datagramas llegan más rápido que velocidad de re-envío en el switch fabric

Capa física: Recepción nivel de bits

Capa enlace datos:e.g., Ethernet(más adelante)‏

Network Layer 4-23

Tres tipos de switching fabrics

Network Layer 4-24

Switching via memoriaRouters de primera generación:

Computador tradicional con conmutación bajo control directo de la CPU (routing processor)

Paquetes son copiados a la memoria del sistemaRapidez limitada por ancho de banda de la memoria (2

buses son cruzados por cada datagrama)‏

InputPort

OutputPort

Memory

System Bus

9

Network Layer 4-25

Switching Via un BusDatagrama desde el puerto de entrada de memoria al puerto de salida de memoria via un bus compartido no esta involucrado el routing processorContención de bus: velocidad de switching limitado por el ancho de banda del bus ( solo un paquete a la vez puede ser transferido por el bus)Bus de 32 Gbps bus, Cisco 6500: velocidad suficiente para acceso y enterprise routers

Network Layer 4-26

Switching via una red de interconexión

Supera limitaciones de ancho de banda del busRedes de interconexión originalmente desarrolladas para conectar procesadores en una arquitectura multi-procesadorDiseño avanzado: fragmentación de datagramas en celdas de tamaño fijo, las cuales pueden ser conmutadas en la estructura más rápidamente. Cisco 12000: conmuta a través de la red de interconexión 60 [Gbps]

Network Layer 4-27

Puertos de salida

Almacenamiento (Buffering) requerido cuando los datagramas llegan de fabric más rápido que la velocidad de transmisiónDisciplina de itinerario (Scheduling) seleccionaentre los datagramas en cola para transmisión

10

Network Layer 4-28

Encolamiento de puerto de salida

buffering cuando la velocidad de arribo via switch excede la velocidad de la linea de salidaqueueing (retardo) y pérdida debido a overflow del buffer del puerto de salida!

Network Layer 4-29

Cuanto buffering?

RFC 3439 regla del pulgar: buffering promedio igual al “tipico” RTT (digamos 250 msec) veces la capacidad del enlace C

ejemplo, C = 10 Gps link: 2.5 Gbit bufferRecomendaciones recientes: con N flujos, buffering igual a RTT C.

N

Network Layer 4-30

Encolamiento puerto de entradaFabric más lento que los puertos de entrada combinados-> encolamiento puede ocurrir en las colas de entradaHead-of-the-Line (HOL) blocking: datagramas encoladosen el frente de la cola previene a otros en la cola de moverse hacia adelanteRetardo de encolamiento y perdida debido a overflow en el buffer de entrada!

11

Network Layer 4-31

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-32

Capa de red de Internet

forwardingtable

Host, funciones de la capa de red del router :

Routing protocols•path selection•RIP, OSPF, BGP

IP protocol•addressing conventions•datagram format•packet handling conventions

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

physical layer

Networklayer

Network Layer 4-33

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

12

Network Layer 4-34

Formato del datagrama IP

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifierheader

checksumtime to

live

32 bit source IP address

IP protocol versionnumber

header length(bytes)

max numberremaining hops

(decremented at each router)

forfragmentation/reassembly

total datagramlength (bytes)

upper layer protocolto deliver payload to

head.len

type ofservice

“type” of data flgs fragmentoffset

upperlayer

32 bit destination IP address

Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.

Cuanto overhead con TCP?20 bytes de TCP20 bytes de IP= 40 bytes + overhead de la capa de apli.

Network Layer 4-35

Fragmentación de IP Fragmentation & reensamblajeLos enlaces de red tienenMTU (max.transfer size) –frame de nivel de enlace lo más largo posible.

Diferentes tipos de enlaceDiferentes MTUs

Datagrama largo IP dividido(“fragmentado”) dentro de la red

Un datagrama se convierteen algunos datagramas“reensamblaje” unicamenteen el destino finalBits del encabezado IP son usados para identificar, ordenar los fragmentosrelacionados

fragmentacion: in: un datagrama largoout: 3 datagramas pequeño

reassembly

Network Layer 4-36

Fragmentación IP y reensamblajeID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=185

fragflag=1

length=1500

ID=x

offset=370

fragflag=0

length=1040

Un datagrama largo se convierte en algunospequeños datagramas

EjemploDatagrama 4000 byteMTU = 1500 bytes

1480 bytes en el campo de datos

offset =1480/8

13

Network Layer 4-37

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-38

Direccionamiento IP: introducciónDirección IP address:identificador 32-bit para host, interfaces de router interface: conexiónentre el host/router y el enlace físico

Los routers tipicamente tienenmúltiples interfacesHost tipicamentetienen una interfaceDirecciones IP asociados con cadainterface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Network Layer 4-39

SubnetsDirecciones IP :

Parte de subnet (bits de alto orden)host part (bits de bajoorden)

Que es una subnet ?Dispositivos cuyasinterfaces tienen la misma parte de subnet en la dirección IPPueden fisicamentellegar a otros sin la intervención de un router

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

network consisting of 3 subnets

subnet

14

Network Layer 4-40

Subnets 223.1.1.0/24 223.1.2.0/24

223.1.3.0/24

RecetaPara determinar lassubnet, quite la interface de su host o router, creando islasde redes aisladas. Cada red aislada esllamada subnet.

Subnet mask: /24

Network Layer 4-41

SubnetsCuantas? 223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Network Layer 4-42

Clasificación y definición de direcciones IPv4

15

Network Layer 4-43

Direcciones IP : Como obtener una?

Q: Como un host obtiene una dirección IP?

hard-coded en un archivo por el system admin Windows: control-panel->network->configuration->tcp/ip->propertiesUNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol: dinámicamente obtiene una dirección desde un servidor

“plug-and-play”

Network Layer 4-44

DHCP: Dynamic Host Configuration Protocol

Objetivo: permitir a un host obtener dinamicamente una direcciónIP de un servidor de red cuando el host se une a la redPuede renovar su arrendamiento de la dirección en usoPermite la reutilización de las direcciones (solo las direcciones

agarradas mientras se conectan “on” )Soporte para usuarios mobiles que quieren unirse a la red

DHCP generalidades:host transmite a todos “DHCP Discover ” mensajeDHCP server responde con “DHCP offer” mensajehost solicita una dirección IP: “DHCP request” mensajeDHCP server envía dirección: “DHCP ack” mensaje

Network Layer 4-45

Escenario DHCP cliente-servidor

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

DHCP servidor

Cliente DHCP que lleganecesita una direcciónpara la red

16

Network Layer 4-46

Escenario DHCP cliente-servidorDHCP server: 223.1.2.5 arriving

client

time

DHCP discover

src : 0.0.0.0, 68 dest.: 255.255.255.255,67yiaddr: 0.0.0.0transaction ID: 654

DHCP offersrc: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs

DHCP request

src: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

DHCP ACKsrc: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

Network Layer 4-47

Direccionamiento IP : CIDRCIDR: Classless InterDomain Routing

Porción de subnet de direccion de longitudarbitrariaFormato de dirección: a.b.c.d/x, donde x es el # bits en la porción de subnet de la dirección(prefijo)

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

Network Layer 4-48

Direcciones IP: como obtener una?P: Como la red obtiene la parte de subnet de

una dirección IP?R: Obtiene la porción asignada de el espacio de

direccionamiento de su proveedor ISP’s

ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20

Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23

... ….. …. ….Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

17

Network Layer 4-49

Direccionamiento Jerárquico: route aggregation

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

ISPs-R-Us “Send me anythingwith addresses beginning 199.31.0.0/16”

200.23.20.0/23Organization 2

...

...

Direccionamiento Jerarquico permite un eficiente anuncio de la informaciónde enrutamiento:

Network Layer 4-50

Direccionamiento Jerárquico: rutas másespecíficas

ISPs-R-Us tienen una ruta más espercífica a la Organización 1

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

ISPs-R-Us “Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0/23”

200.23.20.0/23Organization 2

...

...

Network Layer 4-51

Direccionamiento IP: las últimaspalabras..

P: Como un ISP obtiene un bloque de direcciones?

R: ICANN: Internet Corporation for Assigned Names and Numbers

Asignan direccionesAdministra DNSAsigna los dominios de nombres, resuelvedisputas

18

Network Layer 4-52

NAT: Network Address Translation Traducción de direcciones de red

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagramas con origen o destinoen la red tienen la dirección

10.0.0/24 para origen, destino(como usual)

Todos los datagramas que dejan la red local tienen un mismo y unico

origen NAT IP address: 138.76.29.7,

Diferentes números de puertosorigen

Network Layer 4-53

NAT: Network Address Translation Traducción de direcciones de redMotivación: la red local usa solo una dirección IP en lo que respecta al mundo exterior:

Rango de direcciones no son necesarias del ISP: solamente una dirección para todos los dispositivosPuede cambiar direcciones de los dispositivos en la red local sin modificar el mundo exteriorPuede cambiar de ISP sin cambiar las direcciones de los dispositivos en la red localLos dispositivos de la red local interna no son explicitamente direccionables ni visibles para el mundo exterior ( seguridad).

Network Layer 4-54

NAT: Network Address Translation Traducción de direcciones de red

Implementacion: El router NAT debe:

outgoing datagrams: reemplazar (dirección IP origen, , # puerto) de cada uno de los datagramas de salidahacia (dirección IP NAT, nuevo # puerto). . . Clientes remotos/servidores responderán usando

(dirección IP NAT, nuevo # puerto) como direccióndestino.

recordar (en la tabla de traducción NAT) cada(dirección IP origen, # puerto) para (dirección IP NAT, nuevo # puerto) par traducido

incoming datagrams: reemplazar (dirección IP NAT, nuevo # puerto) en el campo destino de cadadatagrama de entrada con el correspondiente(dirección IP origen, # puerto) guardado en la tablaNAT

19

Network Layer 4-55

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

110.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40.186, 80

NAT translation tableWAN side addr LAN side addr138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4

S: 138.76.29.7, 5001D: 128.119.40.186, 802

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: Reply arrivesdest. address:138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

Network Layer 4-56

NAT: Network Address Translation Traducción de direcciones de red

Campo del número de puerto 16-bit: 60,000 conexiones simultáneas con una únicadirección del lado LAN!

NAT es polémico:Los routers unicamente deberan procesar hastacapa 3Viola el argumento end-to-end

• La posibibilidad de NAT deberá ser tomada en consideración por los diseñadores de aplicaciones, ejemplo aplicaciones P2P

La falta de direcciones deberá ser resuelto porIPv6

Network Layer 4-57

NAT problema traversalEl cliente quiere conectarse al servidor con la dirección 10.0.0.1

La dirección de servidor 10.0.0.1 es local para LAN (el cliente no puede usar esta como direccióndestino)Solo es visible una direcciónNATeada externamente: 138.76.29.7

solución 1: NAT configuradoestáticamente para reenviar los requerimientos de conexiones de entrada a un puerto dado del servidor

e.g., (123.76.29.7, port 2500) siempre reenviando a 10.0.0.1 puerto 25000

10.0.0.1

10.0.0.4

NAT router

138.76.29.7

Client ?

20

Network Layer 4-58

NAT traversal problemsolución 2: Universal Plug and Play (UPnP) Internet Gateway Device (IGD) Protocol. Permiteal host Nateado:

Aprender direccionespúblicas (138.76.29.7)añadir/remover los mapeosde puertos (con tiempos de arrendamiento)

Ejemplo, automatizarconfiguración de mapas de puertos NAT estáticos

10.0.0.1

10.0.0.4

NAT router

138.76.29.7

IGD

Network Layer 4-59

NAT traversal problemsolución 3: relevos (usado en Skype)

Cliente NATeado establece conexión con el relevoCliente externo se conecta con el relevoEl relevo hace puente para los paquetes entre lasconexiones

138.76.29.7Client

10.0.0.1

NAT router

1. connection torelay initiatedby NATted host

2. connection torelay initiatedby client

3. relaying established

Network Layer 4-60

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

21

Network Layer 4-61

ICMP: Internet Control Message Protocol

Usado por los hosts & routers para comunicarse informaciónde nivel de red

Reporte de errores: unreachable host, network, port, protocolecho request/reply (usadopor ping)

Capa de red “encima” IP:Mensajes ICMP son llevados en datagramas IP

Mensaje ICMP : tipo, codigomás los primeros 8 bytes del datagrama IP causante del mensaje ICMP.

Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion

control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header

Network Layer 4-62

Traceroute e ICMPOrigen envía una serie de segmentos UDP al destino

Primero tiene TTL =1Segundo tiene TTL=2, etc.Se utiliza un número de puerto improbable (raro)

Cuando nth datagrama llegaal nth router:

Router descarta el datagramY envía al origen un mensaje ICMP (tipo 11, codigo 0) TTL expiredMensaje incluye nombredel router & dirección IP

Cuando el mensaje ICMP llega, el origen calcula RTTTraceroute envía set de 3 paquetes con el mismo TTL

Criterio para detenerseSegmento UDP eventualmente llega al host destinoDestino retorna un paqueteICMP “destination port unreachable” (tipo 3, codigo 3)Cuando el origen obtieneeste ICMP, para.

Network Layer 4-63

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

22

Network Layer 4-64

IPv6Motivación inicial: el espacio de direcciones de 32-bit pronto va ser completamenteasignado. Motivación adicional:

Formato de cabecera ayuda a la velocidad de procesamiento/forwardingCabecera cambia para facilitar el QoS

Formato del datagrama IPv6 :Cabecera de longitud fija 40 byte no se permite fragmentación

Network Layer 4-65

Cabecera IPv6 (Cont)Priority: identifica la prioridad entre los datagramas en el flujoFlow Label: identifica datagramas en el mismo “flujo.”

(concepto de “flujo” no esta bien definido aún).Next header: identifica protocolo de capa superior para datos

Network Layer 4-66

Otros cambios en relación IPv4

Checksum: removido enteramente parareducir el tiempo de procesamineto en cada hop Options: permitido, pero fuera del header, indicado por el campo “Next Header”ICMPv6: nueva version de ICMP

Tipos de mensaje adicional, ejemplo: “Paquetemuy grande”Funciones de manejo de grupos multicast

23

Network Layer 4-67

Transición de IPv4 a IPv6

No todos los routers pueden ser actualizadossimultáneamente

no “ventana de mantenimiento”Como la red operará con una mezcla de routers IPv4 e IPv6 ?

Tunneling: IPv6 llevará un payload en los datagramas IPv4 entre los routers IPv4

Network Layer 4-68

TunnelingA B E F

IPv6 IPv6 IPv6 IPv6

tunnelVista Lógica:

Vista Física:A B E F

IPv6 IPv6 IPv6 IPv6IPv4 IPv4

Network Layer 4-69

TunnelingA B E F

IPv6 IPv6 IPv6 IPv6

tunnelVista Lógica:

Vista Física:A B E F

IPv6 IPv6 IPv6 IPv6

C D

IPv4 IPv4

Flow: XSrc: ADest: F

data

Flow: XSrc: ADest: F

data

Flow: XSrc: ADest: F

data

Src:BDest: E

Flow: XSrc: ADest: F

data

Src:BDest: E

A-to-B:IPv6

E-to-F:IPv6B-to-C:

IPv6 insideIPv4

B-to-C:IPv6 inside

IPv4

24

Network Layer 4-70

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-71

1

23

0111

Valor en la cabeceradel paquete que llega

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Interacción entre enrutamiento y forwarding

Network Layer 4-72

u

yx

wv

z2

21

3

1

1

2

53

5

Graph: G = (N,E)

N = set of routers = { u, v, w, x, y, z }

E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

Abstracción Gráfica

Comentario: Abstracción gráfica es util en otros contextos de red

Ejemplo: P2P, donde N es un conjungo de peers y E es un conjuntoconexiones TCP

25

Network Layer 4-73

Abstracción gráfica: costos

u

yx

wv

z2

21

3

1

1

2

53

5 • c(x,x’) = costo del enlace (x,x’)

- e.g., c(w,z) = 5

• costo podría ser siempre 1, o inversamente relacionado al anchode banda, o inversamente relacionada la congestión

Costo del camino (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

Pregunta: Cual es el camino de menor costo entre u y z ?

Algoritmo de enrutamiento: algoritmo que encuentra el caminode menor costo

Network Layer

Clasificación de los algoritmos de ruteoSegún información global o

descentralizada?Global:

Todos los routers conocen la topología completa y costos de enlacesAlgoritmos de “estado de enlace”(link state) ‏

Descentralizada:El router conoce vecinos conectados físicamente y el costo del enlace a ellos.Proceso iterativo de cómputo e intercambio de información con sus vecinosAlgoritmos de “vector de distancia”

Según si es estático o dinámico?

Estático:Rutas cambian lentamente en el tiempo

Dinámico:Rutas cambian más rápidamente

Actualizaciones periódicasEn respuesta a cambios de costos de enlaces

Network Layer 4-75

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

26

Network Layer

Un Algoritmo de ruteo de estado de enlace

Algoritmo de DijkstraSupone topología de red y costos de enlaces conocidos a todos los nodos

Se logra vía “difusión de estado de enlace”Todos los nodos tienen la misma información

Se calcula el camino de costo menor desde un nodo (fuente) a todos los otros

Determina tabla de re-envío (forwarding) para ese nodo

Iterativo: después de k iteraciones, se conoce el camino de menor costo a k destinos ‏

Notación:c(x,y): costo del enlace desde nodo x a y; = ∞ si no es vecino directoD(v): valor actual del costo del camino de menor costo desde fuente a destino v.p(v): nodo previo a v en el camino actual de menor costo desde el origen a v.N': conjunto de nodos, v esta en el conjunto si el camino cuyo camino de menor costo desde el origen a v es conocido

Network Layer 4-77

Algoritmo de Dijsktra1 Initialization:2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = ∞7 8 Loop9 find w not in N' such that D(w) is a minimum 10 add w to N'11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N'

Network Layer 4-78

Ejemplo de algoritmo Dijkstra

Step012345

N'u

uxuxy

uxyvuxyvw

uxyvwz

D(v),p(v)2,u2,u2,u

D(w),p(w)5,u4,x3,y3,y

D(x),p(x)1,u

D(y),p(y)∞

2,x

D(z),p(z)∞∞

4,y4,y4,y

u

yx

wv

z2

21

3

1

1

2

53

5

27

Network Layer 4-79

Algorimo de Dijkstra: ejemplo (2)

u

yx

wv

z

Arbol resultante de los caminos más cortos desde u:

vxywz

(u,v)(u,x)(u,x)(u,x)(u,x)

destination link

Tabla de forwarding resultante de u:

Network Layer 4-80

Algoritmo de Dijkstra, discusiónComplejidad del algoritmo: n nodos

Cada iteracción: se necesita revisar en todos los nodos, w queno está en NEl numero total de nodos que se necesitan buscar a traves de todas las iteraciones es n(n+1)/2: O(n2)Implementaciones lo más eficientemente posibles: O(n log n)

Posible oscilaciones:ejemplo, costo del enlace = cantidad del tráfico llevado

AD

CB

1 1+e

e0

e1 1

0 0

AD

CB

2+e 0

001+e 1

AD

CB

0 2+e

1+e10 0

AD

CB

2+e 0

e01+e 1

Inicialmente … recomputandoenrutamiento

… recomputo … recomputo

Network Layer 4-81

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

28

Network Layer 4-82

Algoritmo de distancia Vectorial

Ecuación de Bellman-Ford (programación dinámica)Definirdx(y) := menor costo del camino x a y

Luego

dx(y) = min {c(x,v) + dv(y) }

donde min es tomado de todos los vecinos v de x

v

Network Layer 4-83

Ejemplo Bellman-Ford

u

yx

wv

z2

21

3

1

1

2

53

5 Claramente, dv(z) = 5, dx(z) = 3, dw(z) = 3

du(z) = min { c(u,v) + dv(z),c(u,x) + dx(z),c(u,w) + dw(z) }

= min {2 + 5,1 + 3,5 + 3} = 4

Nodo que logra el mínimo es el siguientehop en el camino más corto ➜ Tabla de forwarding

Ecuación B-F dice:

Network Layer 4-84

Algoritmo de distancia vectorial

Dx(y) = estimado del menor costo desde x hasta yNode x conoce el costo a cada vecinodiretamente conectado v: c(x,v)Node x mantiene el vector distancia Dx = [Dx(y): y є N ], estimado de x de todos suscostos a todos los destinos y en NNode x también mantiene los vectoresdistancia a cada uno de sus vecinos

Para cada vecino v, x mantieneDv = [Dv(y): y є N ]

29

Network Layer 4-85

Algoritmo vector distancia(4)

Idea básica:De tiempo en tiempo, cada nodo envía su propiovector distancia estimado a los vecinosAsincronicoCuando un nodo x recibe un nuevo estimado DV de su vecino, este actualiza su propio DV usando la ecuación B-F:

Dx(y) ← minv{c(x,v) + Dv(y)} para cada nodo y ∊ N

Mientras todos los nodos continuenintercambiando sus vectores distancia y bajocondiciones normales cada costo estimado Dx(y) converge al menor costo actual dx(y)

Network Layer 4-86

Algoritmo de distancia vectorial (5)

Iterativo, asincronico: cada iteracción local causada por: Cambio en el costo del enlace local Mensaje de actualizacióndel DV enviado por el vecino

Distribuido:Cada nodo notifica a los vecinos solamente cuandosu DV cambia

Vecinos luego notifican a sus vecinos si es necesario

wait for (change in local link cost or msg from neighbor)

recompute estimates

if DV to any dest has changed, notify neighbors

Cada nodo:

Network Layer 4-87

x y zxyz

0 2 7∞∞ ∞∞∞ ∞

from

cost to

from

from

x y zxyz

0

from

cost to

x y zxyz

∞ ∞

∞∞ ∞

cost to

x y zxyz

∞∞ ∞7 1 0

cost to

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

time

x z12

7

y

node x table

node y table

node z table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)}

= min{2+1 , 7+0} = 3

32

30

Network Layer 4-88

x y zxyz

0 2 7∞∞ ∞∞∞ ∞

from

cost to

from

from

x y zxyz

0 2 3

from

cost tox y z

xyz

0 2 3

from

cost to

x y zxyz

∞ ∞

∞∞ ∞

cost tox y z

xyz

0 2 7

from

cost tox y z

xyz

0 2 3

from

cost to

x y zxyz

0 2 3

from

cost tox y z

xyz

0 2 7

from

cost tox y z

xyz

∞∞ ∞7 1 0

cost to

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

2 0 17 1 0

2 0 13 1 0

2 0 13 1 0

2 0 1

3 1 02 0 1

3 1 0

time

x z12

7

y

node x table

node y table

node z table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)}

= min{2+1 , 7+0} = 3

Network Layer

Vector de distancia: cambios en costos de enlacesCambios en costos de enlaces:

nodo detecta un cambio de costo en uno de sus enlacesactualiza información de ruteo, recalcula vector distanciasi hay cambio en DV notifica a sus vecinos

“buenas noticiasviajanrápido”

x z14

50

y1

En el tiempo t0, y detecta un cambio en costo de enlace, actualiza su DV e informa a sus vecinos.

En el tiempo t1, z recibe la información de y, también actualiza su tabla. Calcula un nuevo costo para x y le envía su DV a sus vecinos.

En el tiempo t2, y recibe la actualización de z y actualiza su tabla dedistancia. Los costos mínimos de y no cambian, y no envía ningúnnuevo mensaje a z.

Network Layer 4-90

Vector distancia: cambios en los costosde los enlaces

Cambios en los costos de enlaces:Buenas noticias viajan rápidoMalas noticias viajan lento -problema del “count to infinity” !

x z14

50

y60

31

Network Layer

Vector de distancia: cambio en costo de enlaces (e.g. incremento de costo)‏Inicialmente: Dy(x) = 4, Dy(z) = 1, Dz(x) = 5, Dz(y) = 1 En el tiempo t0 y detecta el cambio de costo y calcula:Dy(x) = min {c(y,x) + Dx(x), c(y,z) + Dz(x)} =

= min {60 + 0, 1 + 5} = 6Con nuestra visión global de la red sabemos que este valor de Dy(x) está equivocado. Esto pasa porque la última información que el nodo y tiene es que para llegar de z a x uno puede rutear a través de z con un costo de 5. Ahora (en t1) tenemos un routing loop. Para llegar a x ruteamos a través de z y z rutea a través de y... un paquete que cae en un routing loop va a rebotar entre los dos routers para siempre (en IP muere por TTL).y tiene un nuevo mínimo costo de 6 para Dy(x), y informa de su nuevo vector de distancia DY a sus vecinos.z recibe este vector de distancia DY y recalcula Dz

DZ(x) = min {50 + 0, 1 + 6} = 7En t2 al cambiar el mínimo costo para llegar a x, z informa a y de su nuevo vector de distancia DZ

y recibe DZ , recalcula un nuevo Dy(x) e informa a sus vecinos... etc...el proceso se repite por 44 iteraciones!

x z14

50

y60

x y zxyz

0 4 5

from

5 1 04 0 1

node y table

x y zxyz

0 4 5

from

5 1 06 0 1

node y table

Network Layer

Comparación de algoritmos de estado (LS) de enlace y vector de distancia (DV)‏

Complejidad de mensajesLS: con n nodos, E enlaces, O(nE) mensajes son enviadosDV: sólo intercambios entre vecinos

Tiempo de convergencia varía

Rapidez de convergenciaLS: O(n2), algoritmo requiere O(nE) mensajes

Puede tener oscilacionesDV: tiempo de convergencia varía

Podría estar en loopsProblema de cuenta infinita

Robustez: ¿qué pasa si un router funciona mal?

LS:Nodos pueden comunicar incorrecto costo del linkCada nodo computa sólo su propia tabla

DV:DV nodo puede comunicar costo de camino incorrectoLa tabla de cada nodo es usada por otros

• error se propaga a través de la red

Network Layer 4-93

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

32

Network Layer 4-94

Enrutamiento Jerárquico

escalamiento: con 200 millonesde destinos:No puede guardar todos los destinos en tablas de enrutamientos!Los intercambios de las tablasde enrutamiento puedeninundar el enlace!

Autonomía administrativainternet = red de redesCada administrador de red querrán controlar el enrutamiento en su propia red

Ideal Todos los routers son idénticosred “plana”

… no es verdad en la práctica

Network Layer 4-95

Enrutamiento Jeráquico

Agregar los routers dentrode regiones, “sistemaautonomo” (AS)Los routers en el mismo AS corren el mismo protocolode enrutamiento

Protocolo de enrutamiento“intra-AS”routers en diferentes AS pueden correr diferentesprotocolos de enrutamiento intra-AS

Gateway routerEnlace directo a router en otro AS

Network Layer 4-96

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3c

Interconectando ASes

forwarding table configurado por los dos algoritmos de enrutamientointra- and inter-AS

intra-AS pone entradaspara los destinos internosinter-AS & intra-As pone entradas para los destinosexternos

33

Network Layer 4-97

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

3c

Tareas Inter-AS Suponga que el router en AS1 recibe un datagramadestinado para la parte outside de AS1:

Router debera entregarel paquete al gateway router, pero a cual?

AS1 deberá:1. Aprender cuales

destinos son alcanzables a travésde AS2, y cuales a través AS3

2. Progagar la información de alcanze a todos los routers en AS1

Trabajo de enrutamientointer-AS !

Network Layer 4-98

Ejemplo: Estableciendo la forwarding table en el router 1dSuponga que AS1 aprende (via inter-AS protocol) que la subnet x es alcanzable via AS3 (gateway 1c) pero no via AS2.Protocolo inter-AS propaga la información de alcance a todos los routers internos.router 1d determina de la información de enrutamientointra-AS que su interface I esta en el caminos de menor costo a 1c.

instala la entrada (x,I) en el forwarding table

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

3cx…

Network Layer 4-99

Ejemplo: Seleccionando entre múltiples ASes

Ahora suponga que AS1 aprende del protocolo inter-AS que la subnet x es alcanzable desde AS3 y desdeAS2.Para configurar la forwarding table, router 1d deberá determinar hacia cual gateway deberáentregar los paquetes para el destino x.

Esto es tambien trabajo del protocolo de enrutamiento inter-AS l!

3b

1d

3a

1c2aAS3

AS1AS2

1a

2c2b

1b

3cx… …

34

Network Layer 4-100

Learn from inter-AS protocol that subnet x is reachable via multiple gateways

Use routing infofrom intra-AS

protocol to determinecosts of least-cost

paths to eachof the gateways

Hot potato routing:Choose the gateway

that has the smallest least cost

Determine fromforwarding table the interface I that leads

to least-cost gateway. Enter (x,I) in

forwarding table

Ejemplo: Escogiendo entre multiples ASes

Ahora suponga que AS1 aprende del protocolo inter-AS que la subnet x es alcanzable desde AS3 y desde AS2.Para configurar la forwarding table, router 1d deberádeterminar hacia cual gateway el deberá entregar los paquetespara el destino x.

Este es tambien trabajo del protocolo de enrutamientointer-AS!

hot potato routing: envia el paquete hacia el más cerca de dos routers.

Network Layer 4-101

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-102

Enrutamiento Intra-AS

También conocido como Interior Gateway Protocols (IGP)Más comunmente Intra-AS routing protocols:

RIP: Routing Information Protocol

OSPF: Open Shortest Path First

IGRP: Interior Gateway Routing Protocol (Cisco proprietary)

35

Network Layer 4-103

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-104

RIP ( Routing Information Protocol)

Algoritmo de distancia vectorialIncluido en BSD-UNIX distribuido en 1982Metrica de distancia: # de hops (max = 15 hops)

DC

BA

u vw

x

yz

destination hopsu 1v 2w 2x 3y 3z 2

From router A to subnets:

Network Layer 4-105

RIP advertisements

Vector distancia: intercambio entre vecinoscada 30 seg via Response Message (también llamado advertisement)cada advertisement: lista hasta 25 subnet de destino dentro del AS

36

Network Layer 4-106

RIP: Ejemplo

Destination Network Next Router Num. of hops to dest.w A 2y B 2z B 7x -- 1…. …. ....

w x y

z

A

C

D B

Routing/Forwarding table in D

Network Layer 4-107

RIP: Ejemplo

Destination Network Next Router Num. of hops to dest.w A 2y B 2z B A 7 5x -- 1…. …. ....

Routing/Forwarding table in D

w x y

z

A

C

D B

Dest Next hopsw - 1x - 1z C 4…. … ...

Advertisementfrom A to D

Network Layer 4-108

RIP: Falla de enlace y recuperaciónSi no se escucha de advertisement despúes de 180 seg -

-> el enlace/vecino es declarado muertoRutas a través de ese vecino son inválidasNuevos advertisements son enviados a los vecinosLos vecinos en turno envían nuevos advertisements (si las tablas cambian)Información de la falla de enlace rapidamente se propaga a toda la redpoison reverse usado para prevenir los lazos ping-pong loops (distancia infinita = 16 hops)

37

Network Layer 4-109

RIP Procesamiento de TablaTablas de enrutamiento RIP administradas por un proceso de nivel de aplicación llamado route-d (daemon)advertisements enviado en paquetes UDP, repetidos periódicamente

physicallink

network forwarding(IP) table

Transprt(UDP)

routed

physicallink

network(IP)

Transprt(UDP)

routed

forwardingtable

Network Layer 4-110

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-111

OSPF (Open Shortest Path First)

“abierto”: disponible publicamenteUsa el algoritmo de estado de enlace

Diseminación de paquete LSMapa topológico en cada nodoComputo de rutas utilizando el algoritmo de Dijkstra’s

OSPF advertisement lleva una entrada por cadarouter vecinoDiseminación de advertisements a todo el AS (via flooding)

Llevado en el mensaje OSPF directamente sobre IP (en vezde TCP o UDP)

38

Network Layer 4-112

Características avanzadas de OSPF (no en RIP)

seguridad: todos los mensaje OSPF son autenticados(para prevenir una intrusión maliciosa) multiples caminos del mismo costo son permitidos(solo un camino en RIP)Por cada enlace, multiples costos de metricas paradiferentes TOS (e.g., costo enlace satelital se establece “bajo” para un mejor esfuerzo; alto parareal time)Soport a uni integrado y multicast:

Multicast OSPF (MOSPF) usa la misma base de datos topológica que OSPF

Jerarquico OSPF en dominios largos.

Network Layer 4-113

OSPF Jerárquico

Network Layer 4-114

OSPF JerárquicoDos niveles de jerarquía: area local, backbone.

advertisements de estado de enlace solamente en el area Cada nodo tiene una topología de area detallada; solamente se conoce las indicaciones(camino máscorto) a las redes de otras áreas.

area border routers: “sumariza” las distancias a lasredes dentro de su propia area, anuncia a otros Area Border routers.backbone routers: corre enrutamiento OSPF limitadoal backbone.boundary routers: connecta a otros AS’s.

39

Network Layer 4-115

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-116

Enrutamiento Internet inter-AS : BGP

BGP (Border Gateway Protocol): estandardde facto BGP provee a cada AS un significado para :1. Obtener información de alcance a subnet desde

los vecindarios ASs.2. Propaga información de alcance a todos los

routers AS-internal .3. Determina “ buenas” rutas a las subnets

basadas en la información de alcance y políticas.Permite a la subnet anunciar su existenciaal resto de Internet: “I am here”

Network Layer 4-117

Aspectos básicos BGP Parejas de routers (BGP peers) intercambianinformación de enrutamiento sobre conexiones TCP semi-permanentes: BGP sessions

BGP sessions no necesitan correspondencia a los enlaces físicos.

Cuando AS2 anuncia un prefijo a AS1:AS2 promete que el entregará datagramas haciaese prefijo.AS2 puede agregar prefijos en susadvertisement

3b

1d

3a

1c2aAS3

AS1

AS21a

2c

2b

1b

3ceBGP session

iBGP session

40

Network Layer 4-118

Distribuyendo Información de alcance

Usando sesiones eBGP entre 3a y 1c, AS3 envía informacionde alcance de prefijos a AS1.

1c puede luego usar iBGP para distribuir nuevainformación de prefijos a todos los routers en AS11b puede luego re-anunciar nueva información de alcancea AS2 sobre la sesión eBGP 1b-to-2a

Cuando el router aprende el nuevo prefijo, el crea unaentrada para el prefijo en su forwarding table.

3b

1d

3a

1c2aAS3

AS1

AS21a

2c

2b

1b

3ceBGP session

iBGP session

Network Layer 4-119

Atributos de los caminos & rutasBGP

El prefijo anunciado incluye los atributos BGPprefijo + atributos = “ruta”

Dos atributos importantes:AS-PATH: contiene ASs através el prefijoanunciado ha pasado: ejemplo, AS 67, AS 17 NEXT-HOP: indica un router especifico internal-AS al siguiente hop AS. (puede ser multiples enlaces desde el actual AS al next-hop-AS)

Cuando el gateway router recibe una rutaanunciada, usa politicas de importación paraaceptar/declinar.

Network Layer 4-120

Selección de ruta BGP

El router puede aprender acerca de másde una ruta a algún prefijo. El router deberá seleccionar la ruta.Reglas de eliminación:

1. Valor de atributo de preferencia local: decisión en base a políticas

2. Más corto AS-PATH 3. Más cerca NEXT-HOP router: hot potato

routing4. Criterio adicional

41

Network Layer 4-121

Mensajes BGP

Los mensajes BGP son intercambiados usando TCP.Mensajes BGP :

OPEN: abre la conexión TCP al peer y autentica el transmisorUPDATE: anuncia un nuevo camino (o retira los viejos)KEEPALIVE mantiene viva una conexión en ausenciade UPDATES; tambien hace un confirmación ACKs de un requerimiento OPEN NOTIFICATION: reporta errores en el mensajeprevio; también usado para cerrar la conexión

Network Layer 4-122

Política de enrutamiento BGP

A,B,C son provider networksX,W,Y son clientes (del provider networks)X es dual-homed: conectado a dos redes

X no quiere rutear desde B via X a C.. entonces X no anunciará a B una ruta hacia C

A

B

C

WX

Y

legend:

customer network:

providernetwork

Network Layer 4-123

Política de enrutamiento BGP (2)

A anucia un caminio AW a BB anuncia un camino BAW a X Deberá B anunciar el camino BAW a C?

De ninguna manera! B no obtiene “ingresos” porenrutamineto CBAW dado que ni W ni C son clientes de B B quiere forzar a C para rutear a W via AB quiere rutear solamente hacia/desde sus clientes!

A

B

C

WX

Y

legend:

customer network:

providernetwork

42

Network Layer 4-124

Por que es diferente el enrutamiento Intra- e Inter-AS ?Politicas:

Inter-AS: administrador quiere control sobre como sutráfico es ruteado, quien rutea a través de su red. Intra-AS: dominio unico, por lo tanto no se necesitapolíticas para las decisiones

Escalamiento:Enrutamiento Jerárquico ahorra en los tamaños de lastablas, reduce el tráfico de update

Rendimiento:Intra-AS: puede enfocarse en rendimientoInter-AS: las políticas pueden dominar sobre el rendimiento

Network Layer 4-125

Capítulo 4: Capa de red

4. 1 Introducción4.2 Circuito virtual y datagramas redes4.3 Que hay dentro de un router4.4 IP: Protocolo de Internet

Formato de DatagramaDireccionamiento IPv4 ICMPIPv6

4.5 Algoritmo de enrutamiento

Estado de enlaceDistancia VectorialEnrutamientoJerárquico

4.6 Enrutamiento en Internet

RIPOSPFBGP

4.7 Enrutamiento de Broadcast y multicast

Network Layer 4-126

R1

R2

R3 R4

Duplicación de origen

R1

R2

R3 R4

Duplicacion in-network

duplicatecreation/transmissionduplicate

duplicate

Enrutamiento Broadcast Entrega de paquetes desde el origen hacia todos los otros nodosDuplicación de origen es ineficiente:

Duplicación de origen: como la fuentedetermina la dirección del recipiente?

43

Network Layer 4-127

Duplicación In-network Inundación (flooding): cuando el nodo recibe un paquetebroadcast, envía una copia a todos los vecinos

Problemas: tormenta de ciclos&broadcastflooding controlado: el nodo solo broadcastea el paquete si el mismo no lo ha broadcasteado antes

Nodo mantiene un seguimiento de cada paquete que ya ha sidobroadcasteadoO el mecanismo reverse path forwarding (RPF): solamentebroadcatea el paquete si el ha llegado en el camino más cortoentre el nodo y el origenCon el flooding controlado (número de secuencia) y RPF se evitalas tormentas de broadcast pero no se evita completamente la transmision de paquetes broadcast redundantes

spanning treePaquetes redundantes no son recibidos por cada nodo

Network Layer 4-128

A

B

G

DE

c

F

A

B

G

DE

c

F

(a) Broadcast iniciado en A (b) Broadcast iniciado en D

Spanning Tree

Primero construye un spanning treeNodos entregan copias solamente en el spanning tree

Network Layer 4-129

A

B

G

DE

c

F1

2

3

4

5

(a) Stepwise construction of spanning tree

A

B

G

DE

c

F

(b) Constructed spanning tree

Creación: Spanning TreeNodo centralCada nodo envía un unicast mensaje tree-join al nodo central

El mensaje es enviado hasta que llega al nodo que yapertenece al spanning tree o al centro.

44

Enrutamiento Multicast: ProblemaStatement

Objetivo: encontrar un arbol (o arboles) de enlaces que conecten todos los ruteadores que tienen host atachados que pertenecen al grupo multicast

arbol: no todos los caminos entre los routers son usadossource-based: diferentes arboles para cada transmisor a recepctorshared-tree: mismo arbol usado para todo el grupo de miembros

Shared tree Source-based trees

Enfoques para construir los arbolesmulticastEnfoques:

source-based tree: un árbol por origenArbol de camino más cortoreverse path forwarding

group-shared tree: grupo usa un árbolspanning mínimo (Steiner)

Arboles basados-centro

…Nosotros primero revisamos los enfoques básicos, luegolos protocolos específicos adoptaron estos enfoques

Arbol del camino más cortoMulticast forwarding tree: Arbol de los caminosmás cortos que rutea desde el origen a todos los receptores

Dijkstra’s algorithm

R1

R2

R3

R4

R5

R6 R7

21

6

3 45

i

Ruteador con un grupo deMiembros atachado

Ruteador sin grupo de miembrosatachadoEnlace usado para forwarding,i indiqa el orden del enlaceañadido por el algoritmo

S: source

45

Reverse Path Forwarding

si (el datagrama multicast recibido a través de un enlace de entrada de camino más corto al centro)luego el datagrama fluye en todos los enlaces de salida

si no ignore el datagrama

Reside en el conocimiento de los ruteadoressobre el camino más corto unicast desde élhasta el transmisor.Cada ruteador tiene un comportamientosimple de forwarding:

Ejemplo: Reverse Path Forwarding

• El resultado es un source-specific reverse SPT– Puede ser una mala decisión con los enlaces

asimétricos

R1

R2

R3

R4

R5

R6 R7

Ruteador con grupoDe miembros atachado

Ruteador sin grupo de Miembros atachadoDatagrama será entregado

LEGENDS: source

El datagrama no seráentregado

Reverse Path Forwarding: pruningEl arbol forwarding contiene subtrees sin grupo de miembros multicast

no necesito entregar datagramas abajo del subtree“prune” mensajes enviados de subida (upstream) por el router quereciben paquetes multicast y que no tiene host atachados queesten unidos al grupo multicast Si un router recibe mensajes prune de cada uno de sus routeres de bajada (downstream), luego el podrá entregar un mensaje prune de subida (upstream)

R1

R2

R3

R4

R5

R6 R7

Ruteador con grupo de miembrosatachadoRuteador sin grupo de miembrosatachadoprune mensaje

S: source

Enlaces con multicastforwarding

P

P

P

46

Shared-Tree: Steiner Tree

Steiner Tree: costo minimo del arbolconectando todos los routers con grupo de miembros atachadosNo usado en la práctica:

Complejidad computacionalNecesidad de información acerca de toda la redmonolithic: re corre cada vez que un router necesita unirse/salirse

Center-based treesUnico arbol de entrega compartido portodosUn router identificado como el “centro” del árbolPara unirse:

edge router envía un mensaje unicast de unióndireccionado al router centralMensaje- union “procesado” por los routers intermedios y entregado hacia el centroMensaje-union va a ser entregado usando enrutamientounicast hacia el centro hasta que el llegue al nodo que yapertenece al spanning tree o llegue al centroCamino tomado por el mensaje-unión define el branch del spanning tree entre el edge nodo que inicio los mensajes y el centro

Ejemplo: Center-based trees

Suponga R6 ha sido elegido como centro:

R1

R2

R3

R4

R5

R6 R7

Ruteador con grupo de miembrosatachadoRuteador sin grupo de miembrosatachadoOrden del camino en el cual lo mensajes de union se generan

21

3

1

47

Internet Multicasting Routing: DVMRP

DVMRP: protocolo de enrutamientomulticast de distancia vectorial, RFC1075flood y prune: reverse path forwarding, source-based tree

RPF tree basdo en DVMRP’s sus propias tablasson construidas por comunicación DVMRP de los routers Datagrama inicial al grupo multicast inundatodos lados via RPFRuteadores que no quieren pertenecer al grupo: envían mensajes upstream prune

DVMRP: continuación…soft state: ruteador DVMRP periodicamaente (1 min.) “olvida” las branches que son pruned:

Dato multicast nuevamente fluye bajo las branch unpruned downstream router: reprune o si no continua recibiendo datos

routers pueden rapidamente rensertarse en el arbolPosiblidades y fines

Comunmente implementado en los routers comercialesMulticastbone routing es hecho usando DVMRP

TunnelingQ: Como conectar “islas” de routers multicast

en un “mar” de routers unicast?

Los datagramas multicast encapsulados internamente en datagramas “normales” (non-multicast-addressed) Datagrama IP normal envía a través “tunnel” via regular IP unicast al ruteador receptor multicastEl ruteador musticast receptor desencapsula para obtener el datagrama multicast

physical topology logical topology

48

PIM: Protocol Independent MulticastNo dependiente de algún específico algoritmo de enrutamiento unicast subyacente (trabaja con todos)

Dos diferentes escenarios de distribución de multicast:

Dense:Grupo de miembrosdensamenteenpaquetados, en unaproximidad “cercana”. Ancho de banda másabundante

Sparse:# de routers con grupos de miembros atachados espequeño comparado con el numero total de routersGrupo de miembros“ampliamente dispersado”Ancho de banda no abundante

Comparativo Sparse-Dense:

DenseMembresía de grupoasumida por los routers hasta que el router explicitamente prune Construccion data-driven en el arbolmulticast (ejemplo RPF)Ancho de banda y procesamientoderrochador non-group-router

Sparse:No membresía hasta quelos routers explicitamente se unanConstruccion receiver-driven del arbol multicast (ejemplo, center-based)Ancho de banda y procesamientoconservador non-group-router