專(zhuān)利名稱(chēng):用于優(yōu)化攜帶反向路由頭部的消息的移動(dòng)網(wǎng)絡(luò)中的路由器布置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及利用移動(dòng)路由器的移動(dòng)網(wǎng)絡(luò)管理,其中移動(dòng)網(wǎng)絡(luò)能夠改變其到廣域網(wǎng)(例如,因特網(wǎng))的附接點(diǎn),從而改變移動(dòng)網(wǎng)絡(luò)在其關(guān)聯(lián)拓?fù)渲械目蛇_(dá)性。
背景技術(shù):
因特網(wǎng)工程任務(wù)(IETF)組已經(jīng)提議提高基于因特網(wǎng)協(xié)議(IP)的移動(dòng)設(shè)備(例如,膝上型計(jì)算機(jī)、IP電話(huà)、個(gè)人數(shù)字助理等)的移動(dòng)性支持,以便提供連續(xù)的基于因特網(wǎng)協(xié)議(IP)的連接。例如,IETF有一個(gè)移動(dòng)IP工作組,該組已經(jīng)開(kāi)發(fā)出路由支持來(lái)準(zhǔn)許IP節(jié)點(diǎn)(主機(jī)和路由器)使用IPv4或IPv6在IP子網(wǎng)之間無(wú)縫“漫游”。另外,移動(dòng)網(wǎng)絡(luò)(MONET)組(已改名為網(wǎng)絡(luò)移動(dòng)性(NEMO)組)已經(jīng)公布了不同的因特網(wǎng)草案,在地址為http//www.nal.motlabs.com/monet/的網(wǎng)絡(luò)移動(dòng)性主頁(yè)處的萬(wàn)維網(wǎng)中可以找到這些草案。由Thierry Ernst提交的一個(gè)題為“Network Mobility Support Terminology”(2002年2月)的示例性因特網(wǎng)草案可以在地址為http//www.nal.motlabs.com/monet/drafts/draft-ernst-monet-terminology-01.txt的萬(wàn)維網(wǎng)處得到,該草案公開(kāi)的全部?jī)?nèi)容通過(guò)參考結(jié)合于此。
例如,Ernst描述了一種可以部署在飛機(jī)中的示例性移動(dòng)網(wǎng)絡(luò),其中乘客建立他們各自的IP主機(jī)設(shè)備(例如,膝上型計(jì)算機(jī)、數(shù)字電話(huà)、個(gè)人數(shù)字助理等)到飛機(jī)中的移動(dòng)路由器的IP連接,以用于在飛機(jī)上執(zhí)行因特網(wǎng)接入;在飛行期間,飛機(jī)中的移動(dòng)路由器可以經(jīng)由不同的因特網(wǎng)服務(wù)提供商(ISP)改變其到因特網(wǎng)的附接點(diǎn),例如,通過(guò)經(jīng)由各個(gè)無(wú)線鏈路或者地球同步衛(wèi)星鏈路改變連接以實(shí)現(xiàn)越洋飛行。注意,在移動(dòng)網(wǎng)絡(luò)中乘客也可以有他或她自己的網(wǎng)絡(luò)(即,個(gè)人區(qū)域網(wǎng))。
根據(jù)NEMO組,移動(dòng)網(wǎng)絡(luò)可以包括一個(gè)或多個(gè)IP子網(wǎng),并且經(jīng)由一個(gè)或多個(gè)移動(dòng)路由器(MR)被連接到全球因特網(wǎng)。移動(dòng)路由器具有至少兩個(gè)網(wǎng)絡(luò)接口朝向廣域網(wǎng)的出接口和從移動(dòng)網(wǎng)絡(luò)中來(lái)的入接口。移動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)可以包括本地固定節(jié)點(diǎn)(LFN)(在維持正在進(jìn)行的會(huì)話(huà)時(shí)不能改變它們的附接點(diǎn)的節(jié)點(diǎn));本地移動(dòng)節(jié)點(diǎn)(LMN)(屬于移動(dòng)網(wǎng)絡(luò),并能夠在移動(dòng)網(wǎng)絡(luò)之內(nèi)或移動(dòng)網(wǎng)絡(luò)之外改變它們的附接點(diǎn)的移動(dòng)節(jié)點(diǎn));以及訪問(wèn)移動(dòng)節(jié)點(diǎn)(VMN)(不屬于移動(dòng)網(wǎng)絡(luò),并可以將它們的附接點(diǎn)從移動(dòng)網(wǎng)絡(luò)外改變到移動(dòng)網(wǎng)絡(luò)內(nèi)的移動(dòng)節(jié)點(diǎn))。這些節(jié)點(diǎn)中的每一個(gè)都可以是主機(jī)或路由器。
因此,移動(dòng)路由器是這樣的路由器,其被配置為用于在移動(dòng)網(wǎng)絡(luò)和諸如因特網(wǎng)之類(lèi)的廣域網(wǎng)的附接路由器之間建立通信鏈路,從而為移動(dòng)網(wǎng)絡(luò)提供到廣域網(wǎng)的連接。從而,移動(dòng)路由器充當(dāng)網(wǎng)關(guān)以在移動(dòng)網(wǎng)絡(luò)和因特網(wǎng)之間路由分組。
IETF還有一個(gè)移動(dòng)Ad-hoc網(wǎng)絡(luò)(MANET)工作組,該工作組致力于開(kāi)發(fā)由IEFT采用的標(biāo)準(zhǔn)化的MANET路由規(guī)范。根據(jù)MANET工作組,“移動(dòng)ad hoc網(wǎng)絡(luò)”(MANET)是由無(wú)線鏈路連接的移動(dòng)路由器(和關(guān)聯(lián)主機(jī))的自治系統(tǒng)一其聯(lián)合方式構(gòu)成任意圖形。路由器可以隨意移動(dòng),并且可以任意地組織其自身;這樣,網(wǎng)絡(luò)的無(wú)線拓?fù)淇梢钥焖俨⒉豢深A(yù)測(cè)地改變。這種網(wǎng)絡(luò)可以以獨(dú)立的方式運(yùn)行,或者可以被連接到更大的因特網(wǎng)。
MANET系統(tǒng)特別適于可能表現(xiàn)出不穩(wěn)定拓?fù)涞牡凸β薀o(wú)線網(wǎng)絡(luò),在該網(wǎng)絡(luò)中,無(wú)線發(fā)射源和接收機(jī)之間的無(wú)線傳播特性和信號(hào)質(zhì)量難于建模和量化。在MANET中,設(shè)備地址被關(guān)聯(lián)到設(shè)備,而不是拓?fù)湮恢?,因?yàn)椴淮嬖诠潭ǖ木W(wǎng)絡(luò)基礎(chǔ)設(shè)施。因此,當(dāng)被尋址的設(shè)備移動(dòng)時(shí),該移動(dòng)就改變路由基礎(chǔ)設(shè)施。因此,如由Baker提交的題為“An Outsider’s View ofMANET”的因特網(wǎng)草案(在地址為http//www.ietf.org/internet-drafts/draft-baker-manet-review-01.txt的萬(wàn)維網(wǎng)上的IETF可獲得該草案,其公開(kāi)的全部?jī)?nèi)容通過(guò)參考被結(jié)合于此)中所述,MANET的基本行為是路由節(jié)點(diǎn)隨身攜帶有地址或地址前綴,并且當(dāng)其移動(dòng)時(shí),該路由節(jié)點(diǎn)移動(dòng)實(shí)際地址;當(dāng)這種情況發(fā)生時(shí),必須根據(jù)新的拓?fù)渲匦掠?jì)算路由。例如,每個(gè)移動(dòng)路由器保留其地址前綴;因此,MANET中的相鄰移動(dòng)路由器可以具有不同的地址前綴。
在由Johnson等提交的題為“Mobility Support in IPv6”的因特網(wǎng)草案(在地址為http//www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-18.txt的萬(wàn)維網(wǎng)上可獲得該草案,其公開(kāi)的全部?jī)?nèi)容通過(guò)參考被結(jié)合于此)中公開(kāi)了“移動(dòng)IPv6”協(xié)議。根據(jù)Johoson等,移動(dòng)IPv6協(xié)議使得移動(dòng)節(jié)點(diǎn)能夠從一個(gè)鏈路移動(dòng)到另一個(gè)鏈路,而不改變?cè)撘苿?dòng)節(jié)點(diǎn)的IP地址。因此,移動(dòng)節(jié)點(diǎn)總是可以通過(guò)其“歸屬地址”(即,在其歸屬鏈路上,在其歸屬子網(wǎng)前綴中分配給移動(dòng)節(jié)點(diǎn)的IP地址)來(lái)尋址??梢允褂迷摰刂穼⒎纸M路由至移動(dòng)節(jié)點(diǎn),而不用考慮移動(dòng)節(jié)點(diǎn)到因特網(wǎng)的當(dāng)前附接點(diǎn)。在移動(dòng)到新鏈路之后,移動(dòng)節(jié)點(diǎn)還可以繼續(xù)與其他節(jié)點(diǎn)(固定的或移動(dòng)的)進(jìn)行通信。從而,移動(dòng)節(jié)點(diǎn)遠(yuǎn)離其歸屬鏈路的運(yùn)動(dòng)對(duì)于傳輸及高層協(xié)議和應(yīng)用來(lái)說(shuō)是透明的。
如果移動(dòng)網(wǎng)絡(luò)具有嵌套移動(dòng)網(wǎng)絡(luò)拓?fù)?其中多個(gè)移動(dòng)路由器被遞歸連接)就需要特別注意。圖1A圖示了嵌套的移動(dòng)網(wǎng)絡(luò)10,其具有嵌套附接的移動(dòng)路由器12a、12b、12c、12d、12e和12f,這使得本地固定節(jié)點(diǎn)(例如,LFN1)14能夠經(jīng)由諸如因特網(wǎng)18之類(lèi)的廣域分組交換網(wǎng)絡(luò)與對(duì)端節(jié)點(diǎn)16通信。由本地固定節(jié)點(diǎn)14向?qū)Χ斯?jié)點(diǎn)16發(fā)送的分組被移動(dòng)路由器12c接收到;移動(dòng)路由器12c添加具有源地址和目的地址的IPv6頭部,該源地址指定移動(dòng)路由器12c的歸屬地址,而目的地址指定對(duì)端節(jié)點(diǎn)16。分組從移動(dòng)路由器12c到因特網(wǎng)18的路徑是從MR312c到MR212b、到MR112a、再經(jīng)由接入路由器22到因特網(wǎng)18。
如圖1A所述,移動(dòng)路由器12c具有關(guān)聯(lián)的歸屬代理20,用于轉(zhuǎn)發(fā)將移動(dòng)路由器12c的歸屬地址指定為目的地址的分組。在接收到指定移動(dòng)路由器12c的歸屬地址的分組時(shí),歸屬代理20向?yàn)橐苿?dòng)路由器12c注冊(cè)的轉(zhuǎn)交地址(即,本地固定節(jié)點(diǎn)14)轉(zhuǎn)發(fā)分組。盡管未示出,但是移動(dòng)路由器12a和12b也都具有各自的歸屬代理。
圖1B圖示了由移動(dòng)路由器12a、12b和12c實(shí)現(xiàn)的雙向嵌套隧道22a、22b和22c,用于在本地固定節(jié)點(diǎn)14和對(duì)端節(jié)點(diǎn)16之間進(jìn)行通信。具體地說(shuō),由Knivetor,T.提交的題為“Mobile Router Support with MobileIP”的因特網(wǎng)草案(在地址為http//www.ietf.org/internet-drafts/draft-kniveton-mobrtr-03.txt的萬(wàn)維網(wǎng)上可獲得該草案,其公開(kāi)的全部?jī)?nèi)容通過(guò)參考被結(jié)合于此)建議了如圖1B所示的隧道中隧道(tunnel-within-tunnel)的方法。因此,根據(jù)Kniveton,本地固定節(jié)點(diǎn)14和對(duì)端節(jié)點(diǎn)16之間的通信可以基于移動(dòng)路由器(例如,12a)和對(duì)應(yīng)的歸屬代理(例如,20a)之間的雙向隧道(例如,22a),由移動(dòng)路由器12a、12b和12c,以及各自的歸屬代理20a、20b和20c來(lái)實(shí)現(xiàn)。
取決于歸屬代理20a、20b和20c的相對(duì)位置,嵌套的雙向隧道22a、22b和22c會(huì)在因特網(wǎng)18的基礎(chǔ)設(shè)施中導(dǎo)致非常低效的“彈球路由”。
發(fā)明內(nèi)容
需要這樣一種布置,該布置能夠以在嵌套的移動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)和對(duì)端節(jié)點(diǎn)之間的最小跳數(shù)來(lái)實(shí)現(xiàn)在該嵌套的移動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)和對(duì)端節(jié)點(diǎn)之間的通信。
還需要這樣一種布置,該布置能夠使用單條雙向隧道實(shí)現(xiàn)在嵌套的移動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)和對(duì)端節(jié)點(diǎn)之間的通信,同時(shí)將分組頭部大小的增長(zhǎng)最小化。
利用本發(fā)明可以達(dá)到這些和其他需求,其中移動(dòng)路由器被配置為優(yōu)化反向路由頭部的使用,該反向路由頭部用來(lái)指定始發(fā)移動(dòng)路由器和對(duì)應(yīng)的歸屬代理之間的路徑。反向路由頭部使得在去往歸屬代理的路徑中的每個(gè)移動(dòng)路由器都能夠指定其對(duì)應(yīng)的轉(zhuǎn)交地址,從而使得歸屬代理能夠經(jīng)由該對(duì)應(yīng)的移動(dòng)路由器建立去往始發(fā)移動(dòng)路由器的雙向隧道。移動(dòng)路由器基于該移動(dòng)路由器是否缺少下述路由表?xiàng)l目,通過(guò)將所接收到的分組的源地址值插入到反向路由頭部中,并且將其對(duì)應(yīng)的轉(zhuǎn)交地址插入到源地址字段中,來(lái)有選擇地更新所接收到的分組中的反向路由頭部所述路由表?xiàng)l目指定經(jīng)由該源地址值,在反向路由頭部中的最近條目的可達(dá)性。如果移動(dòng)路由器確定反向路由頭部沒(méi)有足夠的空間用于插入源地址值,則該移動(dòng)路由器可以向始發(fā)移動(dòng)路由器發(fā)送消息來(lái)增大該反向路由頭部的大小。始發(fā)移動(dòng)路由器還可以被配置為基于所確定的在始發(fā)移動(dòng)路由器和目的地歸屬代理之間的連接中的穩(wěn)定性特征,在所選擇的情況中發(fā)送反向路由頭部。
因此,反向路由頭部的使用可以被優(yōu)化為使所增加的數(shù)據(jù)流量最小化,并且確保反向路由頭部被配置為使空槽數(shù)目最小化。
本發(fā)明的一個(gè)方面提供了一種移動(dòng)網(wǎng)絡(luò)的移動(dòng)路由器中的方法。該方法包括接收具有源地址字段、目的地址字段和反向路由頭部的分組,源地址字段具有指定該分組的源的源地址值,目的地址字段具有指定始發(fā)移動(dòng)路由器的歸屬代理的目的地址值,反向路由頭部被配置為用于存儲(chǔ)地址。反向路由頭部至少具有指定始發(fā)移動(dòng)路由器的轉(zhuǎn)交地址的第一條目。該方法還包括基于所確定的不存在下述路由表?xiàng)l目的情況,通過(guò)將源地址值插入到反向路由頭部中的檢測(cè)出的空條目字段中,來(lái)有選擇地更新該反向路由頭部,其中所述路由表?xiàng)l目指定由源地址值,在該反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性。然后,向所標(biāo)識(shí)出的路由器輸出分組,這包括將移動(dòng)路由器的轉(zhuǎn)交地址插入到源地址字段中。
本發(fā)明的另一個(gè)方面提供了一種移動(dòng)路由器中的方法,該方法包括基于對(duì)應(yīng)的接收到的路由器通告消息,附接到默認(rèn)路由器,其中路由器通告消息具有樹(shù)信息選項(xiàng)字段,該字段具有指定對(duì)應(yīng)的路由器的網(wǎng)絡(luò)拓?fù)淠P偷膶傩?。該方法還包括生成基于IPv6的反向路由頭部。該基于IPv6的反向路由頭部具有歸屬地址字段和所選擇的數(shù)目的空地址槽,歸屬地址字段指定可由規(guī)定的歸屬代理識(shí)別的移動(dòng)路由器的對(duì)應(yīng)的規(guī)定的歸屬地址,所選擇的數(shù)目的空地址槽使得能夠存儲(chǔ)在移動(dòng)路由器和規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址。所選擇的數(shù)目至少基于網(wǎng)絡(luò)拓?fù)淠P蛠?lái)確定。該方法還包括生成外部IPv6頭部,該頭部具有源地址字段和目的地址字段,源地址字段指定移動(dòng)路由器的轉(zhuǎn)交地址,目的地址字段指定規(guī)定的歸屬代理的地址;以及向默認(rèn)路由器輸出分組,該分組至少包括外部IPv6頭部,并且有選擇地包括基于IPv6的反向路由頭部。
本發(fā)明的其他優(yōu)點(diǎn)和新穎特征將在下面的說(shuō)明中部分闡述,并且部分將在研究下面的內(nèi)容后對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)變得清楚,或者可以通過(guò)實(shí)施本發(fā)明來(lái)學(xué)習(xí)。本發(fā)明的優(yōu)點(diǎn)可以通過(guò)在所附權(quán)利要求中具體指出的手段和組合來(lái)實(shí)現(xiàn)和獲得。
參考附圖,在所有的附圖中,具有相同標(biāo)號(hào)的元件代表相同的元件,其中圖1A和圖1B分別圖示了已知(現(xiàn)有技術(shù))的移動(dòng)網(wǎng)絡(luò)和在移動(dòng)網(wǎng)絡(luò)中的末端節(jié)點(diǎn)和對(duì)端節(jié)點(diǎn)之間發(fā)送分組的隧道中隧道方法。
圖2圖示了根據(jù)本發(fā)明實(shí)施方式被配置用于移動(dòng)網(wǎng)絡(luò)中通信的移動(dòng)路由器。
圖3圖示了來(lái)自所接收到的路由器通告消息的樹(shù)信息選項(xiàng)。
圖4圖示了在反向路由頭部中插入地址。
圖5圖示了根據(jù)本發(fā)明實(shí)施方式的截短的路由頭部。
圖6圖示了根據(jù)本發(fā)明實(shí)施方式,由始發(fā)移動(dòng)路由器有選擇地生成基于IPv6的反向路由頭部或截短的基于IPv6的路由頭部的方法。
圖7圖示了根據(jù)本發(fā)明實(shí)施方式,由中間移動(dòng)路由器處理具有反向路由頭部的分組的方法。
圖8圖示了根據(jù)本發(fā)明實(shí)施方式,基于反向路由頭部在始發(fā)移動(dòng)路由器和對(duì)應(yīng)的歸屬代理之間建立的雙向隧道。
具體實(shí)施例方式
本發(fā)明公開(kāi)的實(shí)施方式針對(duì)優(yōu)化在移動(dòng)網(wǎng)絡(luò)中基于IPv6的反向路由頭部的生成和使用?;镜纳珊褪褂迷?002年6月19日由發(fā)明人公開(kāi)為因特網(wǎng)草案“IPv6Reverse Routing Header and its application to MobileNetworks”(在地址為http//www.ietf.org/internet-drafts/draft-thubert-nemo-reverse-routing-header-00.txt的萬(wàn)維網(wǎng)上可獲得該草案,其公開(kāi)的全部?jī)?nèi)容通過(guò)參考被結(jié)合于此)。最近的版本于2002年10月11日公布,在地址為http//www.ietf.org/internet-drafts/draff-thubert-nemo-reverse-routing-header-01.txt的萬(wàn)維網(wǎng)上可獲得,其公開(kāi)的全部?jī)?nèi)容通過(guò)參考被結(jié)合于此。
所公開(kāi)的實(shí)施方式通過(guò)選擇多個(gè)空地址槽,來(lái)優(yōu)化始發(fā)移動(dòng)路由器生成反向路由頭部的過(guò)程,其中所述多個(gè)空地址槽用于存儲(chǔ)始發(fā)移動(dòng)路由器與該路由器的歸屬代理之間的路由器的轉(zhuǎn)交地址。如下所述,始發(fā)移動(dòng)路由器最初基于接收到的路由器通告消息,選擇附接到路由器的多個(gè)空地址槽,其中所述通告消息具有指定包括樹(shù)(即,網(wǎng)絡(luò)拓?fù)淠P?中的跳數(shù)(即,深度)在內(nèi)的屬性的樹(shù)信息選項(xiàng)。在向其歸屬代理發(fā)送綁定更新消息時(shí),始發(fā)移動(dòng)路由器可以基于從歸屬代理接收到的綁定確認(rèn)消息中的路由頭部,確認(rèn)所需空槽的數(shù)目。另外,始發(fā)移動(dòng)路由器可以基于從在始發(fā)移動(dòng)路由器和歸屬代理之間的路由器接收到的因特網(wǎng)控制消息協(xié)議(ICMP)消息,調(diào)整空槽的數(shù)目;在這種情形中,其間的路由器響應(yīng)于檢測(cè)到用于插入其轉(zhuǎn)交地址的空槽數(shù)目不足而發(fā)送ICMP消息,這將在下面描述。
始發(fā)移動(dòng)路由器還使反向路由頭部(“第4類(lèi)頭部”)的使用最小化,以節(jié)約中間路由器中的帶寬和處理資源,并且不發(fā)送反向路由頭部,除非在網(wǎng)絡(luò)拓?fù)渲袡z測(cè)出了變化,或者非活動(dòng)定時(shí)器超時(shí)(指示在始發(fā)移動(dòng)路由器和歸屬代理之間的通信路徑中可能發(fā)生了故障)。在這種不需要反向路由頭部的情形中,始發(fā)移動(dòng)路由器改為發(fā)送截短的路由頭部(“第3類(lèi)”),下面將對(duì)其進(jìn)行描述。
通過(guò)插入接收具有反向路由頭部的分組的路由器,也優(yōu)化反向路由頭部的使用。如下所述,插入的路由器使用規(guī)定的路由協(xié)議來(lái)確定在其網(wǎng)絡(luò)拓?fù)淠P椭锌蛇_(dá)的移動(dòng)路由器(即,樹(shù)中在其下的路由器),并且在路由表?xiàng)l目中存儲(chǔ)路由信息。
如果響應(yīng)于接收到具有反向路由頭部的分組,移動(dòng)路由器確定存在這樣的路由表?xiàng)l目,該條目經(jīng)由分組的源地址指定反向路由頭部中的一個(gè)條目的可達(dá)性,則沒(méi)必要進(jìn)一步更新反向路由頭部。由于進(jìn)一步更新反向路由頭部是不必要的,所以移動(dòng)路由器僅僅用其自己的轉(zhuǎn)交地址更新源地址字段,然后沿樹(shù)向上轉(zhuǎn)發(fā)。因此,反向路由頭部的大小被最小化。
然而,如果移動(dòng)路由器確定不存在這樣的路由表?xiàng)l目,該條目經(jīng)由分組的源地址指定反向路由頭部中的一個(gè)條目的可達(dá)性,則移動(dòng)路由器更新反向路由頭部和源地址字段,然后沿樹(shù)向上轉(zhuǎn)發(fā)分組。如果確定不存在前述條目是因?yàn)槁酚杀項(xiàng)l目指示不同的、非默認(rèn)的路由,而不是分組的源,則移動(dòng)路由器使路由表?xiàng)l目無(wú)效,使其成為無(wú)效并過(guò)時(shí)的。在這種情形中,可以在分組已被轉(zhuǎn)發(fā)之后再更新路由表?xiàng)l目,從而使等待時(shí)間最小化。
首先將描述被配置為用于優(yōu)化反向路由頭部的生成和使用的移動(dòng)路由器,接下來(lái)將描述反向路由頭部的優(yōu)化。
圖2詳細(xì)圖示了移動(dòng)路由器30c(MR3),該移動(dòng)路由器30c被配置為附接到另一個(gè)移動(dòng)路由器30b(MR2),以建立基于樹(shù)的網(wǎng)絡(luò)拓?fù)淠P?2。基于樹(shù)的網(wǎng)絡(luò)拓?fù)淠P?2具有下述所需特性每個(gè)移動(dòng)路由器(例如,30a、30b、30c、30d和30e)都只選擇一個(gè)路由器作為其附接路由器以確保不存在循環(huán),從而確保樹(shù)型拓?fù)洹K_(kāi)的移動(dòng)路由器30可以將第2層集群動(dòng)態(tài)組裝為基于樹(shù)的拓?fù)淠P?2,以便優(yōu)化移動(dòng)IP操作,例如,通過(guò)使用在2002年8月15日遞交的題為“Arrangement for OptimizingConnections between Roaming Mobile Routers in a Mobile Network”的共同轉(zhuǎn)讓的未決申請(qǐng)10/218,515(代理案卷95-484,該申請(qǐng)公開(kāi)的全部?jī)?nèi)容通過(guò)參考被結(jié)合于此)中描述的附接技術(shù)。
根據(jù)公開(kāi)的實(shí)施方式,將基于樹(shù)的拓?fù)淠P?2組織成集群,其中諸如移動(dòng)路由器30a(MR1)之類(lèi)的頂層移動(dòng)路由器(TLMR)(根據(jù)具有其他移動(dòng)路由器可見(jiàn)的最高相對(duì)優(yōu)先值來(lái)確定)充當(dāng)集群頭(即,樹(shù)的根)??梢酝ㄟ^(guò)使用主動(dòng)式優(yōu)化路由算法(ORA)MANET協(xié)議來(lái)優(yōu)化樹(shù)32中的內(nèi)部通信。所有非TLMR移動(dòng)路由器(例如,30b、30c、30d和30e)都注冊(cè)到TLMR 30a,從而使得TLMR能夠知道去往集群中所有前綴的源路由路徑。
如下詳細(xì)描述,每個(gè)移動(dòng)路由器都通過(guò)將默認(rèn)路由器選為附接路由器,并且將附接路由器注冊(cè)為樹(shù)的成員來(lái)“附接”到附接路由器。多種建議已經(jīng)被提交到因特網(wǎng)工程任務(wù)組(IETF),用于使移動(dòng)路由器根據(jù)IPv6協(xié)議附接到移動(dòng)網(wǎng)絡(luò),這些建議包括上面結(jié)合于此的由Thubert等于2002年6月19日遞交的“IPv6 Reverse Routing Header and its Application toMobile Networks”。
每個(gè)移動(dòng)路由器包括IPv6接口40,用于發(fā)送和接收IPv6分組;和路由資源42,該路由資源42被配置為執(zhí)行路由操作,包括路由器附接選擇、路由器注冊(cè)、綁定更新和反向路由頭部處理,下面將對(duì)此進(jìn)行描述。路由資源42輸出路由器通告(RA)消息34(將參考圖3對(duì)其進(jìn)行描述),該消息使得其他路由器能夠基于對(duì)應(yīng)的RA消息,獨(dú)立確定是否要關(guān)聯(lián)到(即,附接到)對(duì)應(yīng)的路由器(也被稱(chēng)作路由器通告(RA)始發(fā)者)。因此,在接收到來(lái)自路由器30b或30e的RA消息時(shí),移動(dòng)路由器30c(例如,“MR3”)的路由資源42基于該RA消息所提供的屬性,利用選擇資源來(lái)選擇是否要附接到已經(jīng)輸出該RA消息的對(duì)應(yīng)的路由器通告始發(fā)者,下面將對(duì)此進(jìn)行描述。移動(dòng)路由器30c的路由資源42通過(guò)將RA消息中的信息存儲(chǔ)到其默認(rèn)的路由器列表55中,并且將該RA消息的源選為其附接路由器來(lái)關(guān)聯(lián)到路由器通告始發(fā)者;然后,路由資源42向附接路由器發(fā)送注冊(cè)消息,以請(qǐng)求它成為樹(shù)的成員。
內(nèi)部默認(rèn)路由器列表55中的路由器信息可以使用已知的路由器發(fā)現(xiàn)技術(shù),并且通過(guò)檢測(cè)未經(jīng)請(qǐng)求的路由器通告消息來(lái)獲得。路由器通告消息可以包括樹(shù)信息選項(xiàng)66(在上面結(jié)合的Thubert等人的文件中有所描述,并將在下面結(jié)合圖3示出),這使得移動(dòng)路由器能夠在默認(rèn)路由器列表中存儲(chǔ)每個(gè)檢測(cè)到的路由器的屬性,以及檢測(cè)到的路由器所附接到的樹(shù)的屬性。
一旦移動(dòng)路由器(例如,30c)選擇將默認(rèn)路由器(例如,30b)用作附接路由器,移動(dòng)路由器就經(jīng)由在集群內(nèi)部使用的路由協(xié)議(例如,MANET協(xié)議或移動(dòng)IP的擴(kuò)展)向TLMR(例如,30a)發(fā)送注冊(cè)請(qǐng)求。每個(gè)沿著路徑通往TLMR的移動(dòng)路由器(例如,30b、30a)都檢測(cè)來(lái)自始發(fā)移動(dòng)路由器(例如,30c)的注冊(cè)請(qǐng)求,并且在其路由表33中存儲(chǔ)始發(fā)移動(dòng)路由器(例如,30c)的轉(zhuǎn)交地址43和通往始發(fā)移動(dòng)路由器的源路由路徑45。
因此,TLMR可以在它們的路由表中存儲(chǔ)經(jīng)由它們的附接路由器到廣域網(wǎng)(例如,因特網(wǎng))的默認(rèn)路由(如在上面結(jié)合的申請(qǐng)10/218,515中所述);到它們的集群內(nèi)部的前綴的源路由路徑;以及根據(jù)標(biāo)準(zhǔn)路由協(xié)議,經(jīng)由虛擬隧道22通過(guò)各個(gè)TLMR 12a和12b去往所連接的集群中的移動(dòng)網(wǎng)絡(luò)的傳統(tǒng)路由。
每個(gè)已接收到注冊(cè)消息的路由器都將所指定的移動(dòng)路由器30c注冊(cè)為已經(jīng)發(fā)送了該注冊(cè)消息的移動(dòng)路由器,并且在其路由表33中存儲(chǔ)地址前綴43和由源路由所指定的路由路徑45。
每個(gè)路由器對(duì)是否附接到另一個(gè)路由器的獨(dú)立選擇使得路由器能夠動(dòng)態(tài)建立基于樹(shù)的網(wǎng)絡(luò)拓?fù)淠P?,其中每個(gè)路由器都可以連續(xù)確定是否優(yōu)選樹(shù)中的替換附接點(diǎn)。
每個(gè)路由器(例如,30c)都包括IPv6網(wǎng)絡(luò)接口40,例如利用無(wú)線802.11鏈路的IPv6或移動(dòng)IPv4網(wǎng)絡(luò)接口。IP網(wǎng)絡(luò)接口40可以包括例如被配置為在集群(例如,被實(shí)現(xiàn)為MANET)中執(zhí)行MANET協(xié)議通信的主動(dòng)式發(fā)現(xiàn)資源??梢杂糜谧R(shí)別移動(dòng)路由器的示例性主動(dòng)式MANET協(xié)議資源包括OSPF(版本3)資源,它被配置為用于監(jiān)控由MANET中的每個(gè)移動(dòng)路由器所通告的鏈路連接信息,并且還被配置為用于維護(hù)路由表33;可以使用的另一個(gè)路由協(xié)議是源樹(shù)自適應(yīng)路由(STAR)協(xié)議,在由J.J.Garcia-Luna-Aceves等人提交的因特網(wǎng)草案(可以在地址為http//www.ietf.org/proceedings/99nov/I-D/draft-ietf-manet-star-00.txt的萬(wàn)維網(wǎng)上的IETF處獲得該草案)中描述了該協(xié)議。路由表33被配置為用于存儲(chǔ)移動(dòng)路由器12的IP地址43和關(guān)聯(lián)的連接和源路由(SR)信息(例如,鏈路狀態(tài)等)45。協(xié)議資源還可以包括優(yōu)化鏈路狀態(tài)路由(OLSR)協(xié)議資源,它被配置為用于使用hello消息和鏈路狀態(tài)泛濫來(lái)識(shí)別移動(dòng)路由器16,以填充路由表33。在上面結(jié)合的由Baker提交的因特網(wǎng)草案中描述了關(guān)于MANET協(xié)議資源的其他信息。
路由器30c還包括附接路由器寄存器50,它被配置為用于指定由移動(dòng)路由器30c從默認(rèn)路由器列表55中選出的當(dāng)前附接路由器的IP地址?;蛘?,附接路由器寄存50可以為選出的路由器指定指向默認(rèn)路由器列表55中的條目的指針。路由器30c還包括用于存儲(chǔ)其對(duì)應(yīng)的歸屬代122的地址(MR3_HA)的歸屬代理寄存52。
圖3詳細(xì)圖示了根據(jù)本發(fā)明實(shí)施方式,由路由資源42生成的路由器通告消息34。RA消息34包括與在RFC 2461中描述的一樣的路由器通告字段。根據(jù)公開(kāi)的實(shí)施方式,樹(shù)信息選項(xiàng)字段66被添加到RA消息34,RA消息34包括由路由資源42中的樹(shù)信息發(fā)生器資源所生成的多個(gè)屬性68,這些屬性指定了由路由器通告始發(fā)者利用的網(wǎng)絡(luò)拓?fù)淠P?2,所述路由器通告始發(fā)者由IPv6頭部中的它的對(duì)應(yīng)的IP源地址(SA)標(biāo)識(shí)。
例如,樹(shù)信息選項(xiàng)字段66包括樹(shù)標(biāo)識(shí)符68a、樹(shù)組標(biāo)識(shí)符68b、優(yōu)先字段68c、樹(shù)深度字段68d、固定/移動(dòng)字段68e和延遲定時(shí)器字段68f。樹(shù)標(biāo)識(shí)符字段68a被配置為用于存儲(chǔ)頂層移動(dòng)路由器的IP地址,例如基于IEEE的64位擴(kuò)展唯一標(biāo)識(shí)符(EUI-64)的鏈路本地地址。樹(shù)組字段68b被配置為用于存儲(chǔ)諸如連接到TLMR的移動(dòng)路由器的IPv6地址之類(lèi)的樹(shù)組標(biāo)識(shí)符,這使得選擇資源46能夠區(qū)分相同集群中的多個(gè)樹(shù)組(即,分支)。優(yōu)先字段68c被配置為用于存儲(chǔ)與在對(duì)應(yīng)的優(yōu)先寄存器54中存儲(chǔ)的一樣的用于移動(dòng)路由器30c的優(yōu)先值,這使得接收RA消息34的移動(dòng)路由器能夠決定是否關(guān)聯(lián)到RA消息34的源。
樹(shù)深度字段68d被配置為用于存儲(chǔ)由樹(shù)信息生成資源48b指定的在樹(shù)32中移動(dòng)路由器的深度,這使得接收RA消息的其他路由器能夠確定在樹(shù)32中路由器通告始發(fā)者的相對(duì)位置。固定/移動(dòng)字段68e被配置為用于指定對(duì)應(yīng)的樹(shù)32是接地樹(shù)還是漂浮樹(shù)。具體地說(shuō),如果頂層移動(dòng)路由器被連接到固定的路由器,則認(rèn)為樹(shù)32是固定的。延遲定時(shí)器字段68f被配置為用于存儲(chǔ)其他路由器用于延遲隨后的拓?fù)渥兓念A(yù)定延遲間隔,從而響應(yīng)于RA消息34來(lái)延遲隨后的RA消息的傳播。
樹(shù)信息選項(xiàng)(TIO)66還可以包括路徑校驗(yàn)和字段(圖3未示出),路徑校驗(yàn)和字段使得移動(dòng)路由器能夠確定在其上通過(guò)樹(shù)的路徑是否已經(jīng)改變;換句話(huà)說(shuō),路徑校驗(yàn)和改變指示真實(shí)的路徑改變。當(dāng)傳播TIO時(shí),中間移動(dòng)路由器使用它在TIO中接收到的校驗(yàn)和以及16字節(jié)的它的轉(zhuǎn)交地址,來(lái)建立字節(jié)串;然后,移動(dòng)路由器利用該結(jié)果覆寫(xiě)TIO中的校驗(yàn)和。這種操作在樹(shù)深度增加的同時(shí)被執(zhí)行。TLMR使用為0的校驗(yàn)和用于它的計(jì)算。
圖4圖示了由始發(fā)移動(dòng)路由器30c、中間移動(dòng)路由器30b和頂層移動(dòng)路由器30a分別更新反向路由頭部90a、90b和90c。具體地說(shuō),圖4圖示了分組100,該分組具有源地址字段102、目的地址字段104、擴(kuò)展頭部106、反向路由頭部(例如,90a)、以及已由諸如圖2的本地固定節(jié)點(diǎn)15之類(lèi)的始發(fā)源生成的內(nèi)部分組108。
如上面所結(jié)合的Thubert等的草案所述,作為始發(fā)移動(dòng)路由器的移動(dòng)路由器30c輸出分組100,該分組具有源地址字段102,其指定移動(dòng)路由器30c的轉(zhuǎn)交地址112c(MR3_CoA),以及在反向路由頭部90a中的所選擇的多個(gè)空地址槽114??盏刂凡凼沟寐酚善?0b和30a能夠在IPv6頭部中(例如,在反向路由頭部或源地址字段102中)存儲(chǔ)它們各自的轉(zhuǎn)交地址。
具體地說(shuō),移動(dòng)路由器30c的路由資源42具有用于生成反向路由頭部的資源43資源43將為移動(dòng)路由器30c規(guī)定的歸屬地址116(MR3_HAddr)插入到第一槽(槽0)中,并且在類(lèi)型字段118中指定路由頭部的類(lèi)型為“4”。路由資源42將移動(dòng)路由器30c的轉(zhuǎn)交地址112c插入到源地址字段102中,將對(duì)應(yīng)的歸屬代理122的地址120(MR3_HA)插入到目的地址字段104中,并且向其附接路由器30b輸出分組100。
移動(dòng)路由器30b響應(yīng)于檢測(cè)到反向路由頭部90a,通過(guò)將源地址值112c插入到所檢測(cè)出的空條目字段“槽1”,從而更新反向路由頭部90b,來(lái)有選擇地更新反向路由頭部。移動(dòng)路由器30b將其自己的轉(zhuǎn)發(fā)地址112b插入到源地址字段102中,并且向其附接路由器30a輸出該分組。下面參考圖5、圖6和圖7描述反向路由頭部的選擇更新。
移動(dòng)路由器30a響應(yīng)于檢測(cè)到反向路由頭部90a,通過(guò)將源地址值112b插入到所檢測(cè)出的空條目字段“槽2”,從而更新反向路由頭部90a,來(lái)有選擇地更新反向路由頭部。移動(dòng)路由器30a將其自己的轉(zhuǎn)發(fā)地址112a插入到源地址字段102中,并且向接入路由器22輸出該分組,以傳遞到移動(dòng)路由器30c的歸屬代理122,結(jié)果導(dǎo)致如圖8所示的隧道130。下面參考圖5、圖6和圖7描述反向路由頭部的選擇更新。
歸屬代理122讀取底部條目來(lái)識(shí)別移動(dòng)路由器30c的歸屬地址,好像該條目是移動(dòng)IPv6歸屬地址目的地選項(xiàng)一樣(即,作為到綁定緩存中的索引)使用該條目。歸屬代理122現(xiàn)在可以通過(guò)使用在建立路由頭部過(guò)程中得到的反向路由頭部90c和源地址102,而經(jīng)由隧道130,直接發(fā)回分組。
反向路由頭部90c使得能夠最準(zhǔn)確地更新歸屬代理122中的對(duì)端綁定緩存條目。盡管這種布置在高度移動(dòng)和嵌套配置中尤其有益,但是這種解決辦法在某些情況中可能是沒(méi)必要的。另外,使用反向路由頭部要求在所有中間移動(dòng)路由器中和對(duì)應(yīng)的歸屬代理122中都要進(jìn)行處理。另外,反向路由頭部使分組大小增加了比在移動(dòng)網(wǎng)絡(luò)中的每一跳的IP地址的大小大的部分。
根據(jù)公開(kāi)的實(shí)施方式,利用最初生成反向路由頭部90a的始發(fā)移動(dòng)路由器30c和確定是否更新反向路由頭部90a的中間移動(dòng)路由器30b和30a來(lái)優(yōu)化反向路由頭部操作。所公開(kāi)的優(yōu)化操作使得能夠有選擇地減少分組的大小,以避免浪費(fèi)帶寬,并減少中間路由器中的處理需求。
具體地說(shuō),如果移動(dòng)路由器30c確定不需要反向路由頭部(如參考圖6所述),則始發(fā)移動(dòng)路由器30c可以改為發(fā)送裁短的基于IPv6的路由頭部91,其具有歸屬地址字段116,而沒(méi)有用于存儲(chǔ)中間路由器的轉(zhuǎn)交地址的出現(xiàn)在反向路由頭部90中的地址槽。相反,裁短的路由頭部91只包括路由頭部類(lèi)型(第3類(lèi))字段119和用于移動(dòng)路由器30c的歸屬地址116的字段。
因此,裁短的頭部91代替了移動(dòng)IP MIP歸屬地址選項(xiàng),并且允許歸屬代理122確定分組的實(shí)際源,以訪問(wèn)其內(nèi)部路由表中的對(duì)應(yīng)的安全關(guān)聯(lián)。另外,中間移動(dòng)路由器響應(yīng)于檢測(cè)到裁短的頭部91,被配置為用于自動(dòng)轉(zhuǎn)發(fā)分組100,而不更新該裁短的頭部,只用對(duì)應(yīng)的轉(zhuǎn)交地址(例如,112a)更新源地址字段102。
圖6圖示了根據(jù)本發(fā)明實(shí)施方式,在建立雙向隧道130時(shí),由始發(fā)移動(dòng)路由器30c的路由資源42用來(lái)對(duì)反向路由頭部(RRH)90a的使用進(jìn)行優(yōu)化的方法。這里參考圖6和圖7描述的步驟可以實(shí)現(xiàn)為存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)(例如,軟盤(pán)、硬盤(pán)、EEPROM、CD-ROM等)中的可執(zhí)行代碼、或者經(jīng)由計(jì)算機(jī)可讀傳輸介質(zhì)(例如,光纜、導(dǎo)電傳輸線介質(zhì)、無(wú)線電磁介質(zhì)等)傳播的可執(zhí)行代碼。
該方法開(kāi)始于步驟200,在該步驟中,始發(fā)移動(dòng)路由器30c的路由資源42例如基于檢測(cè)出的附接路由器寄存器50中的變化,確定是否要新附接到移動(dòng)路由器。如果檢測(cè)到指示樹(shù)32的拓?fù)渲械淖兓男侣酚善鞲浇?,則路由資源42在步驟202中基于來(lái)自對(duì)應(yīng)的路由器通告消息34的對(duì)應(yīng)的樹(shù)信息選項(xiàng)66的樹(shù)深度信息68d,選擇反向路由頭部所需的槽的數(shù)目。
假定在步驟204中移動(dòng)路由器接收到了分組。如果在步驟206中消息是來(lái)自對(duì)應(yīng)的歸屬代理122的綁定確認(rèn),則路由資源42基于在綁定確認(rèn)消息中的路由頭部,在步驟208中設(shè)置用于反向路由頭部的選擇出的槽的數(shù)目。因此,路由資源42可以基于步驟202中的樹(shù)深度信息,或者根據(jù)來(lái)自歸屬代理122的任何消息的路由頭部的槽數(shù)目,選擇將在反向路由頭部90a中被使用的槽114的數(shù)目。注意,路由資源42還可以響應(yīng)于接收由中間移動(dòng)路由器(例如,30b或30a)生成的因特網(wǎng)控制消息協(xié)議(ICMP)消息,在步驟210中增加槽的數(shù)目,下面將參考圖7對(duì)其進(jìn)行描述。
始發(fā)移動(dòng)路由器30c還選擇是否對(duì)輸出到其附接路由器30b的每個(gè)數(shù)據(jù)分組分組100添加反向路由頭部90a或者截短的頭部91。例如,路由資源42可以在步驟212中檢查非活動(dòng)定時(shí)器是否期滿(mǎn),這指示在一段規(guī)定的時(shí)間間隔內(nèi)還未接收到來(lái)自歸屬代理122的消息。另外,路由資源42可以在步驟214中檢查被配置為用于監(jiān)控網(wǎng)絡(luò)拓?fù)淠P?2的穩(wěn)定性的啟發(fā)式定時(shí)器是否指示需要向歸屬代理122發(fā)送完整的反向路由頭部90a。如果在步驟212或214中路由資源42確定需要第4類(lèi)的反向路由頭部,則路由資源42中的RRH資源43在步驟216中生成反向路由頭部90a,并且將該反向路由頭部90a添加到分組108中。另外,如果在步驟212或214中路由資源42確定不需要第4類(lèi)的反向路由頭部,則RRH資源43在步驟218中生成截短的路由頭部91,并且將該截短的頭部91添加到分組108中。
然后,在步驟220中輸出具有所選擇的路由頭部的分組,該分組還具有為移動(dòng)路由器30c指定轉(zhuǎn)交地址的源地址字段102和指定歸屬代理地址120的目的地址字段104。
圖7圖示了根據(jù)本發(fā)明實(shí)施方式,基于優(yōu)化的處理,在中間路由器(例如,30b或30a)中的路由資源42處理具有反向路由頭部(例如,90a或90b)的分組100的方法。
該方法開(kāi)始于步驟230,在該步驟中,中間路由器的IPv6接口40接收具有反向路由頭部的分組。注意,在本實(shí)施例中,假定分組包括與截短的頭部91相對(duì)的反向路由頭部90;如果中間路由器接收到具有截短的頭部91的分組,則中間路由器將僅僅用其自身的轉(zhuǎn)交地址更新源地址字段,然后將該分組向上轉(zhuǎn)發(fā)到其對(duì)應(yīng)的附接路由器。
路由資源42在步驟232中檢查其內(nèi)部路由表33,以確定是否沒(méi)有必要更新反向路由頭部。具體地說(shuō),如果中間路由器(例如,30b)的路由資源42確定由于其內(nèi)部路由表中的冗余信息而無(wú)需使用反向路由頭部,則可以避免更新反向路由頭部。
具體地說(shuō),路由資源42(例如,移動(dòng)路由器30a的)確定路由表33是否包括這樣的條目43該條目具有源路由路徑45,其指示最近的反向路由頭部條目(例如,MR3_CoA)是經(jīng)由在源地址字段102中指定的源地址(例如,MR2_CoA)112b可達(dá)的。如上所述,移動(dòng)路由器應(yīng)當(dāng)已經(jīng)通過(guò)使用動(dòng)態(tài)路由協(xié)議而注冊(cè)到中間路由器,從而使得每個(gè)移動(dòng)路由器都能夠通過(guò)其對(duì)應(yīng)的路由表33,知道在其關(guān)聯(lián)的子樹(shù)下的路由,以到達(dá)該樹(shù)中的更低節(jié)點(diǎn)。換句話(huà)說(shuō),路由資源42檢查其路由表33是否能經(jīng)由作為具有RRH的分組的源的路由器來(lái)路由如下分組,該分組的目的地是反向路由頭部的最近的條目。
如果在步驟232中路由資源42確定其路由表33包括這樣的表?xiàng)l目43,該條目指定經(jīng)由源地址值112,反向路由頭部中的最近條目的可達(dá)性,則沒(méi)必要進(jìn)一步更新反向路由頭部。因此,如果沒(méi)有必要進(jìn)一步更新反向路由頭部,則路由資源42在步驟234中用其自身的轉(zhuǎn)交地址(例如,112a)更新源地址字段102,并且輸出不具有更新過(guò)的反向路由頭部的分組。
如果在步驟232中路由資源42確定例如由于過(guò)時(shí)的條目而不存在這樣的路由表?xiàng)l目43,該條目指定經(jīng)由在源地址字段102中指定的源地址值,反向路由頭部中的最近條目的可達(dá)性,則路由資源42在步驟236中使該過(guò)時(shí)的路由表?xiàng)l目無(wú)效。
路由資源42在步驟238中檢查反向路由頭部90是否包括空槽114,可用來(lái)插入在源地址字段102中指定的地址。如果沒(méi)有空槽114可用,則中間移動(dòng)路由器的路由資源42在步驟240中向始發(fā)移動(dòng)路由器30c輸出ICMP消息,指出反向路由頭部太小。如參考圖6所述,始發(fā)移動(dòng)路由器響應(yīng)于所接收到的ICMP消息,在步驟210中增加用于后續(xù)RRH消息的槽的數(shù)目。由于在所接收到的分組中無(wú)空槽114可用,所以已經(jīng)發(fā)送了ICMP消息的中間路由器的路由資源42在步驟242中通過(guò)添加新的IPv6頭部34來(lái)封裝所接收到的分組,該新的IPv6頭部具有指定中間路由器(例如,“MR2_HAddr”)的歸屬地址116的新RRH 66。然后,中間路由器在步驟242中輸出具有新添加的IPv6頭部的封裝過(guò)的分組,以用于傳遞到其對(duì)應(yīng)的歸屬代理(例如,“MR2_HA”)。
如果在步驟238中存在可用空槽,則路由資源42在步驟244中通過(guò)將來(lái)自源地址字段102的源地址值(例如,112b)插入到下一個(gè)可用的空槽114中,并且用其自身對(duì)應(yīng)的轉(zhuǎn)交地址(例如,112a)覆寫(xiě)源地址字段102,來(lái)更新反向路由頭部。然后,路由資源在步驟246中輸出具有更新過(guò)的源地址字段102和更新過(guò)的反向路由頭部的分組。
根據(jù)公開(kāi)的實(shí)施方式,反向路由頭部的使用在始發(fā)移動(dòng)路由器和中間路由器中得到優(yōu)化,這提供了反向路由頭部的最大效用,同時(shí)使不必要的帶寬和移動(dòng)路由器中的處理資源最小化。始發(fā)移動(dòng)路由器可以取決于移動(dòng)網(wǎng)絡(luò)的相對(duì)穩(wěn)定性,有選擇地生成反向路由頭部,其中,在快速變化的網(wǎng)絡(luò)中,始發(fā)移動(dòng)路由器可以更頻繁地生成反向路由頭部,反之,在相對(duì)穩(wěn)定的網(wǎng)絡(luò)中,始發(fā)移動(dòng)路由器可以更多地使用截短的頭部,從而導(dǎo)致相當(dāng)大的帶寬節(jié)約,同時(shí)保持與歸屬代理之間的可靠連接。此外,所公開(kāi)的優(yōu)化方法可以獨(dú)立地實(shí)現(xiàn)于每個(gè)移動(dòng)路由器中,這可以簡(jiǎn)化移動(dòng)網(wǎng)絡(luò)中的部署。
盡管已經(jīng)結(jié)合當(dāng)前認(rèn)為最實(shí)用、最優(yōu)選的實(shí)施方式描述了所公開(kāi)的實(shí)施方式,但是應(yīng)當(dāng)理解,本發(fā)明不受限于所公開(kāi)的實(shí)施方式,相反,而是要覆蓋包括在所附權(quán)利要求的精神和范圍中的各種修改和等同布置。
權(quán)利要求
1.一種移動(dòng)網(wǎng)絡(luò)的移動(dòng)路由器中的方法,所述方法包括接收具有源地址字段、目的地址字段和被配置為用于存儲(chǔ)地址的反向路由頭部的分組,所述源地址字段具有指定所述分組的源的源地址值,所述目的地址字段具有指定始發(fā)移動(dòng)路由器的歸屬代理的目的地址值,所述反向路由頭部至少具有指定所述始發(fā)移動(dòng)路由器的轉(zhuǎn)交地址的第一條目;基于所確定的不存在下述路由表?xiàng)l目的情況,通過(guò)將所述源地址值插入到所述反向路由頭部的檢測(cè)出的空條目字段中,來(lái)有選擇地更新所述反向路由頭部所述路由表?xiàng)l目指定經(jīng)由所述源地址值,在所述反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性;和向標(biāo)識(shí)出的路由器輸出所述分組,這包括將所述移動(dòng)路由器的轉(zhuǎn)交地址插入到所述源地址字段中。
2.如權(quán)利要求1所述的方法,還包括基于所確定的不存在所述空條目字段的情況,向所述始發(fā)移動(dòng)路由器發(fā)送消息,該消息請(qǐng)求增加所述反向路由頭部的大小。
3.如權(quán)利要求2所述的方法,其中,所述發(fā)送包括基于所述反向路由頭部,生成所述消息的IPv6頭部,所述IPv6頭部指定去往所述始發(fā)移動(dòng)路由器的路徑。
4.如權(quán)利要求3所述的方法,其中,所述發(fā)送包括根據(jù)因特網(wǎng)控制消息協(xié)議發(fā)送所述消息。
5.如權(quán)利要求1所述的方法,其中,所述輸出包括基于所確定的存在所述路由表?xiàng)l目的情況,輸出如下分組,所述分組具有未經(jīng)所述移動(dòng)路由器更新的所述反向路由頭部。
6.如權(quán)利要求1所述的方法,還包括檢測(cè)第二路由表?xiàng)l目,所述第二路由表?xiàng)l目指定經(jīng)由不同于所述源地址值的第二地址,在所述反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性;和基于對(duì)不同于所述源地址值的所述第二地址的所述檢測(cè),使所述第二路由表?xiàng)l目作為過(guò)時(shí)的而被無(wú)效。
7.一種移動(dòng)路由器中的方法,所述的方法包括基于對(duì)應(yīng)的接收到的路由器通告消息,附接到默認(rèn)路由器,其中所述路由器通告消息具有樹(shù)信息選項(xiàng)字段,所述樹(shù)信息選項(xiàng)字段具有指定所述對(duì)應(yīng)的路由器的網(wǎng)絡(luò)拓?fù)淠P偷膶傩裕簧苫贗Pv6的反向路由頭部,所述反向路由頭部具有歸屬地址字段和所選擇的數(shù)目的空地址槽,所述歸屬地址字段指定可由規(guī)定的歸屬代理識(shí)別的所述移動(dòng)路由器的對(duì)應(yīng)的規(guī)定的歸屬地址,所述所選擇的數(shù)目的空地址槽使得能夠存儲(chǔ)在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器的各自的轉(zhuǎn)交地址,其中所述所選擇的數(shù)目至少基于所述網(wǎng)絡(luò)拓?fù)淠P蛠?lái)確定;第二生成外部IPv6頭部,所述外部IPv6頭部具有源地址字段和目的地址字段,所述源地址字段指定所述移動(dòng)路由器的所述轉(zhuǎn)交地址,所述目的地址字段指定所述規(guī)定的歸屬代理的地址;和向所述默認(rèn)路由器輸出分組,所述分組至少包括所述外部IPv6頭部,并且有選擇地包括所述基于IPv6的反向路由頭部。
8.如權(quán)利要求7所述的方法,其中,所述生成步驟包括基于被指定為所述網(wǎng)絡(luò)拓?fù)淠P偷乃鰧傩灾坏臉?shù)深度字段來(lái)選擇所述所選擇的數(shù)目,所述樹(shù)深度字段指定在所述移動(dòng)路由器和頂層移動(dòng)路由器之間的路徑中的多個(gè)路由器。
9.如權(quán)利要求8所述的方法,還包括第三生成截短的基于IPv6的路由頭部,所述路由頭部具有所述歸屬地址字段,但是沒(méi)有所述地址槽,其中所述地址槽用于存儲(chǔ)在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址;和基于所確定的所述網(wǎng)絡(luò)拓?fù)淠P偷姆€(wěn)定性,輸出另一個(gè)分組,該分組包括從所述基于IPv6的反向路由頭部和所述截短的基于IPv6的路由頭部中選擇出的一個(gè)。
10.如權(quán)利要求9所述的方法,其中,所述所確定的穩(wěn)定性是基于非活動(dòng)定時(shí)器的期滿(mǎn)。
11.如權(quán)利要求8所述的方法,還包括接收指定所述空地址槽數(shù)目不足的因特網(wǎng)控制消息協(xié)議消息;所述選擇包括基于所述因特網(wǎng)控制消息協(xié)議消息來(lái)增加所述所選擇的數(shù)目。
12.如權(quán)利要求8所述的方法,還包括接收來(lái)自所述歸屬代理的具有路由頭部的消息,其中所述路由頭部指定在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址;所述選擇包括基于所述路由頭部來(lái)確定所述所選擇的數(shù)目。
13.一種被配置為用于在移動(dòng)網(wǎng)絡(luò)中建立通信的移動(dòng)路由器,所述移動(dòng)路由器包括IPv6接口,該IPv6接口被配置為用于接收具有源地址字段、目的地址字段和被配置為用于存儲(chǔ)地址的反向路由頭部的分組,所述源地址字段具有指定所述分組的源的源地址值,所述目的地址字段具有指定始發(fā)移動(dòng)路由器的歸屬代理的目的地址值,所述反向路由頭部至少具有指定所述始發(fā)移動(dòng)路由器的轉(zhuǎn)交地址的第一條目;和路由資源,該路由資源被配置為用于基于所確定的不存在下述路由表?xiàng)l目的情況,通過(guò)將所述源地址值插入到所述反向路由頭部的檢測(cè)出的空條目字段中,來(lái)有選擇地更新所述反向路由頭部所述路由表?xiàng)l目指定經(jīng)由所述源地址值,在所述反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性;所述IPv6接口被配置為用于向標(biāo)識(shí)出的路由器輸出所述分組,這包括將所述移動(dòng)路由器的轉(zhuǎn)交地址插入到所述源地址字段中。
14.如權(quán)利要求13所述的移動(dòng)路由器,其中,所述路由資源被配置為用于基于所確定的不存在所述空條目字段的情況,生成請(qǐng)求增加所述反向路由頭部大小的消息,以用于傳輸?shù)剿鍪及l(fā)移動(dòng)路由器。
15.如權(quán)利要求14所述的移動(dòng)路由器,其中,所述路由資源被配置為用于基于所述反向路由頭部,生成所述消息的IPv6頭部,其中所述IPv6頭部指定去往所述始發(fā)移動(dòng)路由器的路徑。
16.如權(quán)利要求15所述的移動(dòng)路由器,其中,所述路由資源被配置為用于根據(jù)因特網(wǎng)控制消息協(xié)議來(lái)生成所述消息。
17.如權(quán)利要求13所述的移動(dòng)路由器,其中,所述路由資源被配置為用于基于所確定的存在所述路由表?xiàng)l目的情況,生成所述分組,所述分組具有未被更新的所述反向路由頭部。
18.如權(quán)利要求13所述的移動(dòng)路由器,其中所述路由資源被配置為用于檢測(cè)第二路由表?xiàng)l目,所述第二路由表?xiàng)l目指定經(jīng)由不同于所述源地址值的第二地址,在所述反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性;和基于對(duì)不同于所述源地址值的所述第二地址的所述檢測(cè),使所述第二路由表?xiàng)l目作為過(guò)時(shí)的而被無(wú)效。
19.一種被配置為用于在移動(dòng)網(wǎng)絡(luò)中建立通信的移動(dòng)路由器,所述移動(dòng)路由器包括路由資源,該路由資源被配置為用于(1)基于對(duì)應(yīng)的接收到的路由器通告消息,附接到默認(rèn)路由器,其中所述路由器通告消息具有樹(shù)信息選項(xiàng)字段,所述樹(shù)信息選項(xiàng)字段具有指定所述對(duì)應(yīng)的路由器的網(wǎng)絡(luò)拓?fù)淠P偷膶傩裕?2)生成基于IPv6的反向路由頭部,所述反向路由頭部具有歸屬地址字段和所選擇的數(shù)目的空地址槽,所述歸屬地址字段指定可由規(guī)定的歸屬代理識(shí)別的所述移動(dòng)路由器的對(duì)應(yīng)的規(guī)定的歸屬地址,所述所選擇的數(shù)目的空地址槽使得能夠存儲(chǔ)在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址,其中所述所選擇的數(shù)目至少基于所述網(wǎng)絡(luò)拓?fù)淠P蛠?lái)確定,以及(3)第二生成外部IPv6頭部,所述外部IPv6頭部具有源地址字段和目的地址字段,所述源地址字段指定所述移動(dòng)路由器的所述轉(zhuǎn)交地址,所述目的地址字段指定所述規(guī)定的歸屬代理的地址;和IPv6接口,該IPv6接口被配置為用于向所述默認(rèn)路由器輸出分組,所述分組至少包括所述外部IPv6頭部,并且所述路由資源已經(jīng)有選擇地將所述基于IPv6的反向路由頭部添加到了所述分組中。
20.如權(quán)利要求19所述的移動(dòng)路由器,其中,所述路由資源被配置為用于基于被指定為所述網(wǎng)絡(luò)拓?fù)淠P偷乃鰧傩灾坏臉?shù)深度字段來(lái)選擇所述所選擇的數(shù)目,所述樹(shù)深度字段指定在所述移動(dòng)路由器和頂層移動(dòng)路由器之間的路徑中的多個(gè)路由器。
21.如權(quán)利要求20所述的移動(dòng)路由器,其中所述路由資源還被配置為用于第三生成截短的基于IPv6的路由頭部,所述路由頭部具有所述歸屬地址字段,但是沒(méi)有所述地址槽,其中所述地址槽用于存儲(chǔ)在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址;和基于所確定的所述網(wǎng)絡(luò)拓?fù)淠P偷姆€(wěn)定性,選擇所述基于IPv6的反向路由頭部和所述截短的基于IPv6的路由頭部之一。
22.如權(quán)利要求21所述的移動(dòng)路由器,其中,所述所確定的穩(wěn)定性是基于非活動(dòng)定時(shí)器的期滿(mǎn)。
23.如權(quán)利要求20所述的移動(dòng)路由器,其中,所述路由資源被配置為響應(yīng)于接收到指定所述空地址槽數(shù)目不足的因特網(wǎng)控制消息協(xié)議消息,而基于所述因特網(wǎng)控制消息協(xié)議消息來(lái)增加所述所選擇的數(shù)目。
24.如權(quán)利要求20所述的移動(dòng)路由器,其中,所述路由資源被配置為用于接收來(lái)自所述歸屬代理的具有路由頭部的消息,其中所述路由頭部指定在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址,所述路由資源還被配置為用于基于所述路由頭部來(lái)確定所述所選擇的數(shù)目。
25.一種具有存儲(chǔ)在其上的指令序列的計(jì)算機(jī)可讀介質(zhì),所述指令序列用于通過(guò)移動(dòng)網(wǎng)絡(luò)中的移動(dòng)路由器建立通信,所述指令序列包括用于下述操作的指令接收具有源地址字段、目的地址字段和被配置為用于存儲(chǔ)地址的反向路由頭部的分組,所述源地址字段具有指定所述分組的源的源地址值,所述目的地址字段具有指定始發(fā)移動(dòng)路由器的歸屬代理的目的地址值,所述反向路由頭部至少具有指定所述始發(fā)移動(dòng)路由器的轉(zhuǎn)交地址的第一條目;基于所確定的不存在下述路由表?xiàng)l目的情況,通過(guò)將所述源地址值插入到所述反向路由頭部的檢測(cè)出的空條目字段中,來(lái)有選擇地更新所述反向路由頭部所述路由表?xiàng)l目指定經(jīng)由所述源地址值,在所述反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性;和向標(biāo)識(shí)出的路由器輸出所述分組,這包括將所述移動(dòng)路由器的轉(zhuǎn)交地址插入到所述源地址字段中。
26.如權(quán)利要求25所述的介質(zhì),還包括用于下述操作的指令基于所確定的不存在所述空條目字段的情況,向所述始發(fā)移動(dòng)路由器發(fā)送消息,該消息請(qǐng)求增加所述反向路由頭部的大小。
27.如權(quán)利要求26所述的介質(zhì),其中,所述發(fā)送包括基于所述反向路由頭部生成所述消息的IPv6頭部,所述IPv6頭部指定去往所述始發(fā)移動(dòng)路由器的路徑。
28.如權(quán)利要求27所述的介質(zhì),其中,所述發(fā)送包括根據(jù)因特網(wǎng)控制消息協(xié)議發(fā)送所述消息。
29.如權(quán)利要求25所述的介質(zhì),其中,所述輸出包括基于所確定的存在所述路由表?xiàng)l目的情況,輸出所述分組,所述分組具有未經(jīng)所述移動(dòng)路由器更新的所述反向路由頭部。
30.如權(quán)利要求25所述的介質(zhì),還包括用于下述操作的指令檢測(cè)第二路由表?xiàng)l目,所述第二路由表?xiàng)l目指定經(jīng)由不同于所述源地址值的第二地址,在所述反向路由頭部中標(biāo)識(shí)出的條目的可達(dá)性;和基于對(duì)不同于所述源地址值的所述第二地址的所述檢測(cè),使所述第二路由表?xiàng)l目作為過(guò)時(shí)的而被無(wú)效。
31.一種具有存儲(chǔ)在其上的指令序列的計(jì)算機(jī)可讀介質(zhì),所述指令序列用于通過(guò)移動(dòng)網(wǎng)絡(luò)中的移動(dòng)路由器建立通信,所述指令序列包括用于下述操作的指令基于對(duì)應(yīng)的接收到的路由器通告消息,附接到默認(rèn)路由器,其中所述路由器通告消息具有樹(shù)信息選項(xiàng)字段,所述樹(shù)信息選項(xiàng)字段具有指定所述對(duì)應(yīng)的路由器的網(wǎng)絡(luò)拓?fù)淠P偷膶傩裕簧苫贗Pv6的反向路由頭部,所述反向路由頭部具有歸屬地址字段和所選擇的數(shù)目的空地址槽,所述歸屬地址字段指定可由規(guī)定的歸屬代理識(shí)別的所述移動(dòng)路由器的對(duì)應(yīng)的規(guī)定的歸屬地址,所述所選擇的數(shù)目的空地址槽使得能夠存儲(chǔ)在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址,其中所述所選擇的數(shù)目至少基于所述網(wǎng)絡(luò)拓?fù)淠P蛠?lái)確定;第二生成外部IPv6頭部,所述外部IPv6頭部具有源地址字段和目的地址字段,所述源地址字段指定所述移動(dòng)路由器的所述轉(zhuǎn)交地址,所述目的地址字段指定所述規(guī)定的歸屬代理的地址;和向所述默認(rèn)路由器輸出分組,所述分組至少包括所述外部IPv6頭部,并且有選擇地包括所述基于IPv6的反向路由頭部。
32.如權(quán)利要求31所述的介質(zhì),其中,所述生成步驟包括基于被指定為所述網(wǎng)絡(luò)拓?fù)淠P偷乃鰧傩灾坏臉?shù)深度字段來(lái)選擇所述所選擇的數(shù)目,所述樹(shù)深度字段指定在所述移動(dòng)路由器和頂層移動(dòng)路由器之間的路徑中的多個(gè)路由器。
33.如權(quán)利要求32所述的介質(zhì),還包括用于下述操作的指令第三生成截短的基于IPv6的路由頭部,所述路由頭部具有所述歸屬地址字段,但是沒(méi)有所述地址槽,其中所述地址槽用于存儲(chǔ)在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址;和所述輸出包括基于所確定的所述網(wǎng)絡(luò)拓?fù)淠P偷姆€(wěn)定性,選擇所述基于IPv6的反向路由頭部和所述截短的基于IPv6的路由頭部之一。
34.如權(quán)利要求33所述的介質(zhì),其中,所述所確定的穩(wěn)定性是基于非活動(dòng)定時(shí)器的期滿(mǎn)。
35.如權(quán)利要求32所述的介質(zhì),還包括用于下述操作的指令接收指定所述空地址槽數(shù)目不足的因特網(wǎng)控制消息協(xié)議消息;所述選擇包括基于所述因特網(wǎng)控制消息協(xié)議消息來(lái)增加所述所選擇的數(shù)目。
36.如權(quán)利要求32所述的介質(zhì),還包括用于下述操作的指令接收來(lái)自所述歸屬代理的具有路由頭部的消息,其中所述路由頭部指定在所述移動(dòng)路由器和所述規(guī)定的歸屬代理之間的路由器各自的轉(zhuǎn)交地址;所述選擇包括基于所述路由頭部來(lái)確定所述所選擇的數(shù)目。
全文摘要
移動(dòng)路由器被配置為用于優(yōu)化反向路由頭部的使用,以在始發(fā)移動(dòng)路由器和歸屬代理之間指定路徑。反向路由頭部使得在去往歸屬代理的路徑中的每個(gè)移動(dòng)路由器都能夠指定其轉(zhuǎn)交地址,從而使得歸屬代理能夠建立經(jīng)由對(duì)應(yīng)的移動(dòng)路由器去往始發(fā)移動(dòng)路由器的雙向隧道。移動(dòng)路由器基于該移動(dòng)路由器是否缺少下述路由表?xiàng)l目,通過(guò)將所接收到的分組的源地址值插入到反向路由頭部中,并且將其對(duì)應(yīng)的轉(zhuǎn)交地址插入到源地址字段中,來(lái)有選擇地更新所接收到的分組中的反向路由頭部所述路由表?xiàng)l目指定經(jīng)由該源地址值,在反向路由頭部中的最近條目的可達(dá)性。該移動(dòng)路由器還可以請(qǐng)求始發(fā)移動(dòng)路由器增加反向路由頭部的大小。
文檔編號(hào)H04L12/28GK1726679SQ200380106051
公開(kāi)日2006年1月25日 申請(qǐng)日期2003年12月11日 優(yōu)先權(quán)日2002年12月13日
發(fā)明者帕斯卡爾·蒂貝爾, 馬爾科·莫爾泰尼, 帕特里克·韋特瓦爾德, 戴維·奧爾巴克 申請(qǐng)人:思科技術(shù)公司