You are on page 1of 78

¡La universidad para todos!

¡La Universidad para todos!

Tema: CAPA FISICA Y LA CAPA DE ENLACE DE


DATOS
Docente: Ing. Rafael Arias Torres

Escuela Profesional Periodo académico: 2019-1C


INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES Semestre:
Unidad:
¡La universidad para todos!

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 comunicación y trabajo
conjunto entre las capas superiores (Red, Trasnporte y
Aplicación) y el medio físico de transporte de datos.

Su principal objetivo es proporcionar una comunicación


eficiente, libre de errores, entre dos máquinas adyacentes,
pertenecientes a la misma red/subred. Para ello se encarga de
la notificación de errores, la topología de la red y el control de
flujo en la transmisión de tramas.

Cuando la conexión 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
envíen con seguridad a través del medio físico (Capa Física) y
sin errores de transmisión. En otro tipo de conexiones no
puede realizar este cometido, siendo entonces las capas
superiores las encargadas del mismo.
¡La universidad para todos!

Capa de Enlace de Datos


Por este motivo podemos afirmar que la Capa de Enlace de
Datos es la encargada de la transmisión y direccionamiento de
datos entre host situados en la misma red/subred, mientras
que la capa de Red (Internet) es la encargada de la
transmisión 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 tránsito de datos confiable a través
de un enlace físico. Al hacerlo, la capa de enlace de datos se
ocupa del direccionamiento físico (comparado con el lógico), la
topología de red, el acceso a la red, la notificación de errores,
formación y entrega ordenada de tramas y control de flujo. Por
lo tanto, su principal misión es convertir el medio de
transmisión en un medio libre de errores de cualquier tipo.
¡La universidad para todos!

Principales Funciones
•Establece los medios necesarios para una comunicación
confiable y eficiente entre dos máquinas en red.

•Agrega 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 serán entregados a la Capa Física para su
transmisión.

•Sincroniza el envío de las tramas, transfiéndolas de una forma


confiable libre de errores. Para detectar y controlar los errores
se añaden bits de paridad, se usan CRC (Códigos Cíclicos
Redundantes) y envío de acuses de recibo positivos y
negativos, y para evitar tramas repetidas se usan números de
secuencia en ellas.

•Envía los paquetes de nodo a nodo, ya sea usando un circuito


virtual o como datagramas.
¡La universidad para todos!

Principales Funciones
•Envía los paquetes de nodo a nodo, ya sea usando un circuito
virtual o como datagramas.

•Controla la congestión de la red.

•Regula la velocidad de tráfico de datos.

•Controla el flujo de tramas mediante protocolos que prohiben


que el remitente envíe tramas sin la autorización explícita del
receptor, sincronizando así su emisión y recepción.

•Se encarga de la de secuencia, de enlace lógico y de acceso al


medio (soportes físicos de la red).
¡La universidad para todos!

Subcapas de Enlace de Datos


En la actual tecnología TCP/IP, el estándar más aceptado para
la Capa de Enlace de Datos es el definido por la IEE, que
diferencia dos subcapas independientes:
¡La universidad para todos!

Subcapa de Enlace Logico (LLC)


Subcapa de Enlace Lógico (LLC), que permite que parte de la capa de
enlace de datos funcione independientemente de las tecnologías
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 tecnologías que están por
debajo. El LLC, como subcapa, participa en el proceso de
encapsulamiento.

La Subcapa de Enlace Lógico transporta los datos de protocolo de la


red, un paquete IP, y agrega más información 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 tecnología
específica requerida le adicione datos y lo encapsule.

La subcapa LLC de la Capa de Enlace de Datos administra la


