最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Peer ID Conventions 節(jié)點(diǎn)標(biāo)識(shí)協(xié)議

2023-07-04 17:19 作者:IMFile  | 我要投稿

概述

傳統(tǒng)上,在 BitTorrent 網(wǎng)絡(luò)中,20 字節(jié)的 Peer ID 字段用于標(biāo)識(shí)客戶端,并且通常包含了客戶端實(shí)現(xiàn)和版本號(hào)等信息。這個(gè)字段會(huì)在 tracker 請(qǐng)求和 peer 握手中發(fā)送,用來(lái)告訴其他節(jié)點(diǎn)和 Tracker 自己是哪個(gè)客戶端、版本號(hào)是多少。

在一個(gè)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中,主線客戶端會(huì)將 peer-id 的第一個(gè)字符設(shè)置為 M,后面緊跟著使用 ascii 數(shù)字來(lái)表示版本號(hào),其中 major 、 minor 和 tiny 版本以破折號(hào)分隔。例如,版本號(hào)為 4.3.6 和 4.20.8 的 peer-id 可能分別為?M4-3-6–?和?M4-20-8-?。 peer-id 其余的字節(jié)是隨機(jī)的。這個(gè)列表最初來(lái)源于?BitTorrentSpecification?。

Peer id 是一個(gè)唯一的標(biāo)識(shí)符,用于標(biāo)識(shí)特定的 BitTorrent 客戶端實(shí)現(xiàn)和版本。在這種情況下,peer id 以連字符 “-” 開(kāi)頭,后跟兩個(gè)字符來(lái)標(biāo)識(shí)客戶端實(shí)現(xiàn),接著是四個(gè) ascii 數(shù)字來(lái)表示版本號(hào),然后再有一個(gè)連字符 “-” 。與主線(Mainline)類似,剩余的字節(jié)是隨機(jī)的。 例如,”-AZ2060-“ 就是這樣一個(gè) peer id 的例子。

已知采用此類編碼風(fēng)格的客戶端有:

'AG' - Ares 'A~' - Ares 'AR' - Arctic 'AV' - Avicora 'AX' - BitPump 'AZ' - Azureus 'BB' - BitBuddy 'BC' - BitComet 'BF' - Bitflu 'BG' - BTG (uses Rasterbar libtorrent) 'BR' - BitRocket 'BS' - BTSlave 'BX' - ~Bittorrent X 'CD' - Enhanced CTorrent 'CT' - CTorrent 'DE' - DelugeTorrent 'DP' - Propagate Data Client 'EB' - EBit 'ES' - electric sheep 'FT' - FoxTorrent 'FW' - FrostWire 'FX' - Freebox BitTorrent 'GS' - GSTorrent 'HL' - Halite 'HN' - Hydranode 'KG' - KGet 'KT' - KTorrent 'LH' - LH-ABC 'LP' - Lphant 'LT' - libtorrent 'lt' - libTorrent 'LW' - LimeWire 'MO' - MonoTorrent 'MP' - MooPolice 'MR' - Miro 'MT' - MoonlightTorrent 'NX' - Net Transport 'PD' - Pando 'qB' - qBittorrent 'QD' - QQDownload 'QT' - Qt 4 Torrent example 'RT' - Retriever 'S~' - Shareaza alpha/beta 'SB' - ~Swiftbit 'SS' - SwarmScope 'ST' - SymTorrent 'st' - sharktorrent 'SZ' - Shareaza 'TN' - TorrentDotNET 'TR' - Transmission 'TS' - Torrentstorm 'TT' - TuoTu 'UL' - uLeecher! 'UT' - μTorrent 'UW' - μTorrent Web 'VG' - Vagaa 'WD' - WebTorrent Desktop 'WT' - BitLet 'WW' - WebTorrent 'WY' - FireTorrent 'XL' - Xunlei 'XT' - XanTorrent 'XX' - Xtorrent 'ZT' - ZipTorrent

在使用 BitTornado 和其實(shí)驗(yàn)性 BitTorrent 實(shí)現(xiàn)時(shí),引入了以一個(gè)字符開(kāi)頭的節(jié)點(diǎn) ID,該字符在 BitTornado 中為 “T”,然后是最多五個(gè) ASCII 字符的版本號(hào),如果不足五個(gè)字符,則用破折號(hào)填充,最后是三個(gè)連字符(—)。

版本號(hào)中表示版本的 ASCII 字符僅限于以下字符:

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-

例如 ‘S58B—–‘… 指代 5.8.11

和其他節(jié)點(diǎn)標(biāo)識(shí)格式一樣,剩余的字節(jié)是隨機(jī)的。已知采用此類編碼風(fēng)格的客戶端有:

