專(zhuān)利名稱(chēng):隧道化傳輸IPv6分組的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域涉及數(shù)據(jù)處理,并且尤其是涉及用于隧道化傳輸(tunneling)IPv6分組的方法、系統(tǒng)和產(chǎn)品。
背景技術(shù):
第6版網(wǎng)際協(xié)議(‘IPv6’)是被設(shè)計(jì)作為對(duì)廣泛使用的第四版網(wǎng)際協(xié)議(‘IPv4’)的改良措施的網(wǎng)際協(xié)議(IP)版本。IPv6提供了增加了的地址空間、簡(jiǎn)化了的報(bào)頭格式、對(duì)于認(rèn)證和隱私的支持、地址分配的自動(dòng)配置以及新的服務(wù)質(zhì)量能力。
盡管IPv6的使用正在持續(xù)增長(zhǎng),但是IPv4仍舊是主要的因特網(wǎng)協(xié)議,并且由此提供了多種變換機(jī)制,以便使用IPv4路由基礎(chǔ)架構(gòu)來(lái)發(fā)送IPv6分組?!八淼阑瘋鬏敗痹试S兼容IPv6的主機(jī)或路由器經(jīng)由現(xiàn)有的IPv4網(wǎng)絡(luò)來(lái)傳送IPv6分組。一般來(lái)說(shuō),經(jīng)由IPv4網(wǎng)絡(luò)對(duì)IPv6分組進(jìn)行隧道化傳輸,是通過(guò)將IPv6分組封裝在IPv4分組中以及將分組發(fā)送到兼容IPv4的路由器來(lái)執(zhí)行的。將IPv6分組封裝在IPv4分組中的處理是通過(guò)向分組添加一個(gè)IPv64報(bào)頭以便使分組可以經(jīng)由IPv4網(wǎng)絡(luò)傳送而執(zhí)行的。
通常,經(jīng)由IPv4網(wǎng)絡(luò)來(lái)隧道化傳輸IPv6分組的常規(guī)技術(shù)需要將一個(gè)特定的兼容IPv6的發(fā)起端(origin)路由器利用另一個(gè)接收封裝后分組的兼容IPv6的路由器的IPv4目的地地址來(lái)手動(dòng)配置。對(duì)系統(tǒng)管理員來(lái)說(shuō),使用這種目的地IPv4地址來(lái)手動(dòng)配置路由器的處理是非常耗時(shí)和麻煩的。此外,由于只能將數(shù)量有限的這種目的地地址手動(dòng)配置到兼容IPv6的路由器中,因此這種手動(dòng)配置還會(huì)導(dǎo)致無(wú)法靈活地路由封裝后的分組。因此,需要一種用于隧道化傳輸IPv6分組的改進(jìn)的方法、系統(tǒng)和產(chǎn)品。
發(fā)明內(nèi)容
提供了用于隧道化傳輸IPv6分組的方法、系統(tǒng)和產(chǎn)品。實(shí)施例包括由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收具有IPv6目的地地址的IPv6分組;由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收目的地IPv6邊界路由器的IPv4地址,其中該IPv4地址是從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中取得的;由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中;以及將封裝后的分組發(fā)送到處于所述IPv4地址上的目的地IPv6邊界路由器。在眾多實(shí)施例中,由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的處理是通過(guò)將IPv4報(bào)頭添加到IPv6分組上而執(zhí)行的。
典型的實(shí)施例還包括由目的地IPv6邊界路由器拆封封裝后的分組;以及由目的地IPv6邊界路由器將拆封的分組轉(zhuǎn)發(fā)到具有目的地IPv6地址的目的地主機(jī)。在眾多實(shí)施例中,由目的地IPv6邊界路由器拆封封裝后的分組的處理是通過(guò)從封裝后的分組中移除由發(fā)起端邊界路由器添加的IPv4報(bào)頭而執(zhí)行的。
典型的實(shí)施例還包括由IPv6主機(jī)識(shí)別分組的IPv6目的地地址;從一個(gè)將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中取得目的地IPv6邊界路由器的IPv4地址;將具有IPv6目的地地址的IPv6分組發(fā)送到發(fā)起端IPv6邊界路由器;以及向發(fā)起端IPv6邊界路由器提供IPv6分組的相關(guān)聯(lián)目的地IPv6邊界路由器的IPv4地址,在眾多實(shí)施例中,將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)包括DNS資源記錄。
現(xiàn)在將參考下列附圖來(lái)通過(guò)舉例描述本發(fā)明的優(yōu)選實(shí)施例圖1描述的是根據(jù)本發(fā)明實(shí)施例的能夠隧道化傳輸IPv6分組的示例性數(shù)據(jù)處理系統(tǒng);
圖2描述的是根據(jù)本發(fā)明實(shí)施例在隧道化傳輸IPv6分組的過(guò)程中使用的邊界路由器的框圖;圖3描述的是用于圖示隧道化傳輸IPv6分組的示例性方法的流程圖;圖4描述的是根據(jù)本發(fā)明實(shí)施例在隧道化傳輸IPv6分組的過(guò)程中使用的數(shù)據(jù)結(jié)構(gòu)的框圖;圖5闡述的是用于圖示根據(jù)本發(fā)明實(shí)施例的嵌入式分組的框圖。
具體實(shí)施例方式
在本說(shuō)明書(shū)中,本發(fā)明在很大程度上是以用于隧道化傳輸IPv6分組的方法來(lái)進(jìn)行描述的。但是,本領(lǐng)域技術(shù)人員將會(huì)了解,任何一種包含了用于根據(jù)所公開(kāi)的方法操作的適當(dāng)編程裝置的計(jì)算機(jī)系統(tǒng)同樣是落入本發(fā)明的范圍以內(nèi)的。這些適當(dāng)?shù)木幊萄b置包含了用于指示計(jì)算機(jī)系統(tǒng)執(zhí)行本發(fā)明的方法步驟的任何一種裝置,其中包括例如由與計(jì)算機(jī)存儲(chǔ)器相耦合的處理單元以及算術(shù)邏輯電路所組成的系統(tǒng),其中該系統(tǒng)具有在計(jì)算機(jī)存儲(chǔ)器中執(zhí)行存儲(chǔ)的能力,該計(jì)算機(jī)存儲(chǔ)器包含了被配置成存儲(chǔ)數(shù)據(jù)、程序指令以及用于由處理單元執(zhí)行的本發(fā)明方法的編程步驟的電子電路。
本發(fā)明還可以在與其他任何適當(dāng)?shù)臄?shù)據(jù)處理系統(tǒng)結(jié)合使用的計(jì)算機(jī)程序產(chǎn)品、例如盤(pán)或其他記錄介質(zhì)中實(shí)現(xiàn)。計(jì)算機(jī)程序產(chǎn)品的實(shí)施例可以通過(guò)使用任何一種用于機(jī)器可讀信息的記錄介質(zhì)來(lái)實(shí)現(xiàn),其中包括磁介質(zhì)、光學(xué)介質(zhì)或是其他適當(dāng)?shù)慕橘|(zhì)。本領(lǐng)域技術(shù)人員隨即可以了解的是,任何一種具有適當(dāng)編程裝置的計(jì)算機(jī)系統(tǒng)都將能夠執(zhí)行程序產(chǎn)品中包含的本發(fā)明的方法步驟。本領(lǐng)域技術(shù)人員隨即還可以了解,雖然本說(shuō)明書(shū)中描述的大多數(shù)示例性實(shí)施例針對(duì)的都是在計(jì)算機(jī)硬件上安裝和運(yùn)行的軟件,但是作為固件或硬件實(shí)施的替換實(shí)施例同樣落入在本發(fā)明的實(shí)施例的范圍以內(nèi)。
將從圖1開(kāi)始參考附圖來(lái)描述用于隧道化傳輸IPv6分組的方法、系統(tǒng)和產(chǎn)品。圖1描述的是一個(gè)根據(jù)本發(fā)明實(shí)施例的能夠隧道化傳輸IPv6分組的示例性數(shù)據(jù)處理系統(tǒng)。圖1中的系統(tǒng)包含了為三個(gè)網(wǎng)絡(luò)(101、102和103)中的數(shù)據(jù)通信所連接的多個(gè)計(jì)算機(jī)。
在圖1的示例中,有若干個(gè)示例性設(shè)備連接到IPv6網(wǎng)絡(luò)(101),這其中包括PDA(112)、計(jì)算機(jī)工作站(104)、移動(dòng)電話(110)以及個(gè)人計(jì)算機(jī)(108)。在圖1的示例中,網(wǎng)絡(luò)啟用的移動(dòng)電話(110)經(jīng)由無(wú)線連接(116)連接到IPv6網(wǎng)絡(luò)(101)。工作站(104)經(jīng)由有線線路連接(122)連接到IPv6網(wǎng)絡(luò)。PDA(112)經(jīng)由無(wú)線連接(114)連接到IPv6網(wǎng)絡(luò)(101)。而個(gè)人計(jì)算機(jī)(108)經(jīng)由有線線路連接(120)與IPv6網(wǎng)絡(luò)(101)相連。
圖1的示例還包括另一個(gè)IPv6網(wǎng)絡(luò)(103)。包括膝上型計(jì)算機(jī)(126)、網(wǎng)絡(luò)啟用的移動(dòng)電話(132)以及個(gè)人計(jì)算機(jī)(105)在內(nèi)的若干個(gè)示例性設(shè)備都與IPv6網(wǎng)絡(luò)(103)相連。在圖1的示例中,膝上型計(jì)算機(jī)通過(guò)無(wú)線連接(118)連接到IPv6網(wǎng)絡(luò)(103)。移動(dòng)電話(132)通過(guò)無(wú)線連接(130)連接到IPv6網(wǎng)絡(luò)(103)。而個(gè)人計(jì)算機(jī)(105)通過(guò)有線線路連接(124)連接到IPv6網(wǎng)絡(luò)(103)。
在圖1的示例中,每一個(gè)IPv6網(wǎng)絡(luò)(101和103)都具有能夠根據(jù)本發(fā)明實(shí)施例來(lái)隧道化傳輸IPv6分組的邊界路由器(142和134)。邊界路由器(142)通過(guò)有線線路連接(140)與IPv6網(wǎng)絡(luò)(101)相連,而邊界路由器(134)通過(guò)有線線路連接(117)與另一個(gè)IPv6網(wǎng)絡(luò)(103)相連。以這種方式稱(chēng)呼示例性邊界路由器,是因?yàn)樗鼈兡軌驅(qū)?lái)自其相應(yīng)的IPv6網(wǎng)絡(luò)內(nèi)部的設(shè)備的IPv6分組路由到在其IPv6網(wǎng)絡(luò)之外的其他設(shè)備。由此,這些路由器處于其相應(yīng)的IPv6網(wǎng)絡(luò)的邊界上。
為了將IPv6分組從一個(gè)IPv6網(wǎng)絡(luò)路由到另一個(gè)IPv6網(wǎng)絡(luò),圖1的示例性邊界路由器將會(huì)通過(guò)IPv4網(wǎng)絡(luò)(102)相互耦合,以便進(jìn)行數(shù)據(jù)通信。在圖1的示例中,IPv6分組從一個(gè)邊界路由器(142)經(jīng)由IPv4網(wǎng)絡(luò)被隧道化傳輸?shù)搅硪粋€(gè)邊界路由器(134),以便從一個(gè)IPv6網(wǎng)絡(luò)(101)傳輸?shù)搅硪粋€(gè)IPv6網(wǎng)絡(luò)(103)。
在圖1的示例中,為了將IPv6分組從發(fā)起端IPv6網(wǎng)絡(luò)(101)中的發(fā)起端IPv6主機(jī)(108,112,104,110)發(fā)送到目的地IPv6網(wǎng)絡(luò)(103)中的IPv6目的地主機(jī)(126,132,105),發(fā)起端主機(jī)(108,112,104,110)識(shí)別接收該分組的主機(jī)的IPv6目的地地址。在圖1的系統(tǒng)中,識(shí)別分組的IPv6目的地地址的處理是通過(guò)解析目的地主機(jī)的域名來(lái)實(shí)現(xiàn)的。解析目的地主機(jī)域名的處理是通過(guò)從DNS服務(wù)器(143)中取得記錄了IP地址的DNS資源來(lái)實(shí)現(xiàn)的。
域名系統(tǒng)(“DNS”)是一種通常與因特網(wǎng)相關(guān)聯(lián)的命名服務(wù)。DNS轉(zhuǎn)換網(wǎng)絡(luò)地址中的域名。域名是提供網(wǎng)絡(luò)服務(wù)的計(jì)算機(jī)主機(jī)、例如萬(wàn)維網(wǎng)服務(wù)器、電子郵件服務(wù)器等的名稱(chēng)。在圖1的示例中,網(wǎng)絡(luò)地址是IPv6地址。域名則通常用按照字母順序的文本表示,與數(shù)字形式的網(wǎng)絡(luò)地址相比,這種名稱(chēng)更易于人們對(duì)其進(jìn)行處理。但是,網(wǎng)絡(luò)是在數(shù)字的網(wǎng)絡(luò)地址上工作的。由此,在用戶每次通過(guò)使用域名來(lái)請(qǐng)求某個(gè)資源的時(shí)候,處于某個(gè)位置上的DNS服務(wù)都會(huì)將域名變換成相應(yīng)的網(wǎng)絡(luò)地址。舉例來(lái)說(shuō),域名“ibm.com”可以變換成網(wǎng)絡(luò)地址“129.42.19.99”。域名的目標(biāo)是提供一種以可在不同的主機(jī)、網(wǎng)絡(luò)、協(xié)議族、企業(yè)內(nèi)部網(wǎng)和管理組織中使用的名稱(chēng)的方式來(lái)命名資源的機(jī)制。從用戶的角度來(lái)看,域名可以作為一個(gè)用于取得與域名相關(guān)聯(lián)的信息并且被稱(chēng)為解析器的函數(shù)的自變量來(lái)使用。由此,用戶可以請(qǐng)求與特定域名相關(guān)聯(lián)的主機(jī)地址或郵件信息。為了使用戶能夠請(qǐng)求特定類(lèi)型的信息,一種恰當(dāng)?shù)牟樵冾?lèi)型將會(huì)連同域名一起被傳遞到解析器。對(duì)用戶來(lái)說(shuō),域樹(shù)結(jié)構(gòu)是一個(gè)單獨(dú)的信息空間;解析器負(fù)責(zé)向用戶隱藏命名服務(wù)器中的數(shù)據(jù)分發(fā)。
解析器是響應(yīng)于客戶機(jī)請(qǐng)求而從DNS命名服務(wù)器中提取信息的程序。該解析器必須能夠訪問(wèn)至少一個(gè)命名服務(wù)器,并且使用該命名服務(wù)器的信息來(lái)直接應(yīng)答查詢,或者使用針對(duì)其他命名服務(wù)器的指引來(lái)進(jìn)行查詢。通常,解析器是一個(gè)可以由用戶程序直接訪問(wèn)的系統(tǒng)例程,由此在解析器與用戶程序之間通常是不需要協(xié)議的。命名服務(wù)器和解析器都是在一個(gè)或多個(gè)計(jì)算機(jī)上執(zhí)行的軟件處理。本質(zhì)上,解析器將關(guān)于域名的查詢提交給命名服務(wù)器。命名服務(wù)器“解析”域名與機(jī)器地址之間的映射,并且將機(jī)器地址作為對(duì)查詢的“應(yīng)答”回送到解析器。
在很多網(wǎng)絡(luò)主機(jī)中,解析器是操作系統(tǒng)的一部分。更特別地,在TCP/IP的情況下,解析器通常是可以通過(guò)借助了諸如套接字API之類(lèi)的應(yīng)用編程接口(“API”)的C或C++調(diào)用而從應(yīng)用層訪問(wèn)的TCP/IP客戶機(jī)的一部分。舉例來(lái)說(shuō),Microsoft WindowsTM的套接字API提供了名為gethostbyname()和WSAAsyncGetHostByName()的函數(shù),在給出了主機(jī)的域名作為輸入的情況下,這些函數(shù)分別同步或異步地工作來(lái)獲取網(wǎng)絡(luò)主機(jī)的網(wǎng)絡(luò)地址。同樣地,Java方法InetAddress.getByName(string host)是一種靜態(tài)的Java方法,其對(duì)代表網(wǎng)絡(luò)主機(jī)的網(wǎng)際協(xié)議地址的類(lèi)InetAddress的對(duì)象進(jìn)行實(shí)例化。
DNS包含具有標(biāo)準(zhǔn)消息類(lèi)型的請(qǐng)求/響應(yīng)數(shù)據(jù)通信協(xié)議。Gethostbyname()和InetAddress.getByName()是諸如Unix和Windows之類(lèi)的操作系統(tǒng)中針對(duì)TCP/IP客戶機(jī)的API調(diào)用的示例。通常,這種TCP/IP客戶機(jī)承載了一個(gè)或多個(gè)預(yù)先指定的DNS服務(wù)器地址,以及對(duì)用于計(jì)算機(jī)的主要DNS服務(wù)器的指定,并且可能還承載了對(duì)一個(gè)或多個(gè)輔助DNS服務(wù)器的指定。響應(yīng)于諸如Gethostbyname()和InetAddress.getByName()之類(lèi)的解析器函數(shù)的調(diào)用,TCP/IP客戶機(jī)會(huì)向預(yù)先指定的主要DNS服務(wù)器發(fā)送一個(gè)包含了標(biāo)準(zhǔn)格式的域名的DNS請(qǐng)求消息,以便請(qǐng)求相應(yīng)的網(wǎng)絡(luò)地址,并且在接收到響應(yīng)消息后,該客戶機(jī)會(huì)轉(zhuǎn)而將該網(wǎng)絡(luò)地址提供給發(fā)起調(diào)用的程序。當(dāng)發(fā)起調(diào)用的應(yīng)用從操作系統(tǒng)中接收到網(wǎng)絡(luò)地址時(shí),它可以使用這個(gè)網(wǎng)絡(luò)地址來(lái)訪問(wèn)由與這個(gè)網(wǎng)絡(luò)地址相關(guān)聯(lián)的域名所標(biāo)識(shí)的網(wǎng)絡(luò)主機(jī)上的資源。
非常有利的是,根據(jù)本發(fā)明的實(shí)施例,DNS資源記錄是可以修改的,由此除了包括所請(qǐng)求的IPv6目的地地址之外,該記錄還可以包括能夠?qū)⒎纸M傳遞到IPv6目的地地址的目的地邊界路由器的相關(guān)聯(lián)IPv4地址。也就是說(shuō),DNS資源記錄還包含了能夠接收要發(fā)往相關(guān)聯(lián)IPv6目的地地址的封裝后的IPv6分組的IPv4地址。
由此,在圖1的系統(tǒng)中,主機(jī)(108,112,104,110)將一個(gè)具有IPv6目的地地址的IPv6分組發(fā)送到發(fā)起端IPv6邊界路由器,并且還向邊界路由器提供一個(gè)IPv4地址,其中該IPv4地址是在用于相關(guān)聯(lián)的目的地邊界路由器的DNS記錄中標(biāo)識(shí)的。在某些實(shí)施例中,發(fā)起端主機(jī)會(huì)將目的地邊界路由器的IPv4地址內(nèi)嵌在IPv6分組的擴(kuò)展報(bào)頭中。
在圖1的系統(tǒng)中,邊界路由器(142)能夠接收來(lái)自主機(jī)的IPv6分組,接收目的地IPv6邊界路由器的IPv4地址,將IPv6分組封裝在IPv4分組中,以及將已封裝的分組發(fā)送到處于所述IPv4地址上的目的地IPv6邊界路由器(134)。圖1的邊界路由器(134)能夠拆封所述封裝后的分組,并且將拆封的分組轉(zhuǎn)發(fā)到具有目的地IPv6地址的目的地主機(jī)(126,132,105)。
圖1的架構(gòu)中的網(wǎng)絡(luò)連接方面僅僅用于說(shuō)明,而不是進(jìn)行限制。實(shí)際上,根據(jù)本發(fā)明實(shí)施例的經(jīng)由優(yōu)選的瀏覽器來(lái)顯示計(jì)算機(jī)資源的系統(tǒng)可以被連接作為L(zhǎng)AN、WAN、企業(yè)內(nèi)部網(wǎng)、互連網(wǎng)、因特網(wǎng)、萬(wàn)維網(wǎng)、環(huán)球網(wǎng)本身或是本領(lǐng)域技術(shù)人員能夠想到的其他連接。這些網(wǎng)絡(luò)都是可以用于在整個(gè)數(shù)據(jù)處理系統(tǒng)內(nèi)部共同連接的不同設(shè)備與計(jì)算機(jī)之間提供數(shù)據(jù)通信連接的媒介。
構(gòu)成圖1所示的示例性系統(tǒng)的主機(jī)、邊界路由器和設(shè)備的布置僅僅是為了進(jìn)行說(shuō)明,而不是加以限制。根據(jù)本發(fā)明的各種實(shí)施例使用的數(shù)據(jù)處理系統(tǒng)可以包括圖1中未曾顯示并且可以為本領(lǐng)域技術(shù)人員所想到的另外的服務(wù)器、路由器、其他設(shè)備以及對(duì)等架構(gòu)。這種數(shù)據(jù)處理系統(tǒng)中的網(wǎng)絡(luò)可以支持多種數(shù)據(jù)通信協(xié)議,其中包括例如TCP/IP、HTTP、WAP、HDTP以及本領(lǐng)域技術(shù)人員可以想到的其他協(xié)議。除了圖1所示的那些平臺(tái)之外,本發(fā)明的各種實(shí)施例還可以在多種硬件平臺(tái)上實(shí)施。
如上所述,一般來(lái)說(shuō),根據(jù)本發(fā)明實(shí)施例來(lái)隧道化傳輸IPv6分組的處理是利用計(jì)算機(jī)來(lái)實(shí)施的,也就是說(shuō),該處理是利用自動(dòng)計(jì)算設(shè)備來(lái)實(shí)施的。為了進(jìn)一步說(shuō)明,圖2描述了一個(gè)自動(dòng)計(jì)算設(shè)備的框圖,該設(shè)備包括可以在根據(jù)本發(fā)明實(shí)施例隧道化傳輸IPv6分組的處理中使用的邊界路由器(134)。圖2的邊界路由器(134)包括至少一個(gè)計(jì)算機(jī)處理器(156)或“CPU”,以及隨機(jī)存取存儲(chǔ)器(168)(“RAM”)。保存在RAM(168)中的是操作系統(tǒng)(154)??梢栽诟鶕?jù)本發(fā)明實(shí)施例的邊界路由器中使用的操作系統(tǒng)包括UNIX、AIX、Linux、Microsoft NTTM以及本領(lǐng)域技術(shù)人員可以想到的眾多其他系統(tǒng)。在圖2的示例中,操作系統(tǒng)(154)被顯示為在RAM(168)中,但是,一般來(lái)說(shuō),操作系統(tǒng)的眾多組件還可以被保存在非易失性存儲(chǔ)器(166)中。
在RAM(168)中還保存了能夠根據(jù)本發(fā)明的實(shí)施例來(lái)隧道化傳輸分組的隧道代理(Tunnel Broker)(188)。該隧道代理(118)是能夠執(zhí)行下列操作的軟件從發(fā)起端IPv6主機(jī)接收具有IPv6目的地地址的IPv6分組;從發(fā)起端IPv6主機(jī)接收目的地IPv6邊界路由器的IPv4地址;將IPv6分組封裝在IPv4分組中;以及將經(jīng)過(guò)封裝的分組發(fā)送到處于所述IPv4地址上的目的地IPv6邊界路由器。諸如如圖2所示這樣的隧道代理通常安裝在邊界路由器上,并且非常有利的是,該隧道代理是根據(jù)本發(fā)明實(shí)施例來(lái)隧道化傳輸IPv6分組的。
圖2的邊界路由器(134)包括非易失性計(jì)算機(jī)存儲(chǔ)器(166),該存儲(chǔ)器經(jīng)由系統(tǒng)總線(160)耦合到處理器(156)以及邊界路由器的其他組件。所述非易失性計(jì)算機(jī)存儲(chǔ)器(166)可以被實(shí)現(xiàn)為下列裝置硬盤(pán)驅(qū)動(dòng)器(170)、光盤(pán)驅(qū)動(dòng)器(172)、電可擦寫(xiě)可編程只讀存儲(chǔ)空間(所謂的“EEPROM”或“閃速”存儲(chǔ)器)(174)、RAM驅(qū)動(dòng)器(未顯示)、或是本領(lǐng)域技術(shù)人員可以想到的其他任何一種計(jì)算機(jī)存儲(chǔ)器。
圖2的示例性邊界路由器(134)包括一個(gè)用于實(shí)現(xiàn)數(shù)據(jù)通信連接(184)的通信適配器(167),該連接包括經(jīng)由網(wǎng)絡(luò)與其他計(jì)算機(jī)(182)的連接,所述其他計(jì)算機(jī)包括服務(wù)器、客戶機(jī)以及本領(lǐng)域技術(shù)人員可以想到的其他設(shè)備。該通信適配器實(shí)現(xiàn)用于數(shù)據(jù)通信的硬件級(jí)連接,通過(guò)該硬件級(jí)連接,本地設(shè)備與遠(yuǎn)程設(shè)備或服務(wù)器相互之間可以直接或者經(jīng)由網(wǎng)絡(luò)來(lái)發(fā)送數(shù)據(jù)通信。可以在根據(jù)本發(fā)明實(shí)施例來(lái)隧道化傳輸IPv6分組的處理中使用的通信適配器的示例包括用于有線撥號(hào)連接的調(diào)制解調(diào)器,用于有線LAN連接的以太網(wǎng)(IEEE 802.3)適配器,以及用于無(wú)線LAN連接的802.11b適配器。
圖2的示例性邊界路由器包括一個(gè)或多個(gè)輸入/輸出接口適配器(178)。計(jì)算機(jī)中的輸入/輸出接口適配器通過(guò)例如軟件驅(qū)動(dòng)器和計(jì)算機(jī)硬件來(lái)執(zhí)行面向用戶的輸入/輸出,其中該軟件驅(qū)動(dòng)器和計(jì)算機(jī)硬件用于控制到計(jì)算機(jī)顯示屏幕之類(lèi)的顯示設(shè)備(180)的輸出,并且還對(duì)來(lái)自諸如鍵盤(pán)和鼠標(biāo)之類(lèi)的用戶輸入設(shè)備(181)的用戶輸入進(jìn)行控制。
為了進(jìn)一步說(shuō)明,圖3闡述了一個(gè)對(duì)用于隧道化IPv6分組的示例性方法進(jìn)行圖示的流程圖。圖3的方法包括由IPv6主機(jī)(304)識(shí)別(306)分組的IPv6目的地地址(310)。在圖3的方法中,由IPv6主機(jī)識(shí)別(306)分組的IPv6目的地地址(310)的處理通常包括使用DNS服務(wù)來(lái)解析目的地主機(jī)的域名。如上所述,域名系統(tǒng)(“DNS”)是一種通常與因特網(wǎng)相關(guān)聯(lián)并且將域名變換成網(wǎng)絡(luò)地址的命名服務(wù)。
圖3的方法包括從DNS記錄(302)中取得(308)目的地IPv6邊界路由器(332)的IPv4地址(312)。圖3的DNS資源記錄(302)不但包含了域名的IPv6目的地地址,而且還包含了能夠接收發(fā)往該IPv6目的地地址的封裝后的IPv6分組以及能夠拆封該分組并且將拆封后的分組轉(zhuǎn)發(fā)到目的地地址的邊界路由器的IPv4地址。非常有利的是,依照本發(fā)明實(shí)施例修改的這種DNS資源記錄提供了一種將IPv6網(wǎng)絡(luò)地址與優(yōu)選邊界路由器相關(guān)聯(lián)的媒介,以便接收發(fā)往在該IPv6網(wǎng)絡(luò)地址上的主機(jī)的IPv6分組。
為了進(jìn)一步說(shuō)明,圖4闡述了一種可以在根據(jù)本發(fā)明實(shí)施例隧道化傳輸IPv6分組的處理中使用的示例性數(shù)據(jù)結(jié)構(gòu)。圖4的示例包括依照本發(fā)明實(shí)施例修改的DNS資源記錄(452)。圖4的DNS資源記錄(452)包括一個(gè)域名字段(454),該字段包含目的地主機(jī)的域名。此外,圖4的DNS資源記錄(452)還包括目的地主機(jī)的IPv6網(wǎng)絡(luò)地址。另外,圖4的DNS資源記錄(452)還包括一個(gè)IPv4網(wǎng)絡(luò)地址(458),該地址用于標(biāo)識(shí)能夠拆封已封裝的IPv6消息并且能將拆封后的消息轉(zhuǎn)發(fā)到預(yù)定目的地IPv6網(wǎng)絡(luò)地址的邊界路由器。雖然示例性的DNS資源記錄(452)將IPv4邊界路由器地址(458)作為一個(gè)字段包含在記錄中,但是,在替換實(shí)施例中,IPv4邊界路由器地址也可以在一個(gè)被設(shè)計(jì)成包含IPv4邊界路由器地址的“BR”類(lèi)型的單獨(dú)記錄中提供。圖4的示例性DNS資源記錄是為了進(jìn)行說(shuō)明而不是為了進(jìn)行限制而給出的。實(shí)際上,IPv6目的地地址以及邊界路由器地址可以在本領(lǐng)域技術(shù)人員所能想到的任何數(shù)據(jù)結(jié)構(gòu)中被關(guān)聯(lián)。此外,為了使說(shuō)明清楚起見(jiàn),在這里簡(jiǎn)化了圖4的DNS資源記錄(452)。根據(jù)本發(fā)明實(shí)施例修改的典型的DNS記錄將包含比圖4的示例中給出的那些字段更多的字段,諸如例如記錄類(lèi)型、記錄的存活時(shí)間數(shù)據(jù)以及本領(lǐng)域技術(shù)人員能夠想到的其他字段。
仍舊參考圖3,圖3的方法還包括將具有IPv6目的地地址(310)的IPv6分組(318)發(fā)送到發(fā)起端IPv6邊界路由器(320),并且向發(fā)起端IPv6邊界路由器(320)提供(314)用于該IPv6分組的相關(guān)聯(lián)目的地IPv6邊界路由器(332)的IPv4地址(312)。一種用于向發(fā)起端IPv6邊界路由器(320)提供用于該IPv6分組的相關(guān)聯(lián)目的地IPv6邊界路由器(332)的IPv4地址(312)的處理,是通過(guò)將目的地邊界路由器的IPv4地址嵌入IPv6分組的擴(kuò)展報(bào)頭中來(lái)執(zhí)行的。IPv6提供了擴(kuò)展報(bào)頭,以提供用于實(shí)現(xiàn)附加的路由選項(xiàng)的實(shí)際手段。該擴(kuò)展報(bào)頭處于傳輸層報(bào)頭與IPv6報(bào)頭之間。對(duì)IPv6來(lái)說(shuō),定義了若干種類(lèi)型的擴(kuò)展報(bào)頭,并且“下一個(gè)報(bào)頭”字段中的值標(biāo)識(shí)了后續(xù)有另一個(gè)擴(kuò)展報(bào)頭。這些擴(kuò)展報(bào)頭按照順序放置,由此一旦路由器達(dá)到屬于該路由器的擴(kuò)展報(bào)頭中的最后一個(gè)值,那么該路由器就可以停止讀取下一個(gè)報(bào)頭字段。所有這些擴(kuò)展選項(xiàng)并不一定會(huì)由分組在其到達(dá)目的地的路徑上遍歷的每個(gè)路由器進(jìn)行處理。實(shí)際上,很多IPv6擴(kuò)展報(bào)頭在其到達(dá)目的地之前未被處理。目前已經(jīng)定義了很多在IPv6擴(kuò)展報(bào)頭中使用的選項(xiàng)。已經(jīng)定義的擴(kuò)展報(bào)頭的示例包括
·路由擴(kuò)展報(bào)頭。路由擴(kuò)展報(bào)頭對(duì)分組的路由進(jìn)行控制。路由擴(kuò)展報(bào)頭可以明確地指示從源到目的地的路由。沿著該路徑的每一個(gè)節(jié)點(diǎn)的IPv6地址包含在其中,然后,目的地會(huì)使用反向路徑來(lái)進(jìn)行通信。
·分段報(bào)頭。分段報(bào)頭定義了分段的分組如何遍歷IPv6網(wǎng)絡(luò)。
·認(rèn)證報(bào)頭。認(rèn)證報(bào)頭使用一種認(rèn)證算法來(lái)確保IPv6分組在其路徑上未被更改。該報(bào)頭還會(huì)確保IPv6分組已經(jīng)從IP報(bào)頭中列出的源中到達(dá)了。
·逐跳(Hop-by-Hop)報(bào)頭。IPv6實(shí)現(xiàn)了一種用于向路由器警告需要特殊處理的分組的有效方法。不包含IPv6逐跳擴(kuò)展報(bào)頭的分組不會(huì)被每一個(gè)路由器全面處理,取而代之的是,它們被允許快速地繼續(xù)沿其路徑到達(dá)其目的地。逐跳擴(kuò)展報(bào)頭允許路由器快速地識(shí)別并且全面處理那些需要特殊路由處理的分組。辨別出該報(bào)頭的路由器會(huì)對(duì)分組進(jìn)行相應(yīng)檢查,而沒(méi)有辨別出該報(bào)頭的路由器則會(huì)將其忽略。
根據(jù)本發(fā)明的實(shí)施例,通過(guò)將目的地邊界路由器的IPv4地址嵌入IPv6分組的擴(kuò)展報(bào)頭中來(lái)向發(fā)起端IPv6邊界路由器(320)提供相關(guān)聯(lián)目的地IPv6邊界路由器(332)的IPv4地址的處理,可以通過(guò)使用一個(gè)新的擴(kuò)展報(bào)頭來(lái)實(shí)現(xiàn),其中該新的擴(kuò)展報(bào)頭包含了用于該IPv6分組的目的地邊界路由器的IPv4地址。非常有利的是,在分組本身中提供目的地邊界路由器的IPv4地址,免去了使用其他邊界路由器地址來(lái)手動(dòng)配置發(fā)起端邊界路由器的需要。取而代之的是,發(fā)起端邊界路由器具有在逐個(gè)分組的基礎(chǔ)上將IPv6分組隧道化傳輸?shù)侥康牡剡吔缏酚善魉枰穆酚尚畔ⅰ?br>
圖3的方法還包括由發(fā)起端IPv6邊界路由器(320)從發(fā)起端IPv6主機(jī)(304)接收(322)具有IPv6目的地地址(310)的IPv6分組(318),以及由發(fā)起端IPv6邊界路由器(320)從發(fā)起端IPv6主機(jī)(304)接收(324)用于目的地IPv6邊界路由器(332)的IPv4地址(312)。在圖3的方法中,目的地IPv6邊界路由器(332)的IPv4地址(312)是以嵌入在IPv6分組自身的擴(kuò)展報(bào)頭中的方式而被接收的。
圖3的方法還包括由發(fā)起端IPv6邊界路由器(320)將IPv6分組(318)封裝(326)在IPv4分組(328)中。在圖3的方法中,由發(fā)起端IPv6邊界路由器(320)將IPv6分組(318)封裝在IPv4分組(328)中的處理,是通過(guò)將IPv4報(bào)頭添加到IPv6分組上來(lái)執(zhí)行的。將IPv4報(bào)頭添加到IPv6分組上,允許發(fā)起端邊界路由器經(jīng)由IPv4網(wǎng)絡(luò)來(lái)傳送嵌入式分組。為了進(jìn)一步說(shuō)明,圖5闡述了一個(gè)用于圖示根據(jù)本發(fā)明實(shí)施例的嵌入式分組的框圖。在圖5的示例中,將IPv6分組(402)封裝在IPv4分組(410)中,其中該IPv6分組包括IPv6報(bào)頭(404),其后跟隨的是用于向發(fā)起端邊界路由器標(biāo)識(shí)封裝后的分組所要發(fā)往的IPv4地址的擴(kuò)展報(bào)頭(406),此外,該IPv6分組還包含將要發(fā)送到指定主機(jī)的數(shù)據(jù)(408)。在圖5的示例中,經(jīng)過(guò)封裝的IPv4分組(410)具有添加到IPv6報(bào)頭(404)上的IPv4報(bào)頭(411)、擴(kuò)展報(bào)頭(406)以及數(shù)據(jù)。經(jīng)過(guò)封裝的、具有添加的IPv4報(bào)頭的IPv4分組(410)可以經(jīng)由IPv4網(wǎng)絡(luò)傳輸。
再次參考圖3,圖3的方法還包括將封裝后的分組(328)發(fā)送(330)到處于IPv4地址(312)上的目的地IPv6邊界路由器(332)。在圖3的示例中,封裝后的分組被發(fā)送到由發(fā)起端主機(jī)識(shí)別的并且嵌入在IPv6分組內(nèi)的擴(kuò)展報(bào)頭中的IPv4地址,所述IPv6分組被封裝在IPv4分組內(nèi)部。
圖3的方法還包括由目的地IPv6邊界路由器(332)拆封(334)這個(gè)封裝后的分組(328),以及由目的地IPv6邊界路由器(332)將這個(gè)拆封后的分組(336)轉(zhuǎn)發(fā)到具有目的地IPv6地址的目的地主機(jī)(340)。在圖3的方法中,由目的地IPv6邊界路由器(332)拆封(334)封裝后的分組(328)的處理,是通過(guò)從封裝后的分組中移除由發(fā)起端邊界路由器(320)添加的IPv4報(bào)頭而執(zhí)行的。
權(quán)利要求
1.一種用于隧道化傳輸IPv6分組的方法,該方法包括由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收具有IPv6目的地地址的IPv6分組;由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收目的地IPv6邊界路由器的IPv4地址,其中該IPv4地址是從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)機(jī)構(gòu)中取得的;由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中;以及將封裝后的分組發(fā)送到處于該IPv4地址上的目的地IPv6邊界路由器。
2.根據(jù)權(quán)利要求1的方法,還包括由目的地IPv6邊界路由器拆封該封裝后的分組;以及由目的地IPv6邊界路由器將拆封后的分組轉(zhuǎn)發(fā)到具有目的地IPv6地址的目的地主機(jī)。
3.根據(jù)權(quán)利要求2的方法,其中,由目的地IPv6邊界路由器拆封該封裝后的分組的步驟還包括從封裝后的分組中移除由發(fā)起端邊界路由器添加的IPv4報(bào)頭。
4.根據(jù)權(quán)利要求1的方法,還包括由IPv6主機(jī)識(shí)別分組的IPv6目的地地址;從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中取得目的地IPv6邊界路由器的IPv4地址;將具有IPv6目的地地址的IPv6分組發(fā)送到發(fā)起端IPv6邊界路由器;以及向發(fā)起端IPv6邊界路由器提供用于該IPv6分組的相關(guān)聯(lián)目的地IPv6邊界路由器的IPv4地址。
5.根據(jù)權(quán)利要求4的方法,其中,將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括DNS資源記錄。
6.根據(jù)權(quán)利要求1的方法,其中,由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的步驟還包括將IPv4報(bào)頭添加到IPv6分組上。
7.一種用于隧道化傳輸IPv6分組的系統(tǒng),該系統(tǒng)包括由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收具有IPv6目的地地址的IPv6分組的裝置;由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收目的地IPv6邊界路由器的IPv4地址的裝置,其中該IPv4地址是從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)機(jī)構(gòu)中取得的;由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的裝置;以及將封裝后的分組發(fā)送到處于該IPv4地址上的目的地IPv6邊界路由器的裝置。
8.根據(jù)權(quán)利要求7的系統(tǒng),還包括由目的地IPv6邊界路由器拆封該封裝后的分組的裝置;以及由目的地IPv6邊界路由器將拆封后的分組轉(zhuǎn)發(fā)到具有目的地IPv6地址的目的地主機(jī)的裝置。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中,由目的地IPv6邊界路由器拆封該封裝后的分組的裝置還包括從封裝后的分組中移除由發(fā)起端邊界路由器添加的IPv4報(bào)頭的裝置。
10.根據(jù)權(quán)利要求7的系統(tǒng),還包括由IPv6主機(jī)識(shí)別分組的IPv6目的地地址的裝置;從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中取得目的地IPv6邊界路由器的IPv4地址的裝置;將具有IPv6目的地地址的IPv6分組發(fā)送到發(fā)起端IPv6邊界路由器的裝置;以及向發(fā)起端IPv6邊界路由器提供用于該IPv6分組的相關(guān)聯(lián)目的地IPv6邊界路由器的IPv4地址的裝置。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中,將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括DNS資源記錄。
12.根據(jù)權(quán)利要求7的系統(tǒng),其中,由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的裝置還包括將IPv4報(bào)頭添加到IPv6分組上的裝置。
13.一種用于隧道化傳輸IPv6分組的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括記錄介質(zhì);記錄在記錄介質(zhì)上的用于由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收具有IPv6目的地地址的IPv6分組的裝置;記錄在記錄介質(zhì)上的用于由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收目的地IPv6邊界路由器的IPv4地址的裝置,其中該IPv4地址是從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)機(jī)構(gòu)中取得的;記錄在記錄介質(zhì)上的用于由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的裝置;以及記錄在記錄介質(zhì)上的用于將封裝后的分組發(fā)送到處于該IPv4地址上的目的地IPv6邊界路由器的裝置。
14.根據(jù)權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,還包括記錄在記錄介質(zhì)上的用于由目的地IPv6邊界路由器拆封該封裝后的分組的裝置;以及記錄在記錄介質(zhì)上的用于由目的地IPv6邊界路由器將拆封后的分組轉(zhuǎn)發(fā)到具有目的地IPv6地址的目的地主機(jī)的裝置。
15.根據(jù)權(quán)利要求14的計(jì)算機(jī)程序產(chǎn)品,其中,記錄在記錄介質(zhì)上的用于由目的地IPv6邊界路由器拆封該封裝后的分組的裝置還包括記錄在記錄介質(zhì)上的用于從封裝后的分組中移除由發(fā)起端邊界路由器添加的IPv4報(bào)頭的裝置。
16.根據(jù)權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,還包括記錄在記錄介質(zhì)上的用于由IPv6主機(jī)來(lái)識(shí)別分組的IPv6目的地地址的裝置;記錄在記錄介質(zhì)上的用于從將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中取得目的地IPv6邊界路由器的IPv4地址的裝置;記錄在記錄介質(zhì)上的用于將具有IPv6目的地地址的IPv6分組發(fā)送到發(fā)起端IPv6邊界路由器的裝置;以及記錄在記錄介質(zhì)上的用于向發(fā)起端IPv6邊界路由器提供用于該IPv6分組的相關(guān)聯(lián)目的地IPv6邊界路由器的IPv4地址的裝置。
17.根據(jù)權(quán)利要求17的計(jì)算機(jī)程序產(chǎn)品,其中,將IPv6目的地地址與目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括DNS資源記錄。
18.根據(jù)權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,其中,記錄在記錄介質(zhì)上的用于由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的裝置還包括記錄在記錄介質(zhì)上的用于將IPv4報(bào)頭添加到IPv6分組上的裝置。
全文摘要
提供了用于隧道化傳輸IPv6分組的方法、系統(tǒng)和產(chǎn)品。實(shí)施例包括由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收具有IPv6目的地地址的IPv6分組;由發(fā)起端IPv6邊界路由器從發(fā)起端IPv6主機(jī)接收用于目的地IPv6邊界路由器的IPv4地址,其中該IPv4地址是從將IPv6目的地地址與用于目的地IPv6邊界路由器的IPv4地址相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中取得的;由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中;以及將封裝后的分組發(fā)送到處于所述IPv4地址上的目的地IPv6邊界路由器。在眾多實(shí)施例中,由發(fā)起端IPv6邊界路由器將IPv6分組封裝在IPv4分組中的處理是通過(guò)將IPv4報(bào)頭添加到IPv6分組上而執(zhí)行的。
文檔編號(hào)H04L29/06GK101069400SQ200580034729
公開(kāi)日2007年11月7日 申請(qǐng)日期2005年11月11日 優(yōu)先權(quán)日2004年11月18日
發(fā)明者莉蓮·S.·費(fèi)爾南德斯, 維尼特·杰恩, 瓦蘇·瓦爾拉巴內(nèi)尼, 帕特里克·T·沃 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司