Está en la página 1de 68

Capa de Enlace de Datos

Ing. Diego Rodriguez Herlein


lw1dq@hotmail.com
La Capa de Enlace de Datos

El principal objetivo del nivel de enlace es


“garantizar la fiabilidad de la información
intercambiada proporcionando como servicio
un canal binario sin errores”
Funciones Específicas
•Ofrecer servicios a la capa superior.
•Agrupar los dígitos o caracteres recibidos por el nivel físico en bloques
de información, llamados tramas o frames, a los que va asociada
información de control para proporcionar todos los servicios de esta
capa (Entramado)
•Detectar y solucionar los errores generados en el canal de transmisión
(Control de errores)
•Control de flujo, para evitar saturar al receptor.
•Gestión de del enlace, el inicio, mantenimientos y la finalización del
intercambio de datos
•Control de acceso: En canales semiduplex o donde se utiliza un medio
compartido será necesario establecer los turnos para la transmisión.
La tarjeta de red realiza las funciones del nivel de enlace.
Servicios ofrecidos a la Capa de Red

El principal servicio ofrecido será transferir datos de la capa de red de la


máquina origen a la capa de red de la máquina destino

En la capa de red del origen habrá una entidad (proceso), que entregará
los bits a la capa de enlace para su transmisión hacia el destino. Una
entidad de nivel de enlace recogerá esta información y la procesará
convenientemente para transmitirla a su entidad gemela (o paritaria) en el
lado receptor.

En este procesamiento, entre otras cosas, se añade información de


control, sólo útil para las entidades de nivel de enlace, a la información
original. Esta información de control es sólo para coordinar el diálogo
(protocolo) entre entidades de nivel de enlace y por tanto no pasará, en
ningún caso, al nivel de red.
Servicios ofrecidos a la Capa de Red

– sin conexión ni confirmación (DNS)


• cuando hay baja tasa de error
• cuando datos atrasados son peores que datos erróneos
(tiempo real=voz, video)
• uso en LANs
– sin conexión con confirmación (E-mail)
• en casos de canales con muchos errores (sistemas
inalámbricos)
– con conexión y confirmación
• se sabe si los mensajes llegan o no
• se numeran y se hacen llegar en orden
• se asegura que llegan solo una vez
Servicios ofrecidos a la Capa de Red
Servicio no orientado a la conexión y no fiable: Para transmitir las
tramas, el nivel de enlace no establece ninguna conexión ni se envían
confirmaciones de las recibidas. Si una trama se pierde o queda dañada no será
misión del nivel de enlace corregir la deficiencia. El servicio es bueno cuando el nº de
errores es bajo y la recuperación de las tramas se delega a niveles superiores (red o
transporte). Apropiada para el tráfico en tiempo real, por ejemplo de voz, en el que la
llegada retrasada de datos es peor que los errores de datos. Muy utilizado en LAN.

Servicio no orientado a la conexión y fiable: Por cada trama que manda


una estación, ésta espera que le llegue un reconocimiento (positivo o negativo). De
esta manera, el emisor sabe si la trama ha llegado satisfactoriamente. Si no llega el
reconocimiento correspondiente pasado un tiempo desde la emisión de la trama, el
emisor asume que su trama no llegó o llegó dañada y la retransmite. De este modo
la pérdida de un asentimiento puede ocasionar que una trama se transmita varias
veces y por tanto se reciba (en la capa de red) varias veces, tampoco garantiza que
el orden en el que se ofrecen las tramas a la capa de red del receptor sea el mismo
que el orden en el que se transmitieron las tramas desde el emisor. Lo que sí
asegura es que todo lo que se transmite se recibe. Apropiada para canales
inestables como es el caso de los sistemas inalámbricas.
Servicios ofrecidos a la Capa de Red
Servicio orientado a la conexión y fiable: Las máquinas fuente y destino
establecen una conexión antes de transmitir los datos. Además, cada trama que se
envía se numera y el nivel de enlace garantiza que cada trama se recibe una sola
vez y en el orden correcto. Por tanto, proporciona a los procesos de la capa de red el
equivalente a un flujo de bits fiable. Es el servicio que aporta mayores prestaciones a
capas superiores.
Tramado - Framing

