TWI379548B - Peer-to-peer name resolution wire protocol and message format data structure for use therein - Google Patents

Peer-to-peer name resolution wire protocol and message format data structure for use therein Download PDF

Info

Publication number
TWI379548B
TWI379548B TW097101702A TW97101702A TWI379548B TW I379548 B TWI379548 B TW I379548B TW 097101702 A TW097101702 A TW 097101702A TW 97101702 A TW97101702 A TW 97101702A TW I379548 B TWI379548 B TW I379548B
Authority
TW
Taiwan
Prior art keywords
message
node
pnrp
cpa
header
Prior art date
Application number
TW097101702A
Other languages
English (en)
Other versions
TW200843412A (en
Inventor
John L Miller
Henry Rawas
Radu Simionescu
Brian Lieuallen
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200843412A publication Critical patent/TW200843412A/zh
Application granted granted Critical
Publication of TWI379548B publication Critical patent/TWI379548B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/24Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially
    • H04J3/242Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially the frames being of variable length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Description

『1379548 九、發明說明: 【發明所屬之技術領域】 本發明係大致有關於一種在一點對點基礎结構中之 訊協定,且特別是有關於一種可允許在一點對點圖表中 結構化通訊的訊息格式資料結構。 通 之
【先前技術】 藉由網路上之各種通訊技術,具有共同興趣之使用 可共同合作、分享檔案、相互聊天、多重播放表演與團 會議之影音、以及在多使用者遊戲中交手。然而目前大 份之網路通訊都是發生於以伺服器為中心之環境中,藉 使得所有之通訊都會流至或穿過大型中心伺服器,而個 可連接此伺服器以加入與參加此通訊.。 隨著點對點技術之再次出現,已經快速取代了目前 路通訊之伺服器中心模式。甚至,點對點技術可讓使用 在無伺服器之環境中互相接觸,而不用受到一伺服器型 路-通訊之胃約束。在以點對點為基礎-之系統中,因為通訊 直接發生在網路中這些點之間,因此可保有使用者之匿 與隱私。然而,雖然在點對點網路中已建立相當良好之 體通訊與檔案分享,但是點對點環境中並未充分建立訊 建立、發現、加入、保持與分享。 點對點通訊與事實上所有之通訊類型,都是取決於 所選擇之實體或節點之間建立有效連線的可能性。這些 體或節點可為形成在點對點網路中之點,(例如使用者或 者 體 部 以 體 網 者 網 係 名 個 息 在 實 機 5 1379548
器),或是群組。在節點之間的連線形成點對點圖表 使通訊與訊息被傳遞至這些節點或是於節點之間傳 而,由於拓樸改變、由於無法更新位址租賃、由於 群組功能或目的等,所以實體可能具有會因實體在 移動隨之而變的一或數個位址。此位址問題之典型 決方案為指定一固定名稱給每個實體,’以及當需 時,將此名稱「解析」為一目前位址。名稱至位址 必須非常快速,而且必須可容易與快速更新。 為了增加實體可被搜尋到並連線之可能性,許 點協定可允許實體藉由各種機構公告其個體或群組 一些協定亦可允許一客戶端,經由網路中來自其他 處理,而獲取其它實體之位址消息。當然,此位址 獲取係藉由保持一紮實圖表而使得點對點網路可 作。即是關於網路中其它點與群組之資訊越佳(相當 表越紮實),則可使一特別資源或紀錄之搜尋更為收 如同以伺服器為中心的環境,點對點圖表也可 開放而允許圖-表内之網路稽Γ案搜尋與分享。然而, 對點網路係以分散使用者或點之一圖表之形式存在 檔案需要認知的是通訊與資料(紀錄)係在網路中所 前從一點被傳送至另一點。提供此路徑之系統包括 與 0 S P F。然而,此目前系統至今仍受限於點對點 完全發展之限制。此外,點位點網路目前缺乏適當 管理,而導致當成員之一者離開群組時,此圖表有畴 斷」或成分裂狀。在此例子中,圖表之一部份之資 ,其可 遞。然 已改變 網路中 架構解 要連線 之翻譯 多點對 位址。 請求之 消息之 連續運 於,圖 敛0 以完全 因為點 ,分享 有點之 Usenet 技術之 的圖表 卜會「切 訊可能 6 1379548 不再被傳送至分割區之另一側的點成員,此分割區係因其 中一點之離開而產生。更為一缺點則是,沒有適當機構可 以偵測此分隔區。 除了習知已存在之功能問題,網路流量也很容易淹沒 在該網路雲(cloud)中參與之點。訊息大小與結構降低了點 快速處理訊息之能力,而導致當網路雲大小變大時,通訊 被延遲或中斷。
因此,此技術中需要一種點對點訊息協定與資料結 構,用以解決上述與其它已存在於此技術中之問題。 【發明内容】 本申請案中揭示之發明概念包括一種訊息之可擴充資 料結構,其適用於一種點對點名稱解析協定。此訊息資料 結構利用訊息資料欄位以構成各種使用於PNRP之訊息。 每一訊息資料欄位包括一訊息元件。較佳為,第一攔位係 訊息標頭元件,其係包括協定資訊且係辨別訊息類型。 • 如同訊息本身,每個訊息元件包含一些訊息元件資料 欄位。這些訊息元件欄位包括該訊息元件之一類型欄位、 一長度欄位、與内容或承載。類型攔位包括代表表明該元 A 件類型之標誌。長度攔位係辨識包括欄位類型與長度攔位 之該訊息元件的長度。 在一具體實施例中,為了適當的操作點對點名稱解析 協定(PNRP),至少要形成十個訊息。此十個訊息包括一 7 r1379548 RESOLVE 訊息、一 RESPONSE 訊息、一 SOLICIT 訊息、 一 ADVERTISE 訊息、一 REQUEST 訊息、一 FLOOD 訊息、 一 INQUIRE 訊息、一 AUTHORITY 訊息、一 ACK 訊息、 以及一 REPAIR訊息。這些訊息係由較佳具體實施例中之 二十二個不同訊息元件構成。 【實施方式】
圖式中相同之標號代表相同之元件’本發明係舉例為 實施於一適合之計算環境中。雖然不是必須的,將以利用 個人電腦執行之電腦可執行指令,例如程式模組之一般背 景來敘述本發明。一般而言,程式模組包括例行程序、程 式、物件、组件、資料結構等,其可進行特別之工作或實 施特別之抽象化資料類型。此外,熟習此技藝者可瞭解本 發明亦可實施於其它電腦系統組態,包括手持式元件.、多 處理器系統、以微處理器為基礎或可程式之消費性電子、 網路pCs、微電腦、大型電腦、與諸如此類。本發明也可實 施於分散式計算環堍中’此分散式計算環境係利用以通訊 網路而相互連接之遠端處理元件來執行工作。在此分散式 。十算環境中,程式模組可同時位於本地端與遠端記憶體儲 存元件中。 第1圖係說明適合之計算系統環境1 00之一例子,而本 發明可實行於其上。此計算系统環境100僅是一適合之計算 環境的例子,且非用來限制本發明之使用與功能性的範 8 r r1379548 圍。計算環境100也不應該被解釋成與其内之一組件或組件 組合有任何依附與需求關係。 本發明可選擇性的具有多個其它一般用途或特別用途 計算系統環境或組態。適用於本發明之習知計算系統、環 境與/或組態之例子包括,但不限於此,個人電腦、伺服電 腦、手持式或膝上型裝置、多處理器系統' 以多處理為基 礎之系統、機上盒、可程式消費性電器、網路P c s、微電腦、 主機電腦、包括任何上述系統或元件之分散式計算環境、 與諸如此類。 可利用藉由電腦執行之電腦可執行指令諸如程式模組 之一般背景來作敘述本發明。一般而言,程式模組包括常 式、程式、物件、組件、資料結構等等,其可進行特別之 工作或實施特別抽象化資料類型。本發明也可實施於分散 式計算環境中,此分散式計算環境係利用以通訊網路而相 互連接之遠端處理元件來執行工作。在此分散式計算環境 中,程式模組可同時位於本地端與遠端記憶體儲存元件。 請參考第1圖,實施本發明之一具體實施例包括具有電 腦110形式之一般用途計算元件。電腦110之組件可包括, 但不限於此,處理單元1 2 0、系統記憶體1 3 0與系統匯流排 1 2 1,此系統匯流排可耦接各種系統組件包括系統記憶體至 處理單元1 2 0。系統匯流排1 2 1可為數個類型之匯流排結構 邊由 週藉 'ο 器排 制流 控匯 體域 憶區 記 一 或何 k— t 流中 匯構 體架 憶排 記流 括匯 包種 , 各 個 用 1 使 何與 -t br 飪 為 的流 中 匯 9 範例,但不限於此,此架構包括工業標準架構USA)匯流 排、微通道架構(MCA)匯流排、增益工業標準架構(EISA) 匯流排、視頻電手標準協會(VESA)區域匯流排以及週邊零 件連接介面(PCI)匯流排’亦稱為整合型匯流排。 電腦110通常包括各種的電腦可讀取媒體。電腦可讀取 媒體可為任何可用之能夠被電腦110存取之媒體,且包括揮 發性與非揮發性媒體、可移除與不可移除媒體。藉由範例, 但不限於此’電腦可讀取媒體可包括電腦儲存媒體與通訊 媒體。電腦儲存媒體包括揮發性與非揮發性媒體、可移除 與不可移除媒體’其可由任何方法或技術完成,用以儲存, 例如,電腦可讀取指令、資料結構、程式模組或其它資料 之資訊。電腦儲存媒體包括,但不限於,RAM、R〇M、 eeprom、快閃記憶體或其它記憶體技術、、數位 多功能光碟(DVD)或其它光學碟式儲存、卡式磁帶、磁帶、 、或任何可用來儲存所需資
磁碟儲存或其它磁式儲存元件 訊且.可被_電腦11 0存取之媒體。 10 1379548 線媒體。上述之任意組合亦庫眉 j'愿屬於電胳可讀取媒體之範圍。 系統記憶體130包括趣森& & 括揮發性與/或非揮發性記憶體形式 之電腦儲存媒體,如唯讀記恃髅, 7買。己隐體(R〇M)13l與隨機存取記憶 體(RAM)132。典型之其女私山 . 輸出入系統(BI〇s)133係儲存於 ROM 131中,此基本輪出入糸社 系統包括’例如開機時,幫助 電腦U0中元件間之資訊轉移之基本程序。典型之讀⑴ 包括正被處理單元12。操作或存取之資料與/或程式模组。 藉由範例,但非用以限制’第i圖係繪示操作系統134'應 用程式135、其它程式模組136與程式資料137。 電腦110也可包括其它可移除/不可移除、非發性,非揮 發性電腦儲存媒體。經由範例,其僅為舉例,第1說明硬 碟機141,其可讀自或寫至*可移除、非揮發性磁式媒體丨 ㈣機15卜其可讀自或寫至不可移除、非揮發性磁碟此 以及光碟機155’其可讀自或寫至不可移除、非揮發性光碟 156 ’如CD R0M或其它光學媒體。其它可用來作為操作環 境範例又可移除/不可移除、揮發性/非揮發性電腦録存媒 體包括,但不限於,磁帶卡匣、快閃記憶體卡數位多功 能光碟、數位錄影帶、固態RAM、固態R0M與諸如此頬。 典型上’硬碟機141係經由非揮發性記憶體介面,如介面 ^〇,而連接至系統匯流排121。典型上,磁碟機ι5ι與光碟 機155係藉由可移除記憶體介面,如介面15〇,而連接至系 統匯流排121。 ” 這些驅動器與上述第1圖中相關聯的電腦儲存媒體,使 11 1379548
得電腦110可提供儲存電腦可讀取指令、資料結構、程式模 組與其它資料。在第1圖中,例如,硬碟機141係說明為用 以儲存操作系統144、應用程式145與其它程式模組146與程 式資料1 4 7。諳注意,這些組件可以相同或是不同於操作系 統134、應用程式135與其它程式模組136與程式資料137。 此處之操作系統144、應用程式145與其它程式模組146與程 式資料147被給予不同之標號,表示最起碼其為不同之副 本。透過輸入元件,例如鍵盤162與指標裝置161,通常稱 為滑鼠、軌跡球或觸控板,使用者可以輸入命令與資訊予 電腦110。其它未說明之輸入元件可包括一麥克風、控制 桿、遊戲墊、衛星碟、掃描器、或類似物。這些與其它輸 入元件通常利用耦接至系統匯流排之一使用者輸入介面 160,而連接至處理單元120,但其也可被其它介面或匯流 排結構連接,例如平行埠、遊戲埠或萬用序列匯流排 (USB)。螢幕191或其它類型之顯示裝置也可以經由一介 面,例如影像介-面-1 9 0,而連接至系統匯流排1 2 1。除了螢 幕,電腦也可以包括透過一輸出週邊介面195而連接的其它 週邊輸出裝置,例如喇。八1 9 7與印表機1 9 6。 電腦1 1 0也可以操作於一網路化之環境中,此環境係邏 輯連線至一或多個遠端電腦,例如遠端電腦1 8 0。雖然第1 圖中僅說明記憶體儲存裝置1 8 1,·此遠端電腦1 8 0也可以為 另一個人電腦、伺服器、路由器、網路PC、同級裝置或其 它共用的網路節點,以及通常包括上述與電腦110有關聯性 12 丄379548 之部伤或全部元件。第1圖揭示之邏輯連線包括一區埤網路 (1^^〇171與廣域網路^八>〇173,但也可包括其它網路。此 網路環境常見於辦公室、企業範圍内的電腦網路、内部網 路與網際網路。
當使用於LAN網路環境中時,個人電腦no可透過網路 介面或轉接卡170而連接至LAN 1 7 1。當使用於WAN網路環 境中時’電腦110通常包括一數據機172或其它構件,用以 在WAN 173’如網際網路上建立通訊。數據機丨72,其可為 内部或外部,可經由使用者輸入介面18〇或其它合適機構, 而連接至系統匯流排1 2卜在網路化環境中,也可以儲存揭 示之與個人電腦Π 〇相關聯的程式模組,或其上之部份,於 遠端記憶體储存元件β藉由範例,但不限於此,第丨圖說明 一遠端應用程式185位於記憶體裝置181上。可瞭解,上面 顯示出的網路連線僅為舉例,也可以使用其它可在電腦之 間建立通訊連線的構件。
’ 一琛多個電腦 可執行之動作與操作的代表符號,來描述本發明。如上, 可瞭解此常被稱為電腦可執行之動作與㈣ 形式之電腦處理單元的表達資料之電子 。現之運作。此運 作係轉換資料或將資料保持在電腦記憶 “独示統之位置上, 此電腦記憶體系統可以習知此-技藝 获$ j埋解之方 改變電腦的之操作。用來保存資料 武董.,或 — 貢科結構係記憶體之 貫鱧位置’其具有以資料格式定義之’ 王筲。然而,雖 13 1379548 然先前文章中已描述出本發明,但非用以限制,熟習此技 藝者可以理解此後所述之動作與操作也可實施於硬體中。 如上所述’點對點(P2P)通訊協定之成功係決定於通訊 協定在選擇之實體之間建立有效連線的能力。同樣地,p2p 網路中群組之形成係依賴此能力。因為特定使用者可能在 具有不同位址之各種位置以各種方式連線至網路,因此較 佳之方式係指定一特定身分予使用者或群組,然後再經由 通訊協定將此身分解析成一或數個特定位址。本發明之身 分管理系統與方法發現此點對點名稱解析協定(pNRp)之 特別應用性’已揭示於共同申請中的申請案第〇9/942164 號,名稱為點對點名稱解析協定(PNRP)與使用於此之多層 快取,申請曰為2001年8月29曰、揭示於共同申請中的申請 案第1 0/1 2 2,86 3號,名稱為點對點名稱解析通訊協定(pnrP) 之多層快取架構與快取管理方法,申請曰為2〇〇2年4月15 曰、以及揭示於共同申請中的申請案第〇9/955,923號,名 稱為點對點群組管理與保持點對點圖表之方法,申請日為 2001年9月19曰。上述引證案之教示與揭示一併供作參考。 同樣的’共同申請中的申請案第〇9/956,260號,名稱 為點對點名稱解析通訊協定(PNrp)安全性基礎架構與方 法申睛日為2001年9月19日,描述了 一種基本的安全性基 礎架構’其可確保網路中各種一實體之身分是有效的,而不 需使網路負擔過多流量.在p2p群組環境中,共同申請中 的申請案第09/955,924號,名稱為點對點名稱解析通訊協 14 1379548 定(PNRP)群組安全性基礎架構與方法,申請曰為2001年9 月19日,描述了一種用於此群組之基本安全性基礎架構。 上述引證案之教示與揭示一併供作參考。然而,雖然本發 明之介面與方法發現此PNRP之特別應用性並與其互動 性,熟習此技藝者將可理解本發明並不限於此,本發明亦 可應用於任何欲提供P2P圖表管理功能之P2P系統或協定。
如上述之共同申請中之申請案所述之PNRP與提供之 一些有用的發明背景,PNRP係一種以點為基礎的名稱至位 址之解析通訊協定。點來源可被指定一點名稱。一應用程 式可註冊具備PNRP之點名稱,藉以使此點可被其它點發 現。其它應用程式可使用PNRP以解析點名稱,藉以獲得註 冊之應用程式的對應IP位址與埠。PNRP並未提供任何機制 以找尋或瀏覽點名稱。分散點名稱之機制必須藉由其它構 件來完成。點名稱至位址之解析係藉由使參加的點共同合 作傳遞訊息至另一者,以及保持點名稱至位址對映之分散 式快取而完成。除了初始化之外,註冊與解析機制無關於 伺服器存在與否。當PNRP之例子第一次開始時’其需要找 出其它可用以交換資料之其它PNRP例子的位址。假如沒有 其它構件可以利用,則可以使用習知之伺服器以獲得其它 PNRP例子之列。 — 換句話說,PNRP可允許點應用程式註冊—點名稱 (peer name)至端點對映,並解析點名稱以獲得此端點。此 處可有一些定義。點名稱係一字串,其可定義一點來源。 15 1379548
為了可註冊點名稱,一應用程式必須存取一對 金鑰對係用來對某些訊息簽章以避免被竄改。 導自金鑰對,藉以可確認身分歸屬。端點為一 址、埠與通訊協定。事實上,一列端點也可以 稱來註冊,當解析點名稱之後,傳回此列表。 通訊協定服務之一例子。每一電腦通常有一節 (cloud)為可相互聯繫之節點間之網路。單一節 超過一個網路雲。網路雲具有等同於IPv6定ΐ 域、位置區域與連線區域之一領域性質(scope 一節點也可具有多位置區域網路雲與多連結區 節點間之通訊不可從一網路雲橫穿至另一網路 名稱係用來區別這些網路雲。點名稱可被註冊 點上。PNRP可使每個註冊均有區別。與每個點 關之端點列都會不同。在節點中,可以將點名 過一網路雲上,其中點係連接至此網路雲。這 都是有區別的。正常而言,每一個這些例子中 不同。當節點嘗試解析名稱時,其係在選擇之 行。只有當點名稱註冊至相同之網路雲中時, 功。也可以同時在超過一網路雲上解析點名稱 被當作獨立之解析請求來處理。 PNRP服務包括數個一起運作之模組,如; 服務管理組件2 0 0處理簡單的内部管理,例如 PNRP月艮務。RPC祠月艮器與樁202提供了客戶端,
公鑰/私鑰。 點名稱也可 IPv6/IPv4 位 單一之點名 節點係PNRP 點。網路雲 點可連接至 I之範圍-全 property) ° 域網路雲。 雲。網路雲 於超過一節 名稱例子相 稱註冊至超 些註冊每個 的端點列都 網路雲上進 解析才會成 ,但是這些 客2圖所示。 開啟與停止 處理與PNRP 16 1379548
服務間的介面。其管理提供請求之入口點所露出的介面 以及管理事件與請求完成之通知。其亦處理客戶端過程 止之回復。網路雲管理器204可維持特定客戶端請求之 態,且維持可利用之PNRP網路雲之列。其係負責產生網 雲與報告客戶端網路雲狀態之改變。 快取管理器206可維持區域PNRP快取,以及每個網 雲之區域註冊之PNRP名稱列。其係分散式快取之部份。 提供查詢與下一站選擇給來自其它電腦之解析請求。其 由週期性地起始解析請求,來執行其本身快取之維持, 確保良好之結構化快取。其可進行網路雲分裂之檢測並 試修復之。其提供具備多個已註冊之點ID的能力,並快 結構化以支援每一個。通訊協定管理器208係處理有效 PNRP訊息之製造與傳送以及處理接收之PNRP訊息。其 與快取管理器206 —同運作,藉以執行PNRP通訊協定。 後,訊息傳輸器2 1 0係處理訊息之真實傳送與接收。其掌 多網路介承與位_址,以及偵測區域位址組之變化。假如 要多通訊協定(IPv4與IPv6),則此組件將會處理這兩個 訊協定。 每個PNRP節點維持點名稱至端點對映之快取給網 雲中之某些其它節點。在節點之間交換根據本發明所建 之訊息,以散佈點名稱之資訊給網路雲中之節點。每個 點都有責任適當地維持其快取。如同上述申請案所述 PNRP協定定義了以數字表示的名稱空間。每個點名稱都 終 狀 路 路 其 藉 以 嘗 取 之 係 最 管 需 通 路 構 節 被 17 1379548 轉換成一數字’且可比較此數字以決定在名稱空間内之鄰 近性。當解析節點名稱之請求抵達節點時,其可比較此數 字與其快取中之數字’藉以發現數字上較接近所需節點之 一節點。解析請求係以此方式從一節點通至另一節點,而 每一跳巧·更接近其標的。
藉由上述共同申請案中所描述之雜湊(hashed)功能將 點名稱轉換成128位元數字’稱作P2P ID’s。相同的點名稱 總是產生相同的P2P ID。同樣具有一 128位元數字之一點名 稱註冊的一特疋例子’被稱作一服務位置。這兩個共同產 生256-位元數字,稱作卩\1^10。?^11?10之服務位置部份 使得點名稱註冊之此特定例子在網路中是唯一的。
一應用程式可註冊具有PNRP之一點名稱。PNRP ID係 由名稱產生,且傳送訊息以通知其它節點此註冊。相同之 點名稱可註冊於超過一個節點。每個節點上P2P ID將會相 同,但是每個節點之PNRP ID都應該是唯一的。一應用程 式可要求解析一點名稱為一位址。一 P 2 P ID係自點名稱所 衍生出’且傳送訊息至其它節點以確定具有此已註冊P2P ID之節點所在。當P2P ID被解析成一位址時,則回覆一已 認證點位址(CPA)。此CPA包括標的之PNRP ID之服務位置 部份、目前IP位址、公鑰與許多其它欄位。簽章此CPA以 避免被竄改。 也可由許多不同節點註冊一給予之P2P ID。PNRP使用 「服務位置」下標以.確保每個已註冊例子具有一唯一之 18 1379548 PNRPID。一「服致从 置」係一 1 2 8位元數字,其對應於一 唯一之網路服務端κ ρ, •。藉由結合1Ρν6位址、埠、通訊協定 與部份之公輪可產& 值。PNRP客戶端應會認為服務位置 為意義模糊的® —服藤你里曰> 服務位置具有兩個重要性質。在任何時 候,一服務位置辨識— 點名稱之一唯一例子。當比較兩個 服務位址時,每一個的杳田么班妒& 常用别置符號之長度係一網路鄰近
陡之σ理量測。兩個開端具有四個位元相同服務位置通常 並不會比開端具有三個位元相同服務位置較分肖。這些優 點僅適用於全域本機單播IPv6位址。 PNRP ID’s之產生與製造僅是服?服務之一部份。 PNRP服務執行可被區分以個階段。首先為發現p耐網 路雲。-新節點必須找出其想加入之一存在之節點。此網 路雲可為全域PNRP網路雲、區域位置(企業)網路雲、或一 連線區域網路雲》第二階段為一 pNRp網路雲之加入。一旦 此新節點發現一存在之節點’其可進行一同步程序以獲得 邛份之已.·存在郎點頂」端-快取層。一單 '一快取層之一子集 知·供足夠之資訊給一新節點以開始加入網路雲中。第三階 段為計劃主動加入網路雲中。當完成初始化之後,節點可 入PNRP ID註冊與解析。在此階段中,此點也可進行規 則的快取維護。最後階段係有關於點離開網路雲。此節點 反°主冊任何區域的已註冊之P N R P ID ’ s,然後結束。..... 本發明之完成PNRP各種功能之PNRP協定,包括十個 不同頰型之訊息。在一高層,此訊息包括一 RES〇LVE訊 19 1379548
息,其可請求將一標的PNRP ID解析成一 CPA °使用一 RESPONSE 1包作為一元成的RESOLVE §青求之結果。一 FLOOD訊息包含一 CPA ’其用於接收者之PNRP快取。使用 一 SOLICIT訊息以要求一 PNRP節點公告其頂層快取° 一 ADVERTISE訊息包含節點之頂層快取中之CPAs之一列 PNRP id。使用一 REQUEST訊息以要求一節點流入 ADVERTISE,d CPAS之一子集。使用一 INQUIRE訊息詢問一 節點,是否一特定PNRP ID已註冊於此節點上。使用一 AUHORITY訊息以確認一 PNRP ID之區域註冊,且選擇性 的提供一憑證鏈’以確收此ID之CPA。使用一 ACK來表米 收到與/或成功處理一些訊息。最後,使用一 REPAIR訊息 以合併可能分裂的網路雲》
一節點可起始六個基本類型之PNRP交易,其間可應用 本發明之訊息。這些交易包含發現網路雲、同步化、解析、 泛流、身分認證、與修復。為了提供基本理解這些交易, 因為其係有關於本發明之訊息與訊息結構,因此在上面已 確認之應用程式中已描述其細節與這些交易之簡單描述。 發現網路雲之交易可允許一點發現一點網路雲。在一 較佳具體實施例中’每個節點可加入數個網路雲中。節點 可依據本身之網路連線而決定加入這些網路雲組中。假如 一節點電腦具有多介面卡,則其可加入多連線區域網路一 雲。假如節點為部份之支援lpv6i 一位置,則其可存取一 位置區域網路雲《假如—節點連線至超過一個此類位置(也 20 1379548
許經由VPN),則其可存取多位置區域網路雲。假如 係連線至網路,則其可存取全域網路雲。 一節點可選擇加入或不加入其存取之一網路雲 一應用程式首先要求註冊一網路雲上之_點名稱或 解析網路雲上之一點名稱時,若此節點尚未加入 中,則此節點必須加入網路雲中。其必須確認網路 少一其它節點之位置以加入網路雲中。假如其無法 它節點,然後其可假設其為網路雲中之第一個節點 其會等待以後的節點加入。 每次當一節點加入一網路雲中時,其可進行發 雲以找出另一節點。發現網路雲也可晚點發生,假: 實作判定其快取並不健全,且需要獲得更多快取入 如開始的快取發現之嘗試無效,則可晚點做另外的 使用下列程序進行發現網路雲。首先,一點可由存 取進行發現。在此一程序中,點首先檢查存在之快 如不存在快取,則點必須藉由下面討論之節點位置 發現。假如快取入口已經存在,對於所有快取入口 藉由指定CPAS之偏好來計算之優先性為未過期,然 為長使用期,然後CPAS為最近將到期。然後點嘗試 步化選擇之節點,直至其中之一提供一些快取入口 _ 如上指出,假如沒有存在快取,則點藉由提供 位置嘗試進行發現。在此程序中,點檢查是否管理 體指定一組之點連接至何者。假如沒有,則點嘗試 一節點 中。當 是要求 網路雲 雲中至 發現其 ,然後 現網路 ^ PNRP 口。假 嘗試。 在之快 取。假 來嘗試 ,點可 後 CPAS 依序同 〇 之節點 組態具 下面描 21 1379548 述之群播發現。否則,對每個指定的端點,點嘗試依序同 步化直至其中之一者提供一些快取入口。
對群播發現而言,假如有簡易服務發現通訊協定 (SSDP)可利用’點可發行用於所需網路雲中之一 pNRp服務 例子之一 SSDP MSEARCH。使用於SSDP搜尋訊息之搜尋標 的子串為 “urn :Microsoft Windows Peer Name Resolution Protocol: <maj〇r:>:<Pr〇t〇col>:<Scope>” 其中 <major> 為表 示版本之一數字,「ipv6」,以及<Scope>為 「全域」、「區域位置」、或「連線區域」之一者。可預先發 行此搜尋’以便可即時獲得回應。假如沒有S S D P可以利 用,點可嘗試使用其它發現通訊協定。假如沒有其它通訊 協定可利用,然後點將必須嘗試下面所述之目錄名稱伺服 機(DNS)發現。然而,假使收到回應,將回應輸入一列要 嘗試之節點中。假使在短期間内,沒有回應,則節點可能 想要嘗試其它發現通訊協定。此期間可由實作來決定。此 點可嘗試依序與選擇之節點同步化,直至其中之一者提供 一些快取入口。 就DNS發現而言,點發出一 DNS詢問以詢問習知之種 子伺服器之名稱。用於全域網路雲之此名稱可為例如 SEED.PNRP.NET。假如成功,點可進行下面所述之同步 —化έ假如此時網路雲發現尚未成功,然而,PNRP設定網路 雲狀態為無法發現網路雲中之其它成員,以及假設其為網 路雲中之第一個節點。其可稍後再嘗試同步化。 22 1379548
同步化可允許一節點從另一節點快取中獲得_組 CPAS。同步化係在網路雲發現之後進行。其進行係使用一 個從網路雲發現回覆之一組節點中任意選擇的單一節點。 防衛此同步化以減輕某些攻擊。假如老化導致用於網路雲 之快取變空’則也可以進行同步化,但是這應該很少發生。 在開始同步化之前,節點必須確保其具有至少一區域化已 註冊之CPA。假如一點名稱尚未註冊,則節點可產生其本 身於網路雲中之節點ID。此同步化過程涵蓋本發明之訊息 之五個類型,包含 SOLICIT、ADVERTISE、REQUEST、 FLOOD、與 ACK » 第3圖說明同步化之簡單訊息交換。在第3圖中,假設 節點A 212正在初始同步化節點B 214。在此情況下,在節 點間流動之訊息會如同第3圖所示。具體而言,SOLICIT訊 息2 1 6從節點2 1 4請求一列的PNRP ID,此節點係選擇自網 路雲發現過程中。如表1所述填入SOLICIT訊息216。
SOLICIT訊息欄位 值 -目前標言志 雜湊.化目前標誌之值 來源 CPA 用於區域已註冊點名 稱或已產生節點ID之 CPA 表1
節點可保留用以產生雜湊化目前標誌之目前標誌值的 路徑》和一重試計數一樣,計時器也與此狀態相關-聯假_ 如傳送之SOLICIT 216,沒有收到一 ADVERTISE訊息21 8作 為回應’則將重新傳送SOLICIT216。假如重試計數超過, 23 1379548 則釋出此狀態且終止交易。
收到SOLICIT 216之節點214以ADVERTISE訊息218作 回應。此ADVERTISE訊息21 8包含PNRP IDS之陣列。此節 點214首先使用調節啟發法以決定是否它願意從事同步化 交易。假如它很忙,則其以陣列中無PNRP IDS之 ADVERTISE訊息2 1 8作回應。除此之外,它從快取入口中 選擇了良好分散之PNRP IDs組。這可藉由使用頂層快取入 口或任意選擇來完成。假如快取中沒有足夠之入口 ’則節 點214中也應包含其本身區域註冊之IDS。此ADVERTISE訊 息218包括來自SOLICIT訊息216之雜湊化目前標誌。此 ADVERTISE 218被認為是給SOLICIT 216之確收。
假如PNRP IDs之陣列並不是空的,節點214也會保留 狀態為具有雜湊化目前標誌值之ADVERTISE 21 8已被傳 送。此狀態可為點陣圖之一位元。一計時器係與此狀態相 關聯,因此假如在例如1 5秒中内未收到一符合訊息’則放 棄此交易且釋出此狀態。此節點2 1 4也可將來源CPA從 SOLICIT訊息216加至其快取中。以如表2所示填寫此 ADVERTISE訊息 218。 ADVERTISE訊息欄位 值 目前標德 自SOLICIT所複製 之雜湊化目前標誌 值 ID陣歹ij PRRP Ids之列表 表2 24 1379548
當一節點212收到ADVERTISE 218,首先會確定其已 送出一對應SOLICIT 216。假如沒有,則丟棄此訊息。此 ADVERTISE 2 1 8被當作SOLICIT 2 1 6之一確收。假如 ADVERTISE 21 8中的PNRP IDS陣列係空的,則此交易完 成。否貝,J ,此節點212穿過ADVERTISE 218中之PNRP IDS 陣列,並選擇一個以加入其快取中。其送出一 REQUEST訊 息220,包括選擇之PNRP IDS陣列。在REQUEST訊息220 中,其設置用以產生SOLICIT訊息216之雜湊化目前標誌之 原始目前標誌值。如表3所示,填寫此REQUEST訊息220。 REQUEST訊息攔位 k 目前標法 用以在SOLICIT中產 生雜湊化目前標誌之 目前標誌值 ID陣列 PNRP IDs 列 表3 此REQUEST訊息220被傳送至節點b 2 1 4,其係以一 ACK222回應以表示收到且避免重新傳送。假如未及時收 到ACK 222 ’節點-A 2 1.2將會重新傳送此request。假如 所有的重新傳送都被執行,仍未收到一 REQUEST之一 ACK,則交易失敗並且終止。 . 假如此交易成功’相當於,節點212收到節點214之 ACK 222,接著節點214會證明此目前標誌係有效的。這 係藉由雜湊收到的目前標誌以及檢查是否符合上述儲存之 狀態’而完成此動作。假如不符合,則不進行進一步處理。 假如它是有效的’則對其快取中仍包含之陣列中的每個 25 1379548 PNRP ID,其傳送一 FLOOD 訊息 224!、2242、 . . . 224N。 此FLOOD訊息224包括用於PNRP ID之CPA。應該注意 的是FLOOD訊息並非同步的。亦即,在傳送FL00D(ID = 2) 2242之前,FL00D(ID=1) 224,並不需要被確收。一旦點 212收到FLOOD訊息224’FLOOD訊息224就會進行正常 處理。這包括傳送一 ACK226以及證明CPA之有效性。
假如選擇之IDS數字不夠大,此請求節點212可能決 定重複此程序。在此例子中,應使用不同之同步化節點, 以便可得到不同之IDS列。 藉由節點傳送一 RESOLVE訊息,可起始解析過程。一 RESOLVE之起始可因為一應用程式正請求解析一點名稱 為一位址,此為註冊一 PNRP ID之部份,此為快取維護之 部份,或偵測網路雲分裂。一 RESPLVE訊息包含某些旗標 與碼以開始解析處理,以設定在嘗試解析中可訪問多少節 點之限制,以及以導引ID比對之正確性。其具體指定了所 需之標的PNRP ID。在每-一站中插入下一站之ID,以及至 今所找到之最符合CPA。此外,也包括了已訪問之節點端 點之陣列,以追蹤RESOLVE訊息之站至站間路徑。 RESOLVE之原始傳訊者將其本身加入路徑中作為第一入 口。解析交易可將PNRP ID解析為一已認證點位址(CPA) » 只有CPAS的所有者能可靠地完成唭為了 CPA之解析請求。 快取化之CPA僅能被用作路由RESOLVE請求之提示。它們 不可被用來設定RESOLVE或RESPONSE之「最符合」攔位。 26 1379548
當達到此具有標的PNRP ID之節點或是當訪問之節點 之數目等於resolve中設定之最大站,或當路徑中任何節 點不可能再傳遞RESOLVE給一較佳節點時,則一RESOLVE 訊息就會終止。終止之後,RESOLVE中選擇之内容係被轉 換成一新的RESPONSE訊息,此新的RESPONSE訊息會被傳 遞回RESOLVE發起者。此RESPONSE包含RESOLVE中的「最 符合」CPA ’以及已訪問之節點列。一旦RESPONSE到達 RESOLVE原始傳訊者,藉由比較「最符合」CPA的PNRP ID 與標的,此原始傳訊者可輕易地證明是否它們找到了標的 CPA。
第4圖中係說明RESOLVE/RESPONSE交易之三節點例 子。在此簡例中,節點A 2 2 8係嘗試經由節點B 2 3 0來解析 節點T 232。除了 ACK之外,解析交易包括3個訊息, RESOLVE、RESPONSE與 AUTHORITY。一旦解析完成,節 點A 228可如下所述直接傳送一 INQUIRE訊息給節點T 232 ° 對於這些RESOLVE訊息,可以考慮三個例子,前兩個 例子係說明於第4圖中。這三個例子於節點A 2 2 8起始一 RESOVE 234,將一 RESOLVE 236 從節點 A 228 傳遞至另一 節點B 230’且具有從一節點傳回之一 RESOLVE(圖4中未顯 示)。下面將接著討論每個情節-… 首先,討論在節點A228上起始一 RESOLVE。如第4圖 所示,為了某些原因,節點八228起始一尺£801^£。這些 27 1379548
原因包括一應用程式解析請求、註冊公告、快取廣度維護' 或網路雲分裂偵測。此發起者22 8也具體指定一操作碼,其 表示是否一區域註冊ID可以滿足此RESOLVE。假如其可 以,則節點A228掃描區域註冊ID組以尋找符合者。假如發 現一個,則在本身具有符合ID之節點A 228内即完成 RESOLVE。假如區域註冊ID不被接受,或假如沒有區域ID 是符合的,則產生具有表4之欄位之RESOLVE訊息234。然 後將此R E S 0 LV E訊息234轉遞給一些其它節點230以進行 如下所述之處理。 標的ID 設定為所需ID NextHop 從快取中選擇之 PNRP ID MaxHops ^能固定或是相對於預 估之網路雲大小 BestMatch 區域註冊之點名稱CPA Path 1入口,包括最佳來源 位址與埠 ReasonCode, OperationCode,Precision 依解析起始者而定之值 表4
當節點A 228想要或需要將一 rES〇LVe 224傳遞至另 一節點B 230,則首先一定要先選擇下一節點。為了選擇下 一站,點A 228產生了具有最靠近標的id(節點τ 232)之 PNRP IDs之三個快取化的CPA之列L,除了任何其位址係已 列於路徑中與位置比入之表靠近區域註冊ID更不靠近標的 ID者之外。假如標的ID在列L中,則選擇那個入口為下一 站。否則’假如列L中不是空的,則任意選擇一入口。換 28 1379548 句話說,節點A228找出一些位置比此節點更靠近標的之新 節點,且選擇其中一者以將RESOLVE訊息234傳遞至此者。
假如節點A228能夠選擇下一站,則節點A 228插入一 適合的入口於「收到之點陣圖」中。節點A228將其本身加 入路徑中,選擇其最佳位址給選擇之下一站,以及標示入 口為被接受。節點A228設定NextHop為選擇之標的之預期 的PNRP ID,並且將RESOLVE訊息234傳遞至節點B 230。 假如成功送出RESOLVE訊息 234,則此傳送節點228預期 可收到AUTHORITY訊息形式238之一確收。假如收到 AUTHORITY,則節點228可維護RESOLVE 234之背景,以 及等待一時間結束值,以等待一 RESPONSE 240訊息被回 覆。假如經過一些時間後,沒有收到AUTHORITY 23 8,則 再次傳送RESOLVE 234。在NextHop被假設為無效之前, 將會發生總數為N之重試。在一較佳具體實施例中,N = 3。 假如重試的次數超過,則從區域快取中移除NextHop CPA,並且將此入口加入路徑中以作為失敗的站。假如站 數並未超過,則從區域快取中選擇另一 NextHop,並且重 複此過程。假如路徑中之入口數目等於或大於MaxHops, 則產生具有RESULT_MAX_HOP_LIMIT_HIT之回應碼 RESPONSE訊息,並將此訊息傳送至路徑中被標示為被接 受之最近入口。 假如節點無法找到下一站,則其檢查是否標的ID應在 最低快取層。假如應該,接著節-點會懷疑此標的ID是否不 29 1379548
存在。此節點檢查存在之路徑入口以及計算被標示為可疑 之數量。假如可疑數目超過一臨界值’則產生具有 RESULT_TOO_MANY_MISSES之回應碼之 RESPONSE訊息,並 且將此訊息傳送至路徑中標示為被接受之最接近之入口》 假如節點無法找到下一站,但是可疑數目未超過臨界值, 節點會將RESOLVE傳回至路徑中標示為被接受之上個節 點。此節點首先會將其本身加入路徑中,選擇其最佳位址 給標的節點,以及標示入口為被拒絕的。其設定NexHop 為0,以及設定RF_IGNORE_NEXTHOP旗標以表示回溯追
蹤。假如標的ID應位於節點之最低快取層,則其懷疑標的 可能不存在。在此例子中,節點也會將其路徑路口標示為 可疑的。假如節點無法找到下一站,且路徑中除了其本身 沒有其它節點,則其為RESOLVE訊息之原始傳訊者。在此 例子中,其可以RESULT_NO_BETTER_PATH_FOUND之回應碼 將一結果傳回給呼叫者,代表解析失敗。使得呼叫者可獲 得 B._estM_a.t..ch- CP.A。 節點B 230收到一 RESOLVE訊息234,其包括一標的 PNRP ID、BestMatch CPA、Next Hop PNRP ID、以及列出 所有節點之位址之路徑,這些節點係進行過RESOLVE »假 如旗標欄位不具有rf_ignore_nexthop設定且 BestMatch CPA可能為具有一 CPA或為空的,節點B 230檢 查其區域處理負擔。假如負擔太大而不能處理新的 RESOLVE請求’則其以旗標欄位設定為 30 1379548 AF_REJECT_TOO_BUSY 之 AUTHORITY 23 8作回應,且完 成處理。AUTHORITY接收者負責將被拒絕之節點端點加入 路徑陣列中並且重新路由此RESOLVE請求至它處》 接收節點230檢查路徑陣列是否包括至少一位址標示
為被接受,以及檢查是否最後一個上述位址相同於訊息來 源。若否,則不進行進一步處理。接收節點也可檢查收到 之請求之變數。假如一些變數不在有效網路雲内,則其以 一旗標欄位設定為 AF_INVALID_REQUEST 之 AUTHORITY 訊息作回應,且完成處理。無效變數之例子為假使MaxHops 太大。AUTHORITY接收者負責將被拒絕之節點端點加入路 徑陣列中並且重新路由此RESOLVE請求至它處。
此接收節點(例如節點B 230)檢查是否NextHop ID已 經在區域註冊。種子伺服器可能略過此測試。若否,則其 以旗標欄位設定為AF_UNKNOWN_ID之AUTHORITY作回 應’且完成處理》AUTHORITY接收者負責重新路由此 RESOLVE請求至它處。當收到AF_UNKNOWN_ID時, AUTHORITY接收者同時應該從其快取中移除AUTHORITY 傳送者之PNRP ID。假如訊息中包含BestMatch CPA,此節 點可盡其可能有效化BestM at ch。假如CPA不是有效的,則 節點從訊息中移除BestMatch CPA。假如CPA是有效的,則 節點依照一般規則決定是否將CPA加入其快取中^ 此節點也檢查路徑中是否已經有一入口給它。假如 有’則具有一迴路(loop),因為其非回溯追縱的RESOLVE。 31 1379548 此節點接著以旗標欄位設定為「af_reject_loop J之 AUTHORITY作回應,且完成處理。AUTHORITY接收者負 責將被拒絕之節點端點加入路徑陣列中並且重新路由此 RESOLVE請求至它處。
假如所有先前之檢查都通過了,則節點B 230送出一 AUTHORITY 238以確收此RESOLVE訊息234。假如 RESOLVE 旗標 RF_SEND_CHAIN 已設定,則 AUTHORITY 23 8包含NextHop之憑證鏈。AUTHORITY訊息中包含對應 於下一站PNRP ID之點名稱之分類器字串部份。
節點B 23 0檢查是否其具有比目前BestMatch更符合之 區域化註冊CPA »假如有,則以這個取代BestMatch。此節 點也檢查是否其具有滿足RESOLVE標準之區域化註冊 CPA,依據 OpCode、Precision 與 TargetID。假如有一符合 者或假如路徑中入口之數目> = MaxHops,則節點產生具有 目前BestMatch之RESPONSE訊息。複製RESOLVE訊息之路 徑至RESPONS-.E訊息之路-徑。節點設定ResponseCode以代 表 RESULT_FOUND_MATCH 或 RESULT_MAX_HOP_LIMIT_HIT。 然後,此節點從路徑以及標示被拒絕的後續入口中移除其 位址,以及傳送此RESPONSE至路徑中最接近之標上被接 受之入口。 假如節點B 23 0沒有傳送一 RESPONSE(如第4圖—所 示),則其嘗試傳遞此RESOLVE訊息23 6至下一節點T 232。 此傳遞過程依照上述之程序。亦即,節點T 2 3 2最初以一 32 1379548 AUTHORITY訊息242回應。然後,其進行上述之檢查,以 及決定其符合標的,以識別其本身為BestMatch之 RESPONSE訊息244回應節點230。節點B 23 0傳回ACK訊息 246以回應此RESPONSE 244。然後,節點B230檢查路徑並 傳遞RESPONSE訊息240至以ACK訊息248作回應之節點A 228 -
如上所指,一節點也可能必須處理一回溯追蹤之 RESOLVE。當節點收到一 RESOLVE訊息R,其包含一標的 ID PNRP ID ' — BestMatch CPA、一 NextHop PNRP ID、以 及已處理過RESOLVE之所有節點之一路徑表。對於已回溯 追蹤之 RESOLVE , 旗標欄位 則 設定 為 RF_IGNORE_NEXTHOP »此節點首先檢查其「收到之點陣 圖」以確認先前曾傳遞此RESOLVE。假如位元並未設定, 則棄置此訊息。然後節點檢查路徑以確保其位址位於路徑 上且其為路徑上標示被接受之最頂端入口。否則’棄置此 訊息。假如訊息沒有被棄置,則節-點將authority傳回傳 訊者以A C K此訊息。其不包含一憑證鏈。 假如路徑中入口之數目> = MaxHops,則節點產生具有 目前BestMatch之RESPONSE訊息S。將RESOLVE訊息R的路 徑複製至S的路徑。此節點設定回應碼以代表超過最大 站―。然後,此節點從路徑上移除其位址,並將RESPONSE 傳回路徑上標示為被接受之最近入口。假如節點沒有送出 一 RESPONSE,則此節點然後嘗試傳遞RESOLVE至下一 33 1379548 站。這是依照上述程序,但有些例外:a)「節點B230檢查 是否其具有比目前BestMatch更符合之一區域註冊CPA。假 如有,則以這一個取代BestMatch。」請勿實施;以及b) 目前是否節點為RESOLVE交易之原始傳訊者以及原因為 REASON_REPAIR_DETECTION,處理完成》
如上簡述,當節點收到RESPONSE訊息244與240,其 包含一 TargetID PNRP ID、BestMatch CPA與所有曾處理此 RESOLVE之節點位址之路徑列。此接收節點也檢查其收到 之點陣圖以確認其先前曾傳送符合此RESP0SNE 240與 2 44之RESOLVE 234與236。假如此位元沒有設定,則棄置 此訊息。此接收節點也檢查路徑以確保其位址為路徑上標 示為被接受之最後一個(最接近)。否則,棄置此訊息。假 如此訊息未被棄置,此節點傳送ACK 246與248以告知確 收。此節點盡其可能使BestMatch CPA有效,並將其加入節 點之快取中。將CPA加入快取十是受到一組規則之限制, 其需要進一步交換訊息,以便P可使BestMatch CPA有-效. 化。這已敘述於上述申請案中》 然後’節點自路徑中移除其本身。節點也移除標示為 先前被拒絕之入口,直到找到已標示被接受之入口或是列 已用盡。假如找到標示為被接受之入口,則節點會傳遞 response至此節點。假如此被傳遞RESP0NSE之節點.,並 沒有以ACK作回覆’則節點重傳N次之RESPONSE。假如重 傳時間結束’則節點從路徑中移除此失敗之目的節點,並 34 1379548
且重試此段落中上述之RESPONSE處理。假如路徑中,不 再有入口,則節點為原始RESOLVE 234之原始傳訊者。節 點2 2 8會使請求之確實原始傳訊者有效。假如沒有,則棄置 RESPONSE。假如回應碼指示成功,接著節點228會對· BestMatch CPA之來源進行一身分認.證檢查。這涵蓋了傳送 一 INQUIRE訊息250至標的節點232,以及查核傳回的 AUTHORITY訊息252。假如身分認證失敗,貝|J其改變回應 碼為IDENTITY_FAILURE。其將結果傳回呼叫者。 傳送者也可能片段化AUTHORITY訊息》可以確保接收
者在處理AUTHORITY訊息之前已經收到所有的片段。假如 在一合理時間内,有任何片段未被收到,則應重傳原始訊 息(INQUIRE或RESOLVE),除非重試次數已經超過。假如 AUTHORITY訊息旗標設定為AF_CERT_CHAIN,節點應在 用於標示乂311£1&1610之?\1^10之快取化的€?人上進行一鍵 確認操作。應該檢查此鏈以確保其上所有憑證均有效,以 及鏈之根葉間的關係為有效。應該比對鏈根之公鑰之雜湊 與CPA的點名稱之授權,以確保它們相符合。應該比對用 於鏈葉之公鑰與用來簽章CPA的金鑰,以確保它們相符 合。最後,應該檢查P2P ID以查看其為根據產生P2P ID之 規則之授權與分類器之雜湊。假如上述檢查任一者失敗, 則應從快取中移除CPA,以及應修改RESOLVE訊息以加入 節點位址,其中此節點係傳送AUTHORITY訊息至 RESOLVE訊息路徑,且標示為拒絕的。 35 1379548 假如已設定AF_UNKNOWN_ID,則應該從快取中移除 CPA。假如未設定AF_CERT_CHAIN,但是對應於ValidatelD PNRP ID之CPA需要一憑證鏈以查核,則應該從快取中移除 C PA,且應修改R E S 0 LV E訊息以加入節點位址,其中此節 點係傳送AUTHORITY訊息至RESOLVE訊息路徑,且標示 為拒絕的。
當對應於ValidatelD PNRP ID之CPA已經有效化,則其 應被標示為完全有效。分類器字串係取自AUTHORITY訊息 且陪伴 CPA。假如 AF_REJECT_TOO_BUSY、AF_UNKNOWN_ID、 AF_REJECT_LOOP、以及 AF_INVALID_REQUEST都是清楚的, RESOLVE已被接受以處理,以及AUTHORITY過程完成。
在某些例子中,收到RESOLVE訊息之節點可選擇不要 接受它之傳遞,但是仍然提供下一站建議給傳送節點。在 此例子中,節點回傳AUTHORITY訊息中之建議參考端點與 參考PNRP ID。在此例子中,AUTHORITY旗標值應包含 AF_REDIRECT。此收到具有 AF_REDIRECT之 AUTHORITY 之節點可選擇是否要使用參考端點以傳送RESOLVE訊 息。不論哪個例子,都將以AUTHORITY作回應之節點加入 路徑中。節點使用參考節點的唯一時機是在一例子中,在 此例子中發起RESOLVE之節點正在使用它來偵測網路雲 分裂,以及已以一 REASON_REPAIR之原因將RESOLVE傳 送至PNRP種子伺服器。在其它例子中,節點應忽略參考端 36 1379548
PNRP使用直接的泛流以在節點間傳播快取入口。數個 例子中使用泛流。回應REQUEST訊息之同步化期間’請求 之CPAS被泛流至送出REQUEST之點。此REQUEST訊息僅在 SOLICIT訊息被接受以及ADVERTISE訊息已被送出後’才 會被接受。無論CPA何時被加入快取之最低層,加入之CPA 被泛流至最靠近區域註冊ID之η點。η值可被調整,且較佳 η值為4。假如加入CPA之原因為收到FLOOD,則CPA不應 該被泛流至位址位於收到之FLOOD之被泛流列上之節 點。假如有足夠空間,位於收到之被泛流列上之位址應被 複製至新FLOOD訊息泛流列。在收到包含CPA撤銷之 FLOOD後,無論何時自快取之最低層中移除CPA,撤銷之 C PA係泛流至最靠近區域註冊id之η點。再一次,η值可被 調整’但較佳值為4。C Ρ Α不應該被泛流至位址位於收到之 FLOOD之泛流列上之節點。假如有足夠空間,位於收到之 泛流列上之位址應被複製至新F L 0 0 D訊息泛流列。最後, 當收到用於一新點之FL〇〇D,且CPA被加入快取之最低 層’則然後傳送—FLOOD訊息至具有區域點之ID的新點。 假如FLOOD來源就是新點,則屬例外。 PNRP不會產生持久的鄰居關係β在最不嚴格的認知 裡’ CPA快取令每個以cPA表示之節點都可被當成鄰居。然 而’從快取中加入與移除CPA並不需要告知CPA發行者。節 點快取中具有點的CPA並不保證其鄰居具有此節點的 CPA °此關係為不對稱的。然而,上述最後的FLOOD情況 37 1379548 嘗試產生對稱性給相互靠近之ID。
在對FLOOD進行任何動作之前,以ACK表示確收到 UDP FLOOD訊息。FLOOD傳送者保持一段時間之已傳送 FLOOD之狀態。假如收到ACK,則釋放此狀態。假如一段 時間未收到ACK,則重送FLOOD,且重設計時器。重試 FLOOD直至一指定次數’較佳為3。假如最後嘗試之後, 仍未收到A C K ’則釋放此狀態。此外,假如f L 0 0 D之標的 係位於傳送者之快取中’則移除此快取入口以避免將來嘗 試送出訊息至此無回應的節點。
當節點收到FLOOD訊息,則首先藉由送出一 ACK來表 示確收FLOOD訊息。旗標欄位設定為「KF — NACK」,假如 出現尚未區域註冊之有效ID。接著,FLOOD訊息就被有效 化。這包括對CPA簽名與内容進行區域認證。假如CPA被有 效化,則接著決定是否將CPA加入快取中。假如CPA係用於 區域註冊於相同節點之PNRP ID,則不需要將其加入快取 中假:如用,來對CPA簽章之身分無法單獨被CPA查棱,則將 C P A加入快取之兩個較低層中的一個,然後如同下面所述 進行身分認證。假如確認失敗,則節點會棄置FLOOD訊 息。假如成功,節點會繼續處理FLOOD。若CPA已經過期, 則節點棄置FLOOD。假如CPA係一廢止CPA,則節點會自 快取中移除對應之CPA_,假如有的話。若找到一個,節點 藉由送出FLOOD訊息以傳遞此廢止至其它鄰居。 假如CPA並非係一廢止CPA,則節點更新此快取。假如 38 1379548
快取中$存在一符合CPA ,則節點以新CPA資料更新快取 入口。假如其為新入口,則節點產生一新入口 ,並嘗試將 其加入快取中。假如需要移除其它入口以產生空間給它, 則可能不加入此入口 ,但由於較高的信任階層或較好的鄰 近性指標,存在之入口較佳是新入口。假如入口屬於較低 快取層,則其應該被加入。假如入口屬於較低快取層,則 其應該被傳遞至鄰居,即使無法將其加入快取中。假如在 同步化中收到FLOOD,則停止傳遞FLOOD訊息,因為其假 設所有發現的CPAS都已經被其它節點知道。假如FLOOD需 要被傳遞,則選擇靠近區域註冊ID之一組n PNRP。FLOOD 訊息被傳送至這些具有新CPA中的每一個,以及包含η鄰居 之一被泛流列,加上收到之F L 0 0 D訊息中收到的被泛流列 的内容。
身分認證係用以有效化C PAS之減輕威脅元件。其具有 兩個目的。首先,身分認證可確保CPA中指定之PNRP節點 具有來自區域註冊CP-A-之PNRP ID。第二,為了 PNRP IDS 之安全性,身分認證係確保使用一金鑰來簽章C PA,其中 此金鑰與PNRP ID中之授權間具有一加密的證明關係。在 上述申請中之申請案裡已揭示身分認證如何完成這兩個目 標的細節。 在兩個不同時機,會發生身分認證檢查。首先,當加 入CPA至最低的兩個快取層中時,進行身分認證。最低的 兩個快取層中的CPA有效性對於PNRP之解析PNRP IDS之 39 1379548
能力相當重要。在加入CPA至兩個快取層中任一者之前進 行身分確份可減輕一些攻擊。在此例子中CPA會被留在一 列中例如30秒’以等待AUTHORITY訊息。第二,在 RESOLVE過程中隨機進行身分認證。PNRP快取具有高快取 週轉速度。因此’快取中大部份的快取入口在它們被使用 之前會被覆寫。直到大部份的CPA被真正使用之前’ PNRP 不會使其有效。當CPA被用來路由RESOLVE路徑’ PNRP 肩負起RESOLVE訊息頂端身分認證。此RESOLVE包含「下 一站」ID,此「下一站」ID被如同INQUIRE訊息中之「標 的ID」一樣處理。如同INQUIRE之預期一樣’ AUTHORITY 訊息被用來確收RESOLVE。假如一隨機身分認證失敗,則 RESOLVE之接收者並非傳送者所認為的。因此,此 RESOLVE被路由至它處且從快取中移除無效之CPA。
為了舉例說明此確認,假設p係請求PNRP ID「T」之 身分認證之節點。N為接收此身分認證請求之節點。P產生 具有標的ID = T之一 INQUIRE訊息或是產生具有下一站=T 之 RESOLVE訊息(且未設定 RF_IGNORE__NEXTHOP) » Ν檢 查區域註冊之PNRP ID列。假如T不在此列中,N則以一 AUTHORITY訊息回應以指出ID T並未在本地註冊。假如收 到之訊息係RESOLVE,棄置此RESOLVE,因為p將會將其 傳遞至它處。當T位於N之PNRP ID列中,N建立一 AUTHORITY訊息且將標的ID設定為T。假如已設定 RF_SEND_CHAIN旗標,N擷取關於用以簽章CPA至PNRP 40 1379548 ID T授權之金鑰的憑證鏈(假如有的話)。將憑證鏈插入 AUTHORITY訊息中。並且將點名稱之分類器部份加入 AUTHORITY訊息中。
N傳送AUTHORITY訊息至P。假如AUTHORITY訊息大 於1 2 1 6位元組,則將訊息分裂成數個1 2 1 6位元組或是較少 位元組之片段,且送出每個片段。假如T係一未安全化之ID 或是假如CPA已經有效化(傳送具有清楚的RF_SEND_CHAIN 之RESOLVE),貝|J此處理完成〇 P可使CPA簽章金鑰與用以產 生PNRP ID T之授權間的關係有效。假如確認失敗,則棄 置此CPA。假如,確認失敗且起始訊息為RESOLVE,則p 將RESOLVE傳遞至它處》
如上述申請案中所解釋以及上面所簡述者,PNRP網路 雲有可能分裂《此由兩種方式產生。首先,網路雲可能獨 立地開始,且需要被合併。第二網路雲可能從一個開始, 但網路雲中一些片段則與網路雲中其餘片段分離。為了橋 接所有可能分裂,假設網路雲將具有指定的種子伺-服器。 其與經由DNS啟動(bootstrapping)之词服器相同。假如網路 雲中有數個種子伺服器,則種子伺服器必須週期性的互相 溝通以確保可交換快取中之ID。此可藉由使用同步化過程 來完成。這將可避免孤立之產生。 網路雲中之節點將會週期性的選擇種子伺服器以測試 是否此節點已孤立於主要網路雲中,且假如需要的話會嘗 試使其合併回去。節點分裂測試之頻率係反比於其對於網 41 1379548 路雲大小之預估值。這是避免太頻繁的分裂測試。在假設 其可預估網路雲大小之前,最近加入網路雲中之節點應該 等待一段時間予其快取以被佔用。
使用PNRP REPAIR訊息,藉以使得網路雲可以合併。 REPAIR具有一 PNRP ID、節點之IP位址、以及修復層編號。 快取層係從頂層(最廣數字網路雲)之〇開始編號’且隨後每 一層(較小網路雲)之編號增加1。當第一次偵測分裂時’使 修復層值從0起始。當節點決定其應該進行分裂節點之測試 時,節點内部會產生REAPIR,使用已知之種子伺服器位址 作為IP位址、一區域註冊之PNRPID、以及〇層。其本身進 行此 REPAIR。 當進行REAPIR時,此節點進行一分裂之測試。首先其 會找出最靠近REPAIR訊息中之ID之一區域註冊id。然後, 送出此ID+1之RESOLVE至REPAIR訊息中指定之Ip位址。此 RESOLVE應具有一修復之原因碼。假如其解析為一已知節
點’則表示沒有分裂。假如其解析為一新節點,則懷疑有 分裂。假如發現之節點落於底部快取層(最高數字),則照 例進行泛流。FLOOD訊息中設定有修馆令 V俣之原因碼。同樣
的’假如收到RESOLVE之節點將來源ID ’、置入其最低快取 層’則此節點將會將入口泛流至來源。 ^ 攻些泛流都會導致 數個ID與新網路雲交換1以此方式保 狢祖々虹汾 峨所有經由泛流 發現之新節點。 假如發現之新節點係較靠近先前ρ Α 且收到 已知之節點, 42
之修復層中具 具有快取入 層之快取之入D ’且節點傳送REPAIR訊息至修復 新近發現之節點 。對於每個送出之REPAIR,節點選擇一個 ID與IP位址,並且輸入修復層+ 2。假如發 現之新郎點比&
i机冰 疋前已知之節點較遠,則節點傳送一 REPAIR 至新郎點與收 彳之修復層,且此新節點係輸入有區域快取 中之一些ID與仿^ ^ 址。每個收到_ REPAIR訊息之節點都是以 相同方式對其進行處理。 現在將可音枯 '楚’ PNRP協定係由十個訊息類型組成。每 個訊息係以一 Ρχτ^ RP標頭作開始’然後為指定此訊息類型之 棚位。負擔(& 搁位描述)係分別計算於每個訊息攔位表之 長度搁中《•在 广面描述中,描述可被所有這些訊息共用之 一般訊息資料讲 結構’隨後仔細描述包含於本發明之協定中 之十個訊息中I , 母一個訊息的訊息資料結構。在此描述之 ,接著描述每個用來建構本發明之訊息之攔位資料結構。 第5圖所不者係一資料結構範例,其說明用以建構本發 之 R.P之十個訊息之基本訊息資料結構260。如同所 見,訊息資料結構260包括數個攔位262in〇在一較佳具體 實施例中’第一個欄位2 6 2 1係保留給p n r p標頭。每個個別 攔位262丨4係用以建構訊息260,且用於每個個別欄位 2 6 2 1 _ N之資料結構2 6 4包括攔位資料結構2 6 4之一類型組件 26 6、一長度組件268、與真實内容或承載270。長度組件26合 係整個欄位264之長度272之計算。以此方式’通訊協定係 完全可擴張的° 43 1379548
RE SOLVE訊息係根據本發明之資料結構而建構。如第 6圖之簡化資料結構圖中可見,RESOLVE訊息280係由數個 欄位282-292所建構。同樣根據本發明之欄位資料結構,可 建立各種攔位。例如,PNRP_HEADER欄位282包括欄位資 料結構294。資料結構294之組件包括類型(欄位ID 296)、 長度298。PNRP_HEADER資料結構294包括一通訊協定組 件3 00、一主要版本組件3 02、一次要版本組件3 04、一訊息 類型組件3 06、以及一訊息ID組件308。同樣的,如同所有 其它欄位資料結構,VALIDATE_PNRP_ID資料結構310開頭 為一類型組件(攔位ID 312)與一長度組件314。欄位資料結 構之内容包括P2P ID組件316與服務位置組件318»每一不 同欄位均以第5圖所示之形式建構,以下將描述每個欄位。
如同現在已經清楚以及如同下面即將敘述,RESOLVE 訊息包含要解析之一標的PNRP ID、RESOLVE原始傳訊者 之CPA、「最符合」之CPA、以及已處理過RESOLVE之節點 列。此RESOLVE包括一「旗標」欄位。定義兩個旗標以用 於 Resolve_Controls欄位之旗標次欄位:RF_SEND_CHAIN-0x0001,其係請求接收者在AUTHORITY回應中傳送一憑證鏈 (假如存在的話);以及 RF_IGNORE_NEXTHOP — 0x0004,其 係用於RESOLVE之回溯追蹤路徑。假如一節點收到一 RES0LVE作為部份之回溯追縱,傳送者不知當此節點之 PNRP ID。則設定 「下一站」欄位為0,以及設定 RF_IGNORE_NEXTHOP以表示AUTHORITY僅會被用作為 44 1379548 RESOLVE 之—確認回應 _ : π 上 % 述-一 a u 丁 Η O R I T Y ifl 息 係丐以告知已確攻RESOLVE 在一較诖具體實苑彳>:=.標 頭中之M e s s a g e T >+ p e設定為5 :表5係顯示根據本發明之教 .作析精析 「操解之解 .½制合及。 特控符以因 獨以及性原 之碼以確之 示私建構之RESOLVE:息之資丼结構細節: 補償 長度 類型 名稱 描述 0 4-8 P\RP_HEADER Header 標頭 1 2 4-12 RESOLYE_CO\TROLS Controls 旗標 允許
RESOLVE 28 4-32 TARGET—PNRP—ID 丁arget 欲解析之 PNRP ! : ! ID 64 4-32 : VALIDATE_PNRP_ID NextHop | 預期之下一站 | PNRP ID 100 4 + P CPA_BES 丁 _MATCH ; ί i Best Match 1用於具有至今 CPA 丨最靠近標的之 PNRP ID之節 點的C PA 104 τ P ' 4 一 8 — A*20 IPV6 ENDPOINT ARRAY 一 Flagged Path 處理過解析之 節點陣列。 116 + P + A*20 表5
A -1¾
在表5中,P為聚集至最近之D W 0 R D邊界之已編碼C P 之長度(位元組)。A為旗標化卩車列中之入口數字=此值不}, 該超過M a X Η ο p值
當R E S 0 LV Ε達到具有標的P N R Ρ I D之節點時.或當ί 標化路徑大小等於RESOLVE M a x Hops ·貝,J會產J 45 1379548 RESPONSE ^ 當 R[SPO\SE產生後.來自對 ®RESOL\'E 旗 標化路徑之哜有的八口均被複裂到r [ S S L·路徑士 :廷 由路徑中妒有垾六—接受_之仕址,從底都到頂却路甴 RESPONSES ,¾ •直到每炫遠合之铒路瑞點均處理了此 RESPONSE ·於:後將其/專回呤RE SOLYh學始傳ifl f :如上 、丄' 利 用 一 A C K 1F^ } l·舌知 已 確收R E S P 0 \ S E訊息, 在一較 传 具體 實 施例士‘木 1頭中 之 M e s s a l e T > p e 言 5:定為 6 r-表6係
顯示根據本發明之教示妒建構之R I: S Ρ Ο N S Ε訊急之資粹结 構細節。 補償 長度 類型 名稱 描述 〇 4^8 PNRP—HEADER Header 標頭 12 4-12^ RESOLVE CONTROL S Controls 原始解析之原因 以及 REPONSE 之類型 28 4-32 TARGET^PNRPJD Target 請求解析之 PNRPID 64 4τΡ CPA BEST MATCH — Best Match CPA 最肯祈埋的夕 -1..··1、 -r r- —1 Μ ' — ν 、》 CPA 68 i P 4 - 8 + B*20 IPV6 ENDPOINT AR RAY _ Flagged Path 在目前節點之 前已處理過 RESOLVE 之 節點陣列ε 80 +P ^ B*20 …::愈. ,—.-' 表6 在表6屮.Ρ Α聚笑至最近之丨)\\’〇R丨)邊界之已編碼 來源C Ρ Λ之長度(位元組>。B為端點障q中之八口數字: 此值不應該超過M a X Η ο p值· 46 1379548 S 0 U C 1T tfl息請未接收f從其诀敢ώ A D \· f: R ΤI S E — 皆人口至/單:£ # 傳:i牙3 接彳;:者可释其;7? /、..4 5ϊ士之
CPA : ΛΙ:)\,1三RT!S[ til 息干之 na?hed\〇nce 必須被送习:y 用一 A D Y F· R T I S E來表壬確改S 0 U C ! T -在一較f圭具體實 矻例ώ ,標頭ώ之MessageType 設定為1 ,表7係顯示根 據本發明之敎六%建缉之S 0 L I C'丨T m息之資粹结搆細筘: 在此表中· P為聚-集至最it之D \\· 〇 R D邊界之已編碼來淥 C PA之長变(位元組> -
補償 長度 類型 名稱 描述 0 4 + 8 PNRP—HEADER Header 標頭 12 4-r P CPA_SOL:RCE Source SOLICIT原始傳 CPA 訊者之CPA 1 6-P 4 + 4 HASHED NONCE Hashed 雜凑化之目前標! Nonce ,士 Ο心 I 24 - P 1 1 表7 產生 之A D V E RT 1 S [訊息係用以回 應 SOLICIT。此 A D V E R T丨S Γ:從么、告者之快取中列出一些P N R P I D。此可允 許A D V E R T I S E接收者選擇性的R E Q U E S T CPA以佔住其快 取 。 收 到之 ADVF, RT1SE係作為SOLICIT之確收广 ADVERTISE之確收不會產生。任何作為SOLICIT之確收之 A D E V R T 應該被默默的棄置 。此丨丨a s h e d N ο n c e值必須相 τ-1 丨Ί SOI, 1 c I τ m /λ . i > > I -r 1 , / j- r H'L 5:'j ιϋ α 到 Λ i) V E R 丁 1 S 1:之 Θ 點必 須 要能夠 使有效 之雜溱化之目艰 標誌有效。在本發明之較 佳具體實施例中’標頭中之M e s s a g e T y p e設定為2 ·表8係顯 47 1379548 示根據本發3弓之教六私建缉之a D \' L· R ΊΊ S E訊息之資扛结 構細節:在此表。.A為I D哇。八口之=: 補償 長度 類型 名稱 Xij-、丄、 0 4- 8 P\RP_HEADHR Header 標頭 }, 4 一4 PXRP HEADER Λ CKED ~ ACKd Header 提示有AC'Kd之 SOLICIT之標頭 20 4一 8 -A * ?: PXRP—ID_AfmY ID Array 可用於EQl/EST 之PXRPID的已 排生連V J —— A * 3 2 4-4 HA SHE D_N ON C E Hashed Nonce 已加密目前標1ΐ· 值 40^ A * 3 2 表8
REQUEST 訊息係用以請求公告者去 FLOOD ADVERTISE'ed C PA之子集。目前標誌應被雜湊化以及與 原始 SOLICIT中收到之HashedNonce相比對。id障歹]包 含傳送者欲泛流傳回至傳送者之P \ R P I D,以便其可獲得 CPA。到用一 ACK訊息告知已確收REQCEST訊息在本 發明之較佳具體實施例中,標頭中之M e s s a g e T y p e設定為 3 =表9係顯示根據本發明之教示所建構之R E Q U E S T訊息 之資料結構細節。在此表中,A為ID陣列中入口之左c 補償 長度 類型 |名稱 描述 0 4 + 8 PNRPHEADER Header 標頭 12 4 + 4 NONCE Nonce i解密之目前標tt.值 20 4 + 8 + Λ * 3 2 PNRP_._ID . ARRAY : ID Array :用於已請求之 CPA !之PNRP ID的已排 :序陣列 32 + Α*32 . 48 1379548
P \ R P使3 f L 0 0 rj T息以傳播A 2¾ /匕之C I) A :二乂選擇 點:1」L Ο 0 D ;會被起始以3 ,¾ R I: Q L' E S T 息.當力::人一新 C P A至最低決取層,或當處理最纪、快&層由一具有較旦阪 尽之撤销C PA F L 0 0 D 邑含一乜记列以協助避免稱·^ — 泛 流列—之多餘的 f·'L 0 0 D:.此泛流列包含傳送者之位址、 每個標的.傳送考·係直接稃 F L 00D傳輸至此、以及任何 其它PNRP節點,傳送者已知這些節點係已收到FLOOD < —泛流列—具有最大數量之人口 :假如列滿了 ’ Μ以FI F 0 方式取代入口 。此假設 FLOOD 接收者更可能傳播此 FLOOD 至鄰近之鄰居而不是至—較遠的_鄰居。利用一 A C K訊息可告知確收F L 0 0 D。此有效的I D係一選擇性攔 位。假如有出現的話·其請求接收者以一 ACK作回應,假 如一具有特定 PNRP 1D之CPA已區域快取化,反之則以 N A C K 作回應。在一較佳具體實砲命:+ ·缥頭中之
M e s s a g e 丁 >' p e設定為4 <表1 (.丨係顯示根據本發明之教示所 建構之F L 0 0 D訊息之資料結構細節 在此表中,P為已編 碼的聚集至最近之D W Π R D邊界之已編碼C PA之長度(位 元組),以及A為陣列中八口之數目c 補償 長度 類型 1么稱 描述 I 0 4+8 PNRPHHADER Header 標頭 1 49 1379548 1 2 4-Z-2 f L(. >D—C(.)VFROL Conirc»i^ 与 土 Π / m_.)D 之 、 导s碼可甲柠 定理FLOOD。同 ϊί if ί 4- 位元?旦邊男、 20 (4-32) VALIDATE PNRP ID Validate ID 敌置核之選擇性 PXRP ID 20(-36ι 4—f) CPA BEST—MATCH CPA 被泛流之CPA 24-Ρί—、6) 4-8- ASO tp\y、卩 νηρητντ Λ Λ , 、 Λ_/- \ Λ---i 1 - > 1 arrXy ~ Flooded List 36 - Ρ -;Α*20(-36) - j 表10
PNRP節點係使用INQUIRE訊息,在輸八選擇之CPA 至區域快取之前.對它們進行身分認證。身分認證可確定 CPA在其原始發起節點上依然有效,且請求資訊以幫助原 始發起節點之確認授權以註冊此C' PA -定義一旗標以用 於「旗標」搁位:
R F _ S E N D _ C H A 1 \ ·係請求接收者在回應A U T Η 0 R Π Y時傳 送一憑證鏈(假如存在):假如Ρ Ν R Ρ I D已區域註冊,則以 AUTHORITY訊息回覆收到INQUIRE ^否則,此INQl:IRF 訊息被默默的忽略掉=在最佳實施例中,標頭中的 M e s s a g e T y p e設定為7 .:表1 1係顯示根據本發明之教示所 連構之INQU1RH !息之資料結搆細節。從此表中可瀆楚着 到,在 FL AGE —FIELD之後有兩個額外的位元組,以將下 一欄位置於一 D Ο W'A R D邊界上。 50 1379548 補償 長度 名稱 (\ 4-8 P\RP—HEADER 嘌頭 7萁立P 1 Λ i _ 4--:-: FLAG^ FILUJ Fiag^ # i是否區. cl ^ 需要:¾證鍵或簡μ 泛證:同樣,填充移 至4-仕元組邊界
20 4-?2 \'ALIDATE^PNRP_ID Validate 代表欲有效化之 PNRP ID 56 I 表1 1
A U 丁 Η 0 R I 丁 Υ訊息係用來確認或否定一 P N R Ρ I D依然註冊 於區域茹.ft 以及還擇性的提供一憑證鏈以允許 AUTHORITY接收者可使此茹點之權旁:芎效以达冊封應於 標的 ID 之 CPA :定義τ列旗標以用於—旗標襴位: AF_UNKNOWN^ID - 0x0001 ·代表特定之一有效的—P N R P ID並未在此主機上註冊:AF_INVAL1D_S0L’RCE - 0x0002,未 被使用;AF_INVALID_BEST—MATCH - 0x0004,也未被使用; AF_REJECT_TOO_Bl:SY - 0x0008-僅在回應 RESPOLYE 時才有
效 '且代表主機太忙而無 法接 收一 RESOLVE ' 以 及 傳送 者 應 該 RESOLVE 傳遞 5 弓丨 1 Ϊ 尾 闬 以 處 理 ' AF_ REJECTDEADEND - 0x0010 未 被 使 用 Λ F _ R E J E C 丁 _ L OOP - 0 x 00 2 0 .代 表 已 經處 理 R H S 0 L \; E 訊 息 , 且此 RESOLVE 訊 息不 應 1¾ 被 送 至 此 ' A F TRACING — ON! -- 0 x 0 0 4 0 僅 1來 除 去 錯 誤 ' A F _R h D ] R I: C 1 ' -0x0080 , 代 表節 點 .力 /又 有淳 遞 此 RESOLVE 訊 息·但是在 Λ l. T H 0 R 丨 T Y 訊息 中 包 含有 參 考 位址 A I ·' IN VA L I R EQrF-ST - -0x0100 ' 代 表 R l·: S 0 L V E 訊息 之 51 1379548 巧?£•失欧·其有可铯發生f':* M a >. H c> p 太、大垮:以及 .\ F _ C I: R I CHAIN - μ X S ’ ι_ ’ i ·ί . 表包含— :·5 ?!_ .二乂 泛 / f 有效' PNRP丨1_)與2來备署其C’PA之k途間之K係的达 >亡、 r 6_H —
有效化P X R P 1 D具有I D ·其D傳送A U Τ Η 0 R ΓΓ Y係為了 此ID :憑證鏈係選擇,〉生的.AF_CERT_CH ΑΙ\旗標表示它 是否存在:此參考端點也是選擇性的:一茹點係使用此欄 位,此節點係無法傳遗R E S Ο L \· Ε訊息,但是知道可將傳送 R E S Ο L V Ε至其它節點端點包含一 I Ρ Υ 6位址以及R E S Ο L Υ Ε 欲被送至之點茹點之迨目前此採位係被忽略.除非當茹 點正在嘗試經由種子词服器偵測網路雲分裂:分類器欄位 字串包含部份點名稱用來產生P N R Ρ I D之真實分類器字 串。A U 丁 Η Ο R I Τ Υ未被明確回確收。A L: Τ Η Ο R I Τ Υ僅係被當 作對I N Q U I RE訊息或是R E S Ο L V Ε訊息之確收’回應•假如在 背景外收到一 A U Τ Η Ο R Γ「Υ .則其必須被丟棄。在一較佳具 體實施例中.標頭中之M e s s a g e 丁 y p e設定為8 =表]2係顯示 根據本發明之教示所建構之A l; Τ Η 0 R 1 丁 Y訊息之資料結構 細節。在此表中,C為已編碼的聚集至最近之D \\· 0 R D邊界 之憑證鏈之長度(位元組丨,以及S為分類器字串之長度(位 元組)。 補償 !長度 類型 Λ3 'ιττ 1私七:士· ! j化处 | 0 4+8 PNRP HEADER Header 標頭 52 1379548 1 ^ i — 4-4 PVRP D " _HEADHR_ACKE AC'Kd Header 已提示AC'Kd 之 RESOLVE S· !NQI 1RF 之孕淖 20 4—4 SPLIT —CONTROLS Split Contrci] 片段之選擇':生 V裂控制 20<-8i 4-2-: FLAGS—FIELD Flags
旗橒 '指示 RESOLVE INQUIRE 之 円容與可能結 果。同樣 '填 充移至4-位元 組邊界 28(-8) 4-32 \'ALIDATE_PKRP ID Validate AUTHORITY 附屬之PNRP ID 64(-8) (4-20) IPV6 REFERRAL RESS* — ADD Referral Endpoint IPv6端點。此 欄位為選擇性 的。 64(+32) (4-32) IPV6—REFERRAL一 ID Referral PNRP ID IPv6端點之 PNRP ID。此 攔位為選擇性 64(+68) 4-C CHRI_CHAIN Cert Chain 關於用來對已 註冊ID之 CPA簽章之公 鑰之憑證鏈 68 + C (-68) __ (4 丄 8+ S) CL:ASSIFIER Classifier 分類器字串= 此爛位為選擇 性的。 68 - C 卜S… 80) . Λ..、:::'' - 表 12 當包含一憑證鏈與一憑證字串時,此AUTHORITY訊
息也可能非常長:為了方便網路之傳輸、傳送時也可以將 1379548 其明碹的飫成數恆y段:在處理此ff;息之前 '接—者必須 粒夠將S段故在一· ^ : (¾如F»忍為分耘的·則重複毎傻片
段之標頭與標頭Λ c k ' d ^ 士每促Η段匕包含一分裂控制 權β :在每偃^段=-S控制g化之補償值$會改變以反 應Μ段之補償 '分氣控制士的大,l·值係整偕訊息之大小減 掉標頭、A C K ’ d標頭與分裂控制欄位之大小:除了最後一 個每個片段都必須具有相同大:…假如tF、息沒有分裂,則 分裂控制欄位係選擇性的。 P N R P使用A C K元此,當其係一請求/回應協定時:在 某些情況·使用一 A C K取代一回應可簡化協定。接收到 REQUEST、R E S Ρ Ο N S E 與 F L 0 0 D IF、息後才會傳送一 A C K。 其它訊息可被其它適合的回應息類型確收。此A C K可扮 演為一 A C K或是在一具有有效I D組之F L 0 0 D例子中扮演 為N A C K,藉由設定旗標欄位為K F _ N A C K = 1 在一較佳
具體實施例中,標頭訊息類型係設定為9。表1 3係顯示根據 本發明之教示所建構之A C K訊息之肓料結構細郎c 補償 長度 類型 名稱 描述 0 4+8 PNRP—HEADER Header 標頭 丨 12 4+4 PNRP HEADER ACKED " ACKd Header 已確收訊息之標頭 20 (4-2:2) FLAGS_FIELD Flags 選額性旗標襴位, 填充移至4-位元組i 邊界 ! 20(+8) 表 13
使用 REPAIR訊息的原因係因為在某些例子中PNRP 54 1379548 辑路雲可能會芎公夂 '此轧总係闬i ;p_: I之一釭.旦佟如 需要的話起诒一 RF.PA丨R : — RI:PA!R珥會請求其它|S點傳 播此R Η P A I R至其它決豇f '在一較丨圭具體實矻,:* .標 頭士的訊息類呈傳設定為!「丨 表丨4係顯夭根據尽發明之 孝【τπ印建構之R 1: Ρ A丨R §Γ_二之官θ 構.成1*匕产. 清楚看到,在C A C Η E — L E Y E L之後有兩侄額外的位元殂· 以將下一攔位置於一 DC) WARD遣界上:
I補償 長度 ί類型 丨名稱 丨描述 0 i 4-8 PNRP_HEADER :Header 標頭 12 4-32 TARGET PNRP I D _ PNRP ID 要定址之ID 48 1 4^2 -2 CACHE—LEVEL Repair Level 修復測試中使用之快 取層。填充移至4-位 元組邊界 56 4-20 i i IPV6—ENDPOINT Repair Address 修復測試中使用之IP 端點 80 表14
在討論訊息及其結構之後 '現在將注意力轉至用來建 構這些訊息之訊息元件。下列詳述了 P N R P訊息中傳輸之 結構之位元組碼‘所有數字係以網路位元組順序來傳輸, 以及在傳輸前所有文字均編碼為U T Η - 8,除非特別指明。 這些訊息元件係剛剛討論之訊息之建築砌塊=此基本訊息 元件為一欄位描述。每一稱]位描述均浥開始於訊息之 4 位元組邊界_:這表示採位間具有許多缺口 M h S S A (〗I: Ι'Ί E I. I)元件係爛位描述,用以確定 P N R I) 1379548 '兌IF.息=每一里货f 深亡 I D —以κ識深ώ ί丨 If 係顯六根ίΐ本發& D元也之f斜结構每茹 :補償 丨長度 :類型 名稱 丄士丄 述 0 ο ΓSHORT Field ID .-V ('SHORT Length 儒彳立長度(位元 组!·包*γ―探位 MESSAGE FIELD 4 ' '! 表15
使用此P Ν' R P _ Η E A D E R — type 0 x C) 0 1 0以開始所有的 P N R Ρ訊息=協定-版本使得一 4 -位元組識別符對於決定是 否已收到之訊息真正要給P \ R Ρ是有用的表1 6係顯示根 據本發明之教示所建構之P \ R Ρ — Η I:: A D丨:R元杜之資料結構 細節 。
碎來可在易# ~ t 一 ' ^ <ί ^ 元组t-數 '表 MESS A (^τ F F I I: L ' 呈 - ^Ξ- <*ς. 供 气· ' ";V, Ά 人 一 1 :6 之! 〒建 構 之 i補償 長度 類型 名稱 i描述 | 0 1 BYTE Protocol 丨一 8-位元數字,辨識PNRP ,協定1值=0x5] :1 1 BYTE Version Major 1主要協定版本·如v. 1 ί ·Γ 2之 ., ! ί 1 1 BYTE Version Minor 次要協定版本,如V. 1 | '2' 2之 ί Λ 丨J . : 1 Β、ΊΈ Message Fypc 此說叼書中定義訊息1 -10 i 4 ·) i LONG Message ID 協助ACK适蹤之數字 :可 丨為任意的=建議單調的增加 順序「 1379548 it η .1 !D r;· PXRP HHADHR - ·以便-沾點可確 保用以回應此茹.κ送ώ之一 it;息之一彳i:到訊息事實上為一 回應:洌如 '贸言5: —茹點逆ώ 一 R E S (J L Υ 1£訊息至s —茹
點' 則第一茹點可預期呔h 3 f之一 Λ (_ Γ Η 0 R ! Τ Υ 1?1息. 如第4圖斫示。然而.在沒有任何路徑运政或跟縱此回應 至最初 RESOLVE 的情疋丁 ,不保證啟耙之 AUTHORITY 訊息為有效的或被辑路5; ϋ之惡意扣點B户欺編^ 1¾由包3舌 一訊息 ID 於此 RESOLVE 訊息中 · 在後述之 P N R P _ Η E A D E R _ Λ C K E D 權位 *,此產生 A U Τ Η 0 R I Τ 丫 訊息 之茹點可於其回應中包括此til息I D。 P N R P _ Η E A D E R ^ A C K E D - t y p e 0 x 0 0 1 8 係整個 P N R P 訊息標頭,用來辨識一訊息為 A C K · d :表1 7係顯示根據 本發明之教示所建構之 P \ R P _ Η E A L) E R _ A C K E D元件之資 料結構細節 補償 長度 類型 i名稱 描述 0 4 ULONG Acked 被認可之訊息 ;Message ID ID 4 表17
使闬 IPV6 _ [-; N D Ρ Ο I N I - 1 > p e 0 x 0 0 2 1 元件·因為 P R 1) 被指定用於IP Y 6網路雲中:此結構指定一 I P Y 6網路端點: A有一槔.垣可托丐來相出茹點二具工, KESOI..YJ-::使冃路徑禕標來招出被嗲泛至亡址之 疙被接受或是技拒絕:此外·惙如诅让係4r·泛 $二足' 运為酩點%該知道私有犁近^居.私以可設定^> "-^1 /;Σ. ^ 在除去錯誤過程*使闬 A d d r e s s R e m 〇 \ e d指標以挎二 i ^1~\ / I、 _.· - .
-V 口為已移除.而穴需真正除去它E :t些指標如下: pN-RP_FLAGGED —ADDRESS_ACCEPTED - Ox(.丨]: p\RP_FLAGGED_ADDRESS REJECTED - 0x02 : PNRP_FLAGGED_ADDRESS_rNREACHABLE-0x04 : PNRP_FLAGGED_ADDRESS_LOOP - 0x08 : PNRP_FLAGGED_ADDRESS 丁OO BUSY - OxK): PNRP FLAGGED ADDRESS BAD YALIDATE ID - 〇x:〇 ; PNRP_FLAGGED_ADDRESS_REVIOVED- 0x80 ;及 PNRP_FLAGGED—SUSPECT UNREGISTERED H) - (W40-矣. _ 衣U係顯 示根據本發明之教示邱建構之丨P V 6卜:\ D P 〇 ! \ T元# — 几佯之資 料結構細節 丨補償 長度 丨類型 名稱 1^ϋ~ ~~~- :0 1 ;BYTE PathFlag 此節點端點之祖 標 ^ ;1 1 BYT1-: Protocol 1P協定數字、應 被設定至UDP :2 2 USHORJ Port IPv6 谭 !4 16 丨 ΒΥΊΈ[16] Address Π)\,6位址 20 丧18 58 1379548 P N R P _ I D t > p ε n x 0 “ ?之匕係 1 2 S -亡之張務亡置之連与:汽:Q今題 6C建構之p \ r p _ m元在之資#結構細 :補償 :長度 類型 名稱 .指述 0 16 BY 丁 E[16] p:p ID 1 6- /立元组1128-位 元)點名稱雜湊 16 16 BYT 印 6] Service Location ]6- /立元組ί 128-位 元)服務乜置ί自已公 (L r> — r»i» < . . · -· .·* /.- .1 3巧艮贫广互:二K:三 出) 32 j
表19 丁ARGET_PNRP_ID — t_\ pe 0 x 00 3 8 為一 RESOLVE 請求 或其對應R E S Ρ Ο N S E之標的1 D -表2 0係顯示根據本發明 之教示所建構之TARGET —PNRP_ID元件之資料結構細節。 丨補償 丨長度 類型 名稱 丨描述 ! Γ) 1 ! ;16 1 1 BYTE[16! :p2p ID ]6-位元組(丨28- ii元) |點名稱雜湊 :16 i | :16 1 BYTE[I6j Service ;Location 1 16-位元組(128-位元J 服務位置(自已公告服 務位址所衍生) : :32 表 20
! 2 S 元 p 2 p 1 D 與 *朽據本發巧之f;:示 A — B- '- VALID AT I: PNRP ID - t > p e 0 x 0 0 3 9 為被請求認證與 授權之P N R P I D。表2 1係顯示根據本發明之教示所建構之 VALIDATE PN RP丨D元社之資抖結構与茹 ^S48 補償 ------- ο .Τό 長—孚 「6—— 類型 ΒΥΤΕ[Γ^ί 16 BVTE[io]
Service Location
ϋ ρ2ρ ID
點名稱雜^ ]6-泣元纽户, 股務泣置(-自已:士 的月§矛务位址6:
FLAGS FIELD 軚 特定背景目的之一位元襴位表 表 2 1 :、.P c 0 X 0 0 4 0辨識旗構此旗標係用 汴根據本發g.弓之 係顯 结構細笳
示所建構之F L A G S _ F I E L D元托之資科
RF_SEND_CHAIN-0x0004 〇 0 RF_DONT_REMOVE_PATH_ENTRII£S - 〇λ ,〇 〇 於除去錯誤;以及RF_TRACINr:_ON - ,夕占 於除去錯誤。完成RESOLVE之前,最入 字。操作碼係描述扎比較應該如何如何進· 〇8,其僅係用 1 0,其ίΐ係闬 .係限制站之數 ,相配者可以 60 1379548 fl為Λ N Y码之項笔1 :、e元I Ρ : Ρ ! D )或可考慮\ E A R £ S Τ 碍之服務乜置:捿4 6 €時5定是f相Si f a考慮π T RESOLVE之原始傳til者一樣註奇於《同茹之丨D : $去 垣A誤幻紅 : « / r, · f 'v 4 一 SEARCH_OPCODE_NONE - 0 : SEARCH_OPCODE_A\Y_PEERN'AME-1 : SEARCH_OPCODE_NEAREST_PEERNAME-::
SEARCH_OPCODE —NEARES丁64—PEERNAME - 4 :以及 SEARCH—OPCODE_L'PPER BITS - 8 ·精碹度設定符合一真實位 元數字之I D精確度。假使操作碼為 S E A R C Η _ Ο P C 0 D E _ U P P E R _ B I T S 貝'J 使用此值。
原因係用來指出假如RESOLVE被當作修復過程之部份傳 送,由於快取維護,被當作一註冊器之部份,由於一應用 程式請求。這些原因包括:REASON一APP^REQUES丁-0 : REAS0N_REGISTRATI〇>、T-1 ; Rr:AS0N_CACHE_MAINTENANCE-2 ; REASON_REPAIRJ)E TECTI0HREAS0N_SYNC_REQl:EST-4: REAS0N_CPA_VIA_RES0LVE-5 : REAS0N_CPA_VIA_FL00D- 6: REASON+REPAIR - 7 ;以及 RF.ASO\_CPA_VIA_BACK_FLOOD - 8。 結果碼指出為何完成RESOLVE與轉換至 RESPONSE。其可指出站計數超過、未發現較佳路徑或太 多鄰居不能轉足標的物的他點所导奴之成功或夭敗。這些 結果碼包括:RliSlJLT—NONE - 0: RIZSULT—FOUND MA丁CH-1 : R E S U LT_ Μ Λ Χ_ Η Ο Γ> LIΜIΤ Η I T- 2 : 61 1379548 RLSi/Π _N0_BF:T1 r_R ΡΛ1 ! ί _) 〇 ϊ : \ D-3 :二孓 RLSI I. Γ _ I f>0_MAV'i N! I ^Shs - -* · 請未:匕巧其 ϋ 者:? s ύ: 交易I I)以使R [ S ί) υ \ S Η β間S贫、此R L s U L V L·孕诌/專巧者 設定交易ID值、起始RESPONSE之茹點回.+¾ R E S P 0 S NE 訊! *之值.π間筘點π應該改變此值:表2 ?係顯示根祿 本發明之教示印建構之RESOLVE— CONTROLS元也之資料 結構細節:
丨補償 長度 丨類型 :名稱 .描述 () 1 2 USHORI Flags 同於特定背景旗標之位 元權位 i 2 1 1 BYTE Max Hops 一訊息可訪問之PWP 節點數 :3 1 BYTE j Operation Code 控制解析操作之碼。是 否RESOLVE應被傳送 至原始傳訊者。是否ID 之高層128位元應被特 別看待Q 4 l;S}-10RT ί | Precision 有效位元要符合之數字: 1 6 1 BYTF. 1 Reason Code 碼描述起始一 1 RESO丨ΛΈ-應用程式請: 求、修復偵測、註册、ί 快取維護等之原因 7 1 BYTE Result Code ί 5馬’描述回覆一 Response-發現符合、最 大站限制達到、未發現 較佳路徑等之原因: 8 4 ,ULONG ! Trans ID 交易ID值 12 ' 1 1 表23
C Λ C Η E — L E Y H L -- t y p e 0 x 0 0 4 2 元件係描述當執行一 62 1379548 REPAIR 時要使冃喁一 S A故f :其吒由卞、復一分g祛 致Θ ;枚:-令顧六枝<t尽令明之乾云π建嗔之 C A C ] ί Ε 一 L h V E L 元 /土之 ΰ —二弓構 3 6 : :補償 長度 類型 名稱 丄*丄· J-* 4 田 0 η USHORT Cache Levd 伕敢署數字ίΟ為诀敢之 頂端) ] 1 表24
F L 0 0 D _ C 0 \ 丁 R 0 L S — t > Γ e Ο X (J 0 4 3 元 乂 包含被闬於處 理一 FLOOD之fm. FLOOD被傳送之原@係唯一使用之 碼 '表 2 5 係顯六根據本發明之顯六⑷建構之 F L 0 0 D _ C Ο N 丁 R 0 L S元吐之資料結構細節。
補償 長度 類型 名稱 丨描述 0 丨7 1 USHORT Flags 用於特定背景旗標之位元欄 ,位 Λ ] BYTE Reason Code 碼,描述起始一 FLOOD-同步 請求,經由RESOLYH發現的 CPA,經由FLOOD發現的CPA 與進行修復等之原因 表25 CPA S01JRCI· — t y p e 0 X 0 0 5 8 係被當作 S () I. I C 1 T 中之 來源CPA之CPA -編瑪CPA以用於網路傳松.f 係劈 示根摊本發明之教示所建搆之 CPA_S01TRCF.元伴之資料 結構細沛 1379548 補償 長度 類型 名稱 4¾连 0 P CPA 1 Encoded C'PA ! 已編碼CPA, 1
P f7、—卜 C P Λ — B Γ: S 丁 — M A 丁 C Η - : \ p e 'J x 0 5 c)元 % 被當 $ RE SOLY H或RESPONSE *之”餃佳符舍··之CPA··编碑CFA 以用於结;路淳幹:表二係顯六根據本發明之教示驴建構之 CPA_BEST_M ATCH之資料结構細節: 補償 長度 類型 名稱 i描述 ;0 P CPA Encoded CPA 已編碼CPA | ρ 表27
此 P N R P _ I D _ A R R A Y -type 〇 χ 〇 0 6 0 元也包括 P N R Ρ ID‘s ’用於陳列中儲存之AD\'ER丁ISE與REQUES丁訊息。 下方係描述此包括陣列大小之資料。表2 8係顯示根據本發 明之教示所建構之 PN,RP_ID_ARRAY 元件之資料結構細 即 -
補償 長度 類型 名稱 描述 丨 0 2 USHORT 1 ; 1 Num Entries ID陲列由八口之數字:應: 設足為A〔 2 1'SHORT 1 ! i ί 1 1 ] Array Ixngth 丁otal F鱼列之長度(位元殂).包 括標頭。應為12 - (.·ί * 32) : 4 1 2 1 USHORT , i : i J ! l:lcmcnt Field T}.pc 年個陣列人π之類型之: 識別符。應為0x0030. PNRP 丨1) 6 2 :USHORT F.ntn 每個陣列元件之長变(位 Leneth 元组):應為32 64 1379548 8 Λ " 32 PXRPJD ID List PXRPID's 口鱼列 8 - A * Λ ^ 28 1 P \' 6 — E \ D Ρ Ο I \ 丁 — A R R A Y — i > p e 〇 x 0 0 7 ]係於有已訏問 之節點之唾列:技泛流之IK息訪問各種的託,¾ :在此渔列
中輸/、每個已經訪問或傳送之茹點' τ方係描述此包括喹 歹I;大小之資料=表 2 9係顯示根據本發明之教示%建構之 I Γ V 6 _ [ \ D F G ί \ 丁 _ A R R A Y元伶之資料結構細gB = 補償 長度 類型 名稱 描述 0 η USHORT Num Entries 位址陣列中八口之數
: 字。應設定為A 2 ; 2 USHORT i Array Length ,:陣列之總長度(位元組)
; 丨 包括標頭。應為12 - (A I _;_ * 20)_ 4 j 2 USHORT ! Element Field 每個F車列八口之類型之 j : T>pe :識別符。應為〇x〇〇2i. _I_ :_ IPV6 ADDRESS_ 6 2 USHORT I Entry Length 每個陣列元件之長度 ___j_j_j_j (位元組)。應為19
8 ! A * ' IPV6_HND : Endpoint Array :端點之陣列 20 POINT[] j · 8 + A Ip~\ ,/. ' ;·:^ '·:\;'·;:'./ :;',;/:. :; *20 : :r,'_ 乂 ,…二 表29 I P V 6 _ R E F E R R A L _ A D D R E S S type 0x 00 72 元件係特 別用來提供另一位址以送出一 RF:SOI.\'F.之一 IPv6端點= 當一節點不想轉交一 RESOI.Vli時.fe是想提供一些其它 節點可嘗試之位址時,則於一 Λ Υ Τ Η Ο R I Τ Υ訊息中使用此 攔位。表 3 0 係顯示根據本發明之教示所建構之 65 1379548 I P \' 6 __ R E F E R R .Λ L _ D D R H S S 元也之資 # 結構細茹 r 确償 長度 類型 名稱 !〇.·» 、丄- 丨田1 0 1 BYTE PathFlag it匕茹點端點之旗標 1 1 BYTE Protocol L:DP獲設定之IP法 定數二 Λ U SHORT Pori IP\'6 适 /| 16 BY 丁 E[16] Address IPv6化址 2 0
使用 IP V6_REFERRAL_ID -type 0x 0 0 7 3 元也與 IP \ 6_Referral_ Address 以指出作為參考之 P \ R P I D c 表 3 1 係顯示根據本發明之教示所建構之 1PV6_REFERRAL —ID 元件之資料結構細茹 補償 丨長度 類型 丨名稱 描述 0 16 B、TE[16] p2p ID 16-位元組(128-位 元)點名稱之雜凑 16 16 BYTE[16] Service Location 1 16-位元組(128-位1 元)服務位置(自已^ 公告之服務位址所 衍生出) 32 …, ο..-:··' 表3 1
使用視窗CAPI API建立憑證鏈(CERT —CHAIN ) — type 0 x 0 0 8 0元件。將構成此鏈之憑證置入一 C A P I内記憶體憑 證舖。然後輸出為P K C S 7已解碼憑證舖。在沒有修改的情 況下傳送此已怜出舖- 定義 WCHAR type 0x 0 0 8 4 元件以擁有一單一 U N I C Ο I) E字元。其僅被作為部份的U N I C Ο D E唓歹襴位· 66 1379548 Ύ; W. % C I—. A S S ! F I F: R -- t y ρ ; 〇、.. (V」8 5 元 & 含 乂亏為 S 名之一 基礎之虼一瑪(U η 1 υ " d e丨丨類器;志 其技編碼為 \W C H A R 元社之隍列·-表:':係顯示根據本發g之教示挤建構之 CLASSIFIER元^之¥粍.¾構吋茹
:補償 長度 類型 名稱 描述 0 -) USHORT "\ itw-i tT-r>tr*ickr -> L4 1 1 J L·^ 1 1 Cl 1 Vw O \ r,=> T;.t 4-> j- 一 ,,:丄_ ;二;工广,丁 <八J 數字。應設定為A Λ Λ USHOR丁 Arra> Length F鱼列總長隻(位 元)' 包括標頭1應 為 12 - (A* 2) 4 USHORT Element Field Type 每一陆列八口之類 型之識別符。應為 0x0084 < WCHAR 6 2 USHORT Entry Length 每一陣列元件長度 (位元):應為2 8 I A ” WCHARj] Wide Character Array 统 一 碼 (U n i c o d e j 字元 之障列 8 - .4 * -... . ...... · HASHED_NONCE - t >· p e Ο x 0 0 9 2 元件係包含於一 A D V E R T I S 訊息之一已力〇密目前標tt.值。可以預期接收者 將會有金鑰以解密此目前標誌=表3 3係顯示根據本發明之 教示所建搆之HASmn)_N—0NC1'-:元件之資料結搆細節^ 補償 丨長度 丨類型 丨名稱 Ίΰΐΐ~' ~ 〇 4 ! I'LONCi Hncrypied 加密後之目前標达 j : Nonce ι 值 67 1379548 Ν Ο N C Π ί :、,p e r! x 〇 〇 (〇 元# 係包含艾一 r η q l; E S T $ 息之一已解密目t標誌值:可以預期接攻者將會驗證已解 密的3前識?〔符合送出之鲜密$之ii :表? 4係顯示根據本 發明之教示印建構 N 0 \ C E元件之資料結構細託: 補償 丨長度 I類型 i名稱 1為述 0 4 ;UL0NG Decrypted Nonce 目前標 达值 4 . 1 ! 表 3 4
假使係以一系列的片段形式而非以罝一訊息形式傳送 一長訊息’則使用 SPLIT —CONTROLS — type 0 x 0 09 8 元 件。每個片段包括分裂控制攔位,使得接收者可建構此訊 息。表 35 係顯示根據不發明之教示所建構之 SPLIT_CONTROLS元件之資料结搆細節 「―
補償 長度 類型 名稱 描述 0 2 USHORT Size 片段大小 2 ;USHORT Offset 片段補償 4 : . 表35 在除去錯誤過程中係使用 P\RP TRACE - type 0x 00 9 9 元件以擁有可從R li S () L V Η訊息與R H S Ρ 0 N S Ε訊息 中一站被傳送至另一站之資枓其可用來儲存追蹤資料: 可能不被通訊協定之最後版本$支援。 68 1379548
以上所述者,僅為本發明之較佳實施例之舉例與說明 而已,當不能以此限定本發明實施之範圍。依據上述顯示, 可具有多種修飾與變化。上述所選擇與描述之實施例,係 本發明之原理與實際應用之最佳舉例,藉以使得熟習此技 藝者可應用本發明於各種實施例中且作修飾而適用於各種 特定使用。是故,在公平、合法與公正之解釋範圍條件下, 凡依本發明申請專利範圍所作之等效變化與修飾,皆應仍 屬本發明專利涵蓋之範圍内。 【圖式簡單說明】 下列圖式為說明書之一部份,其舉出本發明之數個方 面,且可連同上述說明一同解釋本發明之原理。在圖式中: 第1圖係大致說明一電腦系統範例之方塊圖,且本發 明位於其上;以及 第2圖係說明點對點名稱解析通訊協定(PNRP)之功能 元件之簡化方塊圖;
第3圖係說明本發明之一方面之通訊協定訊息流程 TS1 · 圖, 第4圖係說明本發明之另一方面之通訊協定訊息流程 向 · 圍, 第5圖係說明本發明之可擴充之資料結構模型之資 料結構圖,其可用以建構本發明之訊息;以及 第 6圖係說明本發明之訊息範例之構造之簡化資料 結構圖。 69 1379548
【主要元件符號說明】 100 計 算 系 統環 境 155 光 碟 機 110 電 腦 156 非 揮 發 性 光 碟 120 處 理 單 元 161 指 標 裝 置 121 系 統 匯 流排 162 鍵 盤 13 1 唯 讀 記 憶體 170 轉 接 卡 132 隨 機 存 取記 憶體 17 1 LAN 133 基 本 m 出入 系統 1 72 數 據 機 134 操 作 系 統 173 WAN 135 應 用 程 式 180 遠 端 電 腦 136 其 它 程 式模 組 181 記 憶 體 儲 存 元件 137 程 式 資 料 185 遠 端 應 用 程 式 140 不可移丨 余/揮 發記憶體 190 影 像 介 面 介面 191 螢‘ 幕 141 硬 碟 機 195 輸 出 週 邊 介 面 144 操 作 系 統 196 印 表 機 145 應 用 程 式 197 喇 〇Λ 146 其 它 程 式模 組 200 服 務 管 理 組 件 147 程 式 資 料 202 樁 150 可 移 除 /揮發 -記憶體 204 網 路 雲 管 理 器 介面 206 快 取 管 理 器 - 15 1 磁 碟 機 208 協 定 管 理 器 152 非 揮 發 性磁 碟 2 10 訊 息 傳 輸 器 70 1379548
212節點A
214節點B 2 1 6 SOLICIT 訊息 218 ADVERTISE 訊息 220 REQUEST 訊息 222 ACK訊息 224 FLOOD 訊息 224! 、 2242 、 . . . 224n F L Ο O D訊息 2 2 6 A C K訊息 2 2 61 A C K m 4 2 2 6 2 A C K 訊息 228節點
230節點B 232節點丁 234 RE SOLVE 訊息 23 6 RESOLVE 訊息 240 RESPONSE 訊息 242 AUTHORITY 訊息 244 RESPONSE 訊息 246 ACK訊息 248 ACK訊息 250 INQUIRE 訊息 252 AUTHORITY 訊息 2 6 0訊息 260訊息資料結構 2 62!第一個欄位 2622第二個攔位 262n第三個糊位 264資料結構 2 66類型組件 2 6 8長度組件 270真實内容或承載 272長度
280 RESOLVE 訊息 282 PRNP_Header 284解析_控制 286 標的 _PNRP_ID 288 有效 _PNRP_ID 290 CPAJ _符合 292 1?丫6_端點陣列 2 94櫊位資料結構 296類型 298長度 3 0 0協定組件 71 1379548
302主要版本組件 3 04此要版本組件 3 06訊息類型組件 3 0 8訊息ID組件 310 VALIDATE PNRP ID
資料結構 3 1 2類型組件 3 1 4長度組件 3 16 P2P ID 組件 3 1 8服務位置組件
72

Claims (1)

1379548 第Μ丨0 號專利声(。!1攻」U· 十、申請專利範圍: Plh)正替換頁丨 1 · 一種在一點對點網路中提供點節點之識別至一第一節 點之方法,至少包含以下步驟: 在一第二節點,自該第一節點接收_ SOLICIT訊息, 其請求點名稱解析協定識別(peer Name Resolution Protocol Identifications,PNRP IDs),其中該 SOLICIT 訊 息至少包括一標頭訊息元件及一雜湊化目前標誌訊息元 件; 在該第二節點產生一 advertise訊息,其中該 ADVERTISE訊息至少包括一標頭確收訊息元件、該雜湊化 目前標誌訊息元件及一 PNRP id陣列訊息元件,其中該 PNRP ID陣列訊息元件係分散式選自該第二節點一快取内 的一 PNRP ID列;及 傳送該ADVERTISE訊息至該第一節點。 2. —種在一點對點網路中傳播一已認證點位址(certified peer address, CPA)集至一第一節點之方法,至少包含以下 步驟: 在一第一節點’自該第一節點接收一 REQUEST訊息, 其清求該CPA集之—该, 泛流’其中該REQUEST訊息至少包 括一第—標頭訊息元株、一a〜A , n 目前標誌訊息元件及一點名稱 解析協定(PNRP)識別丨睡及丨# A 叫引(iD)陣列訊息元件,其中該PNRP ID 陣列訊息元件包括對應該CPA集的一 PNRP ID列; 73 1379548 广___<___ · —r »-.--,-—,—,-- I年2V.备卷(更)正替換頁I 在該第二節點產生該PNRP ID陣列訊息元件的每一已 知PNRP ID的一 FLOOD訊息,其申每一已知PNRP ID係 對應該第二節點一快取内之一PNRP ID,及其中該FLOOD 訊息至少包括一第二標頭訊息元件、一泛流控制訊息元 件、對應該每一已知PNRP IP的一 CPA最符合訊息元件, 及包含一泛流列的一 IPV6端點陣列訊息元件;及 傳送該FLOOD訊息至該第一節點。 3 ·如申請專利範圍第 2項所述之方法,另外包含以下步 驟: 若自該第一節點接收一 ACK訊息,則在該第二節點釋 出對應該FLOOD訊息的一狀態,其中該ACK訊息至少包 括一第三標頭訊息元件及一已確收標頭訊息元件; 自該第二節點重新傳送該 FLOOD訊息至該第一節 點,且若一暫停期間在自該第一節點接收到該ACK訊息前 終止,則重新設定該暫停期間;及 在該第二節點釋出該狀態,且若一最大數量之複數暫 停期間終止,則將對應該第一節點的一 CPA自該第二節點 的一快取中移除。 4. 一種在一點對點網路中將一第一節點之一標的點名稱 解析協定(PNRP)識別(ID)解析成一已認證點位址(CPA)之 方法,至少包含以下步驟: 74 1379548
** ,ν..—-. -^-V— _· >.·...
在一第二節點,自一第一節點接收一RESOLVE訊息, 其請求一標的PNRP ID之一解析,其中該RESOLVE訊息 至少包括一第一標頭訊息元件、一解析控制訊息元件、對 應該標的PNRP ID之一標的PNRP ID訊息元件、一第一有 效PNRP ID訊息元件、一目前CPA最符合訊息元件及一 IPV6端點陣列訊息元件; 在該第二節點產生一 AUTHORITY訊息,其中該 AUTHORITY訊息至少包括一第二標頭訊息元件、一已確 收標頭訊息元件、一分裂控制訊息元件、一旗標欄位訊息 元件、一第二有效PNRP ID訊息元件、一憑證鍵訊息元件、 一 IPV6參考訊息識別訊息元件及一分類器訊息元件;及 傳送該AUTHORITY訊息至該第一節點。 5.如申請專利範圍第4項所述之方法,其中在該第二節點 產生一 AUTHORITY訊息之步驟包含,若該 AUTHORITY 訊息其長度比一最大長度還長,則將該AUTHORITY訊息 分裂為二或更多片段訊息之步驟。 6.如申請專利範圍第4項所述之方法,其中若該第二節點 具有對應該等RESOLVE訊息元件之一區域註冊CPA,則 執行以下步驟: 在該第二節點產生一第一 RESPONSE訊息,其至少包 含一第三標頭訊息元件、該解析控制訊息元件、該標的 75 1379548 一! 年月日修便}正替換頁: -ί~~…I PNRP ID訊息元件、對應該區域註冊CPA之一更新CPA最 符合元件及該IPV6端點陣列訊息元件;及 傳送該第一 RESPONSE訊息至該第一節點。 7. 如申請專利範圍第6項所述之方法,其中若該第二節點 不產生一 RESPONSE訊息,則執行以下步驟: 將該RESOLVE訊息自該第二節點傳遞至一第三節點, 自該第三節點接收一第二 RESPONSE訊息,該第二 RESPONSE訊息包括對應該第三節點的一第二CPA最符合 元件,及 將該第二RESPONSE訊息傳遞至該第一節點。 8. —種在一點對點網路中有效化一第一節點的一點名稱 解析協定(PNRP)識別(ID)之方法,至少包含以下步驟: 在一第二節點,自該第一節點接收一 INQUIRE訊息, 其請求該PNRP ID之一認證,其中該INQUIRE訊息至少 包括一第一標頭訊息元件、一第一旗標攔位訊息元件及對 應該PNRP ID的一有效PNRP ID訊息元件;及 若該PNRP ID在該第二節點已區域註冊,則執行以下 步驟: 在該第二節點產生一 AUTHORITY訊息,其中該 AUTHORITY訊息至少包括一第二標頭訊息元件、一已確 收標頭訊息元件、一分裂控制訊息元件、一第二旗標攔位 76 1379548 年-¾日修(更)正替換頁i 訊息元件、該有效PNRP ID訊息元件、一憑證鏈訊息元件、 一 IPV6參考訊息識別訊息元件及一分類器訊息元件;及 傳送該AUTHORITY訊息至該第一節點。 9 · 一種在一點對點網路中修復一分裂雲之方法,至少包含 以下步驟: 在一第一節點接收一 REPAIR訊息,其中該REPAIR 訊息至少包括一第一標頭訊息元件、一第一標的點名稱解 析協定(PNRP)識別(ID)訊息元件、一修復快取層訊息元件 及一第一 IPV6端點訊息元件; 在該第一節點找尋一最靠近區域註冊PNRP ID,其中 該最靠近區域註冊PNRP ID為數字上最靠近對應該第一標 的PNRP ID訊息元件的一第一標的PNRP ID的那一個區域 註冊 PNRP ID ; 將該最靠近區域註冊PNRP ID增加一;及 傳送一 RESOLVE訊息至該REPAIR訊息之一 IP位 址,該RESOLVE訊息至少包括一第二標頭訊息元件、一 解析控制訊息元件、對應該經增加最靠近區域註冊PNRP ID的一更新標的PNRP ID訊息元件、一有效PNRP ID訊 息元件、一第一已認證點位址(CPA)最符合訊息元件及一 第二IPV6端點陣列訊息元件。 10.如申請專利範圍第9項所述之方法,另外包含以下步 77 1379548
驟: 在該第一節點接收一 RESPONSE訊息,其至少包括一 第三標頭訊息元件、該解析控制訊息元件、該更新標的 PNRP ID訊息元件、一更新CAP最符合訊息元件及一更新 第二IPV6端點陣列訊息元件; 若對應該更新CPA最符合訊息元件的一新節點係在該 第一節點一快取之一底層中,則傳送一 FLODD訊息至一 或多數選定點,該F L 0 0 D訊息至少包括一第四標頭訊息 元件、一泛流控制訊息元件、該更新CPA最符合訊息元件 及一第三IPV6端點陣列訊息元件; 若該新節點比該第一節點所知的其它節點在數字上還 要接近該第一標的PNRP ID,則傳送一 REPAIR訊息至對 應該修復快取層訊息元件的該第一節點一修復快取層的所 有入口; 若該新節點比該第一節點所知的其它節點在數字上還 要遠離該第一標的PNRP ID,則傳送一 REPAIR訊息至該 新節點。 78
TW097101702A 2003-06-13 2004-05-18 Peer-to-peer name resolution wire protocol and message format data structure for use therein TWI379548B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/461,940 US7533184B2 (en) 2003-06-13 2003-06-13 Peer-to-peer name resolution wire protocol and message format data structure for use therein

