Title: Redes de Computadoras
1Redes de Computadoras
2Capa 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.
3Capa 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.
4Principales 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.
5Principales 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).
6Subcapas 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
7Subcapa 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
direccionamientoel 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.
8Subcapa 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.
9Tarjetas 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.
10Tarjetas 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.
11Tarjetas 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.
12Creació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
13Creació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.
14Creació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.
15Direccionamiento 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.
16Protocolo 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.
17Protocolo 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.
18Protocolo 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.
19Protocolo 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.
20Protocolo 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.
21Protocolo 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
22Protocolo 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.
23Protocolo 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.
24Protocolo 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.
25Protocolo 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).
26Modelo de Referencia
Capa de aplicación
Capa de transporte
Capa de red
Capa de enlace de datos
Capa de enlace de datos
Capa de enlace de datos
Capa de enlace de datos
Capa de enlace de datos
Capa de enlace de datos
Capa física
27Servicios 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.
28Comunicación en laCapa 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
29Framing
- 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.
30Control 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.
31Control 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.
32Suma de Verificación (CRC)
- Trata cadenas de bits como polinomios con
coeficientes 0 y 1 - Se implementa en hardware.
- Algunos polinomios de uso común son
- CRC-12 x12x11x3x2x1
- CRC-16 x16x15x21
- CRC-CCITT x16x12x51
33Suma 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.
34Ejemplos de Protocolos de laCapa de Enlace de
Datos
- Protocolo unidireccional para un canal ruidoso.
- Protocolos de ventana deslizante.
- Protocolo HDLC.
- Protocolos usados en Internet
- SLIP
- PPP
35Protocolo PAR
Transmisor
Receptor
1
- Positive Acknowledgment with Retransmission
- Unidireccional
- Tolera errores y paquetes perdidos
1
2
2
2
2
3
3
3
3
36Estructuras 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 dataMAX_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
37Protocolo 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 /
38Protocolo 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 /
39Protocolo deVentana 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.
40Protocolo deVentana 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
/
41Protocolo deVentana 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 /
42Otros Protocolos de Ventana Deslizante
43Protocolo 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
8
8
8
16
gt0
01111110
Dirección
Control
Datos
CRC
01111110
44Serial 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.
45Serial 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í.
46Point 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.
47Point to Point Protocol (PPP)
1
1
1
Variable
Bytes
1 o 2
8
16
01111110
11111111
00000011
Datos
CRC
01111110
Protocolo
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.
48La 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.
49Capa de Enlace de Datos
- Subcapa de aceso al medio
50La 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.
51Medio Compartido
Recibido
No es para mí
52Reparto 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.
53Protocolos 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)
54ALOHA
- Desarrolla a pricipios de los 70s 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.
55Colisión
Retransmitir
Colisión
Retransmitir
56CSMA
- 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 0ltplt1. - En CSMA no persistente las estaciones solo
monitorean el canal a intervalos discretos.
57Comparación de ALOHA y CSMA
58CSMA/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.
59Protocolos 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.
60Protocolos 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.
61Protocolos 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
62Protocolos de Token Ring
63Protocolos 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.
64Protocolos 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).
65Protocolos paraLANs 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.
66Radio 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.
67CDPDCellular 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).
68CDMACode 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.
69IEEE 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)
70IEEE 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.
71MAC en el IEEE 802.3
72Rendimiento de IEEE 802.3
73IEEE 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.
74FDDI
- 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.
gt7
6
4
Bytes
1
6
Sin límite
1
1
1
Preámbulo
Dirección de destino
Datos
Dirección de origen
CRC
Control de frame
Delimitador final
Delimitador inicial
Estado de frame