comunicación entre los dispositivos a través de un solo enlace a una
red. LLC se define en la especificación IEEE 802.2 y soporta tanto
servicios orientados a conexión como servicios no orientados a
conexión, 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 múltiples protocolos de las capas
superiores compartan un solo enlace de datos físico.
¡La universidad para todos!

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 físicos, fijando así cuál de los
computadores transmitirá datos binarios en un grupo en el que todos los
computadores están 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 transmisión común. Es necesario por ello establecer técnicas que
permitan definir qué host está autorizado para transmitir por el medio común
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).
Según la forma de acceso al medio, los protocolos MAC pueden ser:
Determinísticos: en los que cada host espera su turno para transmitir. Un
ejemplo de este tipo de protocolos determinísticos 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 posée a transmitir datos, mientras que los demás
deben esperar a que quede el token libre.
No determinísticos: 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 ningún host
transmitiendo, momento en el que transmite sus datos.
¡La universidad para todos!

Tarjetas de red
Para realizar todas estas funciones, la Capa de Enlace de Datos
se basa en un componente físico fundamental, la tarteja de red.
Tarjetas de red.-
El componente físico fundamental de esta capa es la trajeta de
red, también denominada NIC, situada normalmente en un PC
en la parte trasera del mismo, encontrándose conectada al
medio de transmisión mediante conectores Jack RJ-45.
¡La universidad para todos!

Tarjetas de red
Cada tarjeta de red posée un número identificador único,
grabado en la memoria ROM de la misma por el fabricante, que
se denomina dirección física o dirección de Control de Acceso al
Medio, MAC , que identifica de forma unívoca al ordenador que
la posée. Cuando se arranca una máquina, la dirección MAC se
copia en la memoria RAM, para tenerla siempre a mano.

La dirección física 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 dirección MAC, por


lo que la misma se puede usar (y así se hace) para identificar
en una red a la máquina en la que está instalada.
¡La universidad para todos!

Tarjetas de red
El grán problema de estas direcciones es que están conformadas
como un sistema de direccionamiento plano, sin ninguna jerarquía,
por lo que la tarjeta de número 00-00-0D-1A-12-35 no nos dice
nada ni de la red en la que se encuentra la máquina que la tiene
instalada, ni tiene relación alguna con la ubicación de la máquina de
número de tarjeta 00-00-0D-1A-12-36. Digamos que es un sistema
de identificación análogo al del D.N.I. español, en el que el número
del mismo no dice nada de la persona poseedora del documento.

Creación 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 transmisión al medio físico.
Para que estos datos se puedan enviar de forma correcta hasta el
destinatario de los mismos hay que darles un formato adecuado
para su transmisión por los medios físicos, incluyéndoles además
algún mecanismo de identificación 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.
¡La universidad para todos!

Creación 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 longitud/ fin de


dirección datos FCS
trama tipo trama
¡La universidad para todos!

Creación de Tramas
•Campo de inicio de trama: secuencia de bytes de inicio y
señalización, que indica a las demás máquinas en red que lo
que viene a continuación es una trama.

•Campo de dirección: secuencia de 12 bytes que contiene


información para el direccionamiento físico de la trama, como
la dirección MAC del host emisor y la dirección MAC del host
destinatario de la trama.

•Campo longitud/tipo: en algunas tecnologías 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
petición de envío de los datos. También existen tecnologías de
red que no usan este campo. De existir, ocupa 2 bytes.
¡La universidad para todos!

