stringtranslate.com

Conjunto de protocolos de Internet

El conjunto de protocolos de Internet , comúnmente conocido como TCP/IP , es un marco para organizar el conjunto de protocolos de comunicación utilizados en Internet y redes informáticas similares según criterios funcionales. Los protocolos fundamentales del conjunto son el Protocolo de Control de Transmisión (TCP), el Protocolo de Datagramas de Usuario (UDP) y el Protocolo de Internet (IP). Las primeras versiones de este modelo de red se conocieron como el modelo del Departamento de Defensa ( DoD ) porque la investigación y el desarrollo fueron financiados por el Departamento de Defensa de los Estados Unidos a través de DARPA .

El conjunto de protocolos de Internet proporciona comunicación de datos de extremo a extremo que especifica cómo se deben empaquetar, direccionar, transmitir, enrutar y recibir los datos. Esta funcionalidad está organizada en cuatro capas de abstracción , que clasifican todos los protocolos relacionados según el alcance de red de cada protocolo. [1] [2] Una implementación de las capas para una aplicación particular forma una pila de protocolos . De la más baja a la más alta, las capas son la capa de enlace , que contiene métodos de comunicación para datos que permanecen dentro de un solo segmento de red (enlace); la capa de Internet , que proporciona interconexión de redes entre redes independientes; la capa de transporte , que maneja la comunicación de host a host; y la capa de aplicación , que proporciona intercambio de datos de proceso a proceso para aplicaciones.

Los estándares técnicos que sustentan el conjunto de protocolos de Internet y sus protocolos constituyentes son mantenidos por el Grupo de Trabajo de Ingeniería de Internet (IETF). El conjunto de protocolos de Internet es anterior al modelo OSI , un marco de referencia más completo para los sistemas de redes generales.

Historia

Investigaciones tempranas

Diagrama de la primera conexión interconectada
Una furgoneta de radio por paquetes internacional SRI , utilizada para la primera transmisión interconectada de tres vías

Inicialmente conocido como el Modelo de Arquitectura de Internet del Departamento de Defensa , el conjunto de protocolos de Internet tiene sus raíces en la investigación y el desarrollo patrocinados por la Agencia de Proyectos de Investigación Avanzada de Defensa ( DARPA ) a fines de la década de 1960. [3] Después de que DARPA iniciara la pionera ARPANET en 1969, Steve Crocker estableció un "Grupo de Trabajo de Redes" que desarrolló un protocolo host-host, el Programa de Control de Red (NCP). [4] A principios de la década de 1970, DARPA comenzó a trabajar en varias otras tecnologías de transmisión de datos, incluida la radio móvil por paquetes, el servicio de paquetes por satélite, las redes de área local y otras redes de datos en los dominios público y privado. En 1972, Bob Kahn se unió a la Oficina de Tecnología de Procesamiento de Información de DARPA , donde trabajó tanto en redes de paquetes satelitales como en redes de paquetes de radio terrestres, y reconoció el valor de poder comunicarse a través de ambas. En la primavera de 1973, Vinton Cerf se unió a Kahn con el objetivo de diseñar la próxima generación de protocolos para ARPANET para permitir la interconexión de redes . [5] [6] Se basaron en la experiencia de la comunidad de investigación de ARPANET, el International Network Working Group , que Cerf presidía, y los investigadores de Xerox PARC . [7] [8] [9]

En el verano de 1973, Kahn y Cerf habían elaborado una reformulación fundamental, en la que las diferencias entre los protocolos de redes locales se ocultaban mediante el uso de un protocolo de interconexión de redes común y, en lugar de que la red fuera responsable de la fiabilidad, como en los protocolos ARPANET existentes, esta función se delegaba en los hosts. Cerf atribuye a Louis Pouzin y Hubert Zimmermann , diseñadores de la red CYCLADES , importantes influencias en este diseño. [10] [11] El nuevo protocolo fue implementado como Programa de Control de Transmisión en 1974 por Cerf, Yogen Dalal y Carl Sunshine. [12]

Inicialmente, el Programa de Control de Transmisión (el Protocolo de Internet no existía entonces como protocolo independiente) proporcionaba únicamente un servicio fiable de flujo de bytes a sus usuarios, no datagramas . [13] Se desarrollaron varias versiones a través de la serie Internet Experiment Note . [14] A medida que crecía la experiencia con el protocolo, los colaboradores recomendaron la división de la funcionalidad en capas de protocolos distintos, lo que permitía a los usuarios acceder directamente al servicio de datagramas. Entre los defensores se encontraban Bob Metcalfe y Yogen Dalal de Xerox PARC; [15] [16] Danny Cohen , que lo necesitaba para su trabajo de voz por paquetes ; y Jonathan Postel del Instituto de Ciencias de la Información de la Universidad del Sur de California , que editó la Solicitud de comentarios (RFC), la serie de documentos técnicos y estratégicos que ha documentado y catalizado el desarrollo de Internet. [17] Postel afirmó: "Estamos cometiendo un error en nuestro diseño de protocolos de Internet al violar el principio de capas". [18] La encapsulación de diferentes mecanismos tenía como objetivo crear un entorno en el que las capas superiores pudieran acceder únicamente a lo que necesitaban de las capas inferiores. Un diseño monolítico sería inflexible y daría lugar a problemas de escalabilidad. En la versión 4 , escrita en 1978, Postel dividió el Programa de Control de Transmisión en dos protocolos distintos, el Protocolo de Internet como capa sin conexión y el Protocolo de Control de Transmisión como un servicio confiable orientado a la conexión . [19] [20] [21] [nb 1]

El diseño de la red incluía el reconocimiento de que debía proporcionar únicamente las funciones de transmisión y enrutamiento eficiente del tráfico entre nodos finales y que toda la demás inteligencia debía estar ubicada en el borde de la red, en los nodos finales. Este principio de extremo a extremo fue iniciado por Louis Pouzin en la red CYCLADES, [22] basándose en las ideas de Donald Davies . [23] [24] Utilizando este diseño, se hizo posible conectar otras redes a ARPANET que utilizaban el mismo principio, independientemente de otras características locales, resolviendo así el problema inicial de interconexión de redes de Kahn. Una expresión popular es que TCP/IP, el producto final del trabajo de Cerf y Kahn, puede funcionar sobre "dos latas y una cuerda". [ cita requerida ] Años más tarde, como una broma en 1999, se creó la especificación formal del protocolo IP sobre portadores aviares [25] y se probó con éxito dos años después. 10 años más tarde, se adaptó para IPv6. [26]

