Conjunto de protocolos de Internet |
---|
Capa de aplicación |
Capa de transporte |
Capa de Internet |
Capa de enlace |
Cronología de la historia de Internet |
Investigación y desarrollo tempranos:
Fusionando las redes y creando Internet:
La comercialización, la privatización y el acceso más amplio conducen a la Internet moderna:
Ejemplos de servicios de Internet:
|
El Protocolo de Internet ( IP ) es el protocolo de comunicaciones de la capa de red del conjunto de protocolos de Internet para transmitir datagramas a través de los límites de la red. Su función de enrutamiento permite la interconexión de redes y, esencialmente, establece Internet .
El protocolo IP tiene la tarea de entregar paquetes desde el host de origen al host de destino basándose únicamente en las direcciones IP en los encabezados de los paquetes . Para este propósito, IP define estructuras de paquetes que encapsulan los datos que se van a entregar. También define métodos de direccionamiento que se utilizan para etiquetar el datagrama con información de origen y destino. IP fue el servicio de datagramas sin conexión en el Programa de Control de Transmisión original introducido por Vint Cerf y Bob Kahn en 1974, que se complementó con un servicio orientado a la conexión que se convirtió en la base del Protocolo de Control de Transmisión (TCP). Por lo tanto, el conjunto de protocolos de Internet a menudo se conoce como TCP/IP .
La primera versión importante de IP, el Protocolo de Internet versión 4 (IPv4), es el protocolo dominante en Internet. Su sucesor es el Protocolo de Internet versión 6 (IPv6), que se ha ido implementando cada vez más en la Internet pública desde aproximadamente 2006. [1]
El Protocolo de Internet es responsable de direccionar las interfaces de host , encapsular datos en datagramas (incluyendo fragmentación y reensamblaje ) y enrutar datagramas desde una interfaz de host de origen a una interfaz de host de destino a través de una o más redes IP. [2] Para estos fines, el Protocolo de Internet define el formato de los paquetes y proporciona un sistema de direccionamiento.
Cada datagrama tiene dos componentes: un encabezado y una carga útil . El encabezado IP incluye una dirección IP de origen, una dirección IP de destino y otros metadatos necesarios para enrutar y entregar el datagrama. La carga útil son los datos que se transportan. Este método de anidar la carga útil de datos en un paquete con un encabezado se denomina encapsulación.
El direccionamiento IP implica la asignación de direcciones IP y parámetros asociados a las interfaces del host. El espacio de direcciones se divide en subredes , lo que implica la designación de prefijos de red. El enrutamiento IP lo realizan todos los hosts, así como los enrutadores , cuya función principal es transportar paquetes a través de los límites de la red. Los enrutadores se comunican entre sí a través de protocolos de enrutamiento especialmente diseñados , ya sean protocolos de puerta de enlace interior o protocolos de puerta de enlace exterior , según sea necesario para la topología de la red. [3]
Esquemas de enrutamiento |
---|
Unidifusión |
Transmisión |
Multidifusión |
Anycast |
Hay cuatro métodos de direccionamiento principales en el Protocolo de Internet:
En mayo de 1974, el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) publicó un artículo titulado "Un protocolo para la intercomunicación de redes de paquetes". [5] Los autores del artículo, Vint Cerf y Bob Kahn , describieron un protocolo de interconexión de redes para compartir recursos mediante conmutación de paquetes entre nodos de red . Un componente de control central de este modelo era el Programa de Control de Transmisión que incorporaba enlaces orientados a la conexión y servicios de datagramas entre hosts. El Programa de Control de Transmisión monolítico se dividió más tarde en una arquitectura modular que constaba del Protocolo de Control de Transmisión y el Protocolo de Datagramas de Usuario en la capa de transporte y el Protocolo de Internet en la capa de Internet . El modelo se conoció como el Modelo de Internet del Departamento de Defensa (DoD) y la suite de protocolos de Internet , e informalmente como TCP/IP .
Los siguientes documentos de Notas experimentales de Internet (IEN) describen la evolución del Protocolo de Internet hasta la versión moderna de IPv4: [6]
Las versiones 1 a 3 de IP eran versiones experimentales, diseñadas entre 1973 y 1978. [7] Las versiones 2 y 3 admitían direcciones de longitud variable que oscilaban entre 1 y 16 octetos (entre 8 y 128 bits). [8] Un borrador inicial de la versión 4 admitía direcciones de longitud variable de hasta 256 octetos (hasta 2048 bits) [9] pero esto se abandonó más tarde a favor de una dirección de tamaño fijo de 32 bits en la versión final de IPv4 . Este sigue siendo el protocolo de interconexión de redes dominante en uso en la capa de Internet ; el número 4 identifica la versión del protocolo, transportado en cada datagrama IP. IPv4 se define en RFC 791 (1981).
La versión número 5 fue utilizada por el Internet Stream Protocol , un protocolo de transmisión experimental que no fue adoptado. [7]
El sucesor de IPv4 es IPv6 . IPv6 fue el resultado de varios años de experimentación y diálogo durante los cuales se propusieron varios modelos de protocolo, como TP/IX ( RFC 1475), PIP ( RFC 1621) y TUBA (TCP y UDP con direcciones más grandes, RFC 1347). Su diferencia más destacada con respecto a la versión 4 es el tamaño de las direcciones. Mientras que IPv4 utiliza 32 bits para el direccionamiento, lo que da un rendimiento de aproximadamente 4.3 mil millones (4,3 × 10 9 ), IPv6 utiliza direcciones de 128 bits que proporcionan c.3,4 × 10 38 direcciones. Aunque la adopción de IPv6 ha sido lenta, a partir de enero de 2023 [update], la mayoría de los países del mundo muestran una adopción significativa de IPv6, [10] con más del 41% del tráfico de Google transportado a través de conexiones IPv6. [11]
La asignación del nuevo protocolo como IPv6 era incierta hasta que la debida diligencia aseguró que IPv6 no se había utilizado anteriormente. [12] A otros protocolos de la capa de Internet se les han asignado números de versión, [13] como 7 ( IP/TX ), 8 y 9 ( histórico ). Cabe destacar que el 1 de abril de 1994, el IETF publicó una broma del Día de los Inocentes sobre IPv9. [14] IPv9 también se utilizó en una expansión alternativa del espacio de direcciones propuesta llamada TUBA. [15] Una propuesta china de 2004 para un protocolo IPv9 parece no estar relacionada con todos estos, y no está respaldada por el IETF.
El diseño del conjunto de protocolos de Internet se adhiere al principio de extremo a extremo , un concepto adaptado del proyecto CYCLADES . Según el principio de extremo a extremo, la infraestructura de red se considera inherentemente poco confiable en cualquier elemento de red o medio de transmisión y es dinámica en términos de disponibilidad de enlaces y nodos. No existe ninguna instalación central de monitoreo o medición del rendimiento que rastree o mantenga el estado de la red. Para reducir la complejidad de la red , la inteligencia de la red se ubica en los nodos finales .
Como consecuencia de este diseño, el Protocolo de Internet solo proporciona una entrega de mejor esfuerzo y su servicio se caracteriza por ser poco confiable . En el lenguaje de la arquitectura de red, es un protocolo sin conexión , en contraste con la comunicación orientada a la conexión . Pueden ocurrir varias condiciones de falla, como corrupción de datos , pérdida de paquetes y duplicación. Debido a que el enrutamiento es dinámico, lo que significa que cada paquete se trata de forma independiente, y debido a que la red no mantiene ningún estado basado en la ruta de los paquetes anteriores, diferentes paquetes pueden enrutarse al mismo destino a través de diferentes rutas, lo que resulta en una entrega fuera de orden al receptor.
Los nodos finales participantes deben detectar y compensar todas las condiciones de falla en la red. Los protocolos de la capa superior del conjunto de protocolos de Internet son responsables de resolver los problemas de confiabilidad. Por ejemplo, un host puede almacenar en búfer los datos de la red para garantizar un orden correcto antes de que se entreguen a una aplicación.
IPv4 ofrece salvaguardas para garantizar que el encabezado de un paquete IP esté libre de errores. Un nodo de enrutamiento descarta los paquetes que no superan una prueba de suma de comprobación del encabezado . Aunque el Protocolo de mensajes de control de Internet (ICMP) proporciona notificación de errores, no es necesario que un nodo de enrutamiento notifique los errores a ninguno de los nodos finales. IPv6, por el contrario, funciona sin sumas de comprobación del encabezado, ya que se supone que la tecnología actual de la capa de enlace proporciona una detección de errores suficiente. [16] [17]
La naturaleza dinámica de Internet y la diversidad de sus componentes no garantizan que una determinada ruta sea realmente capaz o adecuada para realizar la transmisión de datos solicitada. Una de las limitaciones técnicas es el tamaño de los paquetes de datos posibles en un enlace determinado. Existen herramientas para examinar el tamaño máximo de la unidad de transmisión (MTU) del enlace local y Path MTU Discovery se puede utilizar para toda la ruta prevista hasta el destino. [18]
La capa de interconexión de redes IPv4 fragmenta automáticamente un datagrama en unidades más pequeñas para su transmisión cuando se excede la MTU del enlace. IP permite reordenar los fragmentos recibidos fuera de orden. [19] Una red IPv6 no realiza fragmentación en los elementos de red, pero requiere que los hosts finales y los protocolos de capa superior eviten exceder la MTU de la ruta. [20]
El Protocolo de Control de Transmisión (TCP) es un ejemplo de un protocolo que ajusta el tamaño de su segmento para que sea menor que la MTU. El Protocolo de Datagramas de Usuario (UDP) y el ICMP no tienen en cuenta el tamaño de la MTU, lo que obliga a IP a fragmentar datagramas de gran tamaño. [21]
Durante la fase de diseño de ARPANET y de los inicios de Internet, no se pudieron anticipar adecuadamente los aspectos y necesidades de seguridad de una red pública internacional. En consecuencia, muchos protocolos de Internet presentaron vulnerabilidades que se pusieron de manifiesto en los ataques a la red y en las evaluaciones de seguridad posteriores. En 2008, se publicó una evaluación de seguridad exhaustiva y una propuesta de mitigación de los problemas. [22] El IETF ha estado realizando estudios adicionales. [23]
Los autores desean agradecer a varios colegas por sus útiles comentarios durante las primeras discusiones sobre los protocolos de redes internacionales, especialmente a R. Metcalfe, R. Scantlebury, D. Walden y H. Zimmerman; D. Davies y L. Pouzin, quienes comentaron de manera constructiva sobre los problemas de fragmentación y contabilidad; y S. Crocker, quien comentó sobre la creación y destrucción de asociaciones.