stringtranslate.com

Protocolo de comunicación

Un protocolo de comunicación es un sistema de reglas que permite que dos o más entidades de un sistema de comunicaciones transmitan información a través de cualquier variación de una cantidad física . El protocolo define las reglas, la sintaxis , la semántica y la sincronización de la comunicación y los posibles métodos de recuperación de errores . Los protocolos pueden implementarse mediante hardware , software o una combinación de ambos. [1]

Los sistemas de comunicación utilizan formatos bien definidos para intercambiar varios mensajes. Cada mensaje tiene un significado exacto destinado a provocar una respuesta entre una gama de posibles respuestas predeterminadas para esa situación particular. El comportamiento especificado suele ser independiente de cómo se implementará . Los protocolos de comunicación deben ser acordados por las partes involucradas. [2] Para llegar a un acuerdo, se podrá desarrollar un protocolo hasta convertirlo en una norma técnica . Un lenguaje de programación describe lo mismo para los cálculos, por lo que existe una estrecha analogía entre los protocolos y los lenguajes de programación: los protocolos son para la comunicación lo que los lenguajes de programación son para los cálculos . [3] Una formulación alternativa establece que los protocolos son para comunicar lo que los algoritmos son para la computación . [4]

A menudo, varios protocolos describen diferentes aspectos de una única comunicación. Un grupo de protocolos diseñados para funcionar juntos se conoce como conjunto de protocolos; cuando se implementan en software, son una pila de protocolos .

Los protocolos de comunicación de Internet son publicados por el Grupo de Trabajo de Ingeniería de Internet (IETF). El IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) se ocupa de las redes cableadas e inalámbricas y la Organización Internacional de Normalización (ISO) se ocupa de otros tipos. El UIT-T maneja protocolos y formatos de telecomunicaciones para la red telefónica pública conmutada (PSTN). A medida que la RTPC e Internet convergen , los estándares también avanzan hacia la convergencia.

Sistemas comunicantes

Historia

El primer uso del término protocolo en un contexto moderno de conmutación de datos se produce en abril de 1967 en un memorando titulado Un protocolo para su uso en la red de comunicaciones de datos NPL . Bajo la dirección de Donald Davies , pionero en la conmutación de paquetes en el Laboratorio Nacional de Física del Reino Unido, fue escrito por Roger Scantlebury y Keith Bartlett. [5] [6] [7] [8] [9]

En ARPANET , el punto de partida para la comunicación de host a host en 1969 fue el protocolo 1822 , escrito por Bob Kahn , que definía la transmisión de mensajes a un IMP. [10] El Programa de control de red (NCP) para ARPANET, desarrollado por Steve Crocker y otros estudiantes graduados, incluidos Jon Postel y Vint Cerf , se implementó por primera vez en 1970. [11] La interfaz NCP permitió que el software de aplicación se conectara a través de ARPANET mediante implementar protocolos de comunicación de nivel superior, un ejemplo temprano del concepto de capas de protocolos . [12]

La red CYCLADES , diseñada por Louis Pouzin a principios de la década de 1970, fue la primera en implementar el principio de extremo a extremo y responsabilizar a los hosts de la entrega confiable de datos en una red de conmutación de paquetes, en lugar de ser un servicio de la propia red. [13] Su equipo fue el primero en abordar el problema altamente complejo de proporcionar a las aplicaciones de usuario un servicio de circuito virtual confiable mientras se utiliza un servicio de mejor esfuerzo , una contribución temprana a lo que será el Protocolo de control de transmisión (TCP). [14] [15] [16]

Bob Metcalfe y otros en Xerox PARC describieron la idea de Ethernet y PARC Universal Packet (PUP) para la interconexión de redes. [17]

La investigación realizada a principios de la década de 1970 por Bob Kahn y Vint Cerf condujo a la formulación del Programa de Control de Transmisión (TCP). [18] Su especificación RFC  675 fue escrita por Cerf con Yogen Dalal y Carl Sunshine en diciembre de 1974, todavía un diseño monolítico en este momento.

El Grupo de Trabajo sobre Redes Internacionales acordó un estándar de datagramas sin conexión que se presentó al CCITT en 1975 pero no fue adoptado por el CCITT ni por ARPANET. [19] La investigación internacional, en particular el trabajo de Rémi Després , contribuyó al desarrollo del estándar X.25 , basado en circuitos virtuales , por parte del CCITT en 1976. [20] [21] Los fabricantes de computadoras desarrollaron protocolos propietarios como el Systems Network de IBM. Arquitectura (SNA), DECnet y Xerox Network Systems de Digital Equipment Corporation . [22]

El software TCP fue rediseñado como una pila de protocolos modular. Originalmente denominado IP/TCP , se instaló en SATNET en 1982 y en ARPANET en enero de 1983. El desarrollo de un conjunto completo de protocolos en 1989, como se describe en RFC  1122 y RFC  1123, sentó las bases para el crecimiento de TCP. /IP como conjunto integral de protocolos como componente central de la Internet emergente . [23]

El trabajo internacional sobre un modelo de referencia para estándares de comunicación condujo al modelo OSI , publicado en 1984. Durante un período entre finales de los 80 y principios de los 90, los ingenieros, las organizaciones y las naciones se polarizaron sobre la cuestión de qué estándar , el modelo OSI o Internet. conjunto de protocolos, daría como resultado las mejores y más robustas redes informáticas. [24] [25] [26]

Concepto

La información intercambiada entre dispositivos a través de una red u otros medios se rige por reglas y convenciones que pueden establecerse en las especificaciones del protocolo de comunicación. Estas especificaciones definen la naturaleza de la comunicación, los datos reales intercambiados y cualquier comportamiento dependiente del estado . En los sistemas informáticos digitales, las reglas pueden expresarse mediante algoritmos y estructuras de datos . Los protocolos sirven para comunicar lo que los algoritmos o lenguajes de programación son para los cálculos. [3] [4]

Los sistemas operativos suelen contener un conjunto de procesos cooperativos que manipulan datos compartidos para comunicarse entre sí. Esta comunicación se rige por protocolos bien entendidos, que pueden integrarse en el propio código del proceso. [27] [28] Por el contrario, debido a que no hay memoria compartida , los sistemas de comunicación tienen que comunicarse entre sí utilizando un medio de transmisión compartido . La transmisión no es necesariamente confiable y los sistemas individuales pueden utilizar hardware o sistemas operativos diferentes.

Para implementar un protocolo de red, los módulos de software del protocolo están interconectados con un marco implementado en el sistema operativo de la máquina. Este marco implementa la funcionalidad de red del sistema operativo. [29] Cuando los algoritmos de protocolo se expresan en un lenguaje de programación portátil, el software del protocolo puede hacerse independiente del sistema operativo . Los frameworks más conocidos son el modelo TCP/IP y el modelo OSI .

