Você está na página 1de 33

LD 1

Controlo da Ligao de Dados


FEUP/DEEC/RCD 2002/03
JAR/MPR

LD 2

Camada de Ligao de Dados

LD 3

Ligao de Dados - Conceito e Objectivos


Uma ligao fsica caracteriza-se por suportar uma transmisso no fivel de sinais que representam sequncias de bits O processo de transmisso no requer nem confere qualquer organizao aos dados trocados na ligao, nem permite gerir e controlar a troca de dados A comunicao de dados entre sistemas exige funes adicionais
estruturar e delimitar sequncias de bits em unidades de comunicao (caracteres, blocos) gerir e controlar a troca de dados (quando transmitir, identificar quem transmite / recebe) detectar e eventualmente corrigir (recuperar) erros de transmisso regular o fluxo de dados entre emissor e receptor

A execuo destas funes (e possivelmente outras) requer um Protocolo de Ligao de Dados (ou de Ligao Lgica) Uma Ligao de Dados consiste numa associao lgica entre entidades que utilizam uma ligao fsica no fivel para trocar dados de forma estruturada, fivel e controlada

LD 4

Organizao dos Dados - Caracteres

A unidade de comunicao (estrutura) mais elementar presente ainda hoje em muitos sistemas de comunicao o caracter
Nesses casos so usados cdigos (e.g. ASCII) que para alm da representao de dados alfa-numricos incluem caracteres que suportam funes associadas ao processo de comunicao e organizao dos dados

A forma mais elementar de comunicao consiste no envio de caracteres, de forma independente, competindo ao receptor o seu agrupamento para posterior interpretao
Designa-se por Transmisso Assncrona a tcnica de transmisso correspondente

LD 5

Organizao dos Dados - Tramas

Uma forma mais organizada e estruturada de comunicar consiste em agrupar caracteres em blocos (designados por tramas) e transmiti-los contiguamente de forma a constiturem uma unidade de comunicao
Esta tcnica designa-se por Transmisso Sncrona e os Protocolos de Ligao de Dados dizem-se neste caso orientados ao caracter

Uma forma mais eficiente e flexvel de comunicao organiza os dados em tramas constitudas por diversos campos com funes especficas, garantindo-se independncia relativamente a cdigos
Baseia-se em Transmisso Sncrona e os Protocolos de Ligao de Dados dizem-se neste caso orientados ao bit

LD 6

Funes Protocolares
Um protocolo de Ligao de Dados deve suportar as seguintes funes
Sincronismo de trama
Delimitao de incio e fim de uma trama

Gesto da ligao
Estabelecimento, manuteno e terminao da ligao de dados, e controlo da comunicao

Endereamento
Identificao de entidades fsicas e lgicas que partilham a ligao fsica, permitindo em particular a multiplexagem de dados e informao de controlo

Controlo de erros
Deteco e eventualmente recuperao de erros (tipicamente por retransmisso)

Controlo de fluxo
Regulao do dbito de dados do emissor

Transparncia
Transferncia de dados independente de cdigos

Recuperao de erros de protocolo


Reposio do contexto da comunicao, que pode ser perdido devido a erros de protocolo

LD 7

Transmisso Sncrona e Assncrona

Quer em Transmisso Assncrona quer Sncrona um objectivo bsico consiste em garantir sincronismo ao nvel do bit, entre emissor e receptor, permitindo assim ao receptor recuperar a sequncia de bits transmitidos O receptor deve utilizar um sinal de relgio sincronizado em frequncia e fase com os dados transmitidos; o grau de preciso do relgio depende da tcnica de transmisso utilizada, sendo crtico em Transmisso Sncrona igualmente requerida sincronizao a nvel de caracter (nos casos em que os dados estejam organizados em caracteres) e a nvel de trama (no caso da Transmisso Sncrona)

LD 8

Transmisso Assncrona

A designao Transmisso Assncrona traduz dois factos relacionados


a ocorrncia irregular (assncrona) dos caracteres enviados de forma independente a inexistncia de uma referncia temporal comum ao emissor e ao receptor, isto , o relgio do receptor independente do do emissor (embora deva ter a mesma frequncia nominal)

O sincronismo de bit realiza-se com base no sincronismo de caracter


Caracteres so enviados um a um com intervalos variveis entre si Na ausncia de transmisso (idle) o nvel de sinal mantm-se constante (1 lgico) Cada caracter precedido de um bit (Start bit) com o valor lgico 0 A transio 1 0 produzida pelo Start bit indica o incio do caracter (sincronismo de caracter) e fornece a referncia de fase para o relgio do receptor Os bits subsequentes so recuperados por amostragem a partir do Start bit O caracter seguido de Stop bits (valor lgico 1) para permitir distinguir o prximo Start bit, mesmo que no haja intervalo idle entre caracteres

LD 9

Transmisso Assncrona

O mtodo no requer elevada preciso na frequncia de relgio do receptor


Basta garantir o sincronismo de bit durante um caracter, pois o processo de sincronizao recomea com o incio do caracter seguinte Para garantir o sincronismo de bit durante um caracter necessrio que o relgio do receptor esteja sincronizado em fase com o Start bit, o que no fcil de garantir dado o facto de o relgio ser gerado independentemente dos dados O problema da sincronizao de fase pode ser minimizado usando um relgio com uma frequncia mltipla da frequncia nominal (e.g., 8 ou 16 vezes)