DARPA contrató a BBN Technologies , la Universidad de Stanford y el University College de Londres para desarrollar versiones operativas del protocolo en varias plataformas de hardware. [27] Durante el desarrollo del protocolo, el número de versión de la capa de enrutamiento de paquetes progresó de la versión 1 a la versión 4, la última de las cuales se instaló en ARPANET en 1983. Se conoció como Protocolo de Internet versión 4 (IPv4) como el protocolo que todavía se utiliza en Internet, junto con su sucesor actual, el Protocolo de Internet versión 6 (IPv6).

Implementación temprana

En 1975, se realizó una prueba de comunicaciones IP de dos redes entre Stanford y University College London. En noviembre de 1977, se realizó una prueba IP de tres redes entre sitios en los EE. UU., el Reino Unido y Noruega . Se desarrollaron varios otros prototipos IP en varios centros de investigación entre 1978 y 1983. [14]

Un ordenador llamado enrutador tiene una interfaz con cada red y envía paquetes de red entre ellas. [28] Originalmente, un enrutador se llamaba puerta de enlace , pero el término se cambió para evitar confusiones con otros tipos de puertas de enlace . [29]

Adopción

En marzo de 1982, el Departamento de Defensa de los EE. UU. declaró el protocolo TCP/IP como estándar para todas las redes informáticas militares. [30] [31] [32] Ese mismo año, el grupo de investigación NORSAR / NDRE y Peter Kirstein en el University College de Londres adoptó el protocolo. [33] La migración de ARPANET de NCP a TCP/IP se completó oficialmente el 1 de enero de 1983, día de la bandera , cuando los nuevos protocolos se activaron de forma permanente. [30] [34]

En 1985, el Internet Advisory Board (posteriormente Internet Architecture Board ) celebró un taller de tres días sobre TCP/IP para la industria informática, al que asistieron 250 representantes de proveedores, para promover el protocolo y conducir a su creciente uso comercial. En 1985, la primera conferencia sobre interoperabilidad se centró en la interoperabilidad de redes mediante una adopción más amplia de TCP/IP. La conferencia fue fundada por Dan Lynch, uno de los primeros activistas de Internet. Desde el principio, grandes corporaciones, como IBM y DEC, asistieron a la reunión. [35] [36]

IBM, AT&T y DEC fueron las primeras grandes corporaciones en adoptar TCP/IP, a pesar de tener protocolos propietarios en competencia . En IBM, a partir de 1984, el grupo de Barry Appelman se dedicó al desarrollo de TCP/IP. Navegaron por las políticas corporativas para obtener una corriente de productos TCP/IP para varios sistemas de IBM, incluidos MVS , VM y OS/2 . Al mismo tiempo, varias empresas más pequeñas, como FTP Software y Wollongong Group , comenzaron a ofrecer pilas TCP/IP para DOS y Microsoft Windows . [37] La ​​primera pila TCP/IP VM/CMS provino de la Universidad de Wisconsin. [38]

Algunas de las primeras pilas TCP/IP fueron escritas por unos pocos programadores. Jay Elinsky y Oleg Vishnepolsky de IBM Research escribieron pilas TCP/IP para VM/CMS y OS/2, respectivamente. [ cita requerida ] En 1984, Donald Gillies en el MIT escribió un TCP multiconexión ntcp que se ejecuta sobre la capa IP/PacketDriver mantenida por John Romkey en el MIT en 1983-84. Romkey aprovechó este TCP en 1986 cuando se fundó FTP Software. [39] [40] A partir de 1985, Phil Karn creó una aplicación TCP multiconexión para sistemas de radioaficionados (KA9Q TCP). [41]

La difusión del protocolo TCP/IP se vio impulsada aún más en junio de 1989, cuando la Universidad de California en Berkeley acordó poner en el dominio público el código TCP/IP desarrollado para BSD UNIX . Varios proveedores corporativos, incluida IBM, incluyeron este código en versiones comerciales de software TCP/IP. Para Windows 3.1, el sistema operativo de PC dominante entre los consumidores en la primera mitad de la década de 1990, el lanzamiento de Peter Tattam de la pila TCP/IP Trumpet Winsock fue clave para llevar Internet a los usuarios domésticos. Trumpet Winsock permitía operaciones TCP/IP a través de una conexión en serie ( SLIP o PPP ). La PC doméstica típica de la época tenía un módem externo compatible con Hayes conectado a través de un puerto RS-232 con un UART 8250 o 16550 que requería este tipo de pila. Más tarde, Microsoft lanzaría su propia pila complementaria TCP/IP para Windows for Workgroups 3.11 y una pila nativa en Windows 95. Estos eventos ayudaron a consolidar el dominio de TCP/IP sobre otros protocolos en redes basadas en Microsoft, que incluían Systems Network Architecture (SNA) de IBM, y en otras plataformas como DECnet de Digital Equipment Corporation , Open Systems Interconnection (OSI) y Xerox Network Systems (XNS).

Sin embargo, durante un período a finales de los años 1980 y principios de los años 1990, los ingenieros, las organizaciones y las naciones estaban polarizados sobre la cuestión de qué estándar , el modelo OSI o el conjunto de protocolos de Internet, daría como resultado las mejores y más robustas redes informáticas. [42] [43] [44]

Especificaciones formales y normas

Los estándares técnicos que sustentan el conjunto de protocolos de Internet y sus protocolos constituyentes han sido delegados al Grupo de Trabajo de Ingeniería de Internet (IETF). [45] [46]

La arquitectura característica de la suite de protocolos de Internet es su amplia división en ámbitos operativos para los protocolos que constituyen su funcionalidad principal. Las especificaciones que definen la suite son RFC 1122 y 1123, que describen en líneas generales cuatro capas de abstracción (así como los protocolos relacionados): la capa de enlace, la capa IP, la capa de transporte y la capa de aplicación, junto con los protocolos de soporte. [1] [2] Estos han resistido la prueba del tiempo, ya que el IETF nunca ha modificado esta estructura. Como modelo de redes, la suite de protocolos de Internet es anterior al modelo OSI, un marco de referencia más completo para los sistemas de redes generales. [44]

Principios arquitectónicos clave

Flujo de datos conceptual en una topología de red simple de dos hosts (A y B) conectados por un enlace entre sus respectivos enrutadores. La aplicación en cada host ejecuta operaciones de lectura y escritura como si los procesos estuvieran conectados directamente entre sí por algún tipo de canal de datos. Después del establecimiento de este canal, la mayoría de los detalles de la comunicación se ocultan a cada proceso, ya que los principios subyacentes de la comunicación se implementan en las capas inferiores del protocolo. En una analogía de aplicación común, el navegador web del host A aparece conectado directamente al servidor web del host B a través de una sesión HTTP de capa de aplicación identificada por una dirección como una cookie. En la capa de transporte, la comunicación aparece como una comunicación de proceso a proceso, [6] cada proceso direccionado por un número de puerto, sin conocimiento de las estructuras de datos de la aplicación y los enrutadores de conexión. Finalmente, en la capa de interconexión de redes que utiliza el Protocolo de Internet (IP), los paquetes de bytes atraviesan los límites de red individuales a medida que cada enrutador reenvía un paquete hacia su dirección IP de destino.
Encapsulación de datos de aplicación que descienden a través de las capas descritas en RFC 1122

El principio de extremo a extremo ha evolucionado con el tiempo. Su expresión original situaba el mantenimiento del estado y la inteligencia general en los extremos, y suponía que Internet, que conectaba los extremos, no conservaba ningún estado y se concentraba en la velocidad y la simplicidad. Las necesidades reales de cortafuegos, traductores de direcciones de red, cachés de contenido web y similares han obligado a introducir cambios en este principio. [47]

El principio de robustez establece: "En general, una implementación debe ser conservadora en su comportamiento de envío y liberal en su comportamiento de recepción. Es decir, debe tener cuidado de enviar datagramas bien formados, pero debe aceptar cualquier datagrama que pueda interpretar (por ejemplo, no objetar errores técnicos cuyo significado aún esté claro)". [48] : 23  "La segunda parte del principio es casi tan importante: el software en otros hosts puede contener deficiencias que hagan que no sea prudente explotar características legales pero oscuras del protocolo". [1] : 13 

La encapsulación se utiliza para proporcionar abstracción de protocolos y servicios. La encapsulación suele estar alineada con la división del conjunto de protocolos en capas de funcionalidad general. En general, una aplicación (el nivel más alto del modelo) utiliza un conjunto de protocolos para enviar sus datos a través de las capas. Los datos se encapsulan aún más en cada nivel.

Un par de documentos arquitectónicos tempranos, RFC  1122 y 1123, titulados Requisitos para hosts de Internet , enfatiza los principios arquitectónicos sobre la superposición de capas. [49] RFC 1122/23 están estructurados en secciones que hacen referencia a capas, pero los documentos hacen referencia a muchos otros principios arquitectónicos y no enfatizan la superposición de capas. Definen vagamente un modelo de cuatro capas, en el que las capas tienen nombres, no números, de la siguiente manera: [1] [2]

Capa de enlace

Los protocolos de la capa de enlace operan dentro del ámbito de la conexión de red local a la que está conectado un host. Este régimen se denomina enlace en la jerga TCP/IP y es la capa de componente más baja del conjunto. El enlace incluye todos los hosts accesibles sin atravesar un enrutador. Por lo tanto, el tamaño del enlace está determinado por el diseño del hardware de red. En principio, TCP/IP está diseñado para ser independiente del hardware y puede implementarse sobre prácticamente cualquier tecnología de capa de enlace. Esto incluye no solo implementaciones de hardware sino también capas de enlace virtuales, como redes privadas virtuales y túneles de red .

La capa de enlace se utiliza para mover paquetes entre las interfaces de la capa de Internet de dos hosts diferentes en el mismo enlace. Los procesos de transmisión y recepción de paquetes en el enlace se pueden controlar en el controlador de dispositivo de la tarjeta de red , así como en el firmware o mediante chipsets especializados . Estos realizan funciones, como la creación de tramas, para preparar los paquetes de la capa de Internet para su transmisión y, finalmente, transmitir las tramas a la capa física y a través de un medio de transmisión . El modelo TCP/IP incluye especificaciones para traducir los métodos de direccionamiento de red utilizados en el Protocolo de Internet a direcciones de capa de enlace, como direcciones de control de acceso al medio (MAC). Sin embargo, se supone implícitamente que existen todos los demás aspectos por debajo de ese nivel y no están definidos explícitamente en el modelo TCP/IP.

La capa de enlace en el modelo TCP/IP tiene funciones correspondientes en la capa 2 del modelo OSI.

Capa de Internet

La interconexión de redes requiere el envío de datos desde la red de origen a la red de destino. Este proceso se denomina enrutamiento y se apoya en el direccionamiento e identificación de host mediante el sistema de direccionamiento IP jerárquico . La capa de Internet proporciona una facilidad de transmisión de datagramas no confiable entre hosts ubicados en redes IP potencialmente diferentes mediante el reenvío de datagramas a un enrutador de siguiente salto adecuado para su posterior retransmisión a su destino. La capa de Internet tiene la responsabilidad de enviar paquetes a través de redes potencialmente múltiples. Con esta funcionalidad, la capa de Internet hace posible la interconexión de redes, la interconexión de diferentes redes IP, y esencialmente establece Internet.