Creación 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 deséa enviar y los bytes
encapsulados que se deséa que lleguen al host destino. Además, se
añaden a este campo unos bytes adicionales, denominados bytes de
relleno, con objeto que que las tramas tengan una longitud mínima
determinada, a fin de facilitar la temporización.
•Campo FCS: o campo de secuencia de verificación de trama, de 4
bytes, que contiene un número calculado mediante los datos de la
trama, usado para el control de errores en la transmisión. Cuando la
trama llega al host destino, éste vuelve a calcular el número
contenido en el campo. Si coinciden, da la trama por válida; en caso
contrario, la rechaza. Generalmente se usan el método Checksum
(suma de bits 1), el de paridad (números de bits 1 par o impar) y el
Control de Redundancia Cíclico (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 precisión dónde 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.
¡La universidad para todos!

Direccionamiento Físico
Como hemos visto, la Capa de Enlace de Datos se encarga de
determinar qué ordenadores se están comunicando entre sí, cuándo
comienza y termina esta comunicación, qué host tiene el turno para
transmitir y qué errores se han producido en la transmisión.
Ahora bien ¿cómo se produce esta comunicación entre dos host de
una misma red?. La respuesta es mediante el direccionamiento
físico, basado en los números de las trajetas de red de ambos host
(direcciones físicas).
Cuando el host A deséa enviar una trama al host B, introduce en el
campo "dirección" de la trama tanto su dirección física 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 dirección física 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.
¡La universidad para todos!

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 dirección MAC
del mismo (número de la tarjeta de red), por lo que hace falta algún
mecanismo capaz de transformar la dirección IP que figura como
destino en el paquete en la dirección MAC equivalente, es decir, de
obtener la relación dirección lógica-dirección física. Esto sucede así
porque las direcciones Ethernet y las direcciones IP son dos
números distintos que no guardan ninguna relación entre ellos.

De esta labor se encarga el protocolo ARP (Protocolo de Resolución


de Direcciones), que en las LAN equipara direcciones IP con
direcciones Ethernet (de 48 bits) de forma dinámica, evitando así el
uso de tablas de conversión. Mediante este protocolo una máquina
determinada (generalmente un router de entrada a la red o un
swicht) puede hacer un broadcast mandando un mensaje,
denominado petición ARP, a todas las demás máquinas de su red
para preguntar qué dirección local pertenece a alguna dirección IP,
siendo respondido por la máquina buscada mediante un mensaje de
respuesta ARP, en el que le envía su dirección Ethernet. Una vez
que la máquina peticionaria tiene este dato envía los paquetes al
host destino usando la direción física obtenida.
¡La universidad para todos!

Protocolo ARP
El protocolo ARP permite pués que un host encuentre la
dirección física de otro dentro de la misma red con sólo
proporcionar la dirección IP de su objetivo. La información así
obtenida se guarda luego en una tabla ARP de orígenes y
destinos, de tal forma que en los próximos envíos al mismo
destinatario no será ya necesario realizar nuevas peticiones
ARP, pués su dirección MAC es conocida.
¡La universidad para todos!

Protocolo ARP
ARP es pués 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 física.
Los mensajes de petición ARP (ARP request) contienen las
direcciones IP y Ethernet del host que solicita la información,
junto con la dirección IP de la máquina destino. Los mensajes
de respuesta ARP (ARP reply) son creados por el ordenador
propietario de la IP buscada, que rellena el campo vacío con su
dirección Ethernet y lo envía directamente al host que cursó la
solicitud.
Cuando el host origen recibe la respuesta ARP y conoce la
dirección física 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 dirección IP-dirección física que utiliza
en sus diferentes comunicaciones con otros host. Y no sólo eso;
como las peticiones ARP se realizan por multidifusión, cada vez
que pasa ante él un mensaje de respuesta ARP extráe del
mismo la pareja IP-MAC y la incorpora a su tabla. De esta
forma se va construyendo la tabla dinámicamente.
¡La universidad para todos!

Protocolo ARP
En sucesivas comunicaciones entre ambos host ya no será
preciso realizar una nueva petición 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, pués reducen el tráfico en la misma al evitar
preguntas ARP innecesarias.

tabla ARP
dirección IP dirección física
212.5.26.1 26-5A-C5-42-FD-11
212.5.26.2 2C-2A-48-A6-36-00
212.5.26.3 5D-F1-80-02-A7-93
¡La universidad para todos!

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 algún método para
poder obtener la equivalencia entre ambas.

De forma general, cuando una máquina desea comunicarse con


otra a partir de su IP, lo primero que hace es mirar en su tabla
ARP si tiene la dirección física asociada a esa dirección lógica.
Si es así, envía directamente los paquetes al host destino. Si no
encuentra la entrada adecuada en la tabla, lanza una petición
ARP multidifusión a todos los host de su red, hasta encontrar
respuesta, momento en el que incorpora la nueva entrada en su
tabla ARP y envía los paquetes al destino.

Si la máquina destino no existe, no habrá respuesta ARP


alguna. En estos casos, el protocolo IP de la máquina origen
descartará las tramas dirigidas a esa dirección IP.
¡La universidad para todos!

Protocolo ARP
Cuando un host realiza una petición ARP y es contestado, o
cuando recibe una petición 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 queréis ver la tabla ARP de vuestra máquina, tan sólo tenéis
que abrir la consola del sistema y escribir el comando "arp -a". Si
no encontráis entradas, abrid el navegador y hacer una petición
HTTP a cualquier página web. Si volvéis a introducir en la consola
el camando os aparecerá la entrada ARP del router o proxy que
uséis para salir a Internet. En mi caso he obtenido la siguiente
entrada:
¡La universidad para todos!

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 petición, para que séa respondida por la máquina destino, pero
en el segundo caso es él el que responde directamente a la
máquina peticionaria con su propia dirección física, para
posteriormente enrutar las tramas hacia la red destino.

RARP (ARP por Réplica).- Otro protocolo relacionado con ARP es


el RARP, que permite que una máquina que acaba de arrancar o
sin disco pueda encontrar su dirección IP desde un servidor. Para
ello utiliza el direccionamiento físico de red, proporcionando la
dirección hardware física (MAC) de la máquina de destino para
identificar de manera única el procesador, transmitiendo por
difusión la solicitud RARP. Una vez que la máquina obtiene su
dirección IP la guarda en memoria, y no vuelve e usar RARP hasta
que no se inicia de nuevo.
¡La universidad para todos!

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 técnicas más 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 quién no se es en
realidad, es decir, para suplantar a otra persona o máquina.

Básicamente consiste en enviar a la máquina objetivo del ataque


un paquete con la dirección IP que queremos suplantar pero con
la dirección física de nuestra tarjeta de red. En este caso, la
máquina objetivo guardará la entrada ARP en su tabla caché, y a
partir de ese momento todos los paquetes que envíe a la
dirección IP suplantada llegarán a la máquina del atacante, y no a
su legítimo destinatario. Este ataque dura aproximadamente unos
20 minutos (varía según el sistema operativo de la máquina
atacada), que es el tiempo que se guardan las entradas en las
tablas ARP.
¡La universidad para todos!

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 misión de un snifer es pués capturar todas las tramas
que pasan a través 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
soportarían sería excesiva. Además, algunos de ellos están
diseñados 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.
¡La universidad para todos!

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
ningún otro tipo de protección, 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 grán ayuda


para un administrador de red, ya que le permite monitorizar las
tramas que están circulando por la misma, los mensajes de
información y error que se generan, la actividad de la red. Existen
aplicaciones muy buenas para esta labor, como Lan-Inspector (de
VisLogic).
¡La universidad para todos!

Modelo de Referencia

Capa de aplicación

Capa de transporte

Capa de red

Capa de enlace de datos

Capa física
¡La universidad para todos!

Servicios de la Capa de Enlace de Datos

• Transferencia de datos entre las capas de red de


las máquinas origen y destino.
• Tipos de servicio
– Servicio sin acuse ni conexión.
– Servicio con acuse sin conexión.
– Servicio con acuse con conexión.
¡La universidad para todos!

Comunicación en la
Capa de Enlace de Datos

Capa de aplicación Capa de aplicación

Capa de transporte Capa de transporte

Capa de red Capa de red

Virtual
Capa de enlace de datos Capa de enlace de datos

Capa física Capa física

Real
¡La universidad para todos!

Framing

• La capa de enlace de datos usa la capa física como


un “tubo” de bits.
• Para detectar y corregir errores la capa de enlace de
datos divide los datos en frames, agregando
información tal como:
– Suma de verificación (CRC).
– Indicadores de inicio y fin con relleno.
– Conteo de caracteres.
¡La universidad para todos!

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 transmisión fue exitosa o no.
• También se usa un temporizador para detectar
frames de control perdidos.
¡La universidad para todos!

Control de Flujo

• Consiste en regular la velocidad de transmisión 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 implícita o
explícitamente la transmisión.
¡La universidad para todos!

Suma de Verificación (CRC)

• Trata cadenas de bits


Mensaje a transmitir M(x)

como polinomios con


Seleccionar polinomio
coeficientes 0 y 1 generador G(x) de grado r
Coeficientes del G(x) son 0 ó 1

• Se implementa en
hardware. R(x) := Residuo(xrM(x) / G(x)) División módulo 2

• Algunos polinomios de
uso común son: T(x) := xrM(x) xor R(x)
Equivale a una resta módulo 2.
– CRC-12 = x12+x11+x3+x2+x+1 T(x) es divisible por G(x)

– CRC-16 = x16+x15+x2+1
– CRC-CCITT = x16+x12+x5+1 Transmitir T(x)
¡La universidad para todos!

Suma de Verificación (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 número impar de bits.
– Todos los errores de “ráfaga” de 16 bits o
menos.
– 99.997% de la ráfagas de errores de 17 bits.
– 99.998% de las ráfagas de 18 bits o más.
¡La universidad para todos!

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
¡La universidad para todos!

Protocolo PAR
Transmisor Receptor

1
• Positive 1
Acknowledgment 2
with Retransmission 2
• Unidireccional
2
• Tolera errores y 2
paquetes perdidos 3
3
3
3
¡La universidad para todos!

Estructuras de Datos
#define MAX_PKT 4 /* packet size in bytes */
typedef enum {false, true} boolean; /* boolean type */
typedef unsigned int seq_nr; /* sequence or ack numbers */
typedef struct {
unsigned char data[MAX_PKT];
} packet; /* packet definition */
typedef enum
{data, ack, nak} frame_kind; /* frame_kind definition */
typedef enum {
frame_arrival, cksum_err, timeout,
network_layer_ready, ack_timeout /* kind of events */
} event_type;

typedef struct { /* frames are transported in this layer */


frame_kind kind; /* what kind of a frame is it? */
seq_nr seq; /* sequence number */
seq_nr ack; /* acknowledgement number */
packet info; /* the network layer packet */
} frame;
¡La universidad para todos!

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 */}
}} } }
¡La universidad para todos!

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 */
}
}
}
¡La universidad para todos!

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 número de
secuencia del paquete recibido
• Se trata de enviar los acuses de recibo con los
paquetes que viajan en sentido contrario.
¡La universidad para todos!

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; /* 0 or 1 only */
seq_nr frame_expected; /* 0 or 1 only */
frame r, s; /* scratch variables */
packet buffer; /* current packet being sent */
event_type event;