La capa de enlace divide los bits a enviar en tramas o


frames de bits.

• Permite simplificar la detección y corrección de errores.


• Utilizar factores temporales como la duración es difícil y da lugar a errores.

Existen 4 técnicas extendidas para la división en tramas que


se pueden combinar:
• Cuenta de caracteres
• Caracteres de inicio y fin con relleno de caracteres
• Indicadores de inicio y fin con relleno de bits
• Violaciones de la codificación de la capa física.
Cuenta de Caracteres

Aquí se inserta un carácter al inicio que indica


cuantos caracteres contiene el marco

Su problema radica en que es fácil que se


dañe el carácter de conteo
Caracteres de inicio y fin

Consiste en la utilización de caracteres especiales o


secuencias de dígitos que indiquen el comienzo y
fin de las tramas.

Cada trama comenzará con una secuencia de caracteres ASCII


predeterminada (Un carácter denominado generalmente de escape y otro
que indique el principio de trama [DLE][STX]) y terminará con una
secuencia distinta (Carácter de escape y otro que indique el final de trama
[DLE][ETX]). De manera que el carácter de escape indicará que lo que
sigue es información de principio o fin de trama.
Caracteres de inicio y fin

Como se trata de código ASCII, las secuencias ya expuestas pueden


presentarse en la secuencia de datos

Para resolver este problema, se suele insertar otro carácter DLE, con lo
cual, al encontrarse dos DLE consecutivos, el receptor sabrá que debe de
eliminar uno de ellos y, además, no se trata de caracteres de inicio o fin

Por ello, esta técnica se denomina de relleno de caracteres

DLE Data Link Escape


(escape de enlace de datos)
STX Start of TeXt
(inicio de texto)
ETX End of TeXt
(fin de texto)
Indicadores de inicio y fin con
relleno de bits
Es mas efectiva que la técnica anterior, ya que reduce el tamaño de las
tramas
Cada trama comienza y termina por un patrón especial de bits, 01111110,
llamada byte indicador, flag o bandera.
Puesto que esos dígitos pueden aparecer también dentro de la
información, se utiliza el relleno para impedir su aparición. Cada vez que la
capa de enlace del transmisor encuentra cinco bits a 1 consecutivos en los
datos inserta un bit 0 en la cadena de bits y así el receptor no se confunde
con una marca de fin. Cuando el receptor encuentra cinco bits 1
consecutivos seguidos por un 0, elimina el bit 0 de relleno.
Esta técnica se conoce como de inserción de bit.
Violaciones de codificación de la
capa física

Sólo se utiliza en redes en las que la codificación que se hace en


el medio físico lo permite

Normalmente, en las redes locales se usa la transición alto – bajo para


representar 1 y bajo – alto para representar un 0

Para enmarcar, se usan las transiciones alto–alto o bajo–bajo

Éste uso de los códigos de violación es parte del estándar LAN 802

se utiliza el código Manchester en un


intervalo de bit se utilizan las
secuencias +V –V ó –V +V, pero no +V
+V ni –V –V, estas se utilizarán para
identificar el principio y final de trama
Control de Flujo

El control de flujo es la función propia de los protocolos de nivel de enlace


encargada de adecuar las velocidades de transferencia de datos entre
emisores rápidos y receptores lentos o viceversa.
No todos los emisores y receptores escriben y leen tramas del canal con la
misma eficacia. En ocasiones, es necesario paralizar la transmisión de
tramas hasta que el receptor más lento procese la tramas anteriormente
recibidas.
En otras palabras, se trata de no agobiar al receptor.
Se realiza normalmente a nivel de transporte, aunque a veces también a
nivel de enlace.
Utiliza mecanismos de retroalimentación (el receptor advierte al emisor).
Por tanto: Requiere un canal semi-duplex o full-duplex
Control de Flujo

