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

通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法

文檔序號:7849931閱讀:165來源:國知局
專利名稱:通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種網(wǎng)絡(luò)和通信領(lǐng)域,主要是一種通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法。這種在采用IPv4規(guī)程的互聯(lián)網(wǎng)中擴展IPv4包的頭部的方法,其目的一方面在于使IPv4包的頭部可以載送更多的信息,另一方面也是對本人的另一項發(fā)明“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”的改進和補充。
背景介紹本人的另一項發(fā)明“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”(中國專利申請?zhí)?00410053139.9)提供了在IPv4網(wǎng)絡(luò)中按節(jié)點所在位置的路徑信息尋址和路由的方法,其特征是在IPv4包的頭部提供具有唯一性的對節(jié)點在內(nèi)網(wǎng)中的位置/路徑的描述,即由一個公網(wǎng)地址開頭后隨一個或幾個私網(wǎng)地址、或若干私網(wǎng)地址后隨一個公網(wǎng)地址的地址序列,并以此作為尋址的依據(jù),使采用內(nèi)網(wǎng)地址的節(jié)點成為在互聯(lián)網(wǎng)內(nèi)可以尋址,并使以這些節(jié)點為目標(biāo)的IP包在互聯(lián)網(wǎng)內(nèi)可以路由,從而可以在對現(xiàn)有IPv4規(guī)程改動最小且完全兼容的條件下解決地址容量不足的問題。為此,在IPv4規(guī)程的包頭可選項中增加了兩個新的可選項“源端路徑段”和“目標(biāo)端路徑段”,格式與原有的“源路徑”可選項相同。采用這種方法以后,公網(wǎng)包括骨干網(wǎng)中的路由器都可以原封不動地繼續(xù)使用,因為它們對包頭中不認(rèn)識的可選項會忽略不理,而包頭中除兩個新可選項以外的內(nèi)容又跟原先完全一樣。
可是,盡管如此,“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”所提供的方法還是有些缺點,主要表現(xiàn)在三個方面1)IPv4包頭的大小連可選項在內(nèi)最多只有60個字節(jié)。這是因為包頭中“頭部長度”位段只有4位,其最大值為15,其單位為“長字”、即4個字節(jié),所以頭部最長只有60個字節(jié)。其中20字節(jié)是IPv4的基本包頭,可以用于可選項的不超過40字節(jié)。這樣,如果采用了“源地址路徑段”和“目標(biāo)地址路徑段”可選項,就擠占了別的可選項本來可用的空間。事實上,在一般的數(shù)據(jù)流量中,(別的)可選項是很少使用、甚至從來不用的,可是這畢竟是個問題。
2)同樣的原因,包頭中有限的可選項空間給“源端路徑段”和“目標(biāo)端路徑段”的長度也帶來了限制。因為可用于可選項的不超過40字節(jié),單個“源端路徑段”或“目標(biāo)端路徑段”可選項的長度就不能超過20字節(jié)、即5個32位長字。由于在路徑段中還需要有個“當(dāng)前指針”,實際的路徑段長度就不能超過4個IP地址。其中最后一個是節(jié)點本身的“相對地址”,所以前面最多可以有三個IP地址。也就是說,內(nèi)網(wǎng)最多可以有三層。一般而言這已經(jīng)足夠了,但是有時候也可能不夠。
3)骨干網(wǎng)中的高端路由器往往是帶有硬件加速的。一般不帶可選項的IP包(包頭長度為5)都由硬件完成路由,無需CPU的介入;而帶有可選項的IP包(包頭長度>5)則“上交”給CPU,由軟件完成處理及路由。這些路由器并不認(rèn)識“源地址路徑段”和“目標(biāo)地址路徑段”可選項,所以只是檢查一下、而并不進行任何實質(zhì)性的處理和操作。但是,本來可以由硬件處理的流量現(xiàn)在卻要求CPU介入了。這當(dāng)然會降低骨干路由器的效率。這樣的流量多了,整個網(wǎng)絡(luò)的有效帶寬就下降了。
可見,要解決這些問題,就需要滿足兩個條件1.設(shè)法擴展IPv4包頭的大小,即包頭中可以用于各種可選項的空間。由于“頭部長度”位段只有4位,在原來的IPv4包頭中實際上不存在這樣的可能,所以解決的辦法只能是“外掛”。所謂外掛,使指新增加的空間在邏輯上屬于包頭,而物理上卻歸入(載荷)數(shù)據(jù)中,到了終點之后再從數(shù)據(jù)中剔除。而沿途凡是需要使用這些信息的節(jié)點(包括終點),則必須能知道到包中的什么位置上獲取這些信息。為此,在原來的包頭中至少必須帶有某種擴展標(biāo)志,說明包中是否帶有“外掛”的包頭擴展空間。這樣就可以解決前述的第一、第二兩個問題。
2.上述包頭中的擴展標(biāo)志對于骨干路由器必須是“透明”的、即不可見的。而且,“源地址路徑段”和“目標(biāo)地址路徑段”可選項也應(yīng)該放在“外掛”的包頭擴展空間中,使這兩個可選項對骨干路由器透明。這樣,才能不干擾骨干路由器中的硬件加速,從而解決前述的第三個問題。
本發(fā)明提供了一種能夠滿足這兩個條件的方法。

