Binkp

Матэрыял з Вікіпедыі - вольнай энцыклапедыі

Перайсці да навігацыі перайсці да пошуку
binkp
Ўзровень (па мадэлі OSI ) прыкладной
сямейства TCP / IP
створаны ў 1996
Порт / ID 24554 / TCP
прызначэнне пратаколу Перадача файлаў у FTN -сетях
спецыфікацыя FTS-1026
Асноўныя рэалізацыі (кліенты) binkd , argus, bforce
пашыральнасць Доп. каманды і опцыі
асноўныя пашырэння шыфраванне , сціск дадзеных , nodupe mode, MD5 - аўтэнтыфікацыя

Binkp - сеткавы пратакол прыкладнога ўзроўню , распрацаваны для перадачы файлаў у Фіданет ці ў іншых FTN -сетях, якая адбываецца па-над TCP -соединения. Як правіла, для сувязі па дадзеным пратаколе выкарыстоўваюць TCP-порт 24554, так як гэты нумар зарэзерваваны пад binkp ў каталогу IANA (Internet Assigned Numbers Authority).

Існуюць дзве версіі пратаколу binkp: арыгінальная (1.0) і дапоўненая (1.1). Акрамя таго, распрацавана некалькі пашырэнняў пратаколу. Пратакол і вялікая частка яго пашырэньні аформленыя стандартамі і прапановамі FTSC .

Узровень дазваляе прыкладанням карыстальніка мець доступ да сеткавых службам, такім як апрацоўшчык запытаў да баз дадзеных, доступ да файлаў, перасылцы электроннай пошты. Таксама адказвае за перадачу службовай інфармацыі, прадастаўляе прыкладанням інфармацыю пра памылкі і фармуе запыты да ўзроўню прадстаўлення. Прыклад: HTTP , POP3 , SMTP .

Гісторыя стварэння

Пасля таго, як Інтэрнэт стаў усё больш распаўсюджаны і даступны, паўстала патрэба выкарыстоўваць яго для міжгародніх лінкаў ў Фіданет замест звычайных тэлефонных сетак і сеткі Іскра-2 . Рэалізацыі віртуальных мадэмаў ( rlfossil , vmodem ) вырашалі задачу недастаткова эфектыўна. У Мэйлер ifcico была рэалізаваная магчымасць прамой сувязі паміж фидошными Мэйлер па TCP , але па-ранейшаму выкарыстоўваліся пратаколы, прызначаныя для не давальнага гарантыі дастаўкі транспарту ( EMSI , zmodem ), а таму неэфектыўныя для прымянення па-над TCP.

У такой сітуацыі ў 1996 г. Зміцер Малаў распрацаваў спецыялізаваны пратакол binkp і які падтрымлівае яго Мэйлер binkd . Гэты пратакол і Мэйлер маглі працаваць толькі па-над TCP, яны не прызначаныя для працы па звычайных тэлефонных лініях. У гэтым было іх перавага перад астатнімі пратаколамі, і binkp досыць хутка пацясніў астатнія варыянты fido over inet: да канца 1998 года, калі меркаваць па сцягах ў нодлисте, binkp ўжо быў найбольш распаўсюджаным з пратаколаў fido over ip. Акрамя таго, пратакол binkp быў першапачаткова дакументаваны, а яго рэалізацыя (binkd) - вольная кросплатформавая праграма, што таксама з'яўлялася істотнай перавагай binkp і binkd перад іншымі пратаколамі гэтага прымянення. Пасля з'явіліся рэалізацыі пратаколу binkp і ў іншых Мэйлер (Argus, bforce, qico, mbico).

Нумар порта (24554) быў, як сцвярджае аўтар, нумарам яго хатняга тэлефона ў Магадане. [1]

структура пратаколу

