• No se han encontrado resultados

Cap 4 – Capa de Red

N/A
N/A
Protected

Academic year: 2018

Share "Cap 4 – Capa de Red"

Copied!
48
0
0

Texto completo

(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

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

(2)

Network Layer 4-4

Capa de red

ˆTransporta segmentos de origen a destino ˆEn origen encapsula

segmentos en datagramas ˆEn destino entrega

segmentos a capa transporte

ˆHay protocolos capa red (network) en cada terminal y router

ˆRouter examina campos de cabecera en todos los datagramas IP que pasan por él application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical Network Layer

Funciones claves de la capa de red

ˆ

Ruteo:

determinar

ruta para los

paquetes desde un

origen a destino.

Algoritmos de Ruteo

ˆ

Re-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

1

2 3

0111

Valor en la cabecera del paquete que arriba

routing algorithm

local forwarding table header value output link

0100 0101 0111 1001 3 2 2 1

(3)

Network Layer 4-7

Armando la conexión

ˆFuera de ruteo y re-envío, el establecimiento de la

conexión es la 3rafunción de importancia en algunas

arquitecturas de redes:

ATM, frame relay, X.25

ˆEn 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 red

Q:¿Cuál es el modelo de serviciopara el “canal” que transporta los datagramas desde Tx a Rx?

Sería bueno contar con:

Ejemplo de servicios para datagramas individuales: ˆ Entrega garantizada ˆ Entrega garantizada con

retardo inferior a X [ms] (e.g. 40 ms)‏

Ejemplo de servicios para un flujo de datagramas: ˆ Entrega de datagramas en

orden

ˆ Ancho de banda mínimo

garantizado para el flujo

ˆ Restricciones sobre cambios en el intervalo (tiempo) entre paquetes

Modelos de servicios de capa de

red:

Arquitectura De red

Internet

ATM

ATM

ATM

ATM

Modelo de Servicio

best effort

CBR

VBR

ABR

UBR

Bandwidth

none

constant rate guaranteed rate guaranteed minimum none

no Loss

no

yes

yes

no

no Orden

no

yes

yes

yes

yes Timing

no

yes

yes

no

no

Congestion feedback

no (inferred via loss) no congestion no congestion yes

(4)

Network Layer 4-10

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

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 otro Implementación: en la red interna (core)‏

Circuitos virtuales VC

ˆ Hay tres fases identificables:

Establecimiento de la llamada, Transferencia de datos, y Té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 él

ˆ Enlace y recursos del router (ancho de banda, buffers)

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

performance-prudente

(5)

Network Layer 4-13

Implementación VC

Un VC consiste de:

1. Camino desde origen a destino

2. Número de VC, un número por cada enlace a lo largo del camino

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

del camino

ˆ Los 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ío

12 22 32

1 2 3 VC number

interface number

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87

… … … …

Forwarding table in northwest router:

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

Circuitos virtuales: protocolos de

señalización

ˆ Usado para establecer, mantener y terminar VC ˆ Usado en ATM, frame-relay, X.25

ˆ No usado en el Internet de hoy

application transport

network

data link physical

application transport

network

data link physical

1. Initiate call 2. incoming call 3. Accept call 4. Call connected5. Data flow begins

(6)

Network Layer 4-16

Redes de Datagrama

ˆNo establecimiento de la llamada en la capa de red ˆrouters: no estado acerca de las conexiones

end-to-end

no concepto de “conexión” a nivel de red

ˆLos paquetes son reenviados utilizando direcciones

de host destino

paquetes entre el mismo par origen-destino pueden

tomar diferentes caminos application

transport

network

data link physical

application transport

network

data link physical

1. Send data 2. Receive data

Network Layer 4-17

Tabla de Forwarding

Destination Address Range Link Interface 11001000 00010111 00010000 00000000

through 0

11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1

11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 2

11001000 00010111 00011111 11111111 otherwise 3

4 billones de Posibles entradas

Concidencia del prefijo mas largo

Prefix Match Link Interface 11001000 00010111 00010 0

11001000 00010111 00011000 1

11001000 00010111 00011 2

otherwise 3

DA: 11001000 00010111 00011000 10101010

Examples

DA: 11001000 00010111 00010110 10100001 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 errores

Red interna simple, la

complejidad en “periferia” ˆ Muchos tipos de enlaces

Características diferentes:

satélite, radio, fibra, cable

Es difícil uniformar servicios:

tasas, pérdidas, BW

ATM (VC)

ˆEvoluciona desde la

telefonía

ˆConversación humana:

Tiempos estrictos,

requerimientos de confiabilidad

Necesidad de servicios

garantizados

ˆSistemas terminales

“tontos”

Teléfonos

Complejidad dentro de

la red

Network Layer 4-20

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

Arquitectura de routers

Generalidades

Dos funciones claves de los routers:

ˆ Correr algoritmos/protocolos de ruteo (RIP, OSPF, BGP)‏

(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 entrada ˆ Objetivo: 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

Switching via memoria

Routers de primera generación:

ˆComputador tradicional con conmutación bajo control

directo de la CPU (routing processor)

ˆPaquetes son copiados a la memoria del sistema

ˆRapidez limitada por ancho de banda de la memoria (2

buses son cruzados por cada datagrama)‏

Input Port

Output Port Memory

(9)

Network Layer 4-25

Switching Via un Bus

ˆDatagrama desde el puerto de

entrada de memoria al puerto de salida de memoria via un bus compartido no esta involucrado el routing processor

ˆContenció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 bus ˆRedes de interconexión originalmente

desarrolladas para conectar procesadores en una arquitectura multi-procesador

ˆDiseñ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]

Puertos de salida

ˆAlmacenamiento (Buffering) requerido cuando los

datagramas llegan de fabric más rápido que la velocidad de transmisión

ˆDisciplina de itinerario (Scheduling)selecciona

(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 salida

ˆqueueing (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 buffer ˆ

Recomendaciones recientes: con

N

flujos,

buffering igual a

RTT C

.

N

Encolamiento puerto de entrada

ˆFabric más lento que los puertos de entrada combinados-> encolamiento puede ocurrir en las colas de entrada ˆHead-of-the-Line (HOL) blocking:datagramas encolados

en el frente de la cola previene a otros en la cola de moverse hacia adelante

(11)

Network Layer 4-31

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

Network Layer 4-32

Capa de red de Internet

forwarding table

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 Network

layer

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

(12)

Network Layer 4-34

Formato del datagrama IP

ver length 32 bits

data (variable length,

typically a TCP or UDP segment)

16-bit identifier

header checksum time to

live

32 bit source IP address IP protocol version

number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes)

upper layer protocol to deliver payload to

head. len type ofservice

“type” of data flgs fragment offset upper

layer

32 bit destination IP address

Options (if any) E.g. timestamp, record route taken, specify list of routers to visit.

Cuanto overhead con TCP?

ˆ 20 bytes de TCP ˆ 20 bytes de IP ˆ = 40 bytes +

overhead de la capa de apli.

Network Layer 4-35

Fragmentación de IP

Fragmentation & reensamblaje

ˆ Los enlaces de red tienen

MTU (max.transfer size) – frame de nivel de enlace lo más largo posible.

Diferentes tipos de enlace Diferentes MTUs

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

Un datagrama se convierte

en algunos datagramas

“reensamblaje” unicamente

en el destino final

Bits del encabezado IP son

usados para identificar, ordenar los fragmentos relacionados

fragmentacion:

in:un datagrama largo

out:3 datagramas pequeño

reassembly

Fragmentación IP y reensamblaje

ID

=x fragflag=0 offset=0 length

=4000

ID

=x fragflag=1 offset=0 length

=1500

ID

=x fragflag=1 offset=185 length

=1500

ID

=xfragflag=0 offset=370 length

=1040

Un datagrama largo se convierte en algunos pequeños datagramas

Ejemplo

ˆDatagrama 4000

byte

ˆMTU = 1500 bytes

1480 bytes en el campo de datos

(13)

Network Layer 4-37

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

Network Layer 4-38

Direccionamiento IP: introducción

ˆDirección IP address:

identificador 32-bit para host, interfaces de router

ˆinterface:conexión

entre el host/router y el enlace físico

Los routers

tipicamente tienen múltiples interfaces

Host tipicamente

tienen una interface

Direcciones IP

asociados con cada interface

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.2 223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 1 1

Subnets

ˆDirecciones IP :

Parte de subnet (bits

de alto orden)

host part (bits de bajo

orden)

ˆQue es una subnet ? Dispositivos cuyas

interfaces tienen la misma parte de subnet en la dirección IP

Pueden fisicamente

llegar 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.2 223.1.3.1

223.1.3.27

network consisting of 3 subnets

(14)

Network Layer 4-40

Subnets

223.1.1.0/24 223.1.2.0/24

223.1.3.0/24 Receta

ˆPara determinar las

subnet, quite la interface de su host o router, creando islas de redes aisladas. Cada red aislada es llamadasubnet.

Subnet mask: /24

Network Layer 4-41

Subnets

Cuantas? 223.1.1.1

223.1.1.3 223.1.1.4

223.1.2.2 223.1.2.1

223.1.2.6

223.1.3.2 223.1.3.1

223.1.3.27 223.1.1.2

223.1.7.0

223.1.7.1 223.1.8.0 223.1.8.1 223.1.9.1

223.1.9.2

(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->properties

UNIX: /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ón IP de un servidor de red cuando el host se une a la red

Puede renovar su arrendamiento de la dirección en uso Permite 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 ” mensaje DHCP server responde con “DHCP offer” mensaje host solicita una dirección IP: “DHCP request” mensaje DHCP server envía dirección: “DHCP ack” mensaje

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.2 223.1.3.1

223.1.3.27

A

B

E

DHCP servidor

(16)

Network Layer 4-46

Escenario DHCP cliente-servidor

DHCP server: 223.1.2.5 arriving client

time

DHCP discover

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

DHCP offer

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

DHCP request

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

DHCP ACK

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

Network Layer 4-47

Direccionamiento IP : CIDR

CIDR: Classless InterDomain Routing

Porción de subnet de direccion de longitud

arbitraria

Formato 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

subnet part

host part

200.23.16.0/23

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

(17)

Network Layer 4-49

Direccionamiento Jerárquico: route

aggregation

“Send me anything with 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 7 Internet

Organization 1

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

200.23.20.0/23

Organization 2 .. .

.. .

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

Network Layer 4-50

Direccionamiento Jerárquico: rutas más

específicas

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

“Send me anything with 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 7 Internet

Organization 1

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

200.23.20.0/23

Organization 2 .. .

.. .

Direccionamiento IP: las últimas

palabras..

P:

Como un ISP obtiene un bloque de

direcciones?

R:

ICANN: Internet Corporation for Assigned

Names and Numbers

Asignan direcciones Administra DNS

Asigna los dominios de nombres, resuelve

(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 of

Internet

Datagramas con origen o destino en la red tienen la dirección 10.0.0/24 para origen, destino

(como usual)

Todos losdatagramas quedejan la red local tienen un mismo y unico

origen NAT IP address: 138.76.29.7, Diferentes números de puertos

origen

Network Layer 4-53

NAT: Network Address Translation

Traducción de direcciones de red

ˆMotivació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 dispositivos

Puede cambiar direcciones de los dispositivos en la

red local sin modificar el mundo exterior

Puede cambiar de ISP sin cambiar las direcciones de

los dispositivos en la red local

Los dispositivos de la red local interna no son

explicitamente direccionables ni visibles para el mundo exterior ( seguridad).

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 salida hacia (dirección IP NAT, nuevo # puerto)

. . . Clientes remotos/servidores responderán usando (dirección IP NAT, nuevo # puerto) como dirección destino.

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,

(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, 3345 D: 128.119.40.186, 80

1 10.0.0.4 138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40.186, 80

NAT translation table WAN side addr LAN side addr

138.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, 5001

D: 128.119.40.186, 80

2 2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: Reply arrives dest. address: 138.76.29.7, 5001

4: NAT router changes datagram dest addr from

138.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 única

dirección del lado LAN!

ˆ

NAT es polémico:

Los routers unicamente deberan procesar hasta

capa 3

Viola 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 por

IPv6

NAT problema traversal

ˆ El 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ón destino)

Solo es visible una dirección

NATeada externamente: 138.76.29.7

ˆ solución 1: NAT configurado

está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

(20)

Network Layer 4-58

NAT traversal problem

ˆsolución 2: Universal Plug and

Play (UPnP) Internet Gateway Device (IGD) Protocol. Permite al host Nateado:

™Aprender direcciones

públicas (138.76.29.7)

™añadir/remover los mapeos

de puertos (con tiempos de arrendamiento)

Ejemplo, automatizar configuració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 problem

ˆ solución 3: relevos (usado en Skype)

Cliente NATeado establece conexión con el relevo Cliente externo se conecta con el relevo El relevo hace puente para los paquetes entre las

conexiones

138.76.29.7

Client

10.0.0.1

NAT router

1.connection to relay initiated by NATted host

2.connection to relay initiated by client

3.relaying established

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

(21)

Network Layer 4-61

ICMP: Internet Control Message Protocol

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

Reporte de errores:

unreachable host, network, port, protocol

echo request/reply (usado

por ping) ˆ Capa de red “encima” IP:

Mensajes ICMP son

llevados en datagramas IP

ˆ Mensaje ICMP :tipo, codigo

más los primeros 8 bytes del datagrama IP causante del mensaje ICMP.

Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion

control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

Network Layer 4-62

Traceroute e ICMP

ˆ Origen envía una serie de

segmentos UDP al destino Primero tiene TTL =1 Segundo tiene TTL=2, etc. Se utiliza un número de

puerto improbable (raro)

ˆ Cuando nth datagrama llega

al nth router: Router descarta el

datagram

Y envía al origen un

mensaje ICMP (tipo 11, codigo 0) TTL expired

Mensaje incluye nombre

del router & dirección IP

ˆ Cuando el mensaje ICMP

llega, el origen calcula RTT

ˆ Traceroute envía set de 3

paquetes con el mismo TTL Criterio para detenerse ˆ Segmento UDP

eventualmente llega al host destino

ˆ Destino retorna un paquete

ICMP “destination port unreachable” (tipo 3, codigo 3)

ˆ Cuando el origen obtiene este ICMP, para.

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

(22)

Network Layer 4-64

IPv6

ˆ

Motivación inicial:

el espacio de direcciones de

32-bit pronto va ser completamente

asignado.

ˆ

Motivación adicional:

Formato de cabecera ayuda a la velocidad de

procesamiento/forwarding

Cabecera 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 flujo

Flow 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

Otros cambios en relación IPv4

ˆ

Checksum

:

removido enteramente para

reducir 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: “Paquete

muy grande”

(23)

Network Layer 4-67

Transición de IPv4 a IPv6

ˆ

No todos los routers pueden ser actualizados

simultá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

Tunneling

A B E F

IPv6 IPv6 IPv6 IPv6

tunnel

Vista Lógica:

Vista Física: A B E F

IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

Tunneling

A B E F

IPv6 IPv6 IPv6 IPv6

tunnel

Vista Lógica:

Vista Física: A B E F

IPv6 IPv6 IPv6 IPv6

C D

IPv4 IPv4 Flow: X

Src: A Dest: F data

Flow: X Src: A Dest: F data Flow: X

Src: A Dest: F data

Src:B Dest: E

Flow: X Src: A Dest: F data

Src:B Dest: E

A-to-B:

(24)

Network Layer 4-70

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

Network Layer 4-71

1

2 3

0111

Valor en la cabecera del paquete que llega

routing algorithm

local forwarding table header value output link

0100 0101 0111 1001 3 2 2 1

Interacción entre enrutamiento y

forwarding

u

y

x

w v

z

2 2

1 3

1 1

2 5 3 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

(25)

Network Layer 4-73

Abstracción gráfica: costos

u

y

x

w v

z

2 2

1 3

1 1

2 5 3

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 ancho de banda, o inversamente relacionad a 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 camino de menor costo

Network Layer

Clasificación de los algoritmos de ruteo

Según información global o descentralizada? Global:

ˆTodos los routers conocen la

topología completa y costos de enlaces

ˆAlgoritmos 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 vecinos

ˆAlgoritmos 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ódicas

En respuesta a cambios

de costos de enlaces

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

(26)

Network Layer

Un Algoritmo de ruteo de estado

de enlace

Algoritmo de Dijkstra ˆSupone 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 directo

ˆD(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 Dijsktra

1 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 Loop

9 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'

Ejemplo de algoritmo Dijkstra

Step 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y)∞

(27)

Network Layer 4-79

Algorimo de Dijkstra: ejemplo (2)

u

y

x

w v

z

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

v x y w z

(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ón

Complejidad del algoritmo: n nodos

ˆ Cada iteracción: se necesita revisar en todos los nodos, w que no está en N

ˆ El 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

A D

C B

1 1+e

e 0

e

1 1

0 0

A D

C B

2+e 0

0 01+e 1

A D

C B

0 2+e

1+e 1 0 0

A D

C B

2+e 0

e 01+e 1

Inicialmente … recomputandoenrutamiento … recomputo … recomputo

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

(28)

Network Layer 4-82

Algoritmo de distancia Vectorial

Ecuación de Bellman-Ford (programación dinámica)

Definir

dx(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

y

x

w v

z

2 2

1 3

1 1

2 5 3

5 Claramente, d

v(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 siguiente

hop en el camino más corto➜ Tabla de forwarding

Ecuación B-F dice:

Algoritmo de distancia vectorial

ˆ

D

x

(y)

= estimado del menor costo desde x

hasta y

ˆ

Node x conoce el costo a cada vecino

diretamente conectado v:

c(x,v)

ˆ

Node x mantiene el vector distancia

D

x

=

[D

x

(y): y

є

N ],

estimado de x de todos sus

costos a todos los destinos y en N

ˆ

Node x también mantiene los vectores

distancia a cada uno de sus vecinos

(29)

Network Layer 4-85

Algoritmo vector distancia(4)

Idea básica:

ˆDe tiempo en tiempo, cada nodo envía su propio

vector distancia estimado a los vecinos

ˆAsincronico

ˆCuando 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 continuen

intercambiando sus vectores distancia y bajo condiciones normales cada costo estimado Dx(y) converge al menor costo actualdx(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ón del DV enviado por el vecino

Distribuido:

ˆ Cada nodo notifica a los

vecinos solamente cuando su DV cambia

Vecinos luego notifican a

sus vecinos si es necesario

waitfor (change in local link cost or msg from neighbor)

recomputeestimates

if DV to any dest has changed, notifyneighbors Cada nodo:

x y z x y z

0 2 7 ∞ ∞ ∞ ∞ ∞ ∞

fr

om

cost to

fr

om

fr

om

x y z x y z

0

fr

om

cost to

x y z x y z

∞ ∞

∞ ∞ ∞ cost to

x y z x y z ∞ ∞ ∞

cost to ∞ 2 0 1

∞ ∞ ∞

2 0 1 7 1 0

x2 7 1z

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

(30)

Network Layer 4-88 x y z

x y z

0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ fr om cost to fr om fr om

x y z x y z

0 2 3

fr

om

cost to x y z

x y z

0 2 3

fr

om

cost to

x y z x y z ∞ ∞ ∞ ∞ ∞ cost to

x y z x y z

0 2 7

fr

om

cost to

x y z x y z

0 2 3

fr

om

cost to

x y z x y z

0 2 3

fr

om

cost to x y z

x y z

0 2 7

fr

om

cost to x y z

x y z ∞ ∞ ∞7 1 0

cost to ∞ 2 0 1

∞ ∞ ∞

2 0 1 7 1 0

2 0 1 7 1 0

2 0 1 3 1 0

2 0 1 3 1 0

2 0 1

3 1 0 2 0 1 3 1 0

time

x2 7 1z

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 enlaces

Cambios en costos de enlaces:

ˆ nodo detecta un cambio de costo en

uno de sus enlaces

ˆ actualiza información de ruteo,

recalcula vector distancia

ˆ si hay cambio en DV notifica a sus vecinos “buenas noticias viajan rápido” x z 1 4 50 y 1

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

En el tiempo t1, zrecibe 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, yrecibe la actualización de zy actualiza su tabla de distancia. Los costos mínimos de yno cambian, yno envía ningún nuevo mensaje a z.

Vector distancia: cambios en los costos

de los enlaces

Cambios en los costos de enlaces:

ˆ Buenas noticias viajan rápido ˆ Malas noticias viajan lento

-problema del “count to

infinity” ! x z

1 4

50

y

(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} = 6

ˆ Con 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 6para Dy(x), y informa de su nuevo vector de distancia DYa sus vecinos.

ˆ z recibe este vector de distancia DYy recalcula Dz DZ(x) = min {50 + 0, 1 + 6} = 7

ˆ En t2al 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!

x4 501z y

60

x y z x y z

0 4 5

fr

om

5 1 0 4 0 1 node y table

x y z x y z

0 4 5

fr

om

5 1 0

60 1 node y table

Network Layer

Comparación de algoritmos de estado (LS) de

enlace y vector de distancia (DV)

Complejidad de mensajes

ˆLS:con n nodos, E enlaces,

O(nE) mensajes son enviados

ˆDV:sólo intercambios entre

vecinos

Tiempo de convergencia

varía

Rapidez de convergencia

ˆLS:O(n2), algoritmo requiere

O(nE) mensajes

Puede tener oscilaciones

ˆDV: tiempo de convergencia varía

Podría estar en loops Problema de cuenta infinita

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

Nodos pueden comunicar

incorrecto costo del link

Cada nodo computa sólo su

propia tabla

DV:

DV nodo puede comunicar costo de caminoincorrecto

La tabla de cada nodo es

usada por otros

• error se propaga a través de la red

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

(32)

Network Layer 4-94

Enrutamiento Jerárquico

escalamiento:con 200 millones de destinos:

ˆ No puede guardar todos los destinos en tablas de enrutamientos!

ˆ Los intercambios de las tablas de enrutamiento pueden inundar el enlace!

Autonomía administrativa

ˆ internet = red de redes ˆ Cada administrador de red

querrán controlar el enrutamiento en su propia red

Ideal

ˆTodos los routers son idénticos ˆred “plana”

… no es verdad en la práctica

Network Layer 4-95

Enrutamiento Jeráquico

ˆAgregar los routers dentro

de regiones,“sistema autonomo” (AS)

ˆLos routers en el mismo AS

corren el mismo protocolo de enrutamiento

Protocolo de enrutamiento “intra-AS”

routers en diferentes AS

pueden correr diferentes protocolos de enrutamiento intra-AS

Gateway router

ˆ Enlace directo a router en

otro AS

3b

1d 3a

1c 2a

AS3

AS1

AS2

1a

2c 2b 1b

Intra-AS Routing algorithm

Inter-AS Routing algorithm

Forwarding table

3c

Interconectando ASes

ˆforwarding table configurado por los dos algoritmos de enrutamiento intra- and inter-AS

intra-AS pone entradas

para los destinos internos

inter-AS & intra-As pone

(33)

Network Layer 4-97

3b

1d 3a

1c 2a

AS3

AS1

AS2

1a

2c 2b 1b

3c

Tareas Inter-AS

ˆ Suponga que el router en

AS1 recibe un datagrama destinado para la parte outside de AS1:

Router debera entregar

el paquete al gateway router, pero a cual?

AS1 deberá:

1. Aprender cuales destinos son alcanzables a través de AS2, y cuales a través AS3

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

Trabajo de enrutamiento inter-AS !

Network Layer 4-98

Ejemplo: Estableciendo la forwarding table en

el router 1d

ˆSuponga que AS1 aprende (via inter-AS protocol) que la

subnet xes 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 enrutamiento

intra-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

1c 2a

AS3

AS1 AS2

1a

2c 2b 1b

3c

x

Ejemplo: Seleccionando entre múltiples ASes

ˆAhora suponga que AS1 aprende del protocolo

inter-AS que la subnet xes alcanzable desde AS3 y desde

AS2.

ˆPara configurar la forwarding table, router 1d

deberá determinar hacia cual gateway deberá entregar los paquetes para el destinox.

Esto es tambien trabajo del protocolo de

enrutamiento inter-AS l!

3b

1d 3a

1c 2a

AS3

AS1

AS2

1a

2c 2b 1b

(34)

Network Layer 4-100 Learn from inter-AS

protocol that subnet x is reachable via multiple gateways

Use routing info from intra-AS protocol to determine

costs of least-cost paths to each of the gateways

Hot potato routing: Choose the gateway

that has the smallest least cost

Determine from forwarding 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 xes alcanzable desde AS3 y desdeAS2.

ˆPara configurar la forwarding table, router 1d deberá determinar hacia cual gateway el deberá entregar los paquetes para el destinox.

Este es tambien trabajo del protocolo de enrutamiento

inter-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ó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

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

(35)

Network Layer 4-103

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

Network Layer 4-104

RIP ( Routing Information Protocol)

ˆAlgoritmo de distancia vectorial

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

D

C

B A

u v

w

x

y z

destination hops

u 1

v 2

w 2

x 3

y 3

z 2

From router A to subnets:

RIP advertisements

ˆ

Vector distancia:

intercambio entre vecinos

cada 30 seg via Response Message

(también llamado

advertisement

)

ˆ

cada advertisement: lista hasta 25 subnet

(36)

Network Layer 4-106

RIP: Ejemplo

Destination Network Next Router Num. of hops to dest.

w A 2

y B 2

z B 7

x -- 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 2

y B 2

z B A 7 5

x -- 1

…. …. ....

Routing/Forwarding table in D

w x y

z

A

C

D B

Dest Next hops

w - 1

x - 1

z C 4

…. ...

Advertisement from A to D

RIP: Falla de enlace y recuperación

Si no se escucha de advertisement despúes de 180 seg --> el enlace/vecino es declarado muerto

Rutas a través de ese vecino son inválidas Nuevos advertisements son enviados a los vecinos Los vecinos en turno envían nuevos advertisements

(si las tablas cambian)

Información de la falla de enlace rapidamente se

propaga a toda la red

poison reverse usado para prevenir los lazos

(37)

Network Layer 4-109

RIP Procesamiento de Tabla

ˆTablas de enrutamiento RIP administradas por un

proceso de nivel de aplicación llamado route-d (daemon)

ˆadvertisements enviado en paquetes UDP,

repetidos periódicamente

physical link

network forwarding (IP) table Transprt

(UDP) routed

physical link network (IP) Transprt (UDP) routed

forwarding table

Network Layer 4-110

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

OSPF (Open Shortest Path First)

ˆ“abierto”: disponible publicamente ˆUsa el algoritmo de estado de enlace

Diseminación de paquete LS Mapa topológico en cada nodo

Computo de rutas utilizando el algoritmo de Dijkstra’s

ˆOSPF advertisement lleva una entrada por cada

router vecino

ˆDiseminación de advertisements a todo el AS (via

flooding)

Llevado en el mensaje OSPF directamente sobre IP (en vez

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

ˆmultiplescaminos del mismo costo son permitidos

(solo un camino en RIP)

ˆPor cada enlace, multiples costos de metricas para

diferentesTOS (e.g., costo enlace satelital se establece “bajo” para un mejor esfuerzo; alto para real time)

ˆSoport a uni integrado y multicast:

Multicast OSPF (MOSPF) usa la misma base de

datos topológica que OSPF

ˆJerarquicoOSPF en dominios largos.

Network Layer 4-113

OSPF Jerárquico

OSPF Jerárquico

ˆDos 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ás corto) a las redes de otras áreas.

ˆarea border routers:“sumariza” las distancias a las

redes dentro de su propia area, anuncia a otros Area Border routers.

ˆbackbone routers:corre enrutamiento OSPF limitado

al backbone.

(39)

Network Layer 4-115

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

Network Layer 4-116

Enrutamiento Internet inter-AS :

BGP

ˆ

BGP (Border Gateway Protocol):

estandard

de 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 existencia

al resto de Internet:

“I am here”

Aspectos básicos BGP

ˆParejas de routers (BGP peers) intercambian

informació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 hacia

ese prefijo.

AS2 puede agregar prefijos en sus

advertisement

3b 3a

1c 2a

AS3

AS2

1a

(40)

Network Layer 4-118

Distribuyendo Información de

alcance

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

1c puede luego usar iBGP para distribuir nueva

información de prefijos a todos los routers en AS1

1b puede luego re-anunciar nueva información de alcance

a AS2 sobre la sesión eBGP 1b-to-2a

ˆ Cuando el router aprende el nuevo prefijo, el crea una

entrada para el prefijo en su forwarding table.

3b

1d 3a

1c 2a

AS3

AS1

AS2

1a

2c 2b

1b 3c eBGP sessioniBGP session

Network Layer 4-119

Atributos de los caminos & rutas

BGP

ˆ

El prefijo anunciado incluye los atributos BGP

prefijo + atributos = “ruta”

ˆ

Dos atributos importantes:

AS-PATH:contiene ASs através el prefijo

anunciado ha pasado: ejemplo, AS 67, AS 17

NEXT-HOP:indica un router especifico

internal-AS al siguiente hop internal-AS. (puede ser multiples enlaces desde el actual AS al next-hop-AS)

ˆ

Cuando el gateway router recibe una ruta

anunciada, usa

politicas de importación

para

aceptar/declinar.

Selección de ruta BGP

ˆ

El router puede aprender acerca de más

de 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

routing

(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

transmisor

UPDATE:anuncia un nuevo camino (o retira los

viejos)

KEEPALIVEmantiene viva una conexión en ausencia

de UPDATES; tambien hace un confirmación ACKs de un requerimiento OPEN

NOTIFICATION:reporta errores en el mensaje

previo; también usado para cerrar la conexión

Network Layer 4-122

Política de enrutamiento BGP

ˆA,B,C son provider networks

ˆX,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

W X

Y

legend:

customer network: provider network

Política de enrutamiento BGP (2)

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

De ninguna manera! B no obtiene “ingresos” por enrutamineto CBAW dado que ni W ni C son clientes de B

B quiere forzar a C para rutear a W via A A

B

C

W X

Y

legend:

(42)

Network Layer 4-124

Por que es diferente el enrutamiento Intra- e

Inter-AS ?

Politicas:

ˆInter-AS: administrador quiere control sobre como su

tráfico es ruteado, quien rutea a través de su red.

ˆIntra-AS: dominio unico, por lo tanto no se necesita

políticas para las decisiones

Escalamiento:

ˆEnrutamiento Jerárquico ahorra en los tamaños de las

tablas, reduce el tráfico de update

Rendimiento:

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

rendimiento

Network Layer 4-125

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

R1

R2

R3 R4 Duplicación de origen

R1

R2

R3 R4 Duplicacion in-network

duplicate creation/transmission

duplicate

duplicate

Enrutamiento Broadcast

ˆ Entrega de paquetes desde el origen hacia todos los otros nodos

ˆ Duplicación de origen es ineficiente:

ˆ

Duplicación de origen: como la fuente

(43)

Network Layer 4-127

Duplicación In-network

ˆ Inundación (flooding): cuando el nodo recibe un paquete

broadcast, envía una copia a todos los vecinos Problemas: tormenta de ciclos&broadcast

ˆ flooding 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 sido

broadcasteado

O el mecanismoreverse path forwarding (RPF):solamente

broadcatea el paquete si el ha llegado en el camino más corto entre el nodo y el origen

Con el flooding controlado (número de secuencia) y RPF se evita

las tormentas de broadcast pero no se evita completamente la transmision de paquetes broadcast redundantes

ˆ spanning tree

Paquetes redundantes no son recibidos por cada nodo

Network Layer 4-128

A B

G D E c

F

A B

G D E c

F

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

Spanning Tree

ˆ

Primero construye un spanning tree

ˆ

Nodos entregan copias solamente en el

spanning tree

A B

G D E c

F

1 2 3

4

5

(a) Stepwise construction

A B

G D E c

F

(b) Constructed spanning

Creación: Spanning Tree

ˆNodo central

ˆCada nodo envía un unicast mensaje tree-join al

nodo central

El mensaje es enviado hasta que llega al nodo que ya

(44)

Enrutamiento Multicast: Problema

Statement

ˆ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 usados source-based:diferentes arboles para cada transmisor a

recepctor

shared-tree:mismo arbol usado para todo el grupo de miembros

Shared tree Source-based trees

Enfoques para construir los arboles

multicast

Enfoques:

ˆ

source-based tree:

un árbol por origen

Arbol de camino más corto reverse path forwarding

ˆ

group-shared tree:

grupo usa un árbol

 spanning mínimo (Steiner) Arboles basados-centro

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

Arbol del camino más corto

ˆMulticast forwarding tree: Arbol de los caminos

más cortos que rutea desde el origen a todos los receptores

Dijkstra’s algorithm

R1

R2

R3

R4

R5

R6 R7

2 1

6

3 4

5

i

Ruteador con un grupo de Miembros atachado

Ruteador sin grupo de miembros atachado

Enlace usado para forwarding, i indiqa el orden del enlace añadido por el algoritmo

(45)

Reverse Path Forwarding

si(el datagrama multicast recibido a través de un enlace de entrada de camino más corto al centro)

luegoel datagrama fluye en todos los enlaces de

salida

si noignore el datagrama

‰

Reside en el conocimiento de los ruteadores

sobre el camino más corto unicast desde él

hasta el transmisor.

‰

Cada ruteador tiene un comportamiento

simple de forwarding:

Ejemplo: Reverse Path Forwarding

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

asimétricos

R1

R2

R3

R4

R5

R6 R7

Ruteador con grupo De miembros atachado

Ruteador sin grupo de Miembros atachado Datagrama será entregado LEGEND

S: source

El datagrama no será entregado

Reverse Path Forwarding: pruning

ˆ El 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 que

reciben paquetes multicast y que no tiene host atachados que esten 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

R7

Ruteador con grupo de miembros atachado

Ruteador sin grupo de miembros atachado

prune mensaje

S: source

Enlaces con multicast forwarding

P

P

(46)

Shared-Tree: Steiner Tree

ˆ

Steiner Tree:

costo minimo del arbol

conectando todos los routers con grupo de

miembros atachados

ˆ

No usado en la práctica:

Complejidad computacional

Necesidad de información acerca de toda la red monolithic: re corre cada vez que un router

necesita unirse/salirse

Center-based trees

ˆ

Unico arbol de entrega compartido por

todos

ˆ

Un router identificado como el

“centro”

del

árbol

ˆ

Para unirse:

edge router envía un mensaje unicast de unión

direccionado al router central

Mensaje- union “procesado” por los routers intermedios y

entregado hacia el centro

Mensaje-union va a ser entregado usando enrutamiento unicast hacia el centro hasta que el llegue al nodo que ya pertenece al spanning tree o llegue al centro

Camino 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 miembros atachado

Ruteador sin grupo de miembros atachado

Orden del camino en el cual lo mensajes de union se generan

2

1 3

Figure

Tabla de forwarding resultante de u:

Referencias

Documento similar

It is a secure web-based multilingual warning tool that is contin- uously monitoring and analysing global media data sources to identify information about disease outbreaks and

Keywords: High-speed networks, packet capture, packet storage, network processing, network drivers, network function virtualization, virtual machines, performance assessment.... En

Numerical Simulation of Density-Driven Flow and Heat Transport Processes in Porous Media Using the Network Method.. Manuel Cánovas 1, * ID , Iván Alhama 2 , Gonzalo García 2 ,

Six years later, Hinton enhanced this alternative with a new paper where he explained the routing between layers of capsules and showed that the results of the first Capsule

The different types of traffic generated by the application, and the various IWU devices used to access the ATM network imposed very particular requirements over the TCP/IP pro-

 The Things Network implementar la capa/arquitectura LoRaWAN, mediante el servidor de red unión y parte del de aplicación, incluso permite integración con MQTT.. Está

In the first phase, we use mobile network data for detecting potential COVID- 19 hospitalizations with the detection algorithm that looks for indi- viduals whose phone started

The network was implemented under the common bus topology and the application includes the physical layer handling under the RS-485 standard used in the connection between