Protocolo HDLC, LADP e Transmissão de dados
Protocolo HDLC
High-level Data Link Control
Protocolo síncrono, orientado ao bit, de caractere geral para canais full-duplex (ponto-a-ponto ou multiponto) muito usado atualmente
A "Família" HDCL
LAP
LAPB
(X. 25)
LAPM
(V.42)
LLC
(LANs)
LAPD
(ISDN)
SDLC
(SNA)
LAPX
(Teletex)
HDLC
Protocolo HDCL
• Primário
– Entidade do protocolo que tem autonomia para iniciar sequências de comunicação, enviando tramas
• Secundário
– Entidade do protocolo sem autonomia para iniciar sequências de comunicação. Apenas responde às tramas que lhe enviam
– Comandos
• Tramas enviadas pelo Primário
– Respostas
• Tramas enviadas pelo Secundário
Configurações da rede
Unbalanced; point to point (NRM, ARM)
Unbalanced; multipoint (NRM)
Balanced; point to point (ABM)
Modos de operação
– NRM - Normal Response Mode (ex.: SDLC)
• Configurações não balanceadas
• Ponto a Ponto ou Multi-Ponto
• Sec. só transmitem quando têm permissão do Prim.
– ABM - Asynchronous Balanced Mode (ex.: LAPB)
• Configurações balanceadas
• Ponto a Ponto
• Sec. pode transmitir sem permissão do Prim.
– ARM - Asynchronous Response Mode (ex.: LAP)
• Configurações não balanceadas
• Ponto a Ponto
• Sec. pode transmitir sem permissão do Prim.
Formato das tramas
Flag - 01111110
FCS - 16 bit CRC - CCITT x16 + x12 + x5 + 1
Frame Delimiting - Data transparency
–Start e End Flag
–Zero bit insertion
Criação de uma trama
Formato das tramas
Formato do campo endereço do HDLC
Bit menos significativo indica se o endereço se estende pelo byte seguinte ou não.
xxxxxxx1
...
xxxxxxx0
xxxxxxx0
xxxxxxx1
xxxxxxx0
xxxxxxx1
Formato das tramas
Campo de controlo normal
Campo P/F – Poll/Final Bit
• Poll/Final Bit (P/F)
– Nos comandos é o Poll Bit
– Nas respostas é o Final Bit
• O Primário envia um comando com o Poll bit activo para pedir ao Secundário que lhe mande uma trama de resposta
• O Secundário responde enviando uma trama de status com o Final bit activo
– NRM
• O Primário envia um comando com o Poll bit activo para ver se o Secundário quer enviar informação
• O Secundário responde enviando as suas tramas de dados e na última põe o Final bit activo
• Só pode haver uma trama P/F=1 a circular, de cada vez
Formato das tramas
Campo de controlo estendido
Tipo de tramas
• Campo “controlo”
– Information
– Supervisory
– Unnumbered
Estabelecimento e libertação de ligação
NRM – Normal Response Mode
Estabelecimento e libertação de ligação
ABM – Asynchronous Balanced Mode
Transferência de dados
NRM, Go-back-N, retransmissão implícita (ACK = RR)
Transferência de dados
NRM, Go-back-N, retransmissão explicita (NACK = REJ)
Transferência de dados
ABM, Go-back-N, Piggyback ACK
Transferência de dados
Controlo de fluxo (ABM, Sliding Window)
Interface (serviços)
Estabelecer a ligação
Transferir dados
Cancelar a ligação
Protocolo HDLC
Interface
Modos de HDLC e extensões
Outros comandos/respostas não numerados
• UI - forma de implementar modo connection-less (modo não confirmado); não
usa N(S) e N(R); (Ex.: LLC).
• TEST - usada para solicitar resposta do secundário com objectivo de
diagnosticar a ligação; não especificada a sua utilização.
• UP - inquirir o secundário se tem dados para transmitir.
• RESET - usada para recuperação.
• RIM - pedido de um secundário para que o primário se reinicialize; após o seu
envio este secundário só responde a: SIM, DISC, TEST, ou XID.
Timers e parâmetros
• T1 - Iniciado após primário enviar trama com poll bit =1.
• T2 - Tempo que resta desde a recepção de um comando até enviar um
acknowledgement forçosamente.
• T3 - Quando expira deve informar o utilizador do nível de rede que ocorreu
um tempo de inactividade demasiado longo no canal.
• N2 - Número máximo de vezes que uma trama pode ser retransmitida (se
excedido canal é dado como fora de serviço).
• K - Número máximo de tramas que a estação pode armazenar (retidas por
falta de confirmação) – Janela.
Considerações sobre a ligação
• São transmitidas flags entre tramas para manter a ligação activa
(se ponto-a-ponto).
• 7 a 15 sequencias de ‘1’ => sinal de abort.
• >15 sequencias de ‘1’ => canal idle (LAPB).
• >8,9,10,11 sequências de ‘1’ => canal idle (LAPD).
LAPD - Link Access Procedure on the D-channel
A definição do LAPD leva em consideração os seguintes princípios:
O LAPD é um protocolo que opera na camada de enlace de dados (camada 2) da arquitetura OSI.
A proposta do LAPD é transportar informações entre entidades da camada 3 através da interface de rede ISDN, usando o canal D.
O LAPD inclui funções para :
A transferência de informações pode ser feita através de conexões de enlace de dados ponto-a-ponto ou através de conexões "broadcast".
No caso de conexão ponto-a-ponto o frame é direcionado para um simples nodo, enquanto na conexão "broadcast" o frame é direcionado para um ou mais nodos.
Dois tipos de operações da camada de enlace de dados são definidos para transferência de informação para a camada 3: com reconhecimento e sem reconhecimento.
Todas as trocas da camada de enlace de dados são feitas em frames que obedecem um dos seguintes formatos:
Todos os frames começam e terminam com um seqüência de flag que consiste num bit 0 (zero) seguido de seis bits 1 (um) e de um bit 0 (zero).
O flag que precede o campo de endereçamento é definido como flag de abertura. O flag seguinte ao campo FCS (Frame Check Sequence) é definido como flag de fechamento.
O flag de fechamento também pode servir como flag de abertura para o próximo frame, em algumas aplicações.
O campo de endereçamento consiste em dois octetos. Este campo identifica o provavél receptor para um frame de comando e o provável transmissor para um frame de resposta.
O campo de controle consiste em um ou dois octetos, dependendo do tipo de frame. Este campo identifica o tipo do frame que poderá ser tanto um comando como uma resposta.
São definidos três tipos de formatos para este campo:
Este campo, quando presente, é seguido do campo de controle e precedido pelo campo FCS (Frame Check Sequence). O campo de informação consiste num número inteiro de octetos.
Uma entidade de transmissão da camada de enlace de dados examina o conteúdo do frame entre o flag de abertura e encerramento (campos de endereçamento, controle, informação e FCS) e insere um bit 0 (zero) depois de todas as seqüências de cinco bits 1 (um) seguidos. Isto é feito para assegurar que um flag ou uma seqüência abortada não está simulada dentro do frame.
Uma entidade de recepção da camada de enlace de dados examina o conteúdo do frame entre o flag de abertura e encerramento e descarta qualquer bit 0(zero) que esteja após cinco bits 1 (um) seguidos.
Este campo é uma seqüência de 16 bits gerados a partir de cálculos envolvendo polinômios e o número de bits do frame.