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

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

Peer Exchange (PEX) 節(jié)點(diǎn)交換給我們帶來了什么

2023-06-29 19:18 作者:IMFile  | 我要投稿

Peer Exchange (PEX) 為?swarms(節(jié)點(diǎn)群1)?提供了一種替代的節(jié)點(diǎn)發(fā)現(xiàn)機(jī)制,節(jié)點(diǎn)通過 DHT 或 Tracker announces 等其他機(jī)制引導(dǎo)完成。

它提供了比大多數(shù)其他來源更為實(shí)時的 swarm 視圖,并且還減少了頻繁查詢其他來源的必要性

與規(guī)范節(jié)點(diǎn)優(yōu)先級2?結(jié)合使用時,它提供了一種快速隨機(jī)化 swarm 連接圖的方法。

協(xié)議擴(kuò)展

PEX 通過擴(kuò)展協(xié)議引入新消息?ut_pex? 。

在握手中協(xié)商添加的消息:

? ? ?{ ? ? ? ?m: { ? ? ? ? ?ut_pex: <implementation-dependent local message ID (positive integer)>, ? ? ? ? ?... ? ? ? ?}, ? ? ? ?... ? ? ?}

擴(kuò)展消息本身由 BitTorrent/擴(kuò)展消息頭和隨后的 bencoded 編碼載荷組成:

? ? ?{ ? ? ? ?added: <one or more contacts in IPv4 compact format (string)> ? ? ? ?added.f: <optional, bit-flags, 1 byte per added IPv4 peer (string)> ? ? ? ?added6: <one or more contacts IPv6 compact format (string)>, ? ? ? ?added6.f: <optional, bit-flags, 1 byte per added IPv6 peer (string)>, ? ? ? ?dropped: <one or more contacts in IPv6 compact format (string)>, ? ? ? ?dropped6: <one or more contacts in IPv6 compact format (string)> ? ? ?}

標(biāo)志定義如下:

30x02做種/僅上傳0x04支持 uTP40x08節(jié)點(diǎn)指示?ut_holepunch? 支持分機(jī)握手?50x10傳出連接,節(jié)點(diǎn)可訪問

一個節(jié)點(diǎn)只有在成功建立連接后才能被包含在 “added” 字段中,當(dāng)它斷開連接后則需要被包含在 “dropped” 字段中。一旦一個節(jié)點(diǎn)已經(jīng)被添加,客戶端必須確保在適當(dāng)?shù)臅r候發(fā)送相應(yīng)的 “dropped” 事件。僅僅向其他節(jié)點(diǎn)發(fā)出 “added” 信號而從未對其進(jìn)行 “dropped” 的操作是不符合規(guī)范的行為。

原因一:PEX 旨在反映客戶端當(dāng)前連接的節(jié)點(diǎn),這確保了 PEX 提供比其他節(jié)點(diǎn)發(fā)現(xiàn)機(jī)制更好的實(shí)時信息。原因二:僅傳播經(jīng)過驗(yàn)證的節(jié)點(diǎn)可減少攻擊者濫用 BitTorrent swarms 進(jìn)行分布式拒絕服務(wù)攻擊的機(jī)會。

相互通信的客戶端應(yīng)將其批量更新頻率限制為每分鐘一次?6?。

不需要在握手后立即發(fā)送 PEX 消息,例如,在 torrent 啟動期間,客戶端可能會等到它建立足夠的連接以使發(fā)送的 PEX 消息變得有價值。

添加或刪除的聯(lián)系人不得包含重復(fù)項(xiàng)。

只要不影響正確性,就可以在更新消息之間省略暫時性連接-斷開連接或斷開連接-重新連接事件。

實(shí)現(xiàn)說明:對于每個已連接的節(jié)點(diǎn),一種簡單的方法是將其尚未發(fā)送的連接/斷開連接事件排隊(duì),并在生成消息時忽略重復(fù)和瞬時連接。另外一種更加節(jié)省內(nèi)存的方法是為每個 torrent 記錄連接/斷開連接事件的時間軸,并為每個節(jié)點(diǎn)存儲一個指針,指向已經(jīng)發(fā)送的事件的時間點(diǎn)。在創(chuàng)建 PEX 消息時,只需推進(jìn)指針,注意消除重復(fù)項(xiàng)并省略短暫連接即可。