En el momento en que se desarrolló Internet, las capas de abstracción habían demostrado ser un enfoque de diseño exitoso tanto para el diseño de compiladores como para sistemas operativos y, dadas las similitudes entre los lenguajes de programación y los protocolos de comunicación, los programas de red originalmente monolíticos se descompusieron en protocolos cooperativos. [30] Esto dio lugar al concepto de protocolos en capas que hoy en día forma la base del diseño de protocolos. [31]

Los sistemas normalmente no utilizan un único protocolo para manejar una transmisión. En su lugar, utilizan un conjunto de protocolos cooperativos, a veces denominado conjunto de protocolos . [32] Algunas de las suites de protocolos más conocidas son TCP/IP , IPX/SPX , X.25 , AX.25 y AppleTalk .

Los protocolos se pueden organizar según la funcionalidad en grupos; por ejemplo, hay un grupo de protocolos de transporte . Las funcionalidades se asignan a las capas, y cada capa resuelve una clase distinta de problemas relacionados, por ejemplo, con funciones de aplicación, transporte, Internet y interfaz de red. [33] Para transmitir un mensaje, se debe seleccionar un protocolo de cada capa. La selección del siguiente protocolo se logra ampliando el mensaje con un selector de protocolo para cada capa. [34]

Tipos

Existen dos tipos de protocolos de comunicación, en función de su representación del contenido que se transmite: basados ​​en texto y binarios. [35]

Basado en texto

Un protocolo basado en texto o protocolo de texto sin formato representa su contenido en formato legible por humanos , a menudo en texto sin formato codificado en una codificación legible por máquina como ASCII o UTF-8 , o en formatos estructurados basados ​​en texto como XML o JSON .

La legibilidad humana inmediata contrasta con los protocolos binarios nativos que tienen beneficios inherentes para su uso en un entorno informático (como la facilidad de análisis mecánico y la utilización mejorada del ancho de banda ).

Las aplicaciones de red tienen varios métodos para encapsular datos. Un método muy común con los protocolos de Internet es una representación orientada a texto que transmite solicitudes y respuestas como líneas de texto ASCII , terminadas con un carácter de nueva línea (y normalmente un carácter de retorno de carro). Ejemplos de protocolos que utilizan texto plano y legible por humanos para sus comandos son FTP ( Protocolo de transferencia de archivos ), SMTP ( Protocolo simple de transferencia de correo ), versiones anteriores de HTTP ( Protocolo de transferencia de hipertexto ) y el protocolo Finger . [36]

Los protocolos basados ​​en texto generalmente están optimizados para el análisis y la interpretación humanos y, por lo tanto, son adecuados siempre que se requiere una inspección humana del contenido del protocolo, como durante la depuración y durante las primeras fases de diseño del desarrollo del protocolo.

Binario

Un protocolo binario utiliza todos los valores de un byte , a diferencia de un protocolo basado en texto que sólo utiliza valores correspondientes a caracteres legibles por humanos en codificación ASCII . Los protocolos binarios están destinados a ser leídos por una máquina y no por un ser humano. Los protocolos binarios tienen la ventaja de ser concisos, lo que se traduce en velocidad de transmisión e interpretación. [37]

Los binarios se han utilizado en los documentos normativos que describen estándares modernos como EbXML , HTTP/2 , HTTP/3 y EDOC . [38] Una interfaz en UML [39] también puede considerarse un protocolo binario.

Requerimientos básicos

Obtener los datos a través de una red es sólo una parte del problema de un protocolo. Los datos recibidos deben evaluarse en el contexto del progreso de la conversación, por lo que un protocolo debe incluir reglas que describan el contexto. Se dice que este tipo de reglas expresan la sintaxis de la comunicación. Otras reglas determinan si los datos son significativos para el contexto en el que tiene lugar el intercambio. Se dice que este tipo de reglas expresan la semántica de la comunicación.

Los mensajes se envían y reciben en sistemas de comunicación para establecer comunicación. Por tanto, los protocolos deberían especificar las normas que rigen la transmisión. En general, se debe abordar gran parte de lo siguiente: [40]

Formatos de datos para el intercambio de datos.
Se intercambian cadenas de bits de mensajes digitales. Las cadenas de bits se dividen en campos y cada campo contiene información relevante para el protocolo. Conceptualmente, la cadena de bits se divide en dos partes llamadas encabezado y carga útil . El mensaje real se transporta en la carga útil. El área del encabezado contiene los campos relevantes para el funcionamiento del protocolo. Las cadenas de bits más largas que la unidad máxima de transmisión (MTU) se dividen en partes del tamaño apropiado. [41]
Formatos de dirección para el intercambio de datos.
Las direcciones se utilizan para identificar tanto al remitente como a los destinatarios previstos. Las direcciones se transportan en el área del encabezado de las cadenas de bits, lo que permite a los receptores determinar si las cadenas de bits son de interés y deben procesarse o ignorarse. Una conexión entre un remitente y un receptor se puede identificar mediante un par de direcciones (dirección del remitente, dirección del receptor) . Normalmente, algunos valores de dirección tienen significados especiales. Se podría interpretar que una dirección de todos 1 s significa una dirección de todas las estaciones en la red, por lo que enviar a esta dirección resultaría en una transmisión en la red local. Las reglas que describen los significados del valor de la dirección se denominan colectivamente esquema de direccionamiento . [42]
Mapeo de direcciones
A veces, los protocolos necesitan asignar direcciones de un esquema a direcciones de otro esquema. Por ejemplo, para traducir una dirección IP lógica especificada por la aplicación a una dirección MAC Ethernet. Esto se conoce como mapeo de direcciones . [43]
Enrutamiento
Cuando los sistemas no están conectados directamente, los sistemas intermediarios a lo largo de la ruta hacia los receptores previstos deben reenviar mensajes en nombre del remitente. En Internet, las redes se conectan mediante enrutadores. La interconexión de redes a través de routers se denomina interconexión de redes .
Detección de errores de transmisión
La detección de errores es necesaria en redes donde es posible la corrupción de datos. En un enfoque común, se agrega un CRC del área de datos al final de los paquetes, lo que permite al receptor detectar diferencias causadas por la corrupción. El receptor rechaza los paquetes por diferencias CRC y organiza de alguna manera la retransmisión. [44]
Agradecimientos
Para la comunicación orientada a conexión se requiere el acuse de recibo de la recepción correcta de los paquetes . Los acuses de recibo se envían desde los receptores a sus respectivos remitentes. [45]
Pérdida de información: tiempos de espera y reintentos
Los paquetes pueden perderse en la red o sufrir retrasos en tránsito. Para hacer frente a esto, según algunos protocolos, un remitente puede esperar un acuse de recibo de recepción correcta por parte del receptor dentro de un cierto período de tiempo. Por lo tanto, en los tiempos de espera , es posible que el remitente necesite retransmitir la información. [a] En caso de un enlace roto permanentemente, la retransmisión no tiene efecto, por lo que el número de retransmisiones es limitado. Exceder el límite de reintentos se considera un error. [46]
Dirección del flujo de información.
Es necesario abordar la dirección si las transmisiones sólo pueden ocurrir en una dirección a la vez, como en enlaces semidúplex , o desde un remitente a la vez, como en un medio compartido . Esto se conoce como control de acceso a los medios . Se deben tomar medidas para dar cabida al caso de colisión o contienda en el que dos partes transmiten o desean transmitir simultáneamente, respectivamente. [47]
control de secuencia
Si largas cadenas de bits se dividen en partes y luego se envían a la red individualmente, las partes pueden perderse o retrasarse o, en algunos tipos de redes, tomar diferentes rutas hacia su destino. Como resultado, es posible que las piezas lleguen fuera de secuencia. Las retransmisiones pueden resultar en piezas duplicadas. Al marcar las piezas con información de secuencia en el remitente, el receptor puede determinar qué se perdió o se duplicó, solicitar las retransmisiones necesarias y volver a ensamblar el mensaje original. [48]
Control de flujo
El control de flujo es necesario cuando el remitente transmite más rápido de lo que el receptor o el equipo de red intermedio pueden procesar las transmisiones. El control de flujo se puede implementar enviando mensajes del receptor al remitente. [49]
hacer cola
Los procesos de comunicación o máquinas de estado emplean colas (o "búferes"), generalmente colas FIFO, para procesar los mensajes en el orden de envío y, en ocasiones, pueden tener varias colas con diferente priorización.