Caracterizao
Simples e econmico Ineficiente
Start e Stop bits introduzem um overhead de 2 a 3 bits por caracter (5 a 8 bits de informao) Transmisso idle entre caracteres impede a partilha da linha por vrios terminais

A preciso do mtodo no adequada para transmisso de blocos de dados (tramas) com nmero elevado de bits O mtodo apenas aceitvel para transmisso a baixa velocidade e a pequena distncia (devido reduzida imunidade ao rudo e elevada susceptibilidade a erros de amostragem)

LD 10

Transmisso Assncrona

LD 11

Transmisso Sncrona
A Transmisso Sncrona exige uma elevada preciso (em frequncia e fase) do relgio do receptor relativamente aos dados, pois utilizada em transmisso de unidades de dados de comprimento varivel (tramas) que podem ser constitudas por um nmero muito elevado de bits
O relgio usado pelo receptor pode ser enviado numa linha separada, o que para alm de consumir recursos est sujeito aos mesmos problemas do sinal (rudo, distoro de amplitude e de fase); justifica-se apenas para transmisso a pequenas distncias Mais usualmente o relgio do receptor extrado do prprio sinal codificado ou a partir de uma portadora enviada com o sinal

Para se realizar sincronismo de trama so usadas sequncias de bits com padres conhecidos para delimitao de incio e fim de trama; so adoptados mtodos diferentes de organizar e delimitar tramas em protocolos orientados ao caracter e ao bit
Exemplo: delimitao com flags em protocolos orientados ao bit

A Transmisso Sncrona mais eficiente e flexvel que a Transmisso Assncrona podendo ser usada a muito alta velocidade e a grande distncia

LD 12

Mecanismos de Controlo

Os mecanismos de Controlo de Erros e de Fluxo suportados em Protocolos de Ligao de Dados so normalmente usados em conjunto com um mecanismo de Confirmao de Tramas Estes trs mecanismos baseiam-se na utilizao de tramas de controlo (ou de superviso) distintas das tramas de dados (ou de informao) Dada a relao entre estes mecanismos, as tramas de controlo podem realizar simultaneamente vrias funes

LD 13

Controlo de Fluxo

Em protocolos de Ligao de Dados o Controlo de Fluxo realizado por meio de tramas de controlo que:
concedem ao emissor um crdito que pode ser explcito (valor especificado na trama) ou implcito (valor fixo conhecido), isto , permitem-lhe transmitir um determinado nmero de tramas de dados (relativamente a uma trama de referncia) sem necessidade de novas autorizaes; o mais usual o crdito ser implcito podem solicitar que o emissor suspenda temporariamente o envio de tramas de dados; normalmente usado como complemento do crdito implcito, visto que com crdito explcito pode ser indicado um crdito nulo, se necessrio

LD 14

Controlo de Erros

Os mecanismos de Controlo de Erros tm por objectivo garantir a integridade da comunicao, isto , assegurar a retransmisso de tramas de dados no correctamente recebidas
As tramas so protegidas por um cdigo detector de erros A estratgia bsica consiste em realizar confirmaes positivas de tramas de dados correctamente recebidas, por meio de tramas de controlo, genericamente designadas por ACK (Acknowledgement); a omisso de ACK aps um intervalo de tempo pr-definido (time-out) interpretada como indcio de que uma trama de dados ainda no confirmada pode no ter sido correctamente recebida e que portanto pode ter de ser retransmitida possvel ainda usar tramas que realizam confirmao negativa (NAK), sinalizando explicitamente a necessidade de retransmisso O emissor mantm cpia de cada trama de dados transmitida, para eventual retransmisso; a recepo de confirmao permite-lhe descartar as tramas sinalizadas pelo receptor como correctamente recebidas

LD 15

Necessidade de Numerao de Tramas

No caso ideal de no ocorrerem erros nem ser necessrio controlar o fluxo do emissor, este poderia enviar tramas a qualquer momento sem quaisquer restries e sem necessidade de as identificar O mecanismo de Controlo de Erros necessita que sejam identificadas as tramas de dados correctamente recebidas (e que assim so confirmadas) e as no recebidas ou recebidas com erros (e que portanto requerem retransmisso) O mecanismo de Controlo de Fluxo exige tambm um processo de referenciar tramas de dados para efeito da concesso de crdito Os protocolos de Ligao de Dados devem providenciar um mecanismo de identificao (numerao) de tramas de dados
o nmero de sequncia N(s) de uma trama de dados deve ser transportado no respectivo cabealho tramas de controlo devem referenciar tramas de dados transmitidas em sentido oposto, por meio de um nmero de sequncia N(r) no seu cabealho

LD 16

Mtodo de Numerao de Tramas

Com o objectivo de reduzir o overhead, procura-se limitar o nmero de bits usados para numerar as tramas de dados
usando k bits para o efeito possvel dispor de M = 2K identificadores diferentes (0, 1, ., M-1) - numerao mdulo M

Os identificadores tm de ser reutilizados, visto que sendo em nmero finito se repetem ciclicamente
No possvel que tramas de dados diferentes, transmitidas e ainda no confirmadas (pendentes), tenham o mesmo nmero de sequncia O nmero mximo de tramas de dados pendentes depende do mdulo de numerao e da estratgia de retransmisso

A existncia de um limite superior ao nmero de tramas de dados pendentes constitui uma restrio ao envio de tramas e portanto uma forma indirecta de Controlo de Fluxo

