Semântica do Nível 2 do X.25

Esta seção descreve, em linhas gerais, os procedimentos dos Nível 2 do X.25. Antes, porém, de entrar nesta descrição, faz-se necessária a introdução de alguns conceitos importantes.

Procedimento de Inicialização do Enlace

Antes de entrar na fase de transferência de informação entre ETD e o ECD, o enlace deve ser logicamente inicializado. Esta inicialização fará com que as variáveis de estado V(S) e V(R), em ambos os lados sejam, inicializadas com o valor zero.

Procedimento para Transferência de Informação

* Envio de Quadros I

Quando um novo quadro I deve ser enviado, o seu campo N(S) é feito igual à variável V(S) e o seu campo N(R) é feito igual à variável V(R) (confirmação de "carona").

Para que o quadro I possa ser transmitido é necessário que o valor de V(S) esteja dentro da janela.

Caso a janela permita, o quadro é transmitido e a variável V(S) é incrementada de 1 módulo 8.

Se o temporizador estiver desligado quando da transmissão do quadro, ele é ligado. É importante salientar que os quadro I não são individualmente temporizados. As seguintes regras definem o comportamento da temporização:

  1. O temporizador é ligado quando um quadro I é transmitido e o temporizador estava desligado.

  2. O temporizador é reinicializado quando alguma confirmação chega e ainda há quadros aguardando confirmação.

* Recepção de Quadros I

Quadros I recebidos com FCS incorreto são descartados. Vamos considerar, pois a recepção de quadros I corretos apenas. Se o quadro I ao chegar encontrar o ECD ou ETD em condição de ocupado ("buffers cheios"), ele terá o seu campo de informação ignorado. No entanto, o seu campo N(R) será considerado para efeito de confirmação de recebimento.

Caso o receptor esteja livre e o quadro I estiver na sequência correta ele é aceito. A variável V(R) é incrementada de 1 módulo 8. Se houver algum quadro I para ser transmitido o valor de V(R) é colocado no campo N(R) deste quadro. Caso contrário é enviado um quadro RR com N(R) = V(R).

Se o quadro recebido estiver fora de sequência, o seu campo de informação é descartado. Deve ser enviado um quadro REJ com N(R) = V(R). Note que o V(R) não é incrementado neste caso. A partir deste ponto, o campo de informação de todos os quadros I será descartado até que chegue o quadro com o número esperado. Os campos N (R) e o bit P não são descartados, no entanto.

* Recepção de Confirmação de Recebimento

A chegada de um quadro I ou S (RR, RNR, ou REJ) confirma o recebimento de todos os quadros I até o de número N(R)-1.

* Recepção de Quadro REJ

Ao receber um quadro REJ o ECD ou o ETD faz a sua variável V(S) igual ao valor do campo N(R) do quadro REJ recebido. Isto fará com que o próximo quadro a ser transmitido tenha como número o primeiro número na sequência de quadros faltando.

* Recepção de um Quadro RNR

Depois de receber um quadro RNR, o ECD ou ETD pode transmitir ou retransmitir o quadro I de número igual ao N(R) recebido no quadro RNR. Se o temporizador se esgotar antes da chegada de um quadro RR ou REJ, o ECD ou ETD deve enviar um comando para o outro lado, com o bit P igual a 1, para saber o estado do seu receptor. Isto pode ser feito através de um quadro RR.

Procedimento para Desconexão de Enlace

Durante a fase de transferência de informação, o ETD pode indicar a desconexão do enlace enviando o quadro não-numerado DISC para o ECD. Ao receber um UA como resposta o ETD entra na fase de enlace desconectado.

Caso a iniciativa de desconectar o enlace seja do ECD ele também envia um quadro DISC que deve ser, porém, temporizado até que a resposta UA seja recebida.

Exercícios

1. O que deve acontecer antes de entrar na fase de transferência de informação?

2. A chegada dos quadros I ou S confirma o recebimento de todos os quadros I até:

3. Qual é o quadro que é enviado para desconexão de Enlace: