Protocolo de Internet

Protocolo de comunicación que permite conexiones entre redes.
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 función de entregar paquetes desde el host de origen al host de destino basándose únicamente en las direcciones IP de los encabezados de los paquetes . Para ello, 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 del 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 ello, el conjunto de protocolos de Internet se conoce a menudo 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]

Función

Encapsulación de datos de aplicación transportados por UDP a una trama de protocolo de enlace

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]

Métodos de direccionamiento

Esquemas de enrutamiento
Unidifusión

Transmisión

Multidifusión

Anycast

Hay cuatro métodos de direccionamiento principales en el Protocolo de Internet:

  • Unicast entrega un mensaje a un solo nodo específico mediante una asociación uno a uno entre un remitente y un destino: cada dirección de destino identifica de forma única un único punto final receptor.
  • La transmisión envía un mensaje a todos los nodos de la red mediante una asociación de uno a todos ; un único datagrama (o paquete ) de un remitente se enruta a todos los puntos finales, posiblemente múltiples, asociados con la dirección de transmisión . La red replica automáticamente los datagramas según sea necesario para llegar a todos los destinatarios dentro del alcance de la transmisión, que generalmente es una subred de red completa .
  • La multidifusión envía un mensaje a un grupo de nodos que han expresado interés en recibirlo mediante una asociación de uno a muchos de muchos o de muchos a muchos de muchos ; los datagramas se enrutan simultáneamente en una única transmisión a muchos destinatarios. La multidifusión se diferencia de la difusión en que la dirección de destino designa un subconjunto, no necesariamente todos, de los nodos accesibles.
  • Anycast entrega un mensaje a cualquiera de un grupo de nodos, normalmente el más cercano a la fuente mediante una asociación de uno a uno de muchos [4], en la que los datagramas se enrutan a cualquier miembro de un grupo de receptores potenciales que están todos identificados por la misma dirección de destino. El algoritmo de enrutamiento selecciona el único receptor del grupo en función de cuál es el más cercano según alguna medida de distancia o costo.

Historial de versiones

Cronología del desarrollo del protocolo de control de transmisión TCP y del protocolo de Internet IP
Primera demostración de Internet, que unió ARPANET , PRNET y SATNET el 22 de noviembre de 1977

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]

  • IEN 2 Comentarios sobre el Protocolo Internet y TCP ( agosto de 1977) describe la necesidad de separar las funcionalidades de TCP y del Protocolo Internet (que anteriormente estaban combinadas). Propone la primera versión del encabezado IP, utilizando 0 para el campo de versión.
  • IEN 26 Un nuevo formato de encabezado de Internet propuesto ( febrero de 1978) describe una versión del encabezado IP que utiliza un campo de versión de 1 bit.
  • El borrador de la descripción del protocolo de interconexión de redes IEN 28 versión 2 ( febrero de 1978) describe IPv2.
  • La especificación del protocolo de interconexión de redes IEN 41 versión 4 ( junio de 1978) describe el primer protocolo que se denominó IPv4. El encabezado IP es diferente del encabezado IPv4 moderno.
  • IEN 44 Últimos formatos de encabezado ( junio de 1978) describe otra versión de IPv4, también con un encabezado diferente del encabezado IPv4 moderno.
  • La especificación del protocolo de interconexión de redes IEN 54 versión 4 ( septiembre de 1978) es la primera descripción de IPv4 que utiliza el encabezado que se estandarizaría en 1980 como RFC  760.
  • IEN 80
  • IEN 111
  • IEN 123
  • IEN 128/RFC 760 (1980)

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.

Fiabilidad

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 los datagramas de gran tamaño. [21]

Seguridad

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]

Véase también

Referencias

  1. ^ La economía de la transición al protocolo de Internet versión 6 (IPv6) (informe). Documentos de la OCDE sobre la economía digital. OCDE. 2014-11-06. doi : 10.1787/5jxt46d07bhc-en . Archivado desde el original el 2021-03-07 . Consultado el 2020-12-04 .
  2. ^ Charles M. Kozierok, The TCP/IP Guide, archivado desde el original el 20 de junio de 2019 , consultado el 22 de julio de 2017
  3. ^ "Tecnologías de propiedad intelectual y migración — EITC". www.eitc.org . Archivado desde el original el 2021-01-05 . Consultado el 2020-12-04 .
  4. ^ Goścień, Róża; Walkowiak, Krzysztof; Klinkowski, Mirosław (14 de marzo de 2015). "Algoritmo de búsqueda tabú para enrutamiento, modulación y asignación de espectro en red óptica elástica con tráfico anycast y unicast". Redes de Computadoras . 79 : 148-165. doi :10.1016/j.comnet.2014.12.004. ISSN  1389-1286.
  5. ^ Cerf, V.; Kahn, R. (1974). "Un protocolo para la intercomunicación de redes de paquetes" (PDF) . IEEE Transactions on Communications . 22 (5): 637–648. doi :10.1109/TCOM.1974.1092259. ISSN  1558-0857. Archivado (PDF) desde el original el 2017-01-06 . Consultado el 2020-04-06 . Los autores desean agradecer a varios colegas por sus útiles comentarios durante las primeras discusiones sobre los protocolos de red 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.
  6. ^ "Índice de notas sobre experimentos de Internet". www.rfc-editor.org . Consultado el 21 de enero de 2024 .
  7. ^ de Stephen Coty (11 de febrero de 2011). "¿Dónde están IPv1, 2, 3 y 5?". Archivado desde el original el 2 de agosto de 2020. Consultado el 25 de marzo de 2020 .
  8. ^ Postel, Jonathan B. (febrero de 1978). "Borrador de la especificación del protocolo de interconexión de redes versión 2" (PDF) . Editor de RFC . IEN 28 . Consultado el 6 de octubre de 2022 .Archivado el 16 de mayo de 2019 en Wayback Machine.
  9. ^ Postel, Jonathan B. (junio de 1978). "Internetwork Protocol Specification Version 4" (PDF) . Editor de RFC . IEN 41. Consultado el 11 de febrero de 2024 .Archivado el 16 de mayo de 2019 en Wayback Machine.
  10. ^ Strowes, Stephen (4 de junio de 2021). "Adopción de IPv6 en 2021". RIPE Labs . Archivado desde el original el 20 de septiembre de 2021. Consultado el 20 de septiembre de 2021 .
  11. ^ "IPv6". Google . Archivado desde el original el 14 de julio de 2020 . Consultado el 19 de mayo de 2023 .
  12. ^ Mulligan, Geoff. "Casi era IPv7". O'Reilly . Archivado desde el original el 5 de julio de 2015. Consultado el 4 de julio de 2015 .
  13. ^ "Números de versión de IP". Autoridad de Números Asignados de Internet . Archivado desde el original el 18 de enero de 2019. Consultado el 25 de julio de 2019 .
  14. ^ RFC  1606: Una perspectiva histórica sobre el uso de IP versión 9. 1 de abril de 1994.
  15. ^ Ross Callon (junio de 1992). TCP y UDP con direcciones más grandes (TUBA), una propuesta simple para el direccionamiento y enrutamiento de Internet. doi : 10.17487/RFC1347 . RFC 1347.
  16. ^ RFC  1726 sección 6.2
  17. ^ RFC  2460
  18. ^ Rishabh, Anand (2012). Comunicación inalámbrica. S. Chand Publishing. ISBN 978-81-219-4055-9Archivado desde el original el 12 de junio de 2024. Consultado el 11 de diciembre de 2020 .
  19. ^ Siyan, Karanjit. El TCP/IP desde dentro , New Riders Publishing, 1997. ISBN 1-56205-714-6 
  20. ^ Bill Cerveny (25 de julio de 2011). «Fragmentación de IPv6». Arbor Networks . Archivado desde el original el 16 de septiembre de 2016. Consultado el 10 de septiembre de 2016 .
  21. ^ Parker, Don (2 de noviembre de 2010). «Basic Journey of a Packet». Symantec . Archivado desde el original el 20 de enero de 2022 . Consultado el 4 de mayo de 2014 .
  22. ^ Fernando Gont (julio de 2008), Evaluación de seguridad del protocolo de Internet (PDF) , CPNI , archivado desde el original (PDF) el 11 de febrero de 2010
  23. ^ F. Gont (julio de 2011). Evaluación de seguridad del protocolo de Internet versión 4. doi : 10.17487/RFC6274 . RFC 6274.
  • Manfred Lindner. "Tecnología IP" (PDF) . Consultado el 11 de febrero de 2018 .
  • Manfred Lindner. "Enrutamiento IP" (PDF) . Consultado el 11 de febrero de 2018 .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Internet_Protocol&oldid=1248209398"