專利名稱:IPv4與IPv6共存網(wǎng)絡(luò)中的P2P通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)通信技術(shù),尤其涉及一種IPv4與IPv6共存網(wǎng)絡(luò)中對等 聯(lián)網(wǎng)(P2P, Peer-to-Peer,又稱"點對點")通信方法。
背景技術(shù):
IPv4,是Internet協(xié)議第4版的簡稱,IPv4為傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議 (TCP/IP)族和互聯(lián)網(wǎng)提供了基本的通信機制,但隨著互聯(lián)網(wǎng)在全球的普及, IPv4的32位的地址空間開始枯竭,為解決IPv4存在的諸多缺陷,譬如,端到 端1P連接、服務(wù)質(zhì)量(QoS)、安全性、多播、移動性、即插即用等。提出了 IPv6,即Internet協(xié)議第6版。所述IPv6是下一代互聯(lián)網(wǎng)的協(xié)議。與IPv4相比, 1Pv6主要有如下一些優(yōu)勢第一,明顯地擴大了地址空間。由于IPv6采用128 位地址長度,幾乎可以不受限制地提供IP地址,因而確保了端到端連接的可能 性。第二,提高了網(wǎng)絡(luò)的整體吞吐量。由于IPv6的數(shù)據(jù)包可以遠遠超過64k字 節(jié),應(yīng)用程序可以利用最大傳輸單元(MTU),獲得更快、更可靠的數(shù)據(jù)傳輸, 同時在設(shè)計上改進了選路結(jié)構(gòu),采用簡化的報頭定長結(jié)構(gòu)和更合理的分段方法, 使路由器加快數(shù)據(jù)包處理速度,提高了轉(zhuǎn)發(fā)效率,從而提高網(wǎng)絡(luò)的整體吞吐量。
P2P通信是互聯(lián)網(wǎng)通信方式的一種,它不同于傳統(tǒng)客戶端/服務(wù)器(C/S) 模式中客戶端從服務(wù)器獲取資源的模式,其中的節(jié)點(Peer)可從多點獲取資 源,并共享自身已有資源。P2P通信技術(shù)能夠用于文件共享、即時通訊、文件 交換以及分布式計算等方面。目前存在的P2P技術(shù)和應(yīng)用絕大多數(shù)是基于IPv4 協(xié)議架構(gòu)的,也有少數(shù)針對IPv6網(wǎng)絡(luò),如,當前互聯(lián)網(wǎng)中P2P流量。
由于目.前IPv4網(wǎng)絡(luò)存在著地址空間不足的問題,通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT ) 等技術(shù)雖然可以暫時減緩地址消耗的影響,但是并不能從根本上解決地址分配的困境?,F(xiàn)在以IPv6為核心的下 一代互聯(lián)網(wǎng)協(xié)議已從研究階段走向?qū)嵱秒A段。 早在上世紀90年代中期,互聯(lián)網(wǎng)工程任務(wù)組(IETF, The Internet Engineering Task Force)就開始進行IPv6的研究,與IPv4的32位地址長度相比,IPv6的128 位地址長度足夠為世界上每一個用戶分配一個全球唯一的IP地址。此外IPv6 還能夠?qū)Π踩?、移動性、服?wù)質(zhì)量等方面提供更好的支持,因此互聯(lián)網(wǎng)由現(xiàn) 有的IPv4全面過渡到IPv6已成為網(wǎng)絡(luò)發(fā)展的必然趨勢。
在IPv6出現(xiàn)后,人們通常認為互聯(lián)網(wǎng)協(xié)議的發(fā)展會經(jīng)歷三個階段 第一個階段IPv6的推廣期。此時,IPv4仍然是互聯(lián)網(wǎng)的核心協(xié)議,用戶 多數(shù)為IPv4用戶,同時會有一部分使用IPv6的接入網(wǎng)絡(luò)和用戶;
第二個階段IPv6的發(fā)展期。這時存在IPv4和IPv6兩個核心網(wǎng),兩個網(wǎng)
絡(luò)的規(guī)模和用戶相當;
第三個階段IPv6的成熟期。這時的IPv6已經(jīng)成為互聯(lián)網(wǎng)的核心協(xié)議,且 網(wǎng)絡(luò)中用戶多數(shù)通過IPv6網(wǎng)絡(luò)接入,但是還存在部分使用IPv4接入的網(wǎng)絡(luò)和用戶。
由于目前的互聯(lián)網(wǎng)還處于IPv6發(fā)展的第一個階段,現(xiàn)有的IPv4網(wǎng)絡(luò)具備 相當?shù)囊?guī)模,為保護現(xiàn)有設(shè)備和投資,網(wǎng)絡(luò)不可能一次性地更替到工Pv6,因此, 全面過渡到IPv6將是一個長期的過程,眼下只有做好IPv4和IPv6網(wǎng)絡(luò)的技術(shù) 融合,才能實現(xiàn)平穩(wěn)過渡。
但是,按照現(xiàn)有的P2P通信方式,在目前IPv4與IPv6共存環(huán)境下一個IPv6 的Peer是無法與網(wǎng)絡(luò)中眾多的IPv4的Peer進行通信以獲取資源的。這種網(wǎng)絡(luò) 互通間的障礙會極大打擊IPv6用戶的積極性,因而將會影響IPv6協(xié)議的推廣。
有鑒于此,本發(fā)明的主要目的在于提供一種IPv4與IPv6共存網(wǎng)絡(luò)中的P2P 通信方法,包括一種IPv6網(wǎng)絡(luò)主動向IPv4網(wǎng)絡(luò)推銷自身已有網(wǎng)絡(luò)資源的P2P 資源共享方法,用來解決IPv4與IPv6共存環(huán)境中,不同版本IP協(xié)議的Peer 之間無法進行P2P通信的問題,以及進一步提高不同版本IP協(xié)議間的網(wǎng)絡(luò)資源的利用率。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
一種互聯(lián)網(wǎng)協(xié)議第四版IPv4與第六版IPv6共存網(wǎng)絡(luò)中的對等網(wǎng)絡(luò)P2P通 信系統(tǒng),包括種子服務(wù)器、對等端節(jié)點Peer,該系統(tǒng)還包括索引服務(wù)器Tracker、 以及IPv4/IPv6路由器;其中,
種子服務(wù)器,用于為P2P通信系統(tǒng)中的用戶提供資源種子下載服務(wù);
對等端節(jié)點Peer,用于運行IPv4或運行IPv6;
索引服務(wù)器Tracker,具有IPv4和IPv6雙協(xié)議棧服務(wù)功能,用于雙棧節(jié)點 訪問業(yè)務(wù)時支持通過域名解析服務(wù)DNS解析結(jié)果選擇合適的通信協(xié)議棧; IPv4/IPv6路由器,用于提供網(wǎng)絡(luò)地址轉(zhuǎn)換-端口轉(zhuǎn)換NAT-PT功能。 一種IPv4與IPv6共存網(wǎng)絡(luò)中的P2P通信方法,該方法包括
A、 索引服務(wù)器運行Tracker,節(jié)點IPv4 Peer和IPv6 Peer從種子服務(wù)器獲 取種子文件,并從所述種子文件中提取Tracker服務(wù)器信息,所述IPv6 Peer根 據(jù)所述服務(wù)器信息向所述Tracker發(fā)起注冊請求,收到所述注冊請求消息后 Tracker保留該信息,并將鄰居節(jié)點返回給IPv6 Peer,所述鄰居節(jié)點中包含IPv4 Peer的節(jié)點標識、IP地址和對等通信端口;
B、 所述IPv6 Peer向所述IPv4 Peer發(fā)起握手請求消息,利用所述IPv4/IPv6 路由器進行IPv4與IPv6之間的地址轉(zhuǎn)換,并保存相關(guān)映射項,所述IPv4通過 IPv4/IPv6路由器返回IPv4應(yīng)答消息,建立IPv6 Peer與IPv4 Peer的握手交互聯(lián) 系;
C 、 IPv6 Peer與IPv4 Peer進行資源交互。
其中,步驟C之后進一步包括所述Tracker與其他Peer之間保持信息同 步,直至所述IPv6 Peer從所述IPv4 Peer得到的資源傳送完畢;進一步包括 在Tracker與各個Peer之間進行同步的過程中,Peer下載者每隔 一 段時間會連 一次Tracker,告知自身的進度,并和那些已經(jīng)直接連接上的Peer進行數(shù)據(jù)的 上傳下載;所述Tracker實時接收所有下載者信息,并且給每個下載者返回一份 隨機的peer列表,所述IPv6 Peer依據(jù)所述Peer列表完成P2P通信。步驟B所述建立IPv6 Peer與IPv4 Peer的握手交互聯(lián)系的過程如下 Bl、所述IPv6 Peer向所述IPv4 Peer發(fā)起握手請求消息,所述IPv6 Peer 在收到來自Tracker的有關(guān)IPv4 Peer的信息后,所述IPv6 Peer生成IPv6形式
的握手請求消息;
B2、通過IPv4/IPv6路由器完成地址轉(zhuǎn)換并保存相關(guān)的映射項。當IPv6 Peer 發(fā)出的IPv6握手消息到達所述IPv4/IPv6路由器,所述路由器根據(jù)收到的IPv6 握手消息的目的IP地址查找路由表,得到該握手消息應(yīng)該發(fā)往的IPv4網(wǎng)絡(luò), 由IPv4/IPv6路由器査看保存的地址映射表,若沒有發(fā)現(xiàn)有關(guān)該IPv6 Peer的地 址記錄,則先為IPv6 Peer新分配 一 個IPv4地址;若存在有關(guān)該IPv6 Peer的地 址記錄,通過地址映射表獲得對應(yīng)的IPv4地址。IPv4/IPv6路由器將所述IPv6 握手消息轉(zhuǎn)換成一個IPv4握手消息,并送到IPv4網(wǎng)絡(luò);
B3 、所述IPv4 Peer處理并應(yīng)答來自IPv6的請求消息;當IPv4 Peer收到來 自IPv6 Peer的握手消息后,IPv4 Peer讀取握手消息中的IPv6 Peer節(jié)點標識。 IPv4 Peer更新本機得到的鄰居節(jié)點中與該IPv6 Peer節(jié)點標識對應(yīng)的項;將所得 到IPv6 Peer的IPv6地址更新為所收到的IPv4請求消息中的源IP地址;將所得 到IPv6 Peer的端口更新為所收到的IPv4請求消息中的源端口 ,所述IPv4 Peer 構(gòu)建IPv4應(yīng)答消息,由所述IPv4 Peer向所述IPv6 Peer發(fā)送構(gòu)建好的IPv4應(yīng) 答消息;
B4、 IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4應(yīng)答消息,IPv4 Peer發(fā)出的IPv4應(yīng) 答消息到達IPv4/IPv6路由器后,所述IPv4/IPv6路由器根據(jù)收到的IPv4應(yīng)答消 息的目的IP地址查找路由表,確定所述應(yīng)答消息中攜帶的HV6主機信息; IPv4/IPv6路由器查看保存的地址映射表,并找到所述IPv6 Peer的映射項; IPv4/IPv6路由器將這個IPv4應(yīng)答消息轉(zhuǎn)換成一個IPv6應(yīng)答消息,IPv4/IPv6路 由器將所述IPv6的應(yīng)答消息發(fā)往IPv6網(wǎng)絡(luò),所述IPv6 Peer接收應(yīng)答消息。 步驟C所述IPv6 Peer與IPv4 Peer進行資源交互具體包括 IPv6 Peer發(fā)起資源請求消息;IPv4/IPv6路由器完成地址轉(zhuǎn)換;IPv4 Peer 處理并應(yīng)答來自IPv6 Peer的資源請求消息;IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4資源應(yīng)答消息;IPv6 Peer接收IPv6資源應(yīng)答消息。
一種IPv6網(wǎng)絡(luò)主動向IPv4網(wǎng)絡(luò)推銷網(wǎng)絡(luò)資源的P2P通信方法,該方法包
括
a、 索引服務(wù)器運行Tracker,節(jié)點IPv4 Peer和IPv6 Peer從種子服務(wù)器獲取 種子文件,并從所述種子文件中提取Tracker服務(wù)器信息;所述IPv4Peer根據(jù) 所述服務(wù)器信息向所述Tracker發(fā)起注冊請求,收到所述注冊請求消息后Tracker 保留該信息,并將鄰居節(jié)點返回給IPv4 Peer;所述鄰居節(jié)點中包含IPv6 Peer 的節(jié)點標識、IP地址和對等通信端口;
b、 所述Tracker向所述IPv6 Peer發(fā)送IPv6形式的資源需求通知消息,由 所述IPv6 Peer接收并處理所述通知消息,所述IPv6 Peer與所述IPv4 Peer交互 握手信息,并發(fā)送一個IPv6形式的握手消息,所述IPv4/IPv6路由器完成地址 轉(zhuǎn)換并保存相關(guān)的映射項,并由所述IPv4 Peer處理并應(yīng)答來自IPv6 Peer的握 手消息,再通過所述IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4應(yīng)答消息到IPv6 Peer, 完成握手;
c 、 IPv4 Peer與IPv6 Peer進行資源交互。
其中,步驟c之后進一步包括所述Tracker與各個Peer之間進行信息同 步,具體為所述Peer下載者每隔一段時間連一次Tracker,告知自己的進度, 并和那些已經(jīng)直接連接上的Peer進行數(shù)據(jù)的上傳下載;Tracker即時接收所有 下載者信息,并且給每個下載者返回一份隨機的Peer列表。
步驟b所述IPv6 Peer接收并處理資源需求通知消息,具體為所述IPv6 Peer 收到來自Tracker的資源需求通知消息后,所述IPv6 Peer判斷自身的運行狀態(tài) 及資源情況,若無法提供,則不對資源需求通知消息做應(yīng)答;若lPv6Peer已有 的鄰居列表中沒有IPv4 Peer的信息,則在鄰居列表中增加IPv4 Peer項。
步驟b所述IPv6 Peer與所述IPv4 Peer交互握手信息,具體過程包括若 IPv6 Peer能夠為IPv4 Peer提供服務(wù),則IPv6 Peer生成并發(fā)送一個IPv6形式的 握手消息;其中,所述握手消息的分組頭部構(gòu)成情況如下所述握手請求消息 的目的IP地址為所述IPv4 Peer的IP地址加上IPv6 Peer所述IPv6網(wǎng)絡(luò)的前綴;該握手消息的源IP地址為該IPv6 Peer的本地地址;所述握手請求消息中還包 含IPv6 Peer的節(jié)點標識和任務(wù)標識。
步驟b所述IPv4/IPv6路由器完成地址轉(zhuǎn)換并保存相關(guān)的映射項并由所述 IPv4Peer處理并應(yīng)答來自IPv6 Peer的握手消息,具體為所述IPv4/IPv6路由 器根據(jù)收到的IPv6握手消息的目的IP地址查找路由表,得到該握手消息應(yīng)該 發(fā)往的IPv4網(wǎng)絡(luò),由IPv4/IPv6路由器査看保存的地址映射表,若沒有發(fā)現(xiàn)有 關(guān)該IPv6 Peer的地址記錄,則先為IPv6 Peer新分配一個IPv4地址;若存在有 關(guān)該IPv6 Peer的地址記錄,通過地址映射表獲得對應(yīng)的IPv4地址。IPv4/IPv6 路由器將所述IPv6握手消息轉(zhuǎn)換成一個IPv4握手消息,并送到IPv4網(wǎng)絡(luò);以 及
當IPv4 Peer收到來自IPv6 Peer的握手消息后,IPv4 Peer讀取握手消息中 的IPv6 Peer節(jié)點標識。IPv4Peer更新本機得到的鄰居節(jié)點中與該IPv6 Peer節(jié) 點標識對應(yīng)的項;將所得到IPv6 Peer的IPv6地址更新為所收到的IPv4請求消 息中的源IP地址;將所得到IPv6 Peer的端口更新為所收到的IPv4請求消息中 的源端口 ;所述IPv4 Peer構(gòu)建IPv4應(yīng)答消息,由所述IPv4 Peer向所述IPv6 Peer 發(fā)送構(gòu)建好的IPv4應(yīng)答消息。
本發(fā)明所提供的IPv4與IPv6協(xié)議共存網(wǎng)絡(luò)中的P2P通信方法,具有以下 優(yōu)點
本發(fā)明通過設(shè)置支持網(wǎng)絡(luò)地址轉(zhuǎn)化-端口轉(zhuǎn)換(NAT-PT)功能的IPv4/IPv6 的雙協(xié)議棧路由器,通過IPv4 Peer或IPv6 Peer下載P2P種子文件,并從所述 種子文件中提取Tracker服務(wù)器信息,IPv4 Peer或IPv6 Peer向Tracker服務(wù)器 注冊,得到鄰居節(jié)點信息,再由IPv6 Peer發(fā)起連接,建立與IPv4 Peer的握手 交互聯(lián)系,并通過所述路由器完成地址轉(zhuǎn)換,從而建立起IPv4 Peer與IPv6 Peer 的資源交互,實現(xiàn)IPv4與IPv6網(wǎng)絡(luò)的互通。采用本發(fā)明方法,不但解決了不 同版本IP協(xié)議之間的P2P通信問題,而且通過提供這種不同版本Peer間的通 信機制,對IPv6的推廣具有重要意義。
圖1為本發(fā)明實施例IPv6Peer與IPv4 Peer進行通信的網(wǎng)絡(luò)環(huán)境示意圖; 圖2為本發(fā)明IPv6 Peer向IPv4 Peer請求資源的信息交互過程示意圖; 圖3為本發(fā)明IPv4 Peer向IPv6 Peer請求資源的信息交互過程示意圖。
具體實施例方式
下面結(jié)合附圖及本發(fā)明的實施例對本發(fā)明的技術(shù)方案作進一步詳細的說明。
欲使IPv4 P eer與IPv6 Peer在IPv4和IPv6共存的網(wǎng)絡(luò)中進行通信,首先 需要建立IPv4 Peer與IPv6 Peer的網(wǎng)絡(luò)聯(lián)系,本發(fā)明以中心拓撲型P2P系統(tǒng)在 IPv4和IPv6共存的混合網(wǎng)絡(luò)中通信為例進行描述,同樣也適用于分布式等其他
形式的網(wǎng)絡(luò)。
這里,所述中心拓撲型P2P系統(tǒng),主要包括索引服務(wù)器(Tracker)、對等 端Peer和IPv4/IPv6路由器。其中,
所述種子服務(wù)器,用于為P2P通信系統(tǒng)中的用戶提供資源種子下載服務(wù)。 所述索引服務(wù)器(Tracker),具有IPv4和IPv6雙協(xié)議棧服務(wù)功能;這里, 所述雙協(xié)議棧服務(wù),是指同時支持IPv4協(xié)議棧和IPv6協(xié)議棧,雙協(xié)議棧節(jié)點 同時支持與IPv4和IPv6節(jié)點間通信,當與IPv4節(jié)點通信時需要采用IPv4協(xié)議 棧,當與IPv6節(jié)點通信時需要采用IPv6協(xié)議棧。雙棧節(jié)點訪問業(yè)務(wù)時支持通 過域名解析服務(wù)(DNS)解析結(jié)果選擇合適的通信協(xié)議棧。
所述對等端Peer,用于運行IPv4協(xié)議和IPv6協(xié)議中的一種。 所述IPv4/IPv6路由器,用于實現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換-端口轉(zhuǎn)換(NAT-PT)功能。 如果進行資源交換的 一對Peer運行相同版本的IP協(xié)議(IPv4或IPv6 ),則 二者可以通過通常的P2P協(xié)議直接進行通信;如果兩個Peer運行的IP協(xié)議版 本不同, 一個使用IPv6協(xié)議(記為IPv6 Peer),另 一個使用IPv4協(xié)議(記為IPv4 Peer),則不管IPv6 Peer是資源請求者還是資源提供者,IPv6 Peer與IPv4 Peer 的交互過程都由IPv6 Peer首先發(fā)起連接。所述具體IPv4 Peer與IPv6 Peer的通信,具體可分為兩種情況
(1 ) IPv6 Peer請求獲得IPv4 Peer的資源;
(2 ) IPv4 Peer請求獲得IPv6 Peer的資源。 下面分別對上述兩種情況進行說明,第一種情況
圖1為本發(fā)明實施例IPv6 Peer與IPv4 Peer進行通信的網(wǎng)絡(luò)環(huán)境示意圖, 如圖1所示,該IPv6網(wǎng)絡(luò)中的節(jié)點IPv6 Peer,為取得IPv4 Peer中的資源需要 與另 一個IPv4網(wǎng)絡(luò)中的節(jié)點IPv4 Peer進行通信。在所述通信過程中的消息流 交互如圖2所示,假設(shè)IPv6網(wǎng)絡(luò)中的一臺機器P6J,其IP為2001::9,需要通 過所述網(wǎng)絡(luò)下載文件;索引服務(wù)器返回的鄰居節(jié)點中包含IPv4網(wǎng)的節(jié)點P4j, 假設(shè)其IP為58.16.2.6。該通信過程主要包括如下步驟
步驟201:索引服務(wù)器端運行Tracker,節(jié)點IPv4 Peer和節(jié)點IPv6 Peer從
種子服務(wù)器獲取種子文件。
這里,所述Tracker是指運行于服務(wù)器上的一個程序,該程序能夠追蹤到一 個文件同時有多少人在下載。當客戶端連上Tracker服務(wù)器后,就會獲得一個下 載人員的列表,根據(jù)該列表P2P程序會自動連上別人的機器進行下載,別人的 機器就作為提供P2P下載業(yè)務(wù)的服務(wù)器。另外,將文件用P2P發(fā)布出來的人需 要知道該使用哪個服務(wù)器來為要發(fā)布的文件提供Tracker。由于有的P2P業(yè)務(wù)不 指定服務(wù)器,P2P程序則采用P2P文件來確定下載源。
步驟202:節(jié)點IPv4 Peer和節(jié)點IPv6 Peer從所述種子文件中提取Tracker 服務(wù)器信息,根據(jù)得到的Tracker服務(wù)器信息向Tracker發(fā)起注冊請求。
這里,所述IPv6 Peer的注冊消息中包含IPv6 Peer所使用的對等通信端口 。
例如,在圖2中,P6一l獲取種子文件后,根據(jù)種子文件的內(nèi)容向Tracker 發(fā)起請求,并告知Tracker本地端口 Port6」。
步驟203:所述Tracker收到IPv6 Peer的請求消息后,保存該IPv6 Peer的 信息,并將鄰居節(jié)點返回給IPv6 Peer,鄰居節(jié)點中包含IPv4 Peer的節(jié)點標識、 IP地址和對等通信端口等。
例如,在圖2中,所述Tracker返回鄰居節(jié)點給P6 1,其中包含一個IPv4的機器P4一l。
步驟204:所述IPv6 Peer與所述IPv4 Peer進行握手交互。 步驟205:所述IPv6 Peer向所述IPv4 Peer發(fā)起握手請求消息,并在收到來 自Tracker的有關(guān)IPv4 Peer的信息后,IPv6 Peer生成IPv6形式的握手請求消息。 這里,所述握手請求消息的目的IP地址為所述IPv4 Peer的IP地址加上IPv6 Peer在IPv6網(wǎng)絡(luò)的前綴;該握手請求消息的目的端口為所述IPv4 Peer的對等 通信端口;其中,握手請求消息中還包含IPv6Peer的節(jié)點標識和任務(wù)標識。
如圖2所示,P6一l向P4—l發(fā)握手消息,本地端口號為Port6_l,消息中包 含P6—1的節(jié)點標識。
步驟206: IPv4/IPv6路由器完成地址轉(zhuǎn)換并保存相關(guān)的映射項。 具體為,IPv6 Peer發(fā)出的IPv6握手消息到達IPv4/IPv6路由器,所述 IPv4/IPv6路由器根據(jù)收到的IPv6握手消息的目的IP地址査找路由表,得到該 握手消息應(yīng)該發(fā)往的IPv4網(wǎng)絡(luò),由IPv4/IPv6路由器查看保存的地址映射表, 若沒有發(fā)現(xiàn)有關(guān)該IPv6 Peer的地址記錄,則先為IPv6 Peer新分配一個IPv4地 址;若存在有關(guān)該IPv6 Peer的地址記錄,通過地址映射表獲得對應(yīng)的IPv4地 址。1Pv4/IPv6路由器將所述IPv6握手消息轉(zhuǎn)換成一個IPv4握手消息,并送到 IPv4網(wǎng)絡(luò)。
這里,所述轉(zhuǎn)換成IPv4握手消息的目的IP地址為所述收到的IPv6握手消 息中的目的IP地址去除前述步驟中所添加的IPv6網(wǎng)絡(luò)的前綴。
所述轉(zhuǎn)換成的IPv4握手消息的目的端口為收到的IPv6握手消息中的目的 端口 。然后從NAT-PT地址池中選擇一個IPv4地址和端口 ,替換收到的IPv6 握手消息的源IPv6地址和端口 。
所述IPv6的路由器將IPv6地址與IPv4地址的映射關(guān)系保存到NAT-PT映 射表中,該IPv4/IPv6路由器將所述通過轉(zhuǎn)換得到的IPv4握手消息發(fā)送到IPv4 網(wǎng)絡(luò)。
具體為路由器R6做IPv6和IPv4的NAT-PT地址轉(zhuǎn)換-端口轉(zhuǎn)換,把2001 ::9 端口 Port6_l轉(zhuǎn)換為一個IPv4的地址和端口,如52.10.7.5:PortNAT,并記錄住這個轉(zhuǎn)換;路由器R6重新封包成IPv4協(xié)議,通過骨干網(wǎng)發(fā)送到P4—1。 步驟207:所述IPv4 Peer處理并應(yīng)答來自IPv6 Peer的請求消息。 這里,當IPv4 Peer收到來自IPv6 Peer的握手消息后,IPv4 Peer讀取握手 消息中的IPv6 Peer節(jié)點標識。IPv4Peer更新本機得到的鄰居節(jié)點中與該IPv6 Peer節(jié)點標識對應(yīng)的項;將所得到IPv6 Peer的IPv6地址更新為所收到的IPv4 請求消息中的源IP地址;將所得到IPv6 Peer的端口更新為所收到的IPv4請求 消息中的源端口。
在圖2中,P4一l讀取出握手協(xié)議中的P6—1節(jié)點標識,更新鄰居節(jié)點矩陣 中對應(yīng)的節(jié)點IP端口對為52.10.7.5: PortNAT。 Tracker后續(xù)發(fā)過來的2001::9: Port6—1就當作是52.10.7.5:PortNAT,以后P4_l對P6—1的訪問都基于這個地址
步驟208:所述IPv4 Peer構(gòu)建IPv4應(yīng)答消息,由所述IPv4 Peer向所述IPv6
Peer發(fā)送構(gòu)建好的IPv4應(yīng)答消息。
這里,所述應(yīng)答消息,包括構(gòu)建的IPv4應(yīng)答消息的目的IP地址為所述收
到的IPv4請求消息中源IP地址;
構(gòu)建的IPv4應(yīng)答消息的目的端口為所述收到的IPv4請求消息中的源端口 ; 構(gòu)建的IPv4應(yīng)答消息的源IP地址為所收到的IPv4請求消息中目的IP地址 (即IPv4 Peer本身的IP地址);
構(gòu)建的IPv4應(yīng)答消息的源端口為所述收到的IPv4請求消息中的目的端口 。
步驟209: IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4應(yīng)答消息。
具體為IPv4 Peer發(fā)出的IPv4應(yīng)答消息到達IPv4/IPv6路由器后,IPv4/IPv6
路由器根據(jù)收到的IPv4應(yīng)答消息的目的IP地址查找路由表,確定所述應(yīng)答消
息中攜帶的IPv6主機信息。IPv4/IPv6路由器查看保存的地址映射表,并找到
所述IPv6 Peer的映射項。
步驟210: IPv4/IPv6路由器將這個IPv4應(yīng)答消息轉(zhuǎn)換成一個IPv6應(yīng)答消息。
這里,所述轉(zhuǎn)換過程包括轉(zhuǎn)換成的IPv6應(yīng)答消息的目的IP地址為所述IPv6 Peer的IPv6地址;轉(zhuǎn)換成的IPv6應(yīng)答消息的目的端口為所述IPv6 Peer的 端口 ;轉(zhuǎn)換成的IPv6應(yīng)答消息的源IP地址為路由器收到的IPv4應(yīng)答消息中的 源IP地址加上IPv6網(wǎng)絡(luò)的前綴;轉(zhuǎn)換成的IPv6應(yīng)答消息的源端口為路由器收 到的IPv4應(yīng)答消息中的源端口 。
步驟211: IPv4/IPv6路由器將所述IPv6的應(yīng)答消息發(fā)往IPv6網(wǎng)絡(luò),所述 IPv6 Peer接收應(yīng)答消息。
步驟212:所述IPv6 Peer與所述IPv4 Peer進行資源交互。 這里,所述資源交互的過程為IPv6 Peer發(fā)起資源請求消息;IPv4/IPv6路 由器完成地址轉(zhuǎn)換;IPv4 Peer處理并應(yīng)答來自IPv6 Peer的資源請求消息; IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4資源應(yīng)答消息;IPv6 Peer接收IPv6資源應(yīng)答 消息。
在圖2中,P6一l向P4—l發(fā)下載分段的請求,P4_l已經(jīng)能正常進行響應(yīng)。 步驟213:所述Tracker與各個Peer之間進行信息同步,直至所述IPv6 Peer 從所述IPv4 Peer得到的資源傳送完畢。
這里,在Tracker與各個Peer之間進行同步的過程中,peer下載者每隔一 段時間會連一次Tracker,告知自己的進度,并和那些已經(jīng)直接連接上的peer 進行數(shù)據(jù)的上傳下載。所述Tracker實時接收所有下載者信息,并且給每個下載 者返回 一份隨機的peer列表,所述IPv6 Peer通過所述Peer列表即可完成P2P 通信。
下面對IPv4 Peer與IPv6 Peer的進行通信的第二種情況進行說明 仍以圖1所述的IPv6 Peer與IPv4 Peer進行通信的網(wǎng)絡(luò)環(huán)境示意圖為例, 對IPv4 Peer請求獲得IPv6 Peer的資源的過程進行說明。圖3為本發(fā)明IPv4 Peer 向IPv6 Peer請求資源的信息交互過程示意圖,如圖3所示,假設(shè)IPv4網(wǎng)絡(luò)中 的一臺機器P4—1,其IP為58.16.2.6,需要在所述網(wǎng)絡(luò)中下載文件;設(shè)索引服 務(wù)器返回的鄰居節(jié)點包含IPv6網(wǎng)絡(luò)的節(jié)點P6—1,其IP為2001::9。則IPv4 Peer 向IPv6 Peer請求資源時的信息流交互過程如下
步驟301:索引服務(wù)器端運行Tracker,節(jié)點IPv4 Peer和節(jié)點IPv6 Peer獲取種子文件。
步驟302:節(jié)點IPv4 Peer和節(jié)點IPv6 Peer從所述種子文件中提取Tracker 服務(wù)器信息,根據(jù)得到的Tracker服務(wù)器信息向Tracker發(fā)起請求。
所述IPv4 Peer的請求消息中包含IPv4 Peer所使用的對等通信端口等信息。
例如,在圖3中,P4一l獲取種子文件,根據(jù)種子文件的內(nèi)容向Tracker發(fā) 起請求,并告知Tracker本地端口 Port4_ 1 。
步驟303:所述Tracker收到IPv4 Peer的請求消息后,Tracker將該IPv4 Peer 的信息保存,并將鄰居節(jié)點返回給IPv4 Peer。所述鄰居節(jié)點中包含IPv6 Peer 的節(jié)點標識、IP地址和對等通信端口等信息。
步驟304:所述Tracker向所述IPv6 Peer發(fā)送IPv6形式的資源需求通知消
自
'、、o
這里,所述資源需求通知消息的目的IP地址為所述IPv6Peer的IP地址; 資源需求通知消息的源IP地址為Tracker服務(wù)器的IPv6地址; 資源需求通知消息中包含所述IPv4 Peer的信息。所述IPv4 Peer信息包括 IPv4 Peer節(jié)點標識、IPv4 Peer的IP地址及對等通信端口等信息。
如圖3所示,Tracker返回鄰居節(jié)點給P4—1 ,其中包含 一 個IPv6的機器P6—1, 于是Tracker通知P6—1有一個IPv4的機器P4_l準備下載它的資源。 步驟305:所述IPv6 Peer接收并處理資源需求通知消息。 這里,所述IPv6 Peer接收并處理資源需求通知,具體為所述IPv6 Peer 收到來自Tracker的資源需求通知消息后,所述IPv6 Peer判斷自身的運行狀態(tài) 及資源情況,若無法提供,則不對資源需求通知消息做應(yīng)答;若lPv6Peer已有 的鄰居列表中沒有IPv4 Peer的信息,則在鄰居列表中增加IPv4Peer項。 步驟306:所述IPv6 Peer與所述IPv4 Peer交互握手信息。 這里,所述IPv6 Peer與所述IPv4 Peer交互握手信息,具體為若IPv6 Peer 能夠為IPv4 Peer提供服務(wù),則IPv6 Peer生成并發(fā)送一個IPv6形式的握手消息。 其中,所述握手消息的分組頭部構(gòu)成情況如下
所述握手請求消息的目的IP地址為所述IPv4 Peer的IP地址加上IPv6 Peer所述IPv6網(wǎng)絡(luò)的前綴;該握手消息的源IP地址為該IPv6Peer的本地地址;所 述握手請求消息中還包含IPv6 Peer的節(jié)點標識和任務(wù)標識。
如圖3所示,P6_l主動向P4_l發(fā)一個握手消息,本地端口號為Port6—1, 消息中包含P6一1的節(jié)點標識。
步驟307: IPv4/IPv6路由器完成地址轉(zhuǎn)換并保存相關(guān)的映射項。
這里,所述地址轉(zhuǎn)換過程,具體為所述IPv4/IPv6路由器根據(jù)收到的IPv6 握手消息的目的IP地址查找路由表,得到該握手消息應(yīng)該發(fā)往的IPv4網(wǎng)絡(luò), 由IPv4/IPv6路由器查看保存的地址映射表,若沒有發(fā)現(xiàn)有關(guān)該IPv6 Peer的地 址記錄,則先為IPv6 Peer新分配一個IPv4地址;若存在有關(guān)該IPv6 Peer的地 址記錄,通過地址映射表獲得對應(yīng)的IPv4地址。IPv4/IPv6路由器將所述IPv6 握手消息轉(zhuǎn)換成一個IPv4握手消息,并送到IPv4網(wǎng)絡(luò)。
這里,所述轉(zhuǎn)換成IPv4握手消息的目的IP地址為所述收到的IPv6握手消 息中的目的IP地址去除前述步驟中所添加的IPv6網(wǎng)絡(luò)的前綴。
所述轉(zhuǎn)換成的IPv4握手消息的目的端口為收到的IPv6握手消息中的目的 端口 。然后從NAT-PT地址池中選擇一個IPv4地址和端口 ,替換收到的IPv6 握手消息的源IPv6地址和端口。
所述IPv6的路由器將IPv6地址與IPv4地址的映射關(guān)系保存到NAT-PT映 射表中,該IPv4/IPv6路由器將所述通過轉(zhuǎn)換得到的IPv4握手消息發(fā)送到IPv4 網(wǎng)絡(luò)。
如圖3所示,邊緣路由器R6做IPv6和IPv4的NAT地址轉(zhuǎn)換,2001::9端 口號Port6—1轉(zhuǎn)換為一個IPv4的地址和端口 ,如52.10.7.5: PortNAT,并記錄 住這個轉(zhuǎn)化;R6重新封包成IPv4協(xié)議,通過骨干網(wǎng)發(fā)送到P4_l。 步驟308:所述IPv4 Peer處理并應(yīng)答來自IPv6 Peer的握手消息。 這里,當IPv4 Peer收到來自IPv6 Peer的握手消息后,IPv4 Peer讀取握手 消息中的IPv6 Peer節(jié)點標識。IPv4Peer更新本機得到的鄰居節(jié)點中與該IPv6 Peer節(jié)點標識對應(yīng)的項;將所得到IPv6 Peer的IPv6地址更新為所收到的IPv4 請求消息中的源IP地址;將所得到IPv6 Peer的端口更新為所收到的IPv4請求消息中的源端口。
所述IPv4 Peer構(gòu)建IPv4應(yīng)答消息,由所述IPv4 Peer向所述IPv6 Peer發(fā) 送構(gòu)建好的IPv4應(yīng)答消息。其中,所述應(yīng)答消息,包括構(gòu)建的IPv4應(yīng)答消息 的目的IP地址所述收到的IPv4請求消息中源IP地址;構(gòu)建的IPv4應(yīng)答消息的 目的端口為所述收到的IPv4請求消息中的源端口;構(gòu)建的IPv4應(yīng)答消息的源 IP地址為所收到的IPv4請求消息中目的IP地址(即IPv4 Peer本身的IP地址); 構(gòu)建的IPv4應(yīng)答消息的源端口為所述收到的IPv4請求消息中的目的端口 。
如圖3所示,P4—1讀取出握手協(xié)議中的P6一l的節(jié)點標識,更新鄰居節(jié)點 矩陣中對應(yīng)的節(jié)點IP地址對(2001::9: Port6—1 )為52.10.7.5: PortNAT。此后 P4—1對P6J的訪問都基于這個地址進行,Tracker后續(xù)發(fā)過來的2001::9:Port6—1 即作為52.10.7.5: PortNAT。
步驟309: IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4應(yīng)答消息。
這里,當IPv4 Peer發(fā)出的IPv4應(yīng)答消息到達IPv4/IPv6路由器后,IPv4/IPv6 路由器根據(jù)收到的IPv4應(yīng)答消息的目的IP地址查找路由表,確定所述應(yīng)答消 息中攜帶的IPv6主機信息。IPv4/IPv6路由器查看保存的地址映射表,并找到 所述IPv6 Peer的映射項。
然后,所述IPv4/IPv6路由器將這個IPv4應(yīng)答消息轉(zhuǎn)換成一個IPv6應(yīng)答消
自
、0
這里,所述轉(zhuǎn)換過程包括轉(zhuǎn)換成的IPv6應(yīng)答消息的目的IP地址為所述 IPv6 Peer的IPv6地址;轉(zhuǎn)換成的IPv6應(yīng)答消息的目的端口為所述IPv6 Peer的 端口 ;轉(zhuǎn)換成的IPv6應(yīng)答消息的源IP地址為路由器收到的IPv4應(yīng)答消息中的 源IP地址加上IPv6網(wǎng)絡(luò)的前綴;轉(zhuǎn)換成的IPv6應(yīng)答消息的源端口為路由器收 到的IPv4應(yīng)答消息中的源端口 。
IPv4/IPv6路由器將所述IPv6的應(yīng)答消息發(fā)往IPv6網(wǎng)絡(luò),所述IPv6 Peer 接收應(yīng)答消息。
如圖3所示,P4_l向52.10.7.5: PortNAT發(fā)握手應(yīng)答消息,邊緣路由器能 夠正確的把52.10.7.5: PortNAT轉(zhuǎn)發(fā)到P6—1,完成握手。步驟310: IPv4 Peer與IPv6 Peer進行資源交互。
這里,所述IPv4 Peer與IPv6 Peer資源交互的具體過程為IPv4 Peer發(fā)送 資源請求消息,IPv4/IPv6路由器完成地址轉(zhuǎn)換,IPv6 Peer處理并應(yīng)答來自IPv4 Peer的資源請求消息,IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv6資源應(yīng)答消息,IPv4 Peer接收IPv4資源應(yīng)答消息。
如圖3所示,P4_l向52.10.7.5: PortNAT發(fā)下載分段的請求,P6—1可以正 常進行響應(yīng)。
步驟311: Tracker與各個Peer之間進行信息同步。
這里,所述Peer下載者每隔一段時間連一次Tracker,告知自己的進度, 并和那些已經(jīng)直接連接上的Peer進行數(shù)據(jù)的上傳下載;Tracker即時接收所有 下載者信息,并且給每個下載者返回 一份隨機的Peer列表。
如圖3所示,所述Tracker即時接收所有下載者信息,并且給每個下載者返 回一份隨機的peer列表;此后peer下載者每隔一段時間連一次Tracker,告知 自身的進度,并和那些已經(jīng)直接連接上的peer進行數(shù)據(jù)的上傳下載業(yè)務(wù)。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1、一種互聯(lián)網(wǎng)協(xié)議第四版IPv4與第六版IPv6共存網(wǎng)絡(luò)中的對等聯(lián)網(wǎng)P2P通信系統(tǒng),包括種子服務(wù)器、對等端節(jié)點Peer,其特征在于,該系統(tǒng)還包括索引服務(wù)器Tracker、IPv4/IPv6雙協(xié)議棧服務(wù)器以及IPv4/IPv6路由器;其中,種子服務(wù)器,用于為P2P通信系統(tǒng)中的用戶提供資源種子下載服務(wù);對等端節(jié)點Peer,用于運行IPv4或運行IPv6;索引服務(wù)器Tracker,具有IPv4和IPv6雙協(xié)議棧服務(wù)功能,用于雙棧節(jié)點訪問業(yè)務(wù)時支持通過域名解析服務(wù)DNS解析結(jié)果選擇合適的通信協(xié)議棧;IPv4/IPv6路由器,用于提供網(wǎng)絡(luò)地址轉(zhuǎn)換-端口轉(zhuǎn)換NAT-PT功能。
2、 一種IPv4與IPv6共存網(wǎng)絡(luò)中的P2P通信方法,其特征在于,該方法包括A、 索引服務(wù)器運行Tracker,節(jié)點IPv4 Peer和IPv6 Peer從種子服務(wù)器獲 取種子文件,并從所述種子文件中提取Tracker服務(wù)器信息,所述IPv6Peer根 據(jù)所述服務(wù)器信息向所述Tracker發(fā)起注冊請求,收到所述注冊請求消息后 Tracker保留該信息,并將鄰居節(jié)點返回給IPv6 Peer,所述鄰居節(jié)點中包含IPv4 Peer的節(jié)點標識、IP地址和對等通信端口;B、 所述IPv6 Peer向所述IPv4 Peer發(fā)起握手請求消息,利用所述IPv4/IPv6 路由器進行IPv4與IPv6之間的地址轉(zhuǎn)換,并保存相關(guān)映射項,所述IPv4通過 IPv4/IPv6路由器返回IPv4應(yīng)答消息,建立IPv6Peer與IPv4 Peer的握手交互聯(lián)C 、 IPv6 Peer與IPv4 Peer進行資源交互。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟C之后進一步包括 所述Tracker與其他Peer之間保持信息同步,直至所述IPv6 Peer從所述IPv4 Peer 得到的資源傳送完畢;進一步包括在Tracker與各個Peer之間進行同步的過 程中,Peer下載者每隔一段時間會連一次Tmcker,告知自身的進度,并和那些 已經(jīng)直接連接上的Peer進行數(shù)據(jù)的上傳下載;所述Tracker實時接收所有下載者信息,并且給每個下載者返回一份隨機的peer列表,所述IPv6 Peer依據(jù)所 述Peer列表完成P2P通信。
4、根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟B所述建立IPv6 Peer 與IPv4 Peer的握手交互聯(lián)系的過程如下Bl、所述IPv6 Peer向所述IPv4 Peer發(fā)起握手請求消息,所述IPv6 Peer 在收到來自Tracker的有關(guān)IPv4 Peer的信息后,所述IPv6 Peer生成IPv6形式 的握手請求消息;B2、通過IPv4/IPv6路由器完成地址轉(zhuǎn)換并保存相關(guān)的映射項。當IPv6 Peer 發(fā)出的IPv6握手消息到達所述IPv4/IPv6路由器,所述路由器根據(jù)收到的IPv6 握手消息的目的IP地址查找路由表,得到該握手消息應(yīng)該發(fā)往的IPv4網(wǎng)絡(luò), 由IPv4/IPv6路由器查看保存的地址映射表,若沒有發(fā)現(xiàn)有關(guān)該IPv6 Peer的地 址記錄,則先為IPv6 Peer新分配一個IPv4地址;若存在有關(guān)該IPv6 Peer的地 址記錄,通過地址映射表獲得對應(yīng)的IPv4地址;IPv4/IPv6路由器將所述IPv6 握手消息轉(zhuǎn)換成一個IPv4握手消息,并送到IPv4網(wǎng)絡(luò);B3、所述IPv4 Peer處理并應(yīng)答來自IPv6的請求消息;當IPv4 Peer收到來 自IPv6 Peer的握手消息后,IPv4 Peer讀取握手消息中的IPv6 Peer節(jié)點標識。 IPv4 Peer更新本機得到的鄰居節(jié)點中與該IPv6 Peer節(jié)點標識對應(yīng)的項;將所得 到IPv6 Peer的IPv6地址更新為所收到的IPv4請求消息中的源IP地址;將所得 到IPv6 Peer的端口更新為所收到的IPv4請求消息中的源端口 ,所述IPv4 Peer 構(gòu)建IPv4應(yīng)答消息,由所述IPv4 Peer向所述IPv6 Peer發(fā)送構(gòu)建好的IPv4應(yīng) 答消息;B4、 IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4應(yīng)答消息,IPv4 Peer發(fā)出的IPv4應(yīng) 答消息到達IPv4/IPv6路由器后,所述IPv4/IPv6路由器根據(jù)收到的IPv4應(yīng)答消 息的目的IP地址査找路由表,確定所述應(yīng)答消息中攜帶的IPv6主機信息; IPv4/IPv6路由器查看保存的地址映射表,并找到所述IPv6 Peer的映射項; IPv4/IPv6路由器將這個IPv4應(yīng)答消息轉(zhuǎn)換成一個IPv6應(yīng)答消息,IPv4/IPv6路 由器將所述IPv6的應(yīng)答消息發(fā)往IPv6網(wǎng)絡(luò),所述IPv6 Peer接收應(yīng)答消息。
5、 根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟C所述IPv6 Peer與IPv4 Peer進行資源交互具體包括IPv6 Peer發(fā)起資源請求消息;IPv4/IPv6路由器完成地址轉(zhuǎn)換;IPv4 Peer 處理并應(yīng)答來自IPv6 Peer的資源請求消息;IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4 資源應(yīng)答消息;IPv6 Peer接收IPv6資源應(yīng)答消息。
6、 一種IPv6網(wǎng)絡(luò)主動向IPv4網(wǎng)絡(luò)推銷網(wǎng)絡(luò)資源的P2P通信方法,其特征 在于,該方法包括a、 索引服務(wù)器運行Tracker,節(jié)點IPv4 Peer和IPv6 Peer從種子服務(wù)器獲取 種子文件,并從所述種子文件中提取Tracker服務(wù)器信息;所述IPv4 Peer根據(jù) 所述服務(wù)器信息向所述Tracker發(fā)起注冊請求,收到所述注冊請求消息后Tracker 保留該信息,并將鄰居節(jié)點返回給IPv4 Peer;所述鄰居節(jié)點中包含IPv6 Peer 的節(jié)點標識、IP地址和對等通信端口;b、 所述Tracker向所述IPv6 Peer發(fā)送IPv6形式的資源需求通知消息,由 所述IPv6 Peer接收并處理所述通知消息,所述IPv6 Peer與所述IPv4 Peer交互 握手信息,并發(fā)送一個IPv6形式的握手消息,所述IPv4/IPv6路由器完成地址 轉(zhuǎn)換并保存相關(guān)的映射項,并由所述IPv4 Peer處理并應(yīng)答來自IPv6 Peer的握 手消息,再通過所述IPv4/IPv6路由器處理并轉(zhuǎn)發(fā)IPv4應(yīng)答消息到IPv6 Peer, 完成握手;c 、 IPv4 Peer與IPv6 Peer進行資源交互。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟c之后進一步包括所 述Tracker與各個Peer之間進行信息同步,具體為所述Peer下載者每隔一段 時間連一次Tracker,告知自己的進度,并和那些已經(jīng)直接連接上的Peer進行 數(shù)據(jù)的上傳下載;Tracker即時接收所有下載者信息,并且給每個下載者返回一 份隨機的Peer列表。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟b所述IPv6 Peer接收 并處理資源需求通知消息,具體為所述IPv6Peer收到來自Tracker的資源需 求通知消息后,所述IPv6 Peer判斷自身的運行狀態(tài)及資源情況,若無法提供,則不對資源需求通知消息做應(yīng)答;若IPv6 Peer已有的鄰居列表中沒有IPv4 Peer 的信息,則在鄰居列表中增加IPv4 Peer項。
9、 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟b所述IPv6 Peer與所 述IPv4 Peer交互握手信息,具體過程包括若IPv6 Peer能夠為IPv4 Peer提供 服務(wù),則IPv6 Peer生成并發(fā)送一個IPv6形式的握手消息;其中,所述握手消 息的分組頭部構(gòu)成情況如下所述握手請求消息的目的IP地址為所述IPv4 Peer 的IP地址加上IPv6 Peer所述IPv6網(wǎng)絡(luò)的前綴;該握手消息的源IP地址為該 IPv6 Peer的本地地址;所述握手請求消息中還包含IPv6 Peer的節(jié)點標識和任務(wù) 標識。
10、 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟b所述IPv4/IPv6路由 器完成地址轉(zhuǎn)換并保存相關(guān)的映射項并由所述IPv4 Peer處理并應(yīng)答來自IPv6 Peer的握手消息,具體為所述IPv4/IPv6路由器根據(jù)收到的IPv6握手消息的 目的IP地址查找路由表,得到該握手消息應(yīng)該發(fā)往的IPv4網(wǎng)絡(luò),由IPv4/IPv6 路由器查看保存的地址映射表,若沒有發(fā)現(xiàn)有關(guān)該IPv6 Peer的地址記錄,則先 為IPv6 Peer新分配 一 個IPv4地址;若存在有關(guān)該IPv6 Peer的地址記錄,通過 地址映射表獲得對應(yīng)的IPv4地址。IPv4/IPv6路由器將所述IPv6握手消息轉(zhuǎn)換 成一個IPv4握手消息,并送到IPv4網(wǎng)絡(luò);以及當IPv4 Peer收到來自IPv6 Peer的握手消息后,IPv4 Peer讀取握手消息中 的IPv6 Peer節(jié)點標識。IPv4Peer更新本機得到的鄰居節(jié)點中與該IPv6 Peer節(jié) 點標識對應(yīng)的項;將所得到IPv6 Peer的IPv6地址更新為所收到的IPv4請求消 息中的源IP地址;將所得到IPv6 Peer的端口更新為所收到的IPv4請求消息中 的源端口 ;所述IPv4 Peer構(gòu)建IPv4應(yīng)答消息,由所述IPv4 Peer向所述IPv6 Peer 發(fā)送構(gòu)建好的IPv4應(yīng)答消息。
全文摘要
本發(fā)明公開了一種IPv4與IPv6共存網(wǎng)絡(luò)中對等聯(lián)網(wǎng)(P2P)通信方法,通過在所述IPv4與IPv6共存網(wǎng)絡(luò)中安裝運行Tracker的雙協(xié)議棧服務(wù)器、設(shè)置支持網(wǎng)絡(luò)地址轉(zhuǎn)換-端口轉(zhuǎn)換(NAT-PT)功能的IPv4/IPv6雙協(xié)議棧路由器,IPv4 Peer或IPv6 Peer下載P2P種子文件,從所述種子文件中提取Tracker服務(wù)器信息,IPv4 Peer或IPv6 Peer向Tracker服務(wù)器注冊,得到鄰居節(jié)點信息,再由IPv6 Peer發(fā)起連接,建立與IPv4 Peer的握手交互聯(lián)系,并通過所述路由器完成地址轉(zhuǎn)換,從而建立起IPv4 Peer與IPv6 Peer的資源交互,實現(xiàn)IPv4與IPv6網(wǎng)絡(luò)的互通。采用本發(fā)明方法,不但解決了不同版本IP協(xié)議之間的P2P通信問題,而且通過提供這種不同版本Peer間的通信機制,對IPv6的推廣具有重要意義。
文檔編號H04L29/06GK101610285SQ20091008725
公開日2009年12月23日 申請日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
發(fā)明者倩 何, 劉傳昌, 哈晶晶, 商彥磊, 宮云戰(zhàn), 李尚萌, 陳俊亮, 陳聲揚 申請人:北京郵電大學