Está en la página 1de 25

Redes de

Computadoras
Capa de
Enlace de Datos

Modelo de Referencia

Capa de aplicació
aplicación

Capa de transporte

Capa de red

Capa de enlace de datos

Capa fí
física

1
Servicios de la Capa de Enlace
de Datos
n Transferencia de datos entre las capas
de red de las má
máquinas origen y
destino.
destino.
n Tipos de servicio
n Servicio sin acuse ni conexió
conexión.
n Servicio con acuse sin conexió
conexión.
n Servicio con acuse con conexió
conexión.

Comunicación en la
Capa de Enlace de Datos

Capa de aplicació
aplicación Capa de aplicació
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í
física Capa fí
física

Real

2
Framing
n La capa de enlace de datos usa la capa
física como un “tubo”
tubo” de bits.
bits.
n Para detectar y corregir errores la capa
de enlace de datos divi
divide
de los datos en
frames,
frames, agregando informació
información tal
como:
n Suma de verificació
verificación (CRC).
(CRC).
n Indicadores de inicio y fin con relleno.
relleno.
n Conteo de caracteres.
caracteres.

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

3
Control de Flujo
n Consiste en regular la velocidad de
transmisió
transmisión de datos de forma de no
saturar al receptor.
n Los protocolos de esta capa contienen
reglas precisas que indican cuando es
posible enviar un frame.
frame.
n Con frecuencia el receptor autoriza
implí
implícita o explicitamente la
transmisió
transmisión.

Suma de Verificación (CRC)


Trata cadenas de bits
Mensaje a transmitir M(x)
n
como polinomios con
coeficientes 0 y 1
Seleccionar polinomio
Coeficientes del G(x) son 0 ó 1
generador G(x) de grado r

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

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

n CRC-
CRC-16 = x16+x15+x2+1
n CRC-
CRC-CCITT = x16+x12+x5+1 Transmitir T(x)

4
Suma de Verificación (CRC)
n CRC-
CRC-12 se con caracteres de 6 bits de
longitud,
longitud, CRC-
CRC-16 y CRC-
CRC-CCITT con caracteres
de 8 bits.
n CRC-
CRC-16 y CRC-
CRC-CCITT detectan los siguientes
errores:
errores:
n Todos los errores de 1 o dos bits.
n Todos los errores con un número impar de bits.
n Todos los errores de “ráfaga”
faga” de 16 bits o menos.
menos.
n 99.997% de la ráfagas de errores de 17 bits.
n 99.998% de las rá
ráfagas de 18 bits o más.

Ejemplos de Protocolos de la
Capa de Enlace de Datos
n Protocolo unidireccional para un canal
ruidoso.
ruidoso.
n Protocolos de ventana deslizante.
deslizante.
n Protocolo HDLC.
n Protocolos usados en Internet
n SLIP
n PPP

5
Protocolo PAR Transmisor Receptor

1
n Positive 1
Acknowledgment 2
with Retransmition 2
n Unidireccional 2
n Tolera errores y 2
paquetes perdidos 3
3
3
3

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;

6
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 */
}
}
}

7
Protocolo de
Ventana Deslizante
n Es un protocolo bidireccional.
bidireccional.
n Se puede enviar varios paquetes antes
de recibir acuse de recibo.
recibo.
n Los acuses de recibo indican el número
de secuencia del paquete recibido
n Se trata de enviar los acuses de recibo
con los paquetes que viajan en sentido
contrario.
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; /* 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 */

8
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

9
Protocolo HDLC
n High-
High-level Data Link Control
n SDLC(IBM)à
SDLC(IBM)à ADCCP(ANSI)à
ADCCP(ANSI)à HDLC(ISO)à
HDLC(ISO)à
LAP(CCITT)à
LAP(CCITT) à LAPB(CCITT)
n Estos protocolos difieren solo en aspectos menores.
menores.
Estan orientados a bits y usan relleno para lograr
transparencia.
transparencia.
n Muy utilizados
Bits 8 8 8 >0 16 8
01111110 Dirección Control Datos CRC 01111110

Serial Line IP Protocol (SLIP)


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

10
Serial Line IP Protocol (SLIP)
n Slip aunque ampliamente usado tiene algunas
desventajas:
desventajas:
n No efectua correcció
corrección y detecció
detección de errores.
errores.
n Solo funciona con IP.
n Carece de mecanismos para establer la conexió
conexión.
Cada host debe conocer de antemano la direcció
dirección
IP del otro.
otro.
n Carece de mecanismos de autentificació
autentificación.
n Existen versiones incompatibles entre sísí.

Point to Point Protocol (PPP)


n Desarrollado por la IETF.
n Descrito en RFCs 1661, 1662, 1663.
n PPP incluye:
incluye:
n Delimitació
Delimitación unambigü
unambigüa de inicio y fin de frames.
frames.
n Control de errores.
errores.
n Protocolo de control de enlaces (LCP).
n Mecanismo para negociar opciones de la capa de
red mediante un protocolo (NCP) distinto para
cada tipo de red.

11
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.

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

La Capa de
Enlace de Datos en ATM
n En ATM corresponde a la subcapa TC (Transmition
(Transmition
Convergence)
Convergence ) de la capa fí
ísica.
f sica.
n Calcula la suma de verificació
verificación HEC usando el
polinomio x8 + x2 + x + 1.
n Genera celdas de “relleno”
relleno” cuando el medio fí
físico es
síncrono (e.g. SONET).
n 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

12
Capa de
Enlace de Datos
Subcapa de aceso al medio

La Subcapa de Acceso al Medio


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

13
Medio Compartido
Recibido

No es
para mí

Reparto del Canal


