隨著網絡設備爆發式增長,P2P 計算成為主流趨勢。文件共享、分布式計算、即時通訊等應用雖然場景不同,但都依賴節點發現、搜索、數據傳輸等核心機制。傳統開發模式下,開發者重複造輪子,且應用間難以互通。JXTA 應運而生,旨在提供一套語言無關、平台無關、傳輸協議無關的開放 P2P 協議套件,讓手機、PDA、PC、伺服器等任意設備皆能作為對等節點互聯互通。
JXTA 定義了一套標準化的 P2P 協議,涵蓋:
所有網絡資源均以 XML 廣告文檔描述,拋棄中心化 DNS,採用管道→節點→端點的抽象映射,並為每個節點分配全局唯一 ID。
| 層級 | 職責 | 典型組件 |
|---|---|---|
| 平台層 (核心) | 封裝 P2P 必備基礎設施:發現、傳輸、節點/群組創建、安全基元 | JXTA Core |
| 服務層 | 常見但非強制的網絡服務 | 搜索、索引、存儲、文件共享、分布式文件系統、協議轉換、PKI |
| 應用層 | 面向用戶的整合服務 | P2P 即時通訊、文檔共享、P2P Email、分布式拍賣 |
服務層與應用層界限模糊,整體採模組化設計,開發者可按需組裝。
節點通過 XML 廣告發布服務,自組織形成群組提供文檔共享、聊天等服務。群組內節點共享一組協議與服務。
管道是異步、單向的訊息傳輸通道,綁定至特定端點(類比 TCP 的 IP:Port)。訊息為封裝路由、摘要、認證信息的 XML 文檔。
下篇將深入探討 JXTA 協議細節、廣告格式、管道綁定流程及安全模型,並給出 Java 綁定的實戰代碼示例。敬請期待。