A Estrutura dos Quadros

A estrutura geral do quadro é a seguinte:


   8 BITS   8 BITS     8 BITS     N BITS  16BITS 8BITS
   ---------------------------------------------------
   | Flag |Endereço |Controle| Informações| FCS |Flag |
   ---------------------------------------------------
  

No nível 2 do X.25 cada quadro é delimitado no início e no fim por um byte, chamado FLAG, cujo valor é 01111110.

O frame possui um mecanismo chamado de Transparência de Transmissão que evita que o receptor interprete erroneamente um fim de quadro, desta forma proporcionando que uma transmissão possa enviar qualquer sequência de bits igual ao FLAG.

A Transparência de Transmissão opera da seguinte forma: o transmissor insere automaticamente um zero após cada cinco 1 consecutivos transmitidos e o receptor deleta um zero após cada cinco 1 consecutivos recebidos, reconstituindo assim o texto originalmente transmitido.

A função de controle de erro exercida pelo N2 do X.25 compreende as seguintes atividades:

Os dois últimos bytes que antecedem o FLAG final de cada quadro são usados para detectar erros na recepção do quadro. Este campo, recebe o nome de FCS (Frame Cheking Sequence). Contém um código polinomial. Os 16 bits do campo FCS são calculados pelo transmissor com uma função do conteúdo do quadro a ser transmitido. O receptor do quadro recalcula estes 16 bits usando a mesma função e compara com o valor do campo FCS no quadro recebido. Se os dois resultarem iguais, o receptor assume que, com uma probabilidade altíssima, o quadro foi recebido corretamente e uma confirmação positiva é enviada ao transmissor. Caso contrário, ele assume que o quadro recebido difere daquele transmitido e descarta o quadro errado. Caso uma confirmação de recebimento para um determinado quadro não chegue dentro de um determinado tempo (temporização), o transmissor inicia a retransmissão a partir do primeiro quadro não confirmado .

Um protocolo de linha deve fazer com que a linha seja utilizada a maior parte do tempo. Porém, a taxa de transmissão deve ser compatível com o número de "buffers" no receptor e com a taxa com a qual estes "buffers" são consumidos pelo nível 3 do X.25 no receptor. Portanto, o controle de fluxo torna-se necessário no N2 do X.25. Este controle é implementado através do mecanismo da janela e de procedimentos que permitem ao receptor parar o fluxo do transmissor até segunda ordem.

A função do N2 do X.25 é entregar ao nível 3 os quadros recebidos na sequência em que foram transmitidos. Considere que o quadro Q1 foi recebido corretamente enquanto que o quadro Q2 foi recebido com erro e descartado. Se o quadro Q3 chegar antes que o Q2 seja retransmitido e chegue corretamente, ele estará fora de sequência e será rejeitado.

Sintaxe do Nível 2 do X.25

Existem vários tipos de quadro que são usados no Nível 2 do X.25, bem como o significado dos seus campos. Existem três tipos de quadros: Informação (I), Supervisor (S) e Não-Numerado (U).

