El conjunto de protocolos de Internet es el modelo conceptual y el conjunto de protocolos de comunicación utilizados en Internet y redes informáticas similares . Se conoce comúnmente como TCP / IP porque los protocolos fundamentales de la suite son el Protocolo de control de transmisión (TCP) y el Protocolo de Internet (IP). Durante su desarrollo, las versiones del mismo se conocieron como el modelo del Departamento de Defensa ( DoD ) porque el desarrollo del método de redes fue financiado por el Departamento de Defensa de los Estados Unidos a través de DARPA.. Su implementación es una pila de protocolos . [1]
El conjunto de protocolos de Internet proporciona una comunicación de datos de un extremo a otro 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 la red involucrada. [2] [3] De menor a mayor, las capas son la capa de enlace , que contiene métodos de comunicación para los datos que permanecen dentro de un solo segmento de red (enlace); la capa de Internet , que proporciona interconexión 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 las aplicaciones.
Los estándares técnicos subyacentes al 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 sistemas de redes generales.
Historia
Investigaciones tempranas
El conjunto de protocolos de Internet resultó de la investigación y el desarrollo realizados por la Agencia de Proyectos de Investigación Avanzada de Defensa ( DARPA ) a fines de la década de 1960. [1] Después de iniciar el pionero ARPANET en 1969, DARPA comenzó a trabajar en una serie de otras tecnologías de transmisión de datos. En 1972, Robert E. Kahn se unió a la Oficina de Tecnología de Procesamiento de Información de DARPA , donde trabajó tanto en redes de paquetes por satélite como en redes de paquetes de radio terrestres, y reconoció el valor de poder comunicarse a través de ambos. En la primavera de 1973, Vinton Cerf , quien ayudó a desarrollar el protocolo ARPANET Network Control Program (NCP) existente, se unió a Kahn para trabajar en modelos de interconexión de arquitectura abierta con el objetivo de diseñar la próxima generación de protocolos para ARPANET. [ cita requerida ] Se basaron en la experiencia de la comunidad de investigación de ARPANET y el Grupo de Trabajo de Redes Internacionales , que Cerf presidió. [4]
Para el verano de 1973, Kahn y Cerf habían elaborado una reformulación fundamental, en la que las diferencias entre los protocolos de red local se ocultaban mediante el uso de un protocolo de internetwork común , y, en lugar de que la red fuera responsable de la confiabilidad, como en los protocolos ARPANET existentes. , esta función fue delegada a los anfitriones. Cerf atribuye importantes influencias en este diseño a Hubert Zimmermann y Louis Pouzin , diseñador de la red CYCLADES . [5] [6] El nuevo protocolo se implementó como Programa de Control de Transmisión en 1974. [7]
Inicialmente, el Programa de Control de Transmisión administraba tanto las transmisiones de datagramas como el enrutamiento, pero a medida que aumentaba la experiencia con el protocolo, los colaboradores recomendaron la división de la funcionalidad en capas de protocolos distintos. Los defensores incluyeron a Jonathan Postel del Instituto de Ciencias de la Información de la Universidad del Sur de California , quien editó la Solicitud de Comentarios (RFC), la serie de documentos técnicos y estratégicos que ha documentado y catalizado el desarrollo de Internet, [8] y el grupo de investigación de Robert Metcalfe en Xerox PARC . [9] [10] Postel declaró: "Estamos arruinando nuestro diseño de protocolos de Internet al violar el principio de capas". [11] La encapsulación de diferentes mecanismos tenía la intención de crear un entorno en el que las capas superiores pudieran acceder solo a lo que se necesitaba de las capas inferiores. Un diseño monolítico sería inflexible y generaría problemas de escalabilidad. En la versión 3 de TCP, escrita en 1978, el Programa de control de transmisión se dividió 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 . [12]
El diseño de la red incluyó el reconocimiento de que debería proporcionar solo las funciones de transmisión y enrutamiento eficiente del tráfico entre los nodos finales y que el resto de la inteligencia debería ubicarse en el borde de la red, en los nodos finales. Este diseño se conoce como principio de extremo a extremo . Usando este diseño, fue posible conectar otras redes a ARPANET que usaban el mismo principio, independientemente de otras características locales, resolviendo así el problema inicial de interconexión de Kahn. Una expresión popular es que TCP / IP, el producto final del trabajo de Cerf y Kahn, puede atropellar "dos latas de hojalata y una cuerda". [ cita requerida ] Años más tarde, como una broma, la especificación del protocolo formal de IP sobre Avian Carriers fue creada y probada con éxito.
DARPA contrató a BBN Technologies , la Universidad de Stanford y la University College London para desarrollar versiones operativas del protocolo en varias plataformas de hardware. [13] Durante el desarrollo del protocolo, el número de versión de la capa de enrutamiento de paquetes pasó de la versión 1 a la 4, la última de las cuales se instaló en ARPANET en 1983. Se conoció como Protocolo de Internet versión 4 (IPv4) como 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 TCP / IP de dos redes entre Stanford y University College London. En noviembre de 1977, se llevó a cabo una prueba de TCP / IP de tres redes entre sitios de EE. UU., Reino Unido y Noruega. Varios otros prototipos de TCP / IP se desarrollaron en múltiples centros de investigación entre 1978 y 1983.
Se proporciona una computadora llamada enrutador con una interfaz para cada red. Reenvía paquetes de red entre ellos. [14] Originalmente, un enrutador se llamaba puerta de enlace , pero el término se cambió para evitar confusiones con otros tipos de puertas de enlace . [15]
Adopción
En marzo de 1982, el Departamento de Defensa de los Estados Unidos declaró TCP / IP como el estándar para todas las redes de computadoras militares. [16] En el mismo año, NORSAR y el grupo de investigación de Peter Kirstein en el University College London adoptaron el protocolo. [13] [17] [18] La migración de ARPANET a TCP / IP se completó oficialmente el día 1 de enero de 1983, cuando los nuevos protocolos se activaron permanentemente. [19]
En 1985, la Junta Asesora de Internet (más tarde Junta de Arquitectura de Internet ) llevó a cabo un taller de tres días sobre TCP / IP para la industria de la computación, al que asistieron 250 representantes de proveedores, promoviendo el protocolo y conduciendo a su creciente uso comercial. En 1985, la primera conferencia Interop 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. [20]
IBM, AT&T y DEC fueron las primeras grandes corporaciones en adoptar TCP / IP, esto a pesar de tener protocolos propietarios competidores . En IBM, desde 1984, el grupo de Barry Appelman hizo el desarrollo de TCP / IP. Navegaron por la política corporativa para obtener un flujo de productos TCP / IP para varios sistemas 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 . [21] La primera pila TCP / IP de VM / CMS provino de la Universidad de Wisconsin. [22]
Algunas de las primeras pilas de TCP / IP fueron escritas sin ayuda por algunos programadores. Jay Elinsky y Oleg Vishnepolsky cita requerida ] En 1984 Donald Gillies en el MIT escribió un TCP de conexión múltiple ntcp que se ejecutó sobre la capa IP / PacketDriver mantenida por John Romkey en el MIT en 1983–4. Romkey aprovechó este TCP en 1986 cuando se fundó FTP Software. [23] [24] A partir de 1985, Phil Karn creó una aplicación TCP de conexión múltiple para sistemas de radioaficionados (KA9Q TCP). [25]
de IBM Research escribieron pilas TCP / IP para VM / CMS y OS / 2, respectivamente. [La difusión de TCP / IP se impulsó aún más en junio de 1989, cuando la Universidad de California, Berkeley acordó colocar el código TCP / IP desarrollado para BSD UNIX en el dominio público. Varios proveedores corporativos, incluido IBM, incluyeron este código en las versiones comerciales de software TCP / IP. Microsoft lanzó una pila TCP / IP nativa en Windows 95. Este evento ayudó a cimentar el dominio de TCP / IP sobre otros protocolos en redes basadas en Microsoft, que incluían la Arquitectura de red de sistemas (SNA) de IBM , y en otras plataformas como Digital Equipment Corporation . DECnet , interconexión de sistemas abiertos (OSI) y sistemas de red Xerox (XNS).
No obstante, durante un período a fines de la década de 1980 y principios de la de 1990, los ingenieros, las organizaciones y las naciones se polarizaron 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 sólidas redes de computadoras. [26] [27] [28]
Normas y especificaciones formales
Los estándares técnicos subyacentes al conjunto de protocolos de Internet y sus protocolos constituyentes se han delegado al Grupo de Trabajo de Ingeniería de Internet (IETF).
La arquitectura característica de Internet Protocol Suite es su amplia división en ámbitos operativos para los protocolos que constituyen su funcionalidad principal. La especificación definitoria de la suite es RFC 1122, que describe a grandes rasgos cuatro capas de abstracción . [2] Estos han resistido la prueba del tiempo, ya que el IETF nunca ha modificado esta estructura. Como tal modelo de redes, Internet Protocol Suite es anterior al modelo OSI, un marco de referencia más completo para sistemas de redes generales. [28]
Principios arquitectónicos clave
El principio de extremo a extremo ha evolucionado con el tiempo. Su expresión original puso el mantenimiento del estado y la inteligencia general en los bordes, y asumió que Internet que conectaba los bordes no conservaba ningún estado y se concentraba en la velocidad y la simplicidad. Las necesidades del mundo real de cortafuegos, traductores de direcciones de red, cachés de contenido web y similares han forzado cambios en este principio. [29]
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 donde el significado aún es claro) ". [30] "La segunda parte del principio es casi tan importante: el software en otros hosts puede contener deficiencias que hacen que sea imprudente explotar características legales pero oscuras del protocolo". [31]
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) usa un conjunto de protocolos para enviar sus datos por las capas. Los datos se encapsulan aún más en cada nivel.
Uno de los primeros documentos de arquitectura, RFC 1122 , enfatiza los principios arquitectónicos sobre las capas. [32] RFC 1122, titulado Requisitos de host , está estructurado en párrafos que se refieren a capas, pero el documento se refiere a muchos otros principios arquitectónicos y no enfatiza la superposición. Define libremente un modelo de cuatro capas, con las capas que tienen nombres, no números, de la siguiente manera:
- La capa de aplicación es el ámbito dentro del cual las aplicaciones, o procesos , crean datos de usuario y comunican estos datos a otras aplicaciones en otro o en el mismo host. Las aplicaciones hacen uso de los servicios proporcionados por las capas inferiores subyacentes, especialmente la capa de transporte que proporciona tuberías confiables o no confiables a otros procesos. Los socios de comunicaciones se caracterizan por la arquitectura de la aplicación, como el modelo cliente-servidor y la red de igual a igual . Esta es la capa en la que operan todos los protocolos de aplicación, como SMTP, FTP, SSH, HTTP. Los procesos se dirigen a través de puertos que esencialmente representan servicios .
- La capa de transporte realiza comunicaciones de host a host en la red local o en redes remotas separadas por enrutadores. [33] Proporciona un canal para las necesidades de comunicación de las aplicaciones. UDP es el protocolo de capa de transporte básico, que proporciona un servicio de datagramas sin conexión poco confiable . El Protocolo de control de transmisión proporciona control de flujo, establecimiento de conexiones y transmisión confiable de datos.
- La capa de Internet intercambia datagramas a través de los límites de la red. Proporciona una interfaz de red uniforme que oculta la topología real (diseño) de las conexiones de red subyacentes. Por lo tanto, también es la capa que establece la interconexión de redes. De hecho, define y establece Internet. Esta capa define las estructuras de direccionamiento y enrutamiento utilizadas para el conjunto de protocolos TCP / IP. El protocolo principal en este ámbito es el Protocolo de Internet, que define las direcciones IP . Su función en el enrutamiento es transportar datagramas al siguiente host, que funciona como un enrutador IP, que tiene la conectividad a una red más cercana al destino final de los datos.
- La capa de enlace define los métodos de red dentro del alcance del enlace de red local en el que los hosts se comunican sin enrutadores intervinientes. Esta capa incluye los protocolos utilizados para describir la topología de la red local y las interfaces necesarias para afectar la transmisión de los datagramas de la capa de Internet a los hosts vecinos.
Capa de enlace
Los protocolos de la capa de enlace operan dentro del alcance de la conexión de red local a la que está conectado un host. Este régimen se denomina enlace en el lenguaje TCP / IP y es la capa de componente más baja de la suite. 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 enlaces virtuales como redes privadas virtuales y túneles de redes .
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 del dispositivo para la tarjeta de red , así como en el firmware o mediante conjuntos de chips especializados . Estos realizan funciones, como el encuadre, para preparar los paquetes de la capa de Internet para la 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 a medios (MAC). Sin embargo, se supone implícitamente que existen todos los demás aspectos por debajo de ese nivel y no se definen 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 es compatible con el direccionamiento e identificación del host mediante el sistema de direccionamiento IP jerárquico . La capa de Internet proporciona una instalación de transmisión de datagramas no confiable entre hosts ubicados en redes IP potencialmente diferentes al reenviar datagramas a un enrutador de siguiente salto apropiado 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, el interfuncionamiento 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 diferentes protocolos de capa superior . 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 ubicarlos en la red. 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 fue eliminada en 1998 por la estandarización del Protocolo de Internet versión 6 (IPv6) que usa 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 de tareas específicas. 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 e independientes de la estructura de los datos del usuario y 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 del proceso para aplicaciones, la capa establece el concepto de puerto de red . Esta es 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 para que las computadoras cliente puedan abordar servicios específicos de una computadora servidor sin la participación de servicios de directorio o descubrimiento de servicios .
Debido a que IP proporciona solo una entrega con el mejor esfuerzo , algunos protocolos de la 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 :
- los datos llegan en orden
- los datos tienen un error mínimo (es decir, corrección)
- los datos duplicados se descartan
- los paquetes perdidos o descartados se reenvían
- incluye control de congestión de tráfico
El protocolo de transmisión de control de transmisión (SCTP) más reciente también es un mecanismo de transporte confiable 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 a través de una sola conexión. También proporciona soporte de multihoming , en el que un extremo de la conexión se puede representar mediante múltiples direcciones IP (que representan múltiples interfaces físicas), de modo que si una falla, la conexión no se interrumpe. Fue desarrollado inicialmente para aplicaciones de telefonía (para transportar SS7 sobre IP).
La confiabilidad también se puede lograr ejecutando IP a través de 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 mejor esfuerzo. La confiabilidad se aborda mediante la detección de errores mediante un algoritmo de suma de comprobación. UDP se usa generalmente para aplicaciones como 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 un La 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 medios de transmisión .
Las aplicaciones en cualquier dirección de red dada se distinguen por su puerto TCP o UDP. Por convención, ciertos puertos bien conocidos están asociados 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.
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 aplicaciones 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. 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). [34] Los datos codificados de acuerdo con los protocolos de la capa de aplicación se encapsulan en unidades de protocolo de la 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 considera los aspectos específicos del formateo y presentación de datos y no define capas adicionales entre las capas de aplicación y transporte como en el modelo OSI (capas de presentación y sesión). Según el modelo TCP / IP, estas funciones pertenecen al ámbito de las bibliotecas y las interfaces de programación de aplicaciones . La capa de aplicación en el modelo TCP / IP a menudo se compara con una combinación de la quinta (sesión), sexta (presentación) y séptima (aplicación) capas del modelo OSI.
Los protocolos de la capa de aplicación a menudo se asocian con aplicaciones cliente-servidor particulares , y los servicios comunes tienen números de puerto bien conocidos reservados por la Autoridad de Números Asignados de Internet (IANA). Por ejemplo, el Protocolo de transferencia de hipertexto usa el puerto 80 del servidor y Telnet usa el puerto 23 del servidor. Los clientes que se conectan a un servicio generalmente usan puertos efímeros , es decir, números de puerto asignados solo durante la transacción al azar o de un rango específico configurado en el solicitud.
En la capa de aplicación, el modelo TCP / IP distingue entre protocolos de usuario y protocolos de soporte . [35] Los protocolos de soporte brindan 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 generalmente conocen las cualidades clave de la conexión de la capa de transporte, como las direcciones IP de los extremos y los números de puerto, los protocolos de la capa de aplicación generalmente tratan a los protocolos de la capa de transporte (e 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 cortafuegos y de limitación del ancho de banda utilizan la 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.
Nombres de capas y número de capas en la literatura.
La siguiente tabla muestra varios modelos de redes. El número de capas varía entre tres y siete.
RFC 1122, Internet STD 3 (1989) | Academia de Cisco [36] | Kurose, [37] Forouzan [38] | Comer, [39] Kozierok [40] | Stallings [41] | Tanenbaum [42] | Modelo de referencia de Arpanet (RFC 871) | Modelo OSI |
---|---|---|---|---|---|---|---|
Cuatro capas | Cuatro capas | Cinco capas | Cuatro + una capas | Cinco capas | Cinco capas | Tres capas | Siete capas |
"Modelo de Internet" | "Modelo de Internet" | "Modelo de Internet de cinco capas" o "Conjunto de protocolos TCP / IP" | "Modelo de referencia de 5 capas de TCP / IP" | "Modelo TCP / IP" | "Modelo de referencia de 5 capas de TCP / IP" | "Modelo de referencia de Arpanet" | Modelo OSI |
Solicitud | Solicitud | Solicitud | Solicitud | Solicitud | Solicitud | Proceso de solicitud | Solicitud |
Presentación | |||||||
Sesión | |||||||
Transporte | Transporte | Transporte | Transporte | Host a host o transporte | Transporte | Anitrión a anfitrión | Transporte |
Internet | Internetwork | La red | Internet | Internet | Internet | La red | |
Enlace | Interfaz de red | Enlace de datos | Enlace de datos (interfaz de red) | Acceso a la red | Enlace de datos | Interfaz de red | Enlace de datos |
Físico | (Hardware) | Físico | Físico | Físico |
Algunos de los modelos de redes provienen de libros de texto, que son fuentes secundarias que pueden entrar en conflicto con la intención de RFC 1122 y otras fuentes primarias de IETF . [43]
Comparación de capas de TCP / IP y OSI
Las tres capas superiores en el 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 combinaron, no existe el 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 manera diferente y no están de acuerdo si la capa de enlace, o el modelo TCP / IP completo, cubre los problemas de la capa 1 ( capa física ) de OSI , o si se asume una capa de hardware debajo de la capa de enlace.
Varios autores han intentado incorporar las capas 1 y 2 del modelo OSI en el modelo TCP / IP, ya que comúnmente se hace referencia a ellas 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 la capa de acceso a la red se divide en las capas 1 y 2 del modelo OSI.
El esfuerzo de desarrollo del protocolo IETF no se ocupa de la estratificación estricta. Es posible que algunos de sus protocolos no se ajusten claramente al modelo OSI, aunque los RFC a veces se refieren a él y suelen utilizar los antiguos números de capa OSI. El IETF ha declarado repetidamente [ cita requerida ] que el desarrollo de la arquitectura y el protocolo de Internet no está destinado a ser compatible con OSI. RFC 3439, refiriéndose a la arquitectura de Internet, contiene una sección titulada: "Layering Considered Nocivo".
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 cubren la capa de transporte en 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.
Los conflictos son evidentes también en el modelo OSI original, ISO 7498, cuando no se consideran los anexos de este modelo, por ejemplo, el Marco de Gestión ISO 7498/4 o la capa de Organización Interna de la Red ISO 8648 (IONL). Cuando se consideran los documentos IONL y Management Framework, ICMP e IGMP se definen como protocolos de gestión de capa para la capa de red. De manera similar, el IONL proporciona una estructura para "facilidades de convergencia dependientes de la subred" tales como ARP y RARP .
Los protocolos IETF se pueden encapsular de forma recursiva, como lo demuestran los protocolos de tunelización como el encapsulado de enrutamiento genérico (GRE). GRE usa el mismo mecanismo que usa OSI para hacer túneles 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 una capa de hardware y software que sea capaz de enviar y recibir paquetes en una red informática. Como resultado, la suite 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 Administración de grupos de Internet Protocolo (IGMP). Además de IP, ICMP, TCP, UDP, el Protocolo de Internet versión 6 requiere el Protocolo de descubrimiento de vecinos (NDP), ICMPv6 e IGMPv6 y, a menudo, va acompañado de una capa de seguridad IPSec integrada .
Los programadores de aplicaciones normalmente se preocupan solo por las interfaces en la capa de aplicación y, a menudo, también en la capa de transporte, mientras que las capas siguientes son servicios proporcionados por la pila TCP / IP en el sistema operativo. La mayoría de las implementaciones de IP son accesibles para los programadores a través de sockets y API .
Las implementaciones únicas incluyen Lightweight TCP / IP , una pila de código abierto diseñada para sistemas integrados , y KA9Q NOS , una pila y protocolos asociados para sistemas de radio por paquetes de aficionados y computadoras personales conectadas a través de líneas seriales.
El firmware del microcontrolador en el adaptador de red generalmente maneja los problemas de enlace, apoyado por el software del controlador en el sistema operativo. La electrónica analógica y digital no programable normalmente está a cargo de los componentes físicos debajo de la capa de enlace, por lo general utilizando un conjunto de chips de circuito integrado específico de la aplicación (ASIC) para cada interfaz de red u otro estándar físico. Los enrutadores de alto rendimiento se basan en gran medida en una electrónica digital rápida no programable, que lleva a cabo una conmutación de nivel de enlace.
Ver también
- Informe BBN 1822 , uno de los primeros modelos de red en capas
- FLIP (protocolo) (pila de protocolo de Internet local rápido)
- Lista de protocolos de automatización
- Lista de siglas de tecnología de la información
- Lista de números de protocolo IP
- Lista de protocolos de red
- Lista de números de puerto TCP y UDP
Bibliografía
- Douglas E. Comer . Internetworking con TCP / IP: principios, protocolos y arquitectura . ISBN 86-7991-142-9
- Joseph G. Davies y Thomas F. Lee. Servicios y protocolos TCP / IP de Microsoft Windows Server 2003 . ISBN 0-7356-1291-9
- Forouzan, Behrouz A. (2003). Conjunto de protocolos TCP / IP (2ª ed.). McGraw-Hill. ISBN 978-0-07-246060-5.
- Administración de la red TCP / IP de Craig Hunt . O'Reilly (1998) ISBN 1-56592-322-7
- Maufer, Thomas A. (1999). Fundamentos de PI . Prentice Hall. ISBN 978-0-13-975483-8.
- Ian McLean. Libro negro de Windows (R) 2000 TCP / IP . ISBN 1-57610-687-X
- Programación de red Ajit Mungale Pro .NET 1.1 . ISBN 1-59059-345-6
- W. Richard Stevens . TCP / IP ilustrado, volumen 1: los protocolos . ISBN 0-201-63346-9
- W. Richard Stevens y Gary R. Wright. TCP / IP Illustrated, Volumen 2: La implementación . ISBN 0-201-63354-X
- W. Richard Stevens . TCP / IP ilustrado, volumen 3: TCP para transacciones , HTTP , NNTP y los protocolos de dominio de UNIX . ISBN 0-201-63495-3
- Andrew S. Tanenbaum . Redes informáticas . ISBN 0-13-066102-3
- Clark, D. (1988). "La filosofía de diseño de los protocolos de Internet de DARPA". Actas del simposio sobre arquitecturas y protocolos de comunicación - SIGCOMM '88 (PDF) . Actas del Simposio SIGCOMM '88 sobre arquitecturas y protocolos de comunicaciones . ACM . págs. 106-114. doi : 10.1145 / 52324.52336 . ISBN 978-0897912792. S2CID 6156615 . Consultado el 16 de octubre de 2011 .
Referencias
- ^ a b Cerf, Vinton G. y Cain, Edward (1983), "El modelo de arquitectura de Internet del Departamento de Defensa" , Computer Networks , 7, North-Holland, págs. 307–318, CiteSeerX 10.1.1.88.7505
- ^ a b RFC 1122, Requisitos para hosts de Internet - Capas de comunicación , R. Braden (ed.), octubre de 1989.
- ^ RFC 1123, Requisitos para hosts de Internet: aplicación y soporte , R. Braden (ed.), Octubre de 1989
- ^ Abbate, Janet (2000). Inventando Internet . Prensa del MIT. págs. 123–4. ISBN 978-0-262-51115-5.
- ^ Cerf, V .; Kahn, R. (1974). "Un protocolo para la intercomunicación de red de paquetes" (PDF) . Transacciones IEEE sobre comunicaciones . 22 (5): 637–648. doi : 10.1109 / TCOM.1974.1092259 . ISSN 1558-0857 .
Los autores desean agradecer a varios colegas sus útiles comentarios durante las primeras discusiones de los protocolos de redes internacionales, especialmente R. Metcalfe, R. Scantlebury, D. Walden y H. Zimmerman; D. Davies y L. Pouzin, quienes comentaron constructivamente sobre las cuestiones de fragmentación y contabilidad; y S. Crocker quien comentó sobre la creación y destrucción de asociaciones.
- ^ "El quinto hombre de Internet" . Economista . 13 de diciembre de 2013 . Consultado el 11 de septiembre de 2017 .
A principios de la década de 1970, Pouzin creó una innovadora red de datos que unía ubicaciones en Francia, Italia y Gran Bretaña. Su simplicidad y eficiencia señalaron el camino hacia una red que podría conectar no solo docenas de máquinas, sino millones de ellas. Capturó la imaginación del Dr. Cerf y el Dr. Kahn, quienes incluyeron aspectos de su diseño en los protocolos que ahora alimentan Internet.
- ^ Vinton Cerf , Yogen Dalal , Carl Sunshine (diciembre de 1974), RFC 675 , Especificación del protocolo de control de transmisión de Internet (diciembre de 1974)
- ^ Salón de la fama de Internet
- ^ Panzaris, Georgios (2008). Máquinas y romances: la construcción técnica y narrativa de la informática en red como plataforma polivalente, 1960-1995 . Universidad de Stanford . pag. 128.
- ^ Pelkey, James L. (2007). "Yogen Dalal". Capitalismo e innovación empresarial: una historia de las comunicaciones informáticas, 1968-1988 . Consultado el 5 de septiembre de 2019 .
- ^ Postel, Jon (1977), "Sección 3.3.3.2" , Comentarios sobre Protocolo de Internet y TCP
- ^ "La Guía de TCP / IP - Descripción general e historial de TCP / IP" . www.tcpipguide.com . Consultado el 11 de febrero de 2020 .
- ^ a b por Vinton Cerf, contado 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 simultáneas en Stanford, BBN y University College London. Así que 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 deja ARPANET y se convierte en una conexión a Internet.
- ^ RFC 1812, Requisitos para enrutadores IP versión 4 , F. Baker (junio de 1995)
- ^ Crowell, William; Contos, Brian; DeRodeff, Colby (2011). Convergencia de seguridad física y lógica: impulsada por la gestión de seguridad empresarial . Syngress. pag. 99. ISBN 9780080558783.
- ^ Ronda Hauben. "De ARPANET a Internet" . Resumen de TCP (UUCP) . Consultado el 5 de julio de 2007 .
- ^ Martín, Olivier (2012). La prehistoria "oculta" de las redes de investigación europeas . Publicación de Trafford. ISBN 978-1466938724.
- ^ Kirstein, Peter T. "Primeras experiencias con ARPANET e Internet en el Reino Unido" . Departamento de Informática, Grupo de Investigación de Sistemas y Redes, University College London . Consultado el 13 de abril de 2016 .
- ^ "Protocolo de Internet TCP / IP" . Archivado desde el original el 1 de enero de 2018 . Consultado el 31 de diciembre de 2017 .
- ^ Leiner, Barry M .; et al. (1997), Breve historia de Internet (PDF) , Internet Society , p. 15
- ^ Wollongong
- ^ "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 .
- ^ Baker, Steven; Gillies, Donald W. "Escritorio TCP / IP a mediana edad" .
- ^ Romkey, John (17 de febrero de 2011). "Acerca de" . Consultado el 12 de septiembre de 2016 .
- ^ Phil Karn, sitio web de descarga de KA9Q TCP
- ^ Andrew L. Russell (30 de julio de 2013). "OSI: Internet que no fue" . Espectro IEEE . Vol. 50 no. 8.
- ^ Russell, Andrew L. "Consenso aproximado y código en ejecución" y la guerra de estándares de Internet-OSI " (PDF) . IEEE Annals of the History of Computing. Archivado desde el original (PDF) el 17 de noviembre de 2019.
- ^ a b Davies, Howard; Bressan, Beatrice (26 de abril de 2010). Una historia de las redes de investigación internacionales: las personas que lo hicieron realidad . John Wiley e hijos. ISBN 978-3-527-32710-2.
- ^ Repensar el diseño de Internet: los argumentos de un extremo a otro frente al mundo feliz, Marjory S. Blumenthal, David D. Clark, agosto de 2001
- ^ Jon Postel, ed. (Septiembre de 1981). Protocolo de Internet DARPA Especificación del protocolo de programa de Internet . pag. 23. doi : 10.17487 / RFC0791 . RFC 791 .
- ^ R. Braden, ed. (Octubre de 1989). Requisitos para hosts de Internet: capas de comunicación . pag. 13. doi : 10.17487 / RFC1122 . RFC 1122 .
- ^ B. Carpenter, ed. (Junio de 1996). Principios arquitectónicos de Internet . doi : 10.17487 / RFC1958 . RFC 1958 .
- ^ Hunt, Craig (2002). Administración de redes TCP / IP (3ª ed.). O'Reilly. págs. 9-10. ISBN 9781449390785.
- ^ TCP / IP ilustrado: los protocolos , ISBN 0-201-63346-9 , W. Richard Stevens, febrero de 1994
- ^ RFC 1122 , Requisitos para hosts de Internet - Capas de comunicación , 1.1.3 Conjunto de protocolos de Internet , 1989
- ^ Tinte, Mark; McDonald, Rick; Rufi, Antoon (29 de octubre de 2007). Aspectos básicos de la red, Guía complementaria de exploración de CCNA . Prensa de Cisco. ISBN 9780132877435. Consultado el 12 de septiembre de 2016 , a través de Google Books.
- ^ James F. Kurose, Keith W. Ross, Redes informáticas: un enfoque de arriba hacia abajo, 2008ISBN 0-321-49770-8
- ^ Forouzan, Behrouz A .; Fegan, Sophia Chung (1 de agosto de 2003). Comunicaciones de datos y redes . Educación superior McGraw-Hill. ISBN 9780072923544. Consultado el 12 de septiembre de 2016 , a través de Google Books.
- ^ Comer, Douglas (1 de enero de 2006). Internetworking con TCP / IP: Principios, protocolos y arquitectura . Prentice Hall. ISBN 0-13-187671-6. Consultado el 12 de septiembre de 2016 , a través de Google Books.
- ^ Kozierok, Charles M. (1 de enero de 2005). La guía TCP / IP: una referencia completa e ilustrada de protocolos de Internet . Sin prensa de almidón. ISBN 9781593270476. Consultado el 12 de septiembre de 2016 , a través de Google Books.
- ^ Stallings, William (1 de enero de 2007). Comunicaciones informáticas y de datos . Prentice Hall. ISBN 978-0-13-243310-5. Consultado el 12 de septiembre de 2016 , a través de Google Books.
- ^ Tanenbaum, Andrew S. (1 de enero de 2003). Redes informáticas . PTR de Prentice Hall. pag. 42 . ISBN 0-13-066102-3. Consultado el 12 de septiembre de 2016 , a través de Internet Archive.
redes.
- ^ RFC 3439, Algunas pautas de arquitectura y filosofía de Internet , R. Bush, D. Meyer (eds.), Diciembre de 2002.
enlaces externos
- Historial de Internet : páginas sobre Robert Kahn, Vinton Cerf y TCP / IP (revisadas por Cerf y Kahn).
- RFC 675 - Especificación del programa de control de transmisión de Internet, versión de diciembre de 1974
- RFC 1180 A TCP / IP Tutorial: del Grupo de trabajo de ingeniería de Internet (enero de 1991)
- Preguntas frecuentes sobre TCP / IP
- La guía de TCP / IP : una mirada completa a los protocolos y los procedimientos / procesos involucrados
- Un estudio del resumen de ARPANET TCP / IP
- Diagramas de secuencia de TCP / IP
- Manual básico de TCP / IP de Daryl : introducción a la administración de LAN TCP / IP, estilo conversacional
- Introducción a TCP / IP
- A Protocol for Packet Network Intercommunication, Cerf & Kahn, IEEE Trans on Comms, Vol Com-22, No 5 de mayo de 1974