欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在TCP/IPv4協(xié)議棧中增加IPv6支持的方法

文檔序號:7593854閱讀:144來源:國知局
專利名稱:在TCP/IPv4協(xié)議棧中增加IPv6支持的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種互聯(lián)網(wǎng)技術(shù)中的協(xié)議棧方法,尤其是涉及一種在已有的TCP/IPv4協(xié)議棧中增加IPv6協(xié)議支持的方法,該方法可廣泛應(yīng)用于主機(jī)系統(tǒng)協(xié)議棧軟件開放、通信設(shè)備協(xié)議棧軟件等領(lǐng)域。
背景技術(shù)
傳統(tǒng)的互聯(lián)網(wǎng)是基于IPv4協(xié)議的,這一協(xié)議的開放自由特點促成了互聯(lián)網(wǎng)的迅速發(fā)展。但是,隨著互聯(lián)網(wǎng)用戶數(shù)量不斷增長,以及對互聯(lián)網(wǎng)應(yīng)用的要求不斷提高,IPv4協(xié)議的不足也逐漸凸現(xiàn)出來。其中最尖銳的問題就是不斷增長的對互聯(lián)網(wǎng)資源的巨大需求與IPv4地址空間匱乏之間的矛盾。另外,由于IPv4地址方案不能很好地支持地址匯聚,現(xiàn)有的互聯(lián)網(wǎng)正面臨路由表不斷膨脹的壓力;同時,對服務(wù)質(zhì)量、移動性和安全性等方面的需求都迫切要求開發(fā)新一代IP協(xié)議。為了徹底解決互聯(lián)網(wǎng)的地址危機(jī),IETF提出了IPv6互聯(lián)網(wǎng)協(xié)議。除了對地址空間的擴(kuò)展以外,IPv6還提供了對安全性,服務(wù)質(zhì)量QoS,移動性的更好支持,從當(dāng)前IPv6技術(shù)研究和實驗的情況以及信息技術(shù)發(fā)展的趨勢看,基于IPv6的下一代互聯(lián)網(wǎng)出現(xiàn)并逐漸取代IPv4已經(jīng)是不可避免的趨勢。
面對商用化呼聲越來越高的IPv6協(xié)議,原來的IPv4網(wǎng)絡(luò)設(shè)備制造商不得不考慮對IPv6協(xié)議的支持,即開放出支持IPv6的設(shè)備或者是對現(xiàn)有設(shè)備進(jìn)行升級以支持IPv6協(xié)議。由于IPv4網(wǎng)絡(luò)設(shè)備的大量應(yīng)用,IPv4和IPv6共存的互聯(lián)網(wǎng)將在未來很長一段時間內(nèi)共存,因此IPv4和IPv6的互通性就變得非常重要。
為了解決互通性的問題,IETF提出了多種解決方案,幾種現(xiàn)有技術(shù)中常用的方案包括(1)雙協(xié)議棧技術(shù)(Dual-stack);(2)隧道技術(shù)(Tunneling);(3)NAT-PT(Network Address Translator and ProtocolTranslator)。
雙協(xié)議棧技術(shù)就是使得設(shè)備同時支持IPv4和IPv6兩套協(xié)議,這是一種基本的方案,也是當(dāng)前應(yīng)用范圍最廣泛的方案。從技術(shù)實現(xiàn)的角度看,網(wǎng)絡(luò)設(shè)備對雙棧技術(shù)的支持有兩種實現(xiàn)方法,一種方案就是采用全新的IPv4/IPv6協(xié)議棧實現(xiàn)方法,完全替換已有的IPv4協(xié)議棧。另一種方案是在現(xiàn)有IPv4協(xié)議棧代碼基礎(chǔ)上擴(kuò)展功能,增加新代碼,以實現(xiàn)對IPv6協(xié)議的支持。
第一方案所開發(fā)出的IPv4/IPv6雙棧具有良好的代碼一致性,并能夠吸收IPv4協(xié)議棧在應(yīng)用過程中所取得的經(jīng)驗和教訓(xùn),使得代碼在性能和可擴(kuò)展性具有比較大的上升空間。Wind River公司就采用的是這種方案,該公司對Kame協(xié)議棧進(jìn)行了移植和修改,形成了自己的全新的IPv4/IPv6雙協(xié)議棧,并開始在自己的產(chǎn)品中替換舊的IPv4協(xié)議棧。
雖然第一方案有諸多優(yōu)點,但其中存在一個非常致命的問題,即新的雙協(xié)議棧的穩(wěn)定性需要相當(dāng)長的時間來驗證。特別是對電信設(shè)備,運營商對其穩(wěn)定性要求非常高,往往要求其中的軟硬件穩(wěn)定性有相當(dāng)?shù)谋WC,并且在市場上得到了一定的應(yīng)用。特別是路由器,其功能主要體現(xiàn)在報文的路由和轉(zhuǎn)發(fā)上,對網(wǎng)絡(luò)層代碼的穩(wěn)定性要求更高。另外,雖然IPv6協(xié)議所帶來的變化主要集中在網(wǎng)絡(luò)層,但該層次代碼的變化,必然引起鏈路層和上層應(yīng)用的變化,從而帶來更多的不穩(wěn)定隱患。這種情況在類似于VxWorks這樣的嵌入式實時操作系統(tǒng)中還會變得更嚴(yán)重。上述情況實際上是由于這種方案沒有繼承IPv4協(xié)議已有成果所引起的。
第二種方案正是考慮到對已有IPv4成果的繼承性而提出的,該方案對現(xiàn)有IPv4代碼采取了充分利用的思想,通過增加IPv6協(xié)議的功能來實現(xiàn)對IPv4/IPv6雙棧的支持。特別是在高端路由器中,其分布式的軟件架構(gòu)使得軟件的開發(fā)變得異常復(fù)雜,如果對現(xiàn)有成果不采取繼承的方式,勢必影響產(chǎn)品的推出時間。在這種方式下,原有的IPv4功能得到了繼承,其協(xié)議一致性和沒有IPv6報文處理時的穩(wěn)定性得到了一定的保證。從產(chǎn)品開發(fā)的經(jīng)驗上看,這種方式對類似與VxWorks下的分布式軟件開發(fā)是一種更好的選擇。目前,Windows2000、WindowsXP和Linux等操作系統(tǒng)都是采用這種方式。由于其相應(yīng)的開發(fā)人員對IPv4的代碼和實現(xiàn)機(jī)制有相當(dāng)?shù)牧私?,另外他們的開發(fā)進(jìn)度也有一定的保證,因此他們完全可以在現(xiàn)有的IPv4協(xié)議棧上進(jìn)行自行設(shè)計和開發(fā),完成對IPv6協(xié)議的支持。
但是,從開發(fā)時間看,第二種方案需要自行設(shè)計和開發(fā),其開發(fā)的周期比較長。即使部分實現(xiàn)參考了開放源碼Open Source或者商用IPv6協(xié)議棧的代碼,但由于其主導(dǎo)思想是以自主開發(fā)為主,所完成的設(shè)計需要兼顧IPv4已有的框架結(jié)構(gòu),開發(fā)的周期和時間必然增加,因此這樣的方式對需要快速響應(yīng)市場需求的公司來說是不可接受的。
因此,現(xiàn)有技術(shù)存在缺陷,而有待于改進(jìn)和發(fā)展。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種在TCP/IPv4協(xié)議棧中增加IPv6支持的方法,兼顧上述兩種方案的方法,在現(xiàn)有以IPv4協(xié)議為基礎(chǔ)的設(shè)備中,通過移植現(xiàn)有的、來自于Open Source的IPv6協(xié)議棧代碼,以實現(xiàn)該設(shè)備對IPv4/IPv6雙棧功能的支持,即充分利用現(xiàn)有的Open Source或者商用IPv6協(xié)議棧的代碼,又考慮到對已有IPv4代碼的繼承性,從而在對IPv4代碼基本上不做修改的基礎(chǔ)上,移植已有IPv6協(xié)議棧,只需要去掉除了IPv6功能外的其他代碼,以使得現(xiàn)有產(chǎn)品能快速支持IPv6協(xié)議。
本發(fā)明的技術(shù)方案為一種在TCP/IPv4協(xié)議棧中增加IPv6支持的方法,其實現(xiàn)步驟包括a)保持TCP/IPv4協(xié)議棧及IPv6協(xié)議棧中對不同接口結(jié)構(gòu)體的定義,并通過在上述不同的結(jié)構(gòu)體中增加互指的指針來實現(xiàn)對應(yīng)結(jié)構(gòu)體的互相關(guān)聯(lián)和索引;b)IPv4協(xié)議棧和IPv6協(xié)議棧中對接口結(jié)構(gòu)體的操作各自獨立實現(xiàn),在涉及到對IPv4的接口結(jié)構(gòu)體的操作需要觸發(fā)IPv6接口結(jié)構(gòu)體的處理時,通過其中互指的指針來完成;反之亦然;c)IPv4協(xié)議棧和IPv6協(xié)議棧各自獨立維護(hù)和協(xié)議相關(guān)的數(shù)據(jù)結(jié)構(gòu),對數(shù)據(jù)結(jié)構(gòu)的操作獨立進(jìn)行;d)輸入的IPv4報文和IPv6報文在鏈路層統(tǒng)一處理,然后分發(fā)到不同的IPv4和IPv6網(wǎng)絡(luò)層代碼中;e)所述輸出的報文獨立的調(diào)用各自的協(xié)議輸出函數(shù),直到驅(qū)動的輸出函數(shù),其中不涉及到不同協(xié)議的交叉調(diào)用。
所述的方法,其中,所述方法還包括f)TCP for IPv6和UDP for IPv6的實現(xiàn)獨立于IPv4對應(yīng)的代碼。
所述的方法,其中,所述方法還包括g)動態(tài)路由協(xié)議部分,IPv6路由器信息協(xié)議和IPv6開放最短路徑協(xié)議直接從IPv6的代碼移植過來,IPv6的多協(xié)議擴(kuò)展BGP協(xié)議和IPv6的ISIS協(xié)議ISISv6則在已有的BGP4和ISISv4基礎(chǔ)上擴(kuò)展實現(xiàn)。
所述的方法,其中,所述方法還包括h)對網(wǎng)絡(luò)管理與維護(hù)方面,對不同協(xié)議分別提供獨立的操作維護(hù)接口;對由用戶發(fā)起的配置和維護(hù)信息,由網(wǎng)管模塊分解后分別給IPv4和IPv6進(jìn)行處理;對由IPv4和IPv6處理后返回的,則由網(wǎng)管模塊進(jìn)行匯總后統(tǒng)一回顯給用戶。
所述的方法,其中,所述步驟c)還包括在IPv4和IPv6中分別維護(hù)不同的路由表,互不影響。
本發(fā)明所提供的一種在TCP/IPv4協(xié)議棧中增加IPv6支持的方法,通過移植現(xiàn)有IPv6協(xié)議棧中的代碼,快速實現(xiàn)IPv4/IPv6雙棧機(jī)制,既可以很好的繼承已有的IPv4協(xié)議棧成果,也同時能夠充分互聯(lián)網(wǎng)上有關(guān)IPv6開發(fā)的成果,從而使得現(xiàn)有的設(shè)備能夠在較短的時間內(nèi)實現(xiàn)對IPv4/IPv6雙棧功能的支持。


