Tabla de Contenidos

Fundamentos de Redes de Comunicación

Una red de comunicación es un conjunto de sistemas informáticos conectados entre sí, que por medio de dispositivos físicos envían y reciben información en forma de inpulsos electricos, ondas electromagnéticas, u otros medios.

Conceptos básicos

Direcciones

Para entender el funcionamiento debemos conocer que tipos de direcciones se utilizan. Principalmente tenemos dos tipos:

Direcciones IP

Actualmente se sigue utilizando la version 4 de estas direcciones. Están formadas por 4 bytes (32 bits), cada uno separada por un punto. Por lo que varían desde la 0.0.0.0 hasta la 255.255.255.255.

Las direcciones ip privadas están en los rangos:

El resto son públicas o reservadas.

Cada red, tiene una dirección de red, y cada equipo dentro de esa red, tiene una dirección IP concreta dentro del rango de esa dirección de red.

Direcciones MAC

Son direcciones formadas por 6 bytes en sistema hexadecimal (12 caracteres hexadecimales). Son la matrícula de la tarjeta de red y son únicas en el mundo. Los 6 primeros caracteres representan al fabricante y los 6 siguientes a la tarjeta.

Protocolos

Conjunto de normas standard que especifican el método para enviar y recibir datos entre varios ordenadores. Un protocolo puede ser definido como las reglas que indican la sintaxis, semántica y sincronización de la información enviada. Los protocolos pueden ser implementados por hardware, software, o una combinación de ambos.

Como existen lenguajes distintos entre ordenadores, dispositivos, fabricantes, desarrolladores, etc, los sistemas no se pueden comunicar sin la existencia de protocolos.

La definición de cada protocolo está especificada en un documento llamado RFC (Request For Comment), y son publicados por el organismo IETF (Internet Engineering Task Force).

Tipos de redes

Por alcance o extensión:

Por la arquitectura de las aplicaciones:

Según su medio de conexión:

Según su forma de conmutación:

Topología de red

Se conoce como topología a la disposición de los dispositivos conectados para formar una red:

Componentes de una red

Cableado

Tarjetas (Interfaces) de red

Hub (Concentrador)

Es un dispositivo que se utiliza para conectar ordenadores u otros dispositivos en una red cableada. Opera en el nivel de interfaz de red. Tiene una cantidad de puertos Ethernet y su funcionamiento consiste en reenviar cada paquete recibido desde un puerto, por todos los puertos restantes.

Animación: Funcionamiento de un Hub

Son dispositivos que están en desuso, debido a las ventajas del switch

Switch (Conmutador)

Al igual que el Hub, se utiliza para conectar dispositivos dentro de una misma red cableada. A diferencia del Hub, el Switch aprende en cuál de sus puertos se encuentra cada ordenador (Dir. MAC), y al recibir un paquete sabe por qué puerto concreto debe enviarlo para que llegue al equipo destinatario.

Animación: Funcionamiento de un Switch

Router (Enrutador)

Se utiliza para unir redes distintas, permitiendo el enrutamiento de paquetes de una red a otra. Los paquetes que llegan a un router son evaluados y dependiendo de la dirección IP de destino, se enviarán por un puerto hacia un red o hacia otra.

ISP (Proveedor de acceso a internet)

Son las empresas que nos proveen de un punto de conexión desde algún lugar físico (p.e. domicilio), y nos conectan con la red pública (Internet). Algunos de los ISP's más grandes en España son Telefónica, Vodafone, Orange, MasMovil, etc.

Cada ISP posee una red formada por varias sub-redes mediante las que conecta a sus clientes. Este tipo de red se conoce como Sistema Autónomo (AS: Autonomous System). Es una especie de mini-internet que es gestionado por un ISP u otra compañía. Los distintos AS son conectados mediante puntos neutros o de intercambio de internet.

Los AS también puede pertenecer a otras organizaciones como gobiernos, universidades, centros de investigación, grandes empresas, etc.

IXP (Punto de intercambio de internet o punto neutro)

Sirven como punto de intercambio entre las redes de los diferentes ISP's. Además, múltiples empresas se conectan a los IXP (universidades, ISP's, organizaciones, etc).

Se utilizan para que los paquetes de las redes de los distintos proveedores (ISP) no necesiten viajar de continente para intercambiar sus datos.

Por ejemplo, si un cliente de la red de Telefónica, quiere acceder a un equipo o servidor de un cliente de la red de Vodafone, este intercambio de datos se hace a través de un punto de intercambio de internet.

Existen puntos de intercambio de internet a nivel nacional, continental, intercontinental, etc.

Mapa mundial con los diferentes puntos de intercambio de internet.

Mapa mundial de cable submarino, que conecta distintos países.

Arquitectura de red

