Upload
cesar-e-castellon
View
4
Download
0
Embed Size (px)
DESCRIPTION
Protocolos de Comunicacion, Capa 2,
Citation preview
Tema 4 Fundamentos de ProtocolosParte 1
I22/04/2013
Nivel de EnlaceFunciones:• Lograr comunicación confiable y eficiente entre dos
máquinas.• Control de errores.• Proveer una interfaz de servicios bien definidos al
nivel de red. Éste servicio puede ser ofrecido así:– Servicio no confirmado, no orientado a la conexión – Servicio confirmado, no orientado a la conexión – Servicio confirmado orientado a la conexión.
En este caso es responsabilidad de enlace de datos hacer que las líneas no confiables y con errores parezcan perfectas o por lo menos muy buenas.
Fundamentos de los protocolos• Los protocolos se especifican con uno de varios
métodos y formalismos precisos. Lo normal es usar diagramas de secuencia de tramas, tan solo para ilustrar aspectos concretos del protocolo, no como una forma de especificarlo. Los tres métodos mas comunes para especificar un protocolo de comunicación son:
– Los diagramas de transición de estados.
– Las tablas de sucesos-estados extendidas.
– Programas estructurados de alto nivel.
Verificación de Protocolos
•Máquinas de Estado Finito
•Redes de Petri
• Un estado en particular se designa como estado inicial.
• Utilizando el “analisis de asequibilidad” se determina que estados son alcanzables y cuales no.
• El modelo de un protocolo en referencia a una maquina de estados se puede conformar por una cuadrupla (S, M, I, T), donde:– S es el set de estados en que el canal y los
procesos pueden encontrarse. – M es el set de frames que se pueden
intercambiar a través del canal– I es el set de estados iniciales de los procesos.– T es el set de transiciones entre estados.
Modelos de Máquina de estado finito
(a) Protocolo 3 ARQ. (b) Tx
S=0,1 TX SENDR=0,1 RX ESPERAC=0,1,A,- Estado del canal
SRC
• Nueve tipos de transición se muestran en la figura previa. – 0 : Canal perdiendo su contenido .– 1 : Canal entregando correctamente el
pacquete 0 al receptor (este cambia su estado para recibir el paquete 1 y emitiendo un ACK)
– También corresponte al receptor entregando el paquete 0 a la capa de red
• Operación normal, – 1, 2, 3, y 4 se repiten en orden una y otra vez. En
cada ciclo se entregan dos paquetes, llevando al transmisor al estado inicial de intento de envio de un nuevo frame con secuencia 0
– Si el canal pierde el frame 0, hace una transicion de (000) a (00–).
• Eventualmente, – El transmisor provoca un time out (transition 7) y el
sistema retorna a (000). – La pérdida de un ACK es mas complicado
requiriendo dos transiciones, (7 y 5, o 8 y 6) para reparar el daño.
Redes de Petri
2 lugares y dos transiciones
• 4 elementos básicos: – lugares, transiciones, arcoss, y tokens.
• Lugar es un estado en el que el sistema se encuentra.
• El sistema se encuentra en el estado A indicado por el token.
• Una transicion se indica por una linea vertical. Cada transición tiene una o mas arcos de input y uno o mas arcos de output que van a sus lugares de salida
A Petri net model for protocol 3.
• A diferencia de la maquina de estados finitos, no existen estados compuestos aca, el estado del Tx, el canal y el estado del receptor se representan separadamente. – 1 Tx de frame 0 normalmente – 2 Tx de frame 0 en timeout respectivamente. – 3 Tx de frame 1 normalmente – 4 Tx de frame 1 en timeout respectivamente.– 5 Tx de frame 0 – 6, Tx de ACK– 7 Tx de frame 1 – 8 y 9 ocurren cuando un data frame con error de
secuencia llega al Rx. – 10 y 11 representan la llegada en el Rx de el
siguiente frame secuenciado y su entrega a la capa de red.
Tipos de Transmisión• Mejor Intento
– Modo No orientado a Conexión.– Cuando se detecta un error así sea un solo bit, todo el bloque
de datos es descartado. • Transmisión Confiable
– Modo No orientado a Conexión.– Detecta cuando se presentar errores y solicita retransmisión – Un conjunto de reglas o procedimientos de control se deben
adoptar por ambos interlocutores para asegurar la comunicación confiable .
• Control de Errores – Es denominado asi al Ciclo de Deteccion/correccion de errores– Protocolo de Capa de Enlace = Control de Errore + otros
mecanismos de control
Control de Errores
• Control Manual• Ejemplo:Datos introducidos desde teclado
– El programa ejecutandose, lee y almacena el caracter recibido y lo despliega en el display .
– Si el caracter desplegado no es el que nosotros queriamos , simplemente a traves de un caracter especial (Del, Backspace, CTRLH) el programa descarta el caracter previo y lo elimina de la pantalla
Control de Errores(cont’d)
• Echo checking• Conexión de Terminales (ej. A traves de PSTN)
– En vez de que el caracter sea desplegado en pantalla este se envia a la terminal remota .
– Este lee , almacena y lo retransmite de vuelta al terminal transmisor, el cual lo despliega
– Si este caracter no es el deseado, se usa el caracter especial para descartar el caracter previo y reiniciar la transmisión.
Control de Errores(cont’d)
• En contraste cuando una terminal envia bloques de caracteres (frames)a traves de un enlace serial, el programa en la terminal destino debe realizar el procedimiento sin intervencion del usuario. Típicamente este revisa el frame recibido y luego envia un frame pequeño (mensaje de control) ya sea para dar el ACK o pedir una copia del frame, esto es conocido como ARQ (Automatic Repeat Request)
Protocolos de Control de Errores
• Hay dos tipos de técnicas que se pueden ejecutar cuando surge un error: FEC y ARQ. En ambos casos el receptor es el encargado de tomar las decisiones pertinentes.
• Un primer paso común es detectar el error. En general se emplea un código de redundancia cíclica (CRC).
• El aspecto general de una trama es el de la figura, integrada por tres partes : la cabecera (que comprende información de control como los números de secuencia, direcciones origen y destino, tipo de protocolo,...), los datos (que en función del protocolo tendrán una longitud máxima ó mínima, o ambas) y el CRC o equivalente.
• Los protocolos se diferencian precisamente por las decisiones que toman una vez detectado el error: corrección o recuperación.
• Los códigos de detección solamente (ARQ) o de detección y corrección de error (FEC) se denominan, en general, “Códigos de Bloque”. La redundancia se agrega a cada “palabra de datos” (o “palabra mensaje”) y la expresión total [datos + redundancia] se denomina “palabra código” o “palabra codificada”.
• El número de dígitos en cada palabra código es la “longitud de bloque”, y habrá tantas palabras código como palabras mensaje o palabras de datos. Si la palabra mensaje tiene m dígitos y la redundancia agregada es de k dígitos, la longitud de bloque de la palabra código será de n = (m + k) dígitos.
FEC• Para sistemas en que la
información se desplaza en un sólo sentido (enlaces satélite,...). El receptor detecta el error y dependiendo de la clase que sea podrá corregirlo o no. La probabilidad de que haya error es entonces la probabilidad de que no se detecte combinado con el caso en que aún detectándolo no se pueda corregir.
ARQ
• Para sistemas en que la información circula en ambos sentidos. Si el receptor detecta un error solicita al origen que repita la transmisión. La probabilidad de que haya error es igual a la probabilidad de no detectarlo. Existen tres tipos de ARQ basados en : parada y espera, y ventana deslizante (REJ y SREJ). Inconvenientes de ARQ son la necesidad de memoria y una lógica adicional para solicitar los reenvios cuando sea necesario (temporizadores...).
• Para sistemas en que la información circula en ambos sentidos.
• Si el receptor detecta un error solicita al origen que repita la transmisión.
• La probabilidad de que haya error es igual a la probabilidad de no detectarlo.
• Existen tres tipos de ARQ basados en : parada y espera, y ventana deslizante (REJ y SREJ).
• Inconvenientes de ARQ son la necesidad de memoria y una lógica adicional para solicitar los reenvios cuando sea necesario (temporizadores...).
Tipos de ARQ
• Idle RQ (Inactiva)– Se utiliza en esquemas de transmisión de
tipo character-oriented.– Esta siendo reemplazado por “ineficiente”
• Continuous RQ– Se utiliza en esquemas de transmisión de
tipo Bit-oriented• Selective repeat• Go-back-N retransmission
Idle RQ
• Be submitted over a serial data link between a source DTE and a destination DTE
• Implicit retransmission– Secondary S acknowledges only correctly
received frames and Primary P interprets the absence of an acknowledgement as an indication that the previous frame was corrupted
Idle RQ (cont’d)
• Explicit retransmission– When S detects that a frame has been
corrupted, it returns a negative acknowledgement to request that another copy of the frame is transmitted
Idle RQ (cont’d)
• Implicit retransmission
Idle RQ (cont’d)
• Explicit Request
Idle RQ (cont’d)
• N(S)– Send sequence number– The sequence number
carried in each I-frame
• N(R)– Receive sequence
number– The sequence number in
each ACK and NAK frame
ARQ: PARADA Y ESPERA. INACTIVA
• Parada-y-espera de ARQ está basada en la técnica de control de flujo de parada-y-espera. La estación fuente transmite una única trama y espera el ACK; ninguna otra trama puede ser transmitida hasta que no llegue la contestación de la estación destino.
• Es la más simple de las técnicas. Los pasos que llevarían a cabo las dos máquinas en diálogo serían:
• 1. El transmisor envía una trama al receptor. 2. El receptor la recoge, y devuelve otra trama de aceptación (ACK). 3. Cuando el transmisor recibe esta trama sabe que puede realizar un nuevo envío.... 4. Si pasado un cierto tiempo predeterminado no ha llegado acuse de recibo, el emisor retransmite la trama.
• Dos tipos de errores característicos pueden ocurrir.– Primeramente la trama que llega al destino es defectuosa
o se ha perdido; el receptor detecta esta situación con las técnicas de detección de errores vistas antes y simplemente descarta la trama. Por su parte, para prevenir esta situación la fuente está preparada con un timer.
– El segundo tipo de error consiste en que sea la trama de respuesta, ACK, la que se pierde. Como consecuencia la fuente no recibe el acuse de recibo y retransmite la misma trama que ya había sido recibida; para solucionarlo, y que el receptor reconozca cuando dos tramas similares se han enviado consecutivamente, las tramas cuentan en su cabecera con un bit que a modo de número de secuencia alterna el valor 0 con el 1.
Link Utilization
RQ Continua
• La utilización del link se mejora a costa de mayores requerimientos de buffer storage.
• Cuando ocurre un error– Rechazo simple– Repetición Selectiva
• S selects and requests the retransmission of just those frames in the sequence that are corrupted
– Go-back-N• S detects the receipt of an out-of-sequence I-
frame and requests P to retransmit all outstanding unacknowledged I-frames from the last correctly received, and hence acknowledged, I-frame
RQ Continua
RECHAZO SIMPLE. • Es la técnica más comúnmente usada en el control de errores
con ventana deslizante.• La fuente envia tramas consecutivamnete hasta un número
fijado por el tamaño de la ventana, la posición de cada trama en la ventana está determinado por su número de secuencia .
• Mientras que no haya errores el receptor reconocerá las tramas que le llegan (ver RR y RNR).
• Si detecta un error devuelve un ACK negativo (REJ=reject). • La estación receptora descarta no sólo esta trama, sino todas
las siguientes hasta que la primera llegue correctamente. La estación origen, cuando recibe un REJ debe retransmitir la trama errónea y todas las que iban a continuación.
– RR (n) (receptor preparado) Indica a la fuente que ha recibido bien hasta la (n-1), y que espera la n.
– RNR (n) (receptor no preparado) Indica a la fuente que se han recibido bien hasta la trama (n-1) incluida, pero que no siga transmitiendo por el momento.
En que casos se usa?
• Trama dañada o perdida: – Si la detecta el receptor, devuelve un REJ. – Si se pierde se produce una alteración en el número
de secuencia en recepción, y el destino devulve un REJ.
– Si se pierde y era la última el temporizador de la fuente se agota y pregunta por el estado (manda un RR).
• RR dañado o perdido: – Si se recibe un RR posterior no hay problema. – Si no, la fuente pregunta por el estado (RR).
• REJ dañado o perdido: – Se pregunta por el estado.
RECHAZO SELECTIVO.• Con ARQ selectivo las únicas tramas que es necesario
retransmitir son las defectuosads o perdidas, es decir, de las que se recibe un ACK negativo (que en este caso se denomina SREJ).
• Esta técnica, por una parte parece más eficiente puesto que minimiza la utilización del canal.
• Por otro lado el buffer del receptor debe ser lo suficientemente grande como para guardar las tramas posteriores a la incorrecta hasta que ésta sea retransmitida.
• Además, el receptor debe de contar con la lógica suficiente para reinsertar la trama en su posición adecuada una vez retransmitida.
• El transmisor también requiere una lógica más compleja para ser capaz de selecionar una trama de la secuencia.
• Por estas razones, ARQ selectivo es mucho menos usado que el ARQ de rechazo simple.
• Dos Implementaciones–Retransmisión Implicita
• El Rx ACK a los frames recibidos correctamente y el Tx determina de las secuencias de ACK-frames recibidas que un frame se perdio.
–Requerimiento Explicito• Rx retorna un ACK especifico negativo
para un frame que esta ausente en la secuencia.
RECHAZO SELECTIVO.
• Además de incrementarse la complejidad, el tamaño de la ventana se ve considerablemente reducido.
• Volvamos al ejemplo del número de secuencia de tres bits, y asumamos que el tamaño de la ventana es 7. Consideremos el siguiente caso:
• 1. A transmite las tramas de la 0 a la 6 a B. 2. B las recibe y devuleve un RR(7) por todas ellas. 3. RR(7) se pierde. 4. A retransmite todas las tramas. 5. B, que esperaba las tramas 7, 0, 1, 2, 3, 4 y 5, considera que la 7 se ha perdido y acepta el resto como nuevas.
Go-back-N
–Cuando el Rx detecta que existe un frame fuera de secuencia, informa al Tx que reinicie la retransmision desde un número específico.
Parada y Espera
Rechazo Selectivo con Envio Continuo
Rechazo Simple con Envio Continuo
Eficiencias Respecto a la tramap: probabilidad de que un sólo bit sea erróneo, también se denomina tasa binaria de error. Peb: probabilidad de error de bloque, es decir, de que una trama llegue con al menos un error. Pneb: probabilidad de que una trama llegue sin ningún error. Siendo n el número de bits en una trama, y asumiendo que la probabilidad de error de bit, p, es constante e independiente para cada bit : Pneb = (1-p)^n y Peb = 1- (1-p)^n
Peb=10-3
• http://www.eas.asu.edu/trace/eee459_sp02/applet/archana/gupta5463.html : Selective Repeat Protocol
• http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/go-back-n/go-back-n.html : Go Back N
Tema 4 Fundamentos de ProtocolosParte 2
I03/5/2007
Técnicas de Control de Flujo.• Cuando una trama llega a una máquina conectada a algún tipo de
red, antes de pasar la información a niveles superiores, la capa de enlace realiza una serie de operaciones sobre la trama que ocupan un espacio en la memoria e implican un tiempo, función de la máquina, de manera que el proceso de recepción no es instantáneo.
• Esta limitación en el espacio de memoria hace que se presente un serio problema cuando un transmisor sistemáticamente quiere transmitir tramas a mayor velocidad que aquella con que puede recibirlas el receptor. Esta situación puede ocurrir fácilmente cuando el transmisor opera en una computadora rápida (o con baja carga) y el receptor en una máquina lenta (o con sobrecarga). El transmisor puede enviar tramas rápidamente hasta que satura al receptor, que comenzará a desechar aquellas a las que no pueda atender.
Area de Influencia
• Para evitar esta situación se hace necesario llevar un control del flujo en el enlace, manejando la velocidad a la que el emisor envía las tramas para que no sature al receptor. Este control de la velocidad generalmente requiere algún mecanismo de realimentación, para que el transmisor pueda saber si el receptor puede mantener el ritmo o no.
• Un protocolo de nivel de enlace que quiere enviar tramas eficientemente debe de alguna manera ser capaz de recuperar las tramas perdidas o descartadas. Esto se consigue normalmente usando una combinación de dos mecanismos fundamentales: acuses de recibo (acknoledgments) y temporizadores (timeouts). Un acuse de recibo, comunmente referido como ACK, es una pequeña trama de control con que el receptor informa al emisor de que ha recibido la transmisión. Si el emisor no recibe un ACK en un tiempo razonable la retransmite; este tiempo está medido por un temporizador.
1.1.- Parada-y-Espera • Es la más simple de las técnicas. Los pasos que
llevarían a cabo las dos máquinas en diálogo serían:
• 1. El transmisor envía una trama al receptor. 2. El receptor la recoge, y devuelve otra trama de aceptación (ACK). 3. Cuando el transmisor recibe esta trama sabe que puede realizar un nuevo envío.... 4. Si pasado un cierto tiempo predeterminado no ha llegado acuse de recibo, el emisor retransmite la trama.
• Sin embargo, la técnica de parada-y-espera presenta un importante inconveniente. Supongamos que el transmisor envía una trama y el receptor da el acuse de recibo, pero de alguna manera el ACK se pierde o se retrasa en llegar. Esta situación se ha ilustrado en las figuras (c) y (d). En ambos casos el emisor piensa que el tiempo ha expirado y retransmite la trama, pero el receptor ya había recogido una y cree que ésta que le llega ahora es otra diferente. Para solucionar este problema, la cabecera de una trama del protocolo de parada-y-espera incluye un bit a modo de número de secuencia (ver apartado 1.2), que puede tomar los valores 0 y 1; los números de secuencia empleados para tramas consecutivas son alternos , como se ilu
• La principal limitación del algoritmo de parada-y-espera es que el enlace está ocupado por una única trama cada vez, es decir, se está desaprovechando la capacidad del enlace. Consideremos, por ejemplo, un enlace de 1.5Mbps, y un tiempo de propagación de 45ms (round-trip time, RTT). Este enlace tiene un producto de retraso x ancho de banda de 67.5Kb, o aproximadamente 8KB. Como el emisor sólo puede enviar una trama cada 45ms, y asumiendo que el tamaño de la trama e de 1KB, esto implica una tasa de transmisión máxima de 1024 x 8/0.045 = 128Kbps, que es aproximadamente un octavo de la capacidad total del canal. Para hacer un uso más eficiente del canal sería pues deseable el transmitir más tramas antes de recibir acuse de las anteriores.
• PRESTACIONES. Restringiéndonos al caso en que sólo se puede enviar una trama cada vez, encontramos dos posibles situaciones, definidas por el tiempo de transmisión y el tiempo de propagación:
• 1.- Tiempo de Transmisión, Ttx: tiempo que tarda una máquina en pasar una trama al medio desde que sále el primer bit hasta el último. Se define como el cociente entre la longitud de la trama (L) y el régimen binario en el canal (R).
• Ttx = L / R• 2.- Tiempo de Propagación, Tprop: tiempo que tarda una unidad de
información en pasar de un extremo del canal al otro. Se define como el cociente entre la distancia (d) o longitud del enlace, y la velocidad del medio de transmisión (v).
• Tprop = d / v
• 1ª: antes de empezar a ser recibida, la trama ya se ha terminado de transmitir: Ttx < Tprop:
• 2ª: la trama está siendo recibida, y aún no se ha
terminado de transmitir: Ttx > Tprop:
• Claramente se observa que el canal se aprovecha más eficientemente en la segunda ocasión. Si se define la eficiencia (U) como el porcentaje de tiempo que el canal está ocupado durante una transmisión, la eficiencia es mucho mayor cuando Ttx > Tprop:
Para calcular la eficiencia suponemos que un terminal quiere transmitir un mensaje que divide en n tramas; esto supone que el tiempo de transmisión del mensaje sea: Ttxm = n
x Ttrama, donde Ttrama el el tiempo de transmisión y propagación de una sóla de las tramas (y su ACK correspondiente), y que Ttotal = n x Ttrama. Todos estos tiempos
están representados en el siguiente diagrama en el caso en que n=3:
El esquema anterior se reduce a
• * Si Ttx < Tprop : a>1 U pequeña (menor del 33%) parada-y-espera resulta muy ineficiente* Si Ttx > Tprop a<1 U más elevada (mayor del 33%) parada-y-espera resulta menos ineficiente
• Por último, la eficiencia permite calcular la tasa binaria real con que se están transmitiendo y recibiendo datos por un enlace. Un canal puede ofrecer una capacidad determinada, pero quizá el protocolo no permita alcanzar esa cifra. Se define la capacidad eficaz como la tasa binaria conque los bits se desplazan por la línea:
1.2.- Ventana Deslizante • En este algoritmo el témino ventana de transmisión se refiere a
un buffer en el cual se almacenan copias de las tramas enviadas, en espera de recibir el ACK correspondiente; si no llegan en el tiempo previsto, se realiza una nueva copia y se retransmite la trama. El número de secuencia de transmisión, N(S), es la posición que ocupa la trama enviada en el buffer. El número de secuencia viaja en la cabecera de la trama, dentro del campo de control.
• Por ventana de recepción se entiende el buffer donde se almacenan las tramas que llegan a una máquina por alguno de sus enlaces. En este buffer esperan a ser procesadas, y a que se devuelva el acuse de recibo correspondiente a cada una de ellas, para que la máquina origen sepan que la transmisión ha llegado sin problemas a su destino. El número de secuencia de recepción, N(R), es la posición que ocupa la trama recibida en el buffer de recepción.
• En el campo de control de la trama habrá n bits que expresarán el número de secuencia. El tamaño máximo de la ventana debe cumplir que :
• W= 2n-1
• Por ejemplo, para W=4, n>2
igura se ilustra el mecanismo del algoritmo para una ventana de tamaño 4:
• El algoritmo de ventana deslizante es como sigue: primero el emisor asigna un número de secuencia a cada trama. El emisor controla tres variables:
• 1. El tamaño de la ventana de transmisión (TVT): que será finito. Representa el número máximo de tramas que el emisor puede enviar sin recibir ACK de la primera de ellas.
• 2. El número de secuencia del último ACK recibido (UAR).
• 3. El número de secuencia de la última trama enviada (UTE).
• El transmisor debe respetar la siguente inecuación: UTE - UAR < TVT , o como mucho igual. Esta situación se ilustra en la figura:
• Por su parte el receptor mantiene otras tres variables:
• 1. El tamaño de la ventana de recepción (TVR): que indica el máximo número de tramas que el receptor puede aceptar.2. El número de secuencia de la última trama aceptada (UTA): última trama procesada.3. El número de secuencia de la siguiente trama esperable (STE).
•
• R (n) (receptor preparado) Indica a la fuente que ha recibido bien hasta la (n-1), y que espera la n.RNR (n) (receptor no preparado) Indica a la fuente que se han recibido bien hasta la trama (n-1) incluida, pero que no siga transmitiendo por el momento.
Flow Control
• Flow control– Be concerned with controlling the rate of
transmission of characters or frames on a link so that the receiver always has sufficient buffer storage resources to accept them prior to processing
X-ON/X-OFF
• A character-oriented terminal-to-computer link• X-OFF
– To the controlling device within the terminal, instructing it to cease transmission
– On receipt of the X-OFF character, the terminal either ignores and further characters entered at the keyboard or buffers them in a local buffer until the overload has been cleared
X-ON/X-OFF (cont’d)
• X-ON– When the overload condition decays and the
computer is able to accept further characters, it returns a companion control character X-ON to inform the terminal control device that it may restart sending characters
Sliding window
• Sliding window– It sets a limit on the number of I-frames that P may
send before receiving an ack.– P monitors the # of unacknowledged I-frames
currently held in the retransmission list– If the dest side of the link is unable to pass on the
frames sent to it• S stops returning ack frames• The retransmission list at P builds up and this in turn can be
interpreted as a signal for P to stop transmitting further frames until ack start to flow again
Sliding window (cont’d)
• Send window– the max limit is set on the number of I-frames
that can be awaiting ack– If set to 1, it reverts to idle RQ
• Receive window– the max # of frame buffers required at S
Sliding window (cont’d)
Sequence numbers
• Until now– Be assumed that the sequence # inserted
into each frame by P is imply the previous sequence # plus one and that the range of # available is infinite
– It is possible to limit the range of sequence # required to identify each transmitted frame uniquely
Sequence numbers (cont’d)
Sequence numbers (cont’d)
Protocol specification
Link management
• Link management– Not be concerned
with the actual transfer of user data
• Initialization or link set-up phase
• Link disconnection phase
Parte 3:Protocolos de Control a nivel de
Enlace
Por qué protocolos?• Estos pasos o fases implican procedimientos para
– La elaboración de un formato para el “encapsulamiento” de la información
– La determinación o selección de un enlace dado entre dos estaciones adyacentes
– La petición o demanda para transmisión o recepción de información
– La verificación de que la información recibida no contiene errores– La repetición de una trama de información que ha sido recibida
con errores– El control del flujo de la información– La transmisión transparente de la información– La detección de Tiempo Cumplido (“time-out”)– La finalización de la transmisión– La supervisión, control y sincronización de las estaciones en el
caso de transmisión sincrónica
• Los protocolos empleados en la transmisión de datos dependen (a) de si el control se efectúa mediante caracteres especiales de
control, (b) por conteo de bytes o (c) si se hace dígito por dígito.
• Se distinguen entonces tres categorías de protocolos: – Protocolos de Control por Caracteres (Character-Oriented
Protocol), – Protocolos de Control por Conteo de Octetos o Bytes (Byte-
Count Oriented Protocol) – Protocolos de Control por Dígitos (Bit-Oriented Protocol).
Protocolos de Control por Caracteres
• Se ha desarrollado toda una variedad de protocolos de control por caracteres, pero el más conocido es el Protocolo BSC (Binary Synchronous Communications) desarrollado por la IBM; a este protocolo se le denomina también Protocolo BISYN.
• Este protocolo utiliza ciertos caracteres de control para delimitar los diferentes campos y para el control de sus funciones propias.
• El protocolo BSC es un protocolo sincrónico que opera en HDX y requiere un reconocimiento para cada trama transmitida antes de enviarse la trama siguiente.
• Este protocolo está diseñado para trabajar en punto a punto o en multipunto con una sola estación de control o estación primaria; esta es la denominada operación Maestra-Esclava.
Características Protocolo BSC• Control por Caracteres• Transmisión HDX Sincrónica• Formato del Carácter: ASCII Sincrónico• Velocidades: 300 a 20 kbps• Modo de Respuesta Normal (NRM)• Interfaz de preferencia : RS-232C• Transparencia mediante inserción de caracteres DLE• Los caracteres de control en el protocolo BSC son los
siguientes por orden alfabético: – ACK, DLE, ENQ, EOT, ETB, ETX, NAK, SOH, STX y SYN.
• Estos diez caracteres están definidos en los Códigos ASCII (Fig. 4.1), EBCDIC y en el Transcódigo de 6 Dígitos (Six Bit Transcode).
• ACK (Acknowledge). Reconocimiento positivo. Este carácter es transmitido por una estación cuando la información recibida es correcta o cuando se transmite una respuesta afirmativa.
• DLE (Data Link Escape). Carácter utilizado para la transmisión transparente de la información.
• ENQ (Enquiry). Petición. Carácter utilizado por la estación primaria para solicitar una respuesta desde una estación secundaria.
• EOT (End of Transmission). Fin de transmisión. Este carácter indica la finalización de la transmisión. Generalmente se transmite al final de la última trama de una serie.
• ETB (End of Transmission Block). Fin de la transmisión de un bloque o trama de información. Indica también que hay más tramas para transmitir.
• ETX (End of Text). Fin de texto. Este carácter se coloca al final del campo “Texto” que comenzó con STX.
• NAK (Negative Acknowledge). Reconocimiento negativo. Este carácter es transmitido por una estación para indicar que la información recibida está en error o cuando se transmite una respuesta negativa.
• SOH (Start of Heading). Comienzo de un “membrete” o “encabezado” (“header”) .
• STX (Start of Text). Comienzo de Texto. Este carácter precede al campo “Texto” e indica también la terminación del encabezado o “header”.
• SYN (Synchronous Idle). Carácter de Sincronización. Se transmite series de caracteres SYN y la sincronización se considera completa cuando se detecta por lo menos dos caracteres SYN consecutivos. Los caracteres SYN siempre se transmiten en pares, de modo que si sólo se recibe uno, se ignorará; la probabilidad de que dos caracteres SYN falsos ocurran consecutivamente es remota.
• Para la sincronización de los relojes entre las estaciones transmisora y receptora, al principio de cada trama se transmite secuencias de caracteres SYN y la sincronización se considera completa cuando la estación receptora ha reconocido por lo menos dos caracteres SYN consecutivos.
• El carácter de control SOH indica el comienzo de un encabezado o membrete (“header”) el cual contiene información para iniciar los procedimientos de intercambio. Por ejemplo, direcciones, instrucciones, procesamiento de texto, etc., necesarios para iniciar el intercambio de información; el número de caracteres u octetos del “Header” es variable, depende de la aplicación y tanto el SOH como el “Header” se pueden omitir si no son necesarios en una transmisión dada. Generalmente ellos constituyen la primera trama de toda una serie de un mismo mensaje.
• En el campo Texto va la información que viene de las capas superiores. El número de caracteres en este campo también es variable, pero comúnmente el número es de 256 caracteres.
• El campo BCC (Block Check Character) que puede contener 8, 12 o 16 dígitos se emplea para la verificación de error. En el transmisor se efectúa una operación con un algoritmo de cálculo denominado CRC (que veremos en el Capítulo VII) con los datos desde SOH hasta ETX/ETB. El resultado de esta operación se coloca en el campo BCC y se transmite. En el receptor se efectúa la misma operación y el resultado de esa operación se compara con la cantidad que va en el BCC. Si esas cantidades son iguales, se considera que no hubo error y se responde con un ACK; en caso contrario, se responde con un NAK para solicitar la retransmisión de la trama.
• La desventaja principal del Protocolo BSC es su lentitud pues trabaja en operación semidúplex y cada bloque debe ser reconocido (ACK0 o ACK1) por el receptor antes de proceder a la transmisión del bloque siguiente de una serie. Este es un procedimiento lento cuando se quiere transmitir a grandes velocidades o cuando los retardos de transmisión son grandes, como es el caso de la transmisión por satélites. Para sistemas que trabajan en full dúplex el protocolo BSC no se emplea utilizándose algunos de los protocolos que veremos más adelante.
Protocolos XMODEM y YMODEM
• Protocolo XMODEM• El protocolo XMODEM es un protocolo de transferencia de
archivos (FTP), desarrollado en 1977, que ha sido instrumentado en muchos de los programas de transferencia de archivos en los sistemas BBS (Bulletin Board Service).
• Protocolo YMODEM• El protocolo YMODEM se desarrolló como una extensión del
protocolo XMODEM para incorporar algunas carácterísticas adicionales a fin de mejorar su comportamiento. El formato del Protocolo YMODEM es idéntico al del XMODEM, Fig. 4.18, con la diferencia de que en vez de un carácter de arranque SOH utiliza el carácter STX. Además, el campo INFORMACION contiene 1024 octetos y el BCC se calcula con los códigos CRC.
• En la práctica se consigue otros protocolos de transferencia de archivos, tales como
• el XMODEM-G, el YMODEM-G BATCH, el ZMODEM, el KERMIT, etc. Para más
• información sobre estos protocolos, ver, por ejemplo, [Held, 1994].
Protocolos de Control por Conteo de Octetos
Protocolo DDCMP• La principal desventaja del protocolo BSC es la
complicación que se produce como resultado de los procedimientos especiales utilizados para asegurar la transparencia. Este problema se ha resuelto en el Protocolo DDCMP (Digital Data Communication Message Protocol) desarrollado por la DEC (Digital Equipment Corporation), en el cual mediante el conteo de los caracteres u octetos contenidos en el campo INFORMACION se ha eliminado la utilización de DLE y de otros caracteres de control.
• El Protocolo DDCMP es un protocolo general y puede utilizarse en sistemas HDX y FDX, serie o paralelo, asincrónicos y sincrónicos, punto a punto y multipunto.
• Este protocolo, cuyo formato se muestra en la Fig. 4.19(a), utiliza un Encabezado o “header” que contiene los campos CLASE, CONTEO, BANDERA, RESPUESTA, SECUENCIA, DIRECCION y BCC1.
• Este Encabezado no es opcional como en el caso del protocolo BSC y más bien es la parte más importante de la trama, pues contiene información acerca del número de octetos de información así como las cantidades de
• octetos transmitidos y recibidos, que son las dosc aracterísticas más importantes del protocolo DDCMP;
Resumen de las Características del Protocolo DDCMP
• Características
• Control por Conteo de Octetos
• Transmisión HDX/FDX Sincrónica
• Formato del Carácter: ASCII Sincrónico
• Velocidades: 300 a 100 kbps
• Interfaces: RS-232C, RS-449, V.35
4.2.5. Protocolos de Control por Dígitos
• Los protocolos de control a nivel de enlace más utilizados en la transmisión de datos son los Protocolos de Control por Dígitos (Bit-Oriented Protocols). En estos protocolos la información se puede transmitir en secuencias de dígitos de cualquiera longitud sin necesidad de dividirla en caracteres, pues el control se hace dígito a dígito. Sin embargo, consideraciones de tipo instrumental y tecnológico requieren que la longitud de una secuencia de dígitos sea un múltiplo entero de un carácter, generalmente un octeto.
Entre las ventajas de estos protocolos, tenemos:• Pueden trabajar en HDX y FDX en modo sincrónico.• Son más eficientes pues en el Encabezado solamente se tiene los
campos DIRECCION y CONTROL, normalmente de un octeto cada uno.• En el campo INFORMACION se puede emplear cualquier código,
incluso códigos cifrados.• No se necesita reconocimientos (positivos o negativos) para cada trama
transmitida; solamente después de haber transmitido un cierto número de tramas (típicamente 7) es que se retransmite un ACK y el proceso se repite.
• El control de flujo es más sencillo.• La integridad de los datos se verifica mediante una verificación de los
bloques recibidos mediante un BCC, y mientras no se detecte un error la transmisión continúa. En caso de detectarse errores en la trama, simplemente se pide la retransmisión de la trama en error. En los protocolos de control por dígitos en vez de las siglas BCC se utilizan las siglas FCS (Frame Check Secuence) o “Secuencia de Verificación de Trama”, que utilizaremos de aquí en adelante
• Hay varias clases de protocolos de control por dígitos, pero aquí vamos a describir solamente dos protocolos, el Protocolo SDLC (Synchonous Data Link Control Protocol) y el protocolo HDLC (High-Level Data Link Control Protocol). Estos protocolosproporcionan una base excelente para el estudio de otros protocolos tales como el ANSI ADCCP, el UIT-T LAP/LAPB, el ISDN LAPD, el UNISYS DLC y los protocolos IEEE 802 para el control de redes de área local.
• El formato SDLC, Fig. 4.20(a), contiene los campos
• BANDERA,
• DIRECCION,
• CONTROL,
• INFORMACION,
• FCS y BANDERA.
Protocolo HDLC
• Los mensajes definidos en el campo CONTROL, Fig. 4.21(c) son un subconjunto de los mensajes del protocolo HDLC. Más adelante describiremos otro subconjunto del protocolo HDLC, denominado LAPB, utilizado en la transmisión por paquetes (Recomendación UIT-T X.25).
• Los campos BANDERA, INFORMACION y FCS tienen el mismo significado que en el protocolo SDLC. Sin embargo, en el campo INFORMACION se puede permitir caracteres de cualquiera longitud, pero por razones de instrumentación y compatibilidad generalmente los caracteres tienen ocho dígitos, es decir, son octetos.
• En el campo DIRECCION el protocolo HDLC, además de la dirección específica (un octeto), tiene también la opción de “dirección extendida”. En este caso el campo DIRECCION tendrá n octetos; el primer dígito del primer octeto del campo extendido es un UNO, mientras que los octetos siguientes comienzan con un CERO, excepto el último que comienza con un UNO. Una estación primaria puede controlar entonces hasta 127n estaciones secundarias.
High-Level Data Link Control
Frame format for bit-oriented protocols.
High-Level Data Link Control (2)
Control field of
(a) An information frame.
(b) A supervisory frame.
(c) An unnumbered frame.
Modos de Operación en HDLC• En el protocolo HDLC hay tres modos de operación: el Modo de Respuesta
Normal (Normal Response Mode, NRM), el Modo de Respuesta Asincrónica (Asynchronous Response Mode, ARM) y el Modo Asincrónico Balanceado (Asynchronous Balanced Mode, ABM).
• El modo NRM es el modo mejor adaptado en aplicaciones multipunto con una estación primaria y varias secundarias. En el modo NRM una estación secundaria puede transmitir solamente cuando recibe autorización (poll o select) de la estación primaria. La estación secundaria puede transmitir entonces una secuencia de tramas en una respuesta, pero una vez que ha puesto el dígito F igual a UNO en la última trama, no puede transmitir hasta que no reciba una nueva autorización. Este es el mismo modo NRM del protocolo SDLC.
• En el modo ARM se permite a las estaciones secundarias enviar respuestas no solicitadas. Para transmitir una respuesta, una estación secundaria no necesita haber recibido un comando con el dígito P = 1. Sin embargo, si una secundaria recibe un comando con P = 1, debe responder con una trama con el dígito F = 1 lo más pronto posible.
• El modo ABM es el modo de operación entre dos estaciones de igual rango en enlaces punto a punto. Cualquiera de las dos estaciones puede iniciar un intercambio sin esperar una autorización
Resumen de las Características del Protocolo HDLC
Características• Control por Dígitos• Transmisión Sincrónica HDX/FDX• Formatos de Carácter: ASCII, EBCDIC• Modos de Operación: NRM, ARM y ABM ( Comunicación Par a
Par)• Velocidades de Transmisión: desde 300 bps hasta 10 Mbps• Interfaces: RS-232C, V.35, RS-423A, RS-422A, RS-449• Medios de Transmisión: par trenzado, radio, cable coaxial, fibra
óptica• Transparencia mediante inserción de ceros para evitar que
aparezca el caracter de syn• Nota: entre trama y trama se puede enviar banderas o caracteres
de relleno de la forma• 1 1 1 1 1 1 1 1.
The Data Link Layer in the Internet
A home personal computer acting as an internet host.
PPP – Point to Point Protocol
The PPP full frame format for unnumbered mode operation.
PPP – Point to Point Protocol (2)
A simplified phase diagram for bring a line up and down.
PPP – Point to Point Protocol (3)
The LCP frame types.