La capa de Internet no distingue entre los distintos protocolos de la capa de transporte. IP transporta datos para una variedad de protocolos de capa superior diferentes . Cada uno de estos protocolos se identifica mediante un número de protocolo único : por ejemplo, el Protocolo de mensajes de control de Internet (ICMP) y el Protocolo de administración de grupos de Internet (IGMP) son los protocolos 1 y 2, respectivamente.

El Protocolo de Internet es el componente principal de la capa de Internet y define dos sistemas de direccionamiento para identificar los hosts de la red y localizarlos en ella. El sistema de direcciones original de ARPANET y su sucesor, Internet, es el Protocolo de Internet versión 4 (IPv4). Utiliza una dirección IP de 32 bits y, por lo tanto, es capaz de identificar aproximadamente cuatro mil millones de hosts. Esta limitación se eliminó en 1998 con la estandarización del Protocolo de Internet versión 6 (IPv6), que utiliza direcciones de 128 bits. Las implementaciones de producción de IPv6 surgieron aproximadamente en 2006.

Capa de transporte

La capa de transporte establece canales de datos básicos que las aplicaciones utilizan para el intercambio de datos específicos de la tarea. La capa establece la conectividad de host a host en forma de servicios de transferencia de mensajes de extremo a extremo que son independientes de la red subyacente y de la estructura de los datos del usuario y de la logística del intercambio de información. La conectividad en la capa de transporte se puede clasificar como orientada a la conexión , implementada en TCP, o sin conexión , implementada en UDP. Los protocolos de esta capa pueden proporcionar control de errores , segmentación , control de flujo , control de congestión y direccionamiento de aplicaciones ( números de puerto ).

Con el fin de proporcionar canales de transmisión específicos para cada proceso de las aplicaciones, la capa establece el concepto de puerto de red . Se trata de una construcción lógica numerada asignada específicamente para cada uno de los canales de comunicación que necesita una aplicación. Para muchos tipos de servicios, estos números de puerto se han estandarizado de modo que los equipos cliente puedan acceder a servicios específicos de un equipo servidor sin la intervención de servicios de directorio o de descubrimiento de servicios .

Debido a que IP solo proporciona una entrega de máximo esfuerzo , algunos protocolos de capa de transporte ofrecen confiabilidad.

TCP es un protocolo orientado a la conexión que aborda numerosos problemas de confiabilidad al proporcionar un flujo de bytes confiable :

El nuevo protocolo de transmisión de control de flujo (SCTP) también es un mecanismo de transporte fiable y orientado a la conexión. Está orientado al flujo de mensajes, no al flujo de bytes como TCP, y proporciona múltiples flujos multiplexados en una única conexión. También proporciona compatibilidad con múltiples conexiones , en las que un extremo de la conexión puede representarse mediante múltiples direcciones IP (que representan múltiples interfaces físicas), de modo que si una falla, la conexión no se interrumpe. Se desarrolló inicialmente para aplicaciones de telefonía (para transportar SS7 sobre IP).

La confiabilidad también se puede lograr ejecutando IP sobre un protocolo de enlace de datos confiable como el Control de enlace de datos de alto nivel (HDLC).

El Protocolo de datagramas de usuario (UDP) es un protocolo de datagramas sin conexión . Al igual que IP, es un protocolo poco confiable y de máximo esfuerzo. La confiabilidad se logra mediante la detección de errores mediante un algoritmo de suma de comprobación. El UDP se utiliza normalmente para aplicaciones como la transmisión de medios (audio, video, voz sobre IP , etc.) donde la llegada a tiempo es más importante que la confiabilidad, o para aplicaciones simples de consulta/respuesta como búsquedas de DNS , donde la sobrecarga de configurar una conexión confiable es desproporcionadamente grande. El Protocolo de transporte en tiempo real (RTP) es un protocolo de datagramas que se utiliza sobre UDP y está diseñado para datos en tiempo real, como la transmisión de medios .

Las aplicaciones en una dirección de red determinada se distinguen por su puerto TCP o UDP. Por convención, ciertos puertos conocidos se asocian con aplicaciones específicas.

La capa de transporte o de host a host del modelo TCP/IP corresponde aproximadamente a la cuarta capa del modelo OSI, también llamada capa de transporte.

QUIC está surgiendo rápidamente como un protocolo de transporte alternativo. Si bien técnicamente se transmite mediante paquetes UDP, busca ofrecer una conectividad de transporte mejorada en relación con TCP. HTTP/3 funciona exclusivamente a través de QUIC.

Capa de aplicación

La capa de aplicación incluye los protocolos utilizados por la mayoría de las aplicaciones para proporcionar servicios de usuario o intercambiar datos de aplicación a través de las conexiones de red establecidas por los protocolos de nivel inferior. Esto puede incluir algunos servicios básicos de soporte de red, como protocolos de enrutamiento y configuración de host. Algunos ejemplos de protocolos de capa de aplicación incluyen el Protocolo de transferencia de hipertexto (HTTP), el Protocolo de transferencia de archivos (FTP), el Protocolo simple de transferencia de correo (SMTP) y el Protocolo de configuración dinámica de host (DHCP). [54] Los datos codificados según los protocolos de capa de aplicación se encapsulan en unidades de protocolo de capa de transporte (como flujos TCP o datagramas UDP), que a su vez utilizan protocolos de capa inferior para efectuar la transferencia de datos real.

El modelo TCP/IP no tiene en cuenta los aspectos específicos del formato y la presentación de los datos y no define capas adicionales entre las capas de aplicación y de transporte como en el modelo OSI (capas de presentación y de sesión). Según el modelo TCP/IP, dichas funciones son competencia de las bibliotecas y las interfaces de programación de aplicaciones . La capa de aplicación del modelo TCP/IP suele compararse con una combinación de las capas quinta (sesión), sexta (presentación) y séptima (aplicación) del modelo OSI.

Los protocolos de capa de aplicación suelen estar asociados a aplicaciones cliente-servidor específicas, y los servicios comunes tienen números de puerto conocidos reservados por la Autoridad de Números Asignados de Internet (IANA). Por ejemplo, el Protocolo de Transferencia de Hipertexto utiliza el puerto de servidor 80 y Telnet utiliza el puerto de servidor 23. Los clientes que se conectan a un servicio suelen utilizar puertos efímeros , es decir, números de puerto asignados solo durante la duración de la transacción de forma aleatoria o de un rango específico configurado en la aplicación.