Diseño de protocolo

Se han aplicado principios de ingeniería de sistemas para crear un conjunto de principios de diseño de protocolos de red comunes. El diseño de protocolos complejos a menudo implica la descomposición en protocolos cooperativos más simples. Este conjunto de protocolos cooperativos a veces se denomina familia de protocolos o conjunto de protocolos [32] dentro de un marco conceptual.

Los sistemas de comunicación funcionan simultáneamente. Un aspecto importante de la programación concurrente es la sincronización del software para recibir y transmitir mensajes de comunicación en la secuencia adecuada. La programación concurrente ha sido tradicionalmente un tema en los textos de teoría de sistemas operativos. [50] La verificación formal parece indispensable porque los programas concurrentes son conocidos por los errores ocultos y sofisticados que contienen. [51] Un enfoque matemático para el estudio de la concurrencia y la comunicación se denomina procesos secuenciales de comunicación (CSP). [52] La concurrencia también se puede modelar utilizando máquinas de estados finitos , como las máquinas de Mealy y Moore . Las máquinas de Mealy y Moore se utilizan como herramientas de diseño en sistemas electrónicos digitales que se encuentran en forma de hardware utilizado en telecomunicaciones o dispositivos electrónicos en general. [53] [ se necesita una mejor fuente ]

La literatura presenta numerosas analogías entre la comunicación informática y la programación. Por analogía, el mecanismo de transferencia de un protocolo es comparable a una unidad central de procesamiento (CPU). El marco introduce reglas que permiten al programador diseñar protocolos cooperativos independientemente unos de otros.

capas

Figura 2. Protocolos en relación al esquema de capas de Internet.
Figura 2. El modelo TCP/IP o esquema de capas de Internet y su relación con algunos protocolos comunes.

En el diseño de protocolos moderno, los protocolos se superponen para formar una pila de protocolos. La estratificación es un principio de diseño que divide la tarea de diseño del protocolo en pasos más pequeños, cada uno de los cuales cumple una parte específica, interactuando con las otras partes del protocolo sólo en una pequeña cantidad de formas bien definidas. La estratificación permite diseñar y probar las partes de un protocolo sin una explosión combinatoria de casos, manteniendo cada diseño relativamente simple.

Los protocolos de comunicación que se utilizan en Internet están diseñados para funcionar en entornos diversos y complejos. Los protocolos de Internet están diseñados para ofrecer simplicidad y modularidad y encajan en una jerarquía burda de capas funcionales definidas en Internet Protocol Suite . [54] Los dos primeros protocolos de cooperación, el Protocolo de control de transmisión (TCP) y el Protocolo de Internet (IP), resultaron de la descomposición del Programa de control de transmisión original, un protocolo de comunicación monolítico, en este conjunto de comunicaciones en capas.

El modelo OSI se desarrolló internacionalmente basándose en la experiencia con redes anteriores a Internet como modelo de referencia para la comunicación general con reglas de interacción de protocolos mucho más estrictas y capas rigurosas.

Normalmente, el software de aplicación se basa en una sólida capa de transporte de datos. Detrás de esta capa de transporte hay un mecanismo de enrutamiento y entrega de datagramas que normalmente no tiene conexión en Internet. La retransmisión de paquetes a través de redes se produce a través de otra capa que involucra únicamente tecnologías de enlace de red, que a menudo son específicas de ciertas tecnologías de capa física, como Ethernet . La estratificación brinda oportunidades para intercambiar tecnologías cuando sea necesario; por ejemplo, los protocolos a menudo se apilan en una disposición de túnel para acomodar la conexión de redes diferentes. Por ejemplo, se puede hacer un túnel IP a través de una red de modo de transferencia asincrónica (ATM).

Capas de protocolo

Figura 3. Flujos de mensajes utilizando un conjunto de protocolos.
Figura 3. Flujos de mensajes utilizando un conjunto de protocolos. Los bucles negros muestran los bucles de mensajería reales, los bucles rojos son la comunicación efectiva entre capas habilitada por las capas inferiores.

La estratificación de protocolos forma la base del diseño de protocolos. [31] Permite la descomposición de protocolos únicos y complejos en protocolos cooperativos más simples. [54] Cada una de las capas de protocolo resuelve una clase distinta de problemas de comunicación. Juntas, las capas forman un esquema o modelo de capas.

Los cálculos se ocupan de algoritmos y datos; La comunicación implica protocolos y mensajes; Entonces, el análogo de un diagrama de flujo de datos es algún tipo de diagrama de flujo de mensajes. [4] Para visualizar las capas de protocolos y los conjuntos de protocolos, en la figura 3 se muestra un diagrama de los flujos de mensajes dentro y entre dos sistemas, A y B. Ambos sistemas, A y B, utilizan el mismo conjunto de protocolos. Los flujos (y protocolos) verticales están dentro del sistema y los flujos (y protocolos) de mensajes horizontales están entre sistemas. Los flujos de mensajes se rigen por reglas y los formatos de datos especificados por protocolos. Las líneas azules marcan los límites de las capas de protocolo (horizontales).

Capas de software

Figura 5: Capas de protocolo y software. Los módulos de software que implementan los protocolos están representados por cubos. El flujo de información entre los módulos está representado por flechas. Las flechas rojas (las dos superiores horizontales) son virtuales. Las líneas azules marcan los límites de las capas.

El software que soporta protocolos tiene una organización en capas y su relación con la estratificación de protocolos se muestra en la figura 5.

Para enviar un mensaje en el sistema A, el módulo de software de capa superior interactúa con el módulo directamente debajo de él y entrega el mensaje que se va a encapsular. El módulo inferior completa los datos del encabezado de acuerdo con el protocolo que implementa e interactúa con el módulo inferior que envía el mensaje a través del canal de comunicaciones al módulo inferior del sistema B. En el sistema receptor B sucede lo contrario, por lo que finalmente el mensaje se entrega en su forma original al módulo superior del sistema B. [55]