發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提供了一種通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法。該方法既使IPv4包的頭部可以載送更多的信息,又在與IPv4完全兼容的條件下實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由,從而解決IP地址容量不足的問題。而且,采用本發(fā)明所提供的方法還可以使擴展了包頭的IPv4包對骨干路由器“透明”,使其硬件加速的效率不受影響。
本發(fā)明所采用的技術(shù)方案。這種通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法,將IPv4包頭“標(biāo)志”位段中的最高位定義成“包頭擴展”標(biāo)志位EXT;如果一個IPv4包的“包頭擴展”標(biāo)志位為1,就說明在IPv4包頭與包的有效載荷之間存在著一個擴展部;包頭擴展部在包中的起點由包頭中“包頭長度”位段的值確定;包頭擴展部有個擴展部描述,說明擴展部的長度;包頭擴展部的長度計入包的總長度,就是包頭中“包長度”位段的值;包頭擴展部中含有至少一個可選項。針對在互聯(lián)網(wǎng)中按路徑尋址和路由,包頭擴展部中可按實際需要帶有“源端路徑段”和“目標(biāo)端路徑段”可選項。
本發(fā)明有益的效果是包頭擴充部的長度實際上不受限制,使得路徑段描述的長度實際上不受限制,包頭中的擴展標(biāo)志對于骨干路由器是“透明”的,不會干擾骨干路由器中的硬件加速。
具體實施例方式
下面結(jié)合“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”所述“源端路徑段”和“目標(biāo)端路徑段”兩個可選項的使用對本發(fā)明的實施作進一步介紹;IPv4包頭中原來有3位是保留未用的。早期的IPv4包頭中有個TOS字節(jié),字節(jié)中的最高三位用來表示包的優(yōu)先級,還有三位表示包的路由選擇準(zhǔn)則。后來把這個字節(jié)改成了“DS”字節(jié),用這個字節(jié)中的6位來表示與包的流量控制有關(guān)的屬性,在此基礎(chǔ)上實現(xiàn)一種稱為“區(qū)別服務(wù)(DiffSrv)”的機制,為用戶提供服務(wù)質(zhì)量承諾、即QoS。當(dāng)時DS字節(jié)中的最后兩位保留未用,因此對于路由器是透明的。但是,RFC2481已經(jīng)提議(規(guī)定)用這兩位構(gòu)成一個“ECN”位段,用于“顯式擁擠通知(Explicit CongestionNotification)”。這是屬于流量控制的一種機制,放在DS字節(jié)中顯然是合理的。盡管現(xiàn)在還很少有路由器已經(jīng)支持ECN位段,但是既然已經(jīng)規(guī)定就不能再用了。還有一位保留未用的是在“標(biāo)志(Flags)”位段中。這個位段有三位,實際上只用了兩位,即“禁止分割(Don′t Fragment)”和“更多片斷(More Fragments)”,用于大包的分割傳輸和恢復(fù)。但是,這個位段中還有一位是保留未用的,事實上這是IPv4基本包頭中還剩下的唯一的一位了。本發(fā)明就把這一位定義為“包頭擴展(EXT)”標(biāo)志位。
這樣,如果一個IP包(指IPv4包,下同)頭部的“包頭擴展(EXT)”標(biāo)志位為1,就說明這個包頭帶有擴展部,其位置(起點)取決于包頭中的“包頭長度”位段。為了說明擴展部的大小和擴展部中可選項的數(shù)量,將其第一個長字(4個字節(jié))用作“擴展部描述”,其格式如下

