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.
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).
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]
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]
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]
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]
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.
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.
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.
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 de acuerdo con 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.
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]
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.
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 .
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.
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.
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.
todos los usuarios de la red se proporcionarán algún tipo de control de errores
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.
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.
{{cite journal}}
: CS1 maint: DOI inactive as of November 2024 (link)redes.