"High-level data link control" (HDLC)Professor Adjunto do Departamento de Engenharia Inform�tica do ISEP O HDLC � uma especifica��o do n�vel 2 do MR-OSI com grande utiliza��o e que inclui diversas variantes, utiliza a transmiss�o s�ncrona de tramas, orientada por bit. Existem tr�s tipos de n�s:
Se numa linha multiponto ou ponto a ponto existe um n� prim�rio e um ou mais secund�rios, a liga��o � n�o balanceada. Se numa liga��o ponto a ponto existem dois n�s combinados a liga��o � balanceada. Numa liga��o balanceada qualquer dos n�s combinados pode iniciar uma transmiss�o, este modo de transmiss�o � designado por ABM (�Asynchronous balanced mode�). Numa liga��o n�o balanceada o modo normal de funcionamento � NRM (�Normal Response Mode�), os n�s secund�rios s� podem transmitir quando solicitados pelo n� prim�rio. Existe ainda um terceiro modo, raramente usado, que permite que numa liga��o n�o balanceada os n�s secund�rios tomem a iniciativa de transmitir, trata-se do ARM (�Asynchronous response mode�). Tramas HDLCExiste um �nico formato de trama que � usado tanto para transmiss�o de dados como informa��o de controlo:
Todas as tramas s�o delimitadas por �flags� de sincroniza��o de trama. Estas �flags� s�o constitu�das por 8 bits com o padr�o 01111110. Uma �nica �flag� pode ser usada para assinalar o fim de uma trama e inicio da seguinte. Para evitar que os dados no interior da trama sejam confundidos com a �flag� que assinala o fim da trama utiliza-se o seguinte procedimento conhecido como �bit stuffing�:
O endere�o � usado para identificar o n� secund�rio a que se destina o comando ou o n� secund�rio que emitiu a resposta, numa configura��o ponto-a-ponto n�o � necess�rio, mas existe sempre. Normalmente um endere�o de 7 bits (127 n�s secund�rios) � suficiente, mas � poss�vel usar endere�os com qualquer n�mero de bits m�ltiplo de 7. Para cada octeto, se o oitavo bit � um, significa que n�o existem mais octetos de endere�o, se � zero o endere�o continua. O octeto 11111111 � reservado para �broadcast� permitindo ao n� prim�rio enviar uma trama para todos os secund�rios. O campo de controlo come�a com dois bits que identificam o tipo de trama. Existem tr�s tipos de trama e a parte restante deste campo � diferente para cada um deles. Os tr�s tipos de trama s�o:
O esquema seguinte apresenta a constitui��o do campo de controlo para os v�rios tipos de "trama":
O bits assinalado com P/F (�Poll/Final�) tem diversas fun��es conforme o tipo de trama, e de acordo com o modo de funcionamento da liga��o. Por exemplo numa trama I em modo normal de resposta (NRM), o n� prim�rio coloca este bit a 1 para permitir ao n� secund�rio responder e o n� secund�rio coloca-o a 1 para indicar que se trata da ultima trama da resposta. As tramas I e S podem ter o campo de controlo expandido para 16 bits, isto permite aumentar os n�meros de sequ�ncia de 3 para 7 bits. A comuta��o entre control de 8 ou 16 bits � realizada com fun��es U. O campo de dados s� existe nas tramas I e, em alguns casos, nas tramas U. Cont�m os dados a transmitir ao n� destinat�rio, embora no �standard� n�o exista comprimento m�ximo definido, cada implementa��o particular imp�e limita��es. O FCS de 16 bits corresponde ao CRT-CCITT, no entanto, quando tal se justifica, certas implementa��es podem usar o CRC-32, dando origem a um FCS de 32 bits. Opera��o do HDLCAs transferencias de dados baseiam-se nas tramas-I, cada trama cont�m um n�mero de sequ�ncia de emiss�o, e um n�mero de sequ�ncia de recep��o. O n�mero de sequ�ncia de recep��o funciona como confirma��o de recep��o de tramas anteriormente enviadas em sentido inverso (�piggybackind�). Trata-se do n�mero de sequ�ncia da trama que � esperada a seguir, o tamanho m�ximo da janela pode variar entre 7 e 127. Embora as tramas I possam por si controlar o fluxo e os erros, nem sempre isso � adequado (pode n�o existir uma trama I pronta a enviar, para transportar o ACK), neste caso usam-se tramas S. As tramas S permitem a implementa��o de ARQ em modo �stop & wait�, �go-back-n� ou �selective-repeat�, para este efeito est�o definidos os seguintes comandos:
O n�mero de trama ao qual se aplica o comando � indicado no campo �N� de Sequ�ncia de Recep��o� da trama S. As fun��es proporcionadas pelas tramas U s�o bastante mais extensas e diversificadas:
Os comandos SNRM, SARM e SABM s�o usados para estabelecer a liga��o l�gica, o n� que as recebe responde com UA ou DM conforme aceita ou n�o a liga��o. O comando DISC � usado para quebrar a liga��o l�gica, o n� que o recebe responde com UA.
O protocolo HDLC � repleto de funcionalidade e serviu de base a diversas implementa��o, em algumas delas s�o implementa��es parciais, noutras a maior diferen�a est� na sua designa��o e outras aindas o HDLC apenas serviu de inspira��o:
|