A la hora de interconectar redes nos encontramos con el problema de tener diferentes tipos de red, diferentes dispositivos de red, diferentes equipos, etc. Para simplificar el problema, las redes se divididen en un conjunto de capas, de modo que cada capa tiene unas funciones más o menos delimitadas. Así se reduce la complejidad del diseño y de las aplicaciones que se utilicen.

La arquitectura de red se puede entender como el conjunto de capas o niveles, junto con los protocolos definidos en cada capa, que hacen posible que los diferentes dispositivos se comuniquen entre si.

La arquitectura de red engloba:

Para estudiar la arquitectura de red dividiendola en capasde red se utilizan dos modelos de referencia: OSI, y TCP/IP

Modelos de referencia

Para estudiar la arquitectura de la red se definieron dos modelos o pilas de protocolos: El modelo OSI y el modelo TCP/IP

Cada modelo divide el estudio de las funciones de una red en capas o niveles, agrupando en cada nivel una serie de protocolos.

Redes de conmutación de paquetes

Al enviar o recibir información en una red no se transportan archivos completos. Gracias a los protocolos de transporte, la información que queremos enviar o recibir se puede dividir en pequeños mensajes con un tamaño de unos 1500 bytes. De esta forma las redes pueden ser compartidas al mismo tiempo por infinidad de usuarios.

Cada pequeño mensaje en el que se divide un archivo se denomina paquete. Los paquetes en los que se divide un fichero, se pueden enviar por caminos distintos dependiendo del tráfico de una parte de la red.

Posteriormente cuando los paquetes lleguen al destino, se organizarán y se recompondrá el fichero original. Este proceso se conoce como conmutación de paquetes.

Animación: Conmutación de Paquetes

Modelo TCP/IP

Hace referencia a los dos protocolos más importantes que componen la familia de protocolos de internet, que fueron de los primeros en definirse, y que son los dos más utilizados de la familia: IP y TCP.

TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario.

Encapsulamiento de paquetes

Como hemos visto, un fichero se divide en pequeños paquetes, y estos paquete se envían separados por la red, para volver a obtener el fichero completo en el destino. Para que esta tarea se pueda realizar cada paquete debe contener información como:

En cada nivel, algunos protocolos se encargan de gestionar la información de alguno de los puntos anteriores, por lo que cada paquete debe tener una cabecera donde se indiquen estos aspectos.

De este modo, cada protocolo le asigna su propia cabecera y construye su propio paquete, y este conjunto se le pasa al protocolo del nivel siguiente, que le asignará su propia cabecera con la información que él gestiona, y así sucesivamente, hasta enviar una secuencia de bits en forma de impulsos electricos por un cable, u ondas por el aire.

1 - Nivel de Interfaz de Red

Engloba a los niveles físico y de enlace del modelo OSI. Se encarga del acceso y control al medio físico (cable, ondas, etc)

Trama Ethernet

Todos los paquetes que salen de una tarjeta de red van encapsulados siempre en una trama ethernet. Es el protocolo principal del nivel de enlace de red o de interfaz de red. Contiene las direcciones MAC de destino y de origen del dispositivo al que va dirigida la información que contiene. No contienen dirección IP, ya que en una red local se usan solo direcciones MAC para saber quien es el destinatario de un paquete.

Además contiene información del protocolo del siguiente nivel que tiene encapsulado y un cógdigo de detección de errores (CRC).

Estructura de la trama Ethernet

El campo EtherType indica un código que representa el protocolo encapsulado en la trama Ehernet. Podemos ver los diferentes códigos en esta lista.

Dirección MAC

Es un identificador de 48 bits que se agrupa en 6 bloques de 2 caracteres hexadecimales. Identifican una tarjeta de red concreta dentro de una misma red: los primeros 24 bits es el id del fabricante y los ultimos 24, el id de la tarjeta.

Las direcciones MAC (Medium Access Control) se utilizan para dirigir paquetes desde un nodo a otro en una misma red (misma dirección de red).

Del mismo modo que las direcciones IP se utilizan para dirigir paquetes entre distintas redes, las direcciones MAC se usan dentro de la misma red. Dentro de una misma red, los paquetes no se envían a direcciones IP, sino a direcciones MAC.

Existen una dirección MAC especial: FF:FF:FF:FF:FF:FF. Se conoce como dirección MAC de broadcast, y cualquier paquete con dicha dirección es reenviado automáticamente a todos los equipos de una misma red.

Protocolo ARP

ARP (Address Resolution Protocol) es un protocolo que trabaja en la capa de enlace del nivel OSI, y se encarga de obtener a partir de una dirección IP, la dirección MAC de una tarjeta de red, dentro de una red local.

¿Para qué se necesita? Como hemos indicado anteriormente, cuando un paquete entra en una red local, solo podemos entregárselo a su destinatario si conocemos su dirección MAC. Al enviar un paquete entre diferentes redes, conoceremos la direccion IP del destinatario, pero no su dirección MAC. ARP se encarga de obtener averiguar la dirección MAC correspondiente a una IP.

Estructura de paquete ARP

Donde:

ARP se basa en dos tipos de paquetes:

2 - Nivel de Internet

Protocolo IP (incompleto)

Cabecera de paquete IP

Enrutamiento de paquetes

Protocolo ICMP

El protocolo de control de mensajes de internet (ICMP) es un subprotocolo del protocolo IP, encargado de notificar los errores o información que se produce al trabajar con paquetes IP.

Formato paquete ICMP

Los campos tipo y código nos indican el mensaje ICMP concreto que se está empleando.

Algunos ejemplos:

3 - Nivel de Transporte (Incompleto)

Puertos

Protocolo TCP

Formato Segmento TCP

Protocolo UDP

Formato Segmento UDP

4 - Nivel de Aplicación

Protocolo DNS

El protocolo DNS (Sistema de nombres de dominio) es el encargado de averiguar la dirección IP de un nombre de dominio concreto (p.e. ssii.abrilcode.com → [145.239.8.95]). Como hemos visto, los paquetes enviados entre diferentes redes, van dirigidos o vienen de una dirección IP, nunca de un nombre.

Paquete DNS

Cuando queremos acceder a una página web desde el navegador indicando su nombre (www.google.com), se envía un paquete DNS que preguntará por la dirección IP correspondiente a ese nombre. El servidor DNS que tengamos asignado, nos responderá con la dirección IP, y acto seguido podremos conectarnos a esa dirección.

Campos de la cabecera del paquete DNS

La cabecera de un paquete DNS ocupa 12 bytes:

Protocolo HTTP

El protocolo HTTP es el encargado de trasmitir información de documentos HTTP, como html, php, javascript, etc, para visualizar el contenido de las páginas web. Este protocolo utiliza un paquete que se envía a un servidor web, solicitando la página web que queremos ver, y el servidor nos enviará mensajes HTTP con el contenido.

Protocolo DHCP

DHCP hace referencia a Protocolo de configuración dinámica de host. Este protocolo es el encargado de que un servidor DHCP nos asigne dinámicamente una dirección IP en el momento en el que nos conectamos a un red local. Además nos asignará una puerta de enlace, una máscara de red, y unos servidores dns's.

El servidor DHCP tiene una lista de direcciones IP dinámicas, y las va asignando a los clientes que las soliciten a medida que se van quedando libres.

Los servidores DHCP suelen estár configurados en las redes locales a las que nos conectamos, o también se puede configurar en el router al que nos conectamos. Suelen ofrecer direcciones IP privadas.

Wireshark: Análisis del tráfico de una red

Wireshark es un analizador de paquetes por protocolos con interfaz gráfica, que permite capturar todos los paquetes que pasan (entran o salen) por una interfaz de red (tarjeta de red).

Es un programa de software libre con licencia pública de GNU (GPL) y es multiplataforma.

No permite modificar la información que circula sobre la red, ni el envío de paquetes, solamente inspeccionar la información contenida en ellos.

Funcionamiento

Nada más abrir Wireshark, debo indicar la interfaz de red con la que quiero capturar paquetes. Si mi equipo tiene varias tarjetas de red (Tarjeta ethernet, tarjeta wifi, tarjeta virtualizadas de VBOX), indicaré la que quiera usar:

Selección de interfaces de red

Una vez seleccionada la tarjeta, para empezar a capturar paquetes con Wireshark pulsaré el primer botón de la barra de herramientas:

Botones de inicio y parada

En este momento se empezarán a escuchar todos los paquetes que pasen por la interfaz de red seleccionada.

Ventana principal de Wireshark

En esta ventana tenemos 3 partes diferenciadas:

Trama Ethernet

Muestra la información contenida en el paquete Ethernet: direcciones MAC de origen y destino, y el tipo de protocolo de siguiente nivel que viene encapsulado.

Información sobre la trama Ethernet del paquete seleccionado

Cabecera IP

Muestra la información de la cabecera IP que viene dentro de la trama Ethernet. Puedo ver las direcciones IP de origen y destino, el tiempo de vida (TTL), el protocolo que viene encapsulado dentro del paquete ip, etc.

Información sobre el protocolo IP del paquete seleccionado

Paquete TCP

Muestra la información de la cabecera TCP que viene dentro del paquete IP. Muestra los puertos de origen y destino hacia los que va el paquete, información del órden del paquete, etc

Información sobre el protocolo TCP del paquete seleccionado

Análisis del funcionamiento de redes

Red Local

Video: Protocolos ARP y DNS
Video: Protocolos TCP y HTTP

Red Pública (Internet)

Video: Funcionamiento red pública

Prácticas

  1. Análisis de protocolos del tráfico desde local a remoto. (Presentación en Video)
  2. Análisis de protocolos del tráfico en una petición http. (Presentación en Video)

© 2024 Fernando Valdeón