TWI339518B - 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
TWI339518B
TWI339518B TW093113978A TW93113978A TWI339518B TW I339518 B TWI339518 B TW I339518B TW 093113978 A TW093113978 A TW 093113978A TW 93113978 A TW93113978 A TW 93113978A TW I339518 B TWI339518 B TW I339518B
Authority
TW
Taiwan
Prior art keywords
message
pnrp
field
array
node
Prior art date
Application number
TW093113978A
Other languages
English (en)
Other versions
TW200503475A (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 TW200503475A publication Critical patent/TW200503475A/zh
Application granted granted Critical
Publication of TWI339518B publication Critical patent/TWI339518B/zh

Links

Classifications

    • 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
    • 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
    • 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

1339518 玖、發明誨時 【發明所屬之技術領域】 本發明係大致有關於一種在一點對點基礎結構中之通 訊協定,且特別是有關於一種可允許在一點對點圊表中之 結構化通訊的訊息格式資料結構。 【先前技術】
藉由網路上之各種通訊技術,具有共同興趣之使用者 可共同合作、分享檔案、相互聊天、多重播放表演與團體 會議之影音、以及在多使用者遊戲中交手。然而目前大部 份之網路通訊都是發生於以伺服器為中心之環境中,藉以 使得所有之通訊都會流至或穿過大型中心伺服器,而個體 可連接此伺服器以加入與參加此通訊》
隨著點對點技術之再次出現,已經快速取代了目前網 路通訊之伺服器中心模式。甚至,點對點技術可讓使用者 在無伺服器之環境中互相接觸,而不用受到一伺服器型網 路通訊之約束。在以點對點為基礎之系統中,因為通訊係 直接發生在網路中這些點之間,因此可保有使用者之匿名 與隱私。然而,雖然在點對點網路中已建立相當良好之個 體通訊與檔案分享,但是點對點環境中並未充分建立訊息 建立、發現、加入、保持與分享。 點對點通訊與事實上所有之通訊類型,都是取決於在 所選擇之實體或節點之間建立有效連線的可能性。這些實 體或節點可為形成在點對點網路中之點,(例如使用者或機 3 1339518
器),或是群組。在節點之間的連線形成點對點圖表 使通訊與訊息被傳遞至這些節點或是於節點之間傳 而,由於拓樸改變、由於無法更新位址租賃、由於 群組功能或目的等,所以實體可能具有會因實體在 移動隨之而變的一或數個位址》此位址問題之典型 決方案為指定一固定名稱給每個實體,以及當需 時,將此名稱「解析j為一目前位址。名稱至位址 必須非常快速,而且必須可容易與快速更新。 為了增加實體可被搜尋到並連線之可能性,許 點協定可允許實體藉由各種機構公告其個體或群組 一些協定亦可允許一客戶端,經由網路中來自其他 處理,而獲取其它實體之位址消息》當然,此位址 獲取係藉由保持一紮實圖表而使得點對點網路可 作。即是關於網路中其它點與群組之資訊越佳(相當 表越紮實),則可使一特別資源或紀錄之搜尋更為必 如同以伺服器為中心的環境,點對點囷表也可 開放而允許圖表内之網路擋案搜尋與分享。然而, 對點網路係以分散使用者或點之一圖表之形式存在 擋案需要認知的是通訊與資料(紀錄)係在網路中所 前從一點被傳送至另一點。提供此路徑之系統包括 與 OSPF。然而,此目前系統至今仍受限於點對點 完全發展之限制。此外,點位點網路目前缺乏適當 管理,而導致當成員之一者離開群組時,此圊表有㈣ 斷」或成分裂狀。在此例子中,圖表之一部份之資 ,其可 遞。然 已改變 網路中 架構解 要連線 之翻譯 多點對 位址。 請求之 消息之 連續運 於,圖 :斂。 以完全 因為點 ,分享 有點之 Usenet 技術之 的圖表 F會「切 訊可能 4 1339518 不再被傳送至分割區之另一側的點成員’此分割區係因其 中一點之離開而產生。更為一缺點則是,沒有適當機構可 以偵測此分隔區。 除了習知已存在之功能問題,網路流量也很容易淹沒 在該網路雲(ci〇ud)中參與之點。訊息大小與結構降低了點 快速處理訊息之能力,而導致當網路雲大小變大時,通訊 被延遲成中斷。
因此’此技術中需要一種點對點訊息協定與資料結 構,用以解決上述與其它已存在於此技術中之問題。 【發明内容】 本申請案中揭示之發明概念包括一種訊息之可擴充資 料結構,其適用於一種點對點名稱解析協定。此訊息資料 結構利用訊息資料搁位以構成各種使用於PNRP之訊息。 每一訊息資料棚位包括一訊息元件〃較佳為,第一攔位係 訊息標頭元件,其係包括協定資訊且係辨別訊息類型。
如同訊息本身,每個訊息元件包含一些訊息元件資料 攔位。這些訊息元件攔位包括該訊息元件之一類型欄位、 一長度攔位、與内容或承載。類型欄位包括代表表明該元 件類型之標誌。長度攔位係辨識包括欄位類型與長度襴位 之該訊息元件的長度。 在一具體實施例中,為了適當的操作點對點名稱解析 協定(PNRP) ’至少要形成十個訊息。此十個訊息包括_ RESOLVE 訊息、一 RESP〇NSE訊息、一 SOLICIT 訊息、 1339518 一 ADVERTISE 訊息、一 REQUEST 訊息、_ FL〇〇D 訊息、 一 INQUIRE 訊息、一 AUTH〇RITY 訊息、—ACK 訊息、 以及一 repair訊息。這些訊息係由較佳具艘實施例中之 二十二個不同訊息元件構成。 【實施方式】
圖式中相同之標號代表相同之元件’本發明係舉例為 實施於一適合之計算環境中。雖然不是必須的,將以利用 個人電腦執行之電腦可執行指令’例如程式模組之一般背 景來敘述本發明。一般而言,程式模組包括例行程序、程 式、物件 '組件、資料結構等’其可進行特別之工作或實 施特別之柚象化資料類盤。此外,熟習此技藝者可瞭解本 發明亦可實施於其它電腦系统組態,包括手持式元件、多 處理器系统、以微處理器為基礎或可程式之消費性電子、 網路PCS '微電腦、大型電腦、與諸如此類。本發明也可實 施於分散式計算環境中,此分散式計算環境係利用以通訊 網路而相互連接之遠端處理元件來執行工作。在此分散式 計算環境中,程式模组可同時位於本地端與遠端記憶趙儲 存元件中。 第1圈係說明適合之計算系統環境100之一例子,而本 發.明可實行於其上。此計算系統環境100僅是一適合之計算 環境的例子,且非用來限制本發明之使用與功能性的範 圍。計算環境100也不應該被解釋成與其内'之一組件或組件 6 1339518 組合有任何依附與需求關係。 本發明可選擇性的具有多個其它一般用途或特別用途 計算系統環境或組態。適用於本發明之習知計算系統 '環 境與/或組態之例子包括,但不限於此,個人電腦、伺服電 腦、手持式或膝上型裝置、多處理器系統、以多處理為基 礎之系統、機上盒、可程式消費性電器、網路PCs、微電腦、 主機電腦、包括任何上述系統或元件之分散式計算環境、 與諸如此類。
可利用藉由電腦執行之電腦可執行指令諸如程式模組 之一般背景來作敘述本發明。一般而言,程式模組包括常 式、程式、物件、組件、資料結構等等,其可進行特別之 工作或實施特別抽象化資料類型。本發明也可實施於分散 式計算環境中,此分散式計算環境係利用以通訊網路而相 互連接之遠端處理元件來執行工作。在此分散式計算環境 中,程式模組可同時位於本地端與遠端記憶體儲存元件。
請參考第1圖,實施本發明之一具體實施例包括具有電 腦no形式之一般用途計算元件。電腦no之組件可包括, 但不限於此,處理單元120、系統記憶體130與系統匯流排 1 2 1,此系統匯流排可耦接各種系統組件包括系統記憶體至 處理單元1 20。系統匯流排1 2 1可為數個類型之匯流排結構 中的任何一個,包括記憶體匯流排或記憶體控制器、週邊 匯流排與使用各種匯流排架構中任何一區域匯流排。藉由 範例,但不限於此,此架構包括工業標準架構(ISA)匯流 7 1339518 排、微通道架構(MCA)匯流排、增益工業標準架構(EISA) 匯流排、視頻電子標準協會(VESA)區域匯流排以及週邊零 件連接介面(PCI)匯流排,亦稱為整合型匯流排。 電腦110通常包括各種的電腦可讀取媒艘。電腦可讀取 媒體可為任何可用之能夠被電腦110存取之媒想,且包括揮 發性與非揮發性媒體、可移除與不可移除媒體。藉由範例, 但不限於此,電腦可讀取媒體可包括電腦儲存媒艘與通訊 媒想。電腦儲存媒體包括揮發性與非揮發性媒艘、可移除 與不可移除媒體,其可由任何方法或技術完成’用以儲存, 例如,電腦可讀取指令、資料結構、程式模组或其它資料 之資訊。電雎儲存媒體包括,但不限於,RAM、r〇m、 EEPROM、快閃記憶趙或其它記憶趙技術、、數位 多功能光蝶(DVD)或其它光學碟式儲存、卡式磁帶、磁帶、 磁碟错存或其它磁式错存元件、或任何可用來儲存所需資 訊且可被電腦110存取之媒體。典型的通訊媒體之棋組化資 料訊號中包含電聪可存取指+、資科結構、程式模组或其 它資料,此模組化資料訊號例如為載波或其它傳輸機制, 以及包括有任何資訊傳遞媒體。「棋組化資料信號」_詞 代表具有一或多個其特徵之一信號,其中係以設定或更改 此-或多個特徵之方式來編碼此訊號之資訊。藉由範例, 不限於此,通訊媒體包括有線媒鍍,例如有線網路或專 線連線’以及無線媒體,例如聲音、RF、紅外線與其它無 線媒體。上述之任意組合亦應屬於電腦可讀取媒體之範圍。 8 1339518 系統記愧體130包括揮發性與/或非揮發性記憶想形式 之電滕错存媒體’如唯讀記憶體(R〇M)13 1與隨機存取記憶 體(RAM)132。典型之基本輸出入系統(BI〇s)133係錯存於 ROM 131中,此基本輸出入系統包括,例如開機時,幫助 電腦no中元件間之資訊轉移之基本程序。典型之132 包括正被處理單元120操作或存取之資料與/或程式模組。 藉由範例,但非用以限制,第i圖係繪示操作系統丨34、應 用程式135、其它程式模組136與程式資料137。 電腦110也可包括其它可移除/不可移除、非發性/非揮 發性電滕儲存媒艘。經由範例,其僅為舉例,第1圖說明硬 碟機141,其可讀自或寫至不可移除、非揮發性磁式媒趙: 磁碟機151,其可讀自威窵至不可软你.
得電腦110可提供儲存電腦可讀取指令、 巧腦儲存媒體,使 、資料結構、程式模 9 丄州518 組與其它資料。在第!圊中,例如,硬碟機i4i係說明為用 、儲存撫作系統144、應用程式145與其它程式模组146與程 式資料147。請注意,這些組件可以相同或是不同於操作系 統34應用程式135與其它程式模組136與程式資料137。 此處之操作系統144、應用程式!45與其它程式模組〗46舆程 式資料M7被給予不同之標號,表示最起碼其為不同之副 本。透過輸入元件,例如鍵盤162與指標裝置161 ,通常稱 為滑鼠、軌跡球或觸控板,使用者可以輸入命令與資訊予 電瑙Π0。其它未說明之輸入元件可包括一麥克風、控制 桿、遊戲墊、衛星碟、择描器、或類似物。這些與其它輸 入元件通常利用耦接至系统匯流排之一使用者輸入介面 160,而連接至處理單元丨20,但其也可被其它介面或匯流 排结構連接’例如平行埠、遊戲埠或萬用序列匯流排 (USB)。螢幕191或其它類型之頬示裝置也可以經由—介 面1例如影像介面1 9 0,而連接至系統匯流排丨2 1。除了螢 幕,電腦也可以包括透過一輸出週邊介面195而連接的其它 週邊輸出裝置’例如喇叭1 9 7與印表機1 9 6。 電腦110也可以操作於一網路化之環境中,此環境係遲 輯連線至一或多個遠端電雎,例如遠端電腦180。雖然第1 囷中僅說明記憶體儲存裝置181,此遠端電腦180也可以為 另一個人電腦、伺服器、路由器、網路PC、同級裝置或其 它共用的網路節點,以及通常包括上述與電墦110有關聨性 之部份或全部元件。第1囷揭示之邏輯連線包括一區域網路 10 1339518 (LAN)171與廣域網路(wAN)173,但也可包括其它網路。此 網路環境常見於辦公室、企業範圍内的電腦網路、内部辦 路與網際網路。 當使用於LAN網路環境中時,個人電腦110可透過蜗路 介面或轉接卡170而連接至LAN 171 »當使用於WAN啤路環 境中時’電腦110通常包括一數據機172或其它構件,用以 在WAN in,如網際網路上建立通訊。數據機丨72,其可為
内部或外部,可經由使用者輸入介面18〇或其它合適機構’ 而連接至系統匯流排121。在網路化環境中,也可以儲存揭 示之與個人電腦ΠΟ相關聯的程式棋組,或其上之部份於 遠端記憶體儲存元件。藉由範例,但不限於此,第i囷說明 -遠端應用程式185位於記憶體裝置⑴上。可瞭解,上面 顯示出的網路連線僅為舉例’也可以使用其它可在電聪之 間建立通訊連線的搆件。 否則將參考一或多個電聪 執行之動作與操作的代表符號,來描述本發明。如上, 可瞭解此常被稱為電腦可執行 ^ .. 订之動作與操作,包括結構化 也式之電腦處理單元的表達f 作“ 料之電子信號之運作。此運 作係轉換資料或將資料保持在 „ 包啤記愧體系統之位置上, 此電腦記憶體系統可以習知此 改堪φ 此技藝者可理解之方式重組或 改變電雎的之操作·用來保 -¥ ^ 存資科之資料結構係記億«之 實體位置,其具有以資料格 ^ 飞疋義之特定性質。然而,雖 然先前文章中已描述出本發 月但非用以限制,熟習此技 11 1339518 藝者可以理解此後所述之動作與操作也可實施於硬體t »
如上所述,點對點(P2P)通訊協定之成功係決定於通訊 協定在選擇之實體之間建立有效連線的能力。同樣地,P2P 網路中群組之形成係依賴此能力。因為特定使用者可能在 具有不同位址之各種位置以各種方式連線至網路,因此較 佳之方式係指定一特定身分予使用者或群組,然後再經由 通訊協定將此身分解析成一或數個特定位址。本發明之身 分管理系統與方法發現此點對點名稱解析協定(PNRP)之 特別應用性,已揭示於共同申請中的申請案第09/942,1 64 號,名稱為點對點名稱解析協定(PNRP)與使用於此之多層 快取,申請曰為2001年8月29曰、揭示於共同申請中的申請 案第10/122,863號,名稱為點對點名稱解析通訊協定(PNRP) 之多層快取架構與快取管理方法,申請曰為2002年4月1 5 日、以及揭示於共同申請中的申請案第0 9/9 5 5,923號’名 稱為點對點群組管理與保持點對點圊表之方法,申請曰為 2 001年9月19曰。上述引證案之教示與揭示一併供作參考。
同樣的,共同申請中的申請案第09/956,260號,名稱 為點對點名稱解析通訊協定(PNRP)安全性基礎架構舆方 法,申請日為200 1年9月19曰,描述了 一種基本的安全性基 礎架構,其可確保網路中各種實體之身分是有效的,而不 需使網路負擔過多流量。在P2P群組環境中,共同申請t 的申請案第09/95 5,924號,名稱為點對點名稱解析通訊協 定(PNRP)群組安全性基礎架構與方法,申請曰為2001年9 12 月19日’描述了一種用於此群組之基本安全性基礎架構。 上述引證案之教示與揭示一併供作參考。然而,雖然本發 明之介面與方法發現此PNRP之特別應用性並與其互動 性,熟習此技藝者將可理解本發明並不限於此,本發明亦 玎應用於任何欲提供P2P圖表管理功能之P2P系統或協定。 如上述之共同申請中之申請案所述之PNRP與提供之 〆些有用的發明背景,PNRP係一種以點為基礎的名稱至位 址之解析通訊協定。點來源可被指定一點名稱。一應用程 武if往冊具備PNRP之點名稱’藉以使此點可被其它點發 規β其它應用程式可使用PNRP以解析點名稱,藉以獲得註 册之應用程式的對應IP位址與皡。PNRP並未提供任何機制 以找尊或瀏覽點名稱。分散點名稱之機制必須藉由其它構 件來完成。點名稱至位址之解析係藉由使參加的點共同合 作傅遞訊息至另·一者’以及保持點名稱至位址對映之分散 式快取而完成。除了初始化之外,註冊與解析機制無關於 祠服器存在與否。當之例子第一次開始時,其需要找 出其它可用以交換資料之其它PNRP例子的位址。假如沒有 其它構件可以利用,則可以使用習知之伺服器以獲得其它 PNRP例子之歹,J。 換句話說,PNRP可允許點應用程式註冊一點名稱 (peer name)至端點對映,並解析點名稱以獲得此端點。此 處可有一些定義。點名稱係一字串,其可定義一點來源。 為了可註冊點名稱,一應用程式必須存取一對公鑰/私鑰。 13 1339518 金錄對係用來對某些訊息簽章以避免被竄改。點名稱也可 導自金鑰對’藉以可確認身分歸屬。端點為一IPv6/IPv4位 址'埠與通訊協定》事實上,—列端點也可以單一之點名 稱來註冊,當解析點名稱之後,傳回此列表。節點係pNRp 通訊協定服務之一例子。每_電猫通常有一節點β網路雲 (cloud)為可相互聯繫之節點間之網路。單一節點可連接至 超過一個網路雲。網路雲具有等同於IPv6定義之範圍全 域、位-區域與連線區域之—領域性質(sc〇pe pr〇perty)。 一節點也可具有多位置區域網路雲與多連結區域網路雲。 節點間之通訊不可從一網路雲橫穿至另一網路雲。網路雲 名稱係用來區別這些網路雲。點名稱可被註冊於超過一節 點上。PNRP可使每個註冊均有區別。與每個點名稱例子相 關之端點列都會不同。在節點中,可以將點名稱註冊至超 過-網路雲上,其中點係、連接至此網路雲。這些注冊每個 都是有區別的。正常而1:,每一個這些例子中的端點列都 不同。當節點嘗試解析名稱時,其係在選擇之網路雲上進 行。只有當點名稱註冊至相同之網路雲中時,解析才會成 功•也可以同時在超過一網路雲上解析點名稱但是這些 被當作獨立之解析請求來處理。 PNRP服務包括數個-起運作之模組,> 第2圓所示。 服務管理組件200處理簡單的内部管理,例如開啟與停止 PNRP服務。RPC伺服器與樁202提供了客戶端處理舆pNRp 服務間的介面。其管理提供請求之入口點所露出的介面, 14 1339518 以及管理事件與請求完成之通知。其亦處理客戶端過程 止之回復。網路雲管理器204可維持特定客戶端請求之 態,且維持可利用之PNRP網路雲之列。其係負貴產生網 雲與報告客戶端網路雲狀態之改變。
终 狀 珞 珞 其 藉 以 嘗 取 之 係 最 管 需 通 珞 構 節 被 鄰 快取管理器206可維持區域PNRP快取,以及每個網 雲之區域註冊之PNRP名稱列。其係分散式快取之部份。 提供查詢與下一站選擇給來自其它電腦之解析請求。其 由週期性地起始解析請求,來執行其本身快取之維持’ 確保良好之結構化快取。其可進行網路雲分裂之檢測並 試修復之。其提供具備多個已註冊之點ID的能力,I快 結構化以支援每一個。通訊協定管理器208係處理有效 PNRP訊息之製造與傳送以及處理接收之PNRP訊息。其 與快取管理器206 —同運作,藉以執行PNRP通訊協定。 後,訊息傳輪器210係處理訊息之真實傳送與接收。其掌 多網路介面與位址,以及偵測區域位址組之變化。假如 要多通訊協定(IPv4與IPv6),則此組件將會處理這兩個 訊協定。 每個PNRP節點維持點名稱至端點對映之快取給網 雲中之某些其它節點。在節點之間交換根據本發.明所建 之訊息’以散佈點名稱之資訊給網路雲中之節點。每個 點都有責任適當地維持其快取。如同上述申請案所述 PNRP協定定義了以數字表示的名稱空間。每個點名稱都 轉換成一數字,且可比較此數字以決定在名稱空間内之 15 1339518 近性。當解析節點名稱之請求抵達節點時,其可比較此數 字與其快取中之數字,藉以發現數字上較接近所需節點之 一節點。解析請求係以此方式從一節點通至另一節點,而 每一跳可更接近其標的。
藉由上述共同申請案中所描述之雜湊(hashed)功能將 點名稱轉換成128位元數字,稱作P2P ID’S。相同的點名稱 總是產生相同的P2P ID»同樣具有一 128位元數字之一點名 稱註冊的一特定例子,被稱作一服務位置》這兩個共同產 生256-位元數字,稱作PNRP ID。PNRP ID之服務位置部份 使得點名稱註冊之此特定例子在網路中是唯一的。
一應用程式可註冊具有PNRP之一點名稱。PNRP ID係 由名稱產生,且傳送訊息以通知其它節點此註冊。相同之 點名稱可註冊於超過一個節點。每個節點上P2P ID將會相 同,但是每個節點之PNRP ID都應該是唯一的•一應用程 式可要求解析一點名稱為一位址。一 P2P ID係自點名稱所 衍生出,且傳送訊息至其它節點以碟定具有此已註冊P2P ID之節點所在。當P2P ID被解析成一位址時’則回覆一已 認證點位址(CPA)。此CPA包括標的之pNRP ID之服務位置 部份、目前IP位址、公鑰與許多其它欄位。簽章此CPA以 避免被竄改。 也可由許多不同節點註冊一給予之P2P ID。PNRP使用 「服務位置」下標以確保每個已註冊例子具有一唯一之 PNRP ID。一「服務位置j係一 128位元數字,其對應於一 16 1339518 唯一之網路服務端點。藉由結合IPv6位址、埠、通訊協定 與部份之公鑰可產生此值。PNRP客戶端應會認為服務位置 為意義模糊的。一服務位置具有兩個重要性質。在任何時 候,一服務位置辨識一點名稱之一唯一例子。當比較兩個 服務位址時,每一個的常用前置符號之長度係一網路鄰近 性之合理量測。兩個開端具有四個位元相同服務位置通常 並不會比開端具有三個位元相同服務位置較分開。這些優 點僅適用於全域本機單播IPv6位址。
PNRP ID’s之產生與製造僅是PNRP服務之一部份。 PNRP服務執行可被區分成4個階段。首先為,發現PNRP網 路雲。一新節點必須找出其想加入之一存在之節點。此網 路雲可為全域PNRP網路雲、區域位置(企業)網路雲、或一 連線區域網路雲。第二階段為一 PNRP網路雲之加入。一旦 此新節點發現一存在之節點,其可進行一同步程序以獲得 一部份之已存在節點頂端快取層。一單一快取層之一子集 提供足夠之資訊給一新節點以開始加入網路雲中。第三階 段為計劃主動加入網路雲中。當完成初始化之後,節點可 加入PNRP ID註冊與解析。在此階段中,此點也可進行規 則的快取維護。最後階段係有關於點離開網路雲。此節點 反註冊任何區域的已註冊之PNRP ID’s,然後結束。 本發明之完成PNRP各種功能之PNRP協定,包括十個 不同類型之訊息。在一高層,此訊息包括一 RESO L V E訊 息,其可請求將一標的PNRP ID解析成一 CPA。使用一 17 1339518
RESPONSE訊息作為一完成的RES0LVE請求之結果。一 FLOOD訊息包含一 CPA,其用於接收者之PNRP快取•使用 一 SOLICIT訊息以要求一 PNRP節點公告其頂層快取。一 ADVERTISE訊息包含節點之頂層快取中之CPAS之一歹ij PNRP ID。使用一 REQUEST訊息以要求一節點流入 ADVERTISE,d CPAS2 —子集。使用一 INQUIRE訊息詢問一 節點,是否一特定PNRP ID已註冊於此節點上。使用一 AUHORITY訊息以確認一 PNRP ID之區域註冊,且選擇性 的提供一憑證鏈,以確收此ID之CPA。使用一 ACK來表示 收到與/或成功處理一些訊息。最後,使用一 REPAIR訊息 以合併可能分裂的網路雲。 一節點可起始六個基本類型之PNRP交易,其間可應用 本發明之訊息。這些交易包含發現網路雲、同步化、解析、 泛流、身分認證' 與修復。為了提供基本理解這些交易, 因為其係¥關於本發明之訊息與訊息结構,因此在上面已 確認之應用程式中已描述其細節與這些交易之簡單描述。
發現網路雲之交易可允許一點發現一點網路雲。在一 較佳具體實施例_,每個節點可加入數個網路雲中。節點 可依據本身之網路連線而決定加入這些網路雲組中。假如 一節點電腦具有多介面卡,則其可加入多連線區域網路 雲。假如節點為部份之支援IPv6之一位置,則其可存取一 位置區域網路雲。假如一節點連線至超過一個此類位置(也 許經由VPN) ’則其可存取多位置區域網路雲。假如—節點 18 1339518
係連線至網路,則其可存取全域網路雲》 一節點可選擇加入或不加入其存取之一網路雲 一應用程式首先要求註冊一網路雲上之一點名稱或 解析網路雲上之一點名稱時,若此節點尚未加入 中,則此節點必須加入網路雲中。其必須確認網路 少一其它節點之位置以加入網路雲中。假如其無法 它節點,然後其可假設其為網路雲中之第一個節點 其會等待以後的節點加入。 每次當一節點加入一網路雲中時,其可進行發 雲以找出另一節點。發現網路雲也可晚點發生,假: 實作判定其快取並不健全,且需要獲得更多快取入 如開始的快取發現之嘗試無效,則可晚點做另外的 使用下列程序進行發現網路雲。首先,一點可由存 取進行發現。在此一程序中,點首先檢查存在之快 如不存在快取,則點必須藉由下面討論之節點位置 發現。假如快取入口已經存在,對於所有快取入口 藉由指定CPAS之偏好來計算之優先性為未過期,然 為長使用期,然後CPAS為最近將到期。然後點嘗試 步化選擇之節點,直至其中之一提供一些快取入口 如上指出,假如沒有存在快取,則點藉由提供 位置嘗試進行發現。在此程序申,點檢查是否管理 體指定一組之點連接至何者。假如沒有,則點嘗試 述之群播發現。否則,對每個指定的端點,點嘗試 中。當 是要求 網路雲 雲中至 發現其 ,然後 現網路 b PNRP 口。假 嘗試。 在之快 取。假 來嘗試 ,點可 後 CPAS 依序同 〇 之節點 組態具 下面描 +依序同 19 1339518 步化直至其中之一者提供一些快取入口· 對群播發現而言,假如有簡易服務發現通訊協定 (SSDP)可利用,點可發行用於所需網珞雲中之一 PNrp服務 例子之一 SSDP MSEARCH。使用於SSDP搜尋訊息之搜尋標 的字串為 “urn:Microsoft Windows Peer Name Resolution
Protocol: <maj〇r>:<Protocol>:<Sc〇pe:>’’其 *<maj〇r> 為表 示版本之一數字,<prot〇c〇i>為「ipv6j,以及<Sc〇pe>為 「全域」、「區域位置」、或「連線區域」之一者。可預先發 行此搜尋,以便可即時獲得回應》假如沒有SSDp可以利 用’點可嘗試使用其它發現通訊協定·假如沒有其它通訊 協定可利用’然後點將必須嘗試下面所述之目錄名稱词服 機(DNS)發現。然而,假使收到回應,將回應輸入一列要 嘗試之節點中。假使在短期間内’沒有回應,則節點可能 想要嘗試其它發現通訊協定。此期間可由實作來決定。此 點可嘗試依序與選擇之節點同步化,直至其中之一者提供 一些快取入口。 就DNS發現而言,點發出一 DNS詢問以詢問習知之種 子伺服器之名稱。用於全域網路雲之此名稱可為例如 SEED.PNRP.NET »假如成功’點可進行下面所述之同步 化*假如此時網路雲發現尚未成功’然而,PNRP設定網路 雲狀態為無法發現網路雲中之其匕成具,以及假設其為網 路雲中之第一個節點。其可稍後再嘗試同步化。 同步化可允許一節點從另一節點快取中獲得_組 20 1339518
CPAs。同步化係在網路雲發現之後進行。其進行係使用一 個從網路雲發現回覆之一組節點中任意選擇的單_節點。 防衛此同步化以減輕某些攻擊。假如老化導致用於網路雲 之快取變空,則也可以進行同步化,但是這應該报少發生。 在開始同步化之前,節點必須確保其具有至少一區域化已 註冊之CPA。假如一點名稱尚未註冊,則節點可產生其本 身於網路雲中之節點ID。此同步化過程涵蓋本發明之訊息 之五個類型’包含 SOLICIT、ADVERTISE、REQUEST、 FLOOD、與 ACK » 第3圈說明同步化之簡單訊息交換。在第3圖辛,假設 節點A 212正在初始同步化節點b 214»在此情況下,在節 點間流動之訊息會如同第3圈所示。具體而言,SO LICIT訊 息216從節點214請求一列的PNRP ID,此節點係選擇自網 路雲發現過程中。如表1所述填入SOLICIT訊息216。
SOLICIT訊息攔位 值 目前標誌 雜湊化目前標誌之值 來源 CPA 用於區域已註冊點名 稱或已產生節點ID之 CPA 表1
節點可保留用以產生雜湊化目前標誌之目前標誌值的 路徑。和一重試計數一樣,計時器也與此狀態相關聯。假 如傳送之SOLICIT 216,沒有收到一 ADVERTISE訊息218作 為回應’則將重新傳送SOLICIT 216。假如重試計數超過’ 則釋出此狀態且終止交易。 21 1339518
收到SOLICIT 216之節點214以ADVERTISE訊息218作 回應。此ADVERTISE訊息218包含PNRP IDS之陣列•此節 點214首先使用調節啟發法以決定是否它願意從事同步化 交易。假如它很忙,則其以陣列中無PNRP IDs之 ADVERTISE訊息218作回應。除此之外,它從快取入口中 選擇了良好分散之PNRP IDS組。這可藉由使用頂層快取入 口或任意選擇來完成。假如快取中沒有足夠之入口 ’則節 點214中也應包含其本身區域註冊之IDs。此ADVERTISE訊 息218包括來自SO LICIT訊息216之雜湊化目前標誌*此 ADVERTISE 218被認為是給SOLICIT 216之破收。
假如PNRP IDs之陣列並不是空的,節點214也會保留 狀態為具有雜湊化目前標誌值之ADVERTISE 218已被傳 送。此狀態可為點陣圊之一位元。一計時器係舆此狀態相 關聯,因此假如在例如1 5秒中内未收到一符合訊息,則放 棄此交易且釋出此狀態。此節點214也可將來源CPA從 SOLICIT訊息216加至其快取中。以如表2所示填寫此 ADVERTISE 訊息 21 8 ° ADVERTISE訊息欄位 值 目前標达 自SOLICIT所複製 之雜湊化目前標誌 值 ID陣列 PNRP Ids之列表 表2 當一節點212收到ADVERTISE 218,首先會確定其已 22 1339518 送出一對應SOLICIT 216。假如沒有,則丟棄此訊息。此 ADVERTISE 2 1 8被當作SOLICIT 2 1 6之一確收。假如 ADVERTISE 2 1 8中的PNRP IDs陣歹係空的,則此交易完 成。否則,此節點212穿過ADVERTISE 21 8 t之PNRP IDS 陣列,並選擇一個以加入其快取中。其送出一 REQUEST訊 息220,包括選擇之PNRP IDS陣列。在REQUEST訊息220 中,其設置用以產生SOLICIT訊息2 16之雜湊化目前標达之 原始目前標誌值。如表3所示,填寫此REQUEST訊息220。 REQUEST訊息欄位 值 目前標誌 用以在SOLICIT中產 生雜凑化目前標誌之 目前標誌值 ID陣列 PNRP IDs 列 表3
此REQUEST訊息220被傳送至節點B 214,其係以一 ACK222回應以表示收到且避免重新傳送。假如未及時收 到ACK222,節點A212將會重新傳送此REQUEST »假如 所有的重新傳送都被執行,仍未收到一 REQUEST之一 ACK,則交易失敗並且终止。 假如此交易成功,相當於,節點212收到節點214之 ACK 22 2,接著節點214會證明此目前標誌係有效的。這 係藉由雜湊收到的目前標誌以及檢查是否符合上述儲存之 狀態,而完成此動作。假如不符合,則不進行進一步處理。 假如它是有效的,則對其快取中仍包含之陣列申的每個 PNRP ID,其傳送一 FLOOD 訊息 224, ' 2242、 · · . 224N。 23 1339518 此FLOOD訊息224包括用於PNRP ID之CPA。應該注意 的是FLOOD訊息並非同步的。亦即,在傳送FLOOD(ID = 2) 2242之前,FLO〇D(ID = l) 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之「最符合j欄位。 當達到此具有標的PNRP ID之節點或是當訪問之節點 24 1339518
之數目等於RESOLVE中設定之最大站,或當路徑中任何節 點不可能再傳遞RESOLVE給一較佳節點時,則一 RESOLVE 訊息就會终止。终止之後,RESOLVE中選擇之内容係被轉 換成一新的RESPONSE訊息,此新的RESPONSE訊息會被傳 遞回RESOLVE發起者。此RESPONSE包含RESOLVE中的「最 符合」CPA,以及已訪問之節點列。一旦RESPONSE到達 RESOLVE原始傳訊者,藉由比較「最符合」CPA的PNRP ID 與標的,此原始傳訊者可輕易地證明是否它們找到了標的 CPA。 第4圊中係說明RESOLVE/RESPONSE交易之三節點例 子。在此簡例中,節點A 2W係嘗試經由節點B 230來解析 節點T 232。除了 ACK之外,解析交易包括3個訊息, RESOLVE、RESPONSE與 AUTHORITY · —旦解析完成,節 點A 228可如下所述直接傳送一 INQUIRE訊息給節點T 232 ·
對於這些RESOLVE訊息,可以考慮三個例子,前兩個 例子係說明於第4圖中。這三個例子於節點A 228起始一 RESOVE 234,將一 RESOLVE 236從節點 A 228傳遞至另一 節點B 230,且具有從一節點傳回之一RESOLVE(囫4中未顯 示)《下面將接著討論每個情節· 首先,討論在節點A 228上起始一 RESOLVE。如第4圖 所示,為了某些原因,節點A 228起始一 RESOLVE。這些 原因包括一應用程式解析請求、註冊公告、快取廣度維護、 25 1339518 或網路雲分裂偵測。此發起者228也具體指定一操作碼’其 表示是否一區域註冊ID可以滿足此RESOLVE。假如其可 以,則節點A 228掃描區域註冊ID組以尋找符合者。假如 發現一個,則在本身具有符合ID之節點A 228内即完成 RESOLVE。假如區域註冊ID不被接受,或假如沒有區域ID 是符合的,則產生具有表4之攔位之RESOLVE訊息2 34。然 後將此RESOLVE訊息234轉遞給一些其它節點230以進行 如下所述之處理· 標的ID 設定為所需ID NextHop 從快取中選擇之 PNRP ID MaxHops 可能固定或是相對於預 估之網路雲大小 BestMatch 區域註冊之點名稱CPA Path 1入口,包括最佳來源 位址與埠 ReasonCode, OperationC ode,Precision 依解析起始者而定之值 表4 當節點A 228想要或需要將一 REs〇LVE 224傳遞至另 一節點B 230,則首先一定要先選擇下一節點。為了選擇下 一站,點A 228產生了具有最靠近標的1]〇 (節點τ 232)之 PNRP IDs之二個快取化的CPA之列l,除了任何其位址係已 列於路徑中與位置比A之最靠近區域註冊ID更不靠近標的 ID者之外。假如標的ID在列L中,則選擇那個入口為下一 站。否則’假如列L中不是空的,則任意選擇一入口。換 句.話說,節點A 228找出一些位置比此節點更靠近標的之新 26 1339518 節點,且選擇其中一者以將RE SOLVE訊息234傳遞至此者.
假如節點A 228能夠選擇下一站,則節點a 228續入一 適合的入口於「收到之點陣圖」中。節點A228將其本身加 入路徑中,選擇其最佳位址給選擇之下一站,以及標示入 口為被接受。節點A 228設定NextHop為選擇之標的之預期 的PNRP ID,並且將RESOLVE訊息234傳遞至節點B 230。 假如成功送出RESOLVE訊息 234,則此傳送節點228預期 可收到AUTHORITY訊息形式23 8之一確收。假如收到 AUTHORITY,貝,J節點228可維護RESOLVE 234之背景,以 及等待一時間結束值,以等待一 RESPONSE 240訊息被回 覆。假如經過一些時間後,沒有收到AUTHORITY 238,則 再次傳送RESOLVE 234。在NextHop被假設為無效之前, 將會發生總數為N之重試。在一較佳具體實施例中,N = 3。 假如重試的次數超過,則從區域快取_移除NextHop CPA,並且將此入口加入路徑中以作為失敗的站。假如站 數並未超過,則從區域快取中選擇另一NextHop,並且重 複此過程。假如路徑中之入口數目等於或·大於MaxHops, 則產生具有RESULT_MAX_HOP_LIMIT_HIT之回應碼 RESPONSE訊息,並將此訊息傳送至路徑中被標示為被接 受之最近入口。 假如節點無法找到下一站,則其檢查是否標的ID應在 最低快取層。假如應該,接著節點會懷疑此標的ID是否不 存在。此節點檢查存在之路徑入口以及計算被標示為可疑 27 1339518
之數量。假如可疑數目超過一臨界值,則產生具有 RESULT_TOO_MANY_MISSES之回應碼之 RESPONSE訊息,並 且將此訊息傳送至路徑中標示為被接受之最接近之入口。 假如節點無法找到下一站,但是可疑數目未超過臨界值, 節點會將RESOLVE傳回至路徑中標示為被接受之上個節 點。此節點首先會將其本身加入路徑中,選擇其最佳位址 給標的節點,以及標示入口為被拒絕的。其設定NexHop 為0,以及設定RF_IGNORE_NEXTHOP旗標以表示回溯追 蹤。假如標的ID應位於節點之最低快取層,則其懷疑標的 可能不存在。在此例子中,節點也會將其路徑路口標示為 可疑的。假如節點無法找到下一站,且路徑中除了其本身 沒有其它節點,則其為RESOLVE訊息之原始傳訊者。在此 例子中,其可以RESULT_NO_BETTER_PATH_FOUND之回應碼 將一結果傳回給呼叫者,代表解析失敗。使得呼叫者可獲 得 BestMatch CPA。
節點B 230收到一 RESOLVE訊息234,其包括一標的 PNRP ID、BestMatch CPA ' Next Hop PNRP ID、以及列出 所有節點之位址之路徑,這些節點係進行過RESOLVE。假 如旗標欄位不具有RF_IGNORE_NEXTHOP設定且 BestMatch CPA可能為具有一 CPA或為空的,節點B 23 0檢 査其區域處理負擔。假如負擔太大而不能處理新的 RESOLVE 請求,則其以旗標欄位設定為 AF_REJECT TOO B U S Y 之 AUTHO RIT Y 2 3 8 作回應,且完 28 1339518 成處理。AUTHORITY接收者負責將被拒絕之節點端點加入 路徑陣列中並且重新路由此RESOLVE請求至它處。 接收節點230檢查路徑陣列是否包括至少一位址標示
為被接.受,以及檢查是否最後一個上述位址相同於訊息來 源。若否,則不進行進一步處理。接收節點也可檢查收到 之請求之變數。假如一些變數不在有效網路雲内,則其以 一旗標攔位設定為 AF_INVALID_REQUEST 之 AUTHORITY 訊息作回應,且完成處理。無效變數之例子為假使M axH ops 太大。AUTHORITY接收者負貴將被拒絕之節點端點加入路 徑陣列中並且重新路由此RESOLVE請求至它處。
此接收節點(例如節點B 230)檢査是否NextHop ID已 經在區域註冊。種子伺服器可能略過此測試。若否,則其 以旗標攔位設定為AF_UNKNOWN_ID之AUTHORITY作回 應,且完成處理。AUTHORITY接收者負責重新路由此 RESOLVE請求至它處。當收到AF_UNKNOWN_ID時, AUTHORITY接收者同時應該從其快取中移除AUTHORITY 傳送者之PNRP ID。假如訊息中包含BestMatch.CPA,此節 點可盡其可能有效化BestMatch。假如CPA不是有效的,則 節點從訊息中移除BestMatch CPA。假如CPA是有效的,則 節點依照一般規則決定是否將C P A加入其快取中。 此節點也檢查路徑中是否已經有一入口給它》假如 有,則具有一迴路(loop),因為其非回溯追蹤的RESOLVE。 此節點接著以旗標攔位設定為「AF_REJECT_LOOP j之 29 1339518 AUTHORITY作回應,且完成處理。AUTHORITY接收者負 責將被拒絕之節點端點加入路徑陣列中並且重新路由此 RESOLVE請求至它處》 假如所有先前之檢查都通過了 ,則節SB 230送出一 AUTHORITY 23 8以確收此RESOLVE訊息234 » 假如 RESOLVE 旗標 RF_SEND_CHAIN 已設定,則 AUTHORITY 238包含NextHop之憑證鏈。AUTHORITY訊息中包含對應 於下一站PNRP ID之點名稱之分類器字串部份。
節點B 230檢查是否其具有比目前BestMatch更符合之 區域化註冊CPA »假如有,則以這個取代BestMatch。此節 點也檢查是否其具有滿足RESOLVE標準之區域化註冊 CPA,依據 OpCode、Precision 與 TargetID。假如有一符合 者或假如路徑中入口之數目> = MaxHops,則節點產生具有 目前BestMatch之RESPONSE訊息。複製RESOLVE訊息之路 徑至RESPONSE訊息之路徑。節點設定ResponseCode以代 表 RESULT_F〇UND_MATCH 或 RESULT_MAX_HOP_LIMIT_HIT。 然後,此節點從路徑以及標示被拒絕的後續入口中移除其 位址,以及傳送此RESPONSE至路徑中最接近之標上被接 受之入口。 假如節點B 230沒有傳送一 RESPONSE(如第4圖所 示),則其嘗試傳遞此RESOLVE訊息236至下一節點T 232。 此傳遞過程依照上述之程序。亦即,節點T 2 3 2最初以一 AUTHORITY訊息242回應。然後,其進行上述之檢查,以 30 1339518 及決定其符合標的,以識別其本身為号estMatch之 RESPONSE訊息244回應節點230。節點B 230傳回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傳回傳 訊者以ACK此訊息。其不包含一憑證鏈。
假如路徑中入口之數目> = MaxHops,則節點產生具有 目前BestMatch之RESPONSE訊息S。將RESOLVE訊息R的路 徑複製至S的路徑。此節點設定回應碼以代表超過最大 站。然後,此節點從路徑上移除其位址,並將RESPONSE 傳回路徑上標示為被接受之最近入口。假如節點沒有送出 一 RESPONSE,則此節點然後嘗試傳遞RESOLVE至下一 站。這是依照上述程序,但有些例外:a)「節點B 230檢查 31 1339518 是否其具有比目前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至此節點。假如此被傳遞rESP〇nse之節點,並 沒有以ACK作回覆,則節點重傳n次之RESPONSE。假如重 傳時間結束’則節點從路徑中移除此失敗之目的節點,並 且重試此段落中上述之resp〇NSE處理。假如路徑中,不 32 1339518 再有入口,則節點為原始RESOLVE 234之原始傳訊者•節 點228會使請求之確實原始傳訊者有效。假如沒有,則棄置 RESPONSE 〇假如回應碼指示成功,接著節點228會對 BestMatch CPA之來源進行一身分認證檢查《這涵蓋了傳送 一以(511111丑訊息25〇至標的節點232,以及查核傳回的 AUTHORITY訊息252 »假如身分認證失敗,則其改變回應 碼為IDENTITY_FAILURE »其將结果傳回呼叫者。 傳送者也可能片段化AUTHORITY訊息。可以確保接收
者在處理AUTHORITY訊息之前已經收到所有的片段》假如 在一合理時間内’有任何片段未被收到,則應重傳原始訊 息(INQUIRE或RESOLVE),除非重試次數已經超過。假如 AUTHORITY訊息旗標設定為AF_CERT_CHAIN,節點應在 用於標示ValidatelD之PNRP ID之快取化的CPA上進行一鏈 確認操作。應該檢查此鏈以確保其上所有憑證均有效,以 及鏈之根葉間的關係為有效。應該比對健根之公鑰之雜湊 與CPA的點名稱之授權’以確保它們相符合。應該比對用 於鏈葉之公鑰與用來簽章CPA的金鑰.以確保它們相符 合。最後,應該檢查P2P ID以查看其為根據產生p2p ID之 規則之授權與分類器之雜湊。假如上述檢查任一者失敗, 則應從快取中移除CPA,以及應修改RESOLVE訊息以加入 節點位址,其中此節點係傳送AUTHORITY訊息至 R E S 0 LV E訊息路徑,且標示為拒絕的* 假如已設定AF_UNKNOWN_ID,則應該從快取中移除 33 1339518 CPA。假如未設定AF_CERT_CHAIN,但是對應於ValidatelD PNRP ID之CPA需要一憑證鏈以查核,則應該從快取中移除 CPA,且應修改RESOLVE訊息以加入節點位址,其中此節 點係傳送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種子伺服器。在其它例子中,節點應忽略參考端 點。 PNRP使用直接的泛流以在節點間傳播快取入口。數個 34 1339518
例子中使用泛流。回應Request訊息之同步化期間,請求 之CPAS被泛流至送出REQUEST之點。此REQUEST訊息僅在 SO LICIT訊息被接受以及ADVERTISE訊息已被送出後,才 會被接受。無論匚1^何時被加入快取之最低層,加入之CPA 被泛流至最靠近區域註冊ID之η點。η值可被調整,且較佳 η值為4。假如加入CPA之原因為收到FLOOD,則CPA不應 該被泛流至位址位於收到之FLOOD之被泛流列上之節 點•假如有足夠空間,位於收到之被泛流列上之位址應被 複製至新FLOOD訊息泛流列。在收到包含CPA撤銷之 FLOOD後,無論何時自快取之最低層中移除CPA,撤銷之 CPA係泛流至最靠近區域註冊ID之η點。再一次,η值可被 調整,但較佳值為4。CPA不應該被泛流至位址位於收到之 FLOOD之泛流列上之節點。假如有足夠空間,位於收到之 泛流列上之位址應被複製至新FLOOD訊息泛流列。最後, 當收到用於一新點之FLOOD,且CPA被加入快取之最低 層,則然後傳送一FLOOD訊息至具有區域點之ID的新點。 假如FLOOD來源就是新點,則.屬例外。 PNRP不會產生持久的鄰居關係。在最不嚴格的認知 裡,QPA快取中每個以CPA表示之節點都可被當成鄰居。然 而,從快取中加入與移除CPA並不需要告知CPA發行者。節 點快取中具有點的CPA並不保證其鄰居具有此節點的 CPA。此關係為不對稱的。然而,上述最後的FLOOD情況 嘗試產生對稱性給相互靠近之ID。 35 1339518 在對FLOOD進行任何動作之前,以ack表示確收到 UDP FLOOD訊息。FLOOD傳送者保持一段時間之已傳送 FLOOD之狀態•假如收到ACK,則釋放此狀態。假如一段 時間未收到ACK,則重送FLOOD,且重設計時器。重試 FLOOD直至一指定次數,較佳為3。假如最後嘗試之後, 仍未收到ACK’則釋放此狀態。此外,假如flood之標的 係位於傳送者之快取中’則移除此快取入口以避免將來嘗 試送出訊息至此無回應的節點。
當節點收到FLOOD訊息,則首先藉由送出一 ACK來表 示確收FLOOD訊息。旗標欄位設定為「kf_NACK」,假如 出現尚未區域註冊之有效ID。接著,FLOOD訊息就被有效 化。這包括對CPA簽名與内容進行區域認證。假如cpa被有 效化’則接著決定是否將CPA加入快取中。假如CPA係用於 區域註冊於相同節點之PNRP id,則不需要將其加入快取 中假如用來對CPA簽章之身分無法單獨被cpa查核,則將 CPA加入快取之兩個較低層中的—個,然後如同下面所述 進行身分認證。假如確認失敗,則節點會棄置FLOOD訊 息。假如成功’節點會繼續處理FLOOD。若CPA已經過期, 則節點棄置FLOOD。假如CPA係一廢止CPA,則節點會自 快取中移除對應之CPA,假如有的話。若找到一個,節點 藉由送出FLOOD訊息以傳遞此廢止至其它鄰居。 假如CPA並非係一廢止cpa,則節點更新此快取。假如 快取中已存在一符合CPA ,則節點以新CPA資料更新快取 36 1339518
入口。假如其為新入口,則節點產生一新入口,並嘗試將 其加入快取中。假如需要移除其它入口以產生空間給它, 則可能不加入此入口 ,但由於較高的信任階層或較好的鄰 近性指標,存在之入口較佳是新入口。假如入口屬於較低 快取層,則其應該被加入。假如入口屬於較低快取層,則 其應該被傳遞至鄰居,即使無法將其加入快取t。假如在 同步化中收到FLOOD,則停止傳遞FLOOD訊息,因為其假 設所有發現的CPAS都已經被其它節點知道。假如FLOOD需 要被傳遞,則選擇靠近區域註冊ID之一組n PNRP。FLOOD 訊息被傳送至這些具有新CPA中的每一個,以及包含η鄰居 之一被泛流列,加上收到之FLOOD訊息中枚到的被泛流列 的内容。
身分認證係用以有效化CPAS2減輕威脅元件。其具有 兩個目的》首先,身分認證可確保CPA中指定之PNRP節點 具有來自區域註冊CPA之PNRP ID。第二,為了 PNRP IDS 之安全性,身分認證係確保使用一金鑰來簽章CPA,其中 此金鑰與PNRP ID中之授權間具有一加密的證明關係。在 上述申請中之申請案裡已揭示身分認證如何完成這兩個目 標的細節。 在兩個不商時機,會發生身分認證檢查。首先,當加 入CPA至最低的兩個快取層中時,進行身分認證。最低的 兩個快取層中的CPA有效性對於PNRP之解析PNRP IDS之 能力相當重要。在加入CPA至兩個快取層中任一者之前進 37 1339518
行身分確份可減輕一些攻擊。在此例子中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_IGN〇RE_NEXTHOP)。Ν檢 查區域註冊之PNRP ID列。假如T不在此列中,N則以一 AUTHORITY訊息回應以指出ID T並未在本地註冊》假如收 到之訊息係RESOLVE,棄置此RESOLVE,因為P將會將其 傳遞至它處。當T位於N之PNRP ID列中,N建立一 AUTHORITY訊息且將標的ID設定為Τ»假如已設定 RF_SEND_CHAIN旗標,N擷取關於用以簽章CPA至PNRP ID T授權之金鑰的憑證鏈(假如有的話)。將憑證鏈插入 38 1339518 AUTHORITY訊息中。並且將點名稱之分類器部份加入 AUTHORITY訊息中。
N傳送AUTHORITY訊息至P。假如AUTHORITY訊息大 於1216位元組,則將訊息分裂成數個1216位元組或是較少 位元組之片段,且送出每個片段。假如T係一未安全化之ID 或是假如CPA已經有效化(傳送具有清楚的RF_SEND_CHAIN 之RESOLVE),貝ij此處理完成。P可使CPA簽章金鑰與用以產 生PNRP ID T之授權間的關係有效。假如確認失敗,則棄 置此CPA。假如,確認失敗且起始訊息為RESOLVE ,則P 將RESOLVE傳遞至它處。
如上述申請案中所解釋以及上面所簡述者,PNRP網路 雲有可能分裂。此由兩種方式產生。首先,網路雲可能獨 立地開始,且需要被合併。第二網路雲可能從一個開始, 但網路雲中一些片段則與網路雲中其餘片段分離。為了橋 接所有可能分裂,假設網路雲將具有指定的種子彳司服器。 其與經由DNS啟動(boot strapping)之伺服器相同。假如網路 雲中有數個種子伺服器,則種子伺服器必須週期性的互相 溝通以確保可交換快取中之ID。此可藉由使用同步化過程 來完成。這將可避免孤立之產生。 網路雲中之節點將會週期性的選擇種子飼服器以.測試 是否此節點已孤立於主要網路雲中,且假如需要的話會嘗 試使其合併回去。節點分裂測試之頻率係反比於其對於網 路雲大小之預估值。這是避免太頻繁的分裂測試。在假設 39 1339518 其可預估網路雲大小之前,最近加入網路雲中之節點應該 等待一段時間予其快取以被佔用。
使用PNRP REPAIR訊息,藉以使得網路雲可以合併。 REPAIR具有一 PNRP ID、節點之IP位址 '以及修復層編號。 快取層係從頂層(最廣數字網路雲)之〇開始編號,且隨後每 一層(較小網路雲)之編號增加1。當第一次偵測分裂時’使 修復層值從〇起始。當節點決定其應該進行分裂節點之測試 時,節點内部會產生REAP IR,使用已知之種子伺服器位址 作為IP位址、一區域註冊之PNRP ID、以及〇層》其本身進 行此 REPAIR ·
當進行RE APIR時,此節點進行一分裂之測試。首先其 會找出最靠近REPAIR訊息中之ID之一區域註冊ID。然後, 送出此ID+1之RESOLVE至REPAIR訊息中指定之ip位址。此 RESOLVE應具有一修復之原因碼。假如其解析為一已知節 點,則表示沒有分裂。假如其解析為一新節點,則懷疑有 分裂。假如發現之節點落於底部快取層(最高數字),則照 例進行泛流。F L 0 0 D訊息中設定有修復之原因碼。同樣 的,假如收到RESOLVE之節點將來源ID置入其最低快取 層,則此節點將會將入口泛流至來源。這些泛流都會導致 數個ID與新網路雲交換。以此方式保持追縱所有經由泛流 發現之新節點。 假如發現之新節點係較靠近先前已知之節點,且收到 之修復層中具有快取入口,且節點傳送repair訊息至修復 40 1339518
層之快取之入口。對於每個送出之REPAIR,節點 新近發現之節點ID與IP位址,並且輸入修復層+1 現之新節點比先前已知之節點較遠,則節點傳送-至新節點與收到之修復層,且此新節點係輸入有 中之一些ID與位址。每個收到一 REPAIR訊息之節 相同方式對其進行處理。 現在將可清楚,PNRP協定係由十個訊息類型 個訊息係以一 PNRP標頭作開始,然後為指定此訊 欄位。負擔(如攔位描述)係分別計算於每個訊息 長度攔中。在下面描述中,描述可被所有這些訊 一般訊息資料結構,隨後仔細描述包含於本發明 之十個訊息中每一個訊息的訊息資料結構。在 後,接著描述每個用來建構本發明之訊息之欄位^ 第5圖所示者係一資料結構範例,其說明用以 明之PNRP之十個訊息之基本訊息資料結構260 見,訊息資料結構260包括數個欄位262 。在一 實施例中,第一個攔位262!係保留給PNRP標頭。 攔位262bN係用以建構訊息260,且用於每個' 262 之資料結構264包括欄位資料結構264之一 266、一長度組件268、與真實内容或承載270»長方 係整個欄位2 64之長度2 72之計算》以此方式,通 完全可擴張的。 RESOLVE訊息係根據本發明之資料結構而建 選擇一個 。假如發 -REPAIR 區域快取 點都是以 組成。每 息類型之 欄位表之 息共用之 之協定中 此描述之 ί料结構。 建構本發 。如同所 較佳具體 每個個別 固別欄位 類型組件 [組件2 6 8 訊協定係 構。如第 41 1339518
6圊之簡化資料結構圈中可見,res〇lVE訊息2 80係由數個 欄位282-2 92所建構。同樣根據本發明之欄位資料結構,可 建立各種欄位。例如,PNRP_HEADER欄位282包括欄位資 料結構294。資料結構294之組件包括類型(欄位ID 296)、 長度298。PNRP_HEADER資料結構294包括一通訊協定組 件3 00、一主要版本組件302、一次要版本組件304、一訊息 類型組件306'以及一訊息ID組件308。同樣的,如同所有 其它欄位資料結構,VALIDATE_PNRP_ID資料結構3 1 0開頭 為一類型组件(攔位ID 3 12)與一長度組件3 14。欄位資料结 構之内容包括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之回溯追蹤路徑》假如一節點收到一 RE SOLVE作為部份之回溯追蹤,傳送者不知當此節點之 PNRP ID »則設定 「下一站」攔位為0,以及設定 RF_IGNORE_NEXTHOP以表示AUTHORITY僅會被用作為 RESOLVE之「確認回應」。如上所述,一 AUTHORITY訊息 42 1339518 係用以告知已確收RESOLVE。在一較佳具體實施例中,標 頭中之MessageType設定為5。表5係顯示根據本發明之教 示所建構之RESOLVE訊息之資料結構細節。 顏 勢'型' r · mWiar- 0 4+8 PNRP 一HEADER Header 標頭 12 4+12 RESOLVE_CONTROLS Controls 旗標,允許 RESOLVE 請求 之獨特站,操作 碼以控制解析 以及符合之精 確性以及解析 之原因。 28 4+32 TARGET_PNRP_ID Target 欲解析之PNRP ID 64 4+32 VALEDATE_PNRP_E) NextHop 預期之下一站 PNRP ID 100 4+P ! CPA_BEST_MATCH 1 Best Match CPA 用於具有至今 最靠近標的之 PNRP ID之節 點的CPA 104 + , P 4+8+ A*20 IPV6 ENDPOINT ARRAY Flagged Path 處理過解析之 節點陣列。 116 + P + A*20 if 靈 m _ 圓
在表5中,P為聚集至最近之DWORD邊界之已編碼CPA 之長度(位元組)。A為旗標化陣列中之入口數字。此值不應 該超過Max Hop值。 當RESOLVE達到具有標的PNRP ID之節點時,或當旗 標化路徑大小等於RESOLVE Max Hops,貝L會產生 RESPONSE。當RESPONSE產生後,來自對應RESOLVE旗 43 1339518 標化路徑之所有的入口均被複製到RESPONSE路徑中。經 由路徑中所有標示「接受」之位址,從底部到頂部路由 RESPONSE訊息,直到每個適合之網路端點均處理了此 RESPONSE -然後將其傳回給RESOLVE原始傳訊者。如上 述,利用一 ACK訊息告知已確收RESPONSE訊息》在一較 佳具想實施例中,標頭中之MessageType設定為6。表6係 顯示根據本發明之教示所建構之RESPONSE訊息之資料結 構細節。
V補:爆:: 姆-型 ,、 MM 0 4+8 PNRP_HEADER Header 標頭 12 4+12 RESOLVE CONTROL S Controls 原始解析之原因 以及 REPONSE 之類型 28 4+32 TARGET_PNRP_ID Target 請求解析之 PNRP ID 64 4+P CPA—BEST一MATCH Best Match CPA 最靠近標的之 CPA 68 + P 4 + 8 + B*20 IPV6 ENDPOINT AR RAY Flagged Path 在目前節點之 前已處理過 RESOLVE 之 節點阵列。 80 +P + B*20 aHHI wBSBSM 表6
在表6中,P為聚集至最近之DWORD邊界之已編碼 來源CPA之長度(位元組)。B為端點陣列中之入口數字。 此值不應該超過Max Hop值。 SOLICIT訊息請求接收者從其快取中 ADVERTISE — 44 1339518 些入口至傳送者。傳送者包括接收者可將其加入快取中之 CPA。ADVERTISE訊息中之HashedNonce必須被送回。利 用一 ADVERTISE來表示確收SOLICIT。在一較佳具體實 施例中,標頭中之MessageType設定為1。表7係顯示根 據本發明之教示所建構之SOLICIT訊息之資料結構細節。 在此表中,P為聚集至最近之DWORD邊界之已編碼來源 CPA之長度(位元組)。 {.綠嚴 藤_'為 _觸嘯_觀 論齡:治.去 mm 0 4 + 8 PNRP_HEADER Header 標頭 12 4 + P CPA—SOURCE Source CPA SOLICIT原始傳 訊者之CPA 16+P 4 + 4 HASHEDNONCE Hashed Nonce 雜湊化之目前標 达 24 + P mm BSSSBI· WSBSmS^sS^sm 表7
產生之ADVERTISE訊息係用以回應SOLICIT。此 ADVERTISE從公告者之快取中列出一些PNRP ID。此可允 許ADVERTISE接收者選擇性的REQUEST CPA以佔住其快 取》 收到之ADVERTISE係作為SOLICIT之確收》 ADVERTISE之確收不會產生。任何作為SOLICIT之確收之 ADEVRTISE應該被默默的棄置。此HashedNonce值必須相 同於SOLICIT訊息中收到之值。收到ADVERTISE之節點必 須要能夠使有效之雜湊化之目前標誌有效。在本發明之較 佳具體實施例中,標頭中之MessageType設定為2。表8係顯 示根據本發明之教示所建構之ADVERTISE訊息之資料結 45 1339518 構細節。在此表中,A為ID陣列中入口之#。 爾_3 0 4 + 8 PNRP_HEADER Header 標頭 12 4 + 4 PNRP HEADER A CKED ACKd Header 提示有ACKd之 SOLICIT之標頭 20 4 + 8 + Α*32 PNRP—ID 一ARRAY ID Array 可用於EQUEST 之PNRP ID的已 排序陣列 32+ A*32 4 + 4 HASHED_NONCE Hashed Nonce 已加密目前標达 值 40+ A*32 表 8
REQUEST 訊息係用以請求公告者去 FLOOD ADVERTISE’ed CPA之子集。目前標誌應被雜湊化以及與 原始SOLICIT中收到之HashedNonce相比對。ID陣列包 含傳送者欲泛流傳回至傳送者之PNRP ID,以便其可獲得 CPA。利用一 ACK訊息告知已確收REQUEST訊息。在本 發明之較佳具體實施例中,標頭中之MessageType設定為 3»表9係顯示根據本發明之教示所建構之REQUEST訊息
之資料結構細節。在此表中,A為ID陣列中入口之#。 :細' -纖f __顆職議 薄_::_ :描述 、‘ 0 4+8 PNRP_HEADER Header 標頭 12 4+4 NONCE Nonce 解密之目前標誌值 20 4+8+ PNRP ID ARRA ID Array 用於已請求之CPA A*32 1 Y 之PNRP ID的已排 ! ί 序陣列 32+ ,,· I .... : . · - .·:· A*32 乂乂: : -''..Π:::-:: • - • · - . · —- · Λ -;*. .-;- ·· ·' -· 1 匕:f.nm:二二:;\··. 一 表9 46 1339518
PNRP使用FLOOD訊息以傳播快取化之CPAs以選擇 點。FLO〇Ds會被起始以回應REQUEST訊息’當加入一新 CPA至最低快取層,或當處理最低快取層中一具有較早版 本之撤銷〇?八。?1:〇〇〇5包含一位址列以協助避免稱作「泛 流列」之多餘的FLOODs。此泛流列包含傳送者之位址、 每個標的,傳送者係直接將FLOOD傳輸至此、以及任何 其它PNRP節點,傳送者已知這些節點係已收到FLOOD。 「泛流列」具有最大數量之入口》假如列滿了 ’則以Fifq 方式取代入口 。此假設FLOOD接收者更可能傳播此 FLOOD至鄰近之鄰居而不是至r較遠的」鄰居。利用— ACK訊息可告知確收Fl〇〇D。此有效的ID係一選擇性棚 位。假如有出現的話,其請求接收者以一 ACK作回應,把 如一具有特定PNRP ID之CPA已區域快取化,反之則以 NACK作回應。在一較佳具體實施例中,標頭中之 MessageType設定為4 »表10係顯示根據本發明之教示所 建構之FLOOD訊息之資料結構細節。在此表中, Γ马已編 碼的聚集至最近之DWORD邊界之已編碼cpA夕且a 〈长度(位 元組),以及A為陣列中入口之數目。
激_.. 龜 0 4+8 47 1339518 12 4+2+2 FLOOD CONTROL S _ Controls 描述FLOOD之 原因碼。可用於 處理FLOOD。同 樣,填充移至4-位元組邊界 20 (4+32) VALIDATE PNRP ID Validate ID 欲查核之選擇性 PNRP ID 20(+36) 4+P CPA_BEST—MATCH CPA 被泛流之CPA 24+P(+36) 36 + P + A*20(+36) 4+8+ A*20 IPV6 ENDPOINT ARRAY - Flooded List jm ΒΉΗ 表10
PNRP節點係使用INQUIRE訊息,在輸入選擇之CPA 至區域快取之前,對它們進行身分認證。身分認證可確定 CPA在其原始發起節點上依然有效,且請求資訊以幫助原 始發起節點之確認授權以註冊此CPA。定義一旗標」以用 於「旗標」欄位:
RF_SEND_CHAIN,係請求接收者在回應AUTHORITY時傳 送一憑證鏈(假如存在)。假如PNRP ID已區域註冊,則以 AUTHORITY訊息回覆收到INQUIRE。否貝|J ,此INQUIRE 訊息被默默的忽略掉。在最佳實施例中,標頭中的 MessageType設定為7»表11係顯示根據本發明之教示所 建構之INQUIRE訊息之資料結構細節。從此表中可清楚看 到,在FLAGE_FIELD之後有兩個額外的位元組,以將下 一攔位置於一 DOWARD邊界上。 48 1339518 mm- μ ' ··- '· 0 4+8 PNRP 一HEADER 標頭 標頭 12 4+2+2 FLAGS一FIELD Flags 1 指出是否區域註冊 需要憑證鏈或簡單 認證》同樣,填充移 至4-位元組邊界 20 4+32 VALIDATE_PNRP_ID Validate 代表欲有效化之 PNRP ID 56 —wwaa Η^ΒΒ^ΒΗΙΗ^ΕΒΒ 表11
AUTHORITY訊息係用來確認或否定一 PNRP ID依然註冊 於區域節點,以及選擇性的提供一憑證鏈以允許 AUTHORITY接收者可使此節點之權利有效以註冊對應於 標的 ID之 CPA。定義下列旗標以用於「旗標」攔位: AF_UNKNOWN_ID - 0χ00(Η -戎表特定之「有效的」 PNRP ID並未在此主機上註冊;AF_INVALID_SOURCE - 0x0002,未 被使用;AF_INVALID_BEST_MATCH - 0x0004,也未被使用; AF_REJECT_TOO_BUSY - 0x0008,僅在回應 RESPOLVE 時才有 效,且代表主機太忙而無法接收一 RESOLVE,以及傳送者 應該把 RESOLVE 傳遞至別處用 以處理 ; AF_REJECT_DEADEND — 0x0010 - 未 被使用 ; AF_REJECT_LOOP - 0x0020,代表已經處理 RESOLVE 訊 息,且此 RESOLVE 訊息不應該被送至此 ; AF_TRACING_ON — 0x0040 ,僅用來除去錯誤; AFREDIRECT - 0x0080,代表節點沒有傳遞此RESOLVE 訊息,但是在 AUTHORITY訊息中包含有一參考位址; AF_INVALID_REQUEST - 0x0100,代表 RESOLVE 訊息之 49 1339518 認證失敗,其有可能發生於 MaxHop 太大時;以及 AF_CERT_CHAIN _ 0x8000,代表包含一憑證健,以進行 有效化PNRP ID與用來簽署其CPA之公鑰間之關係的認 證。
有效化PNRP ID具有ID,其中傳送AUTHORITY係為了 此ID。憑證鏈係選擇性的。AF_CERT_CHAIN旗標表示它 是否存在。此參考端點也是選擇性的。一節點係使用此欄 位,此節點係無法傳遞RESOLVE訊息,但是知道可將傳送 RESOLVE至其它節點。端點包含一 IPv6位址以及RESOLVE 欲被送至之點節點之埠。目前此攔位係被忽略,除非當節 點正在嘗試經由種子伺服器偵測網路雲分裂。分類器欄位 字串包含部份點名稱用來產生PNRP ID之真實分類器字 串。AUTHORITY未被明確回確收。AUTHORITY僅係被當 作對INQUIRE訊息或是RESOLVE訊息之確收/回應。假如在 背景外收到一 AUTHORITY,則其必須被丟棄°在一較佳具 體實施例中,標頭中之MessageType設定為8。表12係顯示
根據本發明之教示所建構之authority訊息之資料结構 細節。在此表中,C為已編碼的聚集至最近之DW0RD邊界 之憑證鏈之長度(位元組),以及S為分類器字串之長度(位 元組)。 :補償.i ::、+,~ · ·· 0 4+8 PNRP_HEADER Header 標頭 50 1339518
12 4+4 PNRP HEADER ACKE D ACKd Header 已提示ACKd 之 RESOLVE 或 INQUIRE 之標頭 20 4+4 SPLIT—CONTROLS Split Control 片段之選擇性 分裂控制 20(+8) 4+2+2 FLAGS_FIELD Flags 旗標,指示 RESOLVE / INQUIRE 之 内容與可能結 果。同樣,填 充移至4-位元 組邊界 28(+8) 4+32 VALIDATE_PNRP_ID Validate AUTHORITY 附屬之PNRP ID 64(+8) (4+20) IPV6 REFERRAL ADD RESS Referral Endpoint IPv6端點》此 攔位為選擇性 的。 64(+32) (4+32) IPV6_REFERRAL_ID Referral PNRP ID IPv6端點之 PNRP ED。此 攔位為選擇性 的。 64(+68) 4+C CERT—CHAIN Cert Chain 關於用 註冊ID之 CPA簽章之公 错之憑證鏈 68 + C (+68) (4+8+ S) CLASSIFIER Classifier 分類器字串》 此攔位為選擇 性的。 68 + C (+ S + 80) .· 4 - ·、 • - .. * - .. _ ___: Η::: 纏 表12 當包含一憑證鏈與一憑證字串時,此AUTHORITY訊 息也可能非常長。為了方便網路之傳輸,傳送時也可以將 51 1339518 其明確的斷成數個片段。在處理此訊息之前,接收者必須 能夠將片段放在一起。假如訊息為分裂的,則重複每個片 段之標頭與標頭Ack’d攔位。每個片段也包含一分裂控制 欄位。在每個片段中分裂控制攔位之補償值都會改變以反 應片段之補偾。分裂控制中的大小值係整個訊息之大小減 掉標頭、ACK’d標頭與分裂控制欄位之大小。除了最後一 個每個片段都必須具有相同大小。假如訊息沒有分裂,則 分裂控制攔位係選擇性的。
PNRP使用ACK元件,當其係一請求/回應協定時。在 某些情況,使用一 ACK取代一回應可簡化協定。接收到 REQUEST、RESPONSE與 FLOOD訊息後才會傳送一 ACK。 其它訊息可被其它適合的回應訊息類型確收。此ACK可扮 演為一 ACK或是在一具有有效ID組之FLOOD例子中扮演 為NACK,藉由設定旗標攔位為KF_NACK = 1 »在一較佳 具體實施例中,標頭訊息類型係設定為9»表13係顯示根據 本發明之教示所建構之ACK訊息之資料結構細節。 補;償;:丨 :猫/述’— 0 4+8 PNRP_HEADER Header 標頭 12 4+4 PNRP HEADER ACKED ACKd Header 已確收訊息之標頭 20 (4+2+2) FLAGS 一FIELD Flags 選額性旗標欄位, 填充移至4-位元組 邊界 酬 ίΜΜΒΒΐϋ·Β·ϋΒ—ΜΙΜ»»·—«Μϋ
表13
使用 REPAIR訊息的原因係因為在某些例子中PNRP 52 1339518 網路雲可能會有分裂。此訊息係用來測試一分裂,且假如 需要的話起始一 REPAIR» — REPAIR將會請求其它節點傳 播此REPAIR至其它快取層。在一較佳具體實施例中,標 頭中的訊息類型係設定為10。表14係顯示根據本發明之 教示所建構之REPAIR訊息之資料結構細節。從此表中可 清楚看到,在CACHE_LEVEL之後有兩個額外的位元組, 以將下一欄位置於一 DOWARD邊界上。
'賴5 _齡:3 0 4+8 PNRP_HEADER Header 標頭 12 4+32 TARGET PNRP I D PNRP Π) 要定址之ID 48 4+2+2 CACHE_LEVEL Repair Level 修復測試中使用之快 取層。填充移至4-位 元組邊界 56 4+20 IPV6_ENDPOINT Repair Address 修復測試中使用之IP 端點 80 MRS 表14
在討論訊息及其結構之後,現在將注意力轉至用來建 構這些訊息之訊息元件。下列詳述了 PNRP訊息中傳輸之
結構之位元組碼。所有數字係以網路位元組順序來傳輸, 以及在傳輸前所有文字均編碼為UTF-8,除非特別指明。 這些訊息元件係剛剛討論之訊息之建築砌塊。此基本訊息 元件為一攔位描述。每一攔位描述均應開始於訊息中之4 位元組邊界。這表示欄位間具有許多缺口。
MESSAGE — FIELD元件係欄位描述,用以確定 PNRP 53 1339518 將來可容易擴張。對訊息中每一組資料而言,其係提供欄 位一 16位元「欄位 ID」以辨識攔位類型,以及一 16位 元組計數。表 15 係顯示根據本發明之教示所建構之 MESSAGE_FIELD元件之資料結構細節。
補;趙1 _議..:_較 0 2 USHORT Field ID 2 4 2 USHORT Length 攔位長度(位元 組),包括訊息_棚位 MESSAGE FIELD 表15 使用此PNRP_HEADER - type 0x0010以開始所有的 PNRP訊息。協定+版本使得一 4-位元組識別符對於決定是 否已收到之訊息真正要給PNRP是有用的。表1 6係顯示根 據本發明之教示所建構之PNRP_HEADER元件之資料結構 細節 》
:麟、 纖耀蒙_ -νΐ:: 0 1 BYTE Protocol 一 8-位元數字,辨識PNRP 協定。值=0x51 1 1 BYTE Version Major 主要協定版本,如ν. 1.2之 ‘1, 2 1 BYTE Version Minor 次要協定版本,如ν. 1.2之 ‘2, 3 1 BYTE MessageType 此說明書中定義訊息1-10 4 2 ULONG Message ID 協助ACK追蹤之數字。可 為任意的。建議單調的增加 順序。 54 1339518
表16
使用訊息ID於PNRP — HEADER申,以便一節點可確 保用以回應此節點送出之一訊息之一收到訊息事實上為一 回應。例如,假設一節點送出一 RESOLVE訊息至另一節 點。則第一節點可預期收到回覆之一 AUTHORITY訊息, 如第4圖所示。然而,在沒有任何路徑追蹤或跟蹤此回應 至最初 RESOLVE的情況下,不保證收到之 AUTHORITY 訊息為有效的或被網路雲中之惡意節點所欺騙。藉由包括 一訊息 ID 於此 RESOLVE 訊息中,在後述之 PNRP_HEADER_ACKED 棚位中,此產生 AUTHORITY 訊息 之節點可於其回應中包括此訊息ID。 PNRP_HEADER_ACKED - type 0x0018 係整個 PNRP 訊息標頭,用來辨識一訊息為 ACK’d。表17係顯示根據 本發明之教示所建構之PNRP_HEADER_ACKED元件之資 料結構細節》
使用 IPV6_ENDP0INT - type 0x002 1 元件,因為 PNRP 被指定用於IPv6網路雲中》此結構指定一 IPv6網路端點》 55 1339518
也有一旗標可被用來指出節點工具予進行中之 RESOLVE。使用路徑旗標來指出被傳送至位址之RESOLVE 是被接受或是被拒絕。此外,假如位址係鄰近鄰居位址, 因為節點應該知道所有鄰近鄰居,所以可設定可疑旗標。 在除去錯誤過程中使用 AddressRemoved指標以標示一入 口為已移除,而不需真正除去它。這些指標如下: PNRP_FLAGGED_ADDRESS_ACCEPTED - 0x01 ; PNRP_FLAGGED_ADDRESS_REJECTED - 0x02 ; PNRP_FLAGGED_ADDRESS_UNREACHABLE-0x04 ; PNRP_FLAGGED_ADDRESS_LOOP - 0x08 ; PNRP_FLAGGED_ADDRESS_TOO_BUSY - 0x10 ; PNRP_FLAGGED_ADDRESS_BAD_VALIDATE」D · 0x20 ; PNRP_FLAGGED_ADDRESS_REMOVED- 0x80 ;及 PNRP_FLAGGED_SUSPECT_UNREGISTERED_ID - 0x40。表 1 8 係顯 示根據本發明之教示所建構之IPV6 — ENDPOINT元件之資 料結構細節。
翁 0 1 BYTE PathFlag 此節點端點之旗 標 1 1 BYTE Protocol IP協定數字,應 被設定至UDP 2 2 USHORT Port IPv6 埠 4 16 BYTE[16] Address IPv6位址 20 1 _«—IIIWj"丨丨丨_丨帽 mmmmm 表18 56 1339518 PNRP_ID - type 0x0030 元件係 128-位元 p2p ID 與 128-位元服務位置之連結。表19係顯示根據本發明之教示 所建構之PNRP_ID元件之資料結構細節。
顧__兒_ 頓 觀麵:纖,η'::,: 0 16 ΒΥΤΕ[16] ρ2ρ Π) 16-位元組(128-位 元)點名稱雜湊 16 16 ΒΥΤΕ[16] Service Location 16-位元組(128-位 元)服務位置(自已公 告服務位址所衍生 出) 32
表19 TARGET_PNRP_ID - type 0x0038 為一 RESOLVE 請求 或其對應RESPONSE之標的ID。表20係顯示根據本發明 之教示所建構之TARGET_PNRP_ID元件之資料結構細節。 W M :: :长1 € 簿纖觸 0 16 ΒΥΊΈ[16] ρ2ρ ID 16-位元組(128-位元) 點名稱雜湊 16 16 ΒΥΤΕ[16] Service Location 16-位元組(128-位元) 服務位置(自已公告服 務位址所衍生) 32 ___誦 BMaWSBW wsB&ssm ΜΒΜΜΒ 表20
VALID ATE_PNRP_ID — type 0x003 9 為被請求認證與 授權之PNRP ID。表21係顯示根據本發明之教示所建構之 VALIDATE_PNRP_ID元件之資料結構細節。 57 1339518 mmm 難'墟〜入, :龙‘稱/ _讎: 0 16 ΒΥΤΕ[16] p2p ID 16-位元組(128-位元) 點名稱雜湊 16 16 ΒΥΤΕ[16] Service Location 16-位元組(128-位元) 服務位置(自已公告 的服務位址所衍生 出) 32 mmi 表 ΜΙίϋϋυΜΜ 21 msimmmm
FLAGS_FIELD - type 0x0040辨識旗標,此旗標係用 於特定背景目的之一位元欄位。表22係顯示根據本發明之 教示所建構之FLAGS—FIELD元件之資料結構細節。 ::卿-参 ~0 ~2
USHORT
Flags~~|用於特定背景旗標之位 元櫊位 表22
RESOLVE_CONTROLS - type 0x0041 棚位包含要被用 於處理一 RESOLVE或一 RESPONSE之資訊。旗標係用來 指出是否RESOLVE正在回溯或是否請求AUTHORITY訊 息。此旗標包括 RF_IGNORE_NEXT_HOP-OxOOO 1 ; RF_SEND_CHAIN-0x0 004 ; RF_DONT_REMOVE_PATH_ENTRIES - 0x0008 > 其僅係用 於除去錯誤;以及RF_TRACING_ON - 0x0010,其僅係用 於除去錯誤。完成RESOLVE之前,最大站係限制站之數 字。操作碼係描述此比較應該如何如何進行。相配者可以 58 1339518 僅為ANY碼之頂端1 28位元(P2P ID)或可考慮NEAREST 碼之服務位置。操作碼同時決定是否相配者應考慮如同 RESOLVE之原始傳訊者一樣註冊於相同節點之ID。這些 操作碼包括: SEARCH_OPCODE_NONE - 0 ;
SEARCH_0PC0DE_ANY_PEERNAME-1 ; SEARCH_0PC0DE_NEAREST_PEERNAME-2 ; SEARCH_OPCODE_NEAREST64_PEERNAME - 4 ;以及 SEARCH_OPCODE_UPPER_BITS - 8。精確度設定符合一真實位 元數字之ID精確度。假使操作碼為 SEARCH_OPCODE_UPPER_BITS則使用此值。
原因係用來指出假如RESOLVE被當作修復過程之部份傳 送,由於快取維護,被當作一註冊器之部份,由於一應用 程式請求。這些原因包括:REASON_APP_REQUEST-0 ; REAS0N_REGISTRATI0N-1 ; REASON_CACHE一MAINTENANCE-2 ; REAS0N_REPAIR_DETECTI0N-3 ; REAS0N_SYNC_REQUEST-4 ; REASON_CPA_VIA_RESOLVE-5 ; REASON_CPA_VIA_FLOOD- 6; REASON_REPAIR - 7 ;以及 REASON_CPA_VIA_BACK_FLOOD - 8 » 結果碼指出為何完成RESOLVE舆轉換至 RESPONSE。其可指出站計數超過、未發現較佳路徑或太 多鄰居不能確定標的物的地點所導致之成功或失敗。這些 結果碼包括:RESULT_NONE - 0; RESULT_F0UND_MATCH-1 ; RESULT MAX HOP LIMIT HIT-2 ; 59 1339518 RESULT_N0_BETTER_PATH_F0UND-3 ;以及 RESULT_TOO_MANY_MISSES - 4。一請求之原始傳訊者使用此 交易ID以使RESPONSE相關聯。此RESOLVE原始傳訊者 設定交易ID值,起始RESPONSE之節點回應RESPOSNE 訊息中之值。中間節點不應該改變此值。表23係顯示根據 本發明之教示所建構之RESOLVE — CONTROLS元件之資料 結構細節。
纖_1 羅纖泌...:.:,,:¾ 0 2 USHORT Flags 用於特定背景旗標之位 元攔位 2 1 BYTE Max Hops 一訊息可訪問之PNRP 節點數 3 1 BYTE Operation Code 控制解析操作之碼。是 否RESOLVE應被傳送 至原始傳訊者?是否Π) 之高層128位元應被特 別看待? 4 2 USHORT Precision 有效位元要符合之數字 6 1 BYTE Reason Code 瑪描述起始一 RESOLVE-應用程式請 求、修復偵測、註冊、 快取維護等之原因 7 1 BYTE Result Code 碼,描述回覆一 Response-發現符合、最 大站限制達到、未發現 較佳路徑等之原因。 8 4 ULONG Trans ID 交易ID值 12 —i HHHH 表23 CACHE — LEVEL — type 0x0042元件係描述當執行一 60 1339518 REPAIR時要使用哪一個快取層。其被用於修復一分裂快 取時。表 24 係顯示根據本發明之教示所建構之 CACHE_LEVEL元件之資料結構細節。 ::’報麵 mmmMm ί、... 0 2 USHORT _ Cache Level 快取層數字(〇為快取之 頂端) 1 . ..V:..二.',· .· ··· ·· L —.:.___i· tJ 二 iJ ..--...&···_』· ··._*:.* 表24
FLOOD_CONTROLS — type 0x0043 元件包含被用於處 理一 FLOOD之資訊。FLOOD被傳送之原因係唯一使用之 碼。表 25 係顯示根據本發明之顯示所建構之 FL0〇D_C0NTR0LS元件之資料結構細節。 ^ΜΜΛ • T V:· 0 2 USHORT Flags 用於特定背景旗標之位元欄 位 2 1 BYTE Reason Code 碼,描述起始一 FLOOD-同步 請求,經由RESOLVE發現的 CPA,經由FLOOD發現的CPA 與進行修復等之原因 3 mmum HHSHBMBH· 表25
CPA_SOURCE - type 0x005 8 係被當作 SOLICIT 中之 來源CPA之CPA。編碼CPA以用於網路傳輸。表26係顯 示根據本發明之教示所建構之CPA — SOURCE元件之資料 結構細節》 61 1339518 CPA_BEST_MATCH - type 0x0059 元件係被當作 RESOLVE或RESPONSE中之“較佳符合”之CPA。編碼CPA 以用於網路傳輸。表27係顯示根據本發明之教示所建構之 CPA_BEST_MATCH之資料结構細節》
補_::::::.冷 (每綠,.w.' ' __纖 謙 0 Ρ CPA Encoded CPA 已編碼CPA 此 PNRP_ID_ARRAY -type 0x0060 元件包括 PNRP ID’s,用於陣歹ij中儲存之ADVERTISE與REQUEST訊息。 下方係描述此包括陣列大小之資料。表2 8係顯示根據本發 明之教示所建構之 PNRP_ID_ARRAY元件之資料結構細 節。
...神'.償 議__ 纏編__ 池:述t 0 Ρ CPA Encoded CPA 已編碼CPA.
表26
表27 〈補'償J -·Έ·- - · '长度 0 2 USHORT Num Entries Π)陣列中入口之數字。應 設定為A。 2 2 USHORT Array Length Total 陣列之長度(位元組),包 括標頭。應為12 + * 32) 4 2 USHORT Element Field Type 每個陣列入口之類型之 識別符•應為0x0030, PNRP ED 6 2 USHORT Entry Length 每個陣列元件之長度(位 元組)。應為32 62 8 A *32 PNRPJCD ID List PNRPID’s 陣列
表28 1339518 IPV6_ENDP0INT_ARRAY -type 0x0071 係所有已訪問 之節點之陣列。被泛流之訊息訪問各種的節點。在此陣列 中輸入每個已經訪問或傳送之節點。下方係描述此包括陣 列大小之資料。表 29係顯示根據本發明之教示所建構之 IPV6_ENDP〇INT_ARRAY元件之資料結構細節。 :禪#; 響s __議議; 麵__:..:_;:.額 0 2 USHORT Num Entries 位址陣列中入口之數 字"應設定為A 2 2 USHORT Array Length 陣列之總長度(位元組) 包括標頭。應為12 +(A *20) 4 2 USHORT Element Field Type 每個陣列入口之類型之 識別符。應為0x0021, IPV6 ADDRESS 6 2 USHORT Entry Length 每個陣列元件之長度 (位元組)。應為19 8 A * 20 H hh IPV6 END POINT[] Endpoint Array 端點之陣列 8 + A *20 WHjMHbiwmrtWffW 國 HaMaKaaai 表29
IPV6_REFERRAL_ADDRESS -type 0x0072 元件係特 別用來提供另一位址以送出一 RESOLVE之一 IPv6端點。 當一節點不想轉交一 RESOLVE時,但是想提供一些其它 節點可嘗試之位址時,則於一 AYTHORITY訊息中使用此 攔位。表 30 係顯示根據本發明之教示所建構之 63 1339518 IPV6_REFERRAL_ADDRESS元件之資料結構細節。 補償..1 寥鎖 議·__Ι 5务:::碰. ·;>·.£ .Ζ'· .·^·.ί> · · 壤喪〉…’. νΐ.'ί rV^ -t. ' v ; -·. 0 1 BYTE PathFIag 此節點端點之旗標 1 1 BYTE 1 Protocol UDP應設定之IP協 定數字 2 2 USHORT Port IPv6 痒 4 16 | ΒΥΊΈ[16] Address IPv6位址 20 v.;\. •. · .+. - «. ..- 一丨· .··; r'-:- . ·_ι 表30
使用 IPV6_REFERRAL_ID -type 0x0073 元件與 IPv6_Referral_Address 以指出作為參考之 PNRP.ID。表 31 係顯示根據本發明之教示所建構之 IPV6_REFERRAL_ID 元件之資料結構細節。 朦努 m:m·^ 類奥、 -- - 抵趣八.; 0 16 ΒΥΊΈ[16] p2p ID 16-位元組(128-位 元)點名稱之雜湊 16 16 BYTE[16] Service Location 16-位元組(128-位 元)服務位置(自已 公告之服務位址所 衍生出) 32 MM mmaamssrna BornBamm 表31
使用視窗CAPI API建立憑證鏈(CERT_CHAIN) - type 0x0080元件》將構成此鏈之憑證置入一 C API内記憶體憑 證舖。然後輸出為P KC S 7已解碼憑證舖。在沒有修改的情 況下傳送此已輸出舖。 定義 WCHAR - type 0x0084 元件以擁有一單一 UNICODE字元。其僅被作為部份的UNICODE陣列欄位, 64 1339518 如分類器。 CLASSIFIER - type 0x00 8 5元件係作為點名稱之一 基礎之統一碼(Unicode)分類器字串。其被編碼為 WCHAR 元件之陣列。表 32係顯示根據本發明之教示所建構之 CLASSIFIER元件之資料結構細節。 議:微 2
USHORT
Num Entries
位址陣列中之入口 數字。應設定為A
USHORT
Array Length 陣列總長度(位 元),包括標頭。應 為 12 + (A*2)
USHORT
Element Field Type
每一陣列入口之類 型之識別符。應為 0x0084 , WCHAR A*2
USHORT
Entry Length 每一陣列元件長度 (位元)。應為2
WCHARG
Wide Character Array 統一碼 (Unicode)字元 之陣列
+ A 表32
HASHED_NONCE - type 0x0092 元件係包含於一 ADVERTISE訊息之一已加密目前標誌值。可以預期接收者 將會有金鑰以解密此目前標誌。表33係顯示根據本發明之 教示所建構之HAS HE D_NONCE元件之資料結構細節》 講雜、..¾¾ 與零/辟;.:誓u:::::.. 0 4 ULONG Encrypted Nonce 加密後之目前標誌 值 65 1339518
表33 NONCE - type 0x0093 元件係包含於一REQUEST 訊 息之一已解密目前標誌值。可以預期接收者將會驗證已解 密的目前識別符合送出之解密前之值,表34係顯示根據本 發明之教示所建搆 NONCE元件之資料結構細節 mm 躁泰 *·.·. >. _*r.*·、mm 0 4
ULONG
Decrypted Nonce 目前標法值 表 34 假使係以一系列的片段形式而非以單一訊息形式傳送 一長訊息,則使用 SPLIT_CONTROLS - type 0x0098 元 件。每個片段包括分裂控制攔位,使得接收者可建構此訊 息。表 35 係顯示根據本發明之教示所建構之 SPLIT_CONTR〇LS元件之資料結構細節。
頭_'Ί 0 2 2 2 - USH0RT USH0RT
Size 段大小
Offset 片段補償 在除去錯誤過程中係使用 PNRP_TRACE - typ« 0x0099元件以擁有可從RESOLVE訊息舆RESPONSE訊息 中一站被傳送至另一站之資料。其可用來儲存追蹤資料》 可能不被通訊協定之最後版本所支援。 66 1339518 以上所述者,僅為本發明之較佳實施例之舉例與說明 而已,當不能以此限定本發明實施之範圍。依據上述顯示, 可具有多種修飾與變化。上述所選擇與描述之實施例,係 本發明之原理與實際應用之最佳舉例,藉以使得熟習此技 藝者可應用本發明於各種實施例中且作修飾而適用於各種 特定使用。是故,在公平、合法與公正之解釋範圍條件下, 凡依本發明申請專利範圍所作之等效變化與修飾,皆應仍 屬本發明專利涵蓋之範圍内。
【圖式簡單說明】 下列圖式為說明書之一部份,其舉出本發明之數個方 面,且可連同上述說明一同解釋本發明之原理。在圖式中: 第1圖係大致說明一電腦系統範例之方塊圖,且本發 明位於其上:以及 第2圖係說明點對點名稱解析通訊協定(PNRP)之功能 元件之簡化方塊圖; 第 3圖係說明本發明之一方面之通訊協定訊息流程 ΠΟ · 圍, 第4圊係說明本發明之另一方面之通訊協定訊息流程
圖; 第5圖係說明本發明之可擴充之資料结構模型之資 料結構圖,其可用以建構本發明之訊息;以及 第.6圖係說明本發明之訊息範例之構造之簡化資料 结構圊。 67 1339518
【元件代表符號簡單說明】 100計算系統環境 110電腦 120處理單元 1 2 1系統匯流排 1 3 1唯讀記憶體 132隨機存取記憶體 1 3 3基本輸出入系統 1 3 4操作系統 1 35應用程式 1 3 6其它程式模組 137程式資料 1 40不可移除/揮發記憶體 介面 141硬碟機 144操作系統 145應用程式 1 4 6其它程式模組 147程式資料 1 50可移除/揮發記憶體 介面 1 5 1磁碟機 1 5 2非揮發性磁碟 1 55光碟機 1 5 6非揮發性光碟 1 6 1指標裝置 1 62鍵盤 170轉接卡 171 LAN 172數據機 173 WAN 1 80遠端電腦 1 8 1記憶體儲存元件 185遠端應用程式 190影像介面 191螢幕 195輸出週邊介面 1 9 6印表機 1 9 7哨0八 200服務管理組件 202樁 204網路雲管理器 206快取管理器 208協定管理器 2 1 0訊息傳輸器 68 1339518 m
212節點A
2 14節點B 2 16 SOLICIT 訊息 218 ADVERTISE 訊息 220 REQUEST 訊息 222 ACK訊息 224 FLOOD 訊息 224, > 2242 ' . . . 224n FLOOD訊息 2 2 6 A C K訊息 2 2 6 i A C K 訊息 2 2 6 2 A C K 訊息 2 2 8節點
230節點B
232 節點T 23 4 RE SOLVE 訊息 236 RESOLVE 訊息 240 RESPONSE 訊息 242 AUTHORITY 訊息 244 RESPONSE 訊息 246 ACK訊息 24 8 ACK訊息 250 INQUIRE 訊息 252 AUTHORITY 訊息 2 60訊息 260訊息資料结構 262,第一個欄位 2622第二個攔位 2 62N第三個欄位 2 64資料結構 2 6 6類型組件 2 6 8長度組件 270真實内容或承載 272長度 280 RESOLVE 訊息 282 PRNP_Header 2 84解析_控制
286 標的 _PNRP_ID 288 有效 _PNRP_ID 290 CPAj _符合 292 1卩丫6_端點陣列 294欄位資料结構 296類型 298長度 3 0 0協定組件 69 1339518 3 02主要版本組件 3 16 P2P ID組件 304此要版本組件 3 1 8服務位置組件 3 0 6訊息類型組件 3 0 8訊息ID組件
310 VALIDATE PNRP_ID 資料結構 3 1 2類型組件
3 1 4長度組件秦、,申請,專利範圍, ^ ·* * | * r- *. .-·ν. Γ. ^ Λ * * ·_ι__ι 1· 一種用來產生並傳送可用在一點對點名稱解析協定 (PNRP)的一點對點協定(peer to peer protocol)訊息之方 法,該方法至少包含以下步驟:
產生一可擴充資料結構,其包括:一第一欄位,該第一 欄位包含具有一 PNRP訊息類型之一 PNRP標頭;以及至 少一額外攔位,該至少一額外欄位對應於該PNRP訊息類 型;且該 PNRP 訊息類型包含下列中的其中之一: RESOLVE' RESPONSE' SOLICIT' ADVERTISE' REQUEST' FLOOD、INQUIRE、AUTHORITY、ACK、或 REPAIR ; 填充(populating)對應一 PNRP功能之該可擴充資料 結構; 將該經填入資料後之可擴充資料結構併入該點對點協 定訊息而一併傳送。 70