'A' - ABC 'O' - Osprey Permaseed 'Q' - BTQueue 'R' - Tribler 'S' - Shadow's client 'T' - BitTornado 'U' - UPnP NAT Bit Torrent

BitComet 和 BitLord 生成節(jié)點(diǎn) ID 的方法。節(jié)點(diǎn) ID 是用于標(biāo)識(shí)一個(gè) BitTorrent 客戶端的唯一 ID 。在 BitComet 中,節(jié)點(diǎn) ID 由四個(gè) ASCII 字符 “exbc” 、兩個(gè)字節(jié) “x” 和 “y” 以及隨機(jī)字符組成。版本號(hào)是小數(shù)點(diǎn)前的 “x”,小數(shù)點(diǎn)后的數(shù)字是 “y” 。 BitLord 使用相同的方案,并在版本字節(jié)后添加 “LORD” 。不過(guò),BitComet 的一個(gè)非官方補(bǔ)丁曾經(jīng)用 “FUTB” 代替了 “exbc” 。從 BitComet 版本 0.59 開(kāi)始,節(jié)點(diǎn) ID 的編碼方式改為 Azureus 風(fēng)格。

XBT Client 的特定格式,其 peer_id 由三個(gè)大寫字符 XBT 和三個(gè) ASCII 數(shù)字表示的版本號(hào)組成。如果客戶端是調(diào)試構(gòu)建,則第七個(gè)字節(jié)是小寫字符 d;否則是一個(gè)橫杠 -。之后是一個(gè)橫杠 -,然后是隨機(jī)數(shù)字、大寫字母和小寫字母。例如,XBT054d- 開(kāi)頭表示的是版本為 0.5.4 的調(diào)試構(gòu)建。

Opera 8 預(yù)覽版和 Opera 9.x 發(fā)行版所使用的 peer_id 方案命名規(guī)則是:前兩個(gè)字符是 OP,接下來(lái)的四個(gè)數(shù)字等于構(gòu)建版本號(hào)。所有后續(xù)字符都是隨機(jī)的小寫十六進(jìn)制數(shù)字。因此,一個(gè)典型的 peer_id 看起來(lái)可能是類似于 “OP1234abcdefg” 的字符串,其中 “1234” 代表構(gòu)建版本號(hào),而 “abcdefg” 則代表隨機(jī)的小寫十六進(jìn)制數(shù)字。簡(jiǎn)單來(lái)說(shuō),peer_id 是 Opera 瀏覽器用于標(biāo)識(shí)自己的一種命名方式,其中包括了構(gòu)建版本號(hào)和隨機(jī)生成的十六進(jìn)制數(shù)字。

MLdonkey 使用的 peer_id 方案的命名規(guī)則是:以 “-ML” 開(kāi)頭,后面跟著一個(gè)帶有小數(shù)點(diǎn)的版本號(hào),然后是一個(gè)短橫線 “-“,最后是一些隨機(jī)字符。例如,”-ML2.7.2-kgjjfkd” 中,”2.7.2″ 是版本號(hào),”kgjjfkd” 是隨機(jī)字符。

Bits on Wheels 使用的 peer_id 方案的命名規(guī)則是:以 “-BOW” 開(kāi)頭,后面跟著三個(gè)字符 xxx 表示版本號(hào)相關(guān)信息,然后是一個(gè)短橫線 “-“,最后是一些隨機(jī)的大寫字母 y 組成的字符串。而對(duì)于版本號(hào)為 1.0.6 的 Bits on Wheels 客戶端,其 xxx 值為 A0C 。

Queen Bee 使用的 peer_id 方案的命名規(guī)則是:以 “Q1-” 開(kāi)頭,后面跟著兩個(gè)數(shù)字表示版本號(hào),然后是一個(gè)或兩個(gè)短橫線 “-“,最后是一些隨機(jī)字符。對(duì)于 Queen Bee 客戶端來(lái)說(shuō),可能會(huì)有兩種版本號(hào):Q1-0-0– 和 Q1-10-0-,隨后是隨機(jī)生成的字節(jié)。

BitTyrant 在其 1.1 版本中所使用的 peer_id 方案。實(shí)際上,BitTyrant 是 Azureus 的一個(gè)分支,并且它的 peer_id 命名基本上是 Azureus 的命名方式加上一些額外的隨機(jī)字符。具體來(lái)說(shuō),BitTyrant 在其 1.1 版本中使用 “AZ2500BT” 作為前綴,后面緊跟一些隨機(jī)生成的字節(jié),而與其他的幾種命名方案不同的是,BitTyrant 的命名中沒(méi)有橫線。

