專利名稱:在IPv4網(wǎng)絡(luò)上傳遞IPv6隧道信息的方法
技術(shù)領(lǐng)域:
在IPv4網(wǎng)絡(luò)上傳遞IPv6隧道信息的方法屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及IPv4與IPv6網(wǎng)絡(luò)互聯(lián)的隧道技術(shù)。
背景技術(shù):
在互聯(lián)網(wǎng)由IPv4向IPv6過渡的過程中,IPv4網(wǎng)絡(luò)中的IPv6網(wǎng)絡(luò),即IPv6“孤島”,由于沒有與IPv6主干網(wǎng)絡(luò)的直連線路,一般采用IPv6-in-IPv4隧道技術(shù)獲得IPv6支持。常用的隧道技術(shù)有6to4技術(shù)和配置隧道。6to4隧道由于使用特殊前綴的IPv6地址,在過渡完成后還需要替換成普通IPv6地址,只能作為一種暫時的接入方法使用。因此,通常更推薦使用配置隧道接入IPv6網(wǎng)絡(luò)。配置隧道的缺點是需要手工配置,管理開銷大,雖然可以通過隧道代理,即Tunnel Broker,自動建立和維護配置隧道,但無論使用哪種方法,都會存在一個或少數(shù)幾個接入點負責(zé)轉(zhuǎn)發(fā)上述IPv6“孤島”訪問其他IPv6網(wǎng)絡(luò)的流量。這種體系結(jié)構(gòu)存在單故障點,容易成為網(wǎng)絡(luò)瓶頸,而IPv6“孤島”之間的流量本身是可以直接通過IPv6“孤島”間的IPv6over IPv4隧道轉(zhuǎn)發(fā)。建立隧道的關(guān)鍵在于獲得隧道端點的IPv4地址以及可達的IPv6地址范圍,如何協(xié)助IPv6“孤島”網(wǎng)關(guān)獲得其他IPv6“孤島”網(wǎng)關(guān)的隧道端點信息就是本發(fā)明所要解決的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在IPv4網(wǎng)絡(luò)上傳遞IPv6隧道信息的方法。
本發(fā)明的特征在于這是一種運行于IPv4/IPv6雙棧路由器和IPv4/IPv6雙棧三層交換機上利用P2P重疊網(wǎng)絡(luò)在IPv4上傳遞IPv6over IPv4隧道端點信息的方法,該方法依次含有以下步驟步驟1.初始化為每個P2P重疊網(wǎng)絡(luò)節(jié)點維護一個隧道端點信息數(shù)據(jù)庫,用以保存已知的隧道端點信息,數(shù)據(jù)庫中的每條信息包含a1.序列號遞增,用以標記信息的新舊;b1.IPv4地址表示隧道端點的IPv4地址;
c1.IPv6地址范圍表示隧道端點可達的IPv6地址范圍;d1.有效位標記該信息是否有效;0表示無效,1表示有效;e1.最近更新時間紀錄該信息最近更新的時間,用以刪除超時沒有更新的信息;為每個P2P重疊網(wǎng)絡(luò)節(jié)點設(shè)置以下6種控制分組,用于P2P重疊網(wǎng)絡(luò)建立和維護,隧道端點信息擴散和更新a2.呼叫分組進行鄰居關(guān)系建立和保持工作,分為0型和1型;0型呼叫分組用于與陌生節(jié)點建立鄰居關(guān)系,1型呼叫分組用于與現(xiàn)有鄰居節(jié)點保持鄰居關(guān)系;b2.更新分組完成將本地隧道端點信息數(shù)據(jù)庫中的信息更新至鄰居的工作;c2.確認分組完成對接收到的更新分組進行確認的工作;d2.請求分組進行向鄰居索取所擁有的隧道端點信息的工作;e2.注冊分組進行向中心注冊機注冊,要求加入P2P重疊網(wǎng)絡(luò)的工作;f2.回復(fù)分組作為對注冊分組的回復(fù),攜帶部分P2P節(jié)點IPv4地址信息,協(xié)助新節(jié)點加入P2P重疊網(wǎng)絡(luò);為每個P2P重疊網(wǎng)絡(luò)節(jié)點設(shè)置以下4種P2P重疊網(wǎng)絡(luò)鄰居關(guān)系狀態(tài),配合所述6種控制分組一起使用a3.初始表示鄰居關(guān)系初始狀態(tài);b3.單向鏈路表示已確認鄰居通向該節(jié)點的單向鏈路;c3.雙向鏈路表示已確認鄰居與該節(jié)點的雙向鏈路;d3.已更新表示本地隧道端點信息數(shù)據(jù)庫中信息已更新至鄰居;設(shè)置中心注冊機,使其作為普通節(jié)點加入到所述P2P重疊網(wǎng)絡(luò)中,維護P2P重疊網(wǎng)絡(luò)中所有節(jié)點實時IPv4地址信息,并協(xié)助新節(jié)點加入所述P2P重疊網(wǎng)絡(luò);步驟2.新節(jié)點按以下步驟注冊加入所述P2P重疊網(wǎng)絡(luò)步驟2.1.新節(jié)點向中心注冊機發(fā)送注冊分組,要求加入所述P2P重疊網(wǎng)絡(luò);步驟2.2.該中心注冊機使用回復(fù)分組將隨機選取的部分P2P節(jié)點IPv4地址信息發(fā)送給該新節(jié)點;步驟2.3.
若該新節(jié)點接收到回復(fù)分組,則根據(jù)所得到的部分節(jié)點IPv4地址信息,向這些節(jié)點發(fā)送0型呼叫分組并設(shè)置鄰居狀態(tài)為初始;若該新節(jié)點超時沒有接收到回復(fù)分組,則跳轉(zhuǎn)至步驟2.1;步驟3.按以下步驟建立和維護P2P重疊網(wǎng)絡(luò)鄰居關(guān)系以及完成隧道端點信息擴散和更新步驟3.1.當鄰居節(jié)點狀態(tài)為初始時若接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;步驟3.2.當鄰居節(jié)點狀態(tài)為單向鏈路時若接收到該鄰居發(fā)來的0型呼叫,則保持鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;若接收到該鄰居發(fā)來的請求,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送更新用以將本地擁有的隧道端點信息更新至該鄰居;步驟3.3.當鄰居節(jié)點狀態(tài)為雙向鏈路時若接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;若接收到該鄰居發(fā)來的請求,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送更新用以將本地擁有的隧道端點信息更新至該鄰居;若接收到該鄰居發(fā)來的更新,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送確認至該鄰居,并將接收到的更新的隧道端點信息用更新擴散給所有鄰居;若接收到該鄰居發(fā)來的確認,則設(shè)置鄰居節(jié)點狀態(tài)為已更新步驟3.4.當鄰居節(jié)點狀態(tài)已更新時若接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則保持鄰居節(jié)點狀態(tài)為已更新;若接收到該鄰居發(fā)來的請求,則保持鄰居節(jié)點狀態(tài)為已更新,發(fā)送更新至該鄰居用以將本地擁有的隧道端點信息更新至該鄰居;若接收到該鄰居發(fā)來的更新,則保持鄰居節(jié)點狀態(tài)為已更新,發(fā)送確認至該鄰居,
并將接收到的更新的隧道端點信息用更新擴散給所有鄰居;若接收到該鄰居發(fā)來的確認,保持鄰居節(jié)點狀態(tài)為已更新;步驟3.5.若超時沒有收到該鄰居發(fā)來的呼叫,設(shè)置鄰居節(jié)點狀態(tài)為初始。
通過上述P2P重疊網(wǎng)絡(luò),可以完成隧道端點信息的擴散和更新,可以協(xié)助IPv6“孤島”自動建立IPv6“孤島”之間的IPv6over IPv4配置隧道;此外,經(jīng)過實驗驗證,該方法可以保證P2P重疊網(wǎng)絡(luò)100%連通,因此,該方法還具有分布式、高可靠性的特點。由此可見,本發(fā)明達到了預(yù)期的目的。
圖1.網(wǎng)絡(luò)連接圖←-----表示注冊加入P2P網(wǎng)絡(luò),…………表示P2P鄰居圖2.新節(jié)點注冊狀態(tài)機 表示超時沒有收到回復(fù)分組, 表示接收到回復(fù)分組;圖3.鄰居關(guān)系轉(zhuǎn)移狀態(tài)機 表示接收到0型呼叫分組, 表示接收到1型呼叫分組, 表示接收到請求分組, 表示接收到確認分組, 表示接收到更新分組, 表示超時沒有收到呼叫分組。
具體實施例方式
本發(fā)明設(shè)計了一個運行于IPv4/IPv6雙棧路由器和IPv4/IPv6雙棧三層交換機上利用P2P重疊網(wǎng)絡(luò)在IPv4上傳遞IPv6over IPv4隧道端點信息的方法,設(shè)計了建立、維護P2P重疊網(wǎng)絡(luò)、保持鄰居關(guān)系和傳遞隧道端點信息的有關(guān)協(xié)議過程,協(xié)議分組類型和協(xié)議狀態(tài)機。
本方法通過隨機選擇節(jié)點作為P2P重疊關(guān)系鄰居來構(gòu)成一個分布式無結(jié)構(gòu)的P2P重疊網(wǎng)絡(luò),通過一個中心注冊機為新節(jié)點提供接入服務(wù);整個網(wǎng)絡(luò)拓撲如圖1所示,IPv6“孤島”邊界網(wǎng)關(guān)通過中心注冊機形成一個P2P的重疊網(wǎng)絡(luò),用以傳遞P2P節(jié)點,即隧道端點信息。
每個P2P重疊網(wǎng)絡(luò)節(jié)點維護一個隧道端點信息數(shù)據(jù)庫,用以保存已知的隧道端點信息,數(shù)據(jù)庫中的每條信息包含以下幾個內(nèi)容a.序列號遞增,用以標記信息的新舊;b.IPv4地址表示隧道端點的IPv4地址;c.IPv6地址范圍表示隧道端點可達的IPv6地址范圍;d.有效位標記該信息是否有效;0表示無效,1表示有效;e.最近更新時間紀錄該信息最近更新時間,用以刪除超時沒有更新的信息。
中心注冊機為新節(jié)點提供接入服務(wù),需要維護和更新所有P2P節(jié)點IPv4地址信息,由于P2P重疊網(wǎng)絡(luò)傳遞的隧道端點信息包含了P2P節(jié)點的IPv4地址,因此可以將中心注冊機作為一個普通節(jié)點加入到P2P重疊網(wǎng)絡(luò)中來,通過P2P重疊網(wǎng)絡(luò)的更新機制完成P2P節(jié)點IPv4地址信息更新。中心注冊機的功能包括a.作為普通節(jié)點參與P2P重疊網(wǎng)絡(luò)的信息更新,維護P2P重疊網(wǎng)絡(luò)中所有節(jié)點IPv4地址信息;b.接收到新節(jié)點的注冊請求后,從所有P2P節(jié)點IPv4地址信息中隨機選取部分節(jié)點IPv4地址,回復(fù)給該新節(jié)點,協(xié)助該新節(jié)點加入P2P重疊網(wǎng)絡(luò)。
本方法利用6種控制分組完成P2P重疊網(wǎng)絡(luò)建立和維護,隧道端點信息擴散和更新等工作a.呼叫分組進行鄰居關(guān)系建立和保持工作,分為0型和1型;0型呼叫分組用于與陌生節(jié)點建立鄰居關(guān)系,1型呼叫分組用于與現(xiàn)有鄰居節(jié)點保持鄰居關(guān)系;b.更新分組完成將本地隧道端點信息數(shù)據(jù)庫中的信息更新至鄰居的工作;c.確認分組完成對接收到的更新分組進行確認的工作;d.請求分組進行向鄰居索取所擁有的隧道端點信息的工作;e.注冊分組進行向中心注冊機注冊,要求加入P2P重疊網(wǎng)絡(luò)的工作;f. 回復(fù)分組作為對注冊分組的回復(fù),攜帶部分P2P節(jié)點IPv4地址信息,協(xié)助新節(jié)點加入P2P重疊網(wǎng)絡(luò)。
本方法定義4種P2P重疊網(wǎng)絡(luò)鄰居關(guān)系狀態(tài),結(jié)合上述6種控制分組中的前4種,用以完成重疊鄰居關(guān)系的建立和維護,隧道端點信息的擴散和更新等工作,鄰居狀態(tài)包括a.初始表示鄰居關(guān)系初始狀態(tài);b.單向鏈路表示已確認鄰居通向該節(jié)點的單向鏈路;c.雙向鏈路表示已確認鄰居與該節(jié)點的雙向鏈路;
d.已更新表示本地隧道端點信息數(shù)據(jù)庫中信息已更新至鄰居。
新節(jié)點注冊加入P2P重疊網(wǎng)絡(luò)時,首先通過中心注冊機獲得部分P2P節(jié)點IPv4地址信息,再與這些節(jié)點建立鄰居關(guān)系,注冊狀態(tài)機如圖2,包括以下步驟a.新節(jié)點向中心注冊機發(fā)送注冊分組,要求加入P2P重疊網(wǎng)絡(luò);b.中心注冊機使用回復(fù)分組將隨機選取的部分P2P節(jié)點IPv4地址信息發(fā)送給該新節(jié)點;c.若i.該新節(jié)點接收到回復(fù)分組,則根據(jù)所得到的部分節(jié)點IPv4地址信息,向這些節(jié)點發(fā)送0型呼叫分組并設(shè)置鄰居狀態(tài)為初始;ii.該新節(jié)點超時沒有接收到回復(fù)分組,則跳轉(zhuǎn)至a。
P2P重疊網(wǎng)絡(luò)鄰居關(guān)系建立和維護以及隧道端點信息擴散和更新狀態(tài)機如圖3,描述如下,若a.鄰居節(jié)點狀態(tài)為初始,若i.接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;ii.接收到該鄰居發(fā)來的1型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;b.鄰居節(jié)點狀態(tài)為單向鏈路,若i.接收到該鄰居發(fā)來的0型呼叫,則保持鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;ii.接收到該鄰居發(fā)來的1型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;iii.接收到該鄰居發(fā)來的請求,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送更新用以將本地擁有的隧道端點信息更新至該鄰居;c.鄰居節(jié)點狀態(tài)為雙向鏈路,若i.接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;ii.接收到該鄰居發(fā)來的1型呼叫,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;iii.接收到該鄰居發(fā)來的請求,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送更新用以將本地擁有的隧道端點信息更新至該鄰居;
iv.接收到該鄰居發(fā)來的更新,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送確認至該鄰居,并將接收到的更新的隧道端點信息用更新擴散給所有鄰居;v.接收到該鄰居發(fā)來的確認,則設(shè)置鄰居節(jié)點狀態(tài)為已更新;d.鄰居節(jié)點狀態(tài)已更新,若i.接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;ii.接收到該鄰居發(fā)來的1型呼叫,則保持鄰居節(jié)點狀態(tài)為已更新;iii.接收到該鄰居發(fā)來的請求,則保持鄰居節(jié)點狀態(tài)為已更新,發(fā)送更新至該鄰居用以將本地擁有的隧道端點信息更新至該鄰居;iv.接收到該鄰居發(fā)來的更新,則保持鄰居節(jié)點狀態(tài)為已更新,發(fā)送確認至該鄰居,并將接收到的更新的隧道端點信息用更新擴散給所有鄰居;v.接收到該鄰居發(fā)來的確認,保持鄰居節(jié)點狀態(tài)為已更新;e.超時沒有收到該鄰居發(fā)來的呼叫,設(shè)置鄰居節(jié)點狀態(tài)為初始。
節(jié)點接收到鄰居的發(fā)來的更新分組后,向鄰居發(fā)送確認分組,確認收到更新信息。對接收到的更新分組中的每一條隧道端點信息,如果本地存在該信息,但序列號沒有接收到的信息序列號大,或者本地不存在該信息,則更新本地隧道端點信息數(shù)據(jù)庫;否則,將本地相應(yīng)隧道端點信息加入到新的更新分組中,發(fā)送給上述鄰居節(jié)點;同時,根據(jù)更新過的本地隧道端點信息數(shù)據(jù)庫,利用更新分組,將剛剛更新的信息發(fā)送給其他鄰居。
每隔1800s,節(jié)點將屬于自己的隧道端點信息序列號+1,使用更新分組擴散給鄰居節(jié)點;同時,將最近最近更新時間距今大于3*1800s的隧道端點信息從隧道端點信息數(shù)據(jù)庫中刪除。
節(jié)點正常退出時,將本地隧道端點信息數(shù)據(jù)庫中自己相應(yīng)的信息序列號+1,有效位置為0,并通過更新分組發(fā)送給鄰居,至少收到一個鄰居的確認報文或者全部發(fā)送超時后,才可以退出。
當節(jié)點的IPv4地址發(fā)生變化的時候,首先通過更新分組向鄰居發(fā)送退出信息,然后連接中心注冊機重新加入到P2P重疊網(wǎng)絡(luò)中來。當節(jié)點所能到達的IPv6地址范圍發(fā)生變化時,則可立即通過更新分組在P2P重疊網(wǎng)絡(luò)內(nèi)擴散更新。
P2P重疊網(wǎng)絡(luò)鄰居之間通過呼叫控制報文保持鄰接關(guān)系,節(jié)點每隔10s向鄰居列表中狀態(tài)為單向鏈路/雙向鏈路/已更新的鄰居發(fā)送一次1型呼叫報文。
連續(xù)3*10s沒有接收到單向鏈路/雙向鏈路/已更新狀態(tài)鄰居發(fā)送來的1型呼叫后,則認為該鄰居節(jié)點失效,將鄰居設(shè)置為初始狀態(tài),同時,將本地隧道端點信息數(shù)據(jù)庫中該鄰居的相應(yīng)信息序列號+1,有效位置為0,并通過更新控制分組發(fā)送給其他鄰居。
當本地鄰居列表非初始狀態(tài)的鄰居的個數(shù)小于5時,從本地隧道端點信息數(shù)據(jù)庫中隨機選取不是現(xiàn)有鄰居的節(jié)點嘗試建立鄰居關(guān)系,重復(fù)進行,直到非初始狀態(tài)的鄰居個數(shù)大于等于5,或者本地隧道端點信息數(shù)據(jù)庫中的節(jié)點均為現(xiàn)有鄰居為止;當本地隧道端點信息數(shù)據(jù)庫中的節(jié)點均為現(xiàn)有鄰居且沒有鄰居在非初始狀態(tài)時,重新連接中心注冊機進行注冊。
權(quán)利要求
1.在IPv4網(wǎng)絡(luò)上傳遞IPv6隧道信息的方法,其特征在于這是一種運行于IPv4/IPv6雙棧路由器和IPv4/IPv6雙棧三層交換機上利用P2P重疊網(wǎng)絡(luò)在IPv4上傳遞IPv6 over IPv4隧道端點信息的方法,該方法依次含有以下步驟步驟1.初始化為每個P2P重疊網(wǎng)絡(luò)節(jié)點維護一個隧道端點信息數(shù)據(jù)庫,用以保存已知的隧道端點信息,數(shù)據(jù)庫中的每條信息包含a1.序列號遞增,用以標記信息的新舊;b1.IPv4地址表示隧道端點的IPv4地址;c1.IPv6地址范圍表示隧道端點可達的IPv6地址范圍;d1.有效位標記該信息是否有效;0表示無效,1表示有效;e1.最近更新時間紀錄該信息最近更新的時間,用以刪除超時沒有更新的信息;為每個P2P重疊網(wǎng)絡(luò)節(jié)點設(shè)置以下6種控制分組,用于P2P重疊網(wǎng)絡(luò)建立和維護,隧道端點信息擴散和更新a2.呼叫分組進行鄰居關(guān)系建立和保持工作,分為0型和1型;0型呼叫分組用于與陌生節(jié)點建立鄰居關(guān)系,1型呼叫分組用于與現(xiàn)有鄰居節(jié)點保持鄰居關(guān)系;b2.更新分組完成將本地隧道端點信息數(shù)據(jù)庫中的信息更新至鄰居的工作;c2.確認分組完成對接收到的更新分組進行確認的工作;d2.請求分組進行向鄰居索取所擁有的隧道端點信息的工作;e2.注冊分組進行向中心注冊機注冊,要求加入P2P重疊網(wǎng)絡(luò)的工作;f2.回復(fù)分組作為對注冊分組的回復(fù),攜帶部分P2P節(jié)點IPv4地址信息,協(xié)助新節(jié)點加入P2P重疊網(wǎng)絡(luò);為每個P2P重疊網(wǎng)絡(luò)節(jié)點設(shè)置以下4種P2P重疊網(wǎng)絡(luò)鄰居關(guān)系狀態(tài),配合所述6種控制分組一起使用a3.初始表示鄰居關(guān)系初始狀態(tài);b3.單向鏈路表示已確認鄰居通向該節(jié)點的單向鏈路;c3.雙向鏈路表示已確認鄰居與該節(jié)點的雙向鏈路;d3.已更新表示本地隧道端點信息數(shù)據(jù)庫中信息已更新至鄰居;設(shè)置中心注冊機,使其作為普通節(jié)點加入到所述P2P重疊網(wǎng)絡(luò)中,維護P2P重疊網(wǎng)絡(luò)中所有節(jié)點實時IPv4地址信息,并協(xié)助新節(jié)點加入所述P2P重疊網(wǎng)絡(luò);步驟2.新節(jié)點按以下步驟注冊加入所述P2P重疊網(wǎng)絡(luò)步驟2.1.新節(jié)點向中心注冊機發(fā)送注冊分組,要求加入所述P2P重疊網(wǎng)絡(luò);步驟2.2.該中心注冊機使用回復(fù)分組將隨機選取的部分P2P節(jié)點IPv4地址信息發(fā)送給該新節(jié)點;步驟2.3.若該新節(jié)點接收到回復(fù)分組,則根據(jù)所得到的部分節(jié)點IPv4地址信息,向這些節(jié)點發(fā)送0型呼叫分組并設(shè)置鄰居狀態(tài)為初始;若該新節(jié)點超時沒有接收到回復(fù)分組,則跳轉(zhuǎn)至步驟2.1;步驟3.按以下步驟建立和維護P2P重疊網(wǎng)絡(luò)鄰居關(guān)系以及完成隧道端點信息擴散和更新步驟3.1.當鄰居節(jié)點狀態(tài)為初始時若接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;步驟3.2.當鄰居節(jié)點狀態(tài)為單向鏈路時若接收到該鄰居發(fā)來的0型呼叫,則保持鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;若接收到該鄰居發(fā)來的請求,則設(shè)置鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送更新用以將本地擁有的隧道端點信息更新至該鄰居;步驟3.3.當鄰居節(jié)點狀態(tài)為雙向鏈路時若接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送請求至該鄰居;若接收到該鄰居發(fā)來的請求,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送更新用以將本地擁有的隧道端點信息更新至該鄰居;若接收到該鄰居發(fā)來的更新,則保持鄰居節(jié)點狀態(tài)為雙向鏈路,發(fā)送確認至該鄰居,并將接收到的更新的隧道端點信息用更新擴散給所有鄰居;若接收到該鄰居發(fā)來的確認,則設(shè)置鄰居節(jié)點狀態(tài)為已更新步驟3.4.當鄰居節(jié)點狀態(tài)已更新時若接收到該鄰居發(fā)來的0型呼叫,則設(shè)置鄰居節(jié)點狀態(tài)為單向鏈路,發(fā)送1型呼叫至該鄰居;若接收到該鄰居發(fā)來的1型呼叫,則保持鄰居節(jié)點狀態(tài)為已更新;若接收到該鄰居發(fā)來的請求,則保持鄰居節(jié)點狀態(tài)為已更新,發(fā)送更新至該鄰居用以將本地擁有的隧道端點信息更新至該鄰居;若接收到該鄰居發(fā)來的更新,則保持鄰居節(jié)點狀態(tài)為已更新,發(fā)送確認至該鄰居,并將接收到的更新的隧道端點信息用更新擴散給所有鄰居;若接收到該鄰居發(fā)來的確認,保持鄰居節(jié)點狀態(tài)為已更新;步驟3.5.若超時沒有收到該鄰居發(fā)來的呼叫,設(shè)置鄰居節(jié)點狀態(tài)為初始。
全文摘要
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,其特征在于這是一種運行于IPv4/IPv6雙棧路由器和IPv4/IPv6雙棧三層交換機上利用P2P重疊網(wǎng)絡(luò)在IPv4上傳遞IPv6 over IPv4隧道端點信息的方法。為此,在P2P重疊網(wǎng)絡(luò)節(jié)點上設(shè)置了6種控制分組和4種鄰接狀態(tài),同時設(shè)置一個中心注冊機來接受新節(jié)點的加入請求,并設(shè)計了建立、維護P2P重疊網(wǎng)絡(luò)、保持鄰居關(guān)系和傳遞隧道端點信息的有關(guān)協(xié)議過程,協(xié)議分組類型和協(xié)議狀態(tài)機。經(jīng)過實驗驗證,該方法可以完成隧道端點信息的擴散和更新,同時可以保證P2P重疊網(wǎng)絡(luò)100%連通,具有分布式、高可靠性的特點。
文檔編號H04L12/56GK1819542SQ20061001150
公開日2006年8月16日 申請日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
發(fā)明者畢軍, 章淼, 吳建平, 冷曉翔 申請人:清華大學(xué), 比威網(wǎng)絡(luò)技術(shù)有限公司