El control de flujo controla la velocidad del transmisor

Se conocen varios esquemas de control de flujo, pero la mayoría se


basan en el mismo principio. Consiste en definir reglas respecto al
momento en que un transmisor puede enviar la siguiente trama. Estas
reglas con frecuencia impiden el envío de tramas hasta que el receptor
lo autorice.

Las técnicas de control de flujo más utilizadas son:

•Protocolo de Envío y espera


•Ventana deslizante
Protocolo de Envío y Espera

Una entidad transmite una trama. Tras la recepción, el destino indica su


deseo de aceptar otra trama enviando una confirmación de la trama
recibida.

Se suele emplear en enlaces semidúplex, siendo el modo de operación en


condiciones normales el siguiente:
1. Envío de trama de información.
2. El emisor guarda copia de la misma.
3. Se para la transmisión hasta recibir trama de aceptación.
4. Queda establecido un tiempo límite para recibir aceptación.
5. Tras recibir la trama de aceptación, el emisor puede enviar la siguiente.
6. Si se supera el tiempo límite se pasa al punto 1.

Esta técnica sólo permite que haya una trama pendiente de aceptación, no
existiendo problemas de control de flujo
Protocolo de Envío y Espera (cont.)
Posibles situaciones:

Cuando las velocidades de transmisión son muy altas y separaciones de grandes distancias
este procedimiento es ineficiente.
Ventana Deslizante

El HOST A mantendrá una lista con la secuencia de tramas que puede


enviar y HOST B tendrá una lista de las tramas que puede recibir. A
estas listas se les conoce con el nombre de ventana de transmisión de
tramas y ventana de recepción de tramas.

En la primera se copian las tramas enviadas a la espera de ACK.

En la ventana de recepción se guardan las tramas que se reciben


mientras no se pasen al nivel superior y se envíe el ACK
correspondiente.

El emisor y el receptor tienen que acordar un tamaño de ventana. Se


llamara W. Solo se pueden enviar W tramas sin recibir confirmación.
Ventana Deslizante (Cont.)
Ventana Deslizante (Cont.)

El control de flujo mediante ventana es potencialmente más eficiente que el de parada


y espera porque se considera el enlace como una tubería que se puede rellenar con
tramas en tránsito. En parada y espera sólo cabe una trama en la tubería.
Ventana Deslizante - Mejoras
Los protocolos que hemos visto hasta ahora transmitían datos en una sola
dirección; el canal de retorno era utilizado únicamente para enviar tramas
de acuse de recibo (ACK) cuyo contenido era irrelevante.

¿Y si tuviéramos que transmitir datos en ambas direcciones? O sea, las 2


estaciones quiere intercambiar datos.
En vez de generar una trama ACK de manera automática cada vez que se
recibe algo, esperar a enviarla cuando haya información útil que enviar;
en tal caso el ACK viajaría 'gratis' y se ahorraría el envío de una trama.

Esta técnica se conoce con el nombre de piggybacking o piggyback


acknowledgement; (en inglés piggyback significa llevar a alguien o algo a
hombros o a cuestas).
Cada estación deberá mantener 2 ventanas, una para transmitir y otra
para recibir.
Cada extremo deberá enviar al otro tanto datos como confirmaciones.
Piggybacking

Así, en el caso de tráfico bidireccional, las tramas de datos (en la


cabecera) disponen de 2 campos: nº de secuencia de transmisión
y nº de secuencia de recepción.
Piggybacking

Sin embargo, este método puede generar algún problema: ¿qué


ocurriría si el nodo B no tuviera ya más datos que transmitir
al nodo A?

En este caso el nodo A quedaría a la espera de una confirmación que


no le llegará.

Esto se puede solucionar generando una trama especial de


confirmación sin contenido informativo. Para ello se requiere el
disparo de un temporizador que generará esta trama
Control de Errores
Otra de las funciones de la capa de enlace es asegurarse
que todas las tramas sean entregadas en la capa de red de
destino sin errores en la transmisión.
Los diseñadores de red han desarrollado dos estrategias básicas para
manejar los errores:

