Кратко
- RFC 913 предложила для простого протокола передачи файлов режимы ASCII, Binary и Continuous. В её примере страница TOPS-20 из 512 слов по 36 бит превращается соответственно в 2560, 2048 и 2304 восьмибитных байта.
- Binary берёт из каждого слова четыре байта, а последние четыре бита оставляет. Continuous передаёт полную цепочку бит через границы слов. Успешная передача подтверждает прибытие выбранной цепочки, но выбор этой цепочки уже изменил состав груза.
На экране написано «готово». Человек открывает полученный файл и только тогда узнаёт, что стоило спросить раньше: какой именно файл отправила программа? В сентябре 1984 года Марк Лоттор описал в RFC 913 Simple File Transfer Protocol, работавший по проекту на TCP-порту 115. Его сокращение SFTP совпадает с названием более позднего средства на основе SSH, но перед нами другая конструкция. Лоттор хотел более полезный сервис, чем TFTP, и более простой, чем FTP, с одним TCP-соединением. Пользователь мог войти, просмотреть каталог и переслать файл. Развилка находилась в команде TYPE.
Документ берёт компьютер TOPS-20. В одном слове его памяти 36 бит; страница диска содержит 512 слов, всего 18 432 бита. Режим ASCII извлекает из слова пять семибитных символов, то есть 35 бит. Последний бит в текстовую отправку не входит. Символы идут в восьмибитных ячейках с нулевым старшим битом, а окончания строк превращаются в CRLF по правилам NETASCII. Из 512 слов выходит 2560 передаваемых байтов. Для текста такие преобразования могут быть смыслом режима. Для побитной копии страницы это другой объект.
Название Binary звучит решительно. Но правила режима берут четыре восьмибитных группы из каждого слова: 32 бита. Биты с 32-го по 35-й в передачу не попадают. Та же страница превращается в 2048 байтов. Были ли оставленные биты ценными, зависит от того, как исходный файл их использовал. RFC не приводит истории о конкретно испорченном файле. Она показывает более неудобную вещь: слово «двоичный» не обещало в этом случае сохранения всех 36 бит исходного слова. Оно обозначало восьмибитные единицы, выбранные для канала.
Continuous обращается с памятью как с длинной лентой без разрыва в конце каждого слова. После четырёх полных байтов остаются четыре бита; они соединяются с первыми четырьмя битами следующего слова. Все 18 432 бита страницы укладываются в 2304 восьмибитных байта. Для машин, у которых длина слова кратна восьми, Binary и Continuous должны работать одинаково. У TOPS-20 выбор иной: взять по четыре байта из каждого слова или сохранить всю цепочку. Получателю ещё предстоит понять, как превратить цепочку обратно в нужный файл, зато транспорт не отрезал хвост каждого слова.
У предложения были понятные команды из четырёх букв с нулевым байтом на конце. По умолчанию выбирался Binary. Сервер мог потребовать имя пользователя, счёт и пароль, затем разрешал просмотр каталога, смену места, переименование, удаление и передачу. Всё могло завершиться без сетевой ошибки: программа послала ровно 2048 байтов, сервер их принял. При этом исходная страница под другим правилом содержала 2304 байта непрерывной битовой последовательности. Дело было не в сломанной линии, а в том, какую часть источника обе программы согласились назвать файлом.
Запись RFC Editor сейчас относит предложение к историческим. Числа 2560, 2048 и 2304 — вычисленные примеры, а не статистика реальных потерь. Они всё равно оставляют полезное сомнение к слову «успех». Одна физическая страница может породить три исправно доставленных потока. Компьютер на другом конце получит именно выбранный поток; четыре бита на слово могут так и не покинуть исходную станцию.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