O campo de endereço só pode assumir dois valores: `00000001'B ou '000000ll'B. O seu significado será explicado mais adiante.

O campo do controle identifica o tipo de quadro (I, S, ou U) além de conter outras informações.

                            
                                    
   -------------------------------------------------------
   |Tipo de quadro|  1  |  2    3   4  |  5  |  6  7  8  |
   --------------------------------- ---------------------
   |       I      |  0  |    N(S)      | P/F |   N(R)    |
   -------------------------------------------------------
   |       S      |  1  |  0 |  S   S  | P/F |   N(R)    |
   -------------------------------------------------------
   |       U      |  1  |  1 |  M   M  | P/F |  M  M  M  |
   -------------------------------------------------------
               Campo de Controle dos Quadros

O bit 1 sendo igual a zero indica que se trata de um quadro I. O bit 2 diferencia quadros S de quadros U. Os bits 2, 3 e 4 dos quadros I são usados para numerá-los. Logo, a numeração destes quadros é módulo 8, isto é, varia de zero a 7 e volta a zero novamente. Os bits 6, 7 e 8 tanto dos quadros I quanto dos quadros S são usados para confirmação de recebimento. Ou seja, a recepção de um quadro com N(R)= k indica que o lado que enviou este quadro já recebeu todos os quadros até o de número k-1 e o próximo que espera receber é o quadro de número k. Desta forma vários quadros podem ser reconhecidos de uma só vez. O bit P/F ("Poll/Final") será explicado mais adiante.

Quadros de Supervisão

Os bits 3 e 4 dos quadros S indicam os diferentes quadros do tipo supervisor do N2 do X.25.

 ---------------------------------------------------------------------
  Nome do    | Bits 3 e 4 do    |  Significado na Recepção
  Quadro     |campo de controle |
 ---------------------------------------------------------------------
  RR(Receive |                  |Ja' foram recebidos todos os quadros
  Ready)     |      00          |ate' o de número N(R)-1 e o receptor
             |                  |esta'  pronto para receber o N(R)
 ---------------------------------------------------------------------
  RNR(Receive|                  |Ja' foram recebidos todos os quadros
  Not Ready) |      10          |ate' o de número N(R)-1 e o receptor
             |                  |não esta'apto a receber mais nenhum 
 ---------------------------------------------------------------------
             |                  |Ja' foram recebidos todos os quadros
  REJ(Reject |      01          |ate' o de número N(R)-1 e o receptor
             |                  |deve retransmitir todos os quadros 
             |                  |a partir N(R).   
 ---------------------------------------------------------------------
                     Quadros de Supervisão

O quadro RR é usado para confirmar o recebimento de quadros I quando não há nenhum quadro I para ser transmitido em sentido contrário que possa levar a confirmação de "carona" no seu campo N(R).

O quadro RNR tem a função de controlar o fluxo, ordenando ao transmissor que ele pare de transmitir momentaneamente, devido a problemas de falta de "buffers" no recepetor. Quando a condição que ocasionou o envio do quadro RNR cessar, um quadro RR deve ser enviado, indicando que o receptor está pronto a receber a partir do quadro de número N(R).

O quadro REJ serve para indicar que houve uma falha na sequência de numeração e que devem ser retransmitidos todos os quadros a partir do primeiro quadro cujo número está faltando na sequência. Por exemplo, se o receptor recebe os quadros 1, 2 e 4 nesta ordem ele deve enviar um quadro REJ N(R) = 3. Isto provocará a retransmissão dos quadros 3 e 4. Logo, os quadros que chegam fora de ordem são descartados, o que simplifica o gerenciamento de "buffers".

Quadros Não-Numerados

Os quadros não-numerados são usados para inicializar o enlace ou desconectá-lo de modo normal ou anormal (devido a uma falha irrecuperável). Estes procedimentos serão explicados mais adiante quando então ficarão claras as funções dos quadros U.

   ---------------------------------------------------------------
    Nome do quadro          Bits            Fun&cedel;ão
                       3  4  6  7  8   
   ---------------------------------------------------------------
    SABM(Set                            Usado para inicializar
    Asynchronous       1  1  1  0  0    logicamente o enlace
    Balanced Mode
   ----------------------------------------------------------------
    DISC                                Usado para suspender a
    (Disconnect)       0  0  0  1  0    operação do enlace
   ----------------------------------------------------------------
    UA                                  Usado para confirmar o 
    (Unnumbered        0  0  1  1  0    recebimento de quadros
    Acknowledgemen)                     U
   ----------------------------------------------------------------
    FRMR                                Usado para indicar uma 
    (Frame             1  0  0  0  1    condição de erro
     Reject)                            irrecuperável
   ----------------------------------------------------------------
    DM                                  Usado para indicar ao outro 
    (Disconnected      1  1  0  0  0    lado que o enlace esta'
     Mode Response)                     logicamente desconectado
   ----------------------------------------------------------------
                  Quadros não numerados

Os bits 3, 4,6,7 e 8 dos quadros não-numerados especificam o tipo dos quadros U.

Exercícios

1. Qual é a função da Transparência de Transmissão?

2. Quando é enviado os quadros Q1, Q2 e Q4 o que acontece:

3. Quais são os quadros de Supervisão: