Internet Protocol (IP)

El Protocolo de Internet (IP) es un protocolo de comunicación utilizado entre todas las máquinas en red para el envío de datos. Tanto en el modelo TCP/IP como en el modelo OSI, el importante protocolo de Internet IP se encuentra en la capa denominada capa de red.

Operación

Datos en una red IP que se envían en bloques denominados archivos (los términos son básicamente sinónimos en IP y se utilizan para datos en diferentes ubicaciones en las capas IP). En particular, en IP no se necesita definición antes de que el nodo intente enviar archivos a un nodo con el que no se ha comunicado previamente.

IP proporciona un servicio de datagramas (paquetes) no confiable (también llamado mejor esfuerzo); es decir, el paquete viene casi sin garantías. El paquete puede llegar desordenado (en comparación con otros paquetes enviados entre los mismos nodos), también puede llegar por duplicado o puede perderse por completo. Si la aplicación requiere mayor confiabilidad, se agrega en la capa de transporte.

Los enrutadores se utilizan para reenviar datagramas IP a través de redes interconectadas en la segunda capa. La falta de garantía de entrega hace que el diseño del intercambio de paquetes se simplifique. (Tenga en cuenta que si la red cae, reordena o daña una gran cantidad de paquetes, el rendimiento observado por el usuario será deficiente, por lo que la mayoría de los elementos de la red se esfuerzan por no hacer este tipo de cosas; mejor esfuerzo. Sin embargo, una vez error no tendrá ningún efecto perceptible.)

IP es el elemento común que se encuentra en la Internet pública actual. Se describe en IETF RFC 791, que se publicó por primera vez en septiembre de 1981. Este documento describe el protocolo de capa de red más popular actualmente en uso. Esta versión del protocolo se denomina versión 4 o IPv4. IPv6 tiene direccionamiento de origen y destino de 128 bits, lo que ofrece más direccionamiento que los 32 bits de IPv4.

Formato de encabezado IPv4

