You are on page 1of 74

Redes de Computadoras

Capa de Enlace de Datos

Capa de Enlace de Datos


La Capa de Enlace de Datos es la responsable del intercambio de datos entre un host cualquiera y la red a la que est conectado, permitiendo la correcta comunicacin y trabajo conjunto entre las capas superiores (Red, Trasnporte y Aplicacin) y el medio fsico de transporte de datos.
Su principal objetivo es proporcionar una comunicacin eficiente, libre de errores, entre dos mquinas adyacentes, pertenecientes a la misma red/subred. Para ello se encarga de la notificacin de errores, la topologa de la red y el control de flujo en la transmisin de tramas. Cuando la conexin entre dos host es punto a punto, como en el caso de que ambos host pertenezcan a la misma red/subred, la Capa de Enlace de Datos se encarga de que los datos se enven con seguridad a travs del medio fsico (Capa Fsica) y sin errores de transmisin. En otro tipo de conexiones no puede realizar este cometido, siendo entonces las capas superiores las encargadas del mismo.

Capa de Enlace de Datos


Por este motivo podemos afirmar que la Capa de Enlace de Datos es la encargada de la transmisin y direccionamiento de datos entre host situados en la misma red/subred, mientras que la capa de Red (Internet) es la encargada de la transmisin y direccionamiento de datos entre host situados en redes diferentes.
La Capa de Enlace de Datos proporciona sus servicios a la Capa de Red, suministrando un trnsito de datos confiable a travs de un enlace fsico. Al hacerlo, la capa de enlace de datos se ocupa del direccionamiento fsico (comparado con el lgico), la topologa de red, el acceso a la red, la notificacin de errores, formacin y entrega ordenada de tramas y control de flujo. Por lo tanto, su principal misin es convertir el medio de transmisin en un medio libre de errores de cualquier tipo.

Principales Funciones
Establece

los medios necesarios para una confiable y eficiente entre dos mquinas en red.
Agrega

comunicacin

una secuencia especial de bits al principio y al final del flujo inicial de bits de los paquetes, estructurando este flujo bajo un formato predefinido llamado trama o marco, que suele ser de unos cientos de bytes. Los sucesivos marcos forman trenes de bits, que sern entregados a la Capa Fsica para su transmisin.
Sincroniza

el envo de las tramas, transfindolas de una forma confiable libre de errores. Para detectar y controlar los errores se aaden bits de paridad, se usan CRC (Cdigos Cclicos Redundantes) y envo de acuses de recibo positivos y negativos, y para evitar tramas repetidas se usan nmeros de secuencia en ellas.
Enva

los paquetes de nodo a nodo, ya sea usando un circuito virtual o como datagramas.

Principales Funciones
Enva

los paquetes de nodo a nodo, ya sea usando un circuito virtual o como datagramas.
Controla Regula

la congestin de la red.

la velocidad de trfico de datos.

Controla

el flujo de tramas mediante protocolos que prohiben que el remitente enve tramas sin la autorizacin explcita del receptor, sincronizando as su emisin y recepcin.
Se

encarga de la de secuencia, de enlace lgico y de acceso al medio (soportes fsicos de la red).

Subcapas de Enlace de Datos


En la actual tecnologa TCP/IP, el estndar ms aceptado para la Capa de Enlace de Datos es el definido por la IEE, que diferencia dos subcapas independientes:

Subcapa de Enlace Logico (LLC)


Subcapa de Enlace Lgico (LLC), que permite que parte de la capa de enlace de datos funcione independientemente de las tecnologas existentes. Esta subcapa proporciona versatilidad en los servicios de los protocolos de la capa de red que est sobre ella, mientras se comunica de forma efectiva con las diversas tecnologas que estn por debajo. El LLC, como subcapa, participa en el proceso de encapsulamiento.

La Subcapa de Enlace Lgico transporta los datos de protocolo de la red, un paquete IP, y agrega ms informacin de control para ayudar a entregar ese paquete IP en el destino, agregando dos componentes de direccionamiento:el Punto de Acceso al Servicio Destino (DSAP) y el Punto de Acceso al Servicio Fuente (SSAP). Luego este paquete IP reempaquetado viaja hacia la subcapa MAC para que la tecnologa especfica requerida le adicione datos y lo encapsule.
La subcapa LLC de la Capa de Enlace de Datos administra la comunicacin entre los dispositivos a travs de un solo enlace a una red. LLC se define en la especificacin IEEE 802.2 y soporta tanto servicios orientados a conexin como servicios no orientados a conexin, utilizados por los protocolos de las capas superiores. IEEE 802.2 define una serie de campos en las tramas de la capa de enlace de datos que permiten que mltiples protocolos de las capas superiores compartan un solo enlace de datos fsico.

Subcapa de Control de acceso al medio (MAC)


Subcapa de Control de acceso al medio (MAC), que se refiere a los protocolos que sigue el host para acceder a los medios fsicos, fijando as cul de los computadores transmitir datos binarios en un grupo en el que todos los computadores estn intentando transmitir al mismo tiempo. Control de acceso al medio Una red es un entorno en el que diferentes host y dispositivos comparten un medio de transmisin comn. Es necesario por ello establecer tcnicas que permitan definir qu host est autorizado para transmitir por el medio comn en cada momento. Esto se consigue por medio de una serie de protocolos conocidos con el nombre de Control de Acceso al Medio (protocolos MAC). Segn la forma de acceso al medio, los protocolos MAC pueden ser: Determinsticos: en los que cada host espera su turno para transmitir. Un ejemplo de este tipo de protocolos determinsticos es Token Ring, en el que por la red circula una especie de paquete especial de datos, denominado token, que da derecho al host que lo pose a transmitir datos, mientras que los dems deben esperar a que quede el token libre. No determinsticos: que se basan en el sistema de "escuchar y transmitir". Un ejemplo de este tipo de protocolos es el usado en las LAN Ethernet, en las que cada host "escucha" el medio para ver cuando no hay ningn host transmitiendo, momento en el que transmite sus datos.

Tarjetas de red
Para realizar todas estas funciones, la Capa de Enlace de Datos se basa en un componente fsico fundamental, la tarteja de red. Tarjetas de red.El componente fsico fundamental de esta capa es la trajeta de red, tambin denominada NIC, situada normalmente en un PC en la parte trasera del mismo, encontrndose conectada al medio de transmisin mediante conectores Jack RJ-45.

Tarjetas de red
Cada tarjeta de red pose un nmero identificador nico, grabado en la memoria ROM de la misma por el fabricante, que se denomina direccin fsica o direccin de Control de Acceso al Medio, MAC , que identifica de forma unvoca al ordenador que la pose. Cuando se arranca una mquina, la direccin MAC se copia en la memoria RAM, para tenerla siempre a mano.
La direccin fsica est formada por 32 bits, que se representan por medio de 6 bytes hexadecimales, del tipo 00-00-0D-1A-12-35, de los cuales los 3 primeros (24 bits), denominados Identificador Organicional Unico (UOI) son asignados al fabricante concreto, y los 3 ltimos (24 bits) los asigna ste secuencialmente.

No existen dos tarjetas de red con la misma direccin MAC, por lo que la misma se puede usar (y as se hace) para identificar en una red a la mquina en la que est instalada.

Tarjetas de red
El grn problema de estas direcciones es que estn conformadas como un sistema de direccionamiento plano, sin ninguna jerarqua, por lo que la tarjeta de nmero 00-00-0D-1A-12-35 no nos dice nada ni de la red en la que se encuentra la mquina que la tiene instalada, ni tiene relacin alguna con la ubicacin de la mquina de nmero de tarjeta 00-00-0D-1A-12-36. Digamos que es un sistema de identificacin anlogo al del D.N.I. espaol, en el que el nmero del mismo no dice nada de la persona poseedora del documento.

Creacin de tramas
Una vez que los datos procedentes de las capas superiores son enpaquetados en datagramas en la Capa de Red son transferidos a la Capa de Enlace de Datos para su transmisin al medio fsico. Para que estos datos se puedan enviar de forma correcta hasta el destinatario de los mismos hay que darles un formato adecuado para su transmisin por los medios fsicos, incluyndoles adems algn mecanismo de identificacin de ambos host (emisor y receptor) para que la transferencia quede perfectamente identificada. Esto lo consigue la Capa de Enlace de Datos disponiendo los datagramas en forma de tramas.

Creacin de Tramas
Una trama est formada por un campo central de datos, en el que se coloca cada datagrama recibido de la Capa de Red, y otra serie de campos con utilidad variada. En general, el aspecto de una trama es el que sigue:

inicio de trama

direccin

longitud/ tipo

datos

FCS

fin de trama

Creacin de Tramas
Campo

de inicio de trama: secuencia de bytes de inicio y sealizacin, que indica a las dems mquinas en red que lo que viene a continuacin es una trama.
Campo

de direccin: secuencia de 12 bytes que contiene informacin para el direccionamiento fsico de la trama, como la direccin MAC del host emisor y la direccin MAC del host destinatario de la trama.
Campo

longitud/tipo: en algunas tecnologas de red existe un campo longitud, que especifica la longitud exacta de la trama, mientras que en otros casos aqu va un campo tipo, que indica qu protocolo de las capas superiores es el que realiza la peticin de envo de los datos. Tambin existen tecnologas de red que no usan este campo. De existir, ocupa 2 bytes.

Creacin de Tramas
Campo

de datos: campo de 64 a 1500 bytes, en el que va el paquete de datos a enviar. Este paquete se compone de dos partes fundamentales: el mensaje que se desa enviar y los bytes encapsulados que se desa que lleguen al host destino. Adems, se aaden a este campo unos bytes adicionales, denominados bytes de relleno, con objeto que que las tramas tengan una longitud mnima determinada, a fin de facilitar la temporizacin. Campo FCS: o campo de secuencia de verificacin de trama, de 4 bytes, que contiene un nmero calculado mediante los datos de la trama, usado para el control de errores en la transmisin. Cuando la trama llega al host destino, ste vuelve a calcular el nmero contenido en el campo. Si coinciden, da la trama por vlida; en caso contrario, la rechaza. Generalmente se usan el mtodo Checksum (suma de bits 1), el de paridad (nmeros de bits 1 par o impar) y el Control de Redundancia Cclico (basado en polinomios construidos a partir de los bits de la trama) para este fin. Campo de fin de trama: aunque mediante los campos inicio de trama y longitud se puede determinar con precisin dnde acaba una trama, a veces se incluye en este campo una secuencia especial de bytes que indican a los host que escuchan en red el lugar donde acaba la trama.

Direccionamiento Fsico
Como hemos visto, la Capa de Enlace de Datos se encarga de determinar qu ordenadores se estn comunicando entre s, cundo comienza y termina esta comunicacin, qu host tiene el turno para transmitir y qu errores se han producido en la transmisin. Ahora bien cmo se produce esta comunicacin entre dos host de una misma red?. La respuesta es mediante el direccionamiento fsico, basado en los nmeros de las trajetas de red de ambos host (direcciones fsicas). Cuando el host A desa enviar una trama al host B, introduce en el campo "direccin" de la trama tanto su direccin fsica como la del host destino y, una vez que queda el medio libre, las transmite al mismo. Todos los host conectados a la misma red tienen acceso a la trama. La Capa de Acceso a la Red de cada host analiza las tramas que circulan por la red y compara la direccin fsica de destino de las mismas con la suya propia. Si coinciden, toma la trama y la pasa a las capas superiores; si no, la rechaza. De esta forma, solo el host destino recoge la trama a l dirigida, aunque todos los host de la misma red tienen acceso a todas las tramas que circulan por la misma.

Protocolo ARP
Una vez que un paquete llega a una red local mediante el ruteo IP, el encaminamiento necesario para la entrega del mismo al host destino se debe realizar forzosamente mediante la direccin MAC del mismo (nmero de la tarjeta de red), por lo que hace falta algn mecanismo capaz de transformar la direccin IP que figura como destino en el paquete en la direccin MAC equivalente, es decir, de obtener la relacin direccin lgica-direccin fsica. Esto sucede as porque las direcciones Ethernet y las direcciones IP son dos nmeros distintos que no guardan ninguna relacin entre ellos.
De esta labor se encarga el protocolo ARP (Protocolo de Resolucin de Direcciones), que en las LAN equipara direcciones IP con direcciones Ethernet (de 48 bits) de forma dinmica, evitando as el uso de tablas de conversin. Mediante este protocolo una mquina determinada (generalmente un router de entrada a la red o un swicht) puede hacer un broadcast mandando un mensaje, denominado peticin ARP, a todas las dems mquinas de su red para preguntar qu direccin local pertenece a alguna direccin IP, siendo respondido por la mquina buscada mediante un mensaje de respuesta ARP, en el que le enva su direccin Ethernet. Una vez que la mquina peticionaria tiene este dato enva los paquetes al host destino usando la direcin fsica obtenida.

Protocolo ARP
El protocolo ARP permite pus que un host encuentre la direccin fsica de otro dentro de la misma red con slo proporcionar la direccin IP de su objetivo. La informacin as obtenida se guarda luego en una tabla ARP de orgenes y destinos, de tal forma que en los prximos envos al mismo destinatario no ser ya necesario realizar nuevas peticiones ARP, pus su direccin MAC es conocida.

Protocolo ARP
ARP es pus un protocolo de bajo nivel que oculta el direccionamiento de la red en las capas inferiores, permitiendo asignar al administrador de la red direcciones IP a los host pertenecientes a una misma red fsica. Los mensajes de peticin ARP (ARP request) contienen las direcciones IP y Ethernet del host que solicita la informacin, junto con la direccin IP de la mquina destino. Los mensajes de respuesta ARP (ARP reply) son creados por el ordenador propietario de la IP buscada, que rellena el campo vaco con su direccin Ethernet y lo enva directamente al host que curs la solicitud. Cuando el host origen recibe la respuesta ARP y conoce la direccin fsica del host destino introduce esos datos en una tabla especial alojada en su cach, y lo mismo va haciendo con cada una de las parejas direccin IP-direccin fsica que utiliza en sus diferentes comunicaciones con otros host. Y no slo eso; como las peticiones ARP se realizan por multidifusin, cada vez que pasa ante l un mensaje de respuesta ARP extre del mismo la pareja IP-MAC y la incorpora a su tabla. De esta forma se va construyendo la tabla dinmicamente.

