binkp | |
---|---|
Szint ( az OSI modell szerint ) | Alkalmazott |
Család | TCP/IP |
Létrehozva: | 1996 |
Port/ID | 24554/ TCP |
A protokoll célja | Fájlátvitel FTN hálózatokban |
Leírás | FTS-1026 |
Főbb megvalósítások (kliensek) | binkd , argus, bforce |
Bővíthetőség | Hozzáadás. parancsokat és opciókat |
Főbb bővítések | titkosítás , adattömörítés , nodupe mód, MD5 - hitelesítés |
A Binkp egy alkalmazási rétegű hálózati protokoll , amelyet a Fidonet vagy más FTN - hálózatok TCP -kapcsolaton keresztüli fájlok átvitelére terveztek . Általában a 24554-es TCP- portot használják a protokollon keresztüli kommunikációhoz, mivel ez a szám a binkp számára van fenntartva az IANA ( Internet Assigned Numbers Authority ) címtárban.
A binkp protokollnak két változata létezik: eredeti (1.0) és kiegészített (1.1). Ezen kívül számos protokollbővítést fejlesztettek ki. A protokoll és a legtöbb bővítmény FTSC szabványok és javaslatok keretei között szerepel .
A réteg lehetővé teszi a felhasználói alkalmazások számára, hogy hozzáférjenek a hálózati szolgáltatásokhoz, például adatbázis-lekérdezéskezelőhöz, fájlhozzáféréshez, e-mail-továbbításhoz. Feladata továbbá a szolgáltatási információk átvitele, az alkalmazásoknak tájékoztatást ad a hibákról, és kéréseket generál a prezentációs réteg felé. Példa: HTTP , POP3 , SMTP .
Az Internet egyre szélesebb körű elterjedése és elérhetősége után felmerült az igény, hogy a hagyományos telefonhálózatok és az Iskra-2 hálózat helyett a Fidonet távolsági kapcsolataira használják . A virtuális modemek ( rlfossil , vmodem ) implementációi nem oldották meg elég hatékonyan a problémát. Az ifcico levelező megvalósította a fidosh levelezők közötti közvetlen kommunikáció lehetőségét TCP -n keresztül , de továbbra is olyan protokollokat használt, amelyeket kézbesíthetetlen szállításra terveztek ( EMSI , zmodem ), és ezért nem hatékonyak a TCP-n keresztüli használathoz.
Ilyen helyzetben 1996 -ban Dmitrij Malov kifejlesztett egy speciális binkp protokollt és az azt támogató binkd levelezőt . Ez a protokoll és a levelező csak TCP-n működhet, nem arra tervezték őket, hogy normál telefonvonalon működjenek. Ez volt az előnyük a többi protokollal szemben, és a binkp meglehetősen gyorsan felváltotta a fido többi opcióját az inettel szemben: 1998 végére a csomóponti listában lévő jelzők alapján a binkp már a legelterjedtebb volt a fido over ip protokollok között. Ezen kívül a binkp protokollt eredetileg dokumentálták, megvalósítása (binkd) egy ingyenes , többplatformos program, ami szintén jelentős előnye volt a binkp-nek és a binkd-nek a többi protokollhoz képest ennél az alkalmazásnál. Ezt követően a binkp protokoll implementációi megjelentek más levelezőkben (Argus, bforce, qico, mbico).
A portszám (24554) a szerző szerint az otthoni telefonszáma Magadanban. [egy]
Az interakció egy TCP-munkamenetben zajlik (ennek köszönhetően a protokoll IP NAT -on keresztül működik ). A felek korlátozott méretű kereteket cserélnek (legfeljebb 32K, alapértelmezés szerint 4K). Minden keretben adat vagy vezérlőparancs is továbbítható. Ennek köszönhetően megvalósul a protokoll kétirányúsága: egy fájl küldése közben az egyik fél egy keretet ékelhet az adatfolyamba a fájl átvételét megerősítő paranccsal, így a vétel és az adás szinte mindegyiktől függetlenül történik. más egyidejűleg egy tcp munkamenetben.
Ezenkívül kezdetben bevezették az áramlás fogalmát. Ez azt jelenti, hogy a küldő fél nem várja meg az előző fájl visszaigazolását, hogy elküldje a következőt. Ez jelentősen növeli a protokoll hatékonyságát a többi hasonlóhoz képest. A protokoll tartalmazta a későbbi fejlesztés lehetőségét is - új opcionális funkciók hozzáadásával, vagy a protokoll verziójának megváltoztatásával (a támogatott verziókat és az opcionális bővítmények készletét a felek a kommunikációs munkamenet elején jelentik be egymásnak).
A Binkp kétirányú karaktercsatornán keresztül működik, amely nem engedi meg a hibákat az adatátvitel során. Bármelyik oldal által a csatornára írt adat a következő általános formátummal rendelkezik:
Binkp keret:
+--------------------- 0=adatblokk, 1=üzenet(parancs) | +---- adatblokk mérete / argumentumok mérete | | 76543210 76543210 +-+-------+---------+--- ..... ---+ | | HILO | | -- adatblokk / argumentumok +-+-------+---------+--- ..... ---+ |<- 2 bájt ->|<- max. 32K ->|A keretfejléc két bájtból áll, amelyek meghatározzák a fejlécet követő adatok típusát és hosszát (byte-ban). Ha a fejléc magas bitjét alaphelyzetbe állítják, akkor a kerettel kapott összes adatot hozzá kell fűzni az aktuális fogadott fájlhoz. (Ha egy ilyen fájl már nyitva van, különben dobja el.) Ellenkező esetben az adatokat a protokoll állapotát megváltoztató parancsként kell elemezni. A kerettel kapott adatok első bájtja a parancs száma. A többi érv. A parancs argumentumai tetszőleges karakterkészletek, amelyek nem feltétlenül korlátozódnak '\0'-ra. Egy argumentumok nélküli parancs (például M_OK) így nézhet ki:
76543210 76543210 76543210 +-+-------+---------+--------+ |1| 0 1| 4| +-+-------+---------+--------+ | | +----- parancs száma (nincs argumentum) | +-------- keret hossza fejléc nélkül -- 1 bájt + egy parancsAhogy a protokoll fejlődött, számos új funkcióval bővült. Íme a főbbek: