v4分組將信息回復到相應的IPv4網(wǎng)絡中的IPv4客戶端。通過部署協(xié)議轉(zhuǎn)換邊界網(wǎng)關且客戶端和節(jié)點應用層按照約定開發(fā)服務即可實施,無需修改IPv4客戶端主機和IPv6網(wǎng)絡中節(jié)點的系統(tǒng)網(wǎng)絡協(xié)議棧,大大提高適應性,具有重大實用意義。
[0018]
【附圖說明】
[0019]圖1為本發(fā)明的結構示意圖。
[0020]圖2為本發(fā)明的邊界網(wǎng)關結構示意圖。
[0021 ]圖3為本發(fā)明的工作流程示意圖。
[0022]圖4為本發(fā)明的IPv4客戶端結構示意圖。
[0023]圖5為本發(fā)明的物聯(lián)網(wǎng)節(jié)點結構示意圖。
【具體實施方式】
[0024]下面結合具體實施例,對本發(fā)明技術方案進一步說明。
[0025]如圖1,是本發(fā)明的組網(wǎng)架構,由局域網(wǎng),S卩:I Pv4網(wǎng)絡和IP v6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡組成,IPv4網(wǎng)絡和IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡通過邊界網(wǎng)關連接;IPv4網(wǎng)絡為局域網(wǎng),IPv4網(wǎng)絡中的IPv4客戶端是移動終端或者平板或者PC上安裝的客戶端,通過IPv4協(xié)議與家庭網(wǎng)關通信,家庭網(wǎng)關通過IPv4協(xié)議與邊界網(wǎng)關通信。IPv6網(wǎng)絡中一個或以上物聯(lián)網(wǎng)節(jié)點通過IPv6協(xié)議與邊界網(wǎng)關通信。
[0026]如圖1、2、3所示,本發(fā)明的【具體實施方式】是:提供一種IPv4網(wǎng)絡與IPv6物聯(lián)網(wǎng)節(jié)點的通信方法,IPv4網(wǎng)絡與IPv6物聯(lián)網(wǎng)節(jié)點的通信方法包括如下步驟:
IPv4網(wǎng)絡發(fā)現(xiàn)物聯(lián)網(wǎng)節(jié)點:IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡的物聯(lián)網(wǎng)節(jié)點到達并注冊到所述邊界網(wǎng)關,所述邊界網(wǎng)關給所述物聯(lián)網(wǎng)節(jié)點產(chǎn)生唯一的映射端口,Pv4網(wǎng)絡中的IPv4客戶端向IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡發(fā)出廣播請求節(jié)指令,所述邊界網(wǎng)關捕獲所述廣播請求指令后將連接的物聯(lián)網(wǎng)節(jié)點信息和映射端口發(fā)送到Pv4網(wǎng)絡中的IPv4客戶端。
[0027]如圖1、2、3所示,具體實施過程如下:IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡中,邊界網(wǎng)關LAN側固定IPv6地址,信息經(jīng)過一跳節(jié)點或者多跳節(jié)點可到達邊界網(wǎng)關。節(jié)點注冊到所述邊界網(wǎng)關,邊界網(wǎng)關的映射處理模塊給節(jié)點計算產(chǎn)生一個唯一的映射端口。
[0028]具體實施例中,邊界網(wǎng)關LAN口固定IPv6地址。邊界網(wǎng)關開啟兩個服務程序,一個為注冊程序,服務端口 IP_R00T,用于處理物聯(lián)網(wǎng)節(jié)點IPv6注冊分組;另一個為IPv4分組廣播服務程序,服務端口 P0RT_MCAST,用于處理I Pv4客戶端IPv4廣播分組。物聯(lián)網(wǎng)節(jié)點開啟一個服務程序,服務端口 P0RT_N0DE,用于處理IPv4客戶端的消息或者向IPv4客戶端推送消息。物聯(lián)網(wǎng)節(jié)點定時給邊界網(wǎng)關發(fā)送一個IPv6注冊分組,目的IPv6地址為邊界網(wǎng)關LAN 口固定IPv6地址,目的端口邊界網(wǎng)關注冊程序服務IP_R00T,IPv6注冊分組的負載包含有物聯(lián)網(wǎng)節(jié)點的服務端口。邊界網(wǎng)關收到物聯(lián)網(wǎng)節(jié)點的IPv6注冊分組,調(diào)用映射處理模塊,產(chǎn)生唯一映射端口mapped_port并記錄下物聯(lián)網(wǎng)節(jié)點的IPv6 IP地址和服務端口 P0RT_N0DE,即映射處理模塊的映射表產(chǎn)生一條記錄A, 對應,記錄A的內(nèi)容為
{
映射端口 mapped_port,
物聯(lián)網(wǎng)節(jié)點的IPv6 IP地址,
物聯(lián)網(wǎng)節(jié)點的服務端口 P0RT_N0DE
}o
[0029]IPv4網(wǎng)絡中的IPv4客戶端廣播IPv4分組,即該分組目的IPv4地址為255.255.255.255,目的端口為邊界網(wǎng)關IPv4分組廣播服務程序的服務端口P0RT_MCAST,并且該分組負載攜帶有請求獲取物聯(lián)網(wǎng)節(jié)點映射端口指令。
[0030]邊界網(wǎng)關接收到該IPv4分組,識別該請求指令,回復IPv4客戶端,回復的IPv4分組的負載中包含物聯(lián)網(wǎng)節(jié)點的映射端口mapped_port。這時,邊界網(wǎng)關把IPv4客戶端設備的IPv4地址和客戶端程序端口記錄下來,以便主動向IPv4客戶端推送物聯(lián)網(wǎng)節(jié)點映射端口。此后,每當有新物聯(lián)網(wǎng)節(jié)點向邊界網(wǎng)關注冊,邊界網(wǎng)關就可以通過IPv4分組廣播服務程序主動向IPv4客戶端推送物聯(lián)網(wǎng)節(jié)點映射端口。IPv4客戶端收到回復,把負載內(nèi)容解析出來并保存下來,這時IPv4客戶端便知道物聯(lián)網(wǎng)節(jié)點的映射端口 mapped_port。
[0031]IPv4網(wǎng)絡發(fā)起通信:Pv4網(wǎng)絡中的IPv4客戶端封裝第一 IPv4分組然后發(fā)送到所述邊界網(wǎng)關,所述第一 IPv4分組包括目標物聯(lián)網(wǎng)節(jié)點的映射端口,所述邊界網(wǎng)關對第一 IPv4分組進行翻譯變換生成第一 IPv6分組,所述邊界網(wǎng)關根據(jù)所述第一 IPv6分組將信息發(fā)送到相應的物聯(lián)網(wǎng)節(jié)點。
[0032]所述第一IPV4分組包括第一源地址、第一源端口、第一目標地址和第一目標端口,所述第一源地址為IPv4網(wǎng)絡發(fā)起點的地址,所述第一源端口為Pv4網(wǎng)絡中的IPv4客戶端的端口,所述第一目標地址為邊界網(wǎng)關的地址,所述第一目標端口為目標物聯(lián)網(wǎng)節(jié)點的映射端口。所述邊界網(wǎng)關對第一IPv4分組進行翻譯變換生成第一IPV6分組,S卩:所述第一源地址嵌入IPv6目標地址,所述第一源端口不變,第一IPv4分組中的第一目標地址變換為IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡的地址,將第一IPv4分組中的第一目的端口變換為物聯(lián)網(wǎng)節(jié)點的服務端口。
[0033]如圖1、2、3所示,具體實施過程如下:IPv4網(wǎng)絡中IPv4客戶端的IPv4協(xié)議棧封裝成第一IPv4分組,第一源地址和第一源端口是客戶端本身,第一目標地址是邊界網(wǎng)關的IPv4 IP地址,第一目標端口是物聯(lián)網(wǎng)節(jié)點的映射端口mapped_port<JPv4客戶端把該IPv4分組傳輸給邊界網(wǎng)關,邊界網(wǎng)關的鏈路收發(fā)模塊收到IPv4分組后把分組送往IPv4協(xié)議處理模塊,調(diào)用IPv4/IPv6翻譯變換模塊。
[0034]IPv4/IPv6翻譯變換模塊執(zhí)行如下翻譯轉(zhuǎn)換功能:
A、從第一IPv4分組中UDP報文頭取出目的端口,作為映射端口,判斷是否在邊界網(wǎng)關的映射處理模塊映射表分配的端口池中,如果不在,則丟棄該IPv4分組,否則往下。
[0035]B、把該映射端口做為查詢關鍵字,查詢映射表中是否有記錄,如果沒有該記錄,則丟棄該分組,否則根據(jù)NAPT-PT(RFC2766)和映射表記錄翻譯該第一 IPv4分組為第一 IPv6分組,翻譯轉(zhuǎn)換后,第一目標源地址加上前綴PREFIX映射為IPv6地址PREFIX::1Pv4,作為第一IPv6分組的IPv6源地址,第一IPv6分組的IPv6源端口就是第一IPv4分組的源端口,第一IPv6分組的目標IPv6地址和目標端口分別為物聯(lián)網(wǎng)節(jié)點的IPv6地址和其服務程序端口。最后調(diào)用映射處理模塊把第一IPv4分組的源IP和源端口更新映射表對應記錄中,這時映射表中的記錄A內(nèi)容變?yōu)?br> {
映射端口 mapped_port,
物聯(lián)網(wǎng)節(jié)點的IPv6 IP地址,
物聯(lián)網(wǎng)節(jié)點的服務端口 P0RT_N0DE,
IPv4客戶端IPv4地址,
IPv4客戶端程序端口 };
C、IPv4/IPv6翻譯變換模塊把第一 IPv6分組送往IPv6協(xié)議處理模塊,翻譯結束。
[0036]IPv6協(xié)議處理模塊根據(jù)第一IPv6分組的目的IP查找路由,把第一IPv6分組發(fā)送出去,物聯(lián)網(wǎng)節(jié)點服務程序接收到該第一 IPv6分組,記錄下發(fā)送端即IPv4客戶端的映射而成的IPv6地址和端口;物聯(lián)網(wǎng)節(jié)點服務程序根據(jù)實際應用處理該第一 IPv6分組負載。
[0037]IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡回復通信:IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡中的物聯(lián)網(wǎng)節(jié)點封裝第二IPv6分組然后發(fā)送到所述邊界網(wǎng)關,所述第二 IPv6分組包括IPv4網(wǎng)絡客戶端的源地址和源端口,所述邊界網(wǎng)關對所述第二IPv6分組進行翻譯變換生成第二IPV4分組,所述邊界網(wǎng)送根據(jù)所述第二 IPv4分組將信息回復到相應的Pv4網(wǎng)絡中的IPv4客戶端。
[0038]具體實施過程如下:物聯(lián)網(wǎng)節(jié)點服務模塊把待發(fā)送數(shù)據(jù),送到IPv6協(xié)議棧封裝成第二IPv6分組,其中,所述第二IPv6分組包括第二源地址、第二源端口、第二目標地址、第二目標端口,所述第二源地址為IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡節(jié)點本身的地址,所述第二源端口為IPv6物聯(lián)網(wǎng)節(jié)點網(wǎng)絡節(jié)點本身的端口,所述第二目標地址為所述第一IPv6分組中的源地址、所述第二目標端口為所述第一IPv6分組中的源端口。物聯(lián)網(wǎng)節(jié)點IPv6協(xié)議棧根據(jù)目的IP查詢路由把數(shù)據(jù)發(fā)送出去。邊界網(wǎng)關的IPv6協(xié)議處理模塊接收到該第二 IPv6分組,根據(jù)第二目標地址、第二目標端口查詢路由知道需要轉(zhuǎn)發(fā)出去,該第二 IPv6分組送往IPv4/IPv6翻譯變換模塊。
[0039]IPv4/IPv6翻譯變換模塊依次執(zhí)行如下步驟:
A、從第二IPv6分組中取出第二目標地址、第二目標端口,把IPv6地址PREFIX::1Pv4轉(zhuǎn)換成IPv4格式地址。
[0040]B、調(diào)用映射處理模塊,把該第二目標地址、第二目標端口作為查詢關鍵字查詢映射表中是否有記錄,如果沒有記錄,則丟棄該分組,否則返回記錄,返回的記錄A;
C、IPv4/IPv6翻譯變換模塊根據(jù)NAPT-PT(RFC2766)和映射處理模塊返回的記錄A翻譯該分組為IPv4分組,所述邊界網(wǎng)關對該第二IPv6分組進行翻譯變換生成第二IPv4分組,SP:所述第二源地址變換為邊界網(wǎng)關的地址,所述第二源端口變換為物聯(lián)網(wǎng)節(jié)點映射端口,第二 IPv6分組中的第