LD 17

Modelo e Parmetros de Comunicao

As tramas so recebidas na mesma ordem com que so enviadas


tramas de dados recebidas fora de sequncia indicam ocorrncia de perda(s) R data rate (bit/s)

Tempo de transmisso
Tempo de envio de todos os bits da trama para o meio Tf = L/R

Tempo de propagao
Tempo que um bit demora a propagar-se no meio entre o emissor e o receptor Tp = d/V

Tcnicas a analisar
Stop and Wait Janela deslizante (Sliding Window)

LD 18

Stop and Wait

Comecemos por analisar um caso simples em que o emissor apenas pode transmitir uma nova trama de dados aps ter recebido confirmao positiva (ACK) de recepo correcta da trama de dados anteriormente transmitida Este mecanismo designa-se por Stop and Wait
Aparentemente no seria necessrio numerar as tramas de dados (pois no mximo apenas uma poder estar pendente) A numerao de tramas de dados necessria devido ocorrncia de erros; em certos casos a retransmisso de tramas de dados pode dar origem a duplicados que s podem ser detectados e eliminados se as tramas forem numeradas (neste caso bastaria numerao mdulo 2 - isto , os nmeros de sequncia usados so 0 e 1) O Stop and Wait em primeiro lugar um mecanismo muito elementar de confirmao de tramas de dados, mas que pode impor srias restries transmisso continuada de tramas

LD 19

Stop and Wait e Controlo de Fluxo

O Stop and Wait constitui um mecanismo de Controlo de Fluxo, pois ACK apenas autoriza o emissor a transmitir uma nova trama de dados (concede um crdito implcito de uma unidade)
o emissor suspende a transmisso at receber ACK ACK concede crdito para transmitir uma nova trama de dados

O processo de comunicao introduz um atraso inevitvel entre o envio de uma trama de dados e a recepo do ACK respectivo; o receptor pode introduzir deliberadamente um atraso adicional, retardando (ou at cancelando) o envio de ACK
no primeiro caso o Controlo de Fluxo indirecto e certamente indesejvel no segundo caso o Controlo de Fluxo intencional, mas um atraso excessivo no envio de ACK pode ser confundido com ausncia de confirmao (time-out) e despoletar uma retransmisso desnecessria, pelo que este mecanismo deve ser usado com prudncia

LD 20

Stop and Wait

Funcionamento bsico sem erros


O Emissor transmite uma trama de dados e fica espera de receber ACK antes de poder enviar a trama de dados seguinte O Receptor recebe a trama de dados e responde com confirmao positiva (ACK) O Receptor pode travar o fluxo no enviando ou atrasando ACK

A eficincia pode ser aceitvel com tramas grandes e transmisso a baixa velocidade e a pequena distncia O sistema de comunicao pode requerer fragmentao em tramas pequenas
Vantagens
Aconselhvel se existirem limitaes de buffers no receptor Os erros so detectados mais rapidamente Se ocorrerem erros a quantidade de dados a retransmitir menor Evita que uma estao ocupe o meio por longos perodos (pode ser importante se o meio for partilhado por vrias ligaes)

A eficincia do Stop and Wait pode diminuir drasticamente se o tamanho das tramas for muito pequeno, o que agravado com transmisso a alta velocidade e a grande distncia

LD 21

Stop and Wait

LD 22

Utilizao (Eficincia) do Stop and Wait


WAN ATM
d = 1000 km L = 424 bit, R = 155.52 Mbit/s Tf = 2.7 s Fibra ptica 5 s/km Tp = 5 ms a = 1852 U = 1 / 3705 = 0.0003 d = 0.1 ~ 10 km L = 1000 bit, R = 10 Mbit/s Tf = 100 s Cabo coaxial 4 s/km Tp = 0.4 ~ 40 s a = 0.004 ~ 0.4 U = 0.55 ~ 0.99 (e se R = 100 Mbit/s?)

Tp =
R data rate (bit/s)

d V

Tf =

L R

a=

Tp Tf

d R V L

LAN

Tp Tf Tp

Modem sobre linha telefnica


d = 1000 m L = 1000 bit, R = 28.8 kbit/s Tf = 34.7 ms UTP 5 s/km Tp = 5 s a = 144*10-6 U = 1.0

U=

Tf Tp + T f + Tp

1 1 + 2a

LD 23

Sliding Window

Podemos generalizar o mecanismo de confirmao e permitir que o emissor transmita vrias tramas de dados antes de receber qualquer confirmao (ou autorizao). Estes protocolos designam-se por Janela Deslizante (Sliding Window)
As tramas de dados tm de ser numeradas para ser possvel ao mecanismo de confirmao referenciar tramas correcta e incorrectamente recebidas So possveis diferentes estratgias de retransmisso no caso de erros O nmero mximo de tramas de dados que o emissor pode ter pendentes designa-se por Janela de Transmisso O tamanho mximo possvel da Janela de Transmisso est relacionado com o mdulo de numerao de tramas e com a estratgia de retransmisso O mecanismo Stop and Wait pode ser visto como um caso particular de Sliding Window com janela unitria

LD 24

Sliding Window e Controlo de Fluxo