Protocolo ARP
En sucesivas comunicaciones entre ambos host ya no ser preciso realizar una nueva peticin ARP, ya que ambos host saben las direcciones del otro. Estas tablas se denominan tablas ARP o cach ARP, y son fundamentales para el funcionamiento y rendimiento ptimo de una red, pus reducen el trfico en la misma al evitar preguntas ARP innecesarias.
tabla ARP

direccin IP 212.5.26.1 212.5.26.2 212.5.26.3

direccin fsica 26-5A-C5-42-FD-11 2C-2A-48-A6-36-00 5D-F1-80-02-A7-93

Protocolo ARP
Las tablas ARP son necesarias para poder dirigir tramas en una red, ya que las direcciones IP y las direcciones de las tarjetas de red son independientes, y no tienen ninguna equivalencia entre ellas, siendo necesario entonces algn mtodo para poder obtener la equivalencia entre ambas.
De forma general, cuando una mquina desea comunicarse con otra a partir de su IP, lo primero que hace es mirar en su tabla ARP si tiene la direccin fsica asociada a esa direccin lgica. Si es as, enva directamente los paquetes al host destino. Si no encuentra la entrada adecuada en la tabla, lanza una peticin ARP multidifusin a todos los host de su red, hasta encontrar respuesta, momento en el que incorpora la nueva entrada en su tabla ARP y enva los paquetes al destino. Si la mquina destino no existe, no habr respuesta ARP alguna. En estos casos, el protocolo IP de la mquina origen descartar las tramas dirigidas a esa direccin IP.

Protocolo ARP
Cuando un host realiza una peticin ARP y es contestado, o cuando recibe una peticin o trama, actualiza su tabla ARP con las direcciones obtenidas. Estas entradas en la tabla tienen un tiempo de vida limitado, con objeto de no sobrecargar la tabla con datos innecesarios, que suele ser de unos 20 minutos. Si queris ver la tabla ARP de vuestra mquina, tan slo tenis que abrir la consola del sistema y escribir el comando "arp -a". Si no encontris entradas, abrid el navegador y hacer una peticin HTTP a cualquier pgina web. Si volvis a introducir en la consola el camando os aparecer la entrada ARP del router o proxy que usis para salir a Internet. En mi caso he obtenido la siguiente entrada:

Protocolo ARP
ARP Proxi.- En muchas redes, para evitar el proceso de peticiones ARP sin respuesta, se usa el protocolo denominado ARP Proxi, en el que el router de salida recoge todas las peticiones ARP que circulan por la red y observa si la IP destino pertenece a un host de la misma o a un host de otra red. En el primer caso deja pasar la peticin, para que sa respondida por la mquina destino, pero en el segundo caso es l el que responde directamente a la mquina peticionaria con su propia direccin fsica, para posteriormente enrutar las tramas hacia la red destino.
RARP (ARP por Rplica).- Otro protocolo relacionado con ARP es el RARP, que permite que una mquina que acaba de arrancar o sin disco pueda encontrar su direccin IP desde un servidor. Para ello utiliza el direccionamiento fsico de red, proporcionando la direccin hardware fsica (MAC) de la mquina de destino para identificar de manera nica el procesador, transmitiendo por difusin la solicitud RARP. Una vez que la mquina obtiene su direccin IP la guarda en memoria, y no vuelve e usar RARP hasta que no se inicia de nuevo.

Protocolo ARP
Seguridad y ARP.- Al igual que ocurre con casi todos los protocolos de comunicaciones, y en concreto TCP/IP, el protocolo ARP puede ser usado por un posible atacante para objetivos no deseados.
Una de las tcnicas ms usadas en este sentido es la conocida como ARP Spoofing que ,como su nombre indica, consiste el el uso del protocolo para hacerse pasar por quin no se es en realidad, es decir, para suplantar a otra persona o mquina. Bsicamente consiste en enviar a la mquina objetivo del ataque un paquete con la direccin IP que queremos suplantar pero con la direccin fsica de nuestra tarjeta de red. En este caso, la mquina objetivo guardar la entrada ARP en su tabla cach, y a partir de ese momento todos los paquetes que enve a la direccin IP suplantada llegarn a la mquina del atacante, y no a su legtimo destinatario. Este ataque dura aproximadamente unos 20 minutos (vara segn el sistema operativo de la mquina atacada), que es el tiempo que se guardan las entradas en las tablas ARP.