在同一條消息中不應(yīng)刪除已添加的聯(lián)系人

除初始 PEX 消息外,添加的 ipv4/ipv6 聯(lián)系人的總和不應(yīng)超過 50 個條目。這同樣適用于刪除的條目。

消息必須包含以下至少一個字段:added, added6, dropped, dropped6 。

客戶端可能會斷開嚴(yán)重違反這些約束的節(jié)點(diǎn)。

填充未充分利用的列表

含以下組合

  • 應(yīng)滿足的網(wǎng)絡(luò)連接要求

  • 節(jié)點(diǎn)在做種時斷開與其他對等節(jié)點(diǎn)的連接

  • 基于在 IPv4 和 IPv6 之間的相同節(jié)點(diǎn) ID 斷開重復(fù)節(jié)點(diǎn)的連接

可能導(dǎo)致?added? 或?added6? 列表未充分利用。使用 PEX 協(xié)議可能會導(dǎo)致種子列表中出現(xiàn)過少的連接節(jié)點(diǎn)。如果一個種子節(jié)點(diǎn)沒有可以傳播的連接節(jié)點(diǎn),而其他節(jié)點(diǎn)只有能夠傳播給其他種子節(jié)點(diǎn)的連接節(jié)點(diǎn),那么 PEX 的效果會被大幅降低,從而導(dǎo)致種子列表中的連接節(jié)點(diǎn)數(shù)量過少。在 IPv4 占主導(dǎo)地位的種子群中,也會遇到類似的問題,即獲取 IPv6 連接節(jié)點(diǎn)比較困難,因?yàn)?IPv6 連接節(jié)點(diǎn)會被視為已經(jīng)建立的 IPv4 連接的重復(fù),從而阻止它們通過 PEX 進(jìn)行傳播。

為了解決這個問題,BitTorrent 協(xié)議指定了一個 “活動要求”,用于確定何時將連接視為非活動狀態(tài)并應(yīng)終止。但是,在某些情況下,如果客戶端連接到特定地址系列(例如 IPv4 或 IPv6)的客戶端少于 25 個,則此活動性要求會放寬。相反,客戶端可以為該地址系列保留最多 25 個最近建立和完全握手的連接的列表,并記錄任何斷開連接的原因。這些原因?qū)⑹惯h(yuǎn)程聯(lián)系人有資格包含在 “added” 或 “added6” 列表中。這些列表可能是指給定地址系列的受信任或允許的遠(yuǎn)程主機(jī)的列表。通過維護(hù)最近連接的列表并記錄斷開連接原因,客戶端可以更好地管理其連接,并確保它與網(wǎng)絡(luò)中可靠穩(wěn)定的節(jié)點(diǎn)保持連接:

  • 同一節(jié)點(diǎn) ID 已在不同的地址系列下連接?7

  • 兩個對等節(jié)點(diǎn)無法或不愿意相互建立連接以交換共享文件片段的情況

  • 本地資源限制,例如全局連接數(shù)已超過限制

PEX 消息在包含最近斷開連接的聯(lián)系人時需要從 “最近已看到的列表” 中清除該聯(lián)系人,以使其不會在下一條消息中再次發(fā)送。當(dāng)列表通過短暫的連接-斷開事件重新填充時,如果所有必要條件都滿足,這些事件可能會包含在下一條消息中。換句話說,在從 “最近已看到的列表” 中填充初始 PEX 消息的同時,客戶端還可以跳過某些連接-斷開事件,這樣就能更有效地構(gòu)建 PEX 消息。簡單來說,當(dāng)一個節(jié)點(diǎn)與其他對等節(jié)點(diǎn)斷開連接后,它將被刪除并不再包括在該節(jié)點(diǎn)發(fā)送的下一條 PEX 消息中。但是,如果該節(jié)點(diǎn)重新連接到網(wǎng)絡(luò)并符合一定的條件,那么它可能會再次出現(xiàn)在該節(jié)點(diǎn)的 PEX 消息中。此外,客戶端還可以跳過不必要的連接和斷開事件,以更有效地構(gòu)建 PEX 消息。

最近看到的聯(lián)系人并不一定是當(dāng)前正在進(jìn)行的連接,所以它們需要在下一條 PEX 消息中被刪除

在同一條 PEX 消息中不能同時添加和刪除相同地址的限制仍必須保留。

選擇少于 25 個活動連接和不超過 25 個最近看到的聯(lián)系人的要求,為了確保最多只能累積兩條可丟棄聯(lián)系人的 PEX 消息,并且只有在沒有足夠的活動聯(lián)系人可以填充 PEX 消息時才會發(fā)送舊版信息。

請注意,這個豁免規(guī)則可以分別應(yīng)用于 IPv4 和 IPv6 。即使有足夠的 IPv4 活動連接,但如果 IPv6 相關(guān)的列表數(shù)量不足,客戶端仍可以在 PEX 消息中包含最近看到的 IPv6 聯(lián)系人,反之亦然。

安全注意事項(xiàng)

接收到的 PEX 消息應(yīng)被視為不受信任且可能是惡意的?8

攻擊者可能會嘗試通過與其他節(jié)點(diǎn)協(xié)作向 swarm 發(fā)起虛假信息洪泛攻擊?9?等方式來破壞它。

PEX 還可以通過誘導(dǎo) BitTorrent 客戶端對受害者 IP 范圍進(jìn)行連接嘗試用于發(fā)起分布式拒絕服務(wù)攻擊(DDoS),從而使這些 IP 地址的網(wǎng)絡(luò)流量驟增,造成網(wǎng)絡(luò)擁塞和服務(wù)不可用。

為了緩解這些問題,客戶端應(yīng)該避免從單個 PEX 源獲取所有連接候選者。重復(fù)的 IP 地址(例如具有不同端口的 IP 地址)應(yīng)該被忽略?10?。此外,規(guī)范節(jié)點(diǎn)優(yōu)先級可以幫助將連接嘗試分散在許多子網(wǎng)上,從而降低對任何潛在受害者子網(wǎng)的影響。

總結(jié)

PEX 是一種用于 BitTorrent 協(xié)議的擴(kuò)展。它通過允許 BitTorrent 客戶端交換各自所知道的其他用戶的 IP 地址和端口信息,來擴(kuò)展節(jié)點(diǎn)列表并增強(qiáng)網(wǎng)絡(luò)連接。

PEX 允許客戶端直接與其他客戶端進(jìn)行通信并交換節(jié)點(diǎn)信息。通過這種方式可以更快地發(fā)現(xiàn)和連接其他節(jié)點(diǎn),加快下載速度,并減輕 tracker 的負(fù)擔(dān),同時也提高了網(wǎng)絡(luò)的可靠性和及時性。

需要注意的是,PEX 功能可以被禁用或限制,因?yàn)樗皇?BitTorrent 協(xié)議規(guī)范的約束,并且可能會導(dǎo)致某些問題,如假節(jié)點(diǎn)攻擊、隱私泄露等。因此,在使用 PEX 時,應(yīng)該考慮安全和隱私的問題,并根據(jù)具體情況進(jìn)行配置和調(diào)整。

參考鏈接

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

  • https://en.wikipedia.org/wiki/Peer_exchange


Peer Exchange (PEX) 節(jié)點(diǎn)交換給我們帶來了什么的評論 (共 條)

分享到微博請遵守國家法律
西畴县| 米泉市| 黄山市| 房产| 河池市| 丰县| 仁怀市| 凤山市| 唐河县| 天镇县| 舒城县| 乌拉特前旗| 永福县| 喀什市| 阿鲁科尔沁旗| 香港| 灌南县| 若羌县| 永州市| 洞口县| 贺州市| 玉门市| 大庆市| 天祝| 黔南| 泽州县| 依兰县| 台州市| 永宁县| 杂多县| 盘锦市| 翁牛特旗| 巩义市| 三明市| 东乡族自治县| 临漳县| 彭山县| 乐亭县| 黄平县| 松桃| 淅川县|