Publications (2)

Publication Number Publication Date
TW200843412A TW200843412A (en) 2008-11-01
TWI379548B true TWI379548B (en) 2012-12-11

Family

ID=33299879

Family Applications (2)

Application Number Title Priority Date Filing Date
TW093113978A TWI339518B (en) 2003-06-13 2004-05-18 Peer-to-peer name resolution wire protocol and message format data structure for use therein
TW097101702A TWI379548B (en) 2003-06-13 2004-05-18 Peer-to-peer name resolution wire protocol and message format data structure for use therein

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW093113978A TWI339518B (en) 2003-06-13 2004-05-18 Peer-to-peer name resolution wire protocol and message format data structure for use therein

Country Status (14)

Country Link
US (1) US7533184B2 (zh)
EP (2) EP2584764A1 (zh)
JP (1) JP4786882B2 (zh)
KR (1) KR101021360B1 (zh)
CN (1) CN1574840B (zh)
AU (1) AU2004202255B8 (zh)
BR (1) BRPI0401924A (zh)
CA (1) CA2465997C (zh)
HK (1) HK1071252A1 (zh)
MX (1) MXPA04005718A (zh)
MY (1) MY140075A (zh)
RU (1) RU2385488C2 (zh)
TW (2) TWI339518B (zh)
ZA (1) ZA200403431B (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
WO2003015341A2 (en) * 2001-08-04 2003-02-20 Kontiki, Inc. Method and apparatus for facilitating secure distributed content delivery across a computer network
US7450524B2 (en) * 2003-06-30 2008-11-11 Kontiki, Inc. Method and apparatus for determining network topology in a peer-to-peer network
US20040267875A1 (en) * 2003-06-30 2004-12-30 Hennessey Wade L. Method and apparatus for establishing peering rules for distributed content delivery
WO2005022397A1 (en) * 2003-08-28 2005-03-10 Trihedron Co., Ltd. Method of data synchronization in multiplayer network games
US20050149732A1 (en) * 2004-01-07 2005-07-07 Microsoft Corporation Use of static Diffie-Hellman key with IPSec for authentication
US20050193106A1 (en) * 2004-03-01 2005-09-01 University Of Florida Service discovery and delivery for ad-hoc networks
US7747797B2 (en) * 2004-09-28 2010-06-29 Microsoft Corporation Mass storage device with near field communications
US7848332B2 (en) * 2004-11-15 2010-12-07 Cisco Technology, Inc. Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary
WO2006071062A1 (en) * 2004-12-30 2006-07-06 Samsung Electronics Co., Ltd. A terminal data format and a communication control system and method using the terminal data format
US7647394B2 (en) * 2005-02-15 2010-01-12 Microsoft Corporation Scaling UPnP v1.0 device eventing using peer groups
US7640329B2 (en) * 2005-02-15 2009-12-29 Microsoft Corporation Scaling and extending UPnP v1.0 device discovery using peer groups
US7493413B2 (en) * 2005-03-15 2009-02-17 Microsoft Corporation APIS to build peer to peer messaging applications
US7543023B2 (en) * 2005-03-15 2009-06-02 Microsoft Corporation Service support framework for peer to peer applications
US7912959B2 (en) * 2005-03-15 2011-03-22 Microsoft Corporation Architecture for building a peer to peer messaging platform
US7616594B2 (en) * 2005-04-22 2009-11-10 Microsoft Corporation Wireless device discovery and configuration
US7817647B2 (en) * 2005-04-22 2010-10-19 Microsoft Corporation Flower-petal resolutions for PNRP
US20060242235A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Presence monitoring in a serverless peer-to-peer system
US20060239206A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Apparatus and method for network identification among multiple applications
US7571228B2 (en) * 2005-04-22 2009-08-04 Microsoft Corporation Contact management in a serverless peer-to-peer system
US7788378B2 (en) * 2005-04-22 2010-08-31 Microsoft Corporation Apparatus and method for community relay node discovery
US8036140B2 (en) * 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US7603482B2 (en) * 2005-04-22 2009-10-13 Microsoft Corporation DNS compatible PNRP peer name encoding
KR101089117B1 (ko) * 2005-05-06 2011-12-05 노키아 코포레이션 802.21 원격 이벤트들 및 정보 서비스들을 발견하기 위한메커니즘
JP2006319909A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc データ通信の方法、ピアツーピア型のネットワーク、および情報処理装置
US8230221B2 (en) * 2005-08-15 2012-07-24 Telefonaktiebolaget L M Ericsson (Publ) Routing advertisement authentication in fast router discovery
US7594031B2 (en) * 2005-09-15 2009-09-22 Microsoft Corporation Network address selection
US20070073859A1 (en) * 2005-09-29 2007-03-29 Microsoft Corporation Peer name resolution and discovery
US8255546B2 (en) * 2005-09-30 2012-08-28 Microsoft Corporation Peer name resolution protocol simple application program interface
US7797427B2 (en) * 2005-12-13 2010-09-14 Cisco Technology, Inc. System and method for applying a communication feature extension
DE602005021134D1 (de) * 2005-12-22 2010-06-17 Microsoft Corp Peer-to-Peer-Nachrichtenformat
US8108548B2 (en) * 2005-12-22 2012-01-31 Microsoft Corporation Methodology and system for file replication based on a peergroup
US20070204003A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Downloading a file over HTTP from multiple servers
GB0606071D0 (en) * 2006-03-27 2006-05-03 Siemens Ag Indication of dtm handover command
FR2903268A1 (fr) * 2006-06-30 2008-01-04 Thomson Licensing Sas Procede de reception de services audio/video, terminal et systeme correspondants
US8489701B2 (en) * 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
US8982887B2 (en) * 2007-05-18 2015-03-17 International Business Machines Corporation System, method and program for making routing decisions
US9838365B2 (en) * 2007-07-10 2017-12-05 Qualcomm Incorporated Peer to peer identifiers
US20090055346A1 (en) * 2007-08-23 2009-02-26 Yahoo! Inc. Scalable Ticket Generation in a Database System
US7729366B2 (en) * 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
US20090116579A1 (en) * 2007-11-02 2009-05-07 Arya Abraham Interprocessor communication link for a load control system
US8429715B2 (en) * 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
WO2010027495A1 (en) * 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
EP2338256A4 (en) * 2008-09-17 2012-03-28 Vuze Inc ASSOCIATIVE PREPARATION OF MULTIMEDIA SUBSCRIPTIONS
US9900779B2 (en) * 2008-12-30 2018-02-20 Qualcomm Incorporated Centralized control of peer-to-peer communication
US8228822B2 (en) * 2009-03-03 2012-07-24 Cisco Technology, Inc. Hierarchical flooding among peering overlay networks
US9325787B2 (en) * 2009-05-18 2016-04-26 Cisco Technology, Inc. Limited broadcast, peering among DHTs, broadcast put of limited content only
US20100293223A1 (en) * 2009-05-18 2010-11-18 Cisco Technology, Inc. Limiting storage messages in peer to peer network
US8729814B2 (en) 2009-11-25 2014-05-20 Lutron Electronics Co., Inc. Two-wire analog FET-based dimmer switch
US9083541B1 (en) * 2010-07-29 2015-07-14 Crimson Corporation Retransmitting lost packets for multicast data distribution
US9148390B2 (en) 2010-08-04 2015-09-29 Alcatel Lucent System and method for virtual chassis split prevention
US9781205B2 (en) * 2011-09-12 2017-10-03 Microsoft Technology Licensing, Llc Coordination engine for cloud selection
WO2013100959A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Processor accelerator interface virtualization
KR102005771B1 (ko) 2012-02-24 2019-10-01 삼성전자주식회사 무선 통신 네트워크에서 ip 주소 할당 방법 및 장치
US9130907B2 (en) * 2012-05-01 2015-09-08 Harris Corporation Switch for communicating data in a dynamic computer network
US9444564B2 (en) 2012-05-10 2016-09-13 Qualcomm Incorporated Selectively directing media feeds to a set of target user equipments
US9277013B2 (en) * 2012-05-10 2016-03-01 Qualcomm Incorporated Storing local session data at a user equipment and selectively transmitting group session data to group session targets based on dynamic playback relevance information
WO2014074546A1 (en) * 2012-11-12 2014-05-15 Alcatel Lucent Network node and method in a node operable in a virtual chassis system wherein it is determined whether to issue a warning that an administrative action triggers a virtual chassis split
US10530684B2 (en) * 2015-05-19 2020-01-07 International Business Machines Corporation Management of unreachable OpenFlow rules
US10452648B1 (en) 2015-12-07 2019-10-22 Gravic, Inc. Method of ensuring transactional integrity of a system that includes a plurality of subsystems, one of which takes an action upon a loss of transactional integrity
US9760598B1 (en) * 2015-12-07 2017-09-12 Gravic, Inc. Method of ensuring real-time transaction integrity in the cloud
US9922074B1 (en) 2015-12-07 2018-03-20 Gravic, Inc. Method of ensuring real-time transaction integrity in the indestructible scalable computing cloud
US10394798B1 (en) 2015-12-07 2019-08-27 Gravic, Inc. Method of ensuring transactional integrity of a system that includes a first subsystem and a second subsystem
US11567818B2 (en) * 2016-04-26 2023-01-31 Akimbo Technologies Inc. Method of detecting faults in a fault tolerant distributed computing network system
ES2921983T3 (es) * 2018-03-16 2022-09-05 Acklio Método y aparato para procesar datos de mensaje
US11277305B2 (en) * 2019-10-09 2022-03-15 Qualcomm Incorporated Edge discovery techniques in wireless communications systems
CN111010274B (zh) * 2019-12-30 2022-08-12 烽火通信科技股份有限公司 一种安全低开销的SRv6实现方法
US20220294665A1 (en) * 2021-03-09 2022-09-15 Arista Networks, Inc. Packet Forwarding Between Hybrid Tunnel Endpoints

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204748A (ja) * 1990-01-08 1991-09-06 Hitachi Ltd Osi電文組立方式
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6205481B1 (en) * 1998-03-17 2001-03-20 Infolibria, Inc. Protocol for distributing fresh content among networked cache servers
US6269099B1 (en) * 1998-07-01 2001-07-31 3Com Corporation Protocol and method for peer network device discovery
US6898200B1 (en) * 1999-10-29 2005-05-24 Nortel Networks Limited Method for improving signaling efficiency and performing service load balancing in a connection oriented network
US6748420B1 (en) * 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
JP2001326632A (ja) * 2000-05-17 2001-11-22 Fujitsu Ltd 分散グループ管理システムおよび方法
US7031268B1 (en) * 2000-05-17 2006-04-18 Cisco Technology, Inc. Call optimization in ad-hoc conference calls
US7009968B2 (en) * 2000-06-09 2006-03-07 Broadcom Corporation Gigabit switch supporting improved layer 3 switching
US6636854B2 (en) * 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US6826198B2 (en) * 2000-12-18 2004-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Signaling transport protocol extensions for load balancing and server pool support
US20040213220A1 (en) * 2000-12-28 2004-10-28 Davis Arlin R. Method and device for LAN emulation over infiniband fabrics
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
US6985958B2 (en) * 2001-03-14 2006-01-10 Microsoft Corporation Messaging infrastructure for identity-centric data access
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7272636B2 (en) * 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
US6961723B2 (en) * 2001-05-04 2005-11-01 Sun Microsystems, Inc. System and method for determining relevancy of query responses in a distributed network search mechanism
US7299351B2 (en) * 2001-09-19 2007-11-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7493363B2 (en) * 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US7068789B2 (en) * 2001-09-19 2006-06-27 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
US6674459B2 (en) * 2001-10-24 2004-01-06 Microsoft Corporation Network conference recording system and method including post-conference processing
US7177929B2 (en) * 2002-03-27 2007-02-13 International Business Machines Corporation Persisting node reputations in transient network communities
US6912622B2 (en) * 2002-04-15 2005-06-28 Microsoft Corporation Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol
US7206862B2 (en) * 2002-04-24 2007-04-17 Microsoft Corporation Method and apparatus for efficiently matching responses to requests previously passed by a network node
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20040181487A1 (en) * 2003-03-10 2004-09-16 Microsoft Corporation Digital media clearing house platform
US7577750B2 (en) * 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US7454465B2 (en) * 2004-03-26 2008-11-18 Microsoft Corporation Real-time collaboration and communication in a peer-to-peer networking infrastructure

Also Published As

Publication number Publication date
AU2004202255B2 (en) 2009-12-03
EP1487180A2 (en) 2004-12-15
CN1574840A (zh) 2005-02-02
KR101021360B1 (ko) 2011-03-14
KR20040107420A (ko) 2004-12-20
US7533184B2 (en) 2009-05-12
EP1487180A3 (en) 2011-08-31
AU2004202255B8 (en) 2010-01-07
JP2005004777A (ja) 2005-01-06
AU2004202255A1 (en) 2005-01-06
ZA200403431B (en) 2005-07-27
BRPI0401924A (pt) 2005-01-25
JP4786882B2 (ja) 2011-10-05
EP1487180B1 (en) 2014-06-04
TW200503475A (en) 2005-01-16
RU2004117797A (ru) 2006-01-10
CA2465997C (en) 2016-02-23
MY140075A (en) 2009-11-30
MXPA04005718A (es) 2005-03-23
RU2385488C2 (ru) 2010-03-27
US20050004916A1 (en) 2005-01-06
TWI339518B (en) 2011-03-21
TW200843412A (en) 2008-11-01
CN1574840B (zh) 2010-07-14
HK1071252A1 (zh) 2005-07-08
CA2465997A1 (en) 2004-12-13
EP2584764A1 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
TWI379548B (en) Peer-to-peer name resolution wire protocol and message format data structure for use therein
Ekparinya et al. Impact of man-in-the-middle attacks on ethereum
TWI310649B (en) Peer-to-peer name resolution protocol (pnrp) security infrastructure and method
Zapata et al. Securing ad hoc routing protocols
US7336623B2 (en) Peer-to-peer cloud-split detection and repair methods
US20070206597A1 (en) Methods and apparatus for providing an enhanced dynamic multipoint virtual private network architecture
CN103701700B (zh) 一种通信网络中的节点发现方法及系统
US20120246301A1 (en) Apparatus and method for managing peer-to-peer connections between different service providers
JP4054007B2 (ja) 通信システム、ルータ装置、通信方法、ルーティング方法、通信プログラムおよびルーティングプログラム
US11792186B2 (en) Secure peer-to-peer based communication sessions via network operating system in secure data network
US20080137856A1 (en) Method for generating indirect trust binding between peers in peer-to-peer network
CN101471878B (zh) 对等会话起始协议网络的安全路由方法、网络系统及设备
US11582201B1 (en) Establishing and maintaining trusted relationship between secure network devices in secure peer-to-peer data network based on obtaining secure device identity containers
Dotan et al. Survey on cryptocurrency networking: Context, state-of-the-art, challenges
CN109639625A (zh) 一种基于区块链的可信任内容分发网络方法
US12003504B2 (en) Dynamic secure keyboard resource obtaining interface definitions for secure ad-hoc control of a target device in a secure peer-to-peer data network
US20230379323A1 (en) Dynamic secure keyboard resource obtaining interface definitions for secure ad-hoc control of a target device in a secure peer-to-peer data network
US20230125556A1 (en) Secure autonomic recovery from unusable data structure via a trusted device in a secure peer-to-peer data network
US20230394476A1 (en) Quic transactions
Zima P2P Cryptocurrency Exchange and Blockchain Size Reduction
Brumley et al. Towards attack-agnostic defenses

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees