Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену Архитектура ЭВМ и ОС.docx
Скачиваний:
18
Добавлен:
15.04.2019
Размер:
5.19 Mб
Скачать

9.2. Протокол xModem-crc

Протокол XModem-CRC представляет собой модификацию протокола XModem, в котором обнаружение ошибок производится с использованием циклического кода. Длина проверочной последовательности составляет 16 бит (CRC-16). Благодаря этому гарантируется обнаружение практически всех одиночных и двойных ошибок, всех нечетных ошибок, всех пакетов ошибок длиной до 16 знаков, а также всех 17-битовых ошибок с вероятностью 0,999969 и более длинных пакетов ошибок с вероятностью 0,999984.

В начале соединения вместо знака NAK приемник передает последовательность знаков "с" (63h). Если передатчик не поддерживает протокол XModem-CRC, он игнорирует эти знаки. Не получив ответа на передачу трех знаков "с", приемник переходит на работу по протоколу XModem и передает знаки NAK.

9.3. Протокол xModem-ik

Протокол XModem-IK представляет собой модификацию протокола XModem-CRC с блоками длиной 1024 байт. Использование блоков длиной 1 Кбайт позволяет снизить задержки при передачи файлов по системам связи с временным уплотнением, с использованием современных модемов и в сетях с коммутацией пакетов, где длина пакета, как правило, равна величине 1024 байт либо кратна ей. Кроме того, по сравнению с обычным протоколом Xmodem, уменьшена относительная доля заголовков в общем объеме передаваемой информации.

Таблица 9.2. Передача файла с помощью протокола XModem-lK

ПЕРЕДАТЧИК

Направление передачи

ПРИЕМНИК

 

*-

<s —kdoom.wad>

<doom wad open x.x minutes > (файл doom.wad открыт в x.x минут)

 

 

 

 

<с>

<STX>01 РЕ<данные[1024]хСНС-16>

-*

 

 

*-

<АСК>

<STX> 02 FD <данные[1024]хСРС-16>

 

 

 

«-

<АСК>

<STX> 03 FC <данные[1000]> <CPMEOF [24]> <CRC-16>

 

 

 

<АСК>

<ЕОТ>

 

 

«—

<АСК>

Передача файла завершена

Для передачи приемнику сообщения об увеличении длины передаваемого блока вместо знака SOH (Olh) в начале блока ставится знак STX (02h). Номер блока, передаваемый во втором и третьем бантах увеличивается на единицу независимо от его длины.

Передатчик не должен изменять длину блока в диапазоне от 128 до 1024 байтами до тех пор, пока не будет принят знак АСК для текущего блока. Игнорирование этого ограничения может привести к необнаружению ошибок.

При использовании блоков по 1024 байт возможно увеличение длины передаваемого файла до значения, кратного 1024. Блоки длиной 1024 байт могут

Таблица 9.3. Передача блоков по 1024 и 128 байтов с помощью протокола XModem-lK применяться при групповой или одиночной передаче файлов. Для сохранения целостности передаваемых данных с протоколом Х Modem-1 К необходимо использовать CRC-16.

ПЕРЕДАТЧИК

Направление передачи

ПРИЕМНИК

 

^

<s—kdoom.wad>

<doom,wad open x.x minutes >

- -»

 

 

 

<с>

<STX> 01 FE <данные[1024]хСРС-16>

-*

 

 

<-

<АСК>

<STX> 02 FD <данные[1024]хСНС-16>

-*

 

 

 

<АСК>

<STX> 03 FC <данные[128]хСПС-16>

 

 

 

 

<АСК>

<STX> 04 FB <данные[100]> <CPMEOF [24]> <CRC-16>

 

 

 

<АСК>

<EOT>

 

 

 

<АСК>

Передача файла завершена

Процесс передачи блоков и управляющих сигналов между передатчиком и приемником при использовании протокола XModem-lK иллюстрируется табл. 9.2 и 9.3.