sábado, 25 de octubre de 2008

La función del protocolo IP

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)
Datos

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 redMTU (en bytes)
Arpanet1000
Ethernet1500
FDDI4470

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 DFNo 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 MFMá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.

Más información

Para obtener más información sobre el protocolo ICMP, consulte la RFC (petición de comentarios) 791, que explica el protocolo IP en detalle:

3 comentarios:

Unknown dijo...

este es mi blog danicompucenter.9f.com


odalis cruz

Unknown dijo...

este es mi blog riosanjuangrigri.com.9f.com

Unknown dijo...

mi blog es
tresceiba.com.9f.com