O Sliding Window constitui uma forma de Controlo de Fluxo por limitar o nmero de tramas que o emissor pode ter pendentes Permite ultrapassar as limitaes de desempenho do Stop and Wait (devidas ao controlo de fluxo implcito). Na ausncia de erros o objectivo ser atingir uma utilizao de 100% (caso o trfego de dados seja persistente); nesta situao o emissor no chega a interromper a transmisso por falta de crditos (janela esgotada), no havendo portanto de facto Controlo de Fluxo Normalmente no existem nos protocolos de Ligao de Dados mecanismos de indicao explcita de crdito varivel; a realizao de Controlo de Fluxo pode ento requerer o envio de uma trama de controlo para suspender a transmisso e mais tarde de outra para reactivar a transmisso e o mecanismo de janela; este mtodo designa-se por Stop and Go

LD 25

Janela Deslizante (Sliding Window)

Funcionamento bsico sem erros


O Emissor pode ter mltiplas tramas de dados pendentes (transmitidas e no confirmadas) O Receptor dispe de buffers para W tramas de dados (tamanho da janela) O Emissor pode enviar at W tramas de dados sem receber ACK As tramas de dados so numeradas sequencialmente (mdulo M = 2k), sendo k o nmero de bits usados para codificar os M nmeros de sequncia Por conveno ACK referencia por meio de N(r) o nmero de sequncia N(s) da prxima trama de dados esperada na sequncia correcta

LD 26

Janela Deslizante (Sliding Window)

Extenses ao funcionamento bsico


Utilizao de piggybacking com fluxo de dados bidireccional
Se o receptor tambm tiver dados para transmitir, pode evitar o envio de ACK realizando a confirmao nas tramas de dados em sentido oposto Se o receptor no tiver dados para transmitir, usa ACK para realizar a confirmao Se o receptor tiver dados para transmitir mas no tiver dados para confirmar, referencia o nmero da prxima trama de dados que espera receber

LD 27

Controlo de Fluxo Stop and Go

O receptor pode pretender confirmar tramas de dados e proibir novas transmisses - Stop and Go
necessrio uma trama de controlo para suspender temporariamente a transmisso (designada habitualmente por Receiver Not Ready - RNR) A reactivao da transmisso ser feita recorrendo a uma trama de controlo que ser Receiver Ready - RR, caso o receptor no tenha entretanto descartado qualquer trama de dados (no caso de descarte, proceder como se tivesse ocorrido perda de trama(s) de dados) RR e RNR realizam igualmente a funo de confirmao (ACK); alis, em condies normais, RR a trama de controlo usada para realizar confirmaes

LD 28

Janela Deslizante (Sliding Window)

LD 29

Exemplo de funcionamento de Sliding Window

LD 30

Utilizao (Eficincia) da Janela Deslizante

Se W 1+2a

U=1

Se W < 1+2a

U = W/(1+2a)

LD 31

Janela Deslizante U = f (a, W)

LD 32

Deteco de Erros
Cdigos

detectores de erros baseiam-se na adio de bits de controlo no final da trama (e ao nvel de caracter, se aplicvel) Paridade
Valor do bit de paridade tal que o nmero de 1s seja
Par paridade par mpar paridade mpar

Erro no detectado se o nmero de bits errados for par


Cyclic

Redundancy Check (CRC)

Para um bloco de k bits gera n bits de controlo Transmite k+n bits divisveis por um nmero (polinmio gerador do cdigo) Receptor divide a trama por esse nmero
Se resto = 0, assume que no h erro

Cdigos mais usados


CRC-16, CRC-CCITT CRC-32

LD 33

Controlo de Erros
Objectivo: deteco e correco de erros (por meio de retransmisso) Numa Ligao de Dados as tramas so recebidas pela mesma ordem com que so enviadas, mas podem estar sujeitas a erros
Tramas perdidas (interrupo do meio, corrupo severa de tramas durante a transmisso, overflow nos buffers do receptor, controlo de fluxo Stop and Go, etc.) Tramas com estrutura intacta (reconhecida) mas afectadas por erros de transmisso

Tcnica usada

Automatic Repeat Request (ARQ)

Baseada em confirmaes positivas e negativas Tramas de dados no aceites pelo receptor so descartadas e tero de ser retransmitidas Recuperao de erros e perdas
Iniciada pelo emissor aps time-out (ausncia de confirmao positiva - ACK) Iniciada pelo receptor mediante envio de confirmao negativa (NAK); no estritamente necessrio, mas vantajoso

Verses ARQ mais usadas


Stop and Wait ARQ Go-back-N ARQ / Continuous Reject ARQ (retransmisso contnua) Selective Reject ARQ (retransmisso selectiva)

LD 34

Variveis de Estado e Numerao de Tramas


Para facilitar a operao dos protocolos ARQ, cada estao deve manter duas variveis de estado, com o objectivo de reter o valor corrente dos nmeros de sequncia N(s) e N(r)
V(s) - nmero de sequncia da prxima trama de dados a ser transmitida pelo emissor V(r) - nmero de sequncia da prxima trama de dados esperada pelo receptor

O valor das variveis de estado colocado a 0 aps o estabelecimento da ligao de dados A actualizao das variveis de estado deve ser feita de modo que
O campo N(s) possa ser preenchido com o valor corrente de V(s) O campo N(r) possa ser preenchido com o valor corrente de V(r)

LD 35

Stop and Wait ARQ

Baseado no Stop and Wait


O emissor transmite uma nica trama e espera at receber ACK (ou time-out)

