Информационных кадров и их потери

При установлении соединения в каждой станции обнуляется счетчик S и R: S – счетчик переданных кадров, R – счетчик принятых кадров. Эти счетчики контролирует протокол УЛК. Протокол УЛК формирует информационный кадр I, в который записывают текущее состояние счетчиков S и R.

 

Станция А   Станция В  
S=0 R=0 окно ответа=3 I00 S=0 R=0 N(s)=r, т.е. 0=0
  S:=1 I10   R:=1
  S:=2 I20     N(s) r, 2 1
  N(r) s, 1 2 s:=N(r) s:=1   I, RR, REJ REJ1

На приемной стороне сравнивается N(s)=r. После проверки d станции В счетчик r инкрементируется. Если счетчик r не совпадает с N(s) принятого кадра, то формируется ответный кадр, в поле N(r) которого записывается текущее состояние счетчика r.

Станция, получившая ответ, проверяет поле N(r). Оно должно совпадать с текущим счетчиком S. После обнаружения несовпадения счетчику S присваивается значение поля N(r) принятого кадра и передача потерянных кадров возобновляется.

Счетчики S и R проверяются каждый раз в приемнике и получателе. Подтверждение посылается на каждый кадр в кадре I, если идет двухсторонний обмен. Подтверждение на окно ответов используется только при одностороннем обмене.

Если приемная станция временно не готова принимать данные из-за нехватки памяти, то она в ответ посылает кадр RNR (см. табл. 7.1 NR). Этим кадром также подтверждается правильность приема предыдущих кадров. Когда станция будет готова, она либо посылает информационный кадр, либо кадр RR. По приему этих кадров передатчик возобновляет передачу. Кадр RNR формируется только по инициативе сетевого уровня.

После передачи данных идет фаза разъединения. Инициатором разъединения обычно является узел, устанавливающий соединение. Для этого по команде «Разъединение.запрос» протокол УЛК формирует ненумерованный кадр DISC, на который должен прийти ответ DM.

В момент передачи возможен экстренный сброс соединения любой станции, который возникает из-за аппаратных сбоев либо из-за серьезных нарушений в ОС. Для этого передается кадр SABME, на которое требуется ответ UA (рис. 7.3, б КН, стр. 11).

При передаче любого кадра, требующего ответа отслеживается тайм-аут повторных передач.

Команда FRMR ("Неприем кадра" - Frame Reject) используется станцией для сообщений об одной из следующих возникших некорректных ситуаций, которые не могут быть исправлены повторной передачей:

· прием несуществующего или неприменяемого в данном протоколе кадра;

· прием кадра, длина которого превышает максимально допустимое значение, определенное для информационных кадров I;

· прием кадров с полем данных, в которых использование этого поля не допускается;

· прием кадра с недействительным значением номера N(r), например подтверждение пришло на еще не переданный кадр.

Резюме. Связь с установлением логического соединения более сложна для реализации, чем связь без установления логического соединения, и, следовательно, является более дорогой. Связь без установления логического соединения используется тогда, когда такие функции, как исправление ошибок и упорядочение передаваемых блоков, выполняются на более высоких уровнях и не нуждаются в дублировании на канальном уровне. Такая связь обычно применяется в сетях, где необходимо решать задачи в режиме реального времени.