Versión: el primer campo de encabezado de un datagrama IPv4 es el campo de versión, con cuatro bits.
Tamaño del encabezado (IHL): el segundo campo de cuatro bits es el IHL (acrónimo de Longitud del encabezado de Internet) en número de palabras de 32 bits (4 bytes) del encabezado IPv4. Como el encabezado de IPv4 proporciona el campo de OPCIONES que se puede utilizar para ampliar el encabezado de IP, el campo IHL esencialmente especifica dónde termina exactamente el encabezado y comienzan los datos del datagrama de IPv4. Un encabezado IPv4 mínimo tiene veinte bytes, por lo que el valor decimal mínimo en el campo IHL sería cinco, de la siguiente manera:

  • Tipo de servicio (ToS)  : en RFC 791, los siguientes ocho bits se asignan a un campo Tipo de servicio (ToS), ahora DiffServ y ECN. La intención original era que un nodo especificara una preferencia sobre cómo se podrían manejar los datagramas a medida que viajan a través de la red. Por ejemplo, un nodo puede configurar su campo de valores ToS de datagramas IPv4 para preferir un retraso de tiempo pequeño, mientras que otros pueden preferir una alta confiabilidad. En la práctica, el campo ToS no ha sido ampliamente implementado. Sin embargo, el trabajo experimental, de investigación y desarrollo se ha centrado en cómo hacer uso de estos ocho bits. Estos bits se han restablecido y más recientemente a través del grupo de trabajo DiffServ en el IETF y por los puntos de código de Notificación de congestión explícita (ECN) (RFC 3168).
  • Longitud (paquete)  : el siguiente campo IPv4 de dieciséis bits define la longitud total del datagrama, incluidos el encabezado y los datos, en bytes de ocho bits. El tamaño mínimo del datagrama es de veinte bytes y el máximo de 64 Kb. El tamaño máximo de datagrama que cualquier nodo requiere para poder manejar es de 576 bytes, pero los nodos más modernos manejan paquetes mucho más grandes. A veces las subredes imponen restricciones de tamaño, en cada caso los datagramas tienen que ser “fragmentados”. La fragmentación se maneja tanto en el nodo como en el conmutador de paquetes en IPv4, y solo en el nodo en el caso de IPv6.
  • Identificador  : el siguiente campo de dieciséis bits es un campo de identificación. Este campo se utiliza principalmente para identificar fragmentos de identificación del datagrama IP original. Algunos trabajos experimentales sugieren usar el campo IP para otros fines, como agregar paquetes para transportar la información al datagrama, de una manera que ayude a buscar datagramas hacia atrás con direcciones de origen falsificadas.
  • Banderas  : el siguiente campo de tres bits se utiliza para controlar o identificar fragmentos.
  • Desplazamiento  : el campo de  desplazamiento del fragmento  tiene una longitud de trece bits y permite que un receptor determine la ubicación de un fragmento particular en el datagrama IP original.
  • Tiempo de vida (TTL)  : un campo de ocho bits, TTL (  tiempo  de vida) ayuda a evitar que los datagramas persistan (es decir, se ejecuten en círculos) en una red. Históricamente, el campo TTL limita la vida de un datagrama a segundos, pero se ha convertido en un campo para contar los nodos recorridos. Cada conmutador de paquetes que atraviesa un datagrama reduce el campo TTL en un valor. Cuando el campo TTL llega a cero, el paquete no es seguido por un conmutador de paquetes y se descarta.
  • Protocolo  : sigue un campo de protocolo de ocho bits que define el siguiente protocolo utilizado en una porción de datos de un datagrama IP. La Autoridad de Números Asignados de Internet mantiene una lista de números de protocolo. Los protocolos comunes y sus valores decimales incluyen ICMP (1), TCP (6).
  • Suma de verificación  : el siguiente campo es un campo de suma de verificación para el encabezado del datagrama IPv4. Un paquete en tránsito es cambiado por cada conmutador que atraviesa. Uno de estos conmutadores puede comprometer el paquete y la comprobación es una forma sencilla de detectar la coherencia del encabezado. Este valor se ajusta sobre la marcha y se comprueba en cada nuevo nodo. Solo implica verificar el encabezado (no los datos).
  • Dirección de origen/Dirección de destino  : después del campo de verificación, siguen las direcciones de origen y destino, cada una de 32 bits de longitud. Tenga en cuenta que las direcciones IPv6 de origen y destino son de 128 bits cada una.
  • Opciones  : los campos de encabezado adicionales pueden seguir al campo de dirección de destino, pero normalmente no se usan. Los campos de opción pueden ir seguidos de un campo de ruta que garantiza que los datos del usuario estén alineados en un límite de palabra de 32 bits. (En IPv6, las opciones se mueven fuera del encabezado estándar y se especifican en el  campo Siguiente protocolo  , similar a la función del campo «Protocolo» en IPv4).

Los siguientes son tres ejemplos de opciones que se implementan y admiten en la mayoría de los enrutadores:

  • Seguridad (especifica el nivel de seguridad del datagrama (utilizado en aplicaciones militares));
  • Marca de tiempo (hace que cada enrutador agregue su dirección y marca de tiempo (32 bits), que sirve para depurar algoritmos de enrutamiento); y
  • Grabar ruta (hace que cada enrutador agregue su dirección).

Direccionamiento y reenvío IPv4 [  editar  | editar código fuente  ]

Quizás los aspectos más complejos de IP son el direccionamiento y el reenvío. El direccionamiento define cómo se asignan las direcciones IP de los nodos finales y cómo se dividen y agrupan las subredes de las direcciones IP de los nodos. El reenvío de IP lo realizan todos los nodos, pero más comúnmente los enrutadores de red, que generalmente usan los protocolos IGP o EGP para ayudar a leer datagramas de IP que reenvían decisiones a través de IP en redes vinculadas.

En Internet, y en las redes privadas que vemos hoy en las empresas o incluso en los hogares, el protocolo de comunicación que utilizan las computadoras se llama IP, acrónimo de Protocolo de Internet. Creado a fines de la década de 1970, el protocolo IP tiene como “misión” no solo hacer “hablar” a dos computadoras, sino también permitir la interconexión de dos o más redes separadas. Con muy pocas excepciones, prácticamente todas las redes del mundo terminaron, de una forma u otra, estando conectadas entre sí y fue esta comunión de redes la que terminó formando lo que hoy conocemos como internet (nombre que, en portugués , se puede traducir como “inter-redes” o “redes interconectadas”).

El protocolo IP tiene un esquema de direccionamiento similar a los números de teléfono. Así como cualquier teléfono en el mundo es único (considerando el código de área y el código de país), cada computadora conectada a Internet tiene un número único, que se llama dirección IP o número de IP. Este número se utiliza para identificar la computadora en Internet. Si necesita chatear con alguien a través de Internet, simplemente envíe mensajes dirigidos a la dirección IP de la computadora de la persona.

Para que un correo electrónico de Alice salga de su computadora y llegue a la computadora de Beto, por ejemplo, los datos (en este caso, el texto del correo electrónico) deben dividirse en pequeños paquetes (llamados paquetes IP) que están marcados dentro de la dirección IP de origen. (es decir, el número único de la computadora de Alice) y la IP de destino (el número único de la computadora de Beto). Internet «da la vuelta» para encontrar su camino entre Alice y Bob, sin que ninguno de los dos tenga que preocuparse por ello.

Sin embargo, el protocolo IP en su versión actual (versión cuatro, etiquetada como IPv4) ya es bastante antiguo y tiene muchos problemas. Los más graves son los fallos de seguridad, que se descubren periódicamente y no tienen solución. La mayoría de los ataques contra computadoras en Internet hoy en día solo son posibles debido a fallas en el protocolo IP. La nueva generación del protocolo IP, IPv6, resuelve la mayoría de los problemas de seguridad de Internet en la actualidad, heredados del anticuado proyecto IPv4.

Pero IPv4 tiene un problema aún más apremiante que su inseguridad inherente: ya ha agotado su escalabilidad. Cada computadora conectada a Internet, ya sea una computadora personal, una estación de trabajo o un servidor que aloja un sitio web, necesita una dirección única que la identifique en la red. IPv4 define, entre otras cosas importantes para la comunicación entre computadoras, que el número de IP tenga una extensión de 32 bits. Con 32 bits, IPv4 teóricamente tiene alrededor de cuatro mil millones de direcciones IP disponibles, pero en la práctica, lo que realmente está disponible es menos de la mitad. Si contamos que el planeta tiene seis mil millones de habitantes y que cada dispositivo conectado a internet (que incluye smartphones, PC, notebooks y similares) necesita un número propio, es fácil ver que la cuenta no cierra. Este número, al ser finito, termina un día.

Además de eso, las direcciones IP están «bloqueadas» geográficamente. Dos direcciones cercanas están necesariamente en la misma ciudad o región. Teniendo en cuenta que aproximadamente las tres cuartas partes de las direcciones IP disponibles para Internet se encuentran en los Estados Unidos (incluso si nunca se usan), quedan poco más de mil millones de direcciones para el resto del mundo, lo que aumenta aún más el problema de escasez.

La entrada de los smartphones y otros dispositivos móviles (que son baratos y muy populares) en Internet ha contribuido a que el número de direcciones IP disponibles sea aún más escaso. De hecho, algunas predicciones pesimistas decían que las direcciones IP se agotarían por completo en 2012, convirtiendo Internet en un verdadero caos.

La llegada de IPv6, con 128 bits, solucionaría todos estos problemas. En primer lugar, porque elimina prácticamente todos los agujeros de seguridad conocidos de IPv4, lo que hace que las comunicaciones sean mucho más seguras. Es probable que IPv6 sea un gran dolor de cabeza para los piratas informáticos criminales.

En segundo lugar, IPv6 define 128 bits para el direccionamiento y, por lo tanto, tiene aproximadamente 3,4 × 10^38 direcciones disponibles (o 340 seguidas de 36 ceros). Para aquellos que no quieran hacer cálculos, solo sepan que hay muchos miles de millones de cuatrillones de direcciones disponibles, lo que garantiza que no habrá escasez de números de IP para humanos durante milenios.

Según el borrador inicial de un documento propuesto por el IETF – Grupo de Trabajo de Ingeniería de Internet, el organismo responsable del desarrollo tecnológico de Internet, la migración de IPv4 a IPv6 debería haber comenzado en algún momento entre 2009 y 2010, con la migración completa al final. de 2011. El cronograma aún se retrasa debido a los diversos problemas de la conversión completa. Google, yahoo! y Facebook ya están comenzando a adoptar IPv6.

Deja un comentario