Introducción a OSI

Cuando recién se estaba desarrollando la red ARPA, realmente queríamos que fuera lo más inteligente posible. Pero cuanto más compleja es la red, más difícil es desarrollarla y mantenerla. Como solución, se propuso dividir todas las funciones de la red en capas lógicas.

El modelo de operación de red se conoce como el modelo de red del Modelo de Referencia Base de Interconexión de Sistemas Abiertos de ISO/OSI. Brevemente - el modelo OSI (Interconexión de Sistemas Abiertos).

modelo OSI

En total, hay 7 niveles en este modelo. La interacción de niveles está estrictamente estandarizada y minimizada. El nivel inferior no tiene idea de la presencia de niveles superiores y su estructura.

La capa más baja solo puede enviar bits . Ni siquiera transmitir, es decir enviar. No tiene idea de si lo harán o no. Enviado y olvidado.

Un nivel superior ya opera con grupos de bits - tramas , y conoce un poco sobre el dispositivo físico de la red, entiende las direcciones MAC y similares.

El siguiente nivel es por lotes. Es aún más inteligente y sabe cómo operar con direcciones IP de red. Etcétera.

¿Por qué es necesario todo esto? Para maximizar la flexibilidad.

Imagine que cada capa es una interfaz de Java y puede tener varias implementaciones diferentes. Así que aquí también. En el nivel físico, puede enviar bits por cable, enviar por aire (Wi-Fi), enviar por satélite, y todos los demás niveles ni siquiera sabrán nada al respecto. Y todo funcionará según lo previsto.

pila de protocolo OSI

Puede estudiar la pila de protocolos con más detalle en la siguiente imagen :

Pero si no es un administrador del sistema, entonces no necesita tal detalle de protocolos. Más interesante puede ser el estudio de la pila de protocolos TCP (Transmission Control Protocol) / IP (Internet Protocol).

Las tres capas superiores del modelo OSI, es decir, la capa de aplicación, la capa de presentación y la capa de sesión, no se distinguen por separado en el modelo TCP/IP, que tiene solo una capa de aplicación por encima de la capa de transporte:

Distribución de protocolos por capas del modelo OSI

TCP/IP OSI
Aplicado Aplicado HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
Representación XDR, AFP, TLS, SSL
sesión ISO 8327/CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
Transporte Transporte TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
red red IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
canalizado canalizado Ethernet, Token Ring, HDLC, PPP, X.25, Frame Relay, ISDN, ATM, SPB, MPLS, ARP/td>
Físico cables eléctricos, comunicación por radio, cables de fibra óptica, radiación infrarroja

Pila de protocolos TCP/IP

La pila de protocolos TCP/IP incluye cuatro capas:

  • Capa de aplicación
  • Capa de transporte
  • Capa de Internet (Capa de red) (Capa de Internet)
  • Capa de enlace (capa de acceso a la red)

Los protocolos de estas capas implementan completamente toda la funcionalidad del modelo OSI. Toda la interacción del usuario en las redes IP se basa en la pila de protocolos TCP/IP.

La pila de protocolos TCP/IP es independiente del hardware físico, lo que, entre otras cosas, garantiza una interacción completamente transparente entre redes cableadas e inalámbricas.

La capa de aplicación es donde se ejecutan la mayoría de las aplicaciones de red.

Capa de aplicación

Para la interacción de programas, existen protocolos de alto nivel para el intercambio de información. Por ejemplo, los navegadores funcionan con el protocolo HTTP, el correo se envía con el protocolo SMTP, Telegram funciona con su propio protocolo encriptado.

Pero no estamos muy interesados ​​en los protocolos privados. En la mayoría de los casos, encontrará protocolos masivos como un cliente ftp para FTP (transferencia de archivos), SSH (conexión segura a una máquina remota), DNS (traducción de caracteres a direcciones IP) y muchos otros.

Casi todos estos protocolos se ejecutan sobre TCP, aunque algunos se ejecutan sobre UDP (Protocolo de datagramas de usuario) para acelerar las cosas. Pero, lo que es más importante, estos protocolos tienen puertos predeterminados. Ejemplo:

  • 20 Puerto FTP a TCP 20 (para transferencia de datos) y 21 (para comandos de control)
  • 22-SSH
  • 23 - Telnet
  • 53 - Consultas DNS
  • 80-HTTP
  • 443-HTTPS

Estos puertos están definidos por la Agencia de Asignación de Nombres y Parámetros Únicos (IANA).

Hay varios otros protocolos de capa de aplicación populares: Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.

capa de transporte

Los protocolos de la capa de transporte están diseñados para resolver el problema de la entrega garantizada de mensajes.

Un mensaje (paquete de datos) se puede enviar y perder en algún lugar de la red. En este caso, le corresponde a la capa de transporte monitorear estas situaciones y reenviar el mensaje si es necesario.

Otra tarea importante del protocolo de la capa de transporte es controlar el orden en que llegan los mensajes. A menudo sucede que los mensajes se enviaron en un pedido y llegaron en otro. Y si junta un gran mensaje de tales piezas, obtiene tonterías.

Para evitar que esto suceda, la capa de transporte enumera los mensajes o no envía uno nuevo hasta que haya recibido la confirmación de recepción del anterior. Los protocolos de enrutamiento automático que lógicamente están presentes en esta capa (porque se ejecutan sobre IP) son en realidad parte de los protocolos de la capa de red.

El protocolo TCP es un mecanismo de transporte preestablecido de conexión "garantizado" que proporciona a una aplicación un flujo de datos confiable, asegura que los datos recibidos estén libres de errores, vuelve a solicitar datos en caso de pérdida y elimina la duplicación de datos.

TCP le permite regular la carga en la red, así como reducir el tiempo de espera de los datos cuando se transmiten a largas distancias. Además, TCP garantiza que los datos recibidos se enviaron exactamente en la misma secuencia. Esta es su principal diferencia con UDP.

UDP es un protocolo de datagramas sin conexión. También se le llama protocolo de transferencia “poco fiable”, en el sentido de la imposibilidad de verificar la entrega de un mensaje al destinatario, así como la posible mezcla de paquetes. Las aplicaciones que requieren una transmisión de datos garantizada utilizan el protocolo TCP.

UDP se usa normalmente en aplicaciones como transmisión de video y juegos donde se tolera la pérdida de paquetes y volver a intentarlo es difícil o injustificado, o en aplicaciones de respuesta de desafío (como consultas de DNS) donde establecer una conexión requiere más recursos que el reenvío.

Tanto TCP como UDP usan un número llamado puerto para definir el protocolo de la capa superior.