<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Binkp</id>
	<title>Binkp - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Binkp"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Binkp&amp;action=history"/>
	<updated>2026-07-16T14:45:50Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=Binkp&amp;diff=11378&amp;oldid=prev</id>
		<title>imported&gt;Alex NB OT: замена имён и значений устаревшего неподдерживаемого InternetArchiveBot формата параметров доступности ссылок (1), замена устаревших имён параметров (2)</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Binkp&amp;diff=11378&amp;oldid=prev"/>
		<updated>2025-07-16T10:12:01Z</updated>

		<summary type="html">&lt;p&gt;замена имён и значений устаревшего неподдерживаемого InternetArchiveBot формата параметров доступности ссылок (1), замена устаревших имён параметров (2)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Карточка протокола&lt;br /&gt;
|Аббр = binkp&lt;br /&gt;
|Уровень = Прикладной&lt;br /&gt;
|Семейство = TCP/IP&lt;br /&gt;
|Создан = [[1996]]&lt;br /&gt;
|Порт = 24554/[[TCP]]&lt;br /&gt;
|Назначение = Передача файлов в [[FTN]]-сетях&lt;br /&gt;
|Спецификация = [http://ftsc.org/docs/fts-1026.001 FTS-1026]&lt;br /&gt;
|Клиенты = [[binkd]], argus, bforce&lt;br /&gt;
|Расширяемость = Доп. команды и опции&lt;br /&gt;
|Основные расширения = [[шифрование]], [[сжатие данных]], nodupe mode, [[MD5]]-[[аутентификация]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Binkp&amp;#039;&amp;#039;&amp;#039; — [[сетевой протокол]] [[прикладной уровень|прикладного уровня]], разработанный для передачи [[файл]]ов в [[Фидонет]]е или в других [[FTN]]-сетях, происходящей поверх [[TCP]]-соединения. Как правило, для связи по данному протоколу используют TCP-[[Порт (TCP/UDP)|порт]] 24554, так как этот номер зарезервирован под binkp в каталоге [[IANA]] (&amp;#039;&amp;#039;Internet Assigned Numbers Authority&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Существуют две версии протокола binkp: оригинальная (1.0) и дополненная (1.1). Кроме того, разработано несколько расширений протокола. Протокол и бо́льшая часть его расширений оформлены стандартами и предложениями [[FTSC]].&lt;br /&gt;
&lt;br /&gt;
Уровень разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Пример: [[HTTP]], [[POP3]], [[SMTP]].&lt;br /&gt;
&lt;br /&gt;
== История создания ==&lt;br /&gt;
После того, как [[Интернет]] стал все более распространён и доступен, возникла потребность использовать его для междугородних линков в [[Фидонет]] вместо обычных телефонных сетей и сети [[Искра-2 (телефонная сеть)|Искра-2]]. Реализации виртуальных модемов ([[rlfossil]], [[vmodem]]) решали задачу недостаточно эффективно. В мейлере [[ifcico]] была реализована возможность прямой связи между фидошными мейлерами по [[TCP]], но по-прежнему использовались протоколы, предназначенные для не дающего гарантии доставки транспорта ([[EMSI]], [[zmodem]]), а потому неэффективные для применения поверх TCP.&lt;br /&gt;
&lt;br /&gt;
В такой ситуации в [[1996]] г. Дмитрий Малов разработал специализированный протокол binkp и поддерживающий его мейлер [[binkd]]. Этот протокол и мейлер могли работать только поверх TCP, они не предназначены для работы по обычным телефонным линиям. В этом было их преимущество перед остальными протоколами, и binkp достаточно быстро потеснил остальные варианты fido over inet: к концу 1998 года, если судить по флагам в нодлисте, binkp уже был наиболее распространённым из протоколов fido over ip. Кроме того, протокол binkp был изначально документирован, а его реализация (binkd) — [[свободное программное обеспечение|свободная]] [[Кроссплатформенность|кроссплатформенная]] программа, что тоже являлось существенным преимуществом binkp и binkd перед другими протоколами этого применения. Впоследствии появились реализации протокола binkp и в других мейлерах (Argus, bforce, qico, mbico).&lt;br /&gt;
&lt;br /&gt;
Номер порта (24554) был, как утверждает автор, номером его домашнего телефона в Магадане.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url=https://www.facebook.com/dmitry.malov/posts/10206917797879057?loc=en_GB&lt;br /&gt;
|author=Dmitry Malov&lt;br /&gt;
|date=2016-10-07&lt;br /&gt;
|title=Каждый раз, когда читаю в путеводителе или...&lt;br /&gt;
|publisher=[[Facebook]]&lt;br /&gt;
|location=Москва&lt;br /&gt;
|archive-url=https://web.archive.org/web/20161007202648/https://www.facebook.com/dmitry.malov/posts/10206917797879057?loc=en_GB&lt;br /&gt;
|archive-date=2016-10-07&lt;br /&gt;
|quote=на самом деле, 24554 был номер моего домашнего телефона в Магадане&lt;br /&gt;
|url-status=dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Структура протокола ==&lt;br /&gt;
Взаимодействие происходит в одной TCP-сессии (благодаря чему протокол работает через [[NAT|IP NAT]]). Стороны обмениваются между собой кадрами ограниченного размера (не более 32K, по умолчанию 4K). В каждом кадре могут передаваться либо данные, либо управляющая команда. За счёт этого достигается двунаправленность протокола: во время отправки файла одна из сторон может вклинить в поток данных кадр с командой подтверждения приёма файла, таким образом приём и передача происходят практически независимо друг от друга одновременно в одной tcp-сессии.&lt;br /&gt;
&lt;br /&gt;
Кроме того, изначально было введено понятие потока. То есть, отправляющая сторона не ожидает подтверждения приёма предыдущего файла для отправки следующего. Это существенно повышает эффективность протокола по сравнению с другими аналогичными. Также в протокол были заложены возможности его последующего развития — добавления новых опциональных возможностей, либо изменение версии протокола (поддерживаемые версии и набор опциональных расширений стороны объявляют друг другу в начале сеанса связи).&lt;br /&gt;
&lt;br /&gt;
Binkp работает через двунаправленный символьный канал, не допускающий ошибок при передаче данных. Любые данные, записываемые каждой из сторон в канал, имеют следующий общий формат:&lt;br /&gt;
&lt;br /&gt;
binkp кадр:&lt;br /&gt;
&lt;br /&gt;
    +---------------------- 0=блок данных, 1=сообщение(команда)&lt;br /&gt;
    |                +---- размер блока данных / размер аргументов&lt;br /&gt;
    |                |&lt;br /&gt;
    7 6543210 76543210&lt;br /&gt;
   +-+-------+--------+--- ..... ---+&lt;br /&gt;
   | |   HI      LO   |             | -- блок данных / аргументы&lt;br /&gt;
   +-+-------+--------+--- ..... ---+&lt;br /&gt;
   |&amp;lt;-    2 байта   -&amp;gt;|&amp;lt;- 32K max -&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
Заголовок кадра — два байта, определяющие тип и длину (в байтах) данных, следующих за заголовком. Если старший бит заголовка сброшен, то все данные поступившие с кадром следует дописать к текущему принимаемому файлу. (Если такой файл уже открыт, иначе — отбросить) В противном случае, данные следует разобрать как команду, меняющую состояние протокола. Первый байт данных, поступивших с кадром — номер команды. Оставшиеся — аргумент. Аргументы команд — произвольный набор символов, не обязательно ограниченный &amp;#039;\0&amp;#039;. Команда без аругментов (например, M_OK) может выглядеть примерно так:&lt;br /&gt;
&lt;br /&gt;
    7 6543210 76543210 76543210&lt;br /&gt;
   +-+-------+--------+--------+&lt;br /&gt;
   |1|      0        1|       4|&lt;br /&gt;
   +-+-------+--------+--------+&lt;br /&gt;
     |                |        +----- номер команды (аргументов нет)&lt;br /&gt;
    |                 +-------- длина кадра без заголовка -- 1 байт&lt;br /&gt;
    +- это команда&lt;br /&gt;
&lt;br /&gt;
== Основные расширения ==&lt;br /&gt;
По мере развития протокола в него были добавлены многие новые возможности. Вот основные из них:&lt;br /&gt;
&lt;br /&gt;
* Возможность дополнения очереди на отправку без обрыва соединения (это основное отличие binkp 1.1 от 1.0), в частности, возможность отработки файловых запросов&lt;br /&gt;
* Возможность безопасной передачи пароля по открытым каналам связи с использованием [[хеш]]а [[MD5]]&lt;br /&gt;
* Возможность [[шифрование|шифрования]] всего трафика&lt;br /&gt;
* Возможность [[сжатие данных|компрессии]] трафика&lt;br /&gt;
* Защита от повторной передачи файла в случае обрыва связи при подтверждении приёма (ND-mode)&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[DNS Distributed Nodelist]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://binkd.grumbler.org/binkp/binkp.html.koi.ru Описание протокола Binkp 1.0]&lt;br /&gt;
* [http://binkd.grumbler.org/binkp/binkp11.html.koi.ru Описание протокола Binkp 1.1] {{Wayback|url=http://binkd.grumbler.org/binkp/binkp11.html.koi.ru |date=20070928083349 }}&lt;br /&gt;
* [http://www.ftsc.org/docs/fts-1026.001 Полная спецификация протокола, зарегистрированная в FTSC (FTS-1026)]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Протоколы прикладного уровня]]&lt;br /&gt;
[[Категория:Фидонет]]&lt;br /&gt;
[[Категория:Интернет-протоколы]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Alex NB OT</name></author>
	</entry>
</feed>