Страница: 25/29
При использовании ARQ типов GBN и SR непрерывная передача неподтвержденных блоков данных может привести к перегрузке буферов как приемника, так и передатчика. Что бы этого не происходило используется управление потоком передаваемых данных.
Перед непосредственной передачей файла необходимо установить соединение на уровне канала данных (уровень 2 модели OSI), передать информацию о имени файла, его размере, дате последней его модификации и т.п., а после передачи — произвести разъединение канала данных. Все это осуществляется при помощи вспомогательной служебной информации, передаваемой по каналу связи.
В последние годы в функции протоколов передачи файлов включают защиту соединения, например проверку пароля.
Среди протоколов, рассчитанных на отсутствие аппаратной защиты от ошибок можно выделить широко распространенные протоколы XModem, XModem-CRC, XModem-1К, YModem, Kermit, ZModem и ряд других.
Если же применяются модемы с аппаратной коррекцией ошибок (поддерживающие протоколы типа MNP или V.42), то предпочтительнее использовать протоколы передачи файлов типа YModem-g и ZModem. В этом случае исключается потеря времени на повторный запрос данных, переданных с ошибками. Протокол Zmodem допускает оба варианта применения.
Известны специализированные протоколы, предназначенные для определенных служб и сетей, — такие как SEALink, Telnet, CompuServe Quick В. Практически все они являются модификациями протокола XModem.
Рассмотрим подробнее наиболее распространенные протоколы передачи файлов.
6.1 Протокол XModem
Протокол XModem, разработанный Бардом Христенсеном, благодаря широкому использованию в справочных службах и введению в недорогие связные программы для PC стал фактическим стандартом для связи между персональными компьютерами.
6.2. Протокол XModem-CRC
Протокол XModem-CRC представляет собой модификацию протокола XModem, в котором обнаружение ошибок производится с использованием циклического кода. Длина проверочной последовательности составляет 16 бит (CRC-16). Благодаря этому гарантируется обнаружение практически всех одиночных и двойных ошибок, всех нечетных ошибок, всех пакетов ошибок длиной до 16 знаков, а также всех 17-битовых ошибок с вероятностью 0,999969 и более длинных пакетов ошибок с вероятностью 0,999984.
В начале соединения вместо знака NAK приемник передает последовательность знаков "с" (63h). Если передатчик не поддерживает протокол XModem-CRC, он игнорирует эти знаки. Не получив ответа на передачу трех знаков "с", приемник переходит на работу по протоколу XModem и передает знаки NAK.
6.3. Протокол XModem-IK
Протокол XModem-IK представляет собой модификацию протокола XModem-CRC с блоками длиной 1024 байт. Использование блоков длиной 1 Кбайт позволяет снизить задержки при передачи файлов по системам связи с временным уплотнением, с использованием современных модемов и в сетях с коммутацией пакетов, где длина пакета, как правило, равна величине 1024 байт либо кратна ей. Кроме того, по сравнению с обычным протоколом Xmodem, уменьшена относительная доля заголовков в общем объеме передаваемой информации.
6.4. Протокол YModem
Протокол YModem представляет собой протокол XModem-CRC, в котором реализована групповая передача кадров. Все программы, реализующие протокол YModem, должны выполнять следующие функции:
Ø передавать информацию о имени и пути файла в блоке 0 в виде строки знаков ASCII, завершающейся знаком NUL (0h);
Ø использовать эту информацию на приемной стороне в качестве имени и пути принятого файла, если иная реализация не оговорена специально;
Ø применять проверку CRC-16 при приеме знаков "с", в противном случае использовать 8-битовую контрольную сумму;
Ø принимать любую комбинацию из 128- и 1024-байтных блоков внутри каждого принимаемого файла;
Ø обеспечивать возможность переключения длины блоков в конце передачи файла (файлов) и (или) в случае частых повторных передач;
Ø передающая программа не должна изменять длину неподтвержденного блока;
Ø передавать в конце каждого файла знаки EOF до десяти раз, пока не будет принят знак АСК;
Ø обозначать конец сеанса связи нулевым (пустым) именем пути.
Коммуникационные программы, в которых не реализованы все перечисленные функции, не совместимы с протоколом YModem. Выполнение этих минимальных требований, однако, не гарантирует надежной передачи файлов в условиях сильных помех.
6.5. Протокол YModem-g
В настоящее время разработаны методы, обеспечивающие передачу данных с очень высокими скоростями и малой вероятностью ошибок. Эти методы реализованы в высокоскоростных модемах и некоторых коммуникационных программах. Применение этих методов позволяет достичь скорости передачи, близкой к теоретически возможной.
Вариант g протокола YModem обеспечивает высокую эффективность передачи данных. Он используется приемником, который инициирует групповую передачу путем посылки знака "g" вместо "с". Передатчик, распознавший этот знак, прекращает ожидание обычных подтверждений по каждому переданному блоку и передает последовательные блоки на полной скорости с использованием метода управления потоком, такого как XON/XOFF.
Реферат опубликован: 31/07/2007