Erros possveis
Trama de dados com erros
O Receptor elimina a trama (e no envia ACK) O Emissor retransmite a trama depois de time-out Em protocolos orientados ao caracter a recepo duma trama com erros pode ser sinalizada com NAK, o que desencadeia a retransmisso

ACK com erros (ou com atraso excessivo)


O Emissor no recebe ACK O Emissor retransmite a trama depois de time-out O Receptor recebe dados em duplicado O Receptor s pode detectar e eliminar duplicados se as tramas de dados forem numeradas mdulo 2
Receptor elimina duplicado e envia ACK ACK0 e ACK1 usados em alternncia

Simples mas ineficiente

LD 36

Utilizao do Stop and Wait ARQ


P - probabilidade de transmisso de uma trama com erros Prob [k] Probabilidade de serem necessrias k tentativas para transmitir uma trama

Prob [k ] = P k 1 (1 P )
Nr nmero mdio de tentativas para transmitir uma trama com sucesso
N r = k * Prob [k ] =
k =1 +

1 1 P

Utilizao do Stop and Wait ARQ


U= Tf tempo _ util 1 1 P = = = tempo _ total N r (T f + 2 * T p ) N r (1 + 2a ) 1 + 2a

LD 37

Go-Back-N ARQ

Baseado em Sliding Window O emissor transmite tramas de dados numeradas sequencialmente, dentro da janela O receptor apenas aceita tramas de dados na sequncia esperada Tramas de dados aceites pelo receptor so confirmadas com Receiver Ready ou por piggybacking (ou excepcionalmente com Receiver Not Ready no caso de estar a realizar controlo de fluxo Stop and Go) Vrias tramas de dados podem ser confirmadas em bloco Tamanho mximo da Janela

W = 2k 1

LD 38

Go-Back-N ARQ

Em protocolos orientados ao bit tramas de dados com erro so simplesmente descartadas pelo receptor; apenas as tramas de dados subsequentes recebidas fora da sequncia esperada desencadeiam aces de recuperao O Receptor
Envia confirmao negativa (Reject - REJ) aps recepo da primeira trama recebida fora de sequncia; REJ (re)confirma tramas anteriores correctamente recebidas Elimina todas as restantes tramas de dados fora de sequncia at receber a trama de dados em falta, mas no repete o envio de REJ (apenas pode existir um REJ pendente)

O Emissor volta atrs na sequncia de transmisso (Go-Back-N)


Retransmite a trama de dados indicada em REJ e (re)transmite as tramas de dados subsequentes

Em protocolos orientados ao caracter o receptor pode enviar REJ (NAK) se uma trama de dados com erros for recebida na sequncia correcta e tiver estrutura reconhecida (no consideramos este caso na anlise) Os procedimentos de recuperao dependem do tipo de trama afectada pelo(s) erro(s) (dados, RR, REJ)

Go-Back-N ARQ Transmisso de Tramas de Dados

LD 39

Quando o emissor tiver uma trama de dados pronta a transmitir e no existirem condies restritivas, adopta os seguintes procedimentos
Coloca o valor corrente de V(s) no campo N(s) da trama Incrementa (mdulo M) o valor de V(s), apontando assim para a prxima trama de dados a transmitir Activa um temporizador (se inactivo)

O emissor suspende a transmisso de tramas de dados se ocorrer uma das seguintes condies
Nmero de tramas de dados pendentes igual ao tamanho da janela Recepo de RNR (pode eventualmente admitir-se o envio apenas da trama referenciada por N(r)) Ocorrncia de time-out (inicia processo especial de recuperao)

Go-Back-N ARQ Time-out

LD 40

A ocorrncia de time-out pode dever-se a


Perda da ltima trama de dados de uma sequncia (impede o envio de REJ) Perda da confirmao (RR) da ltima trama de dados de uma sequncia
A perda de uma confirmao RR no ter consequncias se ocorrer numa trama de dados intermdia e entretanto forem geradas novas confirmaes para tramas de dados subsequentes, antes que ocorra time-out

Perda da trama REJ enviada aps o receptor detectar a perda de uma trama de dados (impossvel envio de outro REJ) Perda da trama de dados retransmitida aps recepo de REJ (impossvel envio de outro REJ)

Recuperao aps time-out


O emissor envia uma trama de controlo (RR) como comando, forando o receptor a responder (indicando assim o seu estado)
O emissor poderia em alternativa retransmitir a trama de dados no confirmada, o que poderia originar um duplicado e tornar o processo de recuperao complexo

A trama de resposta indica em N(r) qual a trama de dados a partir da qual o emissor deve (re)transmitir

Go-Back-N ARQ Recepo de Tramas de Controlo

LD 41

O emissor de tramas de dados analisa o valor N(r) recebido em tramas de controlo (ou em tramas de dados no caso de piggyback); se representar uma confirmao efectiva de tramas de dados pendentes suspende o temporizador e reactiva-o se subsistir(em) trama(s) de dados no confirmada(s) Se a trama recebida for
RR - a transmisso de tramas de dados pode continuar ou recomear, caso estivesse suspensa (e.g., RNR anteriormente recebido ou janela esgotada) RNR - deve suspender-se o envio de tramas de dados (podendo eventualmente transmitir-se a trama de dados referenciada por N(r), para evitar deadlocks resultantes duma eventual perda do RR ou REJ subsequente; a alternativa seria activar um temporizador aps a recepo de RNR) REJ - deve(m) retransmitir-se a(s) trama(s) de dados a partir da referenciada por N(r), comeando por fazer-se V(s) = N(r) (Go-Back-N)