En la capa de aplicación, el modelo TCP/IP distingue entre protocolos de usuario y protocolos de soporte . [1] : §1.1.3  Los protocolos de soporte proporcionan servicios a un sistema de infraestructura de red. Los protocolos de usuario se utilizan para aplicaciones de usuario reales. Por ejemplo, FTP es un protocolo de usuario y DNS es un protocolo de soporte.

Aunque las aplicaciones suelen conocer las cualidades clave de la conexión de la capa de transporte, como las direcciones IP de los puntos finales y los números de puerto, los protocolos de la capa de aplicación generalmente tratan a los protocolos de la capa de transporte (y de niveles inferiores) como cajas negras que proporcionan una conexión de red estable a través de la cual comunicarse. La capa de transporte y las capas de nivel inferior no se preocupan por los detalles de los protocolos de la capa de aplicación. Los enrutadores y conmutadores normalmente no examinan el tráfico encapsulado, sino que simplemente proporcionan un conducto para él. Sin embargo, algunas aplicaciones de limitación de ancho de banda y firewall utilizan una inspección profunda de paquetes para interpretar los datos de la aplicación. Un ejemplo es el Protocolo de reserva de recursos (RSVP). [ cita requerida ] A veces también es necesario que las aplicaciones afectadas por NAT consideren la carga útil de la aplicación.

Evolución y representaciones en capas en la literatura

El conjunto de protocolos de Internet evolucionó a través de la investigación y el desarrollo financiados durante un período de tiempo. En este proceso, las particularidades de los componentes del protocolo y su disposición en capas cambiaron. Además, la investigación paralela y los intereses comerciales de las asociaciones industriales compitieron con las características del diseño. En particular, los esfuerzos de la Organización Internacional de Normalización condujeron a un objetivo similar, pero con un alcance más amplio de las redes en general. Los esfuerzos por consolidar las dos escuelas principales de disposición en capas, que eran superficialmente similares, pero divergían marcadamente en los detalles, llevaron a los autores de libros de texto independientes a formular herramientas de enseñanza abreviadas.

La siguiente tabla muestra varios modelos de redes de este tipo. El número de capas varía entre tres y siete.

Algunos de los modelos de redes provienen de libros de texto, que son fuentes secundarias que pueden entrar en conflicto con la intención del RFC 1122 y otras fuentes primarias del IETF . [63]

Comparación de las capas TCP/IP y OSI

Las tres capas superiores del modelo OSI, es decir, la capa de aplicación, la capa de presentación y la capa de sesión, no se distinguen por separado en el modelo TCP/IP, que solo tiene una capa de aplicación por encima de la capa de transporte. Si bien algunas aplicaciones de protocolo OSI puro, como X.400 , también las combinan, no existe ningún requisito de que una pila de protocolos TCP/IP deba imponer una arquitectura monolítica por encima de la capa de transporte. Por ejemplo, el protocolo de aplicación NFS se ejecuta sobre el protocolo de presentación de representación de datos externos (XDR), que, a su vez, se ejecuta sobre un protocolo llamado llamada a procedimiento remoto (RPC). RPC proporciona una transmisión de registros confiable, por lo que puede utilizar de manera segura el transporte UDP de mejor esfuerzo.

Diferentes autores han interpretado el modelo TCP/IP de forma diferente y no se ponen de acuerdo sobre si la capa de enlace, o cualquier aspecto del modelo TCP/IP, cubre los problemas de la capa 1 ( capa física ) de OSI o si TCP/IP supone que existe una capa de hardware por debajo de la capa de enlace. Varios autores han intentado incorporar las capas 1 y 2 del modelo OSI al modelo TCP/IP, ya que se hace referencia a ellas comúnmente en los estándares modernos (por ejemplo, IEEE e ITU ). Esto a menudo da como resultado un modelo con cinco capas, donde la capa de enlace o capa de acceso a la red se divide en las capas 1 y 2 del modelo OSI. [ cita requerida ]

El esfuerzo de desarrollo de protocolos de la IETF no se ocupa de la superposición estricta de capas. Es posible que algunos de sus protocolos no encajen perfectamente en el modelo OSI, aunque las RFC a veces hacen referencia a él y suelen utilizar los antiguos números de capa de OSI. La IETF ha afirmado repetidamente [45] [ verificación fallida ] que el desarrollo del protocolo y la arquitectura de Internet no está pensado para cumplir con el modelo OSI. La RFC 3439, que hace referencia a la arquitectura de Internet, contiene una sección titulada: "La superposición considerada perjudicial". [63]

Por ejemplo, las capas de sesión y presentación de la suite OSI se consideran incluidas en la capa de aplicación de la suite TCP/IP. La funcionalidad de la capa de sesión se puede encontrar en protocolos como HTTP y SMTP y es más evidente en protocolos como Telnet y el Protocolo de inicio de sesión (SIP). La funcionalidad de la capa de sesión también se realiza con la numeración de puertos de los protocolos TCP y UDP, que se incluyen en la capa de transporte de la suite TCP/IP. Las funciones de la capa de presentación se realizan en las aplicaciones TCP/IP con el estándar MIME en el intercambio de datos.

Otra diferencia está en el tratamiento de los protocolos de enrutamiento . El protocolo de enrutamiento OSI IS-IS pertenece a la capa de red, y no depende de CLNS para entregar paquetes de un enrutador a otro, sino que define su propia encapsulación de capa 3. Por el contrario, OSPF , RIP , BGP y otros protocolos de enrutamiento definidos por el IETF se transportan sobre IP y, para el propósito de enviar y recibir paquetes de protocolo de enrutamiento, los enrutadores actúan como hosts. Como consecuencia, los protocolos de enrutamiento se incluyen en la capa de aplicación. [28] Algunos autores, como Tanenbaum en Computer Networks , describen protocolos de enrutamiento en la misma capa que IP, razonando que los protocolos de enrutamiento informan las decisiones tomadas por el proceso de reenvío de los enrutadores.