這里將第一個字節(jié)的前4位作為特征碼,例如0xA,以便驗證。剩余的4位用作標(biāo)志位。第二個字節(jié)中的前5位表示擴展部的長度,以長字為單位;其余3位表示可選項個數(shù);最后兩個字節(jié)用作擴展部的誤碼校驗。當(dāng)然,擴展部描述的格式可以與此不同,例如特征碼也可以不要、擴展部長度和可選項個數(shù)也可以各用8位,或者標(biāo)志位也可以不要,等等。擴展部描述的具體格式并不影響本發(fā)明的實質(zhì)。
未經(jīng)定義的標(biāo)志位一律取0值。目前只定義其中的最低位為“加密”標(biāo)志位,表示擴展部的內(nèi)容已加密,至于具體怎樣加密和解密則不屬于本發(fā)明的范疇。如“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”所述,不管兩端的路徑段如何,當(dāng)一個IP包進入公網(wǎng)、并且還在公網(wǎng)中穿行時,其包頭中的源地址和目標(biāo)地址兩個位段中就總是兩個公網(wǎng)地址,在典型情況下代表著兩個頂層網(wǎng)關(guān)、或曰“門戶網(wǎng)關(guān)”。也就是說,兩端的路徑段信息只是在門戶網(wǎng)關(guān)的轄區(qū)內(nèi)才受倒關(guān)心,對于公網(wǎng)中的節(jié)點則并無意義。而網(wǎng)上對IP包的偷聽、欄截、偽造等等惡意行為,則大多發(fā)生于公網(wǎng)中。因此,將擴展部的內(nèi)容加密,就使公網(wǎng)中的偷聽者不能確定IP包的具體目標(biāo)是誰,從而提高了安全性。
在使用中,并非先要把包頭中原來就用于可選項的空間用完以后才加上擴展部,特別是“源端路徑段”和“目標(biāo)端路徑段”可選項更是應(yīng)該放在擴充部分,這樣才能對骨干網(wǎng)路由器透明。所以,如果一個IP包中除此之外沒有別的可選項,那么其包頭中的“包頭長度”為5、即20字節(jié),而包頭擴展標(biāo)志位EXT為1,整個包中從第21個字節(jié)開始為擴展部,擴展部后面才是報文(數(shù)據(jù))。這樣,由于擴展部的容量可以超過40字節(jié),“源端路徑段”和“目標(biāo)端路徑段”的長度就都可以超過4個IP地址。換言之,內(nèi)網(wǎng)的層次可以超過3層。
擴展部目前的用途是載送“源端路徑段”和“目標(biāo)端路徑段”可選項,但是并不排除將來有其它可選項出現(xiàn)。
如“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”的說明書所述,一般而言,一個IP包從源節(jié)點到目標(biāo)節(jié)點的傳輸可以依次分為三段。第一段為源端路徑段,這是一段內(nèi)網(wǎng)路徑段,如果源節(jié)點不在內(nèi)網(wǎng)中(源節(jié)點有公網(wǎng)地址)則不存在源端路徑段。第二段為公網(wǎng)路徑段,IP包頭中的目標(biāo)地址和源地址兩個位段在公網(wǎng)路徑段中保持不變。第三段為目標(biāo)端路徑段,這又是一段內(nèi)網(wǎng)路徑段,如果目標(biāo)節(jié)點不在內(nèi)網(wǎng)中(目標(biāo)節(jié)點有公網(wǎng)地址)則不存在目標(biāo)端路徑段。
采用了“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”、并進一步采用本方法以后,對公網(wǎng)路徑段中的路由器無任何要求,這些路由器無需任何改動,因為這些路由器本來就會忽略包頭擴展標(biāo)志位。
對于IP包的發(fā)送方的要求● 根據(jù)“源端路徑段”和“目標(biāo)端路徑段”可選項的需要與否和大小計算出擴展部的大?。弧? 根據(jù)擴展部的大小在包頭與有效載荷之間插入擴展部;
● 將“源端路徑段”和“目標(biāo)端路徑段”可選項填寫到擴展部中;● 設(shè)置擴展部描述,并計算和填寫擴展部的誤碼效驗。
● 將包頭中“總長度”位段的值增加擴展部的大??;● 將包頭中的包頭擴展標(biāo)志位設(shè)置成1;● 將包頭中的“禁止分割”標(biāo)志位也設(shè)置成1,以防沿途的路由器因緩沖區(qū)不夠大而加以分割。
對于IP包的接收方的要求● 根據(jù)包頭擴展標(biāo)志位的值確定接收到的IP包中是否帶有擴展部;● 如果有,則找到擴展部,根據(jù)擴展部的大小計算并核對擴展部的誤碼效驗。
● 如果帶有源地址路徑段可選項,就記錄下來供回信之需。
● 根據(jù)包頭的大小和擴展部的大小找到包中的有效載荷;● 根據(jù)擴展部的大小調(diào)整有效載荷的長度,達到從包中剔除擴展部的效果。
而對于源端路徑段和目標(biāo)端路徑段所涉及的網(wǎng)關(guān),則要求● 根據(jù)包頭擴展標(biāo)志位的值確定接收到的IP包中是否帶有擴展部;● 如果有,則找到擴展部,根據(jù)擴展部的大小計算并核對擴展部的誤碼效驗。
● 按“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”所述處理源端路徑段、目標(biāo)端路徑段、和包頭中的目標(biāo)地址/源地址位段。
如果源端或目標(biāo)端內(nèi)網(wǎng)中除網(wǎng)關(guān)以外還有路由器,則對這些路由器也無任何要求,這些路由器也無需任何改動;因為一來這些路由器本來就會忽略包頭擴展標(biāo)志位,二來此時包頭中的目標(biāo)地址位段必定指向上一層網(wǎng)關(guān),只要按常規(guī)路由即可。
最后,對于無需進入公網(wǎng)、只在內(nèi)網(wǎng)中就能到達目標(biāo)節(jié)點的IP包而言,固然可以延用“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”中所述的規(guī)范格式的路徑段描述,即一個公網(wǎng)地址后隨若干私網(wǎng)地址的序列,而如“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”中所述由沿途的各個內(nèi)網(wǎng)網(wǎng)關(guān)對路徑加以優(yōu)化、消去兩個路徑段描述中的公共部分。另一方面,這樣的優(yōu)化也可以放在源節(jié)點發(fā)送[P包之前,以減輕沿途各個內(nèi)網(wǎng)網(wǎng)關(guān)的負(fù)擔(dān)。例如,要是源端路徑段為“101.202.10.11,192.168.100.31,10.40.120.3”,而目標(biāo)端路徑段為“101.202.10.11,192.168.100.31,10.40.120.5,192.168.10.22”,就可以在發(fā)送之前就把公共部分消去,于是源端路徑段成為“10.40.120.3”,而目標(biāo)端路徑段則成為“10.40.120.5,192.168.10.22”。進一步,由于源端路徑段中只有一個地址,就可以不必使用源端路徑段可選項了。所以,如果源端路徑段和目標(biāo)端路徑段都在同一個頂層內(nèi)網(wǎng)的內(nèi)部,則源端路徑段和目標(biāo)端路徑段可以只是內(nèi)網(wǎng)地址的序列,而不必是“一個公網(wǎng)地址后隨若干內(nèi)網(wǎng)地址的序列”。相應(yīng)地,上述對發(fā)送方的要求中也要加上一條“對源端路徑段和目標(biāo)端路徑段可選項進行可能的優(yōu)化,自頂向下地消去其公共部分”。反過來這也可以適用于“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”中所述的路徑段描述還要說明,“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”中所述的內(nèi)網(wǎng)網(wǎng)關(guān)逐步改變包頭中的目標(biāo)地址位段是一種“規(guī)范”的處理方式,這樣做的好處是在相繼兩個網(wǎng)關(guān)之間還可以有普通(不支持路徑段描述可選項)的路由器或三層交換機存在。因為這樣,才要求只要包中有源端路徑段可選項就必須也有目標(biāo)端路徑段可選項,否則就沒有地方可以暫存真正的目標(biāo)地址??墒恰耙?guī)范”的處理方式并不是唯一可行的處理方式,如果不是逐步改變包頭中的目標(biāo)地址(盡管處理起來不便),那就不需要僅僅因為包中有源端路徑段可選項就也要有目標(biāo)端路徑段可選項。當(dāng)然,這樣的實施細(xì)節(jié)并不改變本發(fā)明以及“在互聯(lián)網(wǎng)中按路徑尋址和路由的方法”的實質(zhì)。
下面進一步給出有關(guān)算法的偽代碼描述。
發(fā)送IP包(用于主機或網(wǎng)關(guān)節(jié)點)輸入目標(biāo)端路徑段描述,數(shù)據(jù)緩沖區(qū)指針及數(shù)據(jù)長度,用作“草稿”的20字節(jié)“基本包頭”緩沖區(qū)。
用作“草稿”的包頭擴展部緩沖區(qū)。
算法源端路徑段描述=本節(jié)點的路徑段描述;自頂向下(從公網(wǎng)地址開始)比較源端路徑段描述和目標(biāo)端路徑段描述,并消去公共部分;if(源端路徑段長度>1){根據(jù)源端路徑段描述構(gòu)建源端路徑段選擇項;根據(jù)目標(biāo)端路徑段描述構(gòu)建目標(biāo)端路徑段選擇項;將本節(jié)點的IP地址填寫到基本包頭中的源地址位段;目標(biāo)地址=目標(biāo)端路徑段描述中的第一個地址(必是公網(wǎng)地址);將目標(biāo)地址填寫到基本包頭中的目標(biāo)地址位段;}else /*無源端路徑段選擇項 */
{將本節(jié)點的IP地址填寫到基本包頭中的源地址位段;if(目標(biāo)端路徑段長度>1){根據(jù)目標(biāo)端路徑段描述構(gòu)建目標(biāo)端路徑段選擇項;}目標(biāo)地址=目標(biāo)端路徑段描述中的第一個地址(必是公網(wǎng)地址);將目標(biāo)地址填寫到基本包頭中的目標(biāo)地址位段;}擴展部長度=源端路徑段選擇項長度(如果有的話)+目標(biāo)端路徑段選擇項長度(如果有的話)+4;if(擴展部長度>4)根據(jù)源端路徑段選擇項和目標(biāo)端路徑段選擇項構(gòu)建擴展部;else擴展部長度=0; /*無擴展部 */包頭長度=(20字節(jié)+別的選擇項長度(如果有的話))/4;根據(jù)包頭長度設(shè)置基本包頭中的“包頭長度”位段;把基本包頭中的版本號位段設(shè)置成4;基本包頭中其他位段的設(shè)置與傳統(tǒng)IPv4相同;根據(jù)(包頭長度+擴展部長度+數(shù)據(jù)長度)分配IP包緩沖區(qū)。將基本包頭、擴展部、以及數(shù)據(jù)復(fù)制到IP包緩沖區(qū)中;將包頭中的總長度位段設(shè)置成(包頭長度+擴展部長度+數(shù)據(jù)長度);if(擴展部長度>0){將包頭中的包頭擴展標(biāo)志位設(shè)置成1;將包頭中的禁止分割標(biāo)志位設(shè)置成1}將IP包緩沖區(qū)交付鏈路層發(fā)送;/* 結(jié)束 */接收IP包(用于主機或網(wǎng)關(guān)節(jié)點)輸入IP包緩沖區(qū)指針及包的長度。
算法檢查包頭中的版本號位段;if(版本號==4){包頭長度=包頭中的“包頭長度”位段;if(包頭擴展標(biāo)志位為1)/*有擴展部*/{擴展部起點=包頭長度;擴展部長度=擴展部描述中的長度位段;對擴展部進行誤碼校驗;if(效驗出錯){將包丟棄,報錯,退出處理;}if(第一個可選項是源端路徑段)/*源端路徑段必須是第一個可選項*/{源端路徑段描述=源端路徑段可選項;if(下一個可選項是目標(biāo)端路徑段){目標(biāo)端路徑段描述=目標(biāo)端路徑段可選項;}else{報錯;/*只要有源端路徑段就必有目標(biāo)端路徑段*/}if(源端路徑段可選項中的指針不指向第一個地址)
{/*尚未進入公網(wǎng)*/比較源端路徑段描述和目標(biāo)端路徑段描述;if(有公共部分開且(公共部分的最后一個地址與本節(jié)點地址相符)){轉(zhuǎn)發(fā)IP包。/*見后*/}}}else /*無源端路徑段可選項*/if(第一個可選項是目標(biāo)端路徑段){目標(biāo)端路徑段描述=目標(biāo)端路徑段可選項;}if(包頭中的目標(biāo)地址與本節(jié)點地址相符并且(無目標(biāo)端路徑段可選項或目標(biāo)端路徑段可選項中的指針指向最后一個地址)){對方路徑段描述=源端路徑段描述;/*供反向發(fā)送IP包時使用*/該IP包以本節(jié)點為目標(biāo),遞交給應(yīng)用層或上一層網(wǎng)絡(luò)規(guī)程;}else{轉(zhuǎn)發(fā)IP包。/*見后*/}}else/*無擴展部*/
{傳統(tǒng)IPv4的處理。
}}else /*不是IPv4*/{其它規(guī)程(如IPv6)的處理;}/*結(jié)束*/轉(zhuǎn)發(fā)IP包(用于網(wǎng)關(guān)節(jié)點)輸入IP包緩沖區(qū)指針及包的長度,源端路徑段描述,目標(biāo)端路徑段描述。
算法包頭長度=包頭中的“包頭長度”位段;if(包頭擴展標(biāo)志位為0)/*無擴展部*/{常規(guī)的IP包轉(zhuǎn)發(fā);}擴展部起點=包頭長度;擴展部長度=擴展部描述中的長度位段;對擴展部進行誤碼效驗;if(效驗出錯){將包丟棄,報錯,退出處理;}檢查源端路徑可選項中的指針;if(無源端路徑段可選項或(源端路徑段可選項中的指針指向其頂層第一個地址并且該地址?。奖竟?jié)點地址)){/*已穿越公網(wǎng)到達目標(biāo)端,或源與目標(biāo)在同一個內(nèi)網(wǎng)樹中*/if(無目標(biāo)端路徑段可選項){傳統(tǒng)IPv4的處理;}else{if(目標(biāo)端路徑段可選項中的指針?biāo)福剑奖竟?jié)點地址){/*本節(jié)點在路徑描述中, 因而是網(wǎng)關(guān)*/使目標(biāo)端路徑段可選項中的指針指向下一個地址;將這個地址填寫入包頭中的目標(biāo)地址位段;}else{/*本節(jié)點不在路徑描述中, 因而是普通路由器*/傳統(tǒng)IPv4內(nèi)網(wǎng)路由或三層交換;}}}else/*還在源端尚未進入公網(wǎng),或源與目標(biāo)在同一個內(nèi)網(wǎng)樹中*/{if(源端路徑段可選項中的指針指向第一個地址){if(是公網(wǎng)地址){/*本節(jié)點是源端頂層網(wǎng)關(guān)*/
將本節(jié)點的公網(wǎng)地址填寫入包頭中的源地址位段;使目標(biāo)端路徑段可選項中的指針指向第一個地址;將這個地址填寫入包頭中的目標(biāo)地址位段;}else/*是經(jīng)過優(yōu)化的路徑段描述*/{將目標(biāo)端路徑段可選項中的第一個地址填寫入包頭中的目標(biāo)地址位段;}}else/*并非頂層網(wǎng)關(guān),尚在源端路徑段中*/{if(源端路徑段可選項中的指針?biāo)福剑奖竟?jié)點地址){/*本節(jié)點在路徑描述中, 因而是網(wǎng)關(guān)*/if(源端路徑段可選項中的第一個地址是公網(wǎng)地址){/*路徑段描述未經(jīng)優(yōu)化,試行實事優(yōu)化*/比較源端路徑段描述和目標(biāo)端路徑段描述;if(有公共部分并且(公共部分以后的第一個地址與本節(jié)點地址相符)){使源端路徑段可選項中的指針指向第一個地址;/*裝作已經(jīng)穿越公網(wǎng)*/在目標(biāo)端路徑段可選項中找到公共部分以后的第一個地址;使目標(biāo)端路徑段可選項中的指針指向該地址;并將該地址填寫入包頭中的目標(biāo)地址位段;/*裝作已經(jīng)路由到了公共部分的最后一個節(jié)點*/}}
else{使源端路徑段可選項中的指針指向上一層地址;將這個地址填寫入包頭中的目標(biāo)地址位段;}}else{/*本節(jié)點不在路徑描述中,因而是普通路由器*/傳統(tǒng)IPv4內(nèi)網(wǎng)路由或三層交換;}}}根據(jù)包頭中的目標(biāo)地址位段進行路由;/*查路由表*/發(fā)送IP包;/*結(jié)束*/這些算法可以通過軟件實現(xiàn),也可以通過集成電路芯片(或芯片組)以硬件形式實現(xiàn)。具體的實現(xiàn)形式與手段并不改變本發(fā)明在IP網(wǎng)絡(luò)中按路徑尋址的實質(zhì)。此外,實際實現(xiàn)時還可對這些算法加以優(yōu)化,這同樣也不改變本發(fā)明的實質(zhì)。
權(quán)利要求
1.一種通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法,其特征是1)將IPv4包頭“標(biāo)志”位段中的最高位定義成“包頭擴展”標(biāo)志位EXT;2)如果一個IPv4包的“包頭擴展”標(biāo)志位為1,就說明在IPv4包頭與包的有效載荷之間存在著一個擴展部;3)包頭擴展部在包中的起點由包頭中“包頭長度”位段的值確定;4)包頭擴展部有個擴展部描述,說明擴展部的長度;5)包頭擴展部的長度計入包的總長度,就是包頭中“包長度”位段的值;6)包頭擴展部中含有至少一個可選項。
2.根據(jù)權(quán)利要求1所述通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法,其特征是1)需要使用新增加的兩個可選項“源端路徑段”和“目標(biāo)端路徑段”時,將這兩個可選項放在包頭擴展部中。
3.根據(jù)權(quán)利要求2所述通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法,其特征是1)“源端路徑段”和“目標(biāo)端路徑段”可選項都可以是不帶公網(wǎng)地址的私網(wǎng)地址序列;2)包的發(fā)送方先自頂向下比對其“目標(biāo)端路徑段”地址序列和“源端路徑段”地址序列;如果部分重合就說明目標(biāo)節(jié)點與源節(jié)點都在同一個頂層內(nèi)網(wǎng)網(wǎng)關(guān)下面,因而可以將兩個路徑段地址序列中的公共部分消去,形成只含私網(wǎng)地址的路徑段可選項。
全文摘要
本發(fā)明涉及一種通過擴展IPv4包頭實現(xiàn)在互聯(lián)網(wǎng)中按路徑尋址和路由的方法。將IPv4包頭“標(biāo)志”位段中的最高位定義成“包頭擴展”標(biāo)志位EXT;如果一個IPv4包的“包頭擴展”標(biāo)志位為1,說明在IPv4包頭與包的有效載荷之間存在著一個擴展部;包頭擴展部在包中的起點由包頭中“包頭長度”位段的值確定;包頭擴展部有個擴展部描述;包頭擴展部的長度計入包的總長度;包頭擴展部中含有至少一個可選項。針對在互聯(lián)網(wǎng)中按路徑尋址和路由,包頭擴展部中可帶有“源端路徑段”和“目標(biāo)端路徑段”可選項。本發(fā)明優(yōu)點是包頭擴充部的長度不受限制,使得路徑段描述的長度不受限制,包頭中的擴展標(biāo)志對于骨干路由器是“透明”的,不會干擾骨干路由器中的硬件加速。
文檔編號H04L12/56GK1588912SQ20041006622
公開日2005年3月2日 申請日期2004年9月9日 優(yōu)先權(quán)日2004年9月9日
發(fā)明者毛德操 申請人:毛德操, 浙江浙大網(wǎng)新科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
普陀区| 兴安盟| 天等县| 栾城县| 黄龙县| 长子县| 新密市| 得荣县| 新宾| 新昌县| 汾阳市| 徐州市| 江山市| 余庆县| 连江县| 石狮市| 防城港市| 克东县| 平塘县| 灯塔市| 昭平县| 隆德县| 乾安县| 凭祥市| 新密市| 翁牛特旗| 广灵县| 余庆县| 七台河市| 合肥市| 凉山| 唐河县| 荥经县| 莱西市| 吉木乃县| 观塘区| 宾阳县| 尼玛县| 阳春市| 乌兰浩特市| 汝阳县|