基于路由信息攜帶轉(zhuǎn)發(fā)的網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法
【專利摘要】一種互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】的網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法,通過在數(shù)據(jù)包中加入歷史路由信息數(shù)據(jù),使得具有雙網(wǎng)口的轉(zhuǎn)發(fā)路由在收到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包包含的路由信息能找到下一站的地址進行轉(zhuǎn)發(fā)。本發(fā)明不需要路由表和大量端口映射的支持,就可以實現(xiàn)對數(shù)據(jù)包的路由轉(zhuǎn)發(fā);而在數(shù)據(jù)包的回復過程中,轉(zhuǎn)發(fā)路由能夠準確的沿發(fā)送數(shù)據(jù)包經(jīng)過的路由,原路返回到最終的接收地址,技術(shù)實現(xiàn)簡單可靠。
【專利說明】基于路由信息攜帶轉(zhuǎn)發(fā)的網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是一種網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】的方法,具體是一種不依賴于路由表和端口映射的網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法。
【背景技術(shù)】
[0002]現(xiàn)在市面上路由器所采用的網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)技術(shù),在需要發(fā)數(shù)據(jù)包給外網(wǎng)段ip時,通常是通過查詢路由表的方式獲取下一站該發(fā)往的ip,該方法的缺點是需要消耗大量的系統(tǒng)資源去保存和維護一個路由表,實現(xiàn)復雜,不利于在資源有限的小系統(tǒng)中運行。另一種現(xiàn)有網(wǎng)絡(luò)轉(zhuǎn)發(fā)技術(shù)如中國專利文獻號CN103023942A,其轉(zhuǎn)發(fā)路由用特定的TCP端口映射特定的源ip,每轉(zhuǎn)發(fā)一個TCP數(shù)據(jù)包,需要另起一個socket,通過映射的TCP端口把數(shù)據(jù)包轉(zhuǎn)發(fā)出去。該方法的缺點是當需要轉(zhuǎn)發(fā)的設(shè)備量增加時,需要同時維護大量不同轉(zhuǎn)發(fā)端口的socket,實現(xiàn)復雜,不利于在資源有限的小系統(tǒng)中運行。
[0003]如圖1所示是現(xiàn)有的路由表選路技術(shù)工作流程,其數(shù)據(jù)包含一個路由表,由一個守護線程維護,收到ICMP重定向的數(shù)據(jù)包后,更新路由表,數(shù)據(jù)包需要發(fā)送下一站之前都需要查詢路由表獲取下一站的ip。沒有路由表的支持,數(shù)據(jù)包就無法實現(xiàn)不同網(wǎng)段間的轉(zhuǎn)發(fā)。
[0004]經(jīng)過對現(xiàn)有技術(shù)的檢索發(fā)現(xiàn),中國專利文獻號CN101546468公開(公告)日2009.09.30,公開了一種二維中繼式載波路由動態(tài)維護方法,其中路由動態(tài)維護方法根據(jù)電表數(shù)據(jù)抄讀結(jié)果查找抄讀結(jié)果異常的電表,并進行自動重新路由學習,實現(xiàn)抄表故障維護和節(jié)點刪除維護。但該技術(shù)實現(xiàn)復雜,需要的系統(tǒng)資源更多。
[0005]中國專利文獻號CN101674220公開(公告)日2010.03.17,公開了一種基于轉(zhuǎn)發(fā)歷史的異步路由算法,數(shù)據(jù)包括:①中繼選擇算法分組傳輸算法;③路由信息更新。中繼選擇算法在節(jié)點準備發(fā)送分組時或作為中繼點接收到消息時被執(zhí)行,為分組選擇較好的下一跳中繼。分組傳輸算法在兩個節(jié)點的通信機會到來時執(zhí)行,進行分組的傳輸。路由更新算法在節(jié)點收到回饋信息后執(zhí)行,更新路由信息表。但該技術(shù)需要消耗大量的系統(tǒng)資源去保存和維護一個路由表,實現(xiàn)復雜,不利于在資源有限的小系統(tǒng)中運行。
[0006]綜上所述,現(xiàn)階段急需一種新型的路由轉(zhuǎn)發(fā)技術(shù),能夠把數(shù)據(jù)包所經(jīng)過的路由信息順序的放在數(shù)據(jù)包內(nèi)的某個固定地址,這樣,接收端把數(shù)據(jù)包回復給發(fā)送端時,各路由都能從數(shù)據(jù)包的某個固定地址數(shù)據(jù)包含的路由信息得到下一站該轉(zhuǎn)發(fā)的路由,從而不需要路表的支持,也不需要靠端口號映射轉(zhuǎn)發(fā)ip。
【發(fā)明內(nèi)容】
[0007]本發(fā)明針對現(xiàn)有技術(shù)存在的上述不足,提出一種網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法,不需要路由表和大量端口映射的支持,就可以實現(xiàn)對數(shù)據(jù)包的路由轉(zhuǎn)發(fā);而在數(shù)據(jù)包的回復過程中,轉(zhuǎn)發(fā)路由能夠準確的沿發(fā)送數(shù)據(jù)包經(jīng)過的路由,原路返回到最終的接收地址,技術(shù)實現(xiàn)簡單可靠。
[0008]本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
[0009]本發(fā)明涉及一種網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法,通過在數(shù)據(jù)包中加入歷史路由信息數(shù)據(jù),使得具有雙網(wǎng)口的轉(zhuǎn)發(fā)路由在收到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包包含的路由信息能找到下一站的地址進行轉(zhuǎn)發(fā)。
[0010]所述的加入是指:在數(shù)據(jù)包內(nèi)劃分出預留空間。
[0011]所述的歷史路由信息數(shù)據(jù)包括但不限于路由的ip地址或私有的路由編號,優(yōu)選為數(shù)據(jù)包發(fā)送過程中經(jīng)過的路由的ip地址,對應(yīng)所述預留空間的大小為一個ip地址的整數(shù)倍。
[0012]所述的轉(zhuǎn)發(fā)具體步驟包括:
[0013]I)當數(shù)據(jù)包中的ip頭部分內(nèi)的目標ip地址與發(fā)送端所在網(wǎng)口 ip地址不在同一網(wǎng)段時,將數(shù)據(jù)包發(fā)送至發(fā)送端所在的網(wǎng)關(guān);
[0014]2)數(shù)據(jù)包經(jīng)過若干個具有雙網(wǎng)口的轉(zhuǎn)發(fā)路由并最終到達接收端網(wǎng)關(guān),具體傳輸過程為:
[0015]2.1)每個轉(zhuǎn)發(fā)路由的第一網(wǎng)口檢查數(shù)據(jù)包中的ip頭部分的目標ip地址,當該目標ip地址不是該轉(zhuǎn)發(fā)路由的第一網(wǎng)口下的節(jié)點時,將數(shù)據(jù)包轉(zhuǎn)換至該轉(zhuǎn)發(fā)路由的第二網(wǎng)口進行轉(zhuǎn)發(fā),并將ip頭部分的起始ip地址保存在所述預留空間內(nèi),同時將ip頭部分的起始ip地址更新為第二網(wǎng)口的ip地址;
[0016]2.2)每個轉(zhuǎn)發(fā)路由的第二網(wǎng)口接收到數(shù)據(jù)包后,查找該數(shù)據(jù)包的所述路由段內(nèi)是否含有第二網(wǎng)口的ip地址,如果含有,則嘗試獲取路由段內(nèi)第二網(wǎng)口 ip地址之前的ip地址,當路由段內(nèi)第二網(wǎng)口 ip地址前面存在ip地址,則執(zhí)行步驟2.3);如果該數(shù)據(jù)包的路由段內(nèi)不含有第二網(wǎng)口的ip地址,則執(zhí)行步驟2.4);
[0017]2.3)將步驟2.2)中路由段內(nèi)第二網(wǎng)口 ip地址前面存在ip地址替換數(shù)據(jù)包中ip頭部分內(nèi)的目的地址,并通過第二網(wǎng)口轉(zhuǎn)發(fā)該數(shù)據(jù)包;
[0018]2.4)將路由段內(nèi)最后一個合法的路由地址替換數(shù)據(jù)包中ip頭部分內(nèi)的目的地址,并通過第二網(wǎng)口轉(zhuǎn)發(fā)該數(shù)據(jù)包;
[0019]3)重復上述步驟I和步驟2直至某一轉(zhuǎn)發(fā)路由的第二網(wǎng)口的ip地址與數(shù)據(jù)包的目的ip地址在同一網(wǎng)段時,第二網(wǎng)口將該數(shù)據(jù)包發(fā)送至目的ip地址,完成轉(zhuǎn)發(fā)。
[0020]所述的加入具體是指:對所述歷史路由信息數(shù)據(jù)進行加密計算后填入路由段,對應(yīng)接收端收到數(shù)據(jù)包后必須通過解碼才能得到歷史路由信息數(shù)據(jù),從而防止路由信息泄露。
[0021]所述的加密計算,優(yōu)選在加密計算前、后數(shù)據(jù)包的大小保持不變或更小。
[0022]本發(fā)明涉及一種根據(jù)上述網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)的回復方法,采用以下兩種方式中的任意一種:
[0023]a)發(fā)送端為固定ip地址:接收端將發(fā)送端的ip地址和路由段的ip地址按順序保存起來,需要發(fā)送給該發(fā)送端時,取發(fā)送端的ip地址作為待發(fā)數(shù)據(jù)包的目的ip地址,將預留空間內(nèi)的所有ip地址按堆棧退出的順序填入待發(fā)數(shù)據(jù)包的路由段即可實現(xiàn)回復路徑的構(gòu)建;
[0024]b)發(fā)送端為非固定ip地址:接收端直接提取發(fā)送端ip地址和路由段ip地址,將發(fā)送端ip地址做為待發(fā)數(shù)據(jù)包的目的ip地址,將預留空間中的路由段ip地址按堆棧退出的順序回填到待發(fā)數(shù)據(jù)包的路由段即可實現(xiàn)回復路徑的構(gòu)建。
技術(shù)效果
[0025]與現(xiàn)有技術(shù)相比,本發(fā)明在正規(guī)的TCP數(shù)據(jù)段某固定位置,比如起始節(jié)點,增加最多可放n(n表示數(shù)據(jù)包可以最多經(jīng)過轉(zhuǎn)發(fā)的次數(shù))個路由地址的路由段,用于存放數(shù)據(jù)包在轉(zhuǎn)發(fā)過程中經(jīng)歷的各個路由標識信息。本發(fā)明中的路由段只在數(shù)據(jù)段之內(nèi)操作,能夠在只提供應(yīng)用層接口的協(xié)議棧之上實現(xiàn)路由轉(zhuǎn)發(fā)功能,滿足在無路由轉(zhuǎn)發(fā)服務(wù)的TCP協(xié)議棧之上實現(xiàn)路由轉(zhuǎn)發(fā)的需要。
【專利附圖】
【附圖說明】
[0026]圖1是現(xiàn)有的使用路由表查詢技術(shù)實現(xiàn)路由轉(zhuǎn)發(fā)的工作流程圖。
[0027]圖2是本發(fā)明用于存放路由路徑的數(shù)據(jù)段所處位置示意圖。
[0028]圖3是本發(fā)明應(yīng)用場景中發(fā)送端發(fā)送數(shù)據(jù)包給接收端時,數(shù)據(jù)包各字段的變化示意圖。
[0029]圖4是本發(fā)明應(yīng)用場景中發(fā)送端發(fā)送數(shù)據(jù)給接收端時,數(shù)據(jù)包轉(zhuǎn)發(fā)流程的具體描述示意圖。
[0030]圖5是本發(fā)明應(yīng)用場景中接收端回復數(shù)據(jù)包給發(fā)送端時,數(shù)據(jù)包各字段的變化示意圖。
[0031]圖6是本發(fā)明應(yīng)用場景中接收端回復數(shù)據(jù)包給發(fā)送端時,數(shù)據(jù)包轉(zhuǎn)發(fā)流程的具體描述示意圖。
[0032]圖7是本發(fā)明在變化應(yīng)用場景中發(fā)送端發(fā)送數(shù)據(jù)包給接收端時,數(shù)據(jù)包轉(zhuǎn)發(fā)流程的具體描述示意圖。
[0033]圖8是本發(fā)明的路由信息加密算法示意圖。
【具體實施方式】
[0034]下面對本發(fā)明的實施例作詳細說明,本實施例在以本發(fā)明技術(shù)方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
實施例1
[0035]本實施例所述的網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)技術(shù)尤其適用于TCP/IP協(xié)議棧只能實現(xiàn)ip轉(zhuǎn)發(fā)的場景,圖3到圖6所示是該技術(shù)的一種典型應(yīng)用。
[0036]本實施例中,沒有路由表的支持,發(fā)送端的數(shù)據(jù)包經(jīng)過了 3個路由的轉(zhuǎn)發(fā),到達接收端,具體數(shù)據(jù)包的流轉(zhuǎn)過程如圖4所示。同時,接收端回復數(shù)據(jù)包給發(fā)送端時,也能找到正確的3個路由進行轉(zhuǎn)發(fā),到達真正的發(fā)送端,具體數(shù)據(jù)包的流轉(zhuǎn)過程如圖6所示。
[0037]如圖2所示,本實施例中,用路由非網(wǎng)關(guān)網(wǎng)口 ip地址表示路由標識信息,路由信息放置在數(shù)據(jù)段最開始的位置,路由段最多能存儲15次轉(zhuǎn)發(fā)路由ip地址,同時路由段信息未采用加密算法保護路由數(shù)據(jù),數(shù)據(jù)包的路由段記錄了數(shù)據(jù)包經(jīng)過的路由ip地址,轉(zhuǎn)發(fā)路由通過數(shù)據(jù)包的路由段數(shù)據(jù)包含的路由ip地址獲取該轉(zhuǎn)發(fā)的下一站地址。
[0038]本實施例具體包括以下步驟:
[0039]步驟I)數(shù)據(jù)包初始化階段:如圖2所示,當在TCP/IP協(xié)議棧的應(yīng)用層接口申請數(shù)據(jù)段緩存空間buff時,額外申請若干個字節(jié)的初始值為Oxff的預留空間,并自預留空間后的地址開始復制緩存數(shù)據(jù)作為buff。
[0040]所述的預留空間的大小為4的整數(shù)倍,即為路由ip地址預留;優(yōu)選為60字節(jié),對應(yīng)15個路由ip地址預留,定義為路由段,下同。該值沒有固定上限。理論上限是TCP/IP連接的MTU值,最小值為0,表示不攜帶路由信息。
[0041]步驟2)轉(zhuǎn)發(fā)階段:如圖3、4所示,具體包括以下步驟:
[0042]2.1)當數(shù)據(jù)包中的ip頭部分內(nèi)的目標ip地址(des ip地址)與發(fā)送端所在網(wǎng)口ip地址不在同一網(wǎng)段時,將數(shù)據(jù)包發(fā)送至發(fā)送端所在的網(wǎng)關(guān);
[0043]2.2)數(shù)據(jù)包經(jīng)過若干個具有雙網(wǎng)口的轉(zhuǎn)發(fā)路由并最終到達接收端網(wǎng)關(guān),具體傳輸過程為:
[0044]2.2.1)每個轉(zhuǎn)發(fā)路由的第一網(wǎng)口(即網(wǎng)關(guān)網(wǎng)口)檢查數(shù)據(jù)包中的ip頭部分的目標ip地址,當該目標ip地址不是本路由的第一網(wǎng)口下的節(jié)點時,將數(shù)據(jù)包轉(zhuǎn)換至本路由的第二網(wǎng)口(即非網(wǎng)關(guān)網(wǎng)口)進行轉(zhuǎn)發(fā),同時,將ip頭部分的起始ip地址(src ip地址)保存在所述預留空間內(nèi)后,將ip頭部分的起始ip地址更新為第二網(wǎng)口的ip地址;
[0045]2.2.2)每個轉(zhuǎn)發(fā)路由的第二網(wǎng)口接收到數(shù)據(jù)包后,查找該數(shù)據(jù)包的所述路由段內(nèi)是否含有第二網(wǎng)口的ip地址,如果含有,則嘗試獲取路由段內(nèi)第二網(wǎng)口 ip地址之前的ip地址,當路由段內(nèi)第二網(wǎng)口 ip地址前面沒有ip地址,則說明該數(shù)據(jù)包是發(fā)送給本網(wǎng)口的,接收下來送到應(yīng)用層進行處理,否則執(zhí)行步驟2.2.3);如果該數(shù)據(jù)包的路由段內(nèi)不含有第二網(wǎng)口的ip地址,執(zhí)行步驟2.2.4)。
[0046]2.2.3)當在路由段內(nèi)第二網(wǎng)口 ip地址前面能找到某個ip地址,則將這個找到的ip地址取出來,將取出的這個路由ip地址替換掉數(shù)據(jù)包的目的地址,換網(wǎng)口轉(zhuǎn)發(fā)出去。
[0047]2.2.4)如果在數(shù)據(jù)包的路由段找不到第二網(wǎng)口 ip地址,則取最后一個非全F路由地址。將取出的這個路由ip地址替換掉數(shù)據(jù)包的目的地址,換網(wǎng)口轉(zhuǎn)發(fā)出去。
[0048]2.3)如圖3、4所示,當轉(zhuǎn)發(fā)路由第二網(wǎng)口進行轉(zhuǎn)發(fā)時,發(fā)現(xiàn)數(shù)據(jù)包的目的ip地址和轉(zhuǎn)發(fā)路由第二網(wǎng)口的ip地址在同一網(wǎng)段時,就會把數(shù)據(jù)包發(fā)送給最終的接收端節(jié)點。當接收端網(wǎng)口接收到數(shù)據(jù)包后,經(jīng)過判斷,確定該數(shù)據(jù)包的目的ip地址是接收端網(wǎng)口節(jié)點的ip地址,則接收端接收該數(shù)據(jù)包,并將路由段之后的內(nèi)容作為實際要傳輸?shù)臄?shù)據(jù)傳給應(yīng)用層進行處理。
[0049]步驟3)回復階段:如圖5、6所示,接收端根據(jù)發(fā)送端ip地址是否為固定,分以下對應(yīng)方式回復數(shù)據(jù):
[0050]a)發(fā)送端為固定ip地址:接收端將發(fā)送端的ip地址和路由段的ip地址按順序保存起來,需要發(fā)送給該發(fā)送端時,取發(fā)送端的ip地址作為待發(fā)數(shù)據(jù)包的目的ip地址,將預留空間內(nèi)的所有ip地址按堆棧退出的順序填入待發(fā)數(shù)據(jù)包的路由段即可實現(xiàn)回復路徑的構(gòu)建。
[0051]b)發(fā)送端為非固定ip地址:接收端直接提取發(fā)送端ip地址和路由段ip地址,將發(fā)送端ip地址做為待發(fā)數(shù)據(jù)包的目的ip地址,將預留空間中的路由段ip地址按堆棧退出的順序回填到待發(fā)數(shù)據(jù)包的路由段即可實現(xiàn)回復路徑的構(gòu)建。
[0052]本實施例的另外一個可變的地方,在于可將數(shù)據(jù)包所經(jīng)路由的發(fā)送過程中起始節(jié)點換成路由的ip地址,然后將數(shù)據(jù)包轉(zhuǎn)發(fā)過程中經(jīng)過路由轉(zhuǎn)發(fā)處理后的起始節(jié)點和目的地址都在路由段存儲下來,見圖7所示。這樣在接收端回復時,直接提取數(shù)據(jù)包所經(jīng)路由的起始節(jié)點進行回復,擺脫只能回復網(wǎng)關(guān)的限制。當然表示路由信息的方法有很多種,也可以存儲加密后的代碼表示數(shù)據(jù)包的路由段信息,本實施例特別指出,表示路由的信息數(shù)據(jù)包括但不限于是路由的ip地址。
[0053]如圖8所示,為本實施例列舉的一個簡單的路由信息加密和解密的算法??捎糜跀?shù)據(jù)包路由段里面路由信息的加密傳輸和解密接收。
[0054]綜上所述,本實施例所述的用于不同網(wǎng)段間數(shù)據(jù)包轉(zhuǎn)發(fā)的技術(shù),在TCP/IP地址協(xié)議棧的數(shù)據(jù)段增加了一段用于保存轉(zhuǎn)發(fā)路由標識的字段,記錄數(shù)據(jù)包轉(zhuǎn)發(fā)的所經(jīng)歷的路由,還提供了接收端對該路由字段的處理辦法,本實施例的另外一個變動的地方,可以擺脫路由只能發(fā)向網(wǎng)關(guān)的限制,讓任何一個兩網(wǎng)口的路由節(jié)點成為路由。
【權(quán)利要求】
1.一種網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)方法,其特征在于,通過在數(shù)據(jù)包中加入歷史路由信息數(shù)據(jù),使得具有雙網(wǎng)口的轉(zhuǎn)發(fā)路由在收到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包包含的路由信息能找到下一站的地址進行轉(zhuǎn)發(fā); 所述的加入是指:在數(shù)據(jù)包內(nèi)劃分出預留空間。
2.根據(jù)權(quán)利要求1所述的方法,其特征是,所述的歷史路由信息數(shù)據(jù)包括:路由的ip地址或私有的路由編號。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征是,所述的歷史路由信息數(shù)據(jù)具體是指:數(shù)據(jù)包發(fā)送過程中經(jīng)過的路由的ip地址。
4.根據(jù)權(quán)利要求3所述的方法,其特征是,所述的預留空間的大小為一個ip地址的整數(shù)倍。
5.根據(jù)權(quán)利要求3所述的方法,其特征是,所述的ip地址包括:數(shù)據(jù)包轉(zhuǎn)發(fā)過程中經(jīng)過路由轉(zhuǎn)發(fā)處理后的起始節(jié)點和目的地址。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征是,所述的轉(zhuǎn)發(fā)具體步驟包括: 1)當數(shù)據(jù)包中的ip頭部分內(nèi)的目標ip地址與發(fā)送端所在網(wǎng)口ip地址不在同一網(wǎng)段時,將數(shù)據(jù)包發(fā)送至發(fā)送端所在的網(wǎng)關(guān); 2)數(shù)據(jù)包經(jīng)過若干個具有雙網(wǎng)口的轉(zhuǎn)發(fā)路由并最終到達接收端網(wǎng)關(guān),具體傳輸過程為: 2.1)每個轉(zhuǎn)發(fā)路由的第一網(wǎng)口檢查數(shù)據(jù)包中的ip頭部分的目標ip地址,當該目標ip地址不是該轉(zhuǎn)發(fā)路由的第一網(wǎng)口下的節(jié)點時,將數(shù)據(jù)包轉(zhuǎn)換至該轉(zhuǎn)發(fā)路由的第二網(wǎng)口進行轉(zhuǎn)發(fā),并將ip頭部分的起始ip地址保存在所述預留空間內(nèi),同時將ip頭部分的起始ip地址更新為第二網(wǎng)口的ip地址; 2.2)每個轉(zhuǎn)發(fā)路由的第二網(wǎng)口接收到數(shù)據(jù)包后,查找該數(shù)據(jù)包的所述路由段內(nèi)是否含有第二網(wǎng)口的ip地址,如果含有,則嘗試獲取路由段內(nèi)第二網(wǎng)口 ip地址之前的ip地址,當路由段內(nèi)第二網(wǎng)口 ip地址前面存在ip地址,則執(zhí)行步驟2.3);如果該數(shù)據(jù)包的路由段內(nèi)不含有第二網(wǎng)口的ip地址,則執(zhí)行步驟2.4); 2.3)將步驟2.2)中路由段內(nèi)第二網(wǎng)口 ip地址前面存在ip地址替換數(shù)據(jù)包中ip頭部分內(nèi)的目的地址,并通過第二網(wǎng)口轉(zhuǎn)發(fā)該數(shù)據(jù)包; 2.4)將路由段內(nèi)最后一個合法的路由地址替換數(shù)據(jù)包中ip頭部分內(nèi)的目的地址,并通過第二網(wǎng)口轉(zhuǎn)發(fā)該數(shù)據(jù)包; 3)重復上述步驟I和步驟2直至某一轉(zhuǎn)發(fā)路由的第二網(wǎng)口的ip地址與數(shù)據(jù)包的目的ip地址在同一網(wǎng)段時,第二網(wǎng)口將該數(shù)據(jù)包發(fā)送至目的ip地址,完成轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求1或2所述的方法,其特征是,所述的加入具體是指:對所述歷史路由信息數(shù)據(jù)進行加密計算后填入路由段,對應(yīng)接收端收到數(shù)據(jù)包后必須通過解碼才能得到歷史路由信息數(shù)據(jù),從而防止路由信息泄露。
8.根據(jù)權(quán)利要求7所述的方法,其特征是,所述的加密計算,在加密計算前、后數(shù)據(jù)包的大小保持不變或更小。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征是,所述的加密采用異或算法實現(xiàn)。
10.一種根據(jù)上述任一權(quán)利要求所述轉(zhuǎn)發(fā)的回復方法,其特征在于,采用以下兩種方式中的任意一種: a)發(fā)送端為固定ip地址:接收端將發(fā)送端的ip地址和路由段的ip地址按順序保存起來,需要發(fā)送給該發(fā)送端時,取發(fā)送端的ip地址作為待發(fā)數(shù)據(jù)包的目的ip地址,將預留空間內(nèi)的所有ip地址按堆棧退出的順序填入待發(fā)數(shù)據(jù)包的路由段即可實現(xiàn)回復路徑的構(gòu)建; b)發(fā)送端為非固定ip地址:接收端直接提取發(fā)送端ip地址和路由段ip地址,將發(fā)送端ip地址做為待發(fā)數(shù)據(jù)包的目的ip地址,將預留空間中的路由段ip地址按堆棧退出的順序回填到待發(fā)數(shù)據(jù)包的路由段即可實現(xiàn)回復路徑的構(gòu)建。
【文檔編號】H04L12/741GK104202250SQ201410392424
【公開日】2014年12月10日 申請日期:2014年8月11日 優(yōu)先權(quán)日:2014年8月11日
【發(fā)明者】張瑞安, 董友才 申請人:樂鑫信息科技(上海)有限公司