Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Bibliografa
Comunicacin de datos, redes de computadores y sistemas abierto. Fred Halsall. Ed. Pearspm Educacin. Cuarta Edicin. Captulo 5.
Objetivos
Conocer los diferentes tipos de protocolos de control de enlace de datos orientados a caracteres y orientados a bists.
Entender los formatos de trama y los tipos de trama empleados en el protolocolo de control de enlace de datos de alto nivel (HDLC), y explicar aspectos concretos de su funcionamiento.
Contenido
Introduccin
Servicios ofrecidos por el NE al NR Objetivos del nivel de enlace Tcnicas de acceso al medio Sondeo y seleccin Sondeo Seleccin Resumen sondeo y seleccin Funcin delimitacin de tramas Control de flujo Tcnicas de control de flujo
Introduccin
Hasta ahora hemos visto el envo de seales sobre un enlace de transmisin (Tecnologas de nivel fsico)
Si queremos que la comunicacin sea fiable y eficiente entonces encima del nivel fsico se necesita una capa lgica para controlar y gestionar el intercambio de datos Esta capa lgica se denomina control del enlace de datos o protocolo de control del enlace de datos Cuando se usa un protocolo del enlace de datos, el medio de transmisin existente entre los sistemas se denomina enlace de datos Para controlar y gestionar el intercambio de datos se requiere: Una conexin directa entre transmisor y receptor (ya sea P2P o MP) Si esa conexin es a travs de un medio compartido: por debajo se requiere colocar una subcapa (MAC)
Protocolos
Es un conjunto de reglas o pautas secuenciales para el establecimiento de una comunicacin entre dos o ms computadores con la finalidad de intercambiar informacin en forma eficiente.
La sintaxis: formato de datos y niveles de seal. La semntica: informacin de control para la coordinacin y manejo de errores. La temporizacin: sintonizacin de velocidades y secuenciacin.
Protocolos: Funciones
Encapsulamiento Segmentacin y Ensamblado Control de la Conexin Entrega en Orden Control de Flujo Control de Errores
Direccionamiento
Multiplexacin Servicios de Transmisin
Proporcionar al nivel de red un servicio de transmisin de datos efectivo sobre una capa fsica
Sincronizacin de tramas: Los datos se envan en bloques denominados tramas, cuyo principio y fin deben ser identificables
Sincronizacin de tramas: Los datos se envan en bloques denominados tramas, cuyo principio y fin deben ser identificables
10
Sincronizacin de tramas: Los datos se envan en bloques denominados tramas, cuyo principio y fin deben ser identificables Control de flujo: La estacin emisora no debe enviar tramas a una velocidad superior a la que la estacin receptora pueda absorberlas Control de errores: Se debe corregir cualquier error en los bits provocado por el sistema de transmisin
11
Otras funciones:
Direccionamiento y control de acceso en enlaces multipunto Separacin en recepcin de datos y control (viajan sobre el mismo enlace) Definicin de procedimientos para la gestin del enlace: inicio, mantenimiento y conclusin del intercambio de datos
12
Reserva: Cada estacin posee una parte del enlace Seleccin: Existe una entidad que indica qu estacin puede hacer uso del enlace en cada momento (Se indica quien puede hablar en cada instante) Contienda: Todas las estaciones pueden transmitir sin autorizacin de otra (Subcapa MAC)
3.
13
El nivel de enlace debe delimitar el flujo de bits del nivel fsico en unidades de datos sobre las que aplicar el control
Posibles soluciones a las delimitaciones de tramas:
1.
Definir tramas de longitud fija: Aqu solo se requiere de un carcter o smbolo para indicar el principio de una trama
Ejemplo: PDTadios PDThola Problema: muy restrictivo e ineficiente Establecer delimitadores de principio y de fin de trama
2.
14
Ejemplo: PDTCC4hola PDT y cabecera de longitud fija con un campo de datos variable pero especificado en la cabecera de longitud No presenta problemas de transparencia
15
Control de flujo
Es una tcnica utilizada para asegurar que una entidad de transmisin no sobrecargue a la entidad receptora con una excesiva cantidad de datos
La entidad receptora reserva una zona de memoria temporal para la transferencia Cuando se reciben los datos la entidad receptora debe realizar cierta cantidad de procesamiento antes de pasar los datos a las capas superiores En ausencia de procedimientos para el control de flujo, la memoria temporal de la entidad receptora se podra llenar y desbordarse mientras esta se encuentra procesando datos previos
16
Control de flujo
Es el proceso integral que permite que se realice el proceso de intercambio datos de informacin para una comunicacin en forma eficiente.
17
Control de flujo
Origen Trama 1 Trama 1 Trama 2 Trama 3 Trama 4 Trama 2 Trama 3 Trama 4 Tiempo Trama 2 Trama 3 Trama 4 Trama 3 Destino Origen Trama 1 Trama 1 Destino
Trama errnea
Trama 5 Trama 5
(a) Transmisin sin errores
Trama 5 Trama 5
(b) Transmisin con prdidas Y con errores
18
Control de flujo
Tiempo de transmisin: Tiempo empleado por una estacin para emitir todos los bits de una trama sobre el medio (Proporcional a la longitud de la trama) Tiempo de propagacin: Tiempo empleado por un bit en atravesar el medio de transmisin desde el origen hasta el destino Tiempo de procesamiento: Tiempo destinado para realizar cierta cantidad de procesamiento sobre los datos antes de pasarlos a las capas superiores Tiempo de ACK: Tiempo empleado para emitir las aceptaciones de cada una de las tramas recibidas
19
Parada y espera:
Ventana deslizante:
El emisor enva hasta un nmero mximo de tramas sin necesidad de confirmacin del receptor
Parada y arranque:
20
Una entidad origen transmite una trama Tras la recepcin, la entidad destino indica su deseo de aceptar otra trama mediante el envo de una confirmacin de la trama que acaba de recibir Mientras tanto, la entidad origen debe esperar a recibir la confirmacin antes de proceder a la transmisin de la trama siguiente Lo que se pretende es que la entidad destino frene el flujo de los datos a travs de las retenciones de las confirmaciones
Este procedimiento funciona adecuadamente si las tramas a enviar son grandes, pero estas deben ser segmentadas (cortadas) por las siguientes razones:
El tamao de la memoria temporal del receptor puede ser limitado Cuanto ms larga sea la trama es ms probable que haya errores En un medio compartido (LAN) es frecuente que una estacin no ocupe el medio durante un periodo de tiempo largo (evitar grandes retardos en las otras estaciones)
21
tprop
22
Anlisis:
Utilizacin: Tiempo empleado para la transmisin de los datos frente al tiempo total que se ocupa el enlace
T total = T tr trama + t propagacin trama + t procesamiento trama + T tr ACK + t propagacin ACK + t procesamiento ACK
T til = T tr trama
NOTA: Generalmente se suele despreciar el tiempo de procesamiento ya que suele ser pequeo, otra cosa que se suele despreciar es el tiempo de transmisin del ACK
Normalizamos tiempos dividiendo todo por el t tr trama Parmetro a (t propagacin trama normalizado al t tr trama)
23
Caudal eficaz (bps): Es el nmero de bits tiles de datos (slo datos nada de cabecera o control) frente al tiempo total de ocupacin
La trama es lo suficientemente larga para que los primeros bits de la misma lleguen al destino ante de que el origen haya concluido la transmisin de dicha trama El emisor completa la transmisin de toda la trama antes que el primer bit de la misma llegue al receptor
24
Este esquema tiene problemas, porque cada vez solo puede haber una trama en transito.
Se presenta como:
Longitud
del Enlace
Longitud
de
la
Trama
La longitud del enlace en bits, se define como el nmero de bits en el enlace cuando el mismo se ocupa completamente por una secuencia de bits.
Longitud del Enlace [ bits ] R [
bits s
]*
d [m ] V [
m s
25
26
Las cuatro primera etapas muestran el proceso de la transmisin de una trama que contiene datos
La ltima etapa muestra la devolucin de una trama de confirmacin pequea Para a > 1, la lnea siempre est infrautilizada, e incluso para a < 1, la lnea se utiliza de forma ineficiente El control de flujo mediante parada y espera da lugar a una utilizacin ineficiente de la lnea para el caso de velocidades de transmisin muy altas entre emisores y receptores que se encuentran separados grandes distancias
27
Situaciones en las que la longitud del enlace en bits sea mayor que la longitud de la trama (a > 1), presentarn problemas graves de ineficiencia
28
Supongamos dos estaciones (A y B) conectadas mediante un enlace full-duplex La estacin B reserva memoria temporal suficiente para almacenar W tramas A la estacin A se le permite enviar este mismo nmero de tramas sin tener que esperar ninguna confirmacin Para saber qu tramas se han confirmado, cada una de ellas etiqueta las tramas con un nmero de secuencia B confirma una trama mediante el envi de una confirmacin que incluye el nmero de secuencia de la siguiente trama que se espera recibir de A Esta confirmacin informa implcitamente que B esta preparado para recibir las W tramas siguientes, comenzando por la de nmero especificado
29
Tramas ya transmitidas
Tramas ya recibidas
La ventana se cierra por ltima abajo a medida que trama se reciben tramas recibida (b) Perspectiva del receptor
31
En la figura anterior se consideran nmeros de secuencia de 3 bits (las tramas se numeran secuencialmente desde 0 a 7)
En el emisor:
El rectngulo sombreado indica las tramas que se pueden transmitir Cada vez que se envi una trama, la ventana sombreada se cerrar, reduciendo su tamao Cada vez que se reciba una confirmacin, la ventana sombreada se abrir
Las tramas comprendidas entre la barra vertical y la ventana sombreada han sido ya enviadas, pero an no han sido confirmadas
El emisor debe almacenar estas tramas en la memoria temporal por si hubiera que retransmitirlas
32
33
El mecanismo de ventana deslizante proporciona un procedimiento para controlar el flujo: El receptor slo acepta las 7 tramas siguientes a la ltima que ha confirmado
Es posible que una estacin pueda interrumpir totalmente la transmisin de tramas desde el otro extremo mediante el envi de un mensaje RNR (Receive Not Ready)
Lo que sucede es que se confirman las tramas anteriores, pero se prohbe la transmisin de tramas adicionales Ejemplo: RNR 5 significa: He recibido todas las tramas hasta la 4 pero no acepto ms En algn momento la estacin deber transmitir una confirmacin normal para que se reabra la ventana
34
Qu sucede si dos estaciones intercambian datos entre ellas? (transmisin de tramas en ambos sentidos)
Cada una de ellas deber mantener 2 ventanas Una para transmitir y otra para recibir Cada extremo deber enviar hacia el otro tanto datos como confirmaciones Para llevar a cabo esto de forma eficiente se utiliza un procedimiento llamado piggybacking Cada trama de datos incluye un campo en el que se indica el nmero de secuencia de dicha trama ms un campo que indica el nmero de secuencia que se confirma Si una estacin tiene que enviar una confirmacin adems de datos, lo har conjuntamente utilizando una sola trama (ahorrando capacidad del canal)
35
Tamao de la ventana
Utilizando nmeros de secuencia de 3 bits Podemos representar 8 tramas dentro de la ventana Supongamos que se enva la trama 0
36
Control de errores
El control de errores hace referencia a los mecanismos necesarios para la deteccin y la correccin de errores que aparecen en una transmisin de tramas
Los tipos de errores potenciales que vamos a contemplar son:
Tramas perdidas: Una trama enviada no llega al otro extremo Tramas daadas: Una trama se recibe con algunos bits errneos (modificados durante la transmisin) Deteccin de errores: ya fue estudiado Confirmaciones positivas: El destino devuelve una confirmacin positiva para cada trama recibida con xito, libre de errores Retransmisin tras la expiracin de un temporizador: El origen retransmite las tramas que no se han confirmado tras un periodo de tiempo determinado Confirmacin negativa y retransmisin: El destino devuelve una confirmacin negativa para aquellas tramas en las que se detecta la ocurrencia de errores. El origen retransmitir de nuevo dichas tramas
37
ARQ
Los mecanismos antes mencionados se denominan genricamente solicitud de repeticin automtica (ARQ, Automatic Repeat reQuest)
ARQ con parada y espera: El receptor enva una aceptacin o un rechazo segn sea correcto el CRC o no ARQ con vuelta atrs N: Se descartan todas las tramas despus de haber encontrado una trama errnea ARQ con rechazo selectivo: Se seleccionan slo las tramas errneas para solicitar una retransmisin y se aceptan todas las que se encuentren correctas
2.
3.
38
Se basa en la tcnica para el control de flujo mediante parada y espera ya estudiada Pueden ocurrir 2 tipos de errores: 1. La trama que llega al destino pueda estar daada
El receptor detecta este hecho mediante tcnicas de deteccin de errores y, simplemente detectar la trama Para dar respuesta a esta situacin, el origen utiliza un temporizador Si no se recibe ninguna confirmacin antes de que el temporizador expire, se proceder a reenviar la misma trama El origen debe conservar una copia de la trama transmitida hasta que se reciba la confirmacin correspondiente A enva una trama a B, dicha trama se recibe correctamente B responde con un ACK La trama de ACK se pierde en el camino, de modo que no es identificable por A En A se producir una expiracin de su temporizador y ste reenviar la misma trama de datos Esta trama duplicada llega y se acepta por B B ha aceptado 2 copias de la misma trama como si fueran distintas Para evitar este problema las tramas se pueden etiquetar de forma alterna con 0 y 1, siendo las confirmaciones positivas de la forma ACK0 y AKC1
39
40
41
42
Mientras no se produzcan errores, el destino confirmar las tramas recibidas como es habitual
Si la estacin destino detecta un error en una trama, puede llevar a cabo el envo de una confirmacin negativa (REJ, REJect o NACK) para dicha trama La estacin destino descartar esa trama y todas las que se reciban posteriormente hasta que dicha trama errnea llegue correctamente Cuando el origen reciba un REJ, deber retransmitir la trama errnea adems de todas las posteriores que hayan sido transmitidas tras ella
43
45
46
47
48
49
El transmisor necesita una lgica ms compleja para poder enviar tramas fuera de orden
50
51
52
HDLC
HDLC es el protocolo de control del enlace de datos ms importante (High-level Data Link Control).
Tipos de estaciones:
Estacin primaria: responsable de controlar el funcionamiento del enlaces. Las tramas generadas por la estacin primaria se denominan rdenes. Estacin secundaria: funciona bajo el control de la estacin primaria. Las tramas se denominan respuestas. La primaria establece un enlace lgico independiente con cada una de las estaciones secundarias presente en la lnea. Estacin combinada: combina las caractersticas de las estaciones primarias y de las secundarias. rdenes Respuesta.
HDLC
Cundo utilizar cada modo:
Modo de respuesta normal (NRM): se usa en lneas que disponen de mltiples conexiones, en las que se conectan varias terminales a un computador central, tambin en enlaces punto a punto, si el enlace conecta un terminal u otros perifricos a un computador.
Modo balanceado asncrono (ABM): es el ms utilizado de los tres modos, pues no precisa realizar sondeos. Modo de respuesta asncrono (ARM): en contadas ocasiones, pudiendo usarse en ciertas situaciones particulares en las que la estacin secundaria necesita iniciar la transmisin .
54
HDLC
Modos de transferencia de datos:
Modo de respuesta normal (NRM): se utiliza en la configuracin no balanceada. La estacin primaria puede iniciar la transferencia de datos hacia la secundaria, pero la secundaria slo puede transmitir datos en base a respuestas a las rdenes emitidas por la primaria.
Modo balanceado asncrono (ABM): se utiliza en la configuracin balanceada. Cualquier estacin combinada puede iniciar la transmisin sin necesidad de recibir permiso por parte de otra estacin combinada. Modo de respuesta asncrono (ARM): se utiliza en la configuracin no balanceada. La estacin secundaria puede iniciar la transmisin sin tener permiso explcito de la primaria. La estacin primaria sigue teniendo la responsabilidad del funcionamiento de la lnea.
55
Estructura de la trama
HDLC emplea transmisin sncrona. Todos los intercambios se realizan en base a tramas, siendo suficiente un nico formato de trama para todos los tipos de intercambios de datos e informacin de control.
Los dos ltimos campos que estn a continuacin del campo de datos se denominan cola.
56
Estructura de la trama
Campos de delimitacin
Estn colocados en los dos extremos de la trama y ambos corresponden al patrn de bits 01111110. A ambos lados de la interfaz, los receptores estn continuamente intentando detectar la secuencia de delimitacin para sincronizarse con el comienzo de la trama. Mientras se est recibiendo una trama, la estacin sigue intentando detectar esa misma secuencia para determinar el final de la trama. Debido a que el protocolo permite cualquier combinacin de bits, no hay garanta de que la combinacin 01111110 no aparezca en algn lugar dentro de la trama destruyendo de este modo la sincronizacin de las mismas. Por lo que se utiliza un procedimiento denominado insercin de bits.
57
Estructura de la trama
Campo de direccin Identifica la estacin secundaria que ha transmitido o va a recibir la trama.
No se necesita en enlaces punto a punto, aunque se incluye siempre por cuestiones de uniformidad.
Consta normalmente de 8 bits, pero tras una negociacin previa, se puede utilizar un formato ampliado en el que la direccin es mltiplo de siete bits. El bits menos significativo de cada octeto ser 1 o 0 en funcin de si es o no, respectivamente, el ltimo octeto del campo de direccin. Octeto 11111111, tanto en formato bsico como en formato ampliado.
58
Estructura de la trama
Campo de control Existen tres tipos de tramas, cada una de ellas con un formato diferente para el campo de control. Trama de informacin (tramas -I): transporta los datos generados por el usuario. Tambin se incluye informacin para el control ARQ de errores y de flujo. Tramas de supervisin (tramas-S): proporciona el mecanismo ARQ cuando no se usa la incorporacin de las confirmaciones en las tramas de informacin (piggybacking). Tramas no numeradas (tramas-U): proporcionan funciones complementarias para controlar el enlace.
59
Estructura de la trama
Campo de control El primero o los dos primeros bits del campo de control se utilizan para identificar el tipo de trama. Todos los formatos posibles del campo de control contiene el bit de sondeo/fin (P/F), cuya utilizacin es dependiente del contexto. Normalmente, en las tramas de rdenes de denomina bit P y se fija a valor 1 para solicitar (sondear) una trama de respuesta a la entidad HDLC par. En las tramas de respuestas, este bit se denomina F y se fija a valor 1 para identificar la trama de respuesta devuelta tras la recepcin de una orden. El campo de control bsico en las tramas-S y en las tramas-I utiliza nmeros de secuencia de 3 bits, pero tambin se puede utilizar un campo de control ampliado en el que los nmeros de secuencia sean de 7 bits. La trama-U tiene siempre un campo de control de 8 bits.
60
Estructura de la trama
Campo de informacin Slo est presente en las tramas-I y en algunas tramas-U. Puede contener cualquier secuencia de bits, con la nica restriccin de que el nmero de bits sea igual a un mltiplo entero de octetos. Su longitud ser variable y siempre ser menor que un valor mximo predefinido.
61
Funcionamiento
Consiste en el intercambio de tramas-I, tramas-S, tramas-U entre dos estaciones.
Nombre rdenes/ respuest a C/R C/R C/R C/R C/R Descripcin
Informacin (I) Supervisin (S) Receptor preparado (RR) Receptor no preparado (RNR) Rechazo (REJ) Rechazo selectivo (SREJ)
Intercambio de datos de usr. Confirmacin positiva, preparado para recibir tramas I. Confirmacin positiva, no preparado para recibir. Confirmacin negativa, vuelta atrs N Confirmacin negativa, rechazo selectivo
62
Funcionamiento
Nombre rdenes/ respuesta Descripcin
No numerada (N) Establecimiento de modo de respuesta normal/ampliado (SNRM/SNRME) Establecimiento de modo de respuesta asncrono normal ampliado (SARM/SARME) Establecimiento de modo asncrono balanceado normal/ampliado (SABM/SABME) Establecimiento de modo de inicializacin (SIM) Desconexin (DISC) Confirmacin no numerada (UA) Modo desconectado (DM) Solicitud de desconexin (RD) Solicitud de modo de inicializacin (RIM) Informacin no numerada (UP) Sondeo no numerado (UP) Reset (RSET) Identificacin de intercambio (XID) Test (TEST) Rechazo de trama (FRMR)
Establecimiento de modo, ampliado = num. sec de 7 bits Establecimiento de modo, ampliado = num. sec de 7 bits Establecimiento de modo, ampliado = num. sec de 7 bits Inicializacin de las funciones de control del enlace en las estaciones especificadas en la direccin Finalizacin de la conexin lgica del enlace Aceptacin de confirmacin de una de las rdenes de establecimiento de modo La estacin que responde se encuentra en el modo desconectado Solicitud de una orden DISC Se necesita iniciar, solicitud de una orden SIM Usada para intercambiar informacin de control Usada para solicitar informacin de control Usada para recuperacin, reinicia N(R), N(S) Usada para solicitar/informar estado Intercambio de campos de informacin idnticos para test Informa de la recepcin de una trama inaceptable
63
Funcionamiento
El funcionamiento de HDLC implica tres fases.
Inicio
Lo puede solicitar cualquiera de los dos extremos en base a la transmisin de una de las rdenes previstas para fijar el modo. Esta orden tiene tres objetivos: Avisa la otro extremo sobre la solicitud de la iniciacin. Especifica cul de los tres modos (NRM, ABM, ARM) se est solicitando. Indica si se van a utilizar nmeros de secuencia de 3 o de 7 bits. Si el otro extremo acepta la solicitud, la entidad HDLC transmitir una trama de confirmacin no numerada (UA) al extremo iniciante. Si la solicitud se rechaza, se enva una trama de modo desconectado (DM).
64
Funcionamiento
Transferencia de datos Cuando la iniciacin haya sido solicitada y aceptada, se habr establecido una conexin lgica. A partir de entonces, ambos extremos pueden comenzar a enviar datos mediante el uso de trama-I, empezando por el nmero de secuencia 0. Qu indican los campos N(S) y N(R)? Cmo se numeran las tramas? Las tramas-S tambin se usan para controlar el flujo y los errores. Significado de las tramas: RR, RNR, REJ, SREJ. Desconexin Cualquiera de las dos entidades puede iniciar la desconexin. HDLC lleva a cabo la desconexin mediante el envo de una trama DISC. La entidad remota puede aceptar dicha desconexin mediante la devolucin de una trama UA
65
Ejemplos de funcionamiento
66
Ejemplos de funcionamiento
67