Escolar Documentos
Profissional Documentos
Cultura Documentos
LD 2
LD 3
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
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
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
LD 7
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
LD 9
Transmisso Assncrona
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
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
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
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
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
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
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
LD 22
Tp =
R data rate (bit/s)
d V
Tf =
L R
a=
Tp Tf
d R V L
LAN
Tp Tf Tp
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
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
LD 26
LD 27
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
LD 29
LD 30
Se W 1+2a
U=1
Se W < 1+2a
U = W/(1+2a)
LD 31
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
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
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
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
LD 34
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
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
LD 36
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
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)
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)
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)
LD 40
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)
A trama de resposta indica em N(r) qual a trama de dados a partir da qual o emissor deve (re)transmitir
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
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
LD 43
LD 44
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
W = 2k1
LD 45
LD 46
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
LD 48
LD 49
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
LD 51
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
LD 52
LD 53
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)
LD 54
LD 55
LD 56
LD 57
Funes diversas
Notificao de congestionamento e indicao para descarte prioritrio de tramas pela rede
LD 58
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
LD 60
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
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
LD 62
LD 63
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
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
LD 66
Selecting
P: O Primrio inicia Selecting ao Secundrio designado (incio da ligao)
SYN SYN Endereo (Select) ENQ
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