Протокол связи | |
Цель | Протокол передачи файлов |
---|---|
Разработчик(и) | Стив Пантер |
Введение | 1980 ( 1980 ) |
На основе | XMODEM |
Аппаратное обеспечение | Модемы |
Punter — это протокол для передачи файлов, разработанный в 1980-х годах Стивом Пантером . Существуют различные типы Punter, такие как PET Transfer Protocol ( PTP ), C1 и C2 .
Протокол передачи PET ( PTP ), также известный как Punter или Old Punter , был разработан около 1980 года Стивом Пантером для использования с его программным обеспечением PETBBS и BBS64 для систем досок объявлений (BBS). «PET» в названии происходит от компьютера Commodore PET .
По сравнению с другими современными протоколами PTP медленнее, чем YMODEM и ZMODEM , но быстрее и надежнее, чем XMODEM .
Самая ранняя версия Punter поддерживает только 7- битные передачи и использует алгоритм обратной коррекции, включающий две контрольные суммы для отказоустойчивости. Одна из двух контрольных сумм является аддитивной, а другая — булевой по своей природе (выполнение инструкций EOR), что делает алгоритм простым для понимания и эмуляции другими программистами. Наличие двух контрольных сумм — обе из них шириной 16 бит — делает его значительно более точным, чем однобайтовая контрольная сумма, используемая XMODEM , его основным конкурентом в начале 1980-х годов. Независимо от возможности появления ошибок, по сравнению с протоколом YMODEM конца 1980-х годов, который, возможно, лучше, он широко использовался на досках объявлений на базе Commodore PET и Commodore 64 .
Этот раздел, возможно, содержит оригинальные исследования . ( Февраль 2018 ) |
Не вся передача видна пользователю. Наиболее заметной частью передачи является отчет о кодах состояния, таких как ACK, GOO, BAD и SYN для результатов квитирования. Типичная передача может выглядеть как "ACKGOOGOOGOOGOOBADGOOGOOGOOBADGOO", при этом плохие блоки сообщаются пользователю так же часто, как и возникали. Это позволяет пользователям регистрировать частоту ошибок в зависимости от времени и дня недели и определять, в какие часы дня и в какие дни недели телефонные линии были чище. В отличие от современных компьютеров, C64 и C128 могут опрашивать пользовательский порт (куда подключен модем ) с немного разными скоростями передачи и соединения. Например, передача на скорости 1200 бод в воскресенье вечером может фактически привести к меньшему количеству ошибок, чем 2400 бод во вторник днем. Выбирая более медленную скорость передачи, файлы могут фактически передаваться быстрее, поскольку будет меньше повторных отправок.
В 1984 году Стив Пунтер выпустил преемника PTP под названием C1 , или New Punter . C1 был стандартным протоколом для использования на BBS Commodore и редко поддерживался программным обеспечением терминала или BBS для других операционных систем .
Спецификация C1 изобиловала неточностями и двусмысленностями, что затрудняло ее реализацию с нуля. Тем не менее, протокол получил широкое распространение, поскольку Пунтер опубликовал исходный код оригинальной реализации в открытом доступе .
C1 мог передавать блоки размером до 255 байт с рекомендуемым (но не обязательным) минимумом в 40 байт и накладными расходами в 7 байт на блок. Он оптимизирован для передачи файлов, хранящихся на 8-битных компьютерах Commodore , DOS которых обрабатывает исполняемые и последовательные файлы одинаково.
Термин Multi-Punter может относиться к любому из трех или четырех взаимно несовместимых сторонних вариантов C1 , которые допускают пакетную передачу файлов, в отличие от C1 , который был разработан для передачи отдельных файлов.
Один из таких вариантов, C2 , также известный просто как Punter , был разработан около 1985 года компанией Punter. Как и C1 , он оптимизирован для передачи файлов, хранящихся на 8-битных компьютерах Commodore.
Другой вариант был разработан примерно в 1987 году Аланом Питерсом.