Incluir en la trama la redundancia necesaria para que el receptor sepa


que ha ocurrido un error (pero no qué error) y solicite al emisor que
renvíe la trama. (códigos detectores de errores)

Incluir en la trama la redundancia necesaria para que el receptor sea


capaz de determinar dónde se produjo el error y lo pueda corregir.
(códigos de corrección de errores)
Supongamos una tasa de errores de 10E-6
Tamaño de marco de 1.000 bits.
Para proporcionar corrección de errores en bloques de 1.000 bits necesitamos 10 bits de comprobación
1Mbt de datos requerirá por tanto 10.000 bits de comprobación
Detección de Errores

La detección de errores en el destino los mecanismos utilizados se


basan en añadir a los datos a transmitir información de control
(información redundante) que permita que el extremo receptor
deduzca que alguno/s de los bits recibidos son erróneos. De este
modo la trama tendrá m bits de datos y r bits de comprobación de
errores (redundantes).
Paridad Simple

Añadimos a una secuencia de bits 1 bit redundante, denominado bit de


paridad, para el control de errores.
El bit de paridad toma el valor 1 ó 0 dependiendo de:

Paridad par: se añade un 1 si la palabra original contiene un número


impar de unos,
Paridad impar: se añade un 1 si la palabra original contiene un número
par de unos,
Cuando el mensaje llega al receptor, ésta calcula de nuevo la paridad,
de forma que si el bit de paridad no coincide, sabe que se ha producido
un error.
El sistema de paridad simple es capaz de detectar un número impar de
bits erróneos en la cadena recibida, pero no un número par de errores.
Ejemplo paridad simple

Se desea enviar la palabra 1001011 utilizando paridad impar.

El emisor envía la siguiente palabra codificada:


10010111

Sin embargo, se produce un error en el segundo bit transmitido:


10010101

El receptor sabrá que se ha producido un error porque la paridad de la


palabra recibida es par.

Sin embargo, si se hubieran producido 2 errores (recibiendo la palabra


“11010011”, por ejemplo) el receptor no detectaría ningún error.
Paridad de Bloque
• Es una extensión de la paridad simple.
• Consiste en dividir la información a transmitir en fragmentos de igual
número de bits, colocarlos por partes formando una matriz en 2
dimensiones y aplicar el control de paridad por filas y por columnas a
la vez, de forma que se añade un bit por cada fila (paridad horizontal)
y una fila completa para la paridad vertical.
• En el destino se reconstruye la tabla y se comprueban los códigos de
paridad.
• En el caso de que se produzca un error
en varios bits, este método es capaz
de detectarlos, aunque no de
corregirlos, mientras que en errores
simples no sólo detecta sino que
también corrige errores.
Ejemplo Paridad de Bloque

Problema: No se detectarán los errores pares que afectan


a las mismas filas y las mismas columnas simultáneamente
Comprobación de redundancia
cíclica CRC
Los dos mecanismos anteriores resultan adecuados para aplicaciones en
las que se producen errores de bits individuales de forma aleatoria.

Los errores de transmisión en las líneas se deben a muchos y diversos


factores (ruido térmico, ruido impulsivo, ruido de intermodulación, cruce de
líneas, eco, atenuación...)

Como resultado a estos procesos físicos que ocasionan el ruido, los


errores tienden a presentarse como ráfagas (sobre todo en transmisiones
digitales).

Uno de los inconvenientes de los errores en ráfagas es que son más


difíciles de detectar y corregir que los errores aislados que sólo afectan a
un bit. Pero la ventaja es que se producen a menor medida.
Comprobación de redundancia
cíclica (Cont.)

Cuando se producen errores de tipo ráfaga es necesario utilizar técnicas


más rigurosas, basadas en códigos polinomiales

Estas técnicas se denominan comprobación de redundancia cíclica (CRC,


Cyclic Redundance Check)