Los protocolos IETF se pueden encapsular de forma recursiva, como lo demuestran los protocolos de tunelización como el Encapsulamiento de enrutamiento genérico (GRE). GRE utiliza el mismo mecanismo que OSI utiliza para la tunelización en la capa de red.

Implementaciones

El conjunto de protocolos de Internet no presupone ningún entorno de hardware o software específico. Solo requiere que exista un hardware y una capa de software que sea capaz de enviar y recibir paquetes en una red informática. Como resultado, el conjunto se ha implementado en prácticamente todas las plataformas informáticas. Una implementación mínima de TCP/IP incluye lo siguiente: Protocolo de Internet (IP), Protocolo de resolución de direcciones (ARP), Protocolo de mensajes de control de Internet (ICMP), Protocolo de control de transmisión (TCP), Protocolo de datagramas de usuario (UDP) y Protocolo de administración de grupos de Internet (IGMP). Además de IP, ICMP, TCP, UDP, el Protocolo de Internet versión 6 requiere el Protocolo de descubrimiento de vecinos (NDP), ICMPv6 y Multicast Listener Discovery (MLD) y, a menudo, viene acompañado de una capa de seguridad IPSec integrada .

Véase también

Notas

  1. ^ Para consultar los registros de las discusiones que condujeron a la división TCP/IP, consulte la serie de Notas de experimentos de Internet en el Índice de notas de experimentos de Internet.

