La función del protocolo IP
El protocolo IP es parte de la capa de Internet del conjunto
de protocolos TCP/IP. Es uno de los protocolos de Internet más importantes ya
que permite el desarrollo y transporte de datagramas de IP (paquetes de datos),
aunque sin garantizar su "entrega". En realidad, el protocolo IP
procesa datagramas de IP de manera independiente al definir su representación,
ruta y envío.
El protocolo IP determina el destinatario del mensaje
mediante 3 campos:
• el campo
de dirección IP: Dirección del equipo;
• el campo
de máscara de subred: una máscara de subred le permite al protocolo IP
establecer la parte de la dirección IP que se relaciona con la red;
• el campo
de pasarela predeterminada: le permite al protocolo de Internet saber a qué
equipo enviar un datagrama, si el equipo de destino no se encuentra en la red
de área local.
Datagramas
Los datos circulan en Internet en forma de datagramas
(también conocidos como paquetes). Los datagramas son datos encapsulados, es
decir, datos a los que se les agrega un encabezado que contiene información sobre
su transporte (como la dirección IP de destino).
Los routers analizan (y eventualmente modifican) los datos
contenidos en un datagrama para que puedan transitar.
A continuación se indica cómo se ve un datagrama:
<--
|
32 bits
|
-->
|
Versión
(4 bits) |
Longitud del encabezado
(4 bits) |
Tipo de servicio
(8 bits) |
Longitud total
(16 bits) |
|
Identificación
(16 bits) |
Indicador
(3 bits) |
Margen del fragmento
(13 bits) |
||
Tiempo de vida
(8 bits) |
Protocolo
(8 bits) |
Suma de comprobación del encabezado
(16 bits) |
||
Dirección IP de origen (32 bits)
|
||||
Dirección IP de destino (32 bits)
|
A continuación se indican los significados de los diferentes
campos:
• Versión
(4 bits): es la versión del protocolo IP que se está utilizando (actualmente se
utiliza la versión 4 IPv4) para verificar la validez del datagrama. Está
codificado en 4 bits.
• Longitud
del encabezado o IHL por Internet Header Length (Longitud del encabezado de
Internet) (4 bits): es la cantidad de palabras de 32 bits que componen el
encabezado (Importante: el valor mínimo es 5). Este campo está codificado en 4
bits.
• Tipo de
servicio (8 bits): indica la forma en la que se debe procesar el datagrama.
• Longitud
total (16 bits): indica el tamaño total del datagrama en bytes. El tamaño de
este campo es de 2 bytes, por lo tanto el tamaño total del datagrama no puede
exceder los 65536 bytes. Si se lo utiliza junto con el tamaño del encabezado,
este campo permite determinar dónde se encuentran los datos.
• Identificación,
indicadores y margen del fragmento son campos que permiten la fragmentación de
datagramas. Esto se explica a continuación.
• TTL o
Tiempo de vida (8 bits): este campo especifica el número máximo de routers por
los que puede pasar un datagrama. Por lo tanto, este campo disminuye con cada
paso por un router y cuando alcanza el valor crítico de 0, el router destruye
el datagrama. Esto evita que la red se sobrecargue de datagramas perdidos.
• Protocolo
(8 bits): este campo, en notación decimal, permite saber de qué protocolo
proviene el datagrama.
• ICMP 1
• IGMP: 2
• TCP: 6
• UDP: 17
• Suma de
comprobación del encabezado (16 bits): este campo contiene un valor codificado
en 16 bits que permite controlar la integridad del encabezado para establecer
si se ha modificado durante la transmisión. La suma de comprobación es la suma
de todas las palabras de 16 bits del encabezado (se excluye el campo suma de
comprobación). Esto se realiza de tal modo que cuando se suman los campos de
encabezado (suma de comprobación inclusive), se obtenga un número con todos los
bits en 1.
• Dirección
IP de origen (32 bits): Este campo representa la dirección IP del equipo
remitente y permite que el destinatario responda.
• Dirección
IP de destino (32 bits): dirección IP del destinatario del mensaje.
Fragmentación de datagramas de IP
Como se ha visto anteriormente, el tamaño máximo de un
datagrama es de 65536 bytes. Sin embargo, este valor nunca es alcanzado porque
las redes no tienen suficiente capacidad para enviar paquetes tan grandes.
Además, las redes en Internet utilizan diferentes tecnologías por lo tanto el
tamaño máximo de un datagrama varía según el tipo de red.
El tamaño máximo de una trama se denomina MTU (Unidad de
transmisión máxima). El datagrama se fragmentará si es más grande que la MTU de
la red.
Tipo de red MTU
(en bytes)
Arpanet 1000
Ethernet 1500
FDDI 4470
La fragmentación del datagrama se lleva a cabo a nivel de
router, es decir, durante la transición de una red con una MTU grande a una red
con una MTU más pequeña. Si el datagrama es demasiado grande para pasar por la
red, el router lo fragmentará, es decir, lo dividirá en fragmentos más pequeños
que la MTU de la red, de manera tal que el tamaño del fragmento sea un múltiplo
de 8 bytes.
El router enviará estos fragmentos de manera independiente y
los volverá a encapsular (agregar un encabezado a cada fragmento) para tener en
cuenta el nuevo tamaño del fragmento. Además, el router agrega información para
que el equipo receptor pueda rearmar los fragmentos en el orden correcto. Sin embargo,
no hay nada que indique que los fragmentos llegarán en el orden correcto, ya
que se enrutan de manera independiente.
Para tener en cuenta la fragmentación, cada datagrama cuenta
con diversos campos que permiten su rearmado:
• campo
Margen del fragmento (13 bits): campo que brinda la posición del comienzo del
fragmento en el datagrama inicial. La unidad de medida para este campo es 8
bytes (el primer fragmento tiene un valor cero);
• campo
Identificación (16 bits): número asignado a cada fragmento para permitir el
rearmado;
• campo
Longitud total (16 bits): esto se vuelve a calcular para cada fragmento;
• campo
Indicador (3 bits): está compuesto de tres bits:
• El
primero no se utiliza.
• El
segundo (denominado DF: No fragmentar) indica si se puede fragmentar el
datagrama o no. Si el datagrama tiene este bit en uno y el router no puede
enrutarlo sin fragmentarlo, el datagrama se rechaza con un mensaje de error.
• El
tercero (denominado MF: Más fragmentos) indica si el datagrama es un fragmento
de datos (1). Si el indicador se encuentra en cero, esto indica que el
fragmento es el último (entonces el router ya debe contar con todos los
fragmentos anteriores) o que el datagrama no se ha fragmentado.
Enrutamiento IP
El enrutamiento IP es una parte integral de la capa de
Internet del conjunto TCP/IP. El enrutamiento consiste en asegurar el
enrutamiento de un datagrama de IP a través de la red por la ruta más corta. A
esta función la llevan a cabo los equipos denominados routers, es decir,
equipos que conectan al menos dos redes.
0 comentarios :
Publicar un comentario