A recepo de uma trama de controlo em resposta ao comando accionado na sequncia de time-out termina a situao de excepo e permite retomar os procedimentos normais

Go-Back-N ARQ Recepo de Tramas de Dados

LD 42

Em Go-Back-N o receptor apenas aceita tramas de dados em sequncia, pelo que deve comparar o valor do campo N(s) com V(r) No caso de a estao no estar a realizar controlo de fluxo
Se N(s) = V(r)
Aceita a trama (eliminando uma eventual condio de rejeio estabelecida por REJ anterior) Incrementa (mdulo M) o valor de V(r), apontando assim para a prxima trama de dados que espera receber Na primeira oportunidade envia uma confirmao, por meio de RR ou piggyback, colocando o valor corrente de V(r) no campo N(r) da trama respectiva

Se N(s) V(r)
Descarta a trama Envia REJ, com o valor corrente de V(r) no campo N(r), se no houver j REJ pendente

No caso de a estao se encontrar a realizar controlo de fluxo


Envia RNR, se ainda o no fez, confirmando a(s) trama(s) de dados realmente aceite(s) Pode aceitar ou no a trama de dados recebida, mantendo a informao correspondente para posteriormente accionar RR ou REJ, conforme o caso

LD 43

Go-Back-N ARQ - Exemplo

LD 44

Selective Reject ARQ


Baseado em Sliding Window O receptor aceita tramas fora de sequncia


Confirma negativamente com SREJ tramas de dados em falta Confirma positivamente com RR apenas blocos de tramas de dados consecutivas

O emissor apenas retransmite as tramas sinalizadas por SREJ, o que minimiza o nmero de retransmisses
Vantajoso se W muito grande (e.g., satlite)

Requer
No receptor
Buffers maiores Lgica para reinsero de tramas

No emissor
Lgica mais complexa para enviar tramas fora da sequncia natural

Tamanho mximo da Janela

W = 2k1

LD 45

Utilizao de Go-Back-N e Selective Reject ARQ


Go-Back-N ARQ
1 P 1 + 2aP U = W (1 P ) (1 + 2a )(1 P + WP) , W 1 + 2a , W < 1 + 2a

Selective Reject ARQ


1 P U = W (1 P ) 1 + 2a , W 1 + 2a , W < 1 + 2a

LD 46

High Level Data Link Control (HDLC)


HDLC (ISO 33009, ISO 4335) Protocolo orientado ao bit (independente de cdigos) Tipos de estaes
Estao Primria
Controla a operao da ligao (uma ligao por cada estao Secundria) Tramas enviadas designam-se por comandos

Estao Secundria
Controlada pela estao Primria Tramas enviadas designam-se por respostas

Estao Combinada
Combina funes Primrias e Secundrias; pode enviar comandos e respostas

Configuraes da ligao
No balanceada (no equilibrada)
Uma Primria e uma ou mais Secundrias Full-duplex ou half-duplex

Balanceada (equilibrada)
Duas estaes Combinadas Full-duplex ou half-duplex

LD 47

Modos de Transferncia de Dados em HDLC


Normal Response Mode (NRM)
Configurao no balanceada A estao Primria responsvel pelo estabelecimento e gesto da ligao Uma estao Secundria s responde a comandos da estao Primria Usado em configuraes multidrop (e.g., Primrio: Computador, Secundrias: terminais)

Asynchronous Response Mode (ARM)


Configurao no balanceada A estao Primria responsvel pelo estabelecimento e gesto da ligao A estao Secundria pode transmitir sem permisso da estao Primria, aps estabelecida a ligao Raramente usado
Foi proposta na primeira verso de X.25 (LAP) para garantir operao simtrica do terminal e do n de comutao (actualmente sem interesse); requeria uma Estao Primria e uma Estao Secundria em cada sistema e portanto duas ligaes ARM

Asynchronous Balanced Mode (ABM)


Configurao balanceada Qualquer das estaes pode estabelecer a ligao e transmitir sem permisso da outra Usado em X.25 (LAPB), RDIS (LAPD) e Frame Relay (LAPF)

LD 48

Estrutura de Trama HDLC


Em HDLC a transmisso sncrona e organizada em tramas Uma trama HDLC constituda por vrios campos
Os campos tm tamanho fixo ou varivel (existindo mecanismos que permitem estabelecer e reconhecer as fronteiras entre campos) As funes associadas a cada campo dependem da respectiva estrutura e de valores dos bits que o constituem, de acordo com a posio que ocupam no campo

Formato nico para todas as tramas de controlo e dados

LD 49

Trama HDLC - Flag


Tramas HDLC so delimitadas por flags - sequncias 01111110 Uma flag pode terminar uma trama e comear outra Bit stuffing usado para evitar o falso reconhecimento de flags dentro da trama
O Emissor insere um 0 aps uma sequncia de cinco 1s Quando o Receptor detecta cinco 1s consecutivos verifica o 6 e 7 bits
Se 6 bit = 0 elimina bit Se 6 bit = 1 e 7 bit = 0 aceita flag Se 6 bit = 1 e 7 bit = 1 indica que o emissor abortou a transmisso

LD 50

Trama HDLC - Campo de Endereo