Protocolo ARP
Snifers.- Una tarjeta de red en estas condiciones se dice que est "configurada en modo promiscuo" (promiscous mode). Existen tarjetas que ya vienen configuradas en este modo, pero lo normal es que la promiscuidad de una trajeta se implemente por software, usando unos programas especiales conocidos como snifers. La misin de un snifer es pus capturar todas las tramas que pasan a travs de una tarjeta de red.
Generalmente los snifers se configuran para capturar tan solo las tramas (paquetes) dirigidos a unos puertos determinados (que suelen ser el 21, el 23, el 110 y el 143), ya que si no la carga que soportaran sera excesiva. Adems, algunos de ellos estn diseados para "grabar" estas tramas durante un cierto periodo de tiempo (unos 30-60 segundos) y almacenarlos luego en un fichero log, que puede ser estudiado posteriormente con toda tranquilidad por el atacante.

Protocolo ARP
Los snifers son muy peligrosos en una red, ya que muchas de las claves introducidas por los usuarios viajen sin encriptar y sin ningn otro tipo de proteccin, por lo que el atacante puede hacerse con claves de todo tipo, desde claves de usuario de acceso a Telnet hasta claves de Administrador.
As, el uso de snifers puede ser una herramienta de grn ayuda para un administrador de red, ya que le permite monitorizar las tramas que estn circulando por la misma, los mensajes de informacin y error que se generan, la actividad de la red. Existen aplicaciones muy buenas para esta labor, como Lan-Inspector (de VisLogic).

Modelo de Referencia
Capa de aplicacin

Capa de transporte

Capa de red

Capa de enlace de datos

Capa fsica

Servicios de la Capa de Enlace de Datos

Transferencia de datos entre las capas de red de las mquinas origen y destino. Tipos de servicio

Servicio sin acuse ni conexin. Servicio con acuse sin conexin. Servicio con acuse con conexin.

Comunicacin en la Capa de Enlace de Datos


Capa de aplicacin Capa de aplicacin

Capa de transporte

Capa de transporte

Capa de red

Capa de red

Virtual
Capa de enlace de datos Capa de enlace de datos

Capa fsica

Capa fsica

Real

Framing
La capa de enlace de datos usa la capa fsica como un tubo de bits. Para detectar y corregir errores la capa de enlace de datos divide los datos en frames, agregando informacin tal como:

Suma de verificacin (CRC). Indicadores de inicio y fin con relleno. Conteo de caracteres.

Control de Errores
Solo es posible en un servicio con acuse de recibo. Por cada frame enviado se espera uno de retorno que indique si la transmisin fue exitosa o no. Tambin se usa un temporizador para detectar frames de control perdidos.

Control de Flujo
Consiste en regular la velocidad de transmisin de datos de forma de no saturar al receptor. Los protocolos de esta capa contienen reglas precisas que indican cuando es posible enviar un frame. Con frecuencia el receptor autoriza implcita o explcitamente la transmisin.

Suma de Verificacin (CRC)


Trata cadenas de bits como polinomios con coeficientes 0 y 1 Se implementa en hardware. Algunos polinomios de uso comn son:


Mensaje a transmitirM(x) Seleccionar polinomio generadorG(x) de grado r Coeficientes delG(x) son 0 1

R(x) := Residuo( xrM(x) / G(x))

Divisin mdulo 2

CRC-12 = x12+x11+x3+x2+x+1 CRC-16 = x16+x15+x2+1 CRC-CCITT = x16+x12+x5+1

T(x) := xrM(x) xor R(x)

Equivale a una resta mdulo 2. T(x) es divisible porG(x)

Transmitir T(x)

Suma de Verificacin (CRC)


CRC-12 se usa con caracteres de 6 bits de longitud, CRC-16 y CRC-CCITT con caracteres de 8 bits. CRC-16 y CRC-CCITT detectan los siguientes errores:

Todos los errores de 1 o dos bits. Todos los errores con un nmero impar de bits. Todos los errores de rfaga de 16 bits o menos. 99.997% de la rfagas de errores de 17 bits. 99.998% de las rfagas de 18 bits o ms.

Ejemplos de Protocolos de la Capa de Enlace de Datos


Protocolo unidireccional para un canal ruidoso. Protocolos de ventana deslizante. Protocolo HDLC. Protocolos usados en Internet

SLIP PPP

Protocolo PAR
Positive Acknowledgment with Retransmission Unidireccional Tolera errores y paquetes perdidos

Transmisor

Receptor

1 1 2 2 2 2 3

3
3 3