next_frame_to_send = 0; /* next frame on the outbound stream */


frame_expected = 0; /* frame arriving frame expected */
from_network_layer(&buffer); /* get packet from the network layer */
s.info = buffer; /* prepare to send the initial frame */
s.seq = next_frame_to_send; /* insert sequence number into frame */
s.ack = 1 - frame_expected; /* piggybacked ack */
to_physical_layer(&s); /* transmit the frame */
start_timer(s.seq); /* start the timer running */
¡La universidad para todos!

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 */
}
}
¡La universidad para todos!

Otros Protocolos de
Ventana Deslizante
¡La universidad para todos!

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

Bits 8 8 8 >0 16 8
01111110 Dirección Control Datos CRC 01111110
¡La universidad para todos!

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 versiónes comprimen los
encabezdos TCP e IP eliminando campos
repetidos en paquetes consecutivos.
¡La universidad para todos!

Serial Line IP Protocol (SLIP)

• Slip aunque ampliamente usado tiene


algunas desventajas:
– No efectua corrección y detección de errores.
– Solo funciona con IP.
– Carece de mecanismos para establer la
conexión. Cada host debe conocer de
antemano la dirección IP del otro.
– Carece de mecanismos de autentificación.
– Existen versiones incompatibles entre sí.
¡La universidad para todos!

Point to Point Protocol (PPP)

• Desarrollado por la IETF.


• Descrito en RFCs 1661, 1662, 1663.
• PPP incluye:
– Delimitación unambigüa 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.
¡La universidad para todos!

Point to Point Protocol (PPP)

Bytes 1 1 1 1o2 Variable 16 8


01111110 11111111 00000011 Protocolo Datos CRC 01111110

LCP, NCP, IP, IPX, etc.

◼ PPP se parece a
HDLC pero es
orientado a bytes.
◼ PPP se usa tanto
en enlaces
dedicados como en
en enlaces
discados.
¡La universidad para todos!

La Capa de
Enlace de Datos en ATM

• En ATM corresponde a la subcapa TC (Transmition


Convergence) de la capa física.
• Calcula la suma de verificación HEC usando el
polinomio x8 + x2 + x + 1.
• Genera celdas de “relleno” cuando el medio físico es
síncrono (e.g. SONET).
• Convierte la corriente de celdas proveniente de la
capa ATM en una corriente de bits y viceversa.
Bits 12 16 3 1 8 384
VPI VCI PTI CLP HEC Datos
¡La universidad para todos!

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 radiodifusión.
¡La universidad para todos!

Medio Compartido

Recibido

No es
para mí
¡La universidad para todos!

