Capa de Enlace (Nivel 2): Estructura y Funciones
La Capa de Enlace (Unidad: Trama o Frame) tiene dos funciones principales:
- Identificar los dos extremos de un enlace punto a punto.
- Liberar la trama de errores.
Identificación y Direccionamiento MAC
Para identificar las máquinas se utilizan direcciones MAC (Media Access Control) de 48 bits de longitud (en Ethernet). Para que una máquina se comunique con otra, necesita conocer su MAC. Para esto, al comunicarse por primera vez, emite un broadcast (un mensaje a toda la red) que contiene la IP de la máquina requerida (la cual obtiene de una manera muy compleja). Solo la máquina con la IP solicitada responde al broadcast, enviando un mensaje con su dirección MAC.
Esta capa posee una subcapa de Acceso al Medio (MAC) que define si la red es competitiva o colaborativa. Todos los dispositivos tienen una dirección MAC.
Métodos de Transmisión en Red
Existen dos métodos de transmisión en una red:
- Colaborativo: Cuando una máquina transmite, las demás no lo hacen.
- Competitivo: Todas las máquinas pueden transmitir a la vez, lo que genera colisiones de mensajes.
Control de Flujo
El control de flujo se basa en la retroalimentación. Se prohíbe el envío de tramas hasta que el receptor lo autorice, implícita o explícitamente (Handshaking). Esto puede ocurrir cuando la máquina del emisor es más rápida que la del receptor.
Estructura de la Trama (Frame)
La tarea principal de la capa de enlace de datos es tomar una transmisión de datos y transformarla en una abstracción libre de errores de transmisión para la capa de red. Logra esta función dividiendo los datos de entrada en marcos de datos (de unos cuantos cientos de bytes), transmite los marcos de forma secuencial y procesa los marcos de estado que envía el nodo destino. Si se habla de tramas, se refiere a la capa de enlace.
- Preámbulo (8 bytes): Cada byte está lleno con una secuencia 10101010, y se usa para que el receptor sepa cuándo comienza la trama real.
- MAC Destino (6 bytes): Contiene la(s) dirección(es) MAC de la(s) máquina(s) que recibirán la trama.
- Si la dirección tiene un 0 adelante, es una sola máquina (Unicast).
- Si tiene un 1, es un grupo de máquinas (Multicast).
- Si tiene todos unos, todas las máquinas de la red recibirán la trama (Broadcast).
- MAC Origen (6 bytes): Contiene la dirección MAC del emisor de la trama.
- Tipo (2 bytes): Especifica a qué proceso debe asociarse la trama.
- Payload (0-1500 bytes): Contiene los datos que se quieren enviar.
- Relleno (0-46 bytes): Se utiliza para alcanzar el mínimo de 64 bytes de la trama, en caso de que sea necesario.
VLAN: Red de Área Local Virtual
Topología de Red de Área Local Virtual en un edificio de tres plantas.
Una VLAN (acrónimo de Virtual LAN, Red de Área Local Virtual) es un método para crear redes lógicas independientes dentro de una misma red física. Varias VLAN pueden coexistir en un único conmutador físico o en una única red física.
Son útiles para reducir el tamaño del dominio de difusión (broadcast domain) y ayudan en la administración de la red, separando segmentos lógicos de una red de área local (como los departamentos de una empresa) que no deberían intercambiar datos usando la red local (aunque podrían hacerlo a través de un enrutador o un conmutador de capa 3 o 4).
Una VLAN consiste en dos redes de ordenadores que se comportan como si estuviesen conectados al mismo PCI, aunque se encuentren físicamente conectados a diferentes segmentos de una red de área local. Los administradores de red configuran las VLAN mediante hardware en lugar de software, lo que las hace extremadamente robustas.
Clasificación de las VLAN
Aunque las más habituales son las VLAN basadas en puertos (Nivel 1), las redes de área local virtuales se pueden clasificar en cuatro tipos según el nivel de la jerarquía OSI en el que operen:
- VLAN de Nivel 1 (por puerto): También conocida como “port switching”. Se especifica qué puertos del switch pertenecen a la VLAN; los miembros de dicha VLAN son los que se conectan a esos puertos. No permite la movilidad de los usuarios, ya que habría que reconfigurar las VLAN si el usuario se mueve físicamente. Es la más común.
- VLAN de Nivel 2 (por direcciones MAC): Se asignan hosts a una VLAN en función de su dirección MAC. Tiene la ventaja de que no hay que reconfigurar el dispositivo de conmutación si el usuario cambia su localización. El principal inconveniente es que si hay cientos de usuarios, habría que asignar los miembros uno a uno.
- VLAN de Nivel 2 (por tipo de protocolo): La VLAN queda determinada por el contenido del campo tipo de protocolo de la trama MAC. Por ejemplo, se asociaría VLAN 1 al protocolo IPv4, VLAN 2 al protocolo IPv6, VLAN 3 a AppleTalk, VLAN 4 a IPX, etc.
- VLAN de Nivel 3 (por direcciones de subred o subred virtual): La cabecera de Nivel 3 se utiliza para mapear la VLAN a la que pertenece. En este tipo de VLAN son los paquetes, y no las estaciones, quienes pertenecen a la VLAN. Estaciones con múltiples protocolos de red (Nivel 3) estarán en múltiples VLAN.
- VLAN de Niveles Superiores: Se crea una VLAN para cada aplicación: FTP, flujos multimedia, correo electrónico, etc. La pertenencia a una VLAN puede basarse en una combinación de factores como puertos, direcciones MAC, subred, hora del día, forma de acceso o condiciones de seguridad del equipo.
Protocolos Esenciales para VLAN
Durante todo el proceso de configuración y funcionamiento de una VLAN es necesaria la participación de una serie de protocolos, entre los que destacan el IEEE 802.1Q, STP y VTP (cuyo equivalente IEEE es GVRP).
IEEE 802.1Q (Etiquetado de Trama)
El protocolo IEEE 802.1Q se encarga del etiquetado de las tramas, asociando inmediatamente la información de la VLAN. Antes de su introducción existían varios protocolos propietarios, como el ISL (Inter-Switch Link) de Cisco. El IEEE 802.1Q se caracteriza por utilizar un formato de trama similar a 802.3 (Ethernet) donde solo cambia el valor del campo Ethertype (que en las tramas 802.1Q vale X’8100) y se añaden dos bytes para codificar la prioridad, el CFI y el VLAN ID. Este protocolo es un estándar internacional y es compatible con bridges y switches sin capacidad de VLAN.
STP (Spanning Tree Protocol)
El cometido principal de STP es evitar la aparición de bucles lógicos para que haya un solo camino entre dos nodos. Para evitar el bloqueo de los switches debido a las tormentas de broadcast, una red con topología redundante tiene que tener habilitado el protocolo STP. Los switches utilizan STP para intercambiar mensajes entre sí (BPDU, Bridge Protocol Data Units) para lograr que en cada VLAN solo haya activo un camino para ir de un nodo a otro.
VTP (VLAN Trunking Protocol)
VTP es un protocolo propietario de Cisco que permite una gestión centralizada de todas las VLAN. Utiliza tramas de Nivel 2 para gestionar la creación, borrado y renombrado de VLAN en una red, sincronizando todos los dispositivos entre sí y evitando tener que configurarlos uno a uno. Para eso, hay que establecer primero un dominio de administración VTP. Un dominio VTP para una red es un conjunto contiguo de switches unidos con enlaces trunk que tienen el mismo nombre de dominio VTP.
Modos de Funcionamiento VTP
Los switches pueden estar en uno de los siguientes modos:
- Servidor: Es el modo por defecto. Anuncia su configuración al resto de equipos y se sincroniza con otros servidores VTP.
- Cliente: No puede modificar la configuración VLAN, simplemente sincroniza la configuración en base a la información que le envían los servidores.
- Transparente: Solo se puede configurar localmente, pues ignora el contenido de los mensajes VTP.
VTP también permite la función VTP Pruning (poda), lo que significa dirigir tráfico VLAN específico solo a los conmutadores que tienen puertos en la VLAN destino, ahorrando ancho de banda en los posiblemente saturados enlaces trunk.
Capa de Red (Nivel 3): Conectividad y Encaminamiento
El Nivel de Red o Capa de Red, según la normalización OSI, es un nivel que proporciona conectividad y selección de ruta entre dos sistemas de hosts que pueden estar ubicados en redes geográficamente distintas. Es el tercer nivel del modelo OSI y su misión es conseguir que los datos lleguen desde el origen al destino, aunque no tengan conexión directa. Ofrece servicios al nivel superior (Nivel de Transporte) y se apoya en el Nivel de Enlace, es decir, utiliza sus funciones.
Para la consecución de su tarea, puede asignar direcciones de red únicas, interconectar subredes distintas, encaminar paquetes, y utilizar control de congestión y control de errores.
Orientación de Conexión en la Capa de Red
Hay dos formas en las que el Nivel de Red puede funcionar internamente, independientemente de que la red funcione con datagramas o con circuitos virtuales, puede ofrecer al Nivel de Transporte un servicio orientado a conexión:
- Datagramas: Cada paquete se encamina independientemente, sin que el origen y el destino tengan que pasar por un establecimiento de comunicación previo.
- Circuitos Virtuales: En una red de circuitos virtuales, dos equipos que quieran comunicarse tienen que empezar por establecer una conexión. Durante este establecimiento, todos los routers que haya por el camino elegido reservarán recursos para ese circuito virtual específico.
Tipos de Servicios de Red
Existen dos tipos de servicio:
- Servicios NO orientados a la conexión: Cada paquete debe llevar la dirección destino, y con cada uno, los nodos de la red deciden el camino que se debe seguir. Existen muchas técnicas para realizar esta decisión, como por ejemplo, comparar el retardo que sufriría en ese momento el paquete que se pretende transmitir según el enlace que se escoja.
- Servicios orientados a la conexión: Solo el primer paquete de cada mensaje tiene que llevar la dirección destino. Con este paquete se establece la ruta que deberán seguir todos los paquetes pertenecientes a esta conexión. Cuando llega un paquete que no es el primero, se identifica a qué conexión pertenece y se envía por el enlace de salida adecuado, según la información que se generó con el primer paquete y que permanece almacenada en cada conmutador o nodo.
Mecanismos de Control de Errores y Flujo
El control de errores proporciona detección y corrección de errores en el envío de tramas entre computadores, y provee el control de la capa física. Sus funciones, en general, son:
- Identificar Trama de datos.
- Códigos detectores y correctores de error.
- Control de flujo.
- Gestión y coordinación de la comunicación.
La corrección de error es opcional en esta capa; la encargada de realizar esta función es la Capa de Transporte. Sin embargo, en una WAN es muy probable que la verificación la realice la Capa de Enlace.
Técnicas de Identificación de Tramas
Para la identificación de tramas se pueden usar distintas técnicas como:
- Contador de caracteres.
- Caracteres de inicio y final con caracteres de relleno.
- Secuencia de bits indicadora de inicio y final, con bits de relleno.
Control de Flujo Detallado
El control de flujo es necesario para no ‘agobiar’ al receptor. Se realiza normalmente en la Capa de Transporte, aunque a veces también en la Capa de Enlace. Utiliza mecanismos de retroalimentación y suele ir unido a la corrección de errores, sin limitar la eficiencia del canal.
Métodos de Control de Errores
Los métodos de control de errores son básicamente dos:
- FEC (Forward Error Correction): Corrección de errores por anticipado y no tiene control de flujo.
- ARQ (Automatic Repeat Request): Posee control de flujo mediante parada y espera, o/y ventana deslizante.
Implementaciones de ARQ
- Parada y espera simple: El emisor envía una trama y espera una señal del receptor para enviar la siguiente o la que acaba de enviar en caso de error.
- Envío continuo y rechazo simple (Go-Back-N): El emisor envía continuamente tramas y el receptor las va validando. Si encuentra una errónea, elimina todas las posteriores y pide al emisor que envíe a partir de la trama errónea.
- Envío continuo y rechazo selectivo (Selective Repeat): Transmisión continua, salvo que solo se retransmite la trama defectuosa.
Detección y Corrección de Errores
La detección de errores se realiza mediante diversos tipos de códigos, de los que hay que resaltar:
- CRC (Control de Redundancia Cíclica).
- Simple paridad.
- Paridad cruzada (Paridad horizontal y vertical).
- Suma de verificación.
La corrección de errores está basada en Código Hamming, por repetición, verificación de paridad cruzada, Reed-Solomon y de Goyle.