Estructuras de Datos
#define MAX_PKT 4 typedef enum {false, true} boolean; typedef unsigned int seq_nr; typedef struct { unsigned char data[MAX_PKT]; } packet; typedef enum {data, ack, nak} frame_kind; typedef enum { frame_arrival, cksum_err, timeout, network_layer_ready, ack_timeout } event_type;
typedef struct { frame_kind kind; seq_nr seq; seq_nr ack; packet info; } frame;

/* packet size in bytes */ /* boolean type */ /* sequence or ack numbers */

/* packet definition */ /* frame_kind definition */

/* kind of events */

/* frames are transported in this layer */ /* what kind of a frame is it? */ /* sequence number */ /* acknowledgement number */ /* the network layer packet */

Protocolo PAR (transmisor)


#define MAX_SEQ 1 /* must be 1 for protocol 3 */ void sender3(void) { seq_nr next_frame_to_send; /* seq number of next outgoing frame */ frame s; /* scratch variable */ packet buffer; /* buffer for an outbound packet */ event_type event; next_frame_to_send = 0; /* initialize outbound sequence numbers */ from_network_layer(&buffer); /* fetch first packet */ while (true) { s.info = buffer; /* construct a frame for transmission */ s.seq = next_frame_to_send; /* insert sequence number in frame */ to_physical_layer(&s); /* send it on its way */ start_timer(s.seq); /* if answer takes too long, time out */ wait_for_event(&event); /* frame_arrival, cksum_err, timeout */ if (event == frame_arrival) { from_physical_layer(&s); /* get the acknowledgement */ if (s.ack == next_frame_to_send){ from_network_layer(&buffer); /* get the next one to send */ inc(next_frame_to_send); /* invert next_frame_to_send */} }} } }

Protocolo PAR (receptor)


void receiver3(void) { seq_nr frame_expected; frame r, s; event_type event;

frame_expected = 0; while (true) { wait_for_event(&event); /* frame_arrival or cksum_err */ if (event == frame_arrival) { /* A valid frame has arrived. */ from_physical_layer(&r); /* go get the newly arrived frame */ if (r.seq == frame_expected) { /* Frame received. */ to_network_layer(&r.info); /* send data to the network layer */ inc(frame_expected); /* expect the other sequence nr */ } s.ack = 1 - frame_expected; /* tell which frame is being acked */ to_physical_layer(&s); /* only the ack field is use */ } }
}

Protocolo de Ventana Deslizante


Es un protocolo bidireccional. Se puede enviar varios paquetes antes de recibir acuse de recibo. Los acuses de recibo indican el nmero de secuencia del paquete recibido Se trata de enviar los acuses de recibo con los paquetes que viajan en sentido contrario.

Protocolo de Ventana Deslizante


#define MAX_SEQ 1 /* must be 1 for protocol 4 */ typedef enum {frame_arrival, cksum_err, timeout} event_type; #include "protocol.h" void protocol4 (void) { seq_nr next_frame_to_send; seq_nr frame_expected; frame r, s; packet buffer; event_type event; next_frame_to_send = 0; frame_expected = 0; from_network_layer(&buffer); s.info = buffer; s.seq = next_frame_to_send; s.ack = 1 - frame_expected; to_physical_layer(&s); start_timer(s.seq);

/* 0 or 1 only */ /* 0 or 1 only */ /* scratch variables */ /* current packet being sent */

/* next frame on the outbound stream */ /* frame arriving frame expected */ /* get packet from the network layer */ /* prepare to send the initial frame */ /* insert sequence number into frame */ /* piggybacked ack */ /* transmit the frame */ /* start the timer running */

Protocolo de Ventana Deslizante


while (true) { wait_for_event(&event); if (event == frame_arrival) { /* a frame has arrived undamaged. */ from_physical_layer(&r); /* go get it */ if (r.seq == frame_expected) { /* Handle inbound frame stream. */ to_network_layer(&r.info); /* pass packet to network layer */ inc(frame_expected); /* invert expected sequence number */ } if (r.ack == next_frame_to_send) { /* handle outbound frame stream. */ from_network_layer(&buffer); /* get packet from network layer */ inc(next_frame_to_send); /* invert sender's sequence number */ } } s.info = buffer; /* construct outbound frame */ s.seq = next_frame_to_send; /* insert sequence number */ s.ack = 1 - frame_expected; /* seq number of last received frame */ to_physical_layer(&s); /* transmit a frame */ start_timer(s.seq); /* start the timer running */ } }

Otros Protocolos de Ventana Deslizante

Protocolo HDLC

High-level Data Link Control SDLC(IBM) ADCCP(ANSI) HDLC(ISO) LAP(CCITT) LAPB(CCITT) Estos protocolos difieren solo en aspectos menores. Estan orientados a bits y usan relleno para lograr transparencia. Muy utilizados
8

