Una Introducción a la Terminología de Redes, Interfaces y Protocolos

Introducción

Comprender las redes es importante para cualquier persona que gestione un servidor. No solo es esencial para poner en línea sus servicios y hacer que funcionen sin problemas, sino que también le proporciona la perspicacia para diagnosticar problemas.

Este artículo proporcionará una visión general de algunos conceptos de redes comunes. Discutiremos terminología, protocolos comunes y las responsabilidades y características de las diferentes capas de la red.

Esta guía es independiente del sistema operativo, pero debería ser muy útil al implementar funciones y servicios que utilicen la red en su servidor.

Glosario de Redes

Primero, definiremos algunos términos comunes que verá a lo largo de esta guía, y en otras guías y documentación relacionadas con las redes.

Estos términos se ampliarán en las secciones apropiadas que siguen:

  • Conexión: En redes, una conexión se refiere a piezas de información relacionadas que se transfieren a través de una red. En general, una conexión se establece antes de la transferencia de datos (siguiendo los procedimientos establecidos en un protocolo) y puede descomponerse al finalizar la transferencia de datos.

  • Paquete: Un paquete es la unidad más pequeña que se transfiere intencionalmente a través de una red. Al comunicarse a través de una red, los paquetes son los sobres que transportan tus datos (en fragmentos) de un punto final a otro.

Los paquetes tienen una parte de encabezado que contiene información sobre el paquete, incluyendo la fuente y el destino, marcas de tiempo, saltos de red, etc. La parte principal de un paquete contiene los datos reales que se están transfiriendo. A veces se le llama el cuerpo o la carga útil.

  • Interfaz de red: Una interfaz de red puede referirse a cualquier tipo de interfaz de software para hardware de redes. Por ejemplo, si tienes dos tarjetas de red en tu computadora, puedes controlar y configurar cada interfaz de red asociada con ellas de forma individual.

A network interface may be associated with a physical device, or it may be a representation of a virtual interface. The “loopback” device, which is a virtual interface available in most Linux environments to connect back to the same machine, is an example of this.

  • LAN: LAN significa “red de área local”. Se refiere a una red o una parte de una red que no es accesible públicamente a través de Internet. Una red doméstica u oficina es un ejemplo de una LAN.

  • WAN: WAN significa “red de área amplia”. Se refiere a una red que es mucho más extensa que una LAN. Mientras que WAN es el término relevante para describir redes grandes y dispersas en general, generalmente se refiere a Internet en su totalidad.

Si se dice que una interfaz está conectada a la WAN, generalmente se asume que es accesible a través de Internet.

  • Protocolo: Un protocolo es un conjunto de reglas y estándares que definen un lenguaje que los dispositivos pueden utilizar para comunicarse. Existen numerosos protocolos en uso extenso en redes, y a menudo se implementan en diferentes capas.

Algunos protocolos de bajo nivel son TCP, UDP, IP e ICMP. Algunos ejemplos familiares de protocolos de capa de aplicación, construidos sobre estos protocolos más bajos, son HTTP (para acceder a contenido web), SSH y TLS/SSL.

  • Puerto: Un puerto es una dirección en una sola máquina que puede estar vinculada a un software específico. No es una interfaz o ubicación física, pero permite que su servidor pueda comunicarse utilizando más de una aplicación.

  • Cortafuegos: Un cortafuegos es un programa que decide si el tráfico que entra o sale de un servidor debe ser permitido. Por lo general, un cortafuegos funciona creando reglas para determinar qué tipo de tráfico es aceptable en qué puertos. Generalmente, los cortafuegos bloquean puertos que no son utilizados por una aplicación específica en un servidor.

  • NAT: NAT significa traducción de dirección de red. Es una manera de volver a empaquetar y enviar las solicitudes entrantes a un servidor de enrutamiento a los dispositivos o servidores relevantes en una LAN. Esto se implementa generalmente en LAN físicas como una forma de enrutar solicitudes a través de una dirección IP hacia los servidores backend necesarios.

  • VPN: VPN significa red privada virtual. Es un medio para conectar LAN separadas a través de Internet, manteniendo la privacidad. Se utiliza para conectar sistemas remotos como si estuvieran en una red local, a menudo por razones de seguridad.

Existen muchos otros términos que encontrarás, y esta lista no es exhaustiva. Explicaremos otros términos según los necesitemos. En este punto, deberías entender algunos conceptos de alto nivel que nos permitirán discutir mejor los temas que vendrán.

Capas de Red

Mientras que las redes a menudo se discuten en términos de topología de manera horizontal, entre hosts, su implementación está estructurada en capas de manera vertical dentro de cualquier computadora o red dada.

Lo que esto significa es que hay múltiples tecnologías y protocolos que se construyen una sobre otra para que la comunicación funcione. Cada capa sucesiva, más alta, abstrae un poco más los datos en bruto.

También te permite aprovechar las capas inferiores de nuevas maneras sin tener que invertir el tiempo y la energía en desarrollar los protocolos y aplicaciones que manejan esos tipos de tráfico.

El lenguaje que usamos para hablar de cada uno de los esquemas de estratificación varía significativamente dependiendo del modelo que uses. Independientemente del modelo utilizado para discutir las capas, el camino de los datos es el mismo.

Al enviar datos desde una máquina, comienza en la parte superior de la pila y filtra hacia abajo. En el nivel más bajo, se realiza la transmisión real a otra máquina. En este punto, los datos viajan de regreso a través de las capas de la otra computadora.

Cada capa tiene la capacidad de agregar su propio “envoltorio” alrededor de los datos que recibe de la capa adyacente, lo que ayudará a las capas posteriores a decidir qué hacer con los datos cuando se transfieren.

Modelo TCP/IP

El modelo TCP/IP, más conocido como el conjunto de protocolos de Internet, es un modelo de estratificación ampliamente adoptado. Define las cuatro capas separadas:

  • Aplicación: En este modelo, la capa de aplicación es responsable de crear y transmitir datos de usuario entre aplicaciones. Las aplicaciones pueden estar en sistemas remotos y deben aparecer como si operaran localmente para el usuario final. Esta comunicación se dice que ocurre entre pares.

  • Transporte: La capa de transporte es responsable de la comunicación entre procesos. Este nivel de red utiliza puertos para dirigirse a diferentes servicios.

  • Internet: La capa de Internet se utiliza para transportar datos de nodo a nodo en una red. Esta capa es consciente de los puntos finales de las conexiones, pero no se preocupa por la conexión real necesaria para ir de un lugar a otro. Direcciones IP están definidas en esta capa como una forma de llegar a sistemas remotos de manera direccionable.

  • Enlace: La capa de enlace implementa la topología real de la red local que permite a la capa de Internet presentar una interfaz direccionable. Establece conexiones entre nodos vecinos para enviar datos.

Como puedes ver, el modelo TCP/IP es abstracto y fluido. Esto lo hizo popular para implementarlo y permitió que se convirtiera en la forma dominante en que se categorizan las capas de redes.

Interfaces

Las interfaces son puntos de comunicación de redes para tu computadora. Cada interfaz está asociada con un dispositivo de red físico o virtual.

Normalmente, tu servidor tendrá una interfaz de red configurable para cada tarjeta Ethernet o inalámbrica que tengas.

Además, definirá una interfaz de red virtual llamada “loopback” o interfaz localhost. Esto se utiliza como una interfaz para conectar aplicaciones y procesos en una sola computadora con otras aplicaciones y procesos. Puedes ver esto referenciado como la interfaz “lo” en muchas herramientas.

En muchas ocasiones, los administradores configuran una interfaz para servir el tráfico a internet y otra interfaz para una LAN o red privada.

En los centros de datos con redes privadas habilitadas (incluidas las Instancias Droplets de DigitalOcean), tu VPS tendrá dos interfaces de red. La interfaz “eth0” se configurará para manejar el tráfico desde internet, mientras que la interfaz “eth1” operará para comunicarse con una red privada.

Protocolos

La red funciona mediante el aprovechamiento de varios protocolos diferentes uno encima del otro. De esta manera, un conjunto de datos puede transmitirse utilizando múltiples protocolos encapsulados uno dentro del otro.

Comenzaremos con los protocolos implementados en las capas inferiores de la red y avanzaremos hacia protocolos con mayor abstracción.

Control de Acceso al Medio

El control de acceso al medio es un protocolo de comunicaciones que se utiliza para distinguir dispositivos específicos. Se supone que cada dispositivo debe recibir una dirección de control de acceso al medio (dirección MAC) única y codificada de forma permanente cuando se fabrica, que lo diferencia de cualquier otro dispositivo en Internet.

Dirigirse al hardware mediante la dirección MAC le permite hacer referencia a un dispositivo mediante un valor único incluso cuando el software en la parte superior puede cambiar el nombre de ese dispositivo específico durante el funcionamiento.

La dirección MAC es uno de los únicos protocolos de la capa de enlace de bajo nivel con los que es probable que interactúe regularmente.

IP

El protocolo IP es uno de los protocolos fundamentales que permiten que internet funcione. Las direcciones IP son únicas en cada red y permiten que las máquinas se dirijan entre sí a través de una red. Se implementa en la capa de internet en el modelo TCP/IP.