Reparto del Canal

• Reparto estático:
– Si el número de usuarios es pequeño y fijo se
puede usar TDM o FDM
• Reparto dinámico (supuestos):
– Probabilidad (paquete en Dt) = lD t
– Canal único.
– Colisión.
– Tiempo continuo o discreto.
– Con o sin sin detección de portadora.
¡La universidad para todos!

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)
¡La universidad para todos!

ALOHA

• Desarrolla a pricipios de los 70’s en la


Universidad de Hawaii.
• Existen dos versiones de tiempo continuo y
de tiempo discreto.
• Cada estación transmite cuando lo
necesita. Si se detecta una colisión cada
transmisor espera un tiempo aleatorio antes
de retransmitir.
• La eficiencia máxima de ALOHA continuo
es 18.4%, la de ALOHA discreto es 36.8%.
¡La universidad para todos!

Colisión

Retransmitir

Colisión

Retransmitir
¡La universidad para todos!

CSMA

• Similar a ALOHA pero las estaciones


escuchan el canal para detectar si esta libre
antes de iniciar la transmisión.
• En CSMA peristente-p una estación
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.
¡La universidad para todos!

Comparación de ALOHA y
CSMA
¡La universidad para todos!

CSMA/CD

• Mejora al CSMA interrumpiendo las


transmisiones tan pronto como se detecta
una colisión.
• Se usa ampliamente en redes locales,
particularmente en IEEE 802.3, también
conocido como Ethernet.
• El rendimiento de todos estos protocolos
depende del retardo de las señales en el
canal.
¡La universidad para todos!

Protocolos Sin Colisiones

• En el protocolo de mapa de bits, el uso del


canal se divide en períodos de transmisión y
periodos de contención.
• Durante el período de contención cada
estación que desea transmitr envia un bit 1
en su ranura de tiempo luego las estaciones
transmiten sus datos en el mismo orden.
¡La universidad para todos!

Protocolos Sin Colisiones

• En el protocolo conteo
descendente, todas las
estaciones transmiten su
dirección
simultáneamente.
• Cuando detectan un bit 1
que no emitieron ceden el
turno de transmisión.
• La estación con la
direccion mas alta
transmite.
¡La universidad para todos!

Protocolos Sin Colisiones

• En los protocolos de token (testigo), un


paquete especial circula por el medio
compartido de estación a estación.
• Solo la estación que tiene el testigo puede
transmitir.
• Estos protocolos garantizan un tiempo de
viaje determinístico.
• Ejemplos de estos protocolos son IEEE
802.4, IEEE 802.5 y FDDI
¡La universidad para todos!

Protocolos de Token Ring


¡La universidad para todos!

Protocolos de
Contención Limitada

• Pretenden combinar las


mejores características de los
protocolos con y sin colisiones.
• Dividen a las estaciones
dinámicamente en grupos.
Cada grupo esta libre de
colisiones, solo existen
colisiones entre grupos.
• Ejemplo: el protocolo de
recorrido de arbol adaptable.
¡La universidad para todos!

Protocolos con
División del Canal
• Se divide el canal de transmisión 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).
¡La universidad para todos!

Protocolos para
LANs Inalámbricas

• En una red inalámbrica, las estaciones no


pueden escuchar a todas las demás.
◼ 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 Collisión
Avoidance) reduce el problema mediante el
intercambio de paquetes cortos RTS y CTS.
¡La universidad para todos!

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.
¡La universidad para todos!