También se conocen con el nombre de secuencia de comprobación de


trama (FCS, Frame Check Sequence)

Estas técnicas son aplicables tanto a transmisión orientada a carácter


como a transmisión orientada a bit.
Comprobación de redundancia
cíclica (Cont.)
• Los códigos de Redundancia Cíclica son ampliamente usados dentro
de las Redes de Computadoras
• En redes como Ethernet, se emplean polinomios generadores ya
definidos
• El orden del polinomio lo determina el exponente de mayor grado
• Consiste en agregar al final de la trama una secuencia de bits
redundantes conocido como CRC o resto CRC, obtenido de la división
binaria de los bits de la trama por un divisor conocido. El resto de esa
división son los bits redundantes.
Comprobación de redundancia
cíclica (Cont.)
Un mensaje M(x) de k bits se representa como un
polinomio de grado k-1.
Por ejemplo:

Se utiliza un segundo polinomio (generador G(x) de


grado r) que actuará como clave en la detección de
errores que se escoge entre varios por su
propiedades:
Comprobación de redundancia
cíclica (Cont.)
Elementos:
T: trama a transmitir
P: polinomio de comprobación
n: grado del polinomio

base de cálculo: operación lógica XOR (OR exclusivo):

Proceso:
X = T . 2n
se obtiene el resto de X/P  R
Y=X+R
se transmite Y
el receptor calcula el resto de Y/P  R’
si R’ = 0  no hay errores
Comprobación de redundancia
cíclica (Cont.)
T = 1100001 P = x3+x+1
n=3
X = 1100001000
R = 101
Y = 1100001101
R’ = 0

1100001000 1100001101
1011 1011
01110 01110
1011 1011
01010 01010
1011 1011
0001100 0001110
1011 1011
01110 01011
1011 1011
0101 = R 0000 = R’
Comprobación de redundancia
cíclica (Cont.)
Comprobación de redundancia
cíclica (Cont.)
Utilizando el polinomio CRC-16 o CRC-CCITT se
consiguen detectar:
•Todos los errores simples y dobles.
•Todos los errores con un número impar de bits.
•Todos los errores de ráfaga de longitud de 16 o menor.
•99.997% de ráfagas de errores de 17 bits
•99.998% de ráfagas de errores de 18 o más bits.

El cálculo de la suma de comprobación se suele


implementar por hardware con un simple circuito de
registro de desplazamiento.

Es importante notar que dichos polinomios contienen como


factor primo a (x+1)
Corrección de Errores

Código de Hamming
Detecta y corrige errores. Si d = distancia de Hamming, (2t+1 ≤ d), con t errores
corregibles y (e+1 = d) con e errores detectables.
Ejemplo: Un código con d = 3 ≥ 2t+1, corrige un error (t =1) y detecta 2 errores

Peso de Hamming es el número de bits “1”


El peso de Hamming de es 4

Distancia de Hamming entre dos palabras de código es el


número de posiciones en las cuales difieren

La distancia d = 2
Código de Hamming (7,4)

En este código intercalado


se generan los bits de
paridad haciendo una
operación XOR de los bits
de datos
•p1 = i3⊕i1 ⊕i0
•p2 = i3⊕i2 ⊕i0
•p4 = i3⊕i2 ⊕i1

m + r = n, con n bits de
código, r de redundância y
m de datos
•(m+ r +1) ≤ 2r
Código de Hamming

Se produce un error en la
comunicación que afecta
el quinto bit

Se realiza la operación
XOR entre los bits de
paridad recibidos y los
calculados en el receptor,
el resultado es cinco, hay
que cambiar el bit cinco
que está en error
HDLC - High-level Data Link Control

•HDLC (High-Level Data Link Control) es un protocolo de


comunicaciones de datos punto a punto entre dos
Elementos.
•Es un protocolo de propósito general, que opera a nivel de
enlace de datos.
•Ofrece una comunicación confiable entre el trasmisor y el
receptor.
•Es un protocolo muy importante porque de él se han
derivado muchos otros, en las LAN se utiliza LLC que es
también otra variante.
HDLC - High-level Data Link Control

•El protocolo HDLC (High Level Data Link Control) es un protocolo


orientado al bit con relleno de bits para solucionar la transparencia de
código.

•Utiliza los flags 01111110 de comienzo y fin de trama.

• Para el control de errores utiliza una variante de la codificación CRC-


CCITT, además de los acuses de recibo en las transmisiones y los
números de secuencia en las tramas.

• Las redes que utilizan HDLC en su capa de enlace no necesitan


realizar comprobaciones de errores en las capas superiores.

• Este protocolo, propuesto por OSI, está basado en el protocolo SDLC


de la capa de enlace de la arquitectura SNA de IBM..
HDLC - High-level Data Link Control

Define:

tres tipos de estaciones:


primaria: controla el funcionamiento del enlace con
tramas llamadas órdenes
secundaria: envían respuestas bajo el control de las
primarias
host: combinación de primaria y secundaria

dos configuraciones del enlace:


no balanceada: 1 estación primaria y n secundarias
balanceada: 2 hosts
HDLC - High-level Data Link Control
Define: (cont.)

tres modos de transferencia de datos:

NRM (normal response mode, modo de respuesta normal): en enlaces no


balanceados punto a punto y multipunto la estación secundaria sólo puede
responder a las órdenes de la primaria usa el protocolo UN (unbalanced
normal, normal no balanceado)
ABM (asynchronous balanced mode, modo balanceado asíncrono): es el
más usado y se da en enlaces balanceados cualquier estación puede
transmitir sin permiso usa el protocolo BA (balanced normal, normal
balanceado)
ARM (asynchronous response mode, modo respuesta asíncrono): no de uso
frecuente, se da en enlaces no balanceados una estación secundaria puede
iniciar la transmisión sin permiso de la primaria la estación primaria
responsable del funcionamiento de la línea usa el protocolo UA (unbalanced
asynchronous, asíncrono no balanceado) sin restricción de longitud
HDLC - High-level Data Link Control
Usa transmisión síncrona
Tiene un único formato de trama:

•delimitación de trama (flag): delimitan la trama en sus dos extremos


•dirección: dirección de la estación secundaria que ha transmitido o va a recibir
la trama. Si todos los bits están a 1  la trama va a todas las estaciones
secundarias
•control: define tres tipos de trama:
•trama I (información): transporta información de usuario y ARQ
•trama S (supervisión): transporta ARQ si no es posible en tramas I
•trama N (no numerada): funciones complementarias de control de enlace
•información: solo presente en tramas I y algunas N.
•nº bits=múltiplo entero de 8 -> usa bit-stuffing (añade un 0 después de 5 a 1)
•FCS (frame check sequence): código para detección de errores, se usa:
• CRC-16 cabecera
datos
cola
• CRC-32
Flag Dirección Control Información Relleno (FCS) Flag
01111110 01111110

1 byte 1 byte 1ó2 bytes variable 2ó4 bytes 1 byte


HDLC - High-level Data Link Control
Formato Campo de Control:
N(S): número de secuencia de trama del emisor
P/F: bit de órdenes (P) o respuestas (F)
N(R): número de secuencia de trama del receptor
S: código función supervisión: RR, RNR, REJ, SREJ
M: código de función no numerada (hasta 32 funciones): test, inicio, reset, etc.

I : Información N(S)=Número de secuencia enviada


N(R)=Número de secuencia recibida

S : Supervisión S = Bits para las tramas se supervisión


M =Bits para las tramas no numeradas
U : No numeradas P/F =Bit de sondeo/final (“Poll/Final”)

Formato del campo de control de 8 bits

Información

Supervisión

Formato del campo de control de 16 bits


PPP (Point to Point Protocol)
Aunque el HDLC es un protocolo general que se puede usar tanto para
configuraciones punto a punto como multipunto, uno de los protocolos
más comunes para el acceso punto a punto es el Protocolo Punto a
Punto (PPP).

