El datagrama IP es la unidad de transferencia en las redes IP. Básicamente consiste en una cabecera IP y un campo de datos para protocolos superiores. El datagrama IP está encapsulado en la trama de nivel de enlace, que suele tener una longitud máxima (MTU, Maximum Transfer Unit), dependiendo del hardware de red usado. Para Ethernet, esta es típicamente de 1500 bytes. En vez de limitar el datagrama a un tamaño máximo, IP puede tratar la fragmentación y el re ensamblado de sus datagramas. En particular, IP no impone un tamaño máximo, pero establece que todas las redes deberían ser capaces de manejar al menos 576 bytes. Los fragmentos de datagramas tienen todos una cabecera, copiada básicamente del datagrama original, y de los datos que la siguen. Los fragmentos se tratan como datagramas normales mientras son transportados a su destino. Nótese, sin embargo, que si uno de los fragmentos se pierde, todo el datagrama se considerará perdido, y los restantes fragmentos también se considerarán perdidos.
Formato del datagrama IP
La cabecera del datagrama IP está formada por los campos que se muestran en la figura 3.4.Donde:
Figura 3.4: Formato del datagrama IP
- Version
- es la versión del protocolo IP. La versión actual es la 4. La 5 es experimental y la 6 es IPng.
- Hdr Len
- es la longitud de la cabecera IP contada en cantidades de 32 bits. Esto no incluye el campo de datos.
- Type Of Service
- es el tipo de servicio es una indicación de la calidad del servicio solicitado para este datagrama IP. Una descripción detallada de este campo se puede encontrar en el RFC 1349.
- Total Length
- es la longitud total del datagrama, cabecera y datos, especificada en bytes.
- Identification
- es un número único que asigna el emisor para ayudar a reensamblar un datagrama fragmentado. Los fragmentos de un datagrama tendrán el mismo número de identificación.
- Flags
- son flags para el control de fragmentación.
Figura 3.5: Detalle del campo Flags
El bit 0 está reservado y debe ser 0.
El bit DF significa no fragmentar (Do not Fragment). Con 0 se permite fragmentación y con 1 no.
El bit MF significa que hay más fragmentos (More Fragments). Con 0 significa que se trata del último fragmento del datagrama y con 1 que hay más fragmentos. - Fragment Offset (FO)
- se usa en datagramas fragmentados para ayudar al reensamblado de todo el datagrama. El valor es el número de partes de 64 bits (no se cuentan los bytes de la cabecera) contenidas en fragmentos anteriores. En el primer (o único) fragmento el valor es siempre cero.
- Time To Live
- especifica el tiempo (en segundos) que se le permite viajar a este datagrama. Cada "router" por el que pase este datagrama ha de sustraer de este campo el tiempo tardado en procesarlo. En la realidad un "router" es capaz de procesar un datagrama en menos de 1 segundo; por ello restará uno de este campo y el TTL se convierte más en una cuenta de saltos que en una métrica del tiempo. Cuando el valor alcanza cero, se asume que este datagrama ha estado viajando en un bucle y se desecha. El valor inicial lo debería fijar el protocolo de alto nivel que crea el datagrama.
- Protocol
- indica el número oficial del protocolo de alto nivel al que IP debería entregar los datos del datagrama. Algunos valores importantes se muestran en la Tabla
Protocolo Número Reservado 0 ICMP 1 IGMP 2 IP encapsulado 4 TCP 6 UDP 17 OSPF 89
No hay comentarios:
Publicar un comentario