Ўзаемадзеянне адбываецца ў адной TCP-сесіі (дзякуючы чаму пратакол працуе праз IP NAT ). Бакі абменьваюцца паміж сабой кадрамі абмежаванага памеру (не больш за 32K, па змаўчанні 4K). У кожным кадры могуць перадавацца небудзь дадзеныя, альбо кіруючая каманда. За кошт гэтага дасягаецца двунакіраваную пратаколу: падчас адпраўкі файла адна з бакоў можа ўклініць ў струмень дадзеных кадр з камандай пацверджання прыёму файла, такім чынам прыём і перадача адбываюцца практычна незалежна адзін ад аднаго адначасова ў адной tcp-сесіі.

Акрамя таго, першапачаткова было ўведзена паняцце патоку. Гэта значыць, адпраўляе бок не чакае пацверджання прыёму папярэдняга файла для адпраўкі наступнага. Гэта істотна павышае эфектыўнасць пратаколу ў параўнанні з іншымі аналагічнымі. Таксама ў пратакол былі закладзеныя магчымасці яго наступнага развіцця - дадання новых апцыянальных магчымасцяў, альбо змяненне версіі пратаколу (падтрымоўваныя версіі і набор апцыянальных пашырэньні боку абвяшчаюць адзін аднаму ў пачатку сеансу сувязі).

Binkp працуе праз двунаправленный знакавы канал, што ня можа быць памылак пры перадачы дадзеных. Любыя дадзеныя, якія запісваюцца кожнай з бакоў у канал, маюць наступны агульны фармат:

binkp кадр:

 + ---------------------- 0 = блок дадзеных, 1 = паведамленне (каманда)
   | + ---- памер блока дадзеных / памер аргументаў
   | |
   7 6543210 76543210
  + - + ------- + -------- + --- ..... --- +
  | | HI LO | | - блок даных / аргументы
  + - + ------- + -------- + --- ..... --- +
  | <- 2 байта -> | <- 32K max -> |

Загаловак кадра - два байта, якія вызначаюць тып і даўжыню (у байтах) дадзеных, якія ідуць за загалоўкам. Калі старэйшы біт загалоўка скінуты, то ўсе дадзеныя паступілі з кадрам варта дапісаць да бягучага якое прымаецца файлу. (Калі такі файл ужо адкрыты, інакш - адкінуць) У адваротным выпадку, дадзеныя варта разабраць як каманду, змяняе стан пратаколу. Першы байт дадзеных, якія паступілі з кадрам - нумар каманды. Тыя, што засталіся - аргумент. Аргументы каманд - адвольны набор знакаў, не абавязкова абмежаваны '\ 0'. Каманда без аругментов (напрыклад, M_OK) можа выглядаць прыкладна так:

 7 6543210 76543210 76543210
  + - + ------- + -------- + -------- +
  | 1 | 0 1 | 4 |
  + - + ------- + -------- + -------- +
    | | + ----- нумар каманды (аргументаў няма)
   | + -------- даўжыня кадра без загалоўка - 1 байт
   + - гэта каманда

асноўныя пашырэння

Па меры развіцця пратаколу ў яго былі дададзеныя многія новыя магчымасці. Вось асноўныя з іх:

  • Магчымасць дапаўненні чарзе на адпраўку без абрыву злучэння (гэта асноўнае адрозненне binkp 1.1 ад 1.0), у прыватнасці, магчымасць адпрацоўкі файлавых запытаў
  • Магчымасць бяспечнай перадачы пароля па адкрытых каналах сувязі з выкарыстаннем хэша MD5
  • Магчымасць шыфравання усяго трафіку
  • Магчымасць кампрэсіі трафіку
  • Абарона ад паўторнай перадачы файла ў выпадку абрыву сувязі пры пацверджанні прыёму (ND-mode)

Гл. Таксама

нататкі

  1. Dmitry Malov. Кожны раз, калі чытаю ў даведніку ці ... (Недаступная спасылка). Масква: Facebook (7 кастрычніка 2016). - «на самай справе, 24554 быў нумар майго хатняга тэлефона ў Магадане». Архівавана 7 кастрычніка 2016 года.

спасылкі