Protocolo orientado al byte.

Servicios:
•define formato trama a intercambiar entre dispositivos
•define cómo dos dispositivos pueden negociar el intercambio de datos
•define cómo se encapsulan los datos de nivel de red en una trama de nivel
de enlace
•define cómo dos dispositivos se pueden autenticar entre sí
•proporciona múltiples servicios de nivel de red y soporta una variedad de
protocolos de nivel de red
•proporciona conexiones sobre múltiples enlaces
•proporciona configuraciones de dirección de red (útil cuando un usuario en
casa necesita una dirección temporal de red para conectarse a Internet)
PPP (Point to Point Protocol)
Carencias:
no proporciona control de flujo.
mecanismo muy sencillo de control de error.
no proporciona un mecanismo de direcciones sofisticado

Tres conjuntos de protocolos:


protocolo de control de enlace (LCP)
responsable de establecer, mantener, configurar y terminar enlaces.
negocia parámetros.
protocolos de autenticación (PAP, CHAP)
validar la autenticidad del usuario que necesita acceder a un conjunto de recursos
protocolos de control de red (NCP)
define un protocolo de control específico para cada protocolo de red
IPCP (internet protocol control protocol) es el NCP para IP

Formato de Trama:
dirección: campo fijo que indica que todas las estaciones han de aceptar la trama
control: campo fijo que indica que la trama no está numerada  connectionless
Flag Dirección Control Protocolo Carga FCS Flag
01111110 11111111 00000011 Útil 01111110
Control de Acceso - MAC
Canal Subdividido (“particionado”)
Divide el canal en pequeños “pedazos” (ranuras de tiempo,
frecuencia, código) Asigna pedazos a un nodo para su uso exclusivo
Acceso Aleatorio
Canal no es dividido, permite colisiones
Hay que “recuperarse” de las colisiones
“Tomando turnos”
Los nodos toman turnos, pero nodos con más por enviar pueden
tomar turnos más largos
TDMA: time division multiple access

•Acceso a canales es en “rondas"


•Cada estación obtiene una ranura de largo fijo
(largo=tiempo transmisión del paquete) en cada ronda
•Ranuras no usadas no se aprovechan

Ejemplo: LAN con 6 estaciones, 1,3,4 tienen paquetes,


ranuras 2,5,6 no usadas
FDMA: frequency division multiple access

•Espectro del canal es dividido en bandas de frecuencia


•Cada estación obtiene una banda de frecuencia fija
•Tiempo de transmisión no usado no es aprovechado

ejemplo: LAN de 4 estaciones


Control de Acceso (acceso aleatorio)

Cuando un nodo tiene paquetes que enviar


Transmite a la tasa máxima del canal R.
No hay coordinación entre nodos

Si dos o más nodos transmiten se produce “colisión”

Protocolos de acceso aleatorio especifican:


Cómo detectar colisiones
Cómo recuperarse de una colisión (e.g., vía retransmisiones
retardadas)

Ejemplos de protocolos MAC de acceso aleatorio:


ALOHA ranurado
ALOHA
CSMA, CSMA/CD, CSMA/CA
ALOHA Puro
• Creado en 1970’s por Norman Abramson y sus colegas de la
Universidad de Hawaii.
• Diseñado para coordinar ondas de radio terrestres.
• Su ideología es aplicable a las redes computacionales.
• Idea bbásica: que la estación que requiera transmitir lo haga.
• Colisiones.
ALOHA Puro

• Si dos tramas ocupan el mismo espacio durante el mismo período


en el tiempo, se puede decir que están colisionando en el medio
por lo cual ambas serán desechadas.
Usuario
• Probabilidad de éxito de transmisión A
de un nodo 18% B
C
• Si una trama fue destruida por una D
E
colisión, el emisor deberá esperar un
tiempo aleatorio y volver a transmitir. Tiempo
ALOHA Ranurado