Bits

>0
Datos

16

01111110 Direccin Control

CRC 01111110

Serial Line IP Protocol (SLIP)


Fue desarrollado en 1984 para conectar estaciones de trabajo al Internet usando un modem. Est descrito en RFC 1055 y 1144 Envia paquetes IP agregando 0xC0 al final. Si 0xC0 aparece en los datos se precede de 0xDB. Las ltimas versines comprimen los encabezdos TCP e IP eliminando campos repetidos en paquetes consecutivos.

Serial Line IP Protocol (SLIP)

Slip aunque ampliamente usado tiene algunas desventajas:


No efectua correccin y deteccin de errores. Solo funciona con IP. Carece de mecanismos para establer la conexin. Cada host debe conocer de antemano la direccin IP del otro. Carece de mecanismos de autentificacin. Existen versiones incompatibles entre s.

Point to Point Protocol (PPP)


Desarrollado por la IETF. Descrito en RFCs 1661, 1662, 1663. PPP incluye:

Delimitacin unambiga de inicio y fin de frames. Control de errores. Protocolo de control de enlaces (LCP). Mecanismo para negociar opciones de la capa de red mediante un protocolo (NCP) distinto para cada tipo de red.

Point to Point Protocol (PPP)


Bytes 1 1 1 1o2 Variable Datos 01111110 11111111 00000011 Protocolo LCP, NCP, IP, IPX, etc. 16 CRC 8 01111110

PPP se parece a HDLC pero es orientado a bytes. PPP se usa tanto en enlaces dedicados como en en enlaces discados.

La Capa de Enlace de Datos en ATM


En ATM corresponde a la subcapa TC (Transmition Convergence) de la capa fsica. Calcula la suma de verificacin HEC usando el polinomio x8 + x2 + x + 1. Genera celdas de relleno cuando el medio fsico es sncrono (e.g. SONET). Convierte la corriente de celdas proveniente de la capa ATM en una corriente de bits y viceversa.

Bits

12 VPI

16 VCI

384 Datos

PTI CLP HEC

Capa de Enlace de Datos


Subcapa de aceso al medio

La Subcapa de Acceso al Medio


Contiene protocolos para gestionar el acceso a redes de medio compartido. A menudo se identifica por la sigla, en ingles, MAC (Medium Access Control ). Esta subcapa es de especial importancia en redes de area local, en algunos tipos de redes satelitales y en redes de radiodifusin.

Medio Compartido
Recibido
No es para m

Reparto del Canal

Reparto esttico:

Si el nmero de usuarios es pequeo y fijo se puede usar TDM o FDM Probabilidad (paquete en Dt) = lD t Canal nico. Colisin. Tiempo continuo o discreto. Con o sin sin deteccin de portadora.

Reparto dinmico (supuestos):


Protocolos de la Subcapa de Acceso al Medio (MAC)

ALOHA CSMA (Carrier Sense Multiple Access) CSMA/CD (CSMA with Collision Detect) WDMA (Wavelength Division MA) MACA (MA with Collision Avoidance) Radio celular (GSM, CDPD y CDMA) IEEE 802.X FDDI (Fiber Distributed Data Interfase)

ALOHA
Desarrolla a pricipios de los 70s en la Universidad de Hawaii. Existen dos versiones de tiempo continuo y de tiempo discreto. Cada estacin transmite cuando lo necesita. Si se detecta una colisin cada transmisor espera un tiempo aleatorio antes de retransmitir. La eficiencia mxima de ALOHA continuo es 18.4%, la de ALOHA discreto es 36.8%.

Colisin
Retransmitir

Colisin

Retransmitir

CSMA
Similar a ALOHA pero las estaciones escuchan el canal para detectar si esta libre antes de iniciar la transmisin. En CSMA peristente-p una estacin transmite inmediatamente con probabilidad p al encontrar el canal libre 0<p<=1. En CSMA no persistente las estaciones solo monitorean el canal a intervalos discretos.

Comparacin de ALOHA y CSMA

CSMA/CD
Mejora al CSMA interrumpiendo las transmisiones tan pronto como se detecta una colisin. Se usa ampliamente en redes locales, particularmente en IEEE 802.3, tambin conocido como Ethernet. El rendimiento de todos estos protocolos depende del retardo de las seales en el canal.

Protocolos Sin Colisiones


En el protocolo de mapa de bits, el uso del canal se divide en perodos de transmisin y periodos de contencin. Durante el perodo de contencin cada estacin que desea transmitr envia un bit 1 en su ranura de tiempo luego las estaciones transmiten sus datos en el mismo orden.

Protocolos Sin Colisiones


En el protocolo conteo descendente, todas las estaciones transmiten su direccin simultneamente. Cuando detectan un bit 1 que no emitieron ceden el turno de transmisin. La estacin con la direccion mas alta transmite.

