Tema 5: El nivel de red
[Link]/16
12 . 15 3. 0. 0/ 18
[Link]/8
defaul t
[Link]/8
Destino:[Link] puerto 80 Origen: [Link] puerto 1700
GET /redes/[Link] HTTP/1.0 Host: [Link]
Redes: Tema 5
Bibliografa: [Kurose05], Apartados 4.4 - 4.6 y 5.4.3 1
Objetivos
Aprender las caractersticas bsicas de los protocolos IP e ICMP Comprender el esquema de direccionamiento empleado actualmente en Internet, sus limitaciones y las soluciones aplicadas Comprender cmo funciona el mecanismo de traduccin de las direcciones de red (NAT) Comprender cmo se realiza el encaminamiento en Internet
Redes: Tema 5
ndice (I)
1. Introduccin 2. El protocolo IP v4
1. Formato de un datagrama IP 2. Fragmentacin 3. Direccionamiento IP v4 4. Encaminamiento en IP 5. NAT 6. DHCP 7. ICMP
3. Protocolo IP v6
Redes: Tema 5
ndice (II)
4. Encaminamiento
1. Encaminamiento por estado del enlace 2. OSPF 3. Encaminamiento por vector de distancias 4. RIP 5. Encaminamiento en Internet
Redes: Tema 5
1. Niveles de transporte y de red
Aplicacin Puertos Transporte SMTP-DNS TCP-UDP IP
Aplicacin Transporte
RED [Link]
[Link]
N. Transporte: se apoya en el nivel de RED para llevar los segmentos desde el origen al destino a travs de Internet Protocolo para el dilogo en el nivel de red: IP (Internet Protocol)
5
Redes: Tema 5
Cmo es Internet?
Red IP 1
Red IP 2
Red IP 3
Red IP 4
Cada red IP puede tener distinto protocolo de acceso a la red
6
Redes: Tema 5
Comunicacin mediante la pila de protocolos
Mensaje
Aplicacin
Aplicacin
Segmento o datagrama Paquete o datagrama
Transporte
(TCP o UDP)
Router
Red (IP)
Transporte
(TCP o UDP)
Red (IP)
Red (IP)
Trama
Acceso a la red
Acceso a la red
Acceso a la red
Acceso a la red
Redes: Tema 5
Encapsulado de datagramas IP
NIVEL DE APLICACIN
Datos aplicacin
NIVEL DE TRANSPORTE
Cabecera (UDP o TCP) Datos aplicacin
NIVEL DE RED
Cabecera IP Cabecera (UDP o TCP) Datos aplicacin
NIVEL DE ENLACE
Cabecera trama
Redes: Tema 5
Cabecera IP
Cabecera (UDP o TCP)
Datos aplicacin
Cola trama
8
Requisitos para la comunicacin
Unidad de intercambio comn: paquetes (datagramas IP) Para poder llevar los paquetes a travs de la red se necesita:
Identificar mediante direcciones a los sistemas que intervienen en la comunicacin (direcciones IP) Elegir una ruta en la red que permita alcanzar el destino (encaminamiento)
IP se encarga de ambos problemas
9
Redes: Tema 5
Encaminamiento
Dos tareas importantes a resolver:
Cuando un router recibe un paquete debe moverlo desde un enlace de entrada a uno de salida adecuado
El router consulta su tabla de encaminamiento
El nivel de red debe calcular el conjunto de rutas ptimas para alcanzar los destino
Se calculan mediante algoritmos de encaminamiento
Redes: Tema 5
10
2. IP v4 (Internet Protocol)
IP es el protocolo central de la suite de protocolos TCP/IP Unidad bsica de transferencia de datos: datagrama Servicio "best effort
No fiable Sin conexin:
No mantiene informacin de estado sobre los datagramas Cada datagrama se maneja independientemente
Redes: Tema 5
11
Tareas de IP v4
IP realiza las funciones de encaminamiento IP determina las reglas de intercambio de datagramas entre computadores
Formato, reglas de procesamiento de datagramas, condiciones de error, etc.
Redes: Tema 5
12
2.1 Formato de un datagrama IP
0 31
20 octetos opc. cabecera obligatoria
Vers
Longc
Tipo de serv. Flags
Longitud total Desp. Fragmento
Identificacin Tiempo de vida Protocolo
Checksum de la cabecera
Direccin IP fuente Direccin IP destino Opciones (ej: encaminamiento fuente) DATOS Relleno
Redes: Tema 5
13
Descripcin de los campos
Versin del protocolo IP: (4 bits) actualmente IP v4 Longitud de la cabecera: (4 bits) tamao de la cabecera del datagrama en palabras de 32 bits Longitud total del datagrama
0 Vers Longc Tipo de serv. Flags Protocolo Longitud total Desp. Fragmento Identificacin Tiempo de vida
31
Incluye cabecera y datos Tamao mximo = 65.535 bytes
Checksum de la cabecera
Direccin IP fuente Direccin IP destino Opciones (ej: encaminamiento fuente) Relleno
Redes: Tema 5
14
Tipo de servicio (I)
Tipo de servicio (TOS):
3 bits para la prioridad (se ignoran), 4 bits para el tipo de servicio y un bit a cero. Los bits de tipo de servicio permiten al usuario solicitar las condiciones deseadas (Solo un bit a 1):
Minimizar el retardo Maximizar la productividad Maximizar la fiabilidad Minimizar el coste
1000 0100 0010 0001
No se garantiza el tipo de servicio solicitado
Redes: Tema 5
15
Tipo de servicio (II)
Se recomienda el uso de los siguientes valores para el tipo de servicio, dependiendo de la aplicacin:
Protocolo Telnet TOS Descripcin 1000 Minimizar retardo Minimizar retardo
Sesin control FTP 1000 NNTP IGP
Sesin de datos FTP 0100 Maximizar productividad 0001 Minimizar coste 0010 Maximizar fiabilidad
El tipo de servicio tendr un mayor protagonismo en el futuro
Redes: Tema 5
16
Otros campos de la cabecera IP
0 20 octetos opc. cabecera obligatoria Vers Longc Tipo de serv. Flags Longitud total Desp. Fragmento
31
Identificacin Tiempo de vida Protocolo
Checksum de la cabecera
Direccin IP fuente Direccin IP destino Opciones (ej: encaminamiento fuente) DATOS Relleno
Redes: Tema 5
17
Tiempo de vida (TTL*)
Los datagramas tienen un tiempo limitado de permanencia en la internet El TTL se inicializa en origen y se decrementa cada vez que el datagrama atraviesa un router
Valor inicial recomendado**: 64
Al llegar a cero el datagrama se descarta
(*) Time to live (**) RFC1700: Assigned Numbers
Redes: Tema 5
18
Otros campos de la cabecera IP (II)
El campo protocolo indica el protocolo al que corresponden los datos:
Protocolo
TCP ICMP UDP
Valor del campo protocolo 6 1 17
El checksum incluye slo la cabecera El campo de opciones se utiliza raramente
Permite especificar: encaminamiento fuente (uso de una ruta escogida), confidencialidad del datagrama, registro de la ruta (RR), etc. Tiene longitud variable
19
Redes: Tema 5
2.2 Fragmentacin
En el nivel de enlace cada protocolo maneja un tamao mximo de trama Hay un lmite para el tamao de su campo de datos: MTU (Maximum Transfer Unit)
En Ethernet es de 1500 octetos Utiliza tecnologas heterogneas Utiliza mltiples MTUs
Internet :
Redes: Tema 5
20
Problemas derivados de las MTUs
Host O
Red 2 (MTU=1000) Red 3 (MTU=1500)
Red 1 (MTU=1500)
Host D
FRAGMENTACIN
Host O
Router
Crea datagramas para el host D Elige un tamao de 1500 bytes Transmite datagramas a travs de la red 1
Recibe datagramas de la red 1 Enva datagramas sobre la red 2 Utiliza fragmentacin
21
Redes: Tema 5
Fragmentacin de datagramas (I)
El computador origen conoce el MTU de su red, pero no conoce los MTUs de las redes que se utilizarn hasta alcanzar el destino Si el datagrama tiene que atravesar una red con un MTU ms pequeo que el original hay que fragmentar el datagrama
Redes: Tema 5
22
Fragmentacin de datagramas (II)
Cab IP Datos del datagrama original
Cab IP
Datos 1
Cab IP
Datos 2
Cab IP
Datos 3
Al fragmentar un datagrama se copian la mayora de los campos de la cabecera:
El campo de identificacin identifica todos los fragmentos de un mismo datagrama
0 Vers Longc Tipo de serv. Flags Protocolo Longitud total Desp. Fragmento Identificacin Tiempo de vida 31
El desplazamiento del fragmento (en mltiplos de 8 bytes) indica la posicin del fragmento dentro del datagrama original
Checksum de la cabecera
Direccin IP fuente Direccin IP destino Opciones (ej: encaminamiento fuente) Relleno
Redes: Tema 5
23
Fragmentacin de datagramas (III)
El campo de longitud indica la longitud del fragmento (no la del datagrama original) Dos bits en el campo de flags:
Do not Fragment (DF): Indica que ese datagrama no puede ser fragmentado More Fragments (MF): Indica que este fragmento no es el ltimo de una serie. Se utiliza en el reensamblado.
Dnde reensamblar? Puede ser necesario fragmentar los fragmentos Todos los fragmentos tienen el mismo nivel
El desplazamiento se refiere al datagrama original
24
Redes: Tema 5
Ejemplo
Host A
Red 1 (MTU=1500) Red 2 (MTU=620) Red 3 (MTU=1500)
Host B
Router 1
Router 2
Fragmentacin en el router 1 al enviar datagramas mayores de 600 B
lon. total Identif. DF=0 32 MF=0 1420 lon. total Identif. 620 32 Datos 1 (600 oct) Datos 2 (600 oct) Datos 1 Datos 2 Datos 3 25 Datos 3 (200)
DF=0 Desplaz. 0 MF=1
MTU = 620 octetos
lon. total Identif. DF=0 Desplaz. 75 620 32 MF=1 (600) lon. total Identif. DF=0 Desplaz. 150 220 32 MF=0 (1200)
Redes: Tema 5
Procesamiento de un datagrama IP en un computador
Inicio 1 Checksum S Reensamblar IP datag. = Host N S Es un fragmento? S Fin Primero N Todos S Activar Temporizador N Fin N Descartar datagrama
Pasar a nivel superior
Almacenar
Fin
Redes: Tema 5
26
Procesamiento de un datagrama IP en un router
Inicio Tamao > MTU 1
N N S
Fragmentar
Checksum
S S
Pasar a nivel superior Fin 1
S
IP dest = Router
Calcular Checksum
TTL=TTL -1 Enviar datagrama TTL = 0
N
Siguiente fragmento
S
Ms fragmentos
N
Descartar datagrama Fin
Redes: Tema 5
Encaminar Datagrama (Consulta tabla)
Fin 27
2.3 Direcciones IP v4: introduccin (I)
Identifican un punto de conexin en una red, una mquina puede tener varias direcciones distintas Son direcciones virtuales (interpretadas slo por el software) Tamao fijo: 32 bits
Redes: Tema 5
28
Direcciones IP v4: introduccin (II)
Se representan como cuatro nmeros decimales obtenidos de los cuatro octetos que forman la direccin IP (n1.n2.n3.n4) Ejemplo:
100000000 00001010 00000010 00011110 Se representa como [Link]
Cada direccin IP tiene dos campos:
Identificador red
Identificador computador en la red
Todos los sistemas (hosts y routers) conectados a la misma red IP comparten el mismo identificador de red
29
Redes: Tema 5
Routers y direccionamiento IP
Cada router tiene al menos dos direcciones IP:
Tiene conexin a varias redes IP (mnimo dos) Cada direccin IP tiene un identificador de red distinto
[Link] [Link] [Link] [Link]
[Link] [Link]
Redes: Tema 5
30
Direcciones IP especiales
Id. red Ceros
Direccin IP de una red
Campo de identificador de computador a 0's
Se refiere a la red y no a sus computadores No puede aparecer como direccin en un paquete
Redes: Tema 5
31
Direcciones IP especiales
127
Cualquier cosa
Todo ceros
Direccin de loopback
Para depurar aplicaciones de red
La direccin de este host (el que enva el paquete)
No enva paquetes a travs de la red
Se utiliza como direccin fuente cuando el host obtiene su IP automticamente a travs de la red Los protocolos utilizados se apoyan en IP!
Redes: Tema 5
32
Direcciones IP de difusin
Red
Todo 1s
Todo 1s
Direccin de difusin dirigida
Direccin de difusin limitada
Para enviar una copia de un paquete a todos los hosts de una red IP
Difusin en la red IP donde est conectado el host Se utiliza como direccin destino durante el arranque del sistema si el host an no conoce su direccin de red
33
Redes: Tema 5
Tipos de direccionamiento en Internet
Dos tipos de direccionamiento en Internet, dependiendo de cmo se determine la longitud del identificador de red:
Direccionamiento con clases:
Los identificadores de red tienen longitudes fijas: 8, 16 y 24 bits
3 clases de direcciones: A, B y C
Direccionamiento sin clases (Classless InterDomain Routing)
Se requiere una mscara de red para saber el nmero de bits que identifican a la red
Redes: Tema 5
34
Direccionamiento IP con clases
0 8 red Red 16 Host 24 31
Clase A Clase B Clase C Clase D
[Link]
1 0
... [Link]
red Red
Host
Host
[Link] ... [Link]
1 1 0
Red Direccin multicast
[Link] ... [Link]
1 1 1 0
[Link] ... [Link]
Redes: Tema 5
35
Direccionamiento sin clases (CIDR)
Con la notacin CIDR:
Ya no hay clases, las direcciones tienen:
Algunos bits fijos (el prefijo de red)
El tamao de este campo no est limitado a unos pocos valores
Algunos bits variables (los bits de host)
Lo que era una direccin de red de clase A, B o C puede corresponder a varias subredes Un bloque de direcciones de redes IP (habitualmente de clase C) puede corresponder a una nica red: superred
Estas soluciones han ayudado a prolongar la vida de IP v4 IP v6 utiliza esta visin sin clases
36
Redes: Tema 5
Direccionamiento sin clases (CIDR) (II)
La direccin IP necesita ir acompaada de una mscara de red La mscara de red:
Permite saber qu bits corresponden al prefijo de red y cules al identificador del host Tiene el mismo tamao que la direccin IP (32 bits) y sus bits a 1 identifican el prefijo de red Dos formas equivalentes de expresarla:
Ejemplo para 20 bits a 1:
[Link] Dir IP/20
Redes: Tema 5
37
Ejemplo de CIDR
Internet [Link]
[Link]/19
Red 0
Internet
[Link]/19
Red 1
[Link]/19
Red 2
Ejemplos para la red 2 ([Link]):
Difusin: [Link] Algunos hosts : [Link], [Link], [Link] Otra notacin equivalente: [Link]/19
Redes: Tema 5
38
Subredes: ejemplo (I)
Tenemos una direccin de red de clase C: [Link]/24
[Link] = 11000000.11100100.00010001.00000000 Mscara de red de la clase C: [Link] = 11111111.11111111.11111111.00000000 Una red, 254 hosts Pasamos bits del campo de host al campo de red Nueva mscara de red: /27 [Link] = 11111111.11111111.11111111.11100000 3 bits de subred 8 redes (23) 5 bits de host 30 hosts cada una (25-2)
39
La dividimos en subredes
Redes: Tema 5
Subredes: ejemplo (II)
Red [Link] Mscara de subred: [Link]
11000000.11100100.00010001.00000000 11111111.11111111.11111111.11100000
A LAN X
[Link]
[Link]
Subred [Link]/27 D
11000000.11100100.00010001.00000000
Internet
R1
[Link]
LAN Y
[Link]
Subred [Link]/27 F
11000000.11100100.00010001.00100000
E R2 LAN Z
[Link]
Redes: Tema 5
[Link]
Subred [Link]/27
11000000.11100100.00010001.01000000
40
Superredes
La asignacin de direcciones de clase C depende del nmero de hosts de la red:
Hosts 254 asigna 1 red de clase C Hosts 510 asigna 2 redes de clase C contiguas Hosts 1022 asigna 4 redes de clase C contiguas Hosts 2046 asigna 8 redes de clase C contiguas
Todas las redes de una organizacin tienen un prefijo comn Ejemplo: Las 8 redes desde [Link] a [Link]
tienen un prefijo comn de 21 bits:
11000010 00100000 10001000 00000000 11000010 00100000 10001001 00000000 ... 11000010 00100000 10001111 00000000
Redes: Tema 5
41
Superredes: ejemplo
Ejemplo: Las 8 redes de clase C desde [Link] a [Link] tienen un prefijo comn de 21 bits:
11000010 00100000 10001000 00000000 11000010 00100000 10001001 00000000 ... 11000010 00100000 10001111 00000000
Este bloque de direcciones contiguas se puede expresar como una nica (super)red: [Link]/21 Es decir, la mscara de red (superred) es: [Link]
Redes: Tema 5
42
Direcciones privadas
Direcciones privadas (RFC 1918) Estas direcciones no son encaminables por los routers de Internet Rango de direcciones privadas
[Link]/8:
[Link]-[Link] [Link]-[Link]
[Link]/12:
[Link]/16: [Link]-[Link]
Redes: Tema 5
43
Obtencin de una direccin de red (I)
Cmo consigue un host una direccin IP?
Configurada manualmente por el administrador del sistema Mediante el protocolo de configuracin dinmica de host (DHCP, Dynamic Host Configuration Protocol)*
* RFC 2131
Redes: Tema 5
44
Obtencin de una direccin de red (II)
Cmo se consigue un bloque de direcciones IP para la red de una organizacin?
A travs de un ISP
11001000 00010111 00010000 00000000 11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000 .. . 11001000 00010111 00011110 00000000 [Link]/20 [Link]/23 [Link]/23 [Link]/23 . [Link]/23
Bloque del ISP Organizacin 0 Organizacin 1 Organizacin 2 ... Organizacin 7
Redes: Tema 5
45
Obtencin de una direccin de red (III)
Cmo consigue un ISP un bloque de direcciones?
A travs del ICANN (Internet Corporation for Assigned Names and Numbers)
En Espaa delega en InterNIC Asigna direcciones IP Gestiona los servidores raz DNS Asigna y resuelve disputas sobre nombres de dominio
Redes: Tema 5
46
2.4 Encaminamiento en IP
Tablas de encaminamiento
Contienen informacin sobre los posibles destinos y cmo llegar a ellos Dnde estn? En routers y hosts Cmo deben ser?
Compactas y pequeas (en la medida de lo posible) para un funcionamiento ms eficiente
Slo con informacin sobre redes destino y los routers que nos conducen a ellas
Informacin en la tabla de encaminamiento:
Direccin IP red destino, direccin IP router, mscara de red, interfaz de salida
47
Redes: Tema 5
Cmo ver la tabla de encaminamiento
netstat -nr
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface [Link] [Link] [Link] U 40 0 0 eth0 [Link] [Link] [Link] UG 40 0 0 eth0
netstat -r
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface [Link] * [Link] U 40 0 0 eth0 default [Link] [Link] UG 40 0 0 eth0
Redes: Tema 5
48
Cmo se encamina en IP
Los computadores se identifican en la Internet mediante direcciones IP, pero ... los protocolos de acceso a la red manejan otras direcciones (direcciones fsicas) Necesitaremos utilizar los 2 tipos de direcciones
Direcciones IP en la cabecera del datagrama Direcciones fsicas en la cabecera de la trama
Redes: Tema 5
49
Encaminamiento en IP: misma red
Tabla de encaminamiento del host A
Red destino destino [Link] Mscara [Link] Ruta [Link] Interfaz destino [Link] [Link] [Link]
[Link] [Link]
[Link] Host A [Link]/16 [Link] [Link]/8 Router [Link]
cabecera trama Hw dest B Hw orig. A 0x800
Redes: Tema 5
[Link] Host B [Link] Host C
datagrama IP IP orig. A IP dest B datos
B
50
cabecera IP
Encaminamiento en IP: redes distintas
Tabla de encaminamiento del router 1
Red destino destino [Link] [Link] Mscara [Link] [Link] Ruta [Link] [Link] [Link] Interfaz destino [Link] [Link] [Link] [Link] [Link]
[Link] Host A
[Link]/16 red 1
[Link] Host B
[Link]/8 red 2
[Link]
R2 [Link]
[Link]/24 red 3
[Link] R1
[Link] Host C
cabecera IP
[Link]
Hw dst R1
Redes: Tema 5
Hw orig. A 0x800
IP orig. A IP orig. A
IP dest C IP dest C
datos datos 51
Hw dst C Hw orig.R1 0x800
Transmisin a travs de una internet
Host fuente datagrama
Red 1
cab. 1
datagrama datagrama
Cada salto extrae el datagrama y descarta la trama
R1 Red 2 R2 Red 3
cab. 3
cab. 2 datagrama datagrama datagrama datagrama
Host destino
Redes: Tema 5
52
CIDR y encaminamiento
R1 ver una nica red
Entrada en la tabla de encaminamiento:
[Link] 3
Internet
R1 I3
[Link]/19
Red 1
Mscara Red destino Interfaz
[Link]
I0 R2
I1 I2 I3
[Link]/19
Red 2
[Link]/19
Red 3
R2 ver las tres redes:
Mscara Red destino Interfaz
1 2 3
53
[Link] [Link] [Link] [Link] [Link] [Link]
Redes: Tema 5
1111 1111 1111 1111 1110 0000 0000 0000
CIDR reduce el tamao de las tablas de encaminamiento
Internet
[Link]/16
ISP
[Link]/20 [Link]/23
[Link]/24 [Link]/24
[Link]/21
[Link]/24 [Link]/24 [Link]/24 [Link]/24 [Link]/24 [Link]/24 [Link]/24 [Link]/24
Redes: Tema 5
[Link]/22 [Link]/23
[Link]/24 [Link]/24 [Link]/24 [Link]/24
[Link]/24 [Link]/24
54
2.5 NAT (Network Address Translation)
NAT (RFC 2663) Problema:
Queremos que m hosts puedan acceder simultneamente a la red externa disponiendo slo de n IPs pblicas (m > n) Asignar direcciones privadas en la red interna Utilizar un procedimiento de traduccin: direccin privada direccin pblica para salir a la red externa
Solucin:
Redes: Tema 5
55
Funcionamiento de NAT
IP privada 1 Puerto origen
x
IP pblica
x' y' Puerto origen x' Puerto origen y'
Red pblica externa
Red privada
IP privada 2
Puerto origen y
En el caso ms simple una nica IP pblica es suficiente
Todos los datagramas que llegan al router tienen las misma IP destino: hay que demultiplexar por puerto El router emplea una tabla de traduccin
56
Redes: Tema 5
NAT: ejemplo
Red "Interna"
DF
[Link] 1227
Red "Externa"
NAT
DF
[Link] 61001
[Link]
Red privada
Internet
[Link] DF = Direccin IP Fuente
Tabla NAT
Direccin IP y puerto externo [Link]: 61001 [Link]: 61002
Direccin IP y puerto interno [Link]: 1227 [Link]: 1110
Desde el punto de vista externo todos los hosts utilizan
una sola direccin IP Se realiza multiplexacin por puertos
Redes: Tema 5
57
NAT: Servidores en la red interna
Y si queremos tener un servidor en la red interna (direccin IP privada) que sea accesible desde el exterior?
Podemos asociar un puerto de entrada en el dispositivo NAT con la IP privada del servidor y el nmero de puerto donde atiende las peticiones (port forwarding)
Redes: Tema 5
58
Limitaciones de NAT
NAT funciona bien para direcciones IP en la cabecera IP Algunas aplicaciones envan dir. IP en la parte de datos de aplicacin
Por ejemplo: orden PORT de FTP
En general NAT no sabe manejar estas aplicaciones
Aunque es habitual que resuelvan algunos casos sencillos como el de FTP
Redes: Tema 5
59
2.6 DHCP* (Dynamic Host Configuration Protocol)
Objetivo: Facilitar la administracin de la red
Permite a un host obtener dinmicamente una IP cuando se conecta a una red Permite la reutilizacin de direcciones por distintos hosts Permite dar soporte cmodamente a los usuarios mviles
Protocolo de nivel de aplicacin (sobre UDP)
* RFC 2131
Redes: Tema 5
60
Escenario del servidor DHCP
[Link] [Link] [Link]
A
[Link]
servidor DHCP
[Link]
[Link] [Link]
[Link]/24 [Link]
[Link]/24 [Link]
B
[Link]
[Link]/24 [Link]
llega un cliente DHCP que necesita una direccin en esta red
El router funciona como agente repetidor de DHCP
Redes: Tema 5
61
Funcionamiento DHCP
El host enva mediante difusin un mensaje de descubrimiento DHCP
DHCPDISCOVER
El servidor DHCP responde con un mensaje de ofrecimiento DHCP
Puede responder ms de un servidor DHCPOFFER DHCPREQUEST
El host solicita una IP: mens. de peticin DHCP
El servidor le enva una direccin: mensaje de reconocimiento (ACK)
DHCPACK
62
Redes: Tema 5
Escenario cliente-servidor DHCP
Servidor DHCP : [Link] Descubrimiento DHCP
Fnt : [Link], 68 Dest.: [Link],67 DirIP: [Link] ID transaccin: 654
Cliente recin llegado
Oferta DHCP
Fnt: [Link], 67 Dest: [Link], 68 DirIP: [Link] ID transaccin: 654 Tiempo de vida: 3600 s.
Peticin DHCP
tiempo
Fnt: [Link], 68 Dest: [Link], 67 DirIP: [Link] ID transaccin: 654 Tiempo de vida: 3600 s.
Reconocimiento DHCP
Fnt: [Link], 67 Dest: [Link], 68 DirIP: [Link] ID transaccin: 654 Tiempo de vida: 3600 s.
Redes: Tema 5
63
2.7 El protocolo ICMP
En Internet no disponemos de mecanismos hardware para comprobar la conectividad IP no proporciona herramientas para la deteccin de fallos y problemas Se introduce un nuevo mdulo: ICMP* (Internet Control Message Protocol) Este protocolo permite a los hosts y routers enviar mensajes de control a otros hosts y routers
* RFC 792
Redes: Tema 5
64
Generalidades sobre ICMP
ICMP nos permite saber, por ejemplo, por qu no se ha entregado un datagrama (no hay ruta, el destino no responde, agotado el tiempo de vida, etc.) Informa de errores slo al origen del datagrama No corrige el problema (slo informa) Los mensajes ICMP viajan en el campo de datos de un datagrama IP
65
Redes: Tema 5
Encapsulamiento de un mensaje ICMP
Los mensajes ICMP se encapsulan en datagramas IP
Pero ICMP no se considera un protocolo de nivel superior a IP
Cabecera ICMP Cabecera del datagrama IP Cabecera de la trama Mensaje ICMP
Campo de datos del datagrama IP
Campo de datos de la trama
CRC
Redes: Tema 5
66
Formato de un mensaje ICMP
Cada mensaje tiene su propio formato, pero todos comienzan con los mismos campos:
Tipo (8 bits): Identifica el tipo de mensaje Cdigo (8 bits): Ms informacin sobre el tipo de mensaje Checksum (16 bits): Utiliza el mismo algoritmo que IP
0 8 16 Cdigo 31
Tipo
Checksum
Depende del tipo y el cdigo
Redes: Tema 5
67
Tipos de mensajes ICMP
El tipo de mensaje determina su significado y su formato. Hay 15 tipos distintos.
Peticin Error
Entre los principales tenemos Tipo Mensaje ICMP
0 3 8 11 Contestacin de eco Destino inalcanzable Peticin de eco Tiempo excedido en datagrama
Los mensajes de error contienen la cabecera IP + 8 primeros bytes de datos del datagrama original
68
Redes: Tema 5
Mensajes de error ICMP
Enlace fuera de servicio!
Nunca se generan mensajes de error en respuesta a:
Un mensaje de error ICMP Un datagrama destinado a una direccin IP de difusin Un fragmento que no sea el primero Un datagrama cuya direccin origen no defina una mquina nica (es decir, que la direccin origen no puede ser cero, la direccin de loopback, direcciones de difusin)
Todo esto para prevenir broadcast storms
69
Redes: Tema 5
Mensajes de eco (peticin y respuesta)
La respuesta devuelve los mismos datos que se recibieron en la peticin Se utilizan para construir la herramienta ping
Empleada por administradores y usuarios para detectar problemas en la red Permite :
Comprobar si un destino est activo y si existe una ruta hasta l Medir el tiempo de ida y vuelta Estimar la fiabilidad de la ruta
Puede ser utilizado tanto por hosts como por routers
70
Redes: Tema 5
Mensaje de tiempo excedido
Este tipo de mensajes pueden ser enviados por routers y hosts:
Routers: cuando descartan un datagrama al finalizar su tiempo de vida Hosts: al ocurrir un timeout mientras se esperan todos los fragmentos de un datagrama
El campo cdigo explica cul de los dos sucesos ha ocurrido
Redes: Tema 5
71
Mensaje de destino inalcanzable
Son enviados por un router o host cuando no puede enviar o entregar un datagrama IP Se envan al emisor del datagrama original El campo cdigo contiene un entero con informacin adicional. Algunos importantes son:
Cod.
0 1 2 3 4 6 7
Descripcin
Red inalcanzable Host inalcanzable Protocolo inalcanzable Puerto inalcanzable Se requiere fragmentacin pero bit DF activado Red destino desconocida Host destino desconocido
72
Redes: Tema 5
3. IP v6: Por qu una nueva versin?
Agotamiento del espacio de direcciones IP en un futuro prximo
Internet est creciendo exponencialmente (su tamao se dobla en menos de un ao) Se necesitan direcciones ms largas
Nuevas aplicaciones en Internet han provocado necesidades adicionales:
Audio y vdeo: retardos acotados, sincronizacin, calidad de servicio, etc.
Tecnologas de colaboracin: comunicaciones dentro de un grupo
Creacin y mantenimiento del grupo Envo de paquetes a todo el grupo
73
Redes: Tema 5
Caractersticas principales de IP v6 (I)
Direccionamiento
Direcciones de 128 bits
61023 direcciones por m2 de la Tierra Unicast: direccin de un computador Multicast: direccin de un grupo de computadores (todos) Anycast: direccin de un grupo de computadores (uno cualquiera del grupo)
Tipos de direcciones
Redes: Tema 5
74
Caractersticas principales de IP v6 (II)
Soporte de audio y vdeo: permite establecer rutas de alta calidad
Definicin de flujos (un tanto ambigua)
Formato de cabecera ms flexible que en IP v4 para agilizar el encaminamiento:
Menos campos fijos que en IP v4 Cabeceras de extensin opcionales con un orden especfico
Redes: Tema 5
75
Formato de un paquete IP v6 (I)
Etiqueta de flujo: Identifica paquetes del mismo flujo Clase de trfico: para soportar calidad de servicio (QoS, Quality of Service)
0 Vers. 31 Clase de trf. Longitud de datos Etiqueta de flujo Cab. siguiente Lm. de saltos
cabecera base
Direccin IP fuente (128 bits) Direccin IP destino (128 bits)
[Cabecera siguiente /]DATOS
Redes: Tema 5
76
Formato de un paquete IP v6 (II)
Slo la cabecera base es imprescindible
Cabecera base Ext. De cab. 1
...
Opcional
Ext. de cab. N
Datos
40 bytes
0 .. 64 KBytes
Redes: Tema 5
77
Otras diferencias con IP v4
No se utiliza checksum Los routers no pueden fragmentar los paquetes
Si un paquete es demasiado grande el router enva un mensaje de error
Nuevas caractersticas de seguridad ICMP v6: nueva versin de ICMP
Tipos adicionales de mensajes, como ''Paquete demasiado grande'' Funciones de gestin de grupos (multicast)
78
Redes: Tema 5
Transicin de la v4 a la v6
Se ha previsto una fase de transicin, durante la que puedan convivir ambos protocolos Durante el transitorio:
Las direcciones antiguas pueden codificarse fcilmente como direcciones nuevas Se permitirn dispositivos capaces de encaminar paquetes IP v6 e IP v4 Las estaciones podrn utilizar los dos protocolos El empleo de tneles permitir encapsular trfico IP v6 que tiene que atravesar zonas IP v4
79
Redes: Tema 5
Encapsulado de trfico IP v6
A, IP v6
B, IP v6
C, IP v4
D, IP v4
E, IP v6
F, IP v6
Tnel lgico A, IP v6 Fuente : IP A Destino: IP F
Redes: Tema 5
B, IP v6
IP v4 IP v6 Datos Fuente: IP B Destino: IP E
E, IP v6
F, IP v6
IP v6 Datos
80
4. Algoritmos de encaminamiento: introduccin
Objetivo del algoritmo de encaminamiento
Determinar el 'mejor camino' (secuencia de routers) desde el origen al destino
B A
1 2 2
3 3 1 1
C
5
La red se representa mediante un grafo:
F
2
Nodos del grafo los routers
son
Arcos del grafo son los enlaces entre routers
Redes: Tema 5
81
Criterios para la clasificacin de algoritmos
Dos cuestiones fundamentales sobre el algoritmo de encaminamiento:
Es escalable?
Algoritmos por vector de distancias y estado del enlace como mximo para 100 routers Depende de dnde se calculen las tablas Los algoritmos centralizados son difciles de escalar, todas nuestras propuestas sern de algoritmos distribuidos
Es centralizado o distribuido?
Redes: Tema 5
82
Otros criterios para la clasificacin
Dependiendo de la frecuencia con que se actualizan las rutas:
Estticos: suelen actualizarse manualmente Dinmicos: son sensibles a cambios en el trfico o en la topologa de la red
Los algoritmos de encaminamiento empleados en Internet suelen ser dinmicos
Redes: Tema 5
83
4.1 Encaminamiento por estado del enlace (I)
Cada nodo conoce la distancia a sus vecinos (informacin de estado del enlace) Cada nodo distribuye la informacin de estado del enlace a TODOS los nodos de la red Con los mensajes recibidos, cada nodo:
Construye el grafo de la red Calcula el camino ms corto (Dijkstra) a cada destino Construye la nueva tabla de encaminamiento
84
Redes: Tema 5
Encaminamiento por estado del enlace (II)
Construir el paquete de estado del enlace
Cada nodo construye un paquete con la siguiente informacin :
Cundo se construye?
Peridicamente
El intervalo puede ser de horas
Nodo transmisor Lista de vecinos y su
distancia a ellos
En eventos significativos :
Cada de lnea Muere un vecino Etc.
Nmero de secuencia Tiempo de vida (TTL)
Redes: Tema 5
85
Encaminamiento por estado del enlace: ejemplo
Paquetes de estado del enlace (PEE) de cada nodo de la red ejemplo
A #Sec B E 4 5 A C F B #Sec 4 2 6 B E C #Sec 2 1 D 3 C F D #Sec 3 7 A C F E #Sec 5 1 8 B E F #Sec 6 8 D 7
Redes: Tema 5
86
Notacin para el alg. de Dijkstra
c(i,j): coste del enlace del nodo i al j
El coste es infinito si i y j no son vecinos
D(v): valor actual del coste mnimo del camino desde la fuente al destino v p(v): nodo predecesor a lo largo del camino desde la fuente a v, o sea un nodo vecino de v N': conjunto de nodos cuyo camino de coste mnimo se conoce definitivamente
Redes: Tema 5
87
Algoritmo de Dijsktra (para el nodo fuente A)
Inicializacin:
N' = {A} Para todos los nodos v
Si v es vecino de A
entonces D(v) = c(A,v) si no D(v) = infinito
Repetir
Encontrar w no en N' tal que D(w) sea mnima Aadir w a N' Actualizar D(v) para cada v vecino de w y que no est en N':
Si D(v) > D(w) + c(w,v) D(v) = D(w) + c(w,v) P(v) = w
hasta que todos los nodos estn en N'
Redes: Tema 5
88
Ejecucin del algoritmo de Dijkstra
B
2 6 1
4
A
3
D
Para el nodo fuente A Al final, la lista de predecesores permite obtener los caminos ms cortos a cada destino
5 Paso
0 1 2 3 4 5
7 8 N'
F
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
4, A infinito 6, B 6, B infinito infinito infinito 9, C 5, A 5, A infinito 10, B 10, B 10, B 10, B
A A, B A, B, E A, B, E, C A, B, E, C, D A, B, E, C, D, F
Redes: Tema 5
89
4.2 OSPF (Open Shortest Path First Protocol)
Algoritmo por estado del enlace, ampliamente utilizado en Internet
Difusin de paquetes de estado del enlace a todos los routers del SA
Una entrada en el paquete por router vecino La informacin se enva directamente sobre IP
Conocimiento de la topologa del SA Clculo de rutas mediante el algoritmo de Dijkstra
Ahora el coste hace referencia a cmo alcanzar redes destino
90
Redes: Tema 5
Caractersticas avanzadas en OSPF (no presentes en RIP)
Seguridad: autentificacin de mensajes de encaminamiento Permite mltiples caminos con el mismo coste (slo 1 en RIP) Permite utilizar diferentes mtricas para el mismo enlace Soporte multicast Soporte de jerarqua de encaminamiento en SAs grandes
91
Redes: Tema 5
OSPF jerrquico
Router de frontera BGP Routers de frontera de rea
rea troncal
rea 3 Routers internos
rea 1
rea 2
Redes: Tema 5
92
4.3 Encaminamiento por vector de distancias
Cada nodo mantiene un vector que contiene su estimacin de la distancia a los restantes nodos de la red Cada nodo distribuye este vector peridicamente a sus vecinos (nodos conectados a l directamente) A partir de los vectores que recibe, y de lo que el propio nodo conoce, calcula la distancia ms corta a cada destino y el siguiente salto de la ruta
Se asume que cada nodo conoce la distancia a sus vecinos y que un enlace fuera de servicio tiene coste infinito
93
Redes: Tema 5
Clculo de la distancia a un destino
Ejemplo: la distancia de x a y:
d (y) = min {c(x,v) + d (y)} x
v v
v se calcula para todos los vecinos de x
Con las distancias desde cada vecino se construye la tabla de distancias Y a partir de la tabla de distancias la de encaminamiento
Redes: Tema 5
94
Ejemplo de una tabla de distancias (nodo B)
Distancia del nodo B al nodo destino A
d (A) = min {c(B,C) + dC(A), c(B,D) + d (A)} = min {1 + 3, 1 + 1} = 2
B
A
Vectores de distancias de los nodos C y D
C A B D E 3 1 2 1 A B C E
Tabla de distancias del nodo B
Coste al destino va
D 1 1 2
Destino
D ()
B
C 4 1 3 2
D 2 3 1 2
95
A C D E
dB(C) = 1
dB(D) = 1
Redes: Tema 5
Ejemplo de una tabla de encaminamiento
Coste al destino va
DD() A
Destino
A 1 3 4 3
B 3 1 2 3
E 3 3 2 1
Destino Siguiente salto
A B C E
A B B E
B C E
Tabla de distancias
Tabla de encaminamiento
Redes: Tema 5
96
Vector de distancias: descripcin
Iterativo, asncrono:
Cada iteracin local causada por:
Cada nodo:
espera hasta (cambio en un enlace local o mensaje de algn vecino o intervalo_max de actualizacin)
el coste de un enlace local ha cambiado mensaje de un vecino: su coste mnimo ha cambiado actualizacin peridica Cada nodo notifica a sus vecinos slo si su coste mnimo a algn destino ha cambiado
recalcula la tabla de distancias
Distribuido:
si el coste del camino a algn destino ha cambiado, notifica a sus vecinos
Redes: Tema 5
97
Algoritmo de encaminamiento de vector de distancias (I)
En cada nodo, x:
1 inicializacin: 2 para todos los destinos y en N: /* N conjunto de destinos */ 3 si y es vecino de x: 4 dx(y) = c(x,y) 5 si no 6 dx(y) = 7 para cada vecino w 8 enviar a w el vector de distancias Dx = {dx(y) : y N}
Redes: Tema 5
98
Algoritmo de encaminamiento de vector de distancias (II)
9 repetir 10 esperar (hasta ver un cambio en el coste del enlace a un vecino 11 o hasta recibir una actualizacin desde un vecino) 12 13 para cada y en N 14 dx(y) = minw {c(x,w) + dw(y)} 15 16 si dx(y) ha cambiado para cualquier destino y 17 enviar vector de distancias dx=[dx(y) : y N] a todos los vecinos 18 19 siempre
Redes: Tema 5
99
Vector de distancias: cambios en el coste de un enlace (I)
B A D
Coste al destino va:
Coste al destino va:
D E()
E
Destino
C 4 2 1 3
D 2
D E()
D 2 2 3 1
A B C D
A inf
Destino
2 3 1
B inf C inf E inf
Los cambios en los costes a veces se resuelven rpidamente
Redes: Tema 5
100
Vector de distancias: cambios en el coste de un enlace (II)
Pero ... en ocasiones la red puede tener problemas para estabilizarse
Coste al destino va
B A D
DD()
B 3 1 2 3
E 3 3 2
A inf
Destino
La ruta que tiene B utiliza el enlace DA!
B inf C inf E inf
Aparecen bucles en el encaminamiento Problema de la cuenta al infinito
Soluciones:
Limitacin del dimetro de la red Split horizon
101
Redes: Tema 5
4.4 RIP (Routing Information
Protocol)
Algoritmo de vector de distancias, ampliamente utilizado en Internet El coste de las rutas hace referencia a cmo alcanzar redes destino
Alcanzar una red directamente conectada tiene coste cero
Los routers envan sus mensajes RIP peridicamente cada 30 s.
Los paquetes RIP indican direccin de red destino, distancia a la red destino
Redes: Tema 5
102
RIP: fallo y recuperacin de enlaces
Si un router no recibe informacin de un vecino durante 180 s. asume que est muerto
Anula las rutas que utilizaban ese vecino Advierte a sus otros vecinos
Se envan slo las modificaciones detectadas
Sus vecinos a su vez envan nuevos avisos (si han tenido que modificar sus tablas) El fallo se propaga a travs de la red 16 saltos se asumen como distancia infinita
103
Redes: Tema 5
RIP: Ejemplo (I)
w x A C
Red destino Router siguiente Num. de saltos al destino
w y z x
.
A B B
. .
1 1 6 0
....
Tabla de encaminamiento en D
Redes: Tema 5
104
RIP: Ejemplo (II)
Dest w x z . Saltos 0 0 3 ...
Anuncio de A a D
x A C D B
Red destino
Router siguiente
Num. de saltos al destino
w y z x
.
Redes: Tema 5
A B BA -.
1 1 64 0
....
105
Tabla de encaminamiento en D
4.5 Encaminamiento en Internet
Internet no es una red plana:
Escalabilidad:
Con ms de 2 millones de destinos posibles, los algoritmos vistos:
Autonoma administrativa
Internet = red de redes
Tendran problemas de convergencia Generaran gran cantidad de trfico, que inundara los enlaces de Internet Necesitaran tablas de encaminamiento inmensas
Cada administrador puede querer elegir el protocolo de encaminamiento Tener un criterio distinto sobre la mtrica ms idnea
Redes: Tema 5
106
Solucin: encaminamiento jerrquico
Dividir Internet en regiones, ''sistemas autnomos'' (SA):
Routers pasarela
Los routers del mismo SA ejecutan el mismo protocolo de encaminamiento
Son routers especiales que comunican distintos SAs Utilizan el protocolo ''intra-SA'' Son responsables de encaminar fuera del SA mediante protocolos ''inter-SA''
Protocolo ''intra-SA'' Tienen informacin completa del resto de routers del SA Los routers en diferentes SAs pueden utilizar distintos protocolos ''intra-SA''
Redes: Tema 5
107
Encaminamiento intra-SA e inter-SA
C.b A.a
a C b d A A a b b c
B.a A.c
a c B b
Pasarelas:
Encaminamiento inter-SA entre ellas Encaminamiento intra-SA con los otros routers de su SA
Encaminamiento inter-SA, intra-SA
Algoritmo de encaminamiento intra-SA
Algoritmo de encaminamiento inter-SA
Tabla de encaminamiento
Redes: Tema 5
108
Ejemplo de encaminamiento intra-SA e inter-SA:
C.b A.a a H1 C b d a b b c A.c a
Encaminamiento inter-SA entre A y B
B.a c B H2 b
Encaminamiento intra-SA dentro del SA B
Encaminamiento intra-SA dentro del SA A
Redes: Tema 5
109
Encaminamiento en el interior de sistemas autnomos
Protocolos para calcular las rutas dentro de un SA Los protocolos intra-SA ms comunes son:
RIP (Routing Information Protocol) OSPF (Open Shortest Path First)
Tambin conocidos como protocolos IGP (Interior Gateway Protocols)
Redes: Tema 5
110
Encaminamiento entre SAs: BGP (Border Gateway Protocol)
Es un estndar de facto
Versin actual 4, RFC 1771 Obtener informacin sobre redes destino que se pueden alcanzar a travs de otros SAs Propagar esa informacin a todos los routers internos del SA Obtener buenas rutas a las redes destino basadas en informacin de rutas y polticas de los SAs
Permite a cada SA:
Redes: Tema 5
111
Caractersticas bsicas de BGP
Es un protocolo muy complejo Emplea conexiones TCP semi-permamentes (sesiones BGP)
Entre routers de distintos SAs y entre routers del mismo SA Los routers que se comunican no necesitan compartir un enlace fsico directo
a b C d A A b b a c a B c b
Sesin eBGP Sesin iBGP
112
Redes: Tema 5
Funcionamiento de BGP
Es un algoritmo por vector de caminos:
Similar al protocolo por vector de distancias pero trabaja con rutas completas Cada SA tiene un nmero de identificacin nico Cada pasarela informa de la secuencia de SAs que se atraviesan hasta alcanzar una red destino Trabajar con rutas completas presenta ventajas:
Impide los bucles en el encaminamiento
Redes: Tema 5
113
BGP: ejemplo
SA 200 [Link]/16
SA 100 [Link]/16
SA 300 SA 400 [Link]/16
[Link]/16 300 200 100 [Link]/16 300 200
SA 500
[Link]/16 300 200 100 [Link]/16 300 200 [Link]/16 300 400
114
Redes: Tema 5
Funcionamiento BGP (II)
Tareas de un router BGP:
Recepcin y filtrado de anuncios de ruta desde los routers vecinos directamente conectados Seleccin de ruta
Eleccin de un camino para encaminar al destino X Decisin de poltica de rutado
Envo de anuncios de ruta al vecindario
Redes: Tema 5
115
BGP: control de rutas
B
w
A C
x y
A, B, C son redes de proveedores X, W, Y son redes clientes X est ligado a 2 redes
X no quiere encaminar trfico de B a C ... X no anunciar a B una ruta a C
116
Redes: Tema 5