Referencias

  1. ^ abcde R. Braden , ed. (octubre de 1989). Requisitos para hosts de Internet: capas de comunicación. Grupo de trabajo de redes. doi : 10.17487/RFC1122 . STD 3. RFC 1122. Estándar de Internet 3. Actualizado por RFC 1349, 4379, 5884, 6093, 6298, 6633, 6864, 8029 y 9293.
  2. ^ abc R. Braden , ed. (octubre de 1989). Requisitos para hosts de Internet: aplicación y soporte. Grupo de trabajo de redes. doi : 10.17487/RFC1123 . STD 3. RFC 1123. Estándar de Internet 3. Actualizado por RFC 1349, 2181, 5321, 5966 y 7766.
  3. ^ Cerf, Vinton G. y Cain, Edward (octubre de 1983). "El modelo de arquitectura de Internet del Departamento de Defensa". Redes informáticas . 7 (5). Holanda Septentrional: 307–318. doi :10.1016/0376-5075(83)90042-9.
  4. ^ J. Reynolds ; J. Postel (noviembre de 1987). GUÍA DE REFERENCIA PARA SOLICITUD DE COMENTARIOS. Grupo de trabajo de redes. doi : 10.17487/RFC1000 . RFC 1000. Estado desconocido. Quedan obsoletas las RFC 84, 100, 160, 170, 200, 598, 699, 800, 899 y 999.
  5. ^ Hafner, Katie; Lyon, Matthew (1996). Donde los magos se quedan despiertos hasta tarde: los orígenes de Internet. Internet Archive. Nueva York: Simon & Schuster. p. 263. ISBN 978-0-684-81201-4.
  6. ^ ab Russell, Andrew L. (2014). Estándares abiertos y la era digital: historia, ideología y redes. Nueva York: Cambridge Univ Press. p. 196. ISBN 978-1107039193Archivado del original el 28 de diciembre de 2022 . Consultado el 20 de diciembre de 2022 .
  7. ^ Abbate, Janet (2000). Inventando Internet. MIT Press. Págs. 123-124. ISBN 978-0-262-51115-5Archivado del original el 17 de enero de 2023 . Consultado el 15 de mayo de 2020 .
  8. ^ Taylor, Bob (11 de octubre de 2008), "Historia oral de Robert (Bob) W. Taylor" (PDF) , Archivo del Museo de Historia de la Computación , CHM Número de referencia: X5059.2009: 28
  9. ^ Isaacson, Walter (2014). Los innovadores: cómo un grupo de hackers, genios y geeks crearon la revolución digital. Internet Archive. Nueva York: Simon & Schuster. ISBN 978-1-4767-0869-0.
  10. ^ 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 10 de octubre de 2022 . Consultado el 18 de octubre de 2015 . 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.
  11. ^ "El quinto hombre de Internet". The Economist . 13 de diciembre de 2013. Archivado desde el original el 19 de abril de 2020. Consultado el 11 de septiembre de 2017. A principios de la década de 1970 , Pouzin creó una innovadora red de datos que conectaba lugares de Francia, Italia y Gran Bretaña. Su simplicidad y eficiencia indicaron el camino hacia una red que pudiera conectar no solo docenas de máquinas, sino millones de ellas. Captó la imaginación del Dr. Cerf y el Dr. Kahn, quienes incluyeron aspectos de su diseño en los protocolos que ahora impulsan Internet.
  12. ^ V. Cerf ; Y. Dalal ; C. Sunshine (diciembre de 1974). ESPECIFICACIÓN DEL PROGRAMA DE CONTROL DE TRANSMISIÓN POR INTERNET. Grupo de trabajo de redes. doi : 10.17487/RFC0675 . RFC 675. Obsoleto. Quedó obsoleto según RFC 7805. NIC 2. INWG 72.
  13. ^ Cerf, Vinton (marzo de 1977). «Especificación del protocolo de control de transmisión de Internet TCP (versión 2)» (PDF) . Archivado (PDF) del original el 25 de mayo de 2022. Consultado el 4 de agosto de 2022 .
  14. ^ ab Cerf, Vinton G. (1 de abril de 1980). "Informe final del Proyecto TCP de la Universidad de Stanford".
  15. ^ Panzaris, Georgios (2008). Máquinas y romances: la construcción técnica y narrativa de la computación en red como plataforma de propósito general, 1960-1995. Universidad de Stanford . p. 128. Archivado desde el original el 17 de enero de 2023. Consultado el 5 de septiembre de 2019 .
  16. ^ Pelkey, James L. (2007). "Yogen Dalal". Capitalismo emprendedor e innovación: una historia de las comunicaciones informáticas, 1968-1988. Archivado desde el original el 8 de octubre de 2022. Consultado el 8 de octubre de 2020 .
  17. ^ Salón de la fama de Internet
  18. ^ Postel, Jon (15 de agosto de 1977), 2.3.3.2 Comentarios sobre el Protocolo de Internet y TCP, IEN 2, archivado desde el original el 16 de mayo de 2019 , consultado el 11 de junio de 2016
  19. ^ Abbate, Inventando Internet , 129–30.
  20. ^ Vinton G. Cerf (octubre de 1980). "Protocolos para redes de paquetes interconectadas". ACM SIGCOMM Computer Communication Review . 10 (4): 10–11.
  21. ^ Russell, Andrew L. (2007). "Legislaturas industriales": estandarización por consenso en la segunda y tercera revolución industrial (PDF) (tesis doctoral). Universidad Johns Hopkins. Archivado (PDF) del original el 28 de diciembre de 2022. Consultado el 28 de diciembre de 2022 .
  22. ^ Bennett, Richard (septiembre de 2009). "Designed for Change: End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate" (PDF) . Fundación para la Tecnología de la Información y la Innovación. pp. 7, 11. Consultado el 11 de septiembre de 2017 .
  23. ^ Pelkey, James. "8.3 CYCLADES Network y Louis Pouzin 1971-1972". Capitalismo emprendedor e innovación: una historia de las comunicaciones informáticas 1968-1988. Archivado desde el original el 17 de junio de 2021 . Consultado el 21 de noviembre de 2021 . La inspiración para los datagramas tuvo dos fuentes. Una fueron los estudios de Donald Davies. Había realizado algunas simulaciones de redes de datagramas, aunque no había construido ninguna, y parecía técnicamente viable. La segunda inspiración fue que me gustan las cosas simples. No vi ninguna motivación técnica real para superponer dos niveles de protocolos de extremo a extremo. Pensé que uno era suficiente.
  24. ^ Davies, Donald; Bartlett, Keith; Scantlebury, Roger; Wilkinson, Peter (octubre de 1967). Una red de comunicación digital para computadoras que brinda respuesta rápida en terminales remotas (PDF) . Simposio ACM sobre principios de sistemas operativos. Archivado (PDF) del original el 10 de octubre de 2022. Consultado el 15 de septiembre de 2020 ."Todos los usuarios de la red se proporcionarán algún tipo de control de errores"
  25. ^ D. Waitzman (1 de abril de 1990). Un estándar para la transmisión de datagramas IP en portadoras aviares. Grupo de trabajo de redes. doi : 10.17487/RFC1149 . RFC 1149. Experimental. Esta es una solicitud de comentarios por el Día de los Inocentes .
  26. ^ B. Carpenter ; R. Hinden (1 de abril de 2011). Adaptación de RFC 1149 para IPv6. Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6214 . ISSN  2070-1721. RFC 6214. Informativo. Esta es una solicitud de comentarios por el Día de los Inocentes .
  27. ^ por Vinton Cerf, según se lo contó a Bernard Aboba (1993). "Cómo surgió Internet". Archivado desde el original el 26 de septiembre de 2017. Consultado el 25 de septiembre de 2017. Comenzamos a realizar implementaciones concurrentes en Stanford, BBN y University College London. Por lo tanto, el esfuerzo por desarrollar los protocolos de Internet fue internacional desde el principio .
  28. ^ ab F. Baker , ed. (junio de 1995). Requisitos para enrutadores IP versión 4. Grupo de trabajo de redes. doi : 10.17487/RFC1812 . RFC 1812. Norma propuesta. Deja obsoletas las RFC 1716 y 1009. Actualizada por las RFC 2644 y 6633.
  29. ^ Crowell, William; Contos, Brian; DeRodeff, Colby (2011). Convergencia de seguridad física y lógica: impulsada por la gestión de seguridad empresarial . Syngress. pág. 99. ISBN 9780080558783.
  30. ^ por Ronda Hauben. "De ARPANET a Internet". TCP Digest (UUCP). Archivado desde el original el 21 de julio de 2009. Consultado el 5 de julio de 2007 .
  31. ^ IEN 207.
  32. ^ IEN 152.
  33. ^ Hauben, Ronda (2004). "Internet: sobre sus orígenes internacionales y su visión colaborativa". Amateur Computerist . 12 (2) . Consultado el 29 de mayo de 2009 . Mar '82 – Noruega abandona ARPANET y se convierte en una conexión a Internet a través de TCP/IP sobre SATNET. Nov '82 – UCL abandona ARPANET y se convierte en una conexión a Internet.
  34. ^ "Protocolo de Internet TCP/IP". Archivado desde el original el 1 de enero de 2018 . Consultado el 31 de diciembre de 2017 .
  35. ^ Leiner, Barry M.; et al. (1997), Breve historia de Internet (PDF) , Internet Society , pág. 15, archivado (PDF) del original el 18 de enero de 2018 , consultado el 17 de enero de 2018
  36. ^ "Vinton G. Cerf: una historia oral". Colecciones de historia oral de Stanford: Spotlight at Stanford . 2020. págs. 113, 129, 145. Consultado el 29 de junio de 2024 .
  37. ^ "Uso de TCP/IP de Wollongong con Windows para trabajo en grupo 3.11". Soporte técnico de Microsoft . Archivado desde el original el 12 de enero de 2012.
  38. ^ "Una breve historia de los protocolos de Internet en el CERN". Archivado desde el original el 10 de noviembre de 2016 . Consultado el 12 de septiembre de 2016 .
  39. ^ Baker, Steven; Gillies, Donald W. «Desktop TCP/IP at middle age» (TCP/IP de escritorio en la mediana edad). Archivado desde el original el 21 de agosto de 2015. Consultado el 9 de septiembre de 2016 .
  40. ^ Romkey, John (17 de febrero de 2011). «Acerca de». Archivado desde el original el 5 de noviembre de 2011. Consultado el 12 de septiembre de 2016 .
  41. ^ Phil Karn, sitio web de descarga de TCP KA9Q
  42. ^ Andrew L. Russell (30 de julio de 2013). «OSI: The Internet That Wasn't». IEEE Spectrum . Vol. 50, núm. 8. Archivado desde el original el 1 de agosto de 2017. Consultado el 6 de febrero de 2020 .
  43. ^ Russell, Andrew L. "Rough Consensus and Running Code' and the Internet-OSI Standards War" (PDF) . IEEE Annals of the History of Computing. Archivado desde el original (PDF) el 17 de noviembre de 2019.
  44. ^ ab Davies, Howard; Bressan, Beatrice (26 de abril de 2010). Una historia de la creación de redes de investigación internacionales: las personas que la hicieron posible. John Wiley & Sons. ISBN 978-3-527-32710-2Archivado del original el 17 de enero de 2023 . Consultado el 7 de noviembre de 2020 .
  45. ^ ab "Introducción al IETF". IETF . Consultado el 27 de febrero de 2024 .
  46. ^ Morabito, Roberto; Jiménez, Jaime (junio de 2020). "Conjunto de protocolos IETF para la Internet de las cosas: descripción general y avances recientes". Revista IEEE Communications Standards . 4 (2): 41–49. arXiv : 2003.10279 . doi :10.1109/mcomstd.001.1900014. ISSN  2471-2825.
  47. ^ Blumenthal, Marjory S.; Clark, David D. (agosto de 2001). "Replanteando el diseño de Internet: los argumentos de extremo a extremo frente a un mundo feliz" (PDF) . Archivado (PDF) del original el 8 de octubre de 2022. Consultado el 8 de octubre de 2022 .
  48. ^ J. Postel , ed. (septiembre de 1981). PROTOCOLO DE INTERNET - ESPECIFICACIÓN DEL PROTOCOLO DE PROGRAMA DE INTERNET DE DARPA. IETF . doi : 10.17487/RFC0791 . STD 5. RFC 791. IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Estándar de Internet 5. Obsoleto RFC 760. Actualizado por RFC 1349, 2474 y 6864.
  49. ^ B. Carpenter , ed. (junio de 1996). Principios arquitectónicos de Internet. Grupo de trabajo de redes. doi : 10.17487/RFC1958 . RFC 1958. Informativo. Actualizado por RFC 3439.
  50. ^ Hunt, Craig (2002). Administración de redes TCP/IP (3.ª ed.). O'Reilly. Págs. 9-10. ISBN 9781449390785.
  51. ^ Guttman, E. (1999). "Protocolo de localización de servicios: descubrimiento automático de servicios de red IP". IEEE Internet Computing . 3 (4): 71–80. doi :10.1109/4236.780963. ISSN  1089-7801.
  52. ^ ab Zheng, Kai (julio de 2017). "Habilitación del "enrutamiento de protocolo": revisión del diseño de protocolos de capa de transporte en las comunicaciones de Internet". IEEE Internet Computing . 21 (6): 52–57. doi :10.1109/mic.2017.4180845. ISSN  1089-7801.
  53. ^ Huang, Jing-lian (7 de abril de 2009). "Esquema de adaptación de enlaces entre capas en redes de área local inalámbricas". Journal of Computer Applications . 29 (2): 518–520. doi :10.3724/sp.j.1087.2009.00518 (inactivo el 13 de mayo de 2024). ISSN  1001-9081.{{cite journal}}: CS1 maint: DOI inactive as of May 2024 (link)
  54. ^ Stevens, W. Richard (febrero de 1994). TCP/IP Illustrated: the protocols [TCP/IP ilustrado: los protocolos]. Addison-Wesley. ISBN 0-201-63346-9Archivado desde el original el 22 de abril de 2012 . Consultado el 25 de abril de 2012 .
  55. ^ Dye, Mark; McDonald, Rick; Rufi, Antoon (29 de octubre de 2007). Fundamentos de red, Guía complementaria de CCNA Exploration. Cisco Press. ISBN 9780132877435. Recuperado el 12 de septiembre de 2016 – vía Google Books.
  56. ^ Kozierok, Charles M. (1 de enero de 2005). Guía TCP/IP: una referencia completa e ilustrada sobre protocolos de Internet. Sin Starch Press. ISBN 9781593270476. Recuperado el 12 de septiembre de 2016 – vía Google Books.
  57. ^ Comer, Douglas (1 de enero de 2006). Interconexión de redes con TCP/IP: principios, protocolos y arquitectura. Prentice Hall. ISBN 0-13-187671-6. Recuperado el 12 de septiembre de 2016 – vía Google Books.
  58. ^ Tanenbaum, Andrew S. (1 de enero de 2003). Redes informáticas . Prentice Hall PTR. pág. 42. ISBN 0-13-066102-3. Recuperado el 12 de septiembre de 2016 – vía Internet Archive. redes.
  59. ^ Forouzan, Behrouz A.; Fegan, Sophia Chung (1 de agosto de 2003). Comunicaciones de datos y redes. McGraw-Hill Higher Education. ISBN 9780072923544. Recuperado el 12 de septiembre de 2016 – vía Google Books.
  60. ^ Kurose, James F.; Ross, Keith W. (2008). Redes informáticas: un enfoque descendente. Pearson/Addison Wesley. ISBN 978-0-321-49770-3. Archivado desde el original el 23 de enero de 2016 . Consultado el 16 de julio de 2008 .
  61. ^ Stallings, William (1 de enero de 2007). Comunicaciones informáticas y de datos. Prentice Hall. ISBN 978-0-13-243310-5. Recuperado el 12 de septiembre de 2016 – vía Google Books.
  62. ^ ISO/IEC 7498-1:1994 Tecnología de la información — Interconexión de sistemas abiertos — Modelo básico de referencia: El modelo básico.
  63. ^ ab R. Bush; D. Meyer (diciembre de 2002). Algunas pautas y filosofía de la arquitectura de Internet. Grupo de trabajo de redes. doi : 10.17487/RFC3439 . RFC 3439. Informativo. Actualizaciones RFC 1958.

Bibliografía

Enlaces externos