Protocolos Sin Colisiones


En los protocolos de token (testigo), un paquete especial circula por el medio compartido de estacin a estacin. Solo la estacin que tiene el testigo puede transmitir. Estos protocolos garantizan un tiempo de viaje determinstico. Ejemplos de estos protocolos son IEEE 802.4, IEEE 802.5 y FDDI

Protocolos de Token Ring

Protocolos de Contencin Limitada


Pretenden combinar las mejores caractersticas de los protocolos con y sin colisiones. Dividen a las estaciones dinmicamente en grupos. Cada grupo esta libre de colisiones, solo existen colisiones entre grupos. Ejemplo: el protocolo de recorrido de arbol adaptable.

Protocolos con Divisin del Canal


Se divide el canal de transmisin en un subcanal de control y multiples canales para datos mediante FDM o TDM. Las estaciones utilizan el canal de control para acordar un canal de datos disponible por el cual transmitir. Un ejemplo de este protocolo es WDMA (Wavelength Division Multiple Access).

Protocolos para LANs Inalmbricas


En una red inalmbrica, las estaciones no pueden escuchar a todas las dems. Los protocolos CSMA no son adecuados ya que solo puede sensar la portadora en su entorno, no en el entorno del receptor. El protocolo MACA (Multiple Access with Collisin Avoidance) reduce el problema mediante el intercambio de paquetes cortos RTS y CTS.

Radio Celular Digital


GSM (Global System for Mobile communications) es el estandar europeo y es totalmente digital. GSM usa 124 canales bidireccionales por FDM en la banda de 890 a 960 MHz. Cada canal se divide en 8 ranuras TDM para un total de 992 canales, de los cuales se usan unos 200 en cada celda. Un canal puede transmitir voz o datos a 9600 bits por segundo.

CDPD: Cellular Digital Packet Data

Funciona sobre los sistemas de telefona celular existente (AMPS). No se establece una conexin; cuando se desea enviar un paquete se toma temporalmente cualquier canal disponible. Es similar a CSMA. CDPD sigue estrechamente el modelo OSI. La capa de enlace de datos usa DSMA (Digital Sense MA). Cada estacin movil escucha un canal y si esta ocupado salta un nmero aleatorio de canales. Transmite a una tasa bruta de 19.2 Kbps (~9.6 Kbps neto).

CDMA: Code Divisin Multiple Access


A cada estacin se asigna un cdigo (chip). Los chips debe ser ortogonales. Todas las estaciones transmiten cuando lo requieren. Las seales se suman. Las estaciones envian su cdigo para indicar un bit 1 y el complemento de su cdigo para indicar un bit 0. Las seales se separan usando los cdigos de las estaciones.

IEEE 802.x
802.1 802.2 802.3 802.4 802.5 802.6 Introduccin a los estandares. Primitivas. Parte superior de la capa de enlace de datos, LLC (Logical Link Control) Ethernet Token Bus Token Ring DQDB (Distributed Queue Dual Bus)

IEEE 802.3
Usa CSMA/CD. Para determinar el tiempo de espera en caso de colisin, se usa un algoritmo de retoceso exponencial binario:

Despues de la i-esima colisin cada estacin espera un tiempo aleatorio entre 0 y min (2i-1 ,1023) intervalos de 51.2 mseg. Despues de 16 colisiones se reporta un error a las capas superiores.

MAC en el IEEE 802.3


Direccin de grupo Direccin local Direccin asignada por el usuario, Direccin global (unica, 7x1013 posibilidades) asignada por el fabricante. Direccin de broadcast (1111 1111) Tamao mnimo del Frame 64 bytes

Bits

1 1 B LA

46 Direccin de destino 6 6

Bytes

0-1500

0-46

Prembulo FS
10101010 5.6ms a 10 MHZ

Direccin Direccin de destino de origen


Inicio de Frame 10101011

Datos

Relleno

CRC

Longitud del campo de datos

Rendimiento de IEEE 802.3

IEEE 802.2 (LLC)


La capa LLC (Logical Link Control ) presenta una interfase comn a la capa de red. Se basa en HDLC y proporciona tres tipos de servicio no confiable, reconocido y orientado a conexin.

FDDI
Usa un protocolo de Token Ring similar a IEEE 802.5. Ademas de paquetes asincrnicos FDDI puede transmitir datos PCM mediante reservacin previa del ancho de banda. El trafico asincrnico se divide en clases de prioridades.

Bytes

>7

1 1

Prembulo

6 6 Direccin Direccin de destino de origen


Control de frame Delimitador inicial

Sin lmite

1 1

Datos

CRC

Delimitador final Estado de frame

You might also like