Las redes pueden estar interconectadas, pero el tráfico debe ser enrutado al cruzar los límites de la red. Este protocolo asume una red no confiable y múltiples rutas hacia el mismo destino que pueden cambiar dinámicamente entre sí.

Existen varias implementaciones diferentes del protocolo. La implementación más común hoy en día son las direcciones IPv4, que siguen el patrón 123.123.123.123, aunque las direcciones IPv6, que siguen el patrón 2001:0db8:0000:0000:0000:ff00:0042:8329, están ganando popularidad debido al número limitado de direcciones IPv4 disponibles.

ICMP

ICMP significa Protocolo de Mensajes de Control de Internet. Se utiliza para enviar mensajes entre dispositivos para indicar su disponibilidad o condiciones de error. Estos paquetes se utilizan en una variedad de herramientas de diagnóstico de red, como ping y traceroute.

Por lo general, los paquetes ICMP se transmiten cuando otro tipo de paquete encuentra un problema. Se utilizan como un mecanismo de retroalimentación para las comunicaciones de red.

TCP

TCP significa protocolo de control de transmisión. Se implementa en la capa de transporte del modelo TCP/IP y se utiliza para establecer conexiones fiables.

TCP es uno de los protocolos que encapsulan datos en paquetes. Luego los transfiere al extremo remoto de la conexión utilizando los métodos disponibles en las capas inferiores. En el otro extremo, puede verificar errores, solicitar que se vuelvan a enviar ciertas piezas y reensamblar la información en una pieza lógica para enviarla a la capa de aplicación.

El protocolo establece una conexión antes de la transferencia de datos mediante un sistema llamado “handshake” de tres vías. Esta es una forma para que los dos extremos de la comunicación reconozcan la solicitud y acuerden un método para garantizar la fiabilidad de los datos.

Después de que los datos se han enviado, la conexión se cierra utilizando un “handshake” de cuatro vías similar.

TCP es el protocolo preferido para muchos de los usos más populares de Internet, incluidos WWW, SSH y correo electrónico.

UDP

UDP significa protocolo de datagramas de usuario. Es un protocolo compañero popular de TCP y también se implementa en la capa de transporte.

La diferencia fundamental entre UDP y TCP es que UDP ofrece transferencia de datos no confiable. No verifica que los datos se hayan recibido en el otro extremo de la conexión. Esto puede sonar como algo malo y, para muchos propósitos, lo es. Sin embargo, también es extremadamente importante para algunas funciones.

Debido a que no se requiere esperar la confirmación de que los datos fueron recibidos y se fuerza a reenviar datos, UDP es mucho más rápido que TCP. No establece una conexión con el host remoto, simplemente envía datos sin confirmación.

Debido a que es una transacción sencilla, es útil para comunicaciones como la consulta de recursos de red. También no mantiene un estado, lo que lo hace excelente para transmitir datos desde una máquina a muchos clientes en tiempo real. Esto lo hace ideal para VOIP, juegos y otras aplicaciones que no pueden permitirse retrasos.

HTTP

HTTP significa protocolo de transferencia de hipertexto. Es un protocolo definido en la capa de aplicación que forma la base para la comunicación en la web.

HTTP define una serie de verbos que le dicen al sistema remoto lo que estás solicitando. Por ejemplo, GET, POST y DELETE interactúan con los datos solicitados de manera diferente. Para ver un ejemplo de las diferentes solicitudes HTTP en acción, consulta Cómo Definir Rutas y Métodos de Solicitud HTTP en Express.

DNS

DNS significa sistema de nombres de dominio. Es un protocolo de capa de aplicación utilizado para proporcionar un mecanismo de denominación amigable para los recursos de Internet. Es lo que vincula un nombre de dominio con una dirección IP y te permite acceder a sitios por nombre en tu navegador.

SSH

SSH significa shell seguro. Es un protocolo cifrado implementado en la capa de aplicación que se puede utilizar para comunicarse con un servidor remoto de manera segura. Muchas tecnologías adicionales se construyen en torno a este protocolo debido a su cifrado de extremo a extremo y ubicuidad.

Existen muchos otros protocolos que no hemos cubierto y que son igualmente importantes. Sin embargo, esto debería brindarte una buena visión general de algunas de las tecnologías fundamentales que hacen posible Internet y las redes.

Conclusión

En este punto, deberías estar familiarizado con algunos términos de redes y ser capaz de entender cómo diferentes componentes pueden comunicarse entre sí. Esto debería ayudarte a comprender otros artículos y la documentación de tu sistema.

A continuación, para un ejemplo de alto nivel del mundo real, es posible que desees leer Cómo hacer solicitudes HTTP en Go.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-networking-terminology-interfaces-and-protocols