capítulo 4 - · pdf file1 network layer 4-1 capítulo 4 capa de red network...
TRANSCRIPT
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 routingComo 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