Claims (1)

1339518 3 02主要版本組件 3 16 P2P ID組件 304此要版本組件 3 1 8服務位置組件 3 0 6訊息類型組件 3 0 8訊息ID組件 310 VALIDATE PNRP_ID 資料結構 3 1 2類型組件
3 1 4長度組件秦、,申請,專利範圍, ^ ·* * | * r- *. .-·ν. Γ. ^ Λ * * ·_ι__ι 1· 一種用來產生並傳送可用在一點對點名稱解析協定 (PNRP)的一點對點協定(peer to peer protocol)訊息之方 法,該方法至少包含以下步驟:
產生一可擴充資料結構,其包括:一第一欄位,該第一 欄位包含具有一 PNRP訊息類型之一 PNRP標頭;以及至 少一額外攔位,該至少一額外欄位對應於該PNRP訊息類 型;且該 PNRP 訊息類型包含下列中的其中之一: RESOLVE' RESPONSE' SOLICIT' ADVERTISE' REQUEST' FLOOD、INQUIRE、AUTHORITY、ACK、或 REPAIR ; 填充(populating)對應一 PNRP功能之該可擴充資料 結構; 將該經填入資料後之可擴充資料結構併入該點對點協 定訊息而一併傳送。 70 1339518 2.如申請專利範圍第1項之方法,其中該第一攔位更 含:一標頭識別、一標頭長度、一協定識別符、一版本 要識別符、一版本次要識別符、及一訊息識別指示器。
3.如申請專利範圍第1項之方法,其中若該PNRP功 包含請求解析一標的 PNRP識別成一已認證的點位 (CPA),則填充該可擴充資料結構之步驟包含: 以一 RESOLVE訊息填充該PNRP訊息類型; 以一解析控制訊息元件填充一第一額外欄位; 以一 PNRP標的識別訊息元件填充一第二額外欄位; 以一有效PNRP識別訊息元件填充一第三額外欄位; 以一已認證的點位址(CPA)最匹配訊息元件填充一第 額外欄位; 以一 IP V 6端點陣列訊息元件填充一第五額外欄位。 包 主 能 址 四
4.如申請專利範圍第3項之方法,其中該解析控制訊 元件包括特定背景旗標之一位元攔位、該RESOLVE訊 所能訪問之節點的最大數、一或多個操作碼以控制一解 操作、符合有效位元之一精度數(precision number)、描 起始該RESOLVE訊息的一原因之一理由碼、描述傳回 回應的一原因之一結果碼、以及一交易識別值。 息 息 析 述 5.如申請專利範圍第3項之方法,其中該標的PNRP 別訊息元件包含一標的點之一點名稱雜湊(hash)與自一 識 已 71 1339518 公告服務位址所衍生之一服務位置。 6.如申請專利範圍第3項之方法,其中該有效PNRP識 別訊息元件包括欲請求認證與授權之一節點的一點名稱雜 湊,以及自欲請求認證與授權之該節點的一已公告服務位 址所衍生之一服務位置。
7.如申請專利範圍第3項之方法,其中該CPA最匹配訊 息元件包含一已編碼的C PA。 8.如申請專利範圍第3項之方法,其中該IPv6端點陣 列訊息元件之該承載包含一陣列中之數個入口、該陣列之 一總長度、每一陣列入口之一類型之一識別符、每一陣列 元件之一長度、以及每一已訪問節點或該RESOLVE訊息 已傳送至此之一位址陣列。
9.如申請專利範圍第1項之方法,其中若該PNRP功能包 含回應一 RESOLVE請求之完成,則填充該可擴充資料結 構之步驟包含: 以一 RESPONSE訊息填充該PNRP訊息類型; 以一解析控制訊息元件填充一第一額外欄位; 以一標的 PNRP識別(ID)訊息元件填充一第二額外攔 位; 以一 CPA最匹配訊息元件填充一第三額外欄位; 72 1339518 以一 IP V 6端點陣列訊息元件填充一第四額外欄位。
10.如申請專利範圍第9項之方法,其中該解析控制訊 息元件包括特定背景旗標之一位元欄位、該RESOLVE請 求所能訪問之節點的最大數、一或多個操作碼以控制一解 析操作、有效位元要符合之精度數、描述起始該RESOLVE 請求的一原因之一理由碼、描述傳回一回應的一原因之一 結果碼、以及一交易識別值。 1 1 .如申請專利範圍第 9項之方法,其中該標的 PNRP 識別訊息元件包括一標的點之一點名稱雜湊與自一已公告 服務位址所衍生之一服務位置。 12.如申請專利範圍第9項之方法,其中該CPA最符合 訊息元件包括一已編碼CPA。
13.如申請專利範圍第9項之方法,其中該IPv6端點陣 列訊息元件包括一陣列中之數個入口 、該陣列之一總長 度、每一陣列入口之一類型的一識別符、每一陣列元件之 一長度以及每一已訪問節點或該RESPONSE訊息已傳送至 此之一位址陣列。 14.如申請專利範圍第1項之方法,其中若該PNRP功 能包含要求一 PNRP節點從其快取中公告一或多個入口, 73 1339518 則填充該可擴充資料結構之步驟包含: 以一 SOLICIT訊息填充該PNRP訊息類型; 以一已認證點位址來源訊息元件填充一第一額外攔位; 以一雜凑後的目前標达訊息元件 (nonce message element)填充一第二額外欄位。
15.如申請專利範圍第14項之方法,其中該CPA最匹配 訊息元件包括一已編碼的來源CPA。 16.如申請專利範圍第14項之方法,其中該雜湊後的目 前標諸訊息元件包括一已加密目前標誌·值。 17.如申請專利範圍第1項之方法,其中若該PNRP功 能包含從一 PNRP節點的快取中產生 PNRP識別的一清 單,則填入資料至該可擴充資料結構之步驟包含: 以一 ADVERTISE訊息填充該PNRP訊息類型; 以一已確收PNRP標頭訊息元件填充一第一額外欄位; 以一 PNRP識別(ID)陣列訊息元件填充一第二額外欄 位; 以一雜湊化目前標誌訊息元件填充一第三額外欄位。 18.如申請專利範圍第17項之方法,其中該已確收PNRP 標頭訊息元件包括一已確收之接收訊息的一訊息識別。 74 1339518 19. 如申請專利範圍第17項之方法,其中該PNRP ID 列訊息元件包括一 PNRP ID陣列中之數個入口、該陣列 一總長度、每一陣列入口之一類型的一識別符、每一陣 元件之一長度以及一 PNRP IDS陣列。 20. 如申請專利範圍第17項之方法,其中該雜湊化目 標誌訊息元件包括一已加密的目前標誌值。 21. 如申請專利範圍第1項之方法,其中若該PNRP 能包含請求一 PNRP節點泛流(flood ) —組已公告之已 證點位址(CPAs),則填充該可擴充資料結構之步驟包含 以一 REQUEST訊息填充該PNRP訊息類型; 以一目前標誌訊息元件填充一第一額外欄位; 以一 PNRP識別(ID)陣列訊息元件填充一第二額外 位。 陣 之 列 前 功 認 欄
22.如申請專利範圍第21項之方法,其中該目前標誌 息元件包括一已解密的目前標誌值。 訊 2 3.如申請專利範圍第21項之方法,其中該PNRP ID 列訊息元件包括一 PNRP ID陣列中之數個入口、該陣列 一總長度、每一陣列入口之一類型的一識別符、每一陣 元件之一長度以及一 PNRP IDS陣列。 陣 之 列 75 1339518 功 充 24.如申請專利範圍第1項之方法,其令若該PNRP 能包含傳播一已認證點位址(CPA)以選擇PNRP點,則填 該可擴充資料結構之步驟包含: 以一 FLOOD訊息填充該PNRP訊息類型; 以一泛流控制訊息元件填充一第一額外欄位; 以一 C P A最匹配訊息元件填充一第二額外欄位; 以一 IPV6端點陣列訊息元件填充一第三額外欄位。
2 5.如申請專利範圍第2 4項之方法,其中該泛流控制 息元件包括特定背景旗標的一位元欄位以及描述起始 FLOOD訊息的一原因之一理由碼。 26.如申請專利範圍第24項之方法,其中該CPA最匹 訊息元件包括一已編碼的CPA。 27.如申請專利範圍第24項之方法,其中該IPv6端 陣列訊息元件包括一陣列中的數個入口、該陣列之一總 度、每一陣列入口之一類型的一識別符、每一陣列元件 一長度、以及一位址陣列,其對應該F L 0 0 D訊息被傳 至的每個節點及已知接收了該FLOOD訊息的每個節點。 28.如申請專利範圍第1項之方法,其中若該PNRP 能包含請求一特定 PNRP識別是否在一 PNRP節點中 冊,則填充該可擴充資料結構之步驟包含: 訊 該 配 點 長 之 送 功 註 76 1339518 以一 INQUIRE訊息填充該PNRP訊息類型; 以一旗標欄位訊息元件填充一第一額外欄位; 以一有效PNRP識別訊息元件填充一第二額外欄位。 29.如申請專利範圍第28項之方法,其中該旗標欄位訊 息元件包括特定背景旗標的一位元欄位。
3 0.如申請專利範圍第29項之方法,其中該有效PNRP 識別訊息元件包括欲請求認證與授權之一節點的一點名稱 雜湊,以及自欲請求認證與授權之該節點的一已公告服務 位址所衍生出之一服務位置。 31.如申請專利範圍第1項之方法,其中若該PNRP功 能包含證實一 PNRP識別的一區域註冊,則填充該可擴充 資料結構之步驟包含: 以一 AUTHORITY訊息填充該PNRP訊息類型;
以一已確收PNRP標頭訊息元件填充一第一額外攔位; 以一分裂控制訊息元件填充一第二額外欄位; 以一旗標欄位訊息元件填充一第三額外欄位; 以一有效 PNRP識別(ID)訊息元件填充一第四額外欄 位; 以一憑證鏈訊息元件填充一第五額外欄位; 以一 IPV6參考位址訊息元件填充一第六額外欄位; 以一 IP V 6參考識別訊息元件填充一第七額外攔位; 77 1339518 以一分類器訊息元件填充一第八額外攔位。 32. 如申請專利範圍第31項之方法,其中該已確收PNRP 標頭訊息元件包括已確收的一接收訊息之一訊息識別。 33. 如申請專利範圍第31項之方法,其中該分裂控制訊 息元件包括片段的一大小與片段之一補償的資訊。
3 4.如申請專利範圍第3〗項之方法,其中該旗標欄位訊 息元件包括特定背景旗標的一位元欄位。 35.如申請專利範圍第31項之方法,其中該有效PNRP 識別訊息元件包括欲請求認證與授權之一節點的一點名稱 雜湊以及自欲請求認證與授權之該節點的一已公告服務位 址所衍生出之一服務位置。
3 6.如申請專利範圍第3 1項之方法,其中該憑證鏈訊息 元件包括一 PKCS7已編碼的憑證庫(store)。 37.如申請專利範圍第31項之方法,其中該IPv6參考 位址訊息元件包括一節點端點的一路徑旗標端點、一 IP 通訊協定數字、一 IPv6崞、以及一 IPv6位址作為另一節 點位置。 78 1339518 38.如申請專利範圍第31項之方法,其中該IPv6參考 識別訊息元件包括一點名稱雜湊與正作為一參考的一節點 之一服務位置。
39.如申請專利範圍第31項之方法,其中該分類器訊息 元件包括統一碼(Uni code)分類器字串,用作一點名稱之一 基礎,被編碼為W C H A R元件之一陣列,其包括一位址陣 列中之數個入口 、該陣列之一總長度、每一陣列入口或一 類型之一識別符、每一陣列元件之一長度以及一統一碼字 元陣列。 40.如申請專利範圍第1項之方法,其中若該PNRP功 能包含一接收訊息之確收及該接收訊息之確認成功處理的 其中一者,則填充該可擴充資料結構之步驟包含: 以一 ACK訊息填充該PNRP訊息類型; 以一已確收PNRP標頭訊息元件填充一第一額外攔位。
41. 如申請專利範圍第40項之方法,其中該已確收PNRP 標頭訊息元件包括該接收訊息的一訊息識別。 42. 如申請專利範圍第1項之方法,其中若該PNRP功 能包含判定網路雲是否分裂且需要修復,則填充該可擴充 資料結構之步驟包含: 以一 REPAIR訊息填充該PNRP訊息類型; 79 1339518
以一標的PNRP識別訊息元件填充一第 以一快取層訊息元件填充一第二額外欄 以一 IP V 6端點訊息元件填充一第三額 43.如申請專利範圍第42項之方法,| 識別訊息元件包括一標的點之一點名稱雜 告服務位址所衍生出之一服務位置。 44.如申請專利範圍第42項之方法,其 元件包括一快取層數字,藉以當執行一修 一快取層。 45.如申請專利範圍第42項之方法,其 件更包括辨識一特別訊息之資訊以允許對 應追蹤。 46.如申請專利範圍第1項之方法,其 欄位包含:一欄位辨識欄位、一長度欄位 47,—種電腦可讀取儲存媒體,其實體 其中之指令可由一電腦執行,以執行用來 一 RESOLVE 訊息之一點對點協定訊 RESOLVE訊息包含對於進入一已認證的.? 標的PNRP識別之解析的一請求,且該等 一額外欄位; 位; 外糊位β r中該標的PNRP 凑以及自一已公 中該快取層訊息 復時辨識使用哪 令該標頭訊息元 該特別訊息之回 中該至少一額外 與一承載。 上内含一程式, 產生並傳送包含 息之步驟,該 i位址(CPA)之一 ,驟包含: 80 1339518 產生用於一點對點名稱解析協定(PNRP)的一 RESOLVE 訊息資料結構,其至少包含: 產生一第一訊息欄位,其係具有一 PNRP標頭訊息元 件; 產生一第二訊息欄位,其係具有一解析控制訊息元件; 產生一第三訊息欄位,其係包含一 PNRP標的識別訊息 元件;
產生一第四訊息欄位,其係包含一有效PNRP識別訊息 元件; 產生一第五訊息攔位,其係包含一已認證的點位址 (CPA)最匹配訊息元件; 產生一第六訊息欄位,其係包含一 IP v 6端點陣列訊息 元件; 將該RESOLVE訊息資料結構併入該點對點協定訊息而 一併傳送。
48.如申請專利範圍第47項之電腦可讀取儲存媒體, 其中每一訊息元件包括一訊息資料結構,該訊息資料結構 包括一欄位辨識櫊位、一長度欄位與一承載(payload )。 49.如申請專利範圍第48項之電腦可讀取儲存媒體, 其中該解析控制訊息元件之該承載包括特定背景旗標的一 位元襴位、該RESOLVE訊息所能訪問之節點之最大數、 一或多個操作碼以控制解析操作、有效位元要符合之精度 81 1339518
數、描述起始該 RESOLVE訊息的一原因之一理由 述傳回一回應的一原因之一結果碼、以及一交易識 50.如申請專利範圍第48項之電腦可讀取儲存媒 中該標的PN R P識別訊息元件之該承載包括一標的 點名稱雜湊與自一已公告服務位址所衍生出之一 置》 5 1 .如申請專利範圍第4 8項之電腦可讀取儲存媒 中該有效PNRP識別訊息元件之該承載包括欲請求 授權的一節點之一點名稱雜湊,以及自欲請求認證 之該節點的一已公告服務位址所衍生之一服務位置 5 2 .如申請專利範圍第4 8項之電腦可讀取儲存 中該C P A最匹配訊息元件之該承載包括一已編碼的 53.如申請專利範圍第48項之電腦可讀取儲存始 中該IP v 6端點陣列訊息元件之該承載包括一陣列 個入口、該陣列之一總長度、每一陣列入口的一類 識別符 '每一陣列元件之一長度以及每一已訪問節 RESOLVE訊息已傳送至此之一位址陣歹|J 。 54.—種電腦可讀取儲存媒體,其實體上内含一 其t之指令可由一電腦執行·以執行用來產生並傳 瑪、描 5丨J值。 體,其 點之一 服務位 體,其 認證與 與授權 〇 ;體,其 CPA。 ;體,其 中之數 型之一 點或該 程式, 送包含 82 1339518 一 RESPONSE 訊息之一點對點協定訊息之步驟,該 RESPONSE訊息包含對於一 RESOLVE請求的完成之一回 應,且該等步驟包含: 產生用於一點對點名稱解析協定(PNRP)的一 RESPONSE訊息資料結構,其至少包含: 產生一第一訊息欄位,其係具有一 PNRP標頭訊息元 件;
產生一第二訊息欄位,其係具有一解析控制訊息元件’; 產生一第三訊息欄位,其係包含一標的PNRP識別(ID) 訊息元件: 產生一第四訊息欄位,其係包含一已認證的點位址 (CPA)最匹配訊息元件; 產生一第五訊息欄位,其係包含一 IP V 6端點陣列訊息 元件;以及
將該RESPONSE訊息資料結構併入該點對點協定訊息 而一併傳送。 55.如申請專利範圍第54項之電腦可讀取儲存媒體, 其t每一訊息元件包括一訊息資料結構,該訊息資料結構 包括一欄位辨識欄位、一長度欄位與一承載。 5 6.如申請專利範圍第5 5項之電腦可讀取儲存媒體, 其中該解析控制訊息元件之該承載包括特定背景旗標之一 83 1339518
位元欄位、該RESOLVE請求所能切問之節點之 一或多個操作碼以控制一解析操作,有效位元要 度數、描述起始該RES0LVE請求之一原因之— 描述傳回一反應之一原因之一結果瑀、以及一交彳 57.如申請專利範圍第55項之電腦可讀取儲名 中該標的PNRP識別訊息元件之該承載包括一標 點名稱與導自一已公告服務位址之/服務位置之 58.如申請專利範固第55項之電腦可讀取儲名 中該CPA最符合訊息元件之該承栽包括一已編碼 59.如申請專利範圍第55項之電腦可讀取儲名 中該IPV6端點陣列訊息元件之該承載包括—陣 個入口、該陣列之一總長度 '每/陣列入口之一 識別符、每一陣列元件之一長度以及每一已訪問 RESPONSE已傳送至此之一位址陣列。 60.—種電腦可讀取儲取媒體’其實體上内含 其t之指令可由一電腦執行,以執行用來產生並 一 SOLICIT訊息之一點對點協定訊息之步驟’該 訊息包含對一 PNRP節點從其快取中公布一或多 一請求,且該等步驟包含: 產生用於一點對點名稱解析協定(PNRP)之一 最大數、 符合之精 理由辟、 i辨識值。 媒體,其 的點之一 一雜凑β 媒體,其 CPA。 媒體,其 列中之數 類型之一 節點或該 一程式, 傳送包含 SOLICIT 個入口之 SOLICIT 84 1339518 訊息資料結構,包括·· 產生一第一訊息欄位,具有一 PNRP標頭 產生一第二訊息襴位,具有一已認證的I 源訊息元件; 產生一第三訊息欄位,包含 標钱訊息元件;以及 將與該 SOLICIT訊息資料結構併入該點 而一併傳送。 61.如申請專利範圍第60項之電腦可讀 其中每一訊息元件包括一訊息資料結構,該 包括一爛位辨識爛位、一長度攔位與一承載 62.如申請專利範圍第61項之電腦可讀: 中該 CPA來源訊息元件之該承載包括一 CPA。 63.如申請專利範圍第61項之電腦可讀ί 中該雜湊化目前標誌訊息元件包括一已加密 64.—種電腦可讀取儲存媒體,其實體上 其中之指令可由一電腦執行,以執行用來產 一 ADVERTISE訊息之一點對點協定訊,! ADVERTISE訊息包含來自一 PNRP節點的# 別的一清單,且該等步驟包含: 訊息元件; έ位址(CPA)來 一雜凑化目前 對點協定訊息 取儲存媒體, 訊息資料結構 〇 .儲存媒體,其 已編碼的來源 .儲存媒體,其 目前標諸值。 内含一程式, 生並傳送包含 ^之步驟,該 取之PNRP識 85 1339518 產生用於一點對點名稱解析協定(PNRP)之一 ADVERTISE訊息資料結構,其至少包含: 產生一第一訊息欄位,其係具有一 PNRP標頭訊息元 件; 產生一第二訊息欄位,其係具有一已確收PNRP標頭訊 息元件;
產生一第三訊息欄位,其係包含一 PNRP識別(ID)陣列 訊息元件; 產生第四訊息攔位,其係包括一雜湊化目前標誌訊息元 件;以及 將該ADVERTISE訊息資料結構併入該點對點協定訊息 而一併傳送。 65.如申請專利範圍第64項之電腦可讀取儲存媒體,其 中每一訊息元件包括一訊息資料結構,該訊息資料結構包 括一欄位辨識欄位、一長度欄位與一承載。
66.如申請專利範圍第65項之電腦可讀取儲存媒體,其 中該已確收PNRP標頭訊息元件之該承載包括一正被確收 訊息之一訊息辨識。 67.如申請專利範圍第65項之電腦可讀取儲存媒體,其 中該PNRP ID陣列訊息元件之一承載包括一 PNRP ID陣列 中之數個入口、該陣列之一總長度、每一陣列入口之一類 86 1339518 贺之一識別符、每一陣列元件之一長度以及一 pnrp IDS 陣列。 68.如申請專利範園第65項之電腦可讀取儲存媒體,其 中該雜凑化目刖標誌、訊息元件之該陣列包括一已加密之目 前標达值。
69.—種電腦可讀取儲存媒體,其實體上内含一程式, 其中之指令可由一電腦執行,以執行用來產生並傳送包含 一 REQUEST訊息之—點對點協定訊息之步驟,該 REQUEST訊息包含對__ PNRp節點之請求,使其泛流 (flood ) —組已公布的已認證點位址(cpAs) ’且該等步驟 包含: 產生用於一點對點名稱解析協定(PNrp)之一 REQUEST 訊息資料結構,其至少包含:
產生一第一訊息攔位,其係具有一 pNRp標頭訊息元 件: 其係具有一目前標誌訊息元件; 其係包含一 PNRP識別(ID)陣列 產生一第二訊息欄位 產生一第三訊息欄位 訊息元件;以及 將該REQUEST訊息資料社谋你 貝科結構併入該點對點協定訊息而 一併傳送。 87 1339518 70.如申請專利範圍第69項之電腦可讀取儲存媒體,其 中每一訊息元件包括一訊息資料結構,該訊息資料結構包 括一攔位辨識欄位、一長度欄位與一承載。 71.如申請專利範圍第70項之電腦可讀取儲存媒體,其 中該目前標誌訊息元件包括一已解密之目前標誌值。
7 2.如申請專利範圍第70項之電腦可讀取儲存媒體,其 中該PNRP ID陣列訊息元件之該承載包括一 PNRP ID陣列 中的數個入口、該陣列之一總長度、每一陣列入口的一類 型之一識別符、每一陣列元件之一長度以及一 PNRP ID陣 列。
73.—種電腦可讀取儲存媒體,其實體上内含一程式, 其中之指令可由一電腦執行,以執行用來產生並傳送包含 一 FLOOD訊息之一點對點協定訊息之步驟,該FLOOD訊 息包含一已認證的點位址(CPA)之一傳播以選擇 PNRP 點,且該等步驟包含: 產生用於一點對點名稱解析通訊協定(PNRP)之一 FLOOD訊息資料結構,其至少包含: 產生一第一訊息攔位,其係具有一 PNRP標頭訊息元 件; 產生一第二訊息欄位,其係具有一泛流控制訊息元件; 產生一第三訊息欄位,其係包含一 CPA最符合訊息元 88 1339518
件: 產生一第四訊息欄位,其係包括-元件;以及 將該FLOOD訊息資料結構併入該 併傳送。 74.如申請專利範圍第73項之電灌 中每一訊息元件包括一訊息資料結構 括一欄位辨識欄位、一長度欄位與一 75.如申請專利範圍第74項之電灌 中該泛流控制訊息元件之該承載包括 元欄位以及描述起始一 F L 0 0 D訊息ί 76. 如申請專利範圍第74項之電! 中該CPA最符合訊息元件之該承載$ 77. 如申請專利範圍第74項之電别 中該IΡ V 6端點陣列訊息元件之該承 些輸入項、該陣列之一總長度、每一 之一識別符、每一陣列元件之一長度 息被傳送至的每個節點及已知已接收 個節點的位址之一位址陣列。 -IPv6端點陣列訊息 點對點協定訊息而一 ί可讀取儲存媒體,其 '該訊息資料結構包 承載。 ί可讀取儲存媒體,其 特定背景旗標的一位 办一原因之一理由瑪。 ί可讀取儲存媒體,其 ,括一已編碼的CPA。 丨可讀取储存媒體*其 載包括一陣列中的一 陣列輸入項之一類型 、以及該 FLOOD訊 該 FLOOD訊息的每 89 1339518 78.—種電腦可讀取作+ ^ ^ 取储存媒體,其實體上内含一程式, 其中之指令可由一電敝& ^執行,以執行用來產生並傳送包含 一 INQUIRE訊息之一駐:上 > 對點協定訊》^之步驟’該inquire 訊息包含判定一 PNRP蛳如β太产 PXTDD ^ 兩別是否在一 PNRP節點中註冊之 一請求,且該等步驟包含: 產生用於一點對點名稱解析通訊協定(PNRP)之一 INQUIRE訊息資料結構,其至少包含:
產生-第-訊息欄位’其係具有_ PNRp 4票頭訊息元 件: 產生一第二訊息攔位,其係具有一旗標攔位訊息元件; 產生-第三訊息攔位’其係包含一有& PNRp辯識訊息 元件;以及 將該_uire訊息資料結構併入該κ對點%定m 一併傳送。 79. 如申請專利範圍第78項之電腦可讀取儲存媒想其 中每一訊息元件包括1息資料結構,該訊息資料結構包 括一攔位辨識櫊位、一長度欄位與—承栽。 80. 如申請專利範圍第79項之電聰可 中該旗標欄位訊息;ί:件之該承載包& * &储存媒體’其 元糊位。 載。括特定背景旗標的-位 90 1339518 81.如申請專利範圍第79項之電腦可讀取儲存媒體,其 中該有效PNRP識別訊息元件之該承載包括欲請求認證與 授權之一節點的一點名稱雜湊,以及自欲請求認證與授權 之該節點的一已公告服務位址所衍生出之一服務位置。
82.—種電腦可讀取儲存媒體,其實體上内含一程式, 其中之指令可由一電腦執行,以執行用來產生並傳送包含 一 AUTHORITY訊息之一點對點協定訊息之步驟,該 AUTHORITY訊息包含一 PNRP識別的一註冊的一證實, 且該等步驟包含: 產生用於一點對點名稱解析通訊協定(PNRP)之一 AUTHORITY訊息資料結構,其至少包含: 產生一第一訊息欄位,其係具有一 PNRP標頭訊息元 件; 產生一第二訊息欄位,其係具有一已確收PNRP標頭訊 息元件; 眷 產生一第三訊息襴位,其係包含一分裂控制訊息元件; 產生一第四訊息欄位,其係包含一旗標欄位訊息元件; 產生一第五訊息欄位,其係包含一有效PNRP識別(ID) 訊息元件; 產生一第六訊息欄位,其係包含一憑證鏈訊息元件; 產生一第七訊息欄位,其係包含一 IPv6參考位址訊息 元件; 產生一第八訊息欄位,其係包含一 IP v 6參考識別訊息 91 1339518 元件; 產生一第九訊息欄位,其係包括一分類器訊息元件;以 及 將該 AUTHORITY訊息資料結構併入該點對點協定訊 息而一併傳送。
83.如申請專利範圍第82項之電腦可讀取儲存媒體,其 中每一訊息元件包括一訊息資料結構,該訊息資料結構包 括一欄位辨識攔位、一長度欄位與一承載。 84.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該已確收PNRP標頭訊息元件之該承載包括一正被確收 訊息之一訊息辨識。
85.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該分裂控制訊息元件之該承載包括片段之一大小與片段 之一補償資訊。 86.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該旗標欄位訊息元件之該承載包括特定背景旗標之一位 元欄位。 87.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該有效PNRP識別訊息元件之該承載包括欲請求認證與 92 1339518 授權之一節點的一點名稱雜湊,以及自欲請求認證與授權 之該節點的一已公告服務位址所衍生出之一服務位置。 88.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該憑證鏈訊息元件之該承載包括一 PKCS7已編碼的憑 證庫。
89.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該IP V 6參考位址訊息元件之該承載包括一節點端點之 一路徑旗標端點、一 IP通訊協定數字、一 IPV6埠、以及 一 IP V 6位址作為另一節點位置。 9 0.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該IPV6參考識別訊息元件之該承載包括一點名稱雜湊 與正作為一參考的一節點之一服務位置。
91.如申請專利範圍第83項之電腦可讀取儲存媒體,其 中該分類器訊息元件之該承載包括統一碼分類器字串,用 作一點名稱之一基礎,被編碼為WCHAR元件之一陣列, 其包括一位址陣列中之數個入口、該陣列之一總長度、每 一陣列入口或一類型之一識別符、每一陣列元件之一長度 以及一統一碼字元陣列。 93 1339518 92.—種電腦可讀取儲存媒體,其實體上内含一程式, 其中之指令可由一電腦執行,以執行用來產生並傳送包含 一 ACK訊息之一點對點協定訊息之步驟,該ACK訊息包 含一接收訊息之確收及該接收訊息之確收成功處理中的其 中一者,且該等步驟包含: 產生用於一點對點名稱解析協定(PNRP)之一 ACK訊息 資料結構,包括:
產生一第一訊息欄位,包含一 PNRP標頭訊息元件; 產生一第二訊息欄位,包含一已確收PNRP標頭訊息元 件;以及 將該A C K訊息資料結構併入該點對點協定訊息而一併 傳送。 93.如申請專利範圍第92項之電腦可讀取儲存媒體,其 尹每一訊息元件包括一訊息資料結構,該訊息資料結構包 括一欄位辨識攔位、一長度欄位與一承載。
9 4.如申請專利範圍第93項之電腦可讀取儲存媒體,其 中該已確收PNRP標頭訊息元件之該承載包括一正被確收 訊息之一訊息識別。 95.—種電腦可讀取儲存媒體,其實體上内含一程式, 其中之指令可由一電腦執行,以執行用來產生並傳送包含 一 REPAIR訊息之一點對點協定訊息之步驟,該REPAIR 94 1339518 訊息包含判定網路雲是否分裂且需要修復之一請求,且該 等步驟包含: 產生用於一點對點名稱解析通訊協定(PNRP)之一 REPAIR訊息資料結構,其至少包括: 產生一第一訊息欄位,其係包含一 PNRP標頭訊息元 件;
產生一第二訊息欄位,其係包含一標的PNRP識別訊息 元件; 產生一第三訊息攔位,其係包含一快取層訊息元件; 產生一第四訊息欄位,其係包含一 IP V 6端點訊息元件; 將該REPAIR訊息資料結構併入該點對點協定訊息而一 併傳送。 9 6.如申請專利範圍第95項之電腦可讀取儲存媒體,其 中每一訊息元件包括一訊息資料結構,該訊息資料結構包 括一襴位辨識欄位、一長度欄位與一承載。 9 7.如申請專利範圍第96項之電腦可讀取儲存媒體,其 中該標的PNRP識別訊息元件之該承載包括一標的點之一 點名稱雜湊以及自一已公告服務位址所衍生出之一服務位 置。 98.如申請專利範圍第96項之電腦可讀取儲存媒體,其 中該快取層訊息元件之該承載包括一快取層數字,藉以當 95 1339518 執行一修復時辨識使用哪一快取層。 9 9. 一種在一點對點網路中對一第一節點提供點節點識 別之方法,其包含以下步驟:
在一第二節點接收來自請求PNRP IDs之該第一節點的 一 SOLICIT訊息,其中該SOLICIT訊息至少包括一標頭訊 息元件及一雜凑後的目前標諸訊息元件(nonce message element ); 在該第二節點產生一 ADVERTISE 訊息,其_該 ADVERTISE訊息至少包括一已確收標頭訊息元件、該雜湊 後的目前標誌訊息元件、及一 PNRP 1D陣列訊息元件,且 其中該PNRP ID陣列訊息元件包括自該第二節點的一快取 中之PNRP ID清單的一分散式選擇;以及 將該ADVERTISE訊息傳送至該第一節點。 96
TW093113978A 2003-06-13 2004-05-18 Peer-to-peer name resolution wire protocol and message format data structure for use therein TWI339518B (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
TW200503475A TW200503475A (en) 2005-01-16
TWI339518B true TWI339518B (en) 2011-03-21

Family

ID=33299879

Family Applications (2)

Application Number Title Priority Date Filing Date
TW097101702A TWI379548B (en) 2003-06-13 2004-05-18 Peer-to-peer name resolution wire protocol and message format data structure for use therein
TW093113978A TWI339518B (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
TW097101702A TWI379548B (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) EP1487180B1 (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) TWI379548B (zh)
ZA (1) ZA200403431B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI510956B (zh) * 2012-05-01 2015-12-01 Harris Corp 交換器及用於在將複數個裝置連接至動態電腦網路之交換器中使用之方法
US9578494B2 (en) 2012-02-24 2017-02-21 Samsung Electronics Co., Ltd. Method and apparatus for allocating IP address in wireless communication network

Families Citing this family (66)

* 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
WO2003015377A1 (en) * 2001-08-04 2003-02-20 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content 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
US7640329B2 (en) * 2005-02-15 2009-12-29 Microsoft Corporation Scaling and extending UPnP v1.0 device discovery using peer groups
US7647394B2 (en) * 2005-02-15 2010-01-12 Microsoft Corporation Scaling UPnP v1.0 device eventing using peer groups
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
US7493413B2 (en) * 2005-03-15 2009-02-17 Microsoft Corporation APIS to build peer to peer messaging applications
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
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
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
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
WO2006120530A2 (en) * 2005-05-06 2006-11-16 Nokia Corporation Mechanism to discover 802.21 remote events and information services
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
EP2321983B1 (en) * 2008-09-04 2018-05-09 Trilliant Networks, Inc. Method for implementing mesh network communications using a mesh network protocol
WO2010033732A1 (en) * 2008-09-17 2010-03-25 Vuze, Inc. Associative construction 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
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
JP2016501463A (ja) * 2012-11-12 2016-01-18 アルカテル−ルーセント 管理アクションが仮想シャーシの分割をトリガーするという警告を発行するかどうかが決定される、ネットワークノード、および仮想シャーシシステム内で動作可能であるノードにおける方法
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
EP4030738A1 (en) * 2018-03-16 2022-07-20 Acklio Method and apparatus for processing message data
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
US7068789B2 (en) * 2001-09-19 2006-06-27 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group 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
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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9578494B2 (en) 2012-02-24 2017-02-21 Samsung Electronics Co., Ltd. Method and apparatus for allocating IP address in wireless communication network
TWI584624B (zh) * 2012-02-24 2017-05-21 三星電子股份有限公司 在無線通訊網路中配置ip位址的方法與設備
US9894516B2 (en) 2012-02-24 2018-02-13 Samsung Electronics Co., Ltd. Method and apparatus for allocating IP address in wireless communication network
US10397773B2 (en) 2012-02-24 2019-08-27 Samsung Electronics Co., Ltd. Method and apparatus for allocating IP address in wireless communication network
US11284248B2 (en) 2012-02-24 2022-03-22 Samsung Electronics Co., Ltd. Method and apparatus for allocating IP address in wireless communication network
TWI510956B (zh) * 2012-05-01 2015-12-01 Harris Corp 交換器及用於在將複數個裝置連接至動態電腦網路之交換器中使用之方法

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI339518B (en) Peer-to-peer name resolution wire protocol and message format data structure for use therein
US10469513B2 (en) Encrypted network addresses
EP2959632B1 (en) Augmenting name/prefix based routing protocols with trust anchor in information-centric networks
RU2320008C2 (ru) Защитная инфраструктура и способ для протокола разрешения равноправных имен (pnrp)
KR101330392B1 (ko) 분산 저장 네트워크에서 데이터 인가를 위한 네트워크 노드 및 방법
US9130756B2 (en) Managing secure content in a content delivery network
JP5144685B2 (ja) 移動ネットワークにおけるシグナリング委任
JP2006236349A (ja) ピアツーピアネットワーク情報
JP2006236349A5 (zh)
KR20160027910A (ko) Ccn 파이프라인 스트림의 신뢰도있는 컨텐츠 교환 방법 및 시스템
EP2276206B1 (en) A method, device and communication system for managing and inquiring mapping information
Rogers Orthus v2 Authentication Protocol Enhancement, and Supporting Enterprise Architecture
JP2006246240A (ja) 階層符号化データ転送方法

Legal Events

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