La traducción del programa se divide en subproblemas. Como resultado, el software de traducción también tiene capas, lo que permite que las capas del software se diseñen de forma independiente. El mismo enfoque se puede ver en las capas TCP/IP. [56]

Los módulos debajo de la capa de aplicación generalmente se consideran parte del sistema operativo. Pasar datos entre estos módulos es mucho menos costoso que pasar datos entre un programa de aplicación y la capa de transporte. El límite entre la capa de aplicación y la capa de transporte se denomina límite del sistema operativo. [57]

capas estrictas

Adherirse estrictamente a un modelo en capas, una práctica conocida como estratificación estricta, no siempre es el mejor enfoque para la creación de redes. [58] La estratificación estricta puede tener un impacto negativo en el rendimiento de una implementación. [59]

Aunque el uso de capas de protocolos es hoy omnipresente en el campo de las redes informáticas, históricamente ha sido criticado por muchos investigadores [60] ya que abstraer la pila de protocolos de esta manera puede causar que una capa superior duplique la funcionalidad de una capa inferior, Un buen ejemplo es la recuperación de errores tanto por enlace como de extremo a extremo. [61]

Patrones de diseño

Los problemas comúnmente recurrentes en el diseño e implementación de protocolos de comunicación pueden abordarse mediante patrones de diseño de software . [62] [63] [64] [65] [66]

especificación formal

Los métodos formales populares para describir la sintaxis de la comunicación son la notación de sintaxis abstracta uno (un estándar ISO ) y la forma Backus-Naur aumentada (un estándar IETF ).

Los modelos de máquinas de estados finitos se utilizan para describir formalmente las posibles interacciones del protocolo. [67] [68] y máquinas comunicantes de estados finitos [69]

Desarrollo de protocolo

Para que se produzca la comunicación, es necesario seleccionar protocolos. Las reglas pueden expresarse mediante algoritmos y estructuras de datos. La independencia del hardware y del sistema operativo se mejora al expresar los algoritmos en un lenguaje de programación portátil. La independencia de la fuente de la especificación proporciona una interoperabilidad más amplia.

Los estándares de protocolo comúnmente se crean obteniendo la aprobación o el apoyo de una organización de estándares , que inicia el proceso de estandarización. Los miembros de la organización de normalización se comprometen a adherirse voluntariamente al resultado del trabajo. A menudo, los miembros controlan grandes cuotas de mercado relevantes para el protocolo y, en muchos casos, las normas son impuestas por la ley o el gobierno porque se cree que sirven a un interés público importante, por lo que obtener la aprobación puede ser muy importante para el protocolo.

La necesidad de estándares de protocolo

La necesidad de estándares de protocolo se puede demostrar observando lo que sucedió con el protocolo de Comunicaciones Síncronas Binarias (BSC) inventado por IBM . BSC es uno de los primeros protocolos a nivel de enlace que se utiliza para conectar dos nodos separados. Originalmente no estaba destinado a ser utilizado en una red multinodo, pero al hacerlo se revelaron varias deficiencias del protocolo. A falta de estandarización, los fabricantes y organizaciones se sintieron libres de mejorar el protocolo, creando versiones incompatibles en sus redes. En algunos casos, esto se hizo deliberadamente para disuadir a los usuarios de utilizar equipos de otros fabricantes. Existen más de 50 variantes del protocolo bi-sync original. Se puede suponer que una norma habría evitado que al menos parte de esto sucediera. [29]

En algunos casos, los protocolos ganan dominio en el mercado sin pasar por un proceso de estandarización. Estos protocolos se denominan normas de facto . Los estándares de facto son comunes en los mercados emergentes, nichos de mercado o mercados monopolizados ( u oligopolizados ). Pueden mantener un mercado en una situación muy negativa, especialmente cuando se utilizan para ahuyentar a la competencia. Desde una perspectiva histórica, la normalización debería verse como una medida para contrarrestar los efectos nocivos de las normas de facto. Existen excepciones positivas; Un sistema operativo estándar de facto como Linux no tiene esta influencia negativa en su mercado, porque las fuentes se publican y mantienen de forma abierta, lo que invita a la competencia.

Organizaciones de estándares

Algunas de las organizaciones de normalización relevantes para los protocolos de comunicación son la Organización Internacional de Normalización (ISO), la Unión Internacional de Telecomunicaciones (UIT), el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) y el Grupo de Trabajo de Ingeniería de Internet (IETF). El IETF mantiene los protocolos en uso en Internet. El IEEE controla muchos protocolos de software y hardware en la industria electrónica para dispositivos comerciales y de consumo. La UIT es una organización que agrupa a ingenieros de telecomunicaciones que diseñan la red telefónica pública conmutada (PSTN), así como muchos sistemas de comunicación por radio . Para la electrónica marina se utilizan los estándares NMEA . El World Wide Web Consortium (W3C) produce protocolos y estándares para tecnologías web.

Se supone que las organizaciones internacionales de normalización son más imparciales que las organizaciones locales que tienen que considerar intereses nacionales o comerciales. Las organizaciones de normalización también realizan investigación y desarrollo de normas del futuro. En la práctica, las organizaciones de normalización mencionadas cooperan estrechamente entre sí. [70]

En el desarrollo de un protocolo pueden participar múltiples organismos de normalización. Si no están coordinados, el resultado puede ser definiciones múltiples e incompatibles de un protocolo, o interpretaciones múltiples e incompatibles de mensajes; invariantes importantes en una definición (por ejemplo, que los valores de tiempo de vida son monótonos decrecientes para evitar bucles de enrutamiento estables ) pueden no respetarse en otra. [71]

El proceso de estandarización

En ISO, el proceso de estandarización comienza con la puesta en servicio de un subcomité de trabajo. El grupo de trabajo emite borradores de trabajo y documentos de discusión a las partes interesadas (incluidos otros organismos de normalización) para provocar debates y comentarios. Esto generará muchas preguntas, mucha discusión y generalmente algún desacuerdo. Estos comentarios se tienen en cuenta y el grupo de trabajo elabora un borrador de propuesta . Después de comentarios, modificaciones y compromisos, la propuesta alcanza el estatus de borrador de norma internacional y, en última instancia, de norma internacional . Las normas internacionales se vuelven a publicar periódicamente para abordar las deficiencias y reflejar los cambios de opinión sobre el tema. [72]

estandarización OSI

Una lección aprendida de ARPANET , el predecesor de Internet, fue que los protocolos necesitan un marco para funcionar. Por lo tanto, es importante desarrollar un marco de propósito general y preparado para el futuro, adecuado para protocolos estructurados (como protocolos en capas) y su estandarización. Esto evitaría estándares de protocolo con funcionalidades superpuestas y permitiría una definición clara de las responsabilidades de un protocolo en los diferentes niveles (capas). [74] Esto dio lugar al modelo de interconexión de sistemas abiertos (modelo OSI), que se utiliza como marco para el diseño de protocolos y servicios estándar que se ajustan a las distintas especificaciones de capa. [75]