División del espacio de tiempo continio a intervalos discretos.


Sincronización con una estación especial que emite un pip al inicio de
cada intervalo de tiempo.
Las computadoras no pueden transmitir cuando quieran, tienen que
esperar cada ranura o espacio de tiempo.
La eficiencia o utilización del canal es de 37%.
CSMA (Carrier Sense Multiple Access)

Sensa portadora antes de transmitir:

Si el canal se sensa a libre, se transmite la


trama entera

Si el canal se sensa ocupado, postergar


transmisión
Colisiones en CSMA

• Colisiones pueden ocurrir aún:


Retardo de propagación hace que
dos nodos podrían no escuchar
sus transmisiones

• Colisión:
EL tiempo de transmisión del
paquete entero es
desaprovechado

• Notar:
El rol de la distancia y el retardo
de propagación en la
determinación de la probabilidad
de colisión
CSMA/CD (Detección de Colisiones)

• Carrier Sense Multiple Access with Collision Detection.

• Desarollado Originalmente por Xerox 1976.


– Estándar de IEEE 802.3

• Si una estación detecta una colisión, inmediatamente


detiene la transmisión de una trama.
– Ahorro de ancho de banda.
– Mejor uso del canal.

• Algoritmo de contención.
CSMA/CD (Detección de Colisiones)
Detección de Colisiones
Estación Oculta Wireless
Estación Oculta Wireless
RTS/CTS

• El uso de mensajes RTS/CTS se denomina a veces Virtual Carrier Sense

• Permite a una estación reservar el medio durante una trama para su uso
exclusivo

• Si todas las estaciones se ‘escuchan’ directamente entre sí el uso de


RTS/CTS no aporta nada y supone un overhead importante, sobre todo en
tramas pequeñas

• No todos los equipos soportan el uso de RTS/CTS. Lo que lo soportan


permiten indicar en un parámetro de configuración a partir de que tamaño
de trama se quiere utilizar RTS/CTS.

• También se puede deshabilitar por completo su uso, cosa bastante habitual


Comparación
Control de Acceso - Toma de Turnos

Protocolos MAC que particionan el canal:


– Se comparte el canal eficientemente y equitativamente en alta
carga
– Son ineficiente a baja carga: Hay retardo en acceso al canal, 1/N
del ancho de banda es asignado aún si hay sólo un nodo activo!

Protocolos de acceso aleatorio


– Son eficientes a baja carga: un único usuario puede utilizar
completamente el canal
– Alta carga: ineficiencias por colisiones

Protocolos de “toma de turnos”


– Buscan lo mejor de ambos mundos!
“Toma de Turnos”
Nodo maestro “invita” a nodos esclavos a transmitir en turnos

Paso de Testimonio:

• Token (testimonio) de control es pasado de nodo en nodo


secuencialmente.

• Hay un mensaje con el token

• Preocupaciones:

– Overhead del token


– latencia
– Punto único de falla (el token)
Resumen de protocolos MAC

– Subdivisión del canal: por tiempo, frecuencia, o


código
– Subdivisión aleatoria (dinámica)
• ALOHA, ALOHA-R, CSMA, CSMA/CD
• Sensado de portadora: fácil en algunas tecnologías
(cable), difícil en otras (inalámbricas)
• CSMA/CD es usado en Ethernet
• CSMA/CA (collision avoidance) es usado en 802.11
– Toma de turnos
• Consultas desde un sitio central, o pasando un token
Bibliografía

• Stalling, W: “Comunicaciones y redes de computadores”. Prentice-Hall.1997.


• Tanenbaum, A.S.,”Computer Networks”, Prentice-Hall
• Redes de computadores, Un enfoque descendente basado en internet,
James F. Kurose & Keith W. Ross – Pearson
• Principios de arquitectura de computadores, Miles J. Murdocca & Vincent P.
Heuring - Prentice Hall
• Transmisión De Datos y Redes De Computadores,Behrouz A. Forouzan -
McGraw Hill

También podría gustarte