2. Capa de Enlace de DatosCapa 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, Transporte 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.
3. Capa de Enlace de DatosCapa 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.
4. Principales FuncionesPrincipales 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, transfirié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.
5. Principales FuncionesPrincipales 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 prohíben 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).
6. Subcapas de Enlace de DatosSubcapas 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:
7. Subcapa de Enlace Logico (LLC)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.
8. Subcapa de Control de acceso alSubcapa de Control de acceso al
medio (MAC)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 medioControl 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 posee 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.
9. Tarjetas de redTarjetas de red
Para realizar todas estas funciones, la Capa de Enlace de Datos se basa
en un componente físico fundamental, la tarjeta de red.
Tarjetas de red.-
El componente físico fundamental de esta capa es la tarjeta 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.
10. Tarjetas de redTarjetas de red
Cada tarjeta de red posee 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 posee. 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 Organizacional Único (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.
11. Tarjetas de redTarjetas de red
El gran 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 tramasCreació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.
12. Creación de TramasCreació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
trama
dirección
longitud/t
ipo
datos FCS
fin de
trama
13. Creación de TramasCreació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.
14. Creación de TramasCreació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 desea enviar y los bytes encapsulados que se desea que lleguen al host
destino. Además, se añaden a este campo unos bytes adicionales, denominados
bytes de relleno, con objeto 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.
15. Direccionamiento FísicoDireccionamiento 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 tarjetas de red de ambos host (direcciones físicas).
Cuando el host A desea 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.
16. Protocolo ARPProtocolo 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 dirección
física obtenida.
17. Protocolo ARPProtocolo ARP
El protocolo ARP permite 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, pues su dirección MAC es conocida.
18. Protocolo ARPProtocolo ARP
ARP es 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
extrae del mismo la pareja IP-MAC y la incorpora a su tabla. De esta forma se va
construyendo la tabla dinámicamente.
19. Protocolo ARPProtocolo 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, pues 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
20. Protocolo ARPProtocolo 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.
21. Protocolo ARPProtocolo 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 comando os aparecerá la entrada ARP del router o
proxy que uséis para salir a Internet. En mi caso he obtenido la siguiente
entrada:
22. Protocolo ARPProtocolo 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.
23. Protocolo ARPProtocolo 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.
24. Protocolo ARPProtocolo 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.
25. Protocolo ARPProtocolo 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).
26. Capa físicaCapa física
Modelo de ReferenciaModelo de Referencia
Capa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datosCapa de enlace de datos
Capa de redCapa de red
Capa de transporteCapa de transporte
Capa de aplicaciónCapa de aplicación
27. Servicios de la Capa deServicios de la Capa de
Enlace de DatosEnlace de Datos
Transferencia de datos entre lasTransferencia de datos entre las
capas de red de las máquinas origencapas de red de las máquinas origen
y destino.y destino.
Tipos de servicioTipos de servicio
Servicio sin acuse ni conexión.Servicio sin acuse ni conexión.
Servicio con acuse sin conexión.Servicio con acuse sin conexión.
Servicio con acuse con conexión.Servicio con acuse con conexión.
28. Comunicación en laComunicación en la
Capa de Enlace de DatosCapa de Enlace de Datos
Capa físicaCapa física
Capa de enlace de datosCapa de enlace de datos
Capa de redCapa de red
Capa de transporteCapa de transporte
Capa de aplicaciónCapa de aplicación
Capa físicaCapa física
Capa de enlace de datosCapa de enlace de datos
Capa de redCapa de red
Capa de transporteCapa de transporte
Capa de aplicaciónCapa de aplicación
Virtual
Real
29. FramingFraming
La capa de enlace de datos usa la capaLa capa de enlace de datos usa la capa
física como un “tubo” de bits.física como un “tubo” de bits.
Para detectar y corregir errores la capaPara detectar y corregir errores la capa
de enlace de datos divide los datos ende enlace de datos divide los datos en
framesframes, agregando información tal, agregando información tal
como:como:
Suma de verificación (CRC).Suma de verificación (CRC).
Indicadores de inicio y fin con relleno.Indicadores de inicio y fin con relleno.
Conteo de caracteres.Conteo de caracteres.
30. Control de ErroresControl de Errores
Solo es posible en un servicio conSolo es posible en un servicio con
acuse de recibo.acuse de recibo.
Por cadaPor cada frameframe enviado se espera unoenviado se espera uno
de retorno que indique si la transmisiónde retorno que indique si la transmisión
fue exitosa o no.fue exitosa o no.
También se usa un temporizador paraTambién se usa un temporizador para
detectardetectar framesframes de control perdidos.de control perdidos.
31. Control de FlujoControl de Flujo
Consiste en regular la velocidad deConsiste en regular la velocidad de
transmisión de datos de forma de notransmisión de datos de forma de no
saturar al receptor.saturar al receptor.
Los protocolos de esta capa contienenLos protocolos de esta capa contienen
reglas precisas que indican cuando esreglas precisas que indican cuando es
posible enviar unposible enviar un frameframe..
Con frecuencia el receptor autorizaCon frecuencia el receptor autoriza
implícita o explícitamente laimplícita o explícitamente la
transmisión.transmisión.
32. Suma de Verificación (CRC)Suma de Verificación (CRC)
Trata cadenas de bitsTrata cadenas de bits
como polinomios concomo polinomios con
coeficientes 0 y 1coeficientes 0 y 1
Se implementa enSe implementa en
hardwarehardware..
Algunos polinomios deAlgunos polinomios de
uso común son:uso común son:
CRC-12 = xCRC-12 = x1212
+x+x1111
+x+x33
+x+x22
+x+1+x+1
CRC-16 = xCRC-16 = x1616
+x+x1515
+x+x22
+1+1
CRC-CCITT = xCRC-CCITT = x1616
+x+x1212
+x+x55
+1+1
División módulo 2
Coeficientes del G(x) son 0 ó 1
Mensaje a transmitir M(x)
Seleccionar polinomio
generador G(x) de grado r
R(x) := Residuo(xrM(x) / G(x))
T(x) := xrM(x) xor R(x)
Transmitir T(x)
Equivale a una resta módulo 2.
T(x) es divisible por G(x)
33. Suma de Verificación (CRC)Suma de Verificación (CRC)
CRC-12 se usa con caracteres de 6 bits deCRC-12 se usa con caracteres de 6 bits de
longitud, CRC-16 y CRC-CCITT conlongitud, CRC-16 y CRC-CCITT con
caracteres de 8 bits.caracteres de 8 bits.
CRC-16 y CRC-CCITT detectan losCRC-16 y CRC-CCITT detectan los
siguientes errores:siguientes errores:
Todos los errores de 1 o dos bits.Todos los errores de 1 o dos bits.
Todos los errores con un número impar de bits.Todos los errores con un número impar de bits.
Todos los errores de “ráfaga” de 16 bits o menos.Todos los errores de “ráfaga” de 16 bits o menos.
99.997% de la ráfagas de errores de 17 bits.99.997% de la ráfagas de errores de 17 bits.
99.998% de las ráfagas de 18 bits o más.99.998% de las ráfagas de 18 bits o más.
34. Ejemplos de Protocolos de laEjemplos de Protocolos de la
Capa de Enlace de DatosCapa de Enlace de Datos
Protocolo unidireccional para un canalProtocolo unidireccional para un canal
ruidoso.ruidoso.
Protocolos de ventana deslizante.Protocolos de ventana deslizante.
Protocolo HDLC.Protocolo HDLC.
Protocolos usados en InternetProtocolos usados en Internet
SLIPSLIP
PPPPPP
36. Estructuras de DatosEstructuras 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;
37. Protocolo PAR (transmisor)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 */}
} } } }
38. void receiver3(void)
{
seq_nr frame_expected;
frame r, s;
event_type event;
frame_expected = 0;
while (true) {
wait_for_event(&event); /* frame_arrival or cksum_err */
if (event == frame_arrival) { /* A valid frame has arrived. */
from_physical_layer(&r); /* go get the newly arrived frame */
if (r.seq == frame_expected) { /* Frame received. */
to_network_layer(&r.info); /* send data to the network layer */
inc(frame_expected); /* expect the other sequence nr */
}
s.ack = 1 - frame_expected; /* tell which frame is being acked */
to_physical_layer(&s); /* only the ack field is use */
}
}
}
Protocolo PAR (receptor)Protocolo PAR (receptor)
39. Protocolo deProtocolo de
Ventana DeslizanteVentana Deslizante
Es un protocolo bidireccional.Es un protocolo bidireccional.
Se puede enviar varios paquetes antesSe puede enviar varios paquetes antes
de recibir acuse de recibo.de recibir acuse de recibo.
Los acuses de recibo indican el númeroLos acuses de recibo indican el número
de secuencia del paquete recibidode secuencia del paquete recibido
Se trata de enviar los acuses de reciboSe trata de enviar los acuses de recibo
con los paquetes que viajan en sentidocon los paquetes que viajan en sentido
contrario.contrario.
40. Protocolo deProtocolo de
Ventana DeslizanteVentana 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 */
41. Protocolo deProtocolo de
Ventana DeslizanteVentana 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 */
}
}
43. Protocolo HDLCProtocolo HDLC
High-level Data Link ControlHigh-level Data Link Control
SDLC(IBM)SDLC(IBM) ADCCP(ANSI)ADCCP(ANSI) HDLC(ISO)HDLC(ISO)
LAP(CCITT)LAP(CCITT) LAPB(CCITT)LAPB(CCITT)
Estos protocolos difieren solo en aspectos menores.Estos protocolos difieren solo en aspectos menores.
Estan orientados a bits y usan relleno para lograrEstan orientados a bits y usan relleno para lograr
transparencia.transparencia.
Muy utilizadosMuy utilizados
01111110 Dirección Control Datos CRC 01111110
88 88 88 881616>0>0BitsBits
44. Serial Line IP Protocol (SLIP)Serial Line IP Protocol (SLIP)
Fue desarrollado en 1984 para conectarFue desarrollado en 1984 para conectar
estaciones de trabajo al Internet usando unestaciones de trabajo al Internet usando un
modem.modem.
Está descrito en RFC 1055 y 1144Está descrito en RFC 1055 y 1144
Envia paquetes IP agregando 0xC0 al final.Envia paquetes IP agregando 0xC0 al final.
Si 0xC0 aparece en los datos se precede deSi 0xC0 aparece en los datos se precede de
0xDB.0xDB.
Las últimas versiónes comprimen losLas últimas versiónes comprimen los
encabezdos TCP e IP eliminando camposencabezdos TCP e IP eliminando campos
repetidos en paquetes consecutivos.repetidos en paquetes consecutivos.
45. Serial Line IP Protocol (SLIP)Serial Line IP Protocol (SLIP)
Slip aunque ampliamente usado tieneSlip aunque ampliamente usado tiene
algunas desventajas:algunas desventajas:
No efectua corrección y detección de errores.No efectua corrección y detección de errores.
Solo funciona con IP.Solo funciona con IP.
Carece de mecanismos para establer la conexión.Carece de mecanismos para establer la conexión.
CadaCada hosthost debe conocer de antemano la direccióndebe conocer de antemano la dirección
IP del otro.IP del otro.
Carece de mecanismos de autentificación.Carece de mecanismos de autentificación.
Existen versiones incompatibles entre sí.Existen versiones incompatibles entre sí.
46. Point to Point Protocol (PPP)Point to Point Protocol (PPP)
Desarrollado por la IETF.Desarrollado por la IETF.
Descrito en RFCs 1661, 1662, 1663.Descrito en RFCs 1661, 1662, 1663.
PPP incluye:PPP incluye:
Delimitación unambigüa de inicio y fin deDelimitación unambigüa de inicio y fin de framesframes..
Control de errores.Control de errores.
Protocolo de control de enlaces (LCP).Protocolo de control de enlaces (LCP).
Mecanismo para negociar opciones de la capa deMecanismo para negociar opciones de la capa de
red mediante un protocolo (NCP) distinto parared mediante un protocolo (NCP) distinto para
cada tipo de red.cada tipo de red.
47. Point to Point Protocol (PPP)Point to Point Protocol (PPP)
01111110 11111111 00000011 Datos CRC 01111110
11 11 11 881616VariableVariableBytesBytes
Protocolo
1 o 21 o 2
LCP, NCP, IP, IPX, etc.LCP, NCP, IP, IPX, etc.
PPP se parece aPPP se parece a
HDLC pero esHDLC pero es
orientado aorientado a bytesbytes..
PPP se usa tantoPPP se usa tanto
en enlacesen enlaces
dedicados comodedicados como
en en enlacesen en enlaces
discados.discados.
48. La Capa deLa Capa de
Enlace de Datos en ATMEnlace de Datos en ATM
En ATM corresponde a la subcapa TC (En ATM corresponde a la subcapa TC (TransmitionTransmition
ConvergenceConvergence) de la capa física.) de la capa física.
Calcula la suma de verificación HEC usando elCalcula la suma de verificación HEC usando el
polinomio xpolinomio x88
+ x+ x22
+ x + 1.+ x + 1.
Genera celdas de “relleno” cuando el medio físico esGenera celdas de “relleno” cuando el medio físico es
síncrono (e.g. SONET).síncrono (e.g. SONET).
Convierte la corriente de celdas proveniente de laConvierte la corriente de celdas proveniente de la
capa ATM en una corriente de bits y viceversa.capa ATM en una corriente de bits y viceversa.
VPI VCI PTI CLP HEC Datos
1212 1616 33 3843848811BitsBits
49. Capa deCapa de
Enlace de DatosEnlace de Datos
Subcapa de aceso alSubcapa de aceso al
mediomedio
50. La Subcapa de Acceso alLa Subcapa de Acceso al
MedioMedio
Contiene protocolos para gestionar elContiene protocolos para gestionar el
acceso a redes de medio compartido.acceso a redes de medio compartido.
A menudo se identifica por la sigla, enA menudo se identifica por la sigla, en
ingles, MAC (ingles, MAC (Medium Access ControlMedium Access Control ).).
Esta subcapa es de especialEsta subcapa es de especial
importancia en redes de area local, enimportancia en redes de area local, en
algunos tipos de redes satelitales y enalgunos tipos de redes satelitales y en
redes de radiodifusión.redes de radiodifusión.
52. Reparto del CanalReparto del Canal
Reparto estático:Reparto estático:
Si el número de usuarios es pequeño y fijo seSi el número de usuarios es pequeño y fijo se
puede usar TDM o FDMpuede usar TDM o FDM
Reparto dinámico (supuestos):Reparto dinámico (supuestos):
Probabilidad (paquete enProbabilidad (paquete en ∆∆t) =t) = λ∆λ∆ tt
Canal único.Canal único.
Colisión.Colisión.
Tiempo continuo o discreto.Tiempo continuo o discreto.
Con o sin sin detección de portadora.Con o sin sin detección de portadora.
53. Protocolos de la SubcapaProtocolos de la Subcapa
de Acceso al Medio (MAC)de Acceso al Medio (MAC)
ALOHAALOHA
CSMA (CSMA (Carrier Sense Multiple AccessCarrier Sense Multiple Access))
CSMA/CD (CSMACSMA/CD (CSMA with Collision Detectwith Collision Detect))
WDMA (WDMA (Wavelength Division MAWavelength Division MA))
MACA (MACA (MA with Collision AvoidanceMA with Collision Avoidance))
Radio celular (GSM, CDPD y CDMA)Radio celular (GSM, CDPD y CDMA)
IEEE 802.XIEEE 802.X
FDDI (FDDI (Fiber Distributed Data InterfaseFiber Distributed Data Interfase))
54. ALOHAALOHA
Desarrolla a pricipios de los 70’s en laDesarrolla a pricipios de los 70’s en la
Universidad de Hawaii.Universidad de Hawaii.
Existen dos versiones de tiempo continuo yExisten dos versiones de tiempo continuo y
de tiempo discreto.de tiempo discreto.
Cada estación transmite cuando lo necesita.Cada estación transmite cuando lo necesita.
Si se detecta una colisión cada transmisorSi se detecta una colisión cada transmisor
espera un tiempo aleatorio antes deespera un tiempo aleatorio antes de
retransmitir.retransmitir.
La eficiencia máxima de ALOHA continuo esLa eficiencia máxima de ALOHA continuo es
18.4%, la de ALOHA discreto es 36.8%.18.4%, la de ALOHA discreto es 36.8%.
56. CSMACSMA
Similar a ALOHA pero las estacionesSimilar a ALOHA pero las estaciones
escuchan el canal para detectar si esta libreescuchan el canal para detectar si esta libre
antes de iniciar la transmisión.antes de iniciar la transmisión.
En CSMA peristente-En CSMA peristente-pp una estación transmiteuna estación transmite
inmediatamente con probabilidadinmediatamente con probabilidad pp alal
encontrar el canal libre 0<encontrar el canal libre 0<pp<=1.<=1.
En CSMA no persistente las estaciones soloEn CSMA no persistente las estaciones solo
monitorean el canal a intervalos discretos.monitorean el canal a intervalos discretos.
58. CSMA/CDCSMA/CD
Mejora al CSMA interrumpiendo lasMejora al CSMA interrumpiendo las
transmisiones tan pronto como se detectatransmisiones tan pronto como se detecta
una colisión.una colisión.
Se usa ampliamente en redes locales,Se usa ampliamente en redes locales,
particularmente en IEEE 802.3, tambiénparticularmente en IEEE 802.3, también
conocido como Ethernet.conocido como Ethernet.
El rendimiento de todos estos protocolosEl rendimiento de todos estos protocolos
depende del retardo de las señales en eldepende del retardo de las señales en el
canal.canal.
59. Protocolos Sin ColisionesProtocolos Sin Colisiones
En el protocolo deEn el protocolo de mapa de bitsmapa de bits, el uso del, el uso del
canal se divide en períodos de transmisión ycanal se divide en períodos de transmisión y
periodos de contención.periodos de contención.
Durante el período de contención cadaDurante el período de contención cada
estación que desea transmitr envia un bit 1estación que desea transmitr envia un bit 1
en su ranura de tiempo luego las estacionesen su ranura de tiempo luego las estaciones
transmiten sus datos en el mismo orden.transmiten sus datos en el mismo orden.
60. Protocolos Sin ColisionesProtocolos Sin Colisiones
En el protocoloEn el protocolo conteoconteo
descendentedescendente, todas las, todas las
estaciones transmiten suestaciones transmiten su
direccióndirección
simultáneamente.simultáneamente.
Cuando detectan un bit 1Cuando detectan un bit 1
que no emitieron ceden elque no emitieron ceden el
turno de transmisión.turno de transmisión.
La estación con laLa estación con la
direccion mas altadireccion mas alta
transmite.transmite.
61. Protocolos Sin ColisionesProtocolos Sin Colisiones
En los protocolos deEn los protocolos de tokentoken (testigo)(testigo), un, un
paquete especial circula por el mediopaquete especial circula por el medio
compartido de estación a estación.compartido de estación a estación.
Solo la estación que tiene el testigo puedeSolo la estación que tiene el testigo puede
transmitir.transmitir.
Estos protocolos garantizan un tiempo deEstos protocolos garantizan un tiempo de
viaje determinístico.viaje determinístico.
Ejemplos de estos protocolos son IEEEEjemplos de estos protocolos son IEEE
802.4, IEEE 802.5 y FDDI802.4, IEEE 802.5 y FDDI
63. Protocolos deProtocolos de
Contención LimitadaContención Limitada
Pretenden combinar lasPretenden combinar las
mejores características de losmejores características de los
protocolos con y sin colisiones.protocolos con y sin colisiones.
Dividen a las estacionesDividen a las estaciones
dinámicamente en grupos.dinámicamente en grupos.
Cada grupo esta libre deCada grupo esta libre de
colisiones, solo existencolisiones, solo existen
colisiones entre grupos.colisiones entre grupos.
Ejemplo: el protocolo deEjemplo: el protocolo de
recorrido de arbol adaptablerecorrido de arbol adaptable..
64. Protocolos conProtocolos con
División del CanalDivisión del Canal
Se divide el canal de transmisión en unSe divide el canal de transmisión en un
subcanal de control y multiples canalessubcanal de control y multiples canales
para datos mediante FDM o TDM.para datos mediante FDM o TDM.
Las estaciones utilizan el canal deLas estaciones utilizan el canal de
control para acordar un canal de datoscontrol para acordar un canal de datos
disponible por el cual transmitir.disponible por el cual transmitir.
Un ejemplo de este protocolo es WDMAUn ejemplo de este protocolo es WDMA
((Wavelength Division Multiple AccessWavelength Division Multiple Access).).
65. Protocolos paraProtocolos para
LANs InalámbricasLANs Inalámbricas
En una red inalámbrica, las estaciones noEn una red inalámbrica, las estaciones no
pueden escuchar a todas las demás.pueden escuchar a todas las demás.
Los protocolos CSMA no son adecuados ya que solo puede sensarLos protocolos CSMA no son adecuados ya que solo puede sensar
la portadora en su entorno, no en el entorno del receptor.la portadora en su entorno, no en el entorno del receptor.
El protocolo MACA (El protocolo MACA (Multiple Access with Collisión AvoidanceMultiple Access with Collisión Avoidance) reduce) reduce
el problema mediante el intercambio de paquetes cortos RTS y CTS.el problema mediante el intercambio de paquetes cortos RTS y CTS.
66. Radio Celular DigitalRadio Celular Digital
GSM (GSM (Global System for MobileGlobal System for Mobile
communicationscommunications) es el estandar europeo y es) es el estandar europeo y es
totalmente digital.totalmente digital.
GSM usa 124 canales bidireccionales porGSM usa 124 canales bidireccionales por
FDM en la banda de 890 a 960 MHz.FDM en la banda de 890 a 960 MHz.
Cada canal se divide en 8 ranuras TDM paraCada canal se divide en 8 ranuras TDM para
un total de 992 canales, de los cuales seun total de 992 canales, de los cuales se
usan unos 200 en cada celda.usan unos 200 en cada celda.
Un canal puede transmitir voz o datos a 9600Un canal puede transmitir voz o datos a 9600
bits por segundo.bits por segundo.
67. CDPD:CDPD:
Cellular Digital Packet DataCellular Digital Packet Data
Funciona sobre los sistemas de telefonía celularFunciona sobre los sistemas de telefonía celular
existente (AMPS).existente (AMPS).
No se establece una conexión; cuando se deseaNo se establece una conexión; cuando se desea
enviar un paquete se toma temporalmente cualquierenviar un paquete se toma temporalmente cualquier
canal disponible. Es similar a CSMA.canal disponible. Es similar a CSMA.
CDPD sigue estrechamente el modelo OSI.CDPD sigue estrechamente el modelo OSI.
La capa de enlace de datos usa DSMA (La capa de enlace de datos usa DSMA (DigitalDigital
Sense MASense MA). Cada estación movil escucha un canal y). Cada estación movil escucha un canal y
si esta ocupado salta un número aleatorio desi esta ocupado salta un número aleatorio de
canales.canales.
Transmite a una tasa bruta de 19.2 Kbps (~9.6 KbpsTransmite a una tasa bruta de 19.2 Kbps (~9.6 Kbps
neto).neto).
68. CDMA:CDMA:
Code División Multiple AccessCode División Multiple Access
A cada estación se asigna un código (A cada estación se asigna un código (chipchip).).
LosLos chipschips debe ser ortogonales.debe ser ortogonales.
Todas las estaciones transmiten cuando loTodas las estaciones transmiten cuando lo
requieren. Las señales se suman.requieren. Las señales se suman.
Las estaciones envian su código para indicarLas estaciones envian su código para indicar
un bit 1 y el complemento de su código paraun bit 1 y el complemento de su código para
indicar un bit 0.indicar un bit 0.
Las señales se separan usando los códigosLas señales se separan usando los códigos
de las estaciones.de las estaciones.
69. IEEE 802.xIEEE 802.x
802.1802.1 Introducción a los estandares. Primitivas.Introducción a los estandares. Primitivas.
802.2802.2 Parte superior de la capa de enlace deParte superior de la capa de enlace de
datos, LLC (datos, LLC (Logical Link ControlLogical Link Control))
802.3802.3 EthernetEthernet
802.4802.4 Token BusToken Bus
802.5802.5 Token RingToken Ring
802.6802.6 DQDB (DQDB (Distributed Queue Dual BusDistributed Queue Dual Bus))
70. IEEE 802.3IEEE 802.3
Usa CSMA/CD.Usa CSMA/CD.
Para determinar el tiempo de espera enPara determinar el tiempo de espera en
caso de colisión, se usa un algoritmo decaso de colisión, se usa un algoritmo de
“retoceso exponencial binario”:“retoceso exponencial binario”:
Despues de la i-esima colisión cadaDespues de la i-esima colisión cada
estación espera un tiempo aleatorio entre 0estación espera un tiempo aleatorio entre 0
y min (2y min (2ii
-1 ,1023) intervalos de 51.2-1 ,1023) intervalos de 51.2 µµseg.seg.
Despues de 16 colisiones se reporta unDespues de 16 colisiones se reporta un
error a las capas superiores.error a las capas superiores.
71. MAC en el IEEE 802.3MAC en el IEEE 802.3
Preámbulo
Dirección
de destino
FS N RellenoDatos
Dirección
de origen
CRC
Longitud delLongitud del
campo de datoscampo de datos
1010101010101010
5.65.6mms as a
10 MHZ10 MHZ
Inicio deInicio de FrameFrame
1010101110101011
77 66 0-15000-1500 4422BytesBytes 11 66 0-460-46
Dirección
de destino
LAB
11 4646BitsBits 11
Dirección de grupoDirección de grupo
Dirección localDirección local
• Dirección asignada por el usuario,Dirección asignada por el usuario,
• Dirección global (unica, 7x10Dirección global (unica, 7x101313
posibilidades)posibilidades)
asignada por el fabricante.asignada por el fabricante.
• Dirección deDirección de broadcastbroadcast (1111 …1111)(1111 …1111)
Tamaño mínimo delTamaño mínimo del
Frame 64 bytesFrame 64 bytes
73. IEEE 802.2 (LLC)IEEE 802.2 (LLC)
La capa LLC (La capa LLC (Logical Link ControlLogical Link Control ) presenta) presenta
una interfase común a la capa de red.una interfase común a la capa de red.
Se basa en HDLC y proporciona tres tipos deSe basa en HDLC y proporciona tres tipos de
servicio no confiable, reconocido y orientadoservicio no confiable, reconocido y orientado
a conexión.a conexión.
74. FDDIFDDI
Usa un protocolo deUsa un protocolo de Token RingToken Ring similar a IEEE 802.5.similar a IEEE 802.5.
Ademas de paquetes asincrónicos FDDI puedeAdemas de paquetes asincrónicos FDDI puede
transmitir datos PCM mediante reservación previa deltransmitir datos PCM mediante reservación previa del
ancho de banda.ancho de banda.
El trafico asincrónico se divide en clases deEl trafico asincrónico se divide en clases de
prioridades.prioridades.
Preámbulo
Dirección
de destino
Datos
Dirección
de origen
CRC
Delimitador inicialDelimitador inicial
>7>7 66 44BytesBytes 11 66
Control deControl de frameframe Delimitador finalDelimitador final
Estado deEstado de frameframe
Sin límiteSin límite11 11 11