Por conveno o endereo identifica a estao secundria que enviou ou vai receber a trama (resposta e comando, respectivamente); um bit no campo (C/R) permite estabelecer a diferena entre comandos e respostas Formato bsico - 8 bits Formato expandido
Mltiplo de 8 bits LSB de cada octeto indica se este o ltimo octeto (1) ou no (0)

Endereo de broadcast - 11111111

LD 51

Trama HDLC - Campo de Controlo


3 tipos de tramas (funes)
Informao (I)
Contm dados de camadas superiores Confirmao de tramas (piggyback)

Superviso (S)
Confirmao de tramas, Controlo de Erro e de Fluxo (RR, RNR, REJ, SREJ)

No numeradas (U)
Controlo da ligao (estabelecimento, reinicializao, terminao)

Nmeros de sequncia
N(S) em tramas I N(R) em tramas I e S

Bit P/F (Poll / Final)


Permite sincronizar um comando com uma resposta (o funcionamento normal do protocolo no garante uma relao um para um entre comandos e respostas) Em comandos, P=1 solicita resposta Em respostas F=1 indica resposta solicitada pelo comando com P=1

LD 52

LD 53

Trama HDLC Campos de Informao e FCS

Campo de Informao
Apenas presente em tramas I e em algumas tramas U Contm um nmero inteiro de octetos Comprimento varivel (valor mximo fixado previamente)

FCS (Frame Check Sequence)


Baseado num cdigo polinomial Normalmente CRC-CCITT (16 bits) Por vezes CRC-32 (32 bits)

LD 54

Exemplos de Funcionamento do HDLC


Trs fases: estabelecimento, transferncia de dados, terminao

LD 55

Exemplos de Funcionamento do HDLC

LD 56

LAPB (X.25) e LAPD (RDIS)

Link Access Procedures, Balanced (LAPB)


Parte do X.25 (ITU-T) Subconjunto do HDLC - ABM Ligao ponto-a-ponto entre sistema e n da rede de comutao de pacotes

Link Access Procedures, D-Channel (LAPD)


RDIS / ISDN (ITU-T) ABM Nmeros de sequncia com 7 bits (numerao estendida) Campo de endereo com 16 bits
Permite multiplexagem de ligaes de dados na interface utilizador-rede, o que requer dois nveis de identificao (SAPI, TEI) para suportar:
Mltiplas entidades em cada sistema (sinalizao, comunicao em modo pacote ou trama, etc.) - Service Access Point Identifier (SAPI) Mltiplos terminais na mesma interface com a rede - Terminal Endpoint Identifier (TEI); cada terminal necessita de ter pelo menos um TEI atribudo

LD 57

LAPF (Frame Relay)

Link Access Procedures for Frame-Mode Bearer Services (LAPF)


Servios de suporte baseados na comutao de tramas transportadas em circuitos virtuais estabelecidos por meio de procedimentos de sinalizao que usam canais lgicos distintos dos usados para transferncia de dados Dois subnveis
DL-core - funes bsicas (apenas campo de endereo) DL-control - confirmao, controlo de erro e controlo de fluxo

ABM Nmeros de sequncia com 7 bits (DL-control) CRC de 16 bits

Campo de endereos com 2, 3 ou 4 octetos


Identificao da Ligao de Dados
Data Link Connection Identifier (DLCI)

Funes diversas
Notificao de congestionamento e indicao para descarte prioritrio de tramas pela rede

LD 58

PPP (Point-to-Point Protocol)


Protocolo de Ligao de Dados usado em ligaes fsicas ponto a ponto na Internet - definido nos RFCs 1661, 1662 e 1663 Caractersticas
Suporta deteco de erros Suporta mltiplos protocolos Permite negociao de endereos IP Permite autenticao

Mecanismos
Delineao de tramas e deteco de erros Protocolo de controlo de ligao (LCP - Link Control Protocol) para estabelecimento, teste e terminao de ligaes e negociao de opes Protocolo de controlo de rede (NCP - Network Control Protocol) especfico de cada protocolo de rede para negociao de opes da camada de Rede

LD 59

Tramas PPP

Formato baseado em HDLC


Nmero inteiro de octetos (character stuffing em vez de bit stuffing) Delineao por flags (com character stuffing se ocorrer uma flag na trama) Campo de Endereo (1 octeto)
11111111 (indica que trama deve ser aceite por qualquer estao)

Campo de Controlo (1 octeto)


valor default 00000011 (trama no numerada) - transmisso no fivel (erros so detectados mas no recuperados por retransmisso) RFC 1663 define um modo de transmisso fivel para usar em meios adversos (wireless)

Campo de Protocolo (1 ou 2 octetos)


Identifica o protocolo transportado no campo de dados (LCP, NCP, IP, etc.)

Campo de dados (tamanho varivel - nmero inteiro de octetos)


Valor mximo negociado; default: 1500 octetos

Campo de verificao de paridade (2 ou 4 octetos)


Tipicamente 2 octetos, podendo ser negociados 4 octetos

LCP permite negociar a omisso dos campos de Endereo e de Controlo

LD 60

LCP - Link Control Protocol

Aps estabelecimento da ligao fsica (por exemplo por dial-up) inicia-se a fase de negociao de opes Se esta fase se completar com sucesso passa-se fase de autenticao - as duas partes verificam as respectivas identidades Na fase seguinte invocado o protocolo NCP apropriado para configurar a camada de Rede (de acordo com o protocolo de Rede acordado na fase de negociao) Completada a fase de configurao, pode dar-se incio troca de dados, de acordo com o protocolo seleccionado (por exemplo IP) Concluda a troca de dados a ligao PPP terminada e a ligao fsica abandonada