TorrenTopia 1.90 版本通過(guò)在網(wǎng)上與其他客戶端進(jìn)行通信時(shí)自稱為 “Mainline 3.4.6”,并使用以 “346——” 開(kāi)頭的節(jié)點(diǎn) ID 。

BitSpirit 使用幾種不同的模式來(lái)生成節(jié)點(diǎn) ID 。在其中一種模式中,它會(huì)讀取對(duì)方的 ID,并以對(duì)方 ID 的前 8 個(gè)字節(jié)為基礎(chǔ)重新連接。它的真實(shí) ID 似乎在版本 3.x 中使用?\0\3BS(C 表示法)作為前 4 個(gè)字節(jié),在版本 2.x 中使用?\0\2BS?。在所有模式下,ID 可能以 UDP0 結(jié)尾。

Rufus 使用其版本號(hào)作為前兩個(gè)字節(jié)的十進(jìn)制 ASCII 值。第三個(gè)和第四個(gè)字節(jié)是 RS 。隨后是用戶的昵稱和一些隨機(jī)字節(jié)。

G3 Torrent 的用戶 ID 以?-G3?開(kāi)始,并添加用戶昵稱的最多 9 個(gè)字符。

FlashGet 使用 Azureus 的風(fēng)格,但沒(méi)有尾隨的橫線。版本 1.82.1002 仍然使用版本數(shù)字 0180 。

AllPeers 采用了一種基于用戶相關(guān)字符串的 sha1 哈希值的方式來(lái)生成用戶 ID 。然后將哈希值的前幾個(gè)字符替換為 “AP” + 版本字符串 + “-“ 。

總結(jié)

BitTorrent Peer ID Conventions 是一個(gè)用于標(biāo)準(zhǔn)化 BitTorrent 客戶端生成和解析節(jié)點(diǎn) ID 的規(guī)范。在 BitTorrent 網(wǎng)絡(luò)中,每個(gè)客戶端都需要根據(jù)這個(gè)約定生成其自己的節(jié)點(diǎn) ID,并且能夠解析來(lái)自其他客戶端的節(jié)點(diǎn) ID 。通過(guò)遵循這個(gè)約定,可以確保不同的客戶端之間可以彼此識(shí)別,從而使它們能夠進(jìn)行有效的文件共享。

根據(jù)這個(gè)約定,一個(gè)標(biāo)準(zhǔn)的 BitTorrent 節(jié)點(diǎn) ID 應(yīng)該包括軟件名稱、版本號(hào)、隨機(jī)字符串和可選的擴(kuò)展信息等部分,具體格式如下:

  • 軟件名稱:2 個(gè)字節(jié) ASCII 字符表示的字符串,用于指示所使用的 BitTorrent 客戶端軟件名稱。

  • 版本號(hào):4 個(gè)字節(jié) ASCII 字符表示的字符串,用于指示客戶端軟件的版本號(hào)。

  • 隨機(jī)字符串:20 個(gè)字節(jié)隨機(jī)生成的字符串,用于使每個(gè)節(jié)點(diǎn) ID 都是唯一的。

  • 擴(kuò)展信息:可選的 8 個(gè)字節(jié)長(zhǎng)度的字符串,用于包含額外的元數(shù)據(jù)或標(biāo)識(shí)。

由于 BitTorrent Peer ID Conventions 是一個(gè)公認(rèn)的標(biāo)準(zhǔn),因此大多數(shù) BitTorrent 客戶端都遵循這個(gè)規(guī)范來(lái)生成和解析節(jié)點(diǎn) ID 。這有助于確保 BitTorrent 網(wǎng)絡(luò)中的互操作性和兼容性。

參考鏈接

  • http://www.bittorrent.org/beps/bep_0020.html

  • https://wiki.theory.org/BitTorrentSpecification


Peer ID Conventions 節(jié)點(diǎn)標(biāo)識(shí)協(xié)議的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
普定县| 岢岚县| 汾西县| 镇坪县| 东安县| 裕民县| 平度市| 木兰县| 忻城县| 容城县| 高青县| 内乡县| 平凉市| 贡觉县| 井陉县| 库伦旗| 盐津县| 星座| 溧阳市| 徐闻县| 诸暨市| 甘洛县| 渭源县| 洪江市| 泸水县| 当雄县| 靖远县| 台北市| 晋州市| 读书| 柘城县| 高台县| 如皋市| 阆中市| 丹棱县| 怀化市| 荃湾区| 九江市| 都安| 宜兰市| 桐乡市|