En el modelo OSI, se supone que los sistemas en comunicación están conectados por un medio físico subyacente que proporciona un mecanismo de transmisión básico. Las capas superiores están numeradas. Cada capa proporciona servicio a la capa superior utilizando los servicios de la capa inmediatamente inferior. La capa superior proporciona servicios al proceso de solicitud. Las capas se comunican entre sí mediante una interfaz, denominada punto de acceso al servicio . Las capas correspondientes en cada sistema se denominan entidades pares . Para comunicarse, dos entidades pares en una capa determinada utilizan un protocolo específico de esa capa que se implementa mediante el uso de servicios de la capa inferior. [76] Para cada capa, existen dos tipos de estándares: estándares de protocolo que definen cómo se comunican las entidades pares en una capa determinada, y estándares de servicio que definen cómo una capa determinada se comunica con la capa superior.

En el modelo OSI, las capas y su funcionalidad son (de mayor a menor capa):

A diferencia del esquema de capas TCP/IP, que supone una red sin conexión, RM/OSI asumió una red orientada a la conexión. [84] Las redes orientadas a conexión son más adecuadas para redes de área amplia y las redes sin conexión son más adecuadas para redes de área local. La comunicación orientada a la conexión requiere algún tipo de sesión y circuitos (virtuales), de ahí la capa de sesión (que falta en el modelo TCP/IP). Los miembros constituyentes de ISO estaban principalmente preocupados por las redes de área amplia, por lo que el desarrollo de RM/OSI se concentró en redes orientadas a conexión y redes sin conexión y se mencionó por primera vez en un addendum a RM/OSI [85 ] [86] y luego se incorporó a un actualizar a RM/OSI. [87]

En ese momento, [ ¿cuándo? ] el IETF tuvo que lidiar con esto y con el hecho de que Internet necesitaba protocolos que simplemente no existían. [ cita necesaria ] Como resultado, el IETF desarrolló su propio proceso de estandarización basado en "consenso aproximado y código en ejecución". [88] El proceso de estandarización se describe en RFC  2026.

Hoy en día, el IETF se ha convertido en una organización de estándares para los protocolos utilizados en Internet. RM/OSI ha ampliado su modelo para incluir servicios sin conexión y debido a esto, tanto TCP como IP podrían convertirse en estándares internacionales. [ cita necesaria ]

Imagen de alambre

La imagen alámbrica de un protocolo es la información que un observador no participante puede obtener al observar los mensajes del protocolo, incluida tanto la información a la que el protocolo da significado explícitamente como las inferencias realizadas por el observador. [89] Los metadatos del protocolo no cifrados son una de las fuentes que componen la imagen del cable, y los canales laterales, incluida la sincronización de paquetes, también contribuyen. [90] Diferentes observadores con diferentes puntos de vista pueden ver diferentes imágenes de cables. [91] La imagen del cable es relevante para la privacidad del usuario final y la extensibilidad del protocolo. [92]

Si alguna parte de la imagen del cable no está autenticada criptográficamente , está sujeta a modificaciones por parte de partes intermedias (es decir, middleboxes ), lo que puede influir en el funcionamiento del protocolo. [90] Incluso si se autentica, si una parte no está cifrada, formará parte de la imagen del cable, y partes intermediarias pueden intervenir dependiendo de su contenido (por ejemplo, descartando paquetes con banderas particulares). Las señales destinadas deliberadamente al consumo intermediario pueden dejarse autenticadas pero sin cifrar. [93]

La imagen del cable se puede diseñar deliberadamente, cifrando partes que los intermediarios no deberían poder observar y proporcionando señales de lo que deberían poder observar. [94] Si las señales proporcionadas se desacoplan de la operación del protocolo, pueden volverse no confiables. [95] La gestión y la investigación de redes benignas se ven afectadas por el cifrado de metadatos; Los diseñadores de protocolos deben equilibrar la observabilidad para la operatividad y la investigación con la resistencia a la osificación y la privacidad del usuario final. [92] El IETF anunció en 2014 que había determinado que la vigilancia a gran escala de las operaciones del protocolo es un ataque debido a la capacidad de inferir información de la imagen del cable sobre los usuarios y su comportamiento, [96] y que el IETF "trabajaría mitigar el monitoreo generalizado" en sus diseños de protocolos; [97] esto no se había hecho sistemáticamente anteriormente. [97] La ​​Junta de Arquitectura de Internet recomendó en 2023 que la divulgación de información mediante un protocolo a la red debe ser intencional, [98] realizada con el acuerdo tanto del destinatario como del remitente, [99] autenticada en la medida posible y necesaria, [100 ] sólo actuó en función de su confiabilidad, [101] y se minimizó y proporcionó a un número mínimo de entidades. [102] [103] Diseñar la imagen del cable y controlar qué señales se proporcionan a los elementos de la red fue un "campo en desarrollo" en 2023, según la IAB. [104]

Osificación

La osificación de protocolos es la pérdida de flexibilidad, extensibilidad y capacidad de evolución de los protocolos de red . Esto se debe en gran medida a los middleboxes que son sensibles a la imagen de cable del protocolo y que pueden interrumpir o interferir con mensajes que son válidos pero que el middlebox no reconoce correctamente. [105] Esto es una violación del principio de extremo a extremo . [106] Las causas secundarias incluyen la inflexibilidad en las implementaciones de protocolos en los terminales. [107]

La osificación es un problema importante en el diseño y la implementación de protocolos de Internet , ya que puede impedir que se implementen nuevos protocolos o extensiones en Internet, o imponer restricciones al diseño de nuevos protocolos; Es posible que los nuevos protocolos deban encapsularse en un protocolo ya implementado o imitar la imagen de cable de otro protocolo. [108] Debido a la osificación, el Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP) son las únicas opciones prácticas para los protocolos de transporte en Internet, [109] y el propio TCP se ha osificado significativamente, lo que hace que la extensión o modificación del protocolo difícil. [110]

Los métodos recomendados para prevenir la osificación incluyen cifrar los metadatos del protocolo [111] y garantizar que se ejerciten los puntos de extensión y que la variabilidad de la imagen del cable se muestre de la manera más completa posible; [112] remediar la osificación existente requiere coordinación entre los participantes del protocolo. [113] QUIC es el primer protocolo de transporte del IETF que ha sido diseñado con propiedades antiosificación deliberadas. [89]

Taxonomías

Los esquemas de clasificación de protocolos normalmente se centran en el dominio de uso y función. Como ejemplo de dominio de uso, los protocolos orientados a la conexión y los protocolos sin conexión se utilizan en redes orientadas a la conexión y redes sin conexión, respectivamente. Un ejemplo de función es un protocolo de túnel , que se utiliza para encapsular paquetes en un protocolo de alto nivel para que los paquetes puedan pasar a través de un sistema de transporte utilizando el protocolo de alto nivel.

Un esquema de capas combina función y dominio de uso. Los esquemas de estratificación dominantes son los desarrollados por el IETF y la ISO. A pesar de que los supuestos subyacentes de los esquemas de estratificación son lo suficientemente diferentes como para justificar la distinción entre los dos, es una práctica común compararlos relacionando protocolos comunes con las capas de los dos esquemas. [114] El esquema de capas del IETF se llama capas de Internet o capas TCP/IP . El esquema de capas de ISO se llama modelo OSI o capas ISO .

En la configuración de equipos de red, a menudo se hace una distinción técnica: el término protocolo se refiere estrictamente a la capa de transporte y el término servicio se refiere a protocolos que utilizan un protocolo para el transporte. En el caso común de TCP y UDP, los servicios se distinguen por números de puerto. La conformidad con estos números de puerto es voluntaria, por lo que en los sistemas de inspección de contenido el término servicio se refiere estrictamente a los números de puerto y el término aplicación se utiliza a menudo para referirse a protocolos identificados mediante firmas de inspección.

Ver también

Notas

  1. ^ No recibir un acuse de recibo indica que se perdió la transmisión original o el acuse de recibo. El remitente no tiene medios para distinguir estos casos y, por lo tanto, para garantizar que se reciban todos los datos, debe asumir de forma conservadora que se perdió la transmisión original.

Referencias

  1. ^ Estados Unidos 7529565, Hilpisch, Robert E.; Duchscher, Rob & Seel, Mark et al., "Protocolo de comunicación inalámbrica", publicado el 5 de mayo de 2009, asignado a Starkey Laboratories Inc. y Oticon AS 
  2. ^ Protocolo, Encyclopædia Britannica , archivado desde el original el 12 de septiembre de 2012 , consultado el 24 de septiembre de 2012
  3. ^ ab Comer 2000, sección. 11.2 - La necesidad de múltiples protocolos, p. 177, "Ellos (los protocolos) son para comunicar lo que los lenguajes de programación son para la computación"
  4. ^ abc Comer 2000, secc. 1.3 - Servicios de Internet, pág. 3, "Los protocolos son para la comunicación lo que los algoritmos son para la computación"
  5. ^ Naughton, John (24 de septiembre de 2015). Una breve historia del futuro. Orión. ISBN 978-1-4746-0277-8.
  6. ^ Cambell-Kelly, Martín (1987). "Comunicaciones de Datos en el Laboratorio Nacional de Física (1965-1975)". Anales de la Historia de la Computación . 9 (3/4): 221–247. doi :10.1109/MAHC.1987.10023. S2CID  8172150.
  7. ^ Pelkey, James L. "6.1 La subred de comunicaciones: BBN 1969". Capitalismo empresarial e innovación: una historia de las comunicaciones informáticas 1968-1988 . Como recuerda Kahn: ... Las contribuciones de Paul Baran ... También creo que Paul estaba motivado casi exclusivamente por consideraciones de voz. Si nos fijamos en lo que escribió, estaba hablando de interruptores que eran productos electrónicos de bajo coste. La idea de colocar ordenadores potentes en esos lugares no se le había ocurrido del todo como rentable. Entonces faltaba la idea de los interruptores de computadora. Toda la noción de protocolos no existía en ese momento. Y la idea de las comunicaciones de computadora a computadora era en realidad una preocupación secundaria.
  8. ^ Barbero, Derek (primavera de 1993). "Los orígenes de la conmutación de paquetes". El Boletín de la Sociedad de Conservación de Computadoras (5). ISSN  0958-7403 . Consultado el 6 de septiembre de 2017 . Había un artículo escrito por [Paul Baran] de Rand Corporation que, en cierto sentido, presagiaba la conmutación de paquetes para redes de voz y redes de voz.
  9. ^ "Sobre la conmutación de paquetes". Historia neta . Consultado el 8 de enero de 2024 . [Scantlebury dijo] Claramente, Donald y Paul Baran habían llegado independientemente a una idea similar, aunque con propósitos diferentes. Paul por una red de voz/télex que pueda sobrevivir, la nuestra por una red informática de alta velocidad.
  10. ^ Procesador de mensajes de interfaz: especificaciones para la interconexión de un host y un IMP (PDF) (Reporte). Bolt Beranek y Newman (BBN). Informe N° 1822.
  11. ^ LIBROS, ALTA DEFINICIÓN. UGC -NET/JRF/SET PTP y Guía Aptitud Docente e Investigadora: UGC -NET By HD. Libros de alta definición.
  12. ^ "NCP - Programa de control de red". Internet viva . Archivado desde el original el 7 de agosto de 2022 . Consultado el 8 de octubre de 2022 .
  13. ^ Bennett, Richard (septiembre de 2009). "Diseñado para el cambio: argumentos de un extremo a otro, innovación en Internet y el debate sobre la neutralidad de la red" (PDF) . Fundación Tecnologías de la Información e Innovación. págs.7, 11 . Consultado el 11 de septiembre de 2017 .
  14. ^ Abbate, Janet (2000). Inventar Internet. Prensa del MIT. págs. 124-127. ISBN 978-0-262-51115-5. De hecho, CYCLADES, a diferencia de ARPANET, había sido diseñado explícitamente para facilitar la interconexión de redes; podría, por ejemplo, manejar distintos formatos y distintos niveles de servicio.
  15. ^ Kim, Byung-Keun (2005). Internacionalizando Internet, la coevolución de la influencia y la tecnología. Eduardo Elgar. págs. 51–55. ISBN 1845426754. Además de la red NPL y ARPANET, CYCLADES, una red académica y de investigación experimental, también desempeñó un papel importante en el desarrollo de tecnologías de redes informáticas.
  16. ^ "El quinto hombre de Internet". El economista . 30 de noviembre de 2013. ISSN  0013-0613 . Consultado el 22 de abril de 2020 . A principios de la década de 1970, Pouzin creó una red de datos innovadora que conectaba ubicaciones en Francia, Italia y Gran Bretaña. Su simplicidad y eficiencia señalaron el camino hacia una red que podría conectar no sólo 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.
  17. ^ Moschovitis 1999, pag. 78-9
  18. ^ Cerf, V.; Kahn, R. (1974). "Un protocolo para la intercomunicación de redes de paquetes" (PDF) . Transacciones IEEE sobre Comunicaciones . 22 (5): 637–648. doi :10.1109/TCOM.1974.1092259. ISSN  1558-0857. Archivado (PDF) desde el original el 6 de enero de 2017 . Consultado el 23 de febrero de 2020 . Los autores desean agradecer a varios colegas por sus útiles comentarios durante las primeras discusiones sobre protocolos de redes internacionales, especialmente a R. Metcalfe, R. Scantlebury, D. Walden y H. Zimmerman; D. Davies y L. Pouzin, quienes comentaron constructivamente las cuestiones de fragmentación y contabilidad; y S. Crocker quien comentó sobre la creación y destrucción de asociaciones.
  19. ^ McKenzie, Alejandro (2011). "INWG y la concepción de Internet: un relato de un testigo presencial". Anales IEEE de la historia de la informática . 33 (1): 66–71. doi :10.1109/MAHC.2011.9. ISSN  1934-1547. S2CID  206443072.
  20. ^ Schwartz, Mischa (2010). "Circuitos virtuales X.25 - TRANSPAC EN Francia - Redes de datos anteriores a Internet [Historia de las comunicaciones]". Revista de comunicaciones IEEE . 48 (11): 40–46. doi :10.1109/MCOM.2010.5621965. ISSN  1558-1896. S2CID  23639680.
  21. ^ Rybczynski, Tony (2009). "Comercialización de la conmutación de paquetes (1975-1985): una perspectiva canadiense [Historia de las comunicaciones]". Revista de comunicaciones IEEE . 47 (12): 26–31. doi :10.1109/MCOM.2009.5350364. ISSN  1558-1896. S2CID  23243636.
  22. ^ La prehistoria "oculta" de las redes de investigación europeas. Publicaciones de Trafford. pag. 354.ISBN _ 978-1-4669-3935-6.
  23. ^ "Protocolo de Internet TCP/IP". Internet viva . Archivado desde el original el 1 de septiembre de 2022 . Consultado el 8 de octubre de 2022 .
  24. ^ Andrew L. Russell (30 de julio de 2013). "OSI: Internet que no existía". Espectro IEEE . vol. 50, núm. 8.
  25. ^ Russell, Andrew L. "Consenso aproximado y código en ejecución" y la guerra de estándares Internet-OSI" (PDF) . Anales IEEE de la historia de la informática. Archivado (PDF) desde el original el 17 de noviembre de 2019 . Consultado el 23 de febrero de 2020 .
  26. ^ "Guerras de estándares" (PDF) . 2006. Archivado (PDF) desde el original el 24 de febrero de 2021 . Consultado el 23 de febrero de 2020 .
  27. ^ Ben-Ari 1982, capítulo 2 - La abstracción de la programación concurrente, p. 18-19, afirma lo mismo.
  28. ^ Ben-Ari 1982, Sección 2.7 - Resumen, p. 27, resume la abstracción de programación concurrente.
  29. ^ ab Marsden 1986, Sección 6.1 - ¿Por qué son necesarias las normas?, p. 64-65, utiliza BSC como ejemplo para mostrar la necesidad de protocolos estándar y un marco estándar.
  30. ^ Comer 2000, secc. 11.2 - La necesidad de múltiples protocolos, p. 177, explica esto estableciendo analogías entre la comunicación informática y los lenguajes de programación.
  31. ^ ab Secta. 11.10 - La desventaja de las capas, pág. 192, estados: las capas forman la base para el diseño del protocolo.
  32. ^ ab Comer 2000, sección. 11.2 - La necesidad de múltiples protocolos, p. 177, afirma lo mismo.
  33. ^ Comer 2000, secc. 11.3 - Las capas conceptuales del software de protocolo, p. 178, "Cada capa asume la responsabilidad de manejar una parte del problema".
  34. ^ Comer 2000, secc. 11.11 - La idea básica detrás de la multiplexación y demultiplexación, p. 192, dice lo mismo.
  35. ^ "Comunicación de datos: descripción general | Temas de ScienceDirect". www.sciencedirect.com . Archivado desde el original el 31 de mayo de 2022 . Consultado el 31 de mayo de 2022 .
  36. ^ Kirch, Olaf (16 de enero de 2002). "Protocolos basados ​​en texto". Archivado desde el original el 30 de mayo de 2010 . Consultado el 21 de octubre de 2014 .
  37. ^ Kirch, Olaf (16 de enero de 2002). "Protocolos de representación binaria". Archivado desde el original el 30 de mayo de 2010 . Consultado el 4 de mayo de 2006 .
  38. ^ Kirch, Olaf (16 de enero de 2002). "Protocolos de representación binaria". Archivado desde el original el 5 de marzo de 2006 . Consultado el 4 de mayo de 2006 .
  39. ^ "¡Bienvenido al sitio web UML!". Uml.org . Archivado desde el original el 30 de septiembre de 2019 . Consultado el 15 de enero de 2017 .
  40. ^ Marsden 1986, Capítulo 3 - Conceptos fundamentales de protocolo y áreas problemáticas, p. 26-42, explica gran parte de lo siguiente.
  41. ^ Comer 2000, secc. 7.7.4 - Tamaño del datagrama, MTU de red y fragmentación, pág. 104, Explica la fragmentación y el efecto en el encabezado de los fragmentos.
  42. ^ Comer 2000, Capítulo 4 - Direcciones de Internet con clase, p. 64-67;71.
  43. ^ Marsden 1986, Sección 14.3 - Conceptos de capas y definiciones generales, p. 187, explica el mapeo de direcciones.
  44. ^ Marsden 1986, Sección 3.2 - Errores de detección y transmisión, p. 27, explica las ventajas de la corrección de errores hacia atrás.
  45. ^ Marsden 1986, Sección 3.3 - Acuse de recibo, p. 28-33, explica las ventajas del reconocimiento sólo positivo y menciona los protocolos de datagramas como excepciones.
  46. ^ Marsden 1986, Sección 3.4 - Pérdida de información - tiempos de espera y reintentos, p. 33-34.
  47. ^ Marsden 1986, Sección 3.5 - Dirección del flujo de información, p. 34-35, explica amo/esclavo y las negociaciones para hacerse con el control.
  48. ^ Marsden 1986, Sección 3.6 - Control de secuencia, p. 35-36, explica cómo se pierden los paquetes y cómo la secuenciación soluciona este problema.
  49. ^ Marsden 1986, Sección 3.7 - Control de flujo, p. 36-38.
  50. ^ Ben-Ari 1982, en su prefacio, p. xiii.
  51. ^ Ben-Ari 1982, en su prefacio, p. xiv.
  52. ^ Hoare 1985, Capítulo 4 - Comunicación, p. 133, trata de la comunicación.
  53. ^ S. Srinivasan, Circuitos y sistemas digitales, cursos NPTEL, archivado desde el original el 27 de diciembre de 2009
  54. ^ ab Comer 2000, sección. 11.2 - La necesidad de múltiples protocolos, p. 177, introduce la descomposición en capas.
  55. ^ Comer 2000, secc. 11.3 - Las capas conceptuales del software de protocolo, p. 179, los dos primeros párrafos describen el envío de un mensaje a través de capas sucesivas.
  56. ^ Comer 2000, secc. 11.2 - La necesidad de múltiples protocolos, p. 178, explica las similitudes entre el protocolo de software y el compilador, ensamblador, enlazador y cargador.
  57. ^ Comer 2000, secc. 11.9.1 - Límite del sistema operativo, pág. 192, describe los límites del sistema operativo.
  58. ^ IETF 1989, Sección 1.3.1 - Organización, p. 15, segundo párrafo: muchas opciones de diseño implican una "rotura" creativa de capas estrictas.
  59. ^ Comer 2000, secc. 11.10 - La desventaja de las capas, pág. 192, explica por qué "las capas estrictas pueden ser extremadamente ineficientes", dando ejemplos de optimizaciones.
  60. ^ Wakeman, yo (enero de 1992). "Las capas se consideran nocivas". Red IEEE : 20–24.
  61. ^ Kurose, James; Ross, Keith (2005). Redes de computadoras: un enfoque de arriba hacia abajo . Pearson.
  62. ^ Lascano, Jorge Edison; Clyde, Esteban; Raza, Ali. "Patrones de diseño de protocolos de comunicación (CommDP) - COMMDP". Archivado desde el original el 18 de marzo de 2017 . Consultado el 17 de marzo de 2017 .
  63. ^ Lascano, JE; Clyde, S. (2016). "Un lenguaje de patrones para protocolos de comunicación a nivel de aplicación ". ICSEA 2016, Undécima Conferencia Internacional sobre Avances en Ingeniería de Software. págs. 22-30.
  64. ^ Daigneau, R. (2011). Patrones de diseño de servicios: soluciones de diseño fundamentales para SOAP/WSDL y servicios web RESTful (1 ed.). Upper Saddle River, Nueva Jersey: Addison-Wesley Professional.
  65. ^ Cazador de aves, M. (2002). Patrones de arquitectura de aplicaciones empresariales (1 ed.). Boston: Addison-Wesley Profesional. ISBN 0-321-12742-0.
  66. ^ [1]F. Buschmann, K. Henney y DC Schmidt, Arquitectura de software orientada a patrones, volumen 4: un lenguaje de patrones para informática distribuida, edición del volumen 4. Chichester Inglaterra; Nueva York: Wiley, 2007.
  67. ^ Bochmann, G. (1978). "Descripción de estado finito de protocolos de comunicación". Red de computadoras . 2 (4–5): 361–372. doi :10.1016/0376-5075(78)90015-6.
  68. ^ Comer 2000, Glosario de términos y abreviaturas de interconexión de redes, p. 704, término protocolo.
  69. ^ Marca, Daniel; Zafirópulo, Pitro (1983). "Sobre la comunicación de máquinas de estados finitos". Revista de la ACM . 30 (2): 323. doi : 10.1145/322374.322380 . S2CID  11607967.
  70. ^ Marsden 1986, Sección 6.3 - Ventajas de la estandarización, p. 66-67, afirma lo mismo.
  71. ^ Bryant y Morrow 2009, pág. 4.
  72. ^ Marsden 1986, Sección 6.4 - Algunos problemas con la estandarización, p. 67, sigue HDLC para ilustrar el proceso.
  73. ^ "X.225: Tecnología de la información - Interconexión de sistemas abiertos - Protocolo de sesión orientado a la conexión: especificación del protocolo". Archivado desde el original el 1 de febrero de 2021 . Consultado el 10 de marzo de 2023 .
  74. ^ Marsden 1986, Sección 6.1 - ¿Por qué son necesarias las normas?, p. 65, explica las lecciones aprendidas de ARPANET.
  75. ^ Marsden 1986, Sección 14.1 - Introducción, p. 181, introduce OSI.
  76. ^ Marsden 1986, Sección 14.3 - Conceptos de capas y definiciones generales, p. 183-185, explica la terminología.
  77. ^ Marsden 1986, Sección 14.4 - La capa de aplicación, p. 188, lo explica.
  78. ^ Marsden 1986, Sección 14.5 - La capa de presentación, p. 189, lo explica.
  79. ^ Marsden 1986, Sección 14.6 - La capa de sesión, p. 190, lo explica.
  80. ^ Marsden 1986, Sección 14.7 - La capa de transporte, p. 191, lo explica.
  81. ^ Marsden 1986, Sección 14.8 - La capa de red, p. 192, lo explica.
  82. ^ Marsden 1986, Sección 14.9 - La capa de enlace de datos, p. 194, lo explica.
  83. ^ Marsden 1986, Sección 14.10 - La capa física, p. 195, lo explica.
  84. ^ ISO 7498:1984 - Sistemas de procesamiento de información - Interconexión de sistemas abiertos - Modelo de referencia básico. pag. 5. Este Modelo Básico de Referencia de Interconexión de Sistemas Abiertos se basa en el supuesto de que se requiere una conexión para la transferencia de datos.
  85. ^ ISO 7498:1984/ADD 1:1987 - Sistemas de procesamiento de información - Interconexión de sistemas abiertos - Modelo de referencia básico - Anexo 1.
  86. ^ Marsden 1986, Sección 14.11 - Modo sin conexión y RM/OSI, p. 195, menciona esto.
  87. ^ ISO 7498:1994 - Sistemas de procesamiento de información - Interconexión de sistemas abiertos - Modelo de referencia básico.
  88. ^ Comer 2000, Sección 1.9 - Protocolos y estandarización de Internet, p. 12, explica por qué el IETF no utilizó los protocolos existentes.
  89. ^ ab Trammell y Kuehlewind 2019, pág. 2.
  90. ^ ab Trammell y Kuehlewind 2019, pág. 3.
  91. ^ Trammell y Kuehlewind 2019, pag. 4.
  92. ^ ab Fairhurst & Perkins 2021, 7. Conclusiones.
  93. ^ Trammell y Kuehlewind 2019, pag. 5.
  94. ^ Trammell y Kuehlewind 2019, pag. 6.
  95. ^ Trammell y Kuehlewind 2019, pag. 7-8.
  96. ^ Farrell y Tschofenig 2014, pág. 2.
  97. ^ ab Farrell y Tschofenig 2014, pág. 3.
  98. ^ Arkko y col. 2023, 2.1. Distribución intencional.
  99. ^ Arkko y col. 2023, 2.2. Control de la Distribución de la Información.
  100. ^ Arkko y col. 2023, 2.3. Protección de la información y autenticación.
  101. ^ Arkko y col. 2023, 2.5. Limitar el impacto de la información.
  102. ^ Arkko y col. 2023, 2.4. Minimizar información.
  103. ^ Arkko y col. 2023, 2.6. Conjunto Mínimo de Entidades.
  104. ^ Arkko y col. 2023, 3. Trabajo adicional.
  105. ^ Papastergiou y col. 2017, pág. 619.
  106. ^ Papastergiou y col. 2017, pág. 620.
  107. ^ Papastergiou y col. 2017, pág. 620-621.
  108. ^ Papastergiou y col. 2017, pág. 623-4.
  109. ^ McQuistin, Perkins y Fayed 2016, pág. 1.
  110. ^ Thomson y Pauly 2021, A.5. TCP.
  111. ^ Hardie 2019, pag. 7-8.
  112. ^ Thomson & Pauly 2021, 3. Uso activo.
  113. ^ Thomson y Pauly 2021, 3.5. Restaurar el uso activo.
  114. ^ Comer 2000, secc. 11.5.1 - El modelo de referencia de 5 capas TCP/IP, pág. 183, afirma lo mismo.

Bibliografía

enlaces externos