ÏT - UC3M

Anuncio
IP: INTERNET PROTOCOL
Ø El datagrama IP
l Formato
l Fragmentación
l Opciones
Ø ICMP: Internet Control Message Protocol
l El protocolo
l Tipos y formatos de mensajes
ÏT
UC3M
1
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
1.1.
- IP
IP:: Características
• Servicio fundamental: protocolo IP
• Tres características clave:
– No fiable (unreliable): no se garantiza
transferencia (pérdida, retardo, secuencia, ...) ni
reserva recursos
– No orientado a la conexión (connectionless): cada
paquete de información se trata
independientemente
– Mejor esfuerzo (best-effort)
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
2
Redes y Servicios de Comunicaciones I
1
IP: Datagrama
Byte 1
Byte 2
0
7
Versión
1
Long H
Byte 3
0
7
TTL
3
Flags
Protocolo
7
Offset
Header Checksum
Dirección IP Fuente
5
Dirección IP Destino
Opciones IP (si existen)
ÏT
UC3M
0
Longitud total
4
6 y sig.
Byte 4
7
Tipo servicio
Identificación
2
0
Relleno (si existe)
DATOS
max 64KB
3
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Datagrama
Versión Long H
1
Tipo servicio
Longitud total
Ø Versión (4 bits) del protocolo IP que generó el datagrama para
asegurar que la cabecera se procesa adecuadamente
Ø Longitud cabecera (4 bits) en palabras de 32 bits, por lo que
la cabecera debe medir un múltiplo de 4 bytes
Ø Longitud total
ÏT
UC3M
© 2003 IT-UC3M
(16 bits)
del datagrama
IP: Internet Protocol
4
Redes y Servicios de Comunicaciones I
2
IP: Datagrama
Versión Long H
1
Tipo servicio
Longitud total
Ø Tipo servicio (8 bits): parámetros de manejo del datagrama, suele ser
ignorado
l Precedencia 3 bits: de 0 normal a 7 control de red
l 1 bit de retardo, 1 bit de Throughput, 1 bit de fiabilidad: marcar el
que proceda
Bit 0
1
2
Precedencia
ÏT
UC3M
3
4
5
6
Delay
Thrput.
Reliabty.
7
No usados
5
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Datagrama
TTL
3
Protocolo
Header Checksum
Ø TTL (8 bits) tiempo en segs. que un datagrama debe estar en
la red. Se decrementa en routers. Si TTL=0 se descarta.
Ø Protocolo (8 bits) de capa superior que está utilizando el
datagrama
Ø Header Checksum
cabecera
ÏT
UC3M
© 2003 IT-UC3M
(16 bits)
protección de errores de la
IP: Internet Protocol
6
Redes y Servicios de Comunicaciones I
3
IP: Datagrama
4
Dirección IP Fuente
5
Dirección IP Destino
Ø Direcciones IP de fuente y destino (32 bits), para identificar
en cada datagrama quién lo originó y quién es el destinatario
l Más adelante se trata este tema … paciencia ::-)
ÏT
UC3M
7
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Fragmentación
Ø Aunque la longitud máxima del datagrama es 64 KB, ¿cuánto
cabe en una frame física?
Ø Concepto de MTU: tamaño máximo admisible por la frame
física.
l (MTU FDDI=4470 bytes
bytes,, MTU Ethernet=1500 bytes
bytes,, ...)
Ø Pero como la longitud del datagrama puede ser de hecho
mayor, debemos hacer trozos y pegarlos
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
8
Redes y Servicios de Comunicaciones I
4
Ejemplo
IP
IP
H1
Subred1
MTU = 1500
H2
ETH
IP
ETH IP
IP
MTU = 1000
IP
ÏT
IP
ETH IP
Subred3
MTU = 1500
Subred 2
R1
UC3M
IP
R2
IP
IP
9
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Fragmentación
Ø Para poder llevar datagramas IP sobre cualquier red física,
los datagramas han de poder ser fragmentados para que
quepan en la MTU
Ø Fragmentación en cualquier punto del camino entre origen y
destino
Ø ¿Quién reconstruye el datagrama fragmentado?
l ¿El destino final …
l o cuando desaparezca la restricción de MTU?
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
10
Redes y Servicios de Comunicaciones I
5
IP: Fragmentación
Ø Se reconstruye en destino
l Para evitar aumento de complejidad en routers (no
tienen que hacer store&forward
store&forward,, cada fragmento es
un datagrama independiente)
l A pesar de que se desperdicia ancho de banda y de
que si se pierde uno de los fragmentos el resto no
nos valen de nada
Ø Se usa la 2ª palabra del datagrama para controlar el
proceso de fragmentación
ÏT
UC3M
11
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Fragmentación
Byte 1
0
Byte 2
7
0
Identificación
2
Byte 3
7
0
Flags
2
Byte 4
7
0
7
Offset
Ø Identificación (16 bits) número entero: del datagrama (incluso
sin fragmentar!!)
Ø Flags (3 bits):
l reserva (1 bit) no utilizado
l Do not fragment (1 bit) 1 = no fragmentar
l More fragments (1 bit) 0 = último fragmento
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
12
Redes y Servicios de Comunicaciones I
6
IP: Fragmentación
Byte 1
0
Byte 2
7
0
Identificación
2
Byte 3
7
0
Flags
2
Byte 4
7
0
7
Offset
Ø Offset (13 bits) posición relativa de este fragmento en el
datagrama original, en unidades de 8 bytes
l Máximo 8192 fragmentos por datagrama
l Destino reconstruirá empezando por el fragmento con
offset 0, luego offset mayor teniendo en cuenta la
longitud del fragmento, hasta bit MF=0
Ø Campo Longitud total lleva long. fragmento
ÏT
UC3M
13
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Opciones en datagrama
Ø Objetivo: comprobaciones y pruebas en cada datagrama
Ø Puede haber o no opciones (a partir de la sexta palabra del
datagrama), van en la cabecera una detrás de otra con
longitud variable
Ø Tipos más comunes: Timestamp , Source Route, Record
Route
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
14
Redes y Servicios de Comunicaciones I
7
IP: Opciones
Ø Codificación del byte común de código de opción
Bit 0
1
Copia
2
Clase de opción
3
4
5
6
7
Número de opción
Copia: 1bit, con valor 1 indica que se debe copiar la opción en la cabecera de todos los
fragmentos (en caso de que existan), con valor 0 para copiarla sólo en el primero.
Clase: 2 bits, con valor 0 para control de red, 2 para medida y prueba, 1 y 3 reservados
Número: 5 bits, especifica la opción dentro de una clase
ÏT
UC3M
15
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Opciones
Ø TIMESTAMP
l Registro de la hora a la que el datagrama pasa por un
router
l Código común (1byte, clase 2, número 4) + Longitud opción en
bytes (1 byte) + Puntero a byte libre en opción (1 byte) +
Cuenta número routers que no pudieron (4 bits) + Flags
(4 bits, 0=timestamp, 1=dirección y timestamp, 3=dirección dada por
transmisor)
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
16
Redes y Servicios de Comunicaciones I
8
IP: Opciones
Ø SOURCE ROUTE
l Permite a la fuente especificar cuál es la ruta a seguir
por el datagrama:
ü STRICT SOURCE ROUTE: ruta estricta
ü LOOSE SOURCE ROUTE: puede haber saltos intermedios
l Código común (1byte, clase 0, número 3 ó 9) + Longitud opción
en bytes (1 byte) + Puntero a siguiente dirección a usar
(1 byte) + Lista de direcciones a seguir (4 bytes cada una)
ÏT
UC3M
17
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
IP: Opciones
Ø RECORD ROUTE
l Recoge información de las direcciones por las
que pasa el datagrama a lo largo de la ruta
l Código común
(1byte, clase 0, número 7)
+ Longitud
opción en bytes (1 byte) + Puntero a siguiente
dirección a usar (1 byte) + Lista de direcciones
ya atravesadas
ÏT
UC3M
© 2003 IT-UC3M
(4 bits)
IP: Internet Protocol
18
Redes y Servicios de Comunicaciones I
9
IP: INTERNET PROTOCOL
Ø El datagrama IP
l Formato
l Fragmentación
l Opciones
Ø ICMP: Internet Control Message Protocol
l El protocolo
l Tipos y formatos de mensajes
ÏT
UC3M
19
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
2.2.
- ICMP
ICMP:: el protocolo
Ø En cualquier punto puede haber problemas en la
transferencia del datagrama IP
Ø ICMP proporciona el mecanismo de comunicación de
información de control y error entre los actores
involucrados
l Origen del mensaje ICMP: quien detecte algo mal o quien
quiera pedir información de control
l Destino del mensaje ICMP: quien mandó el datagrama que
da origen al error o a quien se le quiera pedir información
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
20
Redes y Servicios de Comunicaciones I
10
ICMP: el protocolo
Ø Mensajes ICMP van encapsulados a su vez en datagramas
IP … luego pueden tener problemas ellos también
l No se envían mensajes ICMP de error en ese caso
ÏT
UC3M
21
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
ICMP Mensajes
Ø Información de
Ø Control
Error
l Echo Request
Request/
/ Reply
l Timestamp Request /
l Time Exceeded
Reply
l Address Mask Request
/ Reply
l Source Quench
l Parameter Problem
l Redirect
l Destination
Unreachable
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
22
Redes y Servicios de Comunicaciones I
11
ICMP Mensajes: cabecera común
Byte 1
Byte 2
0
Byte 3
7 0
Tipo
1
7 0
Byte 4
7 0
Código
7
Checksum
Tipo: 8 bits, identifica el tipo de mensaje ICMP
Código: 8 bits, proporciona mayor información sobre el mensaje ICMP,
específica dentro de un tipo determinado de mensaje
Checksum: 16 bits de protección contra errores del mensaje ICMP, calculado de
la misma forma que se describió para IP
Ø Todos los mensajes llevan esta cabecera y detrás
vienen los datos propios del mensaje
ÏT
UC3M
23
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
ICMP
Echo Request / Reply (ping)
Ø “Comprobación de continuidad“
Byte 1
Byte 2
0
1
2
7 0
Tipo (0/8)
Byte 3
7 0
Código (0)
Identificador
Byte 4
7 0
7
Checksum
Número de secuencia
Datos opcionales
3
…
Tipo: 0=Request, 8=Reply
Identificador y Número de Secuencia: relaciona reply con request
ÏT
UC3M
© 2003 IT-UC3M
Datos opcionales: campo de longitud variable que contiene datos que se envían
en el request y se devuelven en el reply
IP: Internet Protocol
24
Redes y Servicios de Comunicaciones I
12
ICMP
Timestamp Request / Reply
Ø Petición de información horaria
Byte 1
Byte 2
0
7 0
Tipo (13/14)
1
Byte 3
7
Código (0)
0
7
Checksum
Identificador
2
Byte 4
7 0
Número de secuencia
Timestamp salida de origen
Timestamp llegada a destino
Timestamp salida de destino
Tipo: 13=Request, 14=Reply
Identificador y Número de Secuencia: relaciona reply con request
ÏT
Timestamps: 32 bits en milisegundos desde medianoche Universal Time (GMT)
UC3M
25
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
ICMP
Address Mask Request / Reply
Ø Petición de máscara de subred
Byte 1
Byte 2
0
1
2
7 0
Tipo (17/18)
Byte 3
Byte 4
7 0
7 0
Código (0)
Identificador
7
Checksum
Número de secuencia
Máscara de dirección
Tipo: 17=Request, 18=Reply
Identificador y Número de Secuencia: relaciona reply con request
ÏT
UC3M
© 2003 IT-UC3M
Máscara: 32 bits de máscara de subred (ver capítulo 3)
IP: Internet Protocol
26
Redes y Servicios de Comunicaciones I
13
ICMP
Source Quench
Ø Petición de bajar la velocidad de transmisión
Byte 1
Byte 2
0
Byte 3
7 0
Tipo (4)
1
7 0
Byte 4
7 0
Código (0)
7
Checksum
2
No utilizado (ceros)
3
Cabecera IP + 64 bits del datagrama que lo origina
…
ÏT
UC3M
27
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
ICMP
Time Exceeded
Ø Se envía cuando TTL=0 ó temporizador fragmentos expira
Byte 1
Byte 2
0
1
7 0
Tipo (11)
Byte 3
7 0
Código (0-1)
Byte 4
7 0
7
Checksum
2
No utilizado (ceros)
3
Cabecera IP + 64 bits del datagrama que lo origina
…
Código: 0=TTL excedido; 1=temporizador de reensamblaje excedido
ÏT
UC3M
© 2003 IT-UC3M
IP: Internet Protocol
28
Redes y Servicios de Comunicaciones I
14
ICMP
Parameter Problem
Ø Error no especificado (en posición apuntada) o falto opción
requerida
Byte 1
Byte 2
0
7 0
1
Tipo (12)
2
Puntero
Byte 3
7 0
Byte 4
7 0
Código (0-1)
7
Checksum
No utilizado (ceros)
Cabecera IP + 64 bits del datagrama que lo origina
3
…
Código:
0=error genérico, con puntero apuntando al octeto con error
1=falta opción requerida (no usa puntero en este caso), p.ej. una
opción de identificación de seguridad para aplicaciones militares
ÏT
UC3M
29
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
ICMP
Redirect
Ø Informa que existe mejor ruta
Byte 1
Byte 2
0
1
7 0
Tipo (5)
Byte 3
7 0
Código (0-3)
Byte 4
7 0
7
Checksum
2
Dirección IP de mejor router a utilizar
3
Cabecera IP + 64 bits del datagrama que lo origina
…
Código:
ÏT
UC3M
© 2003 IT-UC3M
0=no usado (redirect for net)
2=redirect for TOS and net
IP: Internet Protocol
1=redirect for host
3=redirect for TOS and host
30
Redes y Servicios de Comunicaciones I
15
ICMP
Destination Unreachable
Ø Informa de destino no alcanzable
Byte 1
Byte 2
0
7
Tipo (3)
1
Byte 3
0
7
0
Byte 4
7
Código (0-12)
0
7
Checksum
2
No utilizado (ceros)
3
Cabecera IP + 64 bits del datagrama que lo origina
…
Código:
ÏT
UC3M
0=Network unreachable
1=Host unreachable
2=Protocol unreachable
3=Port unreachable
4=Fragment needed, DF set
5=Source route failed
6=Destination network unknown
7=Destination host unknown
8=Source host isolated
9=Admon prohibited netwk
10=Admon prohibited host
11=Netwk unreachable TOS
12=Host unreachable for TOS
31
IP: Internet Protocol
© 2003 IT-UC3M
Redes y Servicios de Comunicaciones I
Ejemplo: IP sobre Ethernet
Protocolo:
IP (0x0800)
D.Destino:
FF:FF:FF:FF:FF:FF
ff
45
8b
25
64
00
01
ÏT
UC3M
© 2003 IT-UC3M
ff
00
65
03
06
00
fa
ff
00
a3
06
be
00
4e
ff
4c
75
ef
25
00
2a
ff
45
8b
00
01
00
c3
D.Origen:
00:90:27:12:1A:C0
ff
c2
ff
00
f7
00
22
00
00
00
14
69
00
cc
90
00
7b
65
72
00
b6
27
40
00
00
de
00
ca
IP: Internet Protocol
12 1a c0 08 00
11 d6 8f a3 75
7b 00 38 80 61
00 1b 63 86 d6
43 CRC:
00 0xCCB6CA63
00 00 00
00 00 00 be 25
63
32
Redes y Servicios de Comunicaciones I
16
Ejemplo: IP sobre Ethernet
IP versión 4
DSCP: 00 (not used)
Header Length:
5x4=20 octetos
Posible Frag./No hay más
fragmentos/offset 0
Longitud Total: 76 (0x4c)
ff
45
8b
25
64
00
01
ÏT
UC3M
© 2003 IT-UC3M
ff
00
65
03
06
00
fa
ff
00
a3
06
be
00
4e
ff
4c
75
ef
25
00
2a
ff
45
8b
00
01
00
c3
ff
c2
ff
00
f7
00
22
00 90 27
00 00 40
00 7b 00
14
65 00
Id: 0x45C2
69 72 de
00 00 00
cc b6 ca
IP Destino
163.117.139.255
IP: Internet Protocol
CRC Cabecera
0xD68F
Protocolo UDP
(17=0x11)
12 1a c0 08
11 d6 8f a3
7b 00 38 80
00 1b 63 86
43 00 00 00
TTL 64 saltos
00 00 00 be
63
00
75
61
d6
00
25
IP Origen
163.117.139.101
33
Redes y Servicios de Comunicaciones I
17
Descargar