Fragmentacion Ip
Fragmentacion Ip
Fragmentacion Ip
ndice
Bloque IV: El nivel de red Tema 9: IP Introduccin Cabecera IP Fragmentacin IP
Referencias Captulo 4 de Redes de Computadores: Un enfoque descendente basdado en Internet. James F. Kurose, Keith W. Ross. Addison Wesley, 2 edicin. 2003. Captulos 3 y 11 de TCP/IP Illustrated, Volume 1: The Protocols, W. Richard Stevens, Addison Wesley, 1994.
RC - Bloque IV - Tema 9
Introduccin
Internet Protocolo Especificado en el RFC 791. IP proporciona un servicio de entrega de datagramas no fiable y no orientado a conexin
No fiable:
No hay garanta de que el datagrama alcance su destino. Sigue un esquema best effort: Cuando algo va mal (p.e: un router con buffers agotados) ejecuta un algoritmo simple de gestin de errores: descarta el datagrama y trata de enviar un mensaje ICMP a la fuente.
HTTP
SMTP
DNS
APLICACIN
TCP
UDP
TRANSPORTE
No orientado a conexin:
IP no mantiene informacin de estado relativa a datagramas. Cada datagrama se gestiona independientemente de otros datagramas. Los datagramas se pueden recibir desordenados.
IP
RED
Ethernet
RC - Bloque IV - Tema 9
ENLACE
3
Cabecera IP
0
Versin Long. (4 bits) Cabec.
8
TOS (8 bits)
16
31
20 bytes
Dir. IP origen (32 bits) Dir. IP destino (32 bits) Opciones (opcional y variable) Datos (opcional y variable)
RC - Bloque IV - Tema 9
Cabecera IP
Utilizamos network byte order: ordenacin de bytes big endian. Es el orden que se requiere en TCP/IP para transmitir los bytes en la red. Considerando palabras de 32 bits: bits 0-7 primero, bits 8-15 a continuacin, etc., siendo el bit 0 el ms significativo. Versin: Versin actual de IP (4). Longitud de cabecera: Nmero de bytes en la cabecera (incluidas las opciones si las hubiera (< 60 bytes). Tipo de servicio (TOS): 3 bits de precedencia (no se usan) + 4 bits de informacin + 1 bit que no se usa Bits de informacin: Minimizar retardo Maximizar throughput Maximizar fiabilidad Minimizar coste econmico De los 4 bits de informacin, slo uno puede estar a 1 con cada servicio. RFC 1350 indica cual es el uso que se debe hacer de estos bits para cada aplicacin estndar. Longitud total: Longitud total de datagrama IP en bytes. Utilizando este campo y el de longitud de la cabecera se puede saber con exactitud dnde comienza la zona de datos del datagrama IP y su longitud. Campo de 16 bits: mximo tamao es 65535 bytes. Muchas aplicaciones limitan actualmente la longitud de los datagramas IP a 8192 bytes (caso de aquellas que utilizan NFS). Se precisa este campo porque un datagrama IP puede llegar a ser de menor tamao que el mnimo exigido por el nivel de enlace (Ethernet, 46 bytes). En estos casos se aaden bytes para configurar la trama del nivel de enlace. 5
RC - Bloque IV - Tema 9
Cabecera IP
Identificacin: identifica unvocamente el datagrama IP enviado por una mquina. Normalmente se incrementa en una unidad cada vez que se enva un datagrama. Flags y offset de fragmentacin: Campos para fragmentacin. TTL (Time To Live): Establece un tiempo mximo de vida para el datagrama. Previene bucles indefinidos por problemas de enrutamiento. Establece un lmite en el nmero de routers por los que puede pasar un datagrama: normalmente 32 o 64. Cada vez que el datagrama pasa por un router, se decrementa en una unidad el valor de este campo. Cuando vale 0 se descarta el datagrama y se notifica al remitente con un mensaje ICMP. Protocolo: usado por IP para demultiplexar. Permite identificar de qu protocolo de la capa de transporte son los datos enviados. Checksum de cabecera: Slo para la cabecera. Se calcula: Se pone a cero Se calcula la suma complemento a uno (en bloques de 16 bits) de la cabecera. El complemento a uno de esta suma se almacena en el checksum. En recepcin, se hace la suma complemento a uno de la cabecera. Si no da todos unos, se considera error, se descarta el datagrama y no se notifica. Como cada router decrementa el campo TTL para cada datagrama que enruta, debe actualizarse el checksum.
RC - Bloque IV - Tema 9
Cabecera IP
Direccin IP de origen y destino: 32 bits cada una. Opciones: Informacin opcional de longitud variable. Las opciones definidas son: Seguridad y gestin de restricciones (para aplicaciones militares) RFC 1108. Registro de enrutamiento (record route): cada router marca su hora y direccin IP (mximo 9 routers). Timestamp: Va anotando la ruta y adems pone una marca de tiempo en cada salto (mximo 4 routers). Lista estricta de enrutamientos (strict source routing): La cabecera contiene la ruta paso a paso que debe seguir el datagrama (mximo 9). Lista difusa de enrutamientos (loose source routing): la cabecera lleva una lista de routers por los que debe pasar el datagrama, pero puede pasar adems por otros (mximo 9). La longitud ha de ser mltiplo de 32 bits. Si hace falta, se aaden bytes PAD para cumplir esta condicin.
RC - Bloque IV - Tema 9 7
Fragmentacin IP
El nivel fsico de la red impone un lmite superior al tamao de la trama que se puede transmitir (MTU Maximum Transmission Unit). Ethernet: 1500 bytes Token Ring: 4440 bytes Cuando el nivel IP recibe un datagrama, identifica la interfaz de red a utilizar y la interroga sobre su MTU: Compara la respuesta con la longitud del datagrama. Se hace fragmentacin si la longitud del datagrama es mayor que el MTU. El reensamblaje de datagramas IP fragmentados se produce cuando el datagrama alcanza el destino final: Lo hace el nivel IP del destino. La fragmentacin es transparente al nivel de transporte. En la cabecera IP se almacena la informacin relacionada con la fragmentacin IP.
RC - Bloque IV - Tema 9 8
Fragmentacin IP
Cabecera IP Campos para fragmentacin
0
Versin (4 bits) Long. Cabec.
8
TOS (8 bits)
16
31
RC - Bloque IV - Tema 9
Fragmentacin IP
Identificacin: valor nico para cada datagrama IP transmitido Todos los fragmentos de un datagrama contienen el mismo valor. Flags: El primer bit est reservado. Bit DF (Dont Fragment): a 1 si se prohbe fragmentar el datagrama IP. Bit MF (More Fragments): a 1 si hay ms fragmentos a continuacin Se pone a 0 en el ltimo fragmento. Offset de fragmento: desplazamiento en mltiplos de 8 bytes del fragmento desde el origen del datagrama original. Longitud total: se cambia la longitud total del datagrama por longitud total del fragmento. El tamao de cada fragmento debe ser mltiplo de 8 bytes, excepto el ltimo fragmento Por el campo offset de fragmento. Si est activado el flag DF y es necesario fragmentar Se genera un mensaje de error ICMP Unreachable Error (Fragmentation Required).
RC - Bloque IV - Tema 9
10
11
Datos NFS
Fragmento 1 Cab. UDP
Identificacin: 12345 DF: 0 MF: 1 Offset: 0 Long. total: 1480 + 20
Cab. IP
RC - Bloque IV - Tema 9
12
Datos NFS
Fragmento 2 Cab. IP
RC - Bloque IV - Tema 9
13
RC - Bloque IV - Tema 9
14
Cab. UDP
Offset 0
Datos UDP
1480 2960
RC - Bloque IV - Tema 9
15
Fragmento 2 Cab. IP Identificacin: 6789 DF: 0 MF: 1 Offset: 185 Long. total: 1480 + 20
Fragmento 1.3 Identificacin: 6789 DF: 0 MF: 1 Offset: 68 Long. total: 272 + 20 Fragmento 1.4 Identificacin: 6789 DF: 0 MF: 1 Offset: 102 Long. total: 272 + 20
Fragmento 1.5 Identificacin: 6789 DF: 0 MF: 1 Offset: 136 Long. total: 272 + 20 Fragmento 1.6 Identificacin: 6789 DF: 0 MF: 1 Offset: 170 Long. total: 120 + 20
18
Fragmento 2.3 Identificacin: 6789 DF: 0 MF: 1 Offset: 253 Long. total: 272 + 20 Fragmento 2.4 Identificacin: 6789 DF: 0 MF: 1 Offset: 287 Long. total: 272 + 20
Fragmento 2.5 Identificacin: 6789 DF: 0 MF: 1 Offset: 321 Long. total: 272 + 20 Fragmento 2.6 Identificacin: 6789 DF: 0 MF: 1 Offset: 355 Long. total: 120 + 20
19
RC - Bloque IV - Tema 9
20
RC - Bloque IV - Tema 9
21
Desde A se envan a B 3013 bytes de datos TCP (sin incluir la cabecera TCP).
RC - Bloque IV - Tema 9
22
Segmento 1
Segmento 2
Cab. IP
TCP
0-1459
Cab. IP
TCP
1459-2919
Cab. IP
TCP
2920-3012
RC - Bloque IV - Tema 9
23
RC - Bloque IV - Tema 9
24
Fragmento 1.2 Identificacin: 67890 DF: 0 MF: 1 Offset: 34 Long. total: 272 + 20
RC - Bloque IV - Tema 9
Fragmento 2.2 Identificacin: 67891 DF: 0 MF: 1 Offset: 34 Long. total: 272 + 20
RC - Bloque IV - Tema 9
RC - Bloque IV - Tema 9
27
RC - Bloque IV - Tema 9
28