圖1是本發(fā)明所實現(xiàn)的IPv4和IPv6雙棧結(jié)構(gòu)及其數(shù)據(jù)流向示意圖;圖2是本發(fā)明方法的IPv6與IPv4接口鏈掛接示意圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的技術(shù)方案的較佳實施作進(jìn)一步的詳細(xì)描述本發(fā)明的思想是繼承已有的IPv4成果,在基本上不改變IPv4功能和穩(wěn)定性的基礎(chǔ)上,充分利用現(xiàn)有IPv6已有的成果,快速實現(xiàn)對IPv6功能的支持。
本發(fā)明提出一種在繼承已有IPv4成果的基礎(chǔ)上,通過移植已有IPv6協(xié)議棧的代碼,來實現(xiàn)對IPv4/IPv6雙棧功能的支持,其基本思想主要體現(xiàn)在1.保持不同協(xié)議棧中對接口結(jié)構(gòu)體的定義,并通過在這不同的結(jié)構(gòu)體中增加互指的指針來實現(xiàn)對應(yīng)結(jié)構(gòu)結(jié)構(gòu)體的互相關(guān)聯(lián)和索引;2. IPv4和IPv6中對接口結(jié)構(gòu)體的操作各自獨立實現(xiàn),如果涉及到對IPv4接口結(jié)構(gòu)體的操作需要觸發(fā)IPv6接口結(jié)構(gòu)體的處理,則可以通過其中互指的指針來完成,反之亦然;IPv4所有對接口的操作代碼不會受新代碼的影響,而對IPv6接口操作的代碼可以直接從IPv6協(xié)議棧很快的移植過來。
3. IPv4和IPv6各自獨立維護(hù)和協(xié)議相關(guān)的數(shù)據(jù)結(jié)構(gòu),對數(shù)據(jù)結(jié)構(gòu)的操作也獨立進(jìn)行。例如路由表,在IPv4和IPv6中分別維護(hù)不同的路由表,互不影響;IPv4和IPv6各自獨立維護(hù)和協(xié)議相關(guān)的數(shù)據(jù)結(jié)構(gòu),從而使得所有IPv6基本協(xié)議棧的快速移植成為可能,并且IPv4和IPv6彼此獨立而不互相影響。
4.輸入的IPv4和IPv6報文在鏈路層統(tǒng)一處理,然后分發(fā)到不同的IPv4和IPv6網(wǎng)絡(luò)層代碼中;輸入報文在鏈路層進(jìn)行分發(fā),然后IPv4的報文在網(wǎng)絡(luò)層次的處理由原有的IPv4代碼處理,IPv6的報文在網(wǎng)絡(luò)層的處理則由新增加的IPv6代碼處理,彼此在網(wǎng)絡(luò)層是獨立的。
5.輸出的報文獨立的調(diào)用各自的協(xié)議輸出函數(shù),直到驅(qū)動的輸出函數(shù),其中不會涉及到不同協(xié)議的交叉調(diào)用;IPv4和IPv6的報文輸出彼此是獨立的,從而使得新的IPv6代碼不會影響IPv4的代碼,而新的IPv6代碼也可以從IPv6協(xié)議棧中移植過來。。
對網(wǎng)絡(luò)管理與維護(hù)方面,對不同協(xié)議分別提供獨立的操作維護(hù)接口。對由用戶發(fā)起的配置和維護(hù)信息,由網(wǎng)管模塊分解后分別給IPv4和IPv6進(jìn)行處理。對由IPv4和IPv6處理后返回的,則由網(wǎng)管模塊進(jìn)行匯總后統(tǒng)一回顯給用戶。
如圖1所示是利用本發(fā)明所實現(xiàn)的IPv4和IPv6雙棧結(jié)構(gòu)及其數(shù)據(jù)流向示意圖。利用本發(fā)明所實現(xiàn)的IPv4/IPv6雙棧中,IPv4和IPv6的基本協(xié)議棧代碼是彼此獨立的,IPv4和IPv6的報文只有在輸入鏈路層上統(tǒng)一處理,其余處理過程中都是彼此分開的,即IPv4的報文由IPv4的代碼處理,IPv6的代碼由IPv6的代碼處理。
IPv6接口鏈的存儲以及初始化本發(fā)明的關(guān)鍵所在就是對接口結(jié)構(gòu)體的處理,因為在TCP/IP協(xié)議棧的設(shè)計中,端口是一個非常重要的數(shù)據(jù)結(jié)構(gòu),通過端口數(shù)據(jù)結(jié)構(gòu),可以訪問端口的各種鏈路層信息、網(wǎng)絡(luò)層信息,同時,端口結(jié)構(gòu)和路由表、接口地址列表、多播地址列表等重要的數(shù)據(jù)緊密聯(lián)系在一起。在本發(fā)明方法中,IPv6接口結(jié)構(gòu)體中要增加對指向?qū)?yīng)IPv4接口結(jié)構(gòu)體的指針,同樣的,在IPv4的結(jié)構(gòu)體中也要增加指向?qū)?yīng)IPv6結(jié)構(gòu)體的指針。如圖2所示的給出了對IPv4和IPv6接口結(jié)構(gòu)體修改的示意圖,即在每一個IPv4結(jié)構(gòu)體的最后添加一個空指針用于指向?qū)?yīng)的IPv6結(jié)構(gòu)體,在每一個IPv6的結(jié)構(gòu)體的最后添加一個空指針用于指向?qū)?yīng)IPv4結(jié)構(gòu)體。
在圖2接口鏈掛接方式下,IPv4和IPv6協(xié)議棧原有的對接口鏈的操作代碼將不會有大的變化,可能引起的變化部分在于對兩個不同結(jié)構(gòu)體中必須同步的信息,這些信息的變化要同時反映到兩個結(jié)構(gòu)體中,即IPv4對接口參數(shù)的修改函數(shù)要對應(yīng)類似的一個IPv6函數(shù),對IPv4函數(shù)的調(diào)用也要同時調(diào)用對應(yīng)的IPv6的函數(shù),反之亦然。
IPv6接口鏈的初始化隨同IPv4的接口鏈一起完成,即在IPv4/IPv6雙協(xié)議棧中要分別定義對應(yīng)的IPv4和IPv6的接口初始化函數(shù),并在IPv4接口初始化的同時完成IPv6接口結(jié)構(gòu)體的初始化。
需要注意的地方是,IPv6和IPv4接口結(jié)構(gòu)體中對接口屬性的描述值隨協(xié)議棧的不同而可能不同,這個問題可以通過定義屬性映射函數(shù)來解決。
IPv6協(xié)議代碼對鏈路層的影響由于IPv6對TCP/IP協(xié)議所帶來的變化主要是在鏈路層之上,以及已有的IPv4產(chǎn)品中對鏈路層協(xié)議都有比較完善的實現(xiàn),因此,鏈路層的代碼仍然是以繼承為主的。根據(jù)實際的物理鏈路的不同,具體的處理細(xì)節(jié)也有所不同。
對以太網(wǎng)來說,對網(wǎng)輸入部分,只需要增加對IPv6數(shù)據(jù)報文的識別代碼,然后把數(shù)據(jù)報文傳遞給IPv6的代碼。對以太網(wǎng)輸出部分,由于鏈路層的處理在某些情況下也需要進(jìn)行和協(xié)議相關(guān)的一些處理,因此,本發(fā)明將輸出部分分別處理,即IPv4和IPv6分別調(diào)用各自的輸出函數(shù)。按照這種思路,IPv4已有的代碼就不用改變,IPv6的輸出代碼只需要從OpenSource中移植過來就可以了。
對PPP鏈路來說,LCP(Link Control Protocol,鏈路控制協(xié)議)和ACP(Authentication Control Protocol,認(rèn)證控制協(xié)議)對IPv4和IPv6都是一樣的,只有NCP(Network Control Protocol,網(wǎng)絡(luò)控制協(xié)議)不同,這里可以采用兩者方式來實現(xiàn)IPv6CP,一種方式就是移植新的IPv6協(xié)議棧中的IPv6CP,另外一種方式就時直接對IPv4產(chǎn)品中對應(yīng)的IPCP代碼修改以支持IPv6CP。本發(fā)明中推薦使用后一種方法。
對其它類型的鏈路層的處理基本上類似,這里就不一一羅列。
支持IPv6的TCP和UDP從標(biāo)準(zhǔn)的角度講,TCP和UDP沒有大的變化,因此,針對IPv6的TCP、UDP實現(xiàn)可以在IPv4相應(yīng)代碼的基礎(chǔ)上進(jìn)行修改??紤]到代碼至上而下的一致性,也可以采用新的、獨立于原有IPv4的TCP for IPv6和UDP for IPv6,而這樣的方式也可以通過移植新的IPv6協(xié)議棧中的相應(yīng)代碼來完成。在本發(fā)明中推薦使用后一種方法。UDP for IPv6和TCP forIPv6可以直接移植IPv6協(xié)議棧中的代碼,從而加快了產(chǎn)品開發(fā)的進(jìn)程。
IPv6相關(guān)的動態(tài)路由協(xié)議動態(tài)路由協(xié)議中,針對IPv6的IPv6路由器信息協(xié)議RIPng(RIPng forIPv6)和IPv6開放最短路徑協(xié)議OSPFv3(OSPF for IPv6)協(xié)議和相應(yīng)的IPv4的RIP和OSPFv2協(xié)議不同,完全依賴于IPv6,其代碼的設(shè)計獨立于IPv4,因此,在IPv4/IPv6雙協(xié)議棧中,這兩個動態(tài)路由協(xié)議都是IPv6協(xié)議棧中的實現(xiàn)代碼,和對應(yīng)的IPv4版本沒有關(guān)系;RIPng和OSPFv3可以直接從IPv6協(xié)議棧中移植過來而不用做大的修改。
多協(xié)議擴(kuò)展BGP協(xié)議BGP4+(BGP4 Multiprotocol Extensions forIPv6)是對BGP4的擴(kuò)展,它可以工作在TCP for IPv4上,也可以工作在TCP for IPv6上。這部分的功能實現(xiàn)也可以直接從IPv6協(xié)議棧中移植過來。按照這種思路BGP4+將處理IPv6的域間路由信息,而舊產(chǎn)品中已有的BGP4將處理IPv4的域間路由信息。對其中傳遞的路由信息將只包括相應(yīng)版本中條目。另外,也可以在BGP4基礎(chǔ)上修改代碼,以支持BGP4+的功能。由于網(wǎng)絡(luò)層中采用的是不同的路由表,在這種方式下,和路由表的交互就需要根據(jù)不同協(xié)議的路由協(xié)議進(jìn)行分發(fā)??紤]到對6PE等功能的支持,本發(fā)明中推薦在BGP4基礎(chǔ)上進(jìn)行修改以支持BGP4+的功能。
IPv6的ISIS協(xié)議(Intermediate System for IPv6)是建立在鏈路層上的路由協(xié)議,IS-IS6擴(kuò)展了路由可達(dá)和端口地址TLV,并擴(kuò)展了NLPID。本發(fā)明中對ISISv6的實現(xiàn)仍然采用在ISISv4基礎(chǔ)進(jìn)行修改的方式,其中協(xié)議部分可以從已有IPv6協(xié)議棧中移植過來。
網(wǎng)絡(luò)管理為了方便網(wǎng)管,移植后的雙棧將向上提供IPv6的網(wǎng)管接口,例如socket for IPv6,通過這個接口,用戶可以方便的監(jiān)控IPv6的網(wǎng)絡(luò)。
已有的IPv4產(chǎn)品都有各自的管理系統(tǒng),IPv6的網(wǎng)管要和已有IPv4的網(wǎng)管緊密結(jié)合起來,即操作者的角度說,IPv6的網(wǎng)管需要統(tǒng)一到IPv4的網(wǎng)管中。對網(wǎng)絡(luò)的配置操作,只需要調(diào)研類似于socket for IPv6就可以完成,但是對網(wǎng)絡(luò)信息的顯示則稍有不同。首先需要通過類似于Socket forIPv6這樣的網(wǎng)絡(luò)API獲取IPv6的信息,然后和已有的IPv4的信息統(tǒng)一處理后再回顯給管理員;管理員對雙棧發(fā)出的網(wǎng)管命令需要解析,然后分發(fā)到IPv4和IPv6的相關(guān)代碼中進(jìn)行處理,對從雙棧返回的響應(yīng)信息,需要在莫網(wǎng)管模塊中統(tǒng)一處理后再回顯給管理員。
利用上述方法,本發(fā)明可以實現(xiàn)在已有IPv4協(xié)議棧中快速增加IPv6的功能,并且不會影響IPv4已有的代碼,從而實現(xiàn)在現(xiàn)有產(chǎn)品中快速增加IPv6的功能。
本發(fā)明的所述在TCP/IPv4協(xié)議棧中增加IPv6支持的方法,在已有TCP/IPv4協(xié)議?;A(chǔ)上,通過移植現(xiàn)有IPv6協(xié)議棧中的代碼,快速實現(xiàn)了IPv4/IPv6雙棧機(jī)制,從而使得現(xiàn)有設(shè)備可以快速實現(xiàn)對IPv6功能支持。本發(fā)明的基本思路是修改IPv4和IPv6的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),即接口結(jié)構(gòu)體,使得IPv4和IPv6的接口鏈可以方便的互相索引。在此修改的基礎(chǔ)上,不同協(xié)議各自維護(hù)協(xié)議相關(guān)的數(shù)據(jù)結(jié)構(gòu),包括路由表、多播表等,對接口結(jié)構(gòu)體的操作也分別進(jìn)行,這樣就能實現(xiàn)協(xié)議的分開處理了。
本發(fā)明解決的是“IPv4協(xié)議棧+IPv6協(xié)議棧=IPv4/IPv6雙?!钡膯栴},其中的IPv4協(xié)議棧表示現(xiàn)有產(chǎn)品中已經(jīng)有的協(xié)議棧,IPv6的協(xié)議棧既可以是互聯(lián)網(wǎng)上免費的IPv6協(xié)議棧代碼,也可以是外購的IPv6協(xié)議棧,利用本發(fā)明中所提出方法,可以快速的結(jié)合兩種不同的協(xié)議棧代碼,快速的實現(xiàn)IPv4/IPv6雙棧協(xié)議功能。
應(yīng)當(dāng)理解的是,本發(fā)明的上述描述針對較佳實施例比較具體,但不能因此而理解為對本發(fā)明專利保護(hù)范圍的限制,須知,專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種在TCP/IPv4協(xié)議棧中增加IPv6支持的方法,其實現(xiàn)步驟包括a)保持TCP/IPv4協(xié)議棧及IPv6協(xié)議棧中對不同接口結(jié)構(gòu)體的定義,并通過在上述不同的結(jié)構(gòu)體中增加互指的指針來實現(xiàn)對應(yīng)結(jié)構(gòu)體的互相關(guān)聯(lián)和索引;b)IPv4協(xié)議棧和IPv6協(xié)議棧中對接口結(jié)構(gòu)體的操作各自獨立實現(xiàn),在涉及到對IPv4的接口結(jié)構(gòu)體的操作需要觸發(fā)IPv6接口結(jié)構(gòu)體的處理時,通過其中互指的指針來完成;反之亦然;c)IPv4協(xié)議棧和IPv6協(xié)議棧各自獨立維護(hù)和協(xié)議相關(guān)的數(shù)據(jù)結(jié)構(gòu),對數(shù)據(jù)結(jié)構(gòu)的操作獨立進(jìn)行;d)輸入的IPv4報文和IPv6報文在鏈路層統(tǒng)一處理,然后分發(fā)到不同的IPv4和IPv6網(wǎng)絡(luò)層代碼中;e)所述輸出的報文獨立的調(diào)用各自的協(xié)議輸出函數(shù),直到驅(qū)動的輸出函數(shù),其中不涉及到不同協(xié)議的交叉調(diào)用。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括f)TCP for IPv6和UDP for IPv6的實現(xiàn)獨立于IPv4對應(yīng)的代碼。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括g)對動態(tài)路由協(xié)議部分,IPv6路由器信息協(xié)議和IPv6開放最短路徑協(xié)議直接從IPv6的代碼移植過來,IPv6的多協(xié)議擴(kuò)展BGP協(xié)議和IPv6的ISIS協(xié)議ISISv6則在已有的BGP4和ISISv4基礎(chǔ)上擴(kuò)展實現(xiàn)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括h)對網(wǎng)絡(luò)管理與維護(hù)方面,對不同協(xié)議分別提供獨立的操作維護(hù)接口;對由用戶發(fā)起的配置和維護(hù)信息,由網(wǎng)管模塊分解后分別給IPv4和IPv6進(jìn)行處理;對由IPv4和IPv6處理后返回的,則由網(wǎng)管模塊進(jìn)行匯總后統(tǒng)一回顯給用戶。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟c)還包括在IPv4和IPv6中分別維護(hù)不同的路由表,互不影響。
全文摘要
本發(fā)明的一種在TCP/IPv4協(xié)議棧中增加IPv6支持的方法,其實現(xiàn)步驟包括保持TCP/IPv4協(xié)議棧及IPv6協(xié)議棧中對不同接口結(jié)構(gòu)體的定義,并通過在上述不同的結(jié)構(gòu)體中增加互指的指針來實現(xiàn)對應(yīng)結(jié)構(gòu)體的互相關(guān)聯(lián)和索引;IPv4協(xié)議棧和IPv6協(xié)議棧中對接口結(jié)構(gòu)體的操作各自獨立實現(xiàn),在涉及到對IPv4的接口結(jié)構(gòu)體的操作需要觸發(fā)IPv6接口結(jié)構(gòu)體的處理時,通過其中互指的指針來完成;反之亦然。本發(fā)明方法既可以很好的繼承已有的IPv4協(xié)議棧成果,也同時能夠充分互聯(lián)網(wǎng)上有關(guān)IPv6開發(fā)的成果,從而使得現(xiàn)有的設(shè)備能夠在較短的時間內(nèi)實現(xiàn)對IPv4/IPv6雙棧功能的支持。
文檔編號H04L29/06GK1783869SQ200410052519
公開日2006年6月7日 申請日期2004年11月29日 優(yōu)先權(quán)日2004年11月29日
發(fā)明者王 忠, 王芳, 田東旭 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
河间市| 天柱县| 珲春市| 阿克陶县| 北宁市| 麟游县| 获嘉县| 双城市| 怀来县| 开江县| 桂阳县| 和静县| 怀集县| 内丘县| 湘潭市| 南江县| 罗山县| 稷山县| 招远市| 桃源县| 特克斯县| 离岛区| 田东县| 长丰县| 大厂| 淮北市| 扶风县| 镇赉县| 黄石市| 马山县| 江山市| 抚顺市| 荃湾区| 古田县| 嘉义市| 巴林右旗| 隆尧县| 图木舒克市| 华容县| 鄱阳县| 陆良县|