n Reparto está
estático:
n Si el nú
número de usuarios es pequeñ
pequeño y fijo se
puede usar TDM o FDM
n Reparto diná
dinámico (supuestos):
n Probabilidad (paquete en ∆t) = λ∆ t
n Canal único.
n Colisió
Colisión.
n Tiempo continuo o discreto.
n Con o sin sin detecció
detección de portadora.

14
Protocolos de la Subcapa
de Acceso al Medio (MAC)
n ALOHA
n CSMA (Carrier
(Carrier Sense Multiple Access)
Access)
n CSMA/CD (CSMA with Collision Detect)
Detect)
n WDMA (Wavelength
(Wavelength Division MA)
MA)
n MACA (MA
(MA with Collision Avoidance)
Avoidance)
n Radio celular (GSM, CDPD y CDMA)
n IEEE 802.X
n FDDI (Fiber
(Fiber Distributed Data Interfase)
Interfase)

ALOHA
n Desarrolla a pricipios de los 70’
70’s en la
Universidad de Hawaii.
n Existen dos versiones de tiempo continuo y
de tiempo discreto.
n Cada estació
estación transmite cuando lo necesita.
Si se detecta una colisió
colisión cada transmisor
espera un tiempo aleatorio antes de
retransmitir.
n La eficiencia má
máxima de ALOHA continuo es
18.4%, la de ALOHA discreto es 36.8%.

15
Colisión

Retransmitir

Colisión

Retransmitir

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

16
Comparación de ALOHA y CSMA

CSMA/CD
n Mejora al CSMA interrumpiendo las
transmisiones tan pronto como se detecta
una colisió
colisión.
n Se usa ampliamente en redes locales,
particularmente en IEEE 802.3, tambié
también
conocido como Ethernet.
n El rendimiento de todos estos protocolos
depende del retardo de las señ
señales en el
canal.

17
Protocolos Sin Colisiones
n En el protocolo de mapa de bits,
bits, el uso del
canal se divide en perí
períodos de transmisió
transmisión y
periodos de contenció
contención.
n Durante el perí
período de contenció
contención cada
estació
estación 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


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

18
Protocolos Sin Colisiones
n En los protocolos de token (testigo),
(testigo), un
paquete especial circula por el medio
compartido de estació
estación a estació
estación.
n Solo la estació
estación que tiene el testigo puede
transmitir.
n Estos protocolos garantizan un tiempo de
viaje determiní
determinístico.
n Ejemplos de estos protocolos son IEEE 802.4,
IEEE 802.5 y FDDI

Protocolos de Token Ring

19
Protocolos de
Contención Limitada
n Pretenden combinar las
mejores caracterí
características de los
protocolos con y sin colisiones.
n Dividen a las estaciones
diná
dinámicamente en grupos.
Cada grupo esta libre de
colisiones, solo existen
colisiones entre grupos.
n Ejemplo: el protocolo de
recorrido de arbol adaptable.
adaptable.

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

20
Protocolos para
LANs Inalámbricas
n En una red inalá
inalámbrica, las estaciones no pueden
escuchar a todas las demá
demás.
n Los protocolos CSMA no son adecuados ya que
solo puede sensar la portadora en su entorno, no
en el entorno del receptor.
n El protocolo MACA (Multiple
(Multiple Access with Collisió
Collisión
Avoidance)
Avoidance) reduce el problema mediante el
intercambio de paquetes cortos RTS y CTS.

Radio Celular Digital


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

21
CDPD:
Cellular Digital Packet Data
n Funciona sobre los sistemas de telefoní
telefonía celular
existente (AMPS).
n No se establece una conexió
conexión; cuando se desea
enviar un paquete se toma temporalmente cualquier
canal disponible. Es similar a CSMA.
n CDPD sigue estrechamente el modelo OSI.
n La capa de enlace de datos usa DSMA (Digital
(Digital Sense
MA).
MA). Cada estació
estación movil escucha un canal y si esta
ocupado salta un nú
número aleatorio de canales.
n Transmite a una tasa bruta de 19.2 Kbps (~9.6 Kbps
neto).

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

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

IEEE 802.3
n Usa CSMA/CD.
n Para determinar el tiempo de espera en
caso de colisió
colisión, se usa un algoritmo de
“retoceso exponencial binario”
binario”:
n Despues de la i-
i-esima colisió
colisión cada
estació
estación espera un tiempo aleatorio entre 0
y min (2i-1 ,1023) intervalos de 51.2 µseg.
seg.
n Despues de 16 colisiones se reporta un
error a las capas superiores.
superiores.

23
MAC en el IEEE 802.3
Direcció
Direcció n de grupo • Direcció
Dirección asignada por el usuario,
usuario,
• Direcció
Dirección global (unica
(unica,, 7x1013 posibilidades)
posibilidades)
Direcció
Direcció n local
asignada por el fabricante.
fabricante.
• Direcció
Dirección de broadcast (1111 …1111)
Bits 1 1 46
Dirección Tamañ
Tamaño mí
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.6µ s a
5.6µ Inicio de Frame Longitud del
10 MHZ 10101011 campo de datos

Rendimiento de IEEE 802.3

24
IEEE 802.2 (LLC)
n La capa LLC (Logical
(Logical Link Control ) presenta
una interfase comú
común a la capa de red.
n Se basa en HDLC y proporciona tres tipos de
servicio no confiable, reconocido y orientado
a conexió
conexión.

FDDI
n Usa un protocolo de Token Ring similar a IEEE 802.5.
n Ademas de paquetes asincró
asincrónicos FDDI puede
transmitir datos PCM mediante reservació
reservación previa del
ancho de banda.
n El trafico asincró
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

25

También podría gustarte