LD 61

Logical Link Control (LANs IEEE 802)


Parte da arquitectura das LANs IEEE 802
Controlo da ligao dividido em
Medium Access Control (MAC) Logical Link Control (LLC)

Subcamada MAC
Protocolo de acesso a um meio partilhado Endereamento fsico das estaes Deteco de erros (sem recuperao)

Subcamada LLC
Endereamento lgico permite identificao (multiplexagem) de protocolos de camadas superiores
DSAP - Destination Service Access Point SSAP - Source Service Access Point

Trs tipos de servios


confirmado, com conexo (fivel) - procedimentos semelhantes a HDLC confirmado, sem conexo no confirmado, sem conexo (no fivel) - o mais comum (usado por exemplo com TCP/IP)

LD 62

Protocolos orientados ao caracter


Os protocolos orientados ao caracter utilizam caracteres de controlo de um cdigo (por exemplo o cdigo ASCII) para delimitar os blocos de dados (tramas) e para supervisionar a troca de dados Os protocolos orientados ao caracter apresentam limitaes importantes que os tornam pouco eficientes e mal adaptados para aplicaes interactivas
caracterizam-se por ligao rgida a um cdigo, o que requer verses diferentes para cdigos diferentes, tornando-os pouco flexveis para futuras expanses (difcil modificao) e inerentemente no transparentes (a transparncia consegue-se recorrendo a caracteres de escape, o que aumenta a complexidade) utilizam procedimentos do tipo bidireccional alternado, o que exige um nmero elevado de turnarounds da ligao lgica (em particular para a confirmao individual de tramas de dados) em geral apenas uma funo realizada por cada trama enviada apenas as tramas de dados esto protegidas contra erros a necessidade de distinguir dados e caracteres de controlo cria overheads adicionais

Um exemplo de um protocolo deste tipo o BISYNC (Binary Synchronous)

LD 63

Caracteres de Controlo (ASCII)


SYN SOH STX ETB ETX ENQ ACK NAK Synchronous Idle; caracter de sincronismo de trama Start of Heading; delimitador de incio de cabealho Start of Text; delimitador de incio de texto (dados) End of Transmission Block; delimitador de fim de dados numa trama intermdia de uma mensagem End of Text; delimitador de fim de dados na ltima trama de uma mensagem Enquiry; solicita uma resposta (usado em Polling / Selecting) Acknowledgement; confirmao (positiva) de recepo de trama Negative Acknowledgement; solicita retransmisso em virtude de ter sido recebida uma trama com erro (confirmao negativa) End of Transmission; indica fim de transmisso (terminao da ligao) Data Link Escape; modifica o significado do caracter seguinte
inicia um bloco de dados transparentes numa mensagem termina um bloco intermdio de dados transparentes duma mensagem termina o ltimo bloco de dados transparentes duma mensagem transmisso de DLE num bloco de dados transparentes realiza ACK0 / ACK1

EOT DLE

DLE STX DLE ETB DLE ETX DLE DLE DLE 0 / DLE 1

LD 64

Formatos de Tramas
Exemplos de formatos de tramas de dados e controlo
SYN SYN SOH Cabealho ETB BCC SYN SYN SYN STX Dados ETB/ETX BCC SYN SYN SOH Cabealho STX Dados ETB/ETX BCC SYN SYN DLE STX Dados transparentes DLE ETB/ETX BCC SYN SYN Endereo ENQ SYN SYN ACK SYN SYN NAK SYN SYN EOT

As tramas que contm cabealho e/ou dados so protegidas por um cdigo detector de erros baseado em caracteres de controlo de paridade no fim da trama (BCC - Binary Check Character), do tipo LRC (Longitudinal Redundancy Check) ou CRC (Cyclic Redundancy Check)

LD 65

Polling
P: O Primrio inicia Polling ao Secundrio designado (incio da ligao)
SYN SYN Endereo (Poll) ENQ

S: Se o Secundrio no pretender transmitir, envia


SYN SYN EOT

Se estiver em condies de transmitir, envia dados de acordo com formato apropriado; antes de transmitir a trama de dados seguinte espera confirmao do Primrio P: O Primrio confirma individualmente cada trama recebida
SYN SYN ACK (ou ACK0/ACK1)

S: No final da troca de dados, para devolver controlo ao Primrio (fim da ligao), envia
SYN SYN EOT

P: Pode iniciar Polling (ou Selecting) a outro terminal

LD 66

Selecting
P: O Primrio inicia Selecting ao Secundrio designado (incio da ligao)
SYN SYN Endereo (Select) ENQ

S: Se o Secundrio estiver pronto a receber dados, envia


SYN SYN ACK (ou ACK0)

Se no estiver em condies de receber, envia


SYN SYN NAK

P: No primeiro caso o Primrio inicia a transferncia de dados, esperando uma confirmao do Secundrio antes de enviar uma nova trama No segundo caso o Primrio pode tentar novamente (repetindo o processo um nmero de vezes pr-determinado) ou terminar com
SYN SYN EOT

S: No primeiro caso o Secundrio confirma uma a uma cada trama recebida


SYN SYN ACK (ou ACK0/ACK1)

P: No final da troca de dados, para terminar a ligao envia


SYN SYN EOT

e pode iniciar novo Polling ou Selecting

Você também pode gostar