CDPD:
Cellular Digital Packet Data
• Funciona sobre los sistemas de telefonía celular
existente (AMPS).
• No se establece una conexión; 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 estación movil escucha un canal
y si esta ocupado salta un número aleatorio de
canales.
• Transmite a una tasa bruta de 19.2 Kbps (~9.6
Kbps neto).
¡La universidad para todos!

CDMA:
Code División Multiple Access
• A cada estación se asigna un código (chip).
Los chips debe ser ortogonales.
• Todas las estaciones transmiten cuando lo
requieren. Las señales se suman.
• Las estaciones envian su código para
indicar un bit 1 y el complemento de su
código para indicar un bit 0.
• Las señales se separan usando los códigos
de las estaciones.
¡La universidad para todos!

IEEE 802.x

802.1 Introducción a los estandares. Primitivas.


802.2 Parte superior de la capa de enlace de
datos, LLC (Logical Link Control)
802.3 Ethernet
802.4 Token Bus
802.5 Token Ring
802.6 DQDB (Distributed Queue Dual Bus)
¡La universidad para todos!

IEEE 802.3

• Usa CSMA/CD.
• Para determinar el tiempo de espera en caso de
colisión, se usa un algoritmo de “retoceso
exponencial binario”:
– Despues de la i-esima colisión cada estación 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.
¡La universidad para todos!

MAC en el IEEE 802.3


Dirección de grupo • Dirección asignada por el usuario,
• Dirección global (unica, 7x1013 posibilidades)
Dirección local
asignada por el fabricante.
• Dirección de broadcast (1111 …1111)
Bits 1 1 46
Dirección Tamaño mínimo del
B LA Frame 64 bytes
de destino

Bytes 7 1 6 6 2 0-1500 0-46 4


Dirección Dirección
Preámbulo FS N Datos Relleno CRC
de destino de origen

10101010
5.6ms a Inicio de Frame Longitud del
10 MHZ 10101011 campo de datos
¡La universidad para todos!

Rendimiento de IEEE 802.3


¡La universidad para todos!

IEEE 802.2 (LLC)


• La capa LLC (Logical Link Control ) presenta
una interfase común a la capa de red.
• Se basa en HDLC y proporciona tres tipos de
servicio no confiable, reconocido y orientado
a conexión.
¡La universidad para todos!

FDDI

• Usa un protocolo de Token Ring similar a IEEE 802.5.


• Ademas de paquetes asincrónicos FDDI puede
transmitir datos PCM mediante reservación previa del
ancho de banda.
• El trafico asincrónico se divide en clases de
prioridades.
Bytes >7 1 1 6 6 Sin límite 4 1 1
Dirección Dirección
Preámbulo Datos CRC
de destino de origen

Control de frame Delimitador final


Delimitador inicial Estado de frame
¡La universidad para todos!

Orientaciones

1. http://www.serbi.ula.ve/serbiula/libros-
electronicos/Libros/trasmisiondedatos/pdf/CAPITUL
O%20IV.pdf
2. https://www.uv.es/rosado/courses/sid/Capitulo2_re
v0.pdf
¡La universidad para todos!

Contenidos temáticos

• Introducción de los enlaces de datos


• Características.
• Desafíos tecnológicos.
¡La universidad para todos!

Subtítulos del tema

• Propiedades de los enlaces de datos


• Estandarización.
• Los medios de las redes
¡La universidad para todos!

Conclusiones y/o actividades de investigación


sugeridas

•Prácticamente la capa 2 de enlace de datos de el modelo


OSI, es l responsable o encargada de prepara los paquetes
provenientes de capa de red, y así poder ser colocados en
el medio físico que posteriormente transporta los datos.

Existe un amplio conjuntos de necesitan o requieren, un


amplio intervalo de protocolos de enlace de datos para así
poder controlar el acceso a los datos de estos medios.
Las tramas pueden acceder al medio de diferentes
maneras, puede ser ordenado y controlado o por
contención.
¡La universidad para todos!

¡Gracias!

You might also like