專利名稱::互聯網地址擴展的方法
技術領域:
:本發(fā)明涉及一種實現互聯網地址擴展的方法,屬于計算機網絡領域。技術背景廳聯網是目前世界上最大的網絡,它連接了數百萬臺主機,可以說將整個世界都連接在-起。互聯網是一個很了不起的發(fā)明,它使得我們獲取信息變得極其簡便?;ヂ摼W的連接基于一種稱為TCP/IP的協議,IP是其中網絡層的協議,目前IP協議的版本號是4,簡稱為IPv4,IPv4的核心是為每臺主機分配一個唯一的32位的地址,這一地址就唯一地標識了這臺主機,這樣即便有數百萬臺主機,由于它們的地址都是唯一的,通過這一地址,就可以準確無誤地找到它們?;ヂ摼W上兩臺主機的通訊過程是這樣的主機將待傳輸的數據進行打包,每一個數據包都指明了發(fā)送方的地址,接收方的地址,就象交給郵局投寄的郵件一樣。互聯網上的路由器負責將這些數據包準確無誤地送到接收方。IPv4中32位的地址長度最多能提供約40億個地址,由于互聯網用戶的迅速膨脹,32位的地址長度所提供的地址空間已經顯得不足。為了緩和IPv4中地址短缺的問題,人們引入了地址轉換技術(NetworkAddressTranslation),簡稱NAT。NAT的工作原理是在私網和公網之間,設立NAT網關;在私網內部,主機可以使用保留的私有地址,當該私網主機發(fā)送數據包給公網的主機時,NAT網關對該數據包進行地址轉換,原來的發(fā)送方地址為該私網主機的私有地址,NAT網關將其轉換成NAT網關的公網地址,然后發(fā)送給公網的主機。該公網的主機回復時,將回復到NAT網關,NAT對照其地址映射表,査找與該公網主機通訊過的私網主機,找到后,將收到的數據包的目的地址進行地址轉換,原來的目的地址為NAT網關的公網地址,NAT網關將其轉換成私網主機的私有地址,然后發(fā)送給該私網主機。端口轉換技術(PortAddressTranslation),簡稱PAT,是NAT的一種,它除了地址轉換外,還對端口進行轉換。NAT較好地解決了私網主機呼叫公網主機的問題,但NAT也存在這樣的問題公網主機卻沒有辦法呼叫NAT網關后面的私網主機。許多方案試圖解決這個問題,其中比較可行的方案是在公網上架設中轉服務器,目前流行的即時通訊軟件.如QQ,MSN等就是采用了這一方案。但所有這些方案都沒有能夠很好地實現公私網無縫互連的問題,所以NAT只是局部解決了地址短缺的問題。^前互聯網的點對點應用iH在飛速發(fā)展,點對點應用中,每一臺主機都可以成為一個網站'一個FTP服務器,個通訊終端,在這一形勢下,IPv4中地址短缺的問題更顯突出??梢哉fIPv4中地址短缺的問題已經成為互聯網繼續(xù)發(fā)展的一個最大的瓶頸之一,需要得到完善解決。為了比較徹底地解決這一問題,人們制訂了IP協議的下一版本,艮卩IPv6,IPv6采用128位地址長度'約能^供的地址數為3x1038,這是一個非常大的數字,在可以預見的未來,IPv6將不會有地址短缺的問題。但IPv6與IPv4不兼容,IPv6采用128位地址,這一套地址是獨立于現有IPv4外的一套全新地址,而目前的互聯網是基于IPv4,人們已經在IPv4進行了龐大無比的投資'所以IPv4向IPv6的過渡過程是很長、很痛苦的。目前解決過渡問題主要有:::種雙協議棧(DualStack)、隧道(IPv4TunnelingofIPv6)和翻譯器(IPv4/IPv6Translations雙協議棧就是節(jié)點同時支持IPv4和IPv6協議,使得它們可以與兩種類型的節(jié)點通訊;隧道的要點在于在IPv4的網絡層上承載IPv6數據包,也就是說有兩層網絡層,將IPv6的包封裝在IPv4包里,這樣就可以在目前的IPv4網絡中傳送IPv6數據包,然后在目的地將其解封,得到IPv6包;翻譯就相當于一個IPv4網和IPv6網之間的轉換點,負責將IPv6轉換成IPv4,將IPv4轉換成IPv6。
發(fā)明內容本發(fā)明提出了解決IPv4中地址短缺問題的一個技術方案,它既對IPv4的地址進行了擴展,而又盡可能地與現有的IPv4兼容。本發(fā)明解決其技術問題所采用的技術方案是-L對IPv4進行地址擴展時,新的地址方案中,其頭32位地址采用目前IPv4的地址,而不是一套完全新的地址方案。而且后面的地址分配由IPv4的地址擁有方自行分配。其實這樣才是比較合符邏輯的,比方說開始時中國深圳市只有一個電話號碼,就是0086-755,現在需要擴展,那么一種方案是將現在的電話號碼完全推倒,然后重新建立一套新的號碼系統(tǒng),這就是目前IPv6所做的一樣,另一種方案是在目前的電話號碼后面擴展,如現在深圳市需要8位數字的號碼系統(tǒng),那么在后面擴展,0086-755-27338088,而這8位擴展數字是隸屬于中國深圳市,由其負責分配,當0086-755-27338088的電話號碼用戶需要增加分機時,他就可以在后面自行分配分機號碼,如0086-755-27338088-1001,這樣不是更符合邏輯嗎?同樣對于互聯網地址,目前的地址32位不夠用,就可以在后面進行擴展。2.地址的擴展分層進行,當前的IPv4層不夠用,需要擴展,就在上面增加一層網絡層,類似于隧道技術,區(qū)別在于增加的網絡層的地址是隸屬于IPv4的32位地址的,如169.254.240.25是一個32位的IPv4地址,現在需要擴展到128位(注意這僅是為了更好闡述本發(fā)明的實質精神,而不是作為對本發(fā)明的限制,擴展的位數可以是任何合適的數字),這樣169.254.240.25就從一個地址變成了一個子網絡,例如其下面的一個主機的地址為169.254.240.25.202.10.0.0.0.0.0.0.0.0.0.L其他的主機訪問該地址時,首先由第一層的IP層,也就是當前的IPv4網絡,訪問到關口169.254.240.25,第一層的路由器只需要關心第一層的問題,到了關口169.254.240.25后,由關口和子網絡內的路由器再對第二層網絡層進行解析處理,送到子網內地址為202.10.0.0.0.0.0.0.0,0.0.1的主機,子網絡內的路由器只需要關心本層的問題,將數據包送到關口169.254.240.25,或者是將數據包從關SI169.254.240.25送到子網內主機,而不需要關心第一層IPv4網絡的路由問題,這就類似于網絡協議的設計一樣,每一層都各有明確分工,簡單而可靠,以后再擴展也非常方便。從本質上來說,如果同樣是將IPv4的32位地址擴展到128位,本方案是在原來的32位基礎上,再在后面增加96位,而a該96位屬于卜面增加的網絡層,而IPv6是將原來的32位完全推倒,重新編制128位地址,這樣一個看似簡單的挪動,背后卻產生巨大影響IPv6是將現有的IPv4全部踢開重來,推廣起來困難重重也就無可避免了,而本發(fā)明方案是對現有32位地址合符邏輯的擴展'而且完全利用了現有的網絡。當以后再需要地址擴展時,可以在卜面繼續(xù)增加網絡層'本發(fā)明可以說是對IPv6的改進。下面結合附圖和實施例對本發(fā)明進一步說明。圖l是網絡結構示意圖。圖1中,主機A,B和DNS(DomainNameService,域名服務)服務器位于IPv4網上'主機A的1Pv4地址為59.40.9.121,主機B的IPv4地址為169.254.240.25,DNS服務器的IPv4地址為159.40.4.112,主機B對IPv4進行地址擴展,地址從32位擴展到128位,其下面擴展出一個子網,主機C位于該子網上,其地址為169.254.240.25.202.10.0.0.0.0.0.0.0.0.0.1,需要注意的是,主機C的前32位地址就是主機B的IPv4地址。具體實施方式現在結合上述附圖詳細介紹本發(fā)明的具體實施過程1.對IPv4進行地址擴展時,新的地址方案中,其頭32位地址采用目前IPv4的地址,而不是-套完全新的地址方案。而且后面的地址分配由IPv4的地址擁有方自行分配。如圖1中的主機B,需要從IPv4的一個地址擴展成為一個子網,則主機B可以自行給子網的主機分配地址,主機B的IPv4地址為169.254.240.25,則其子網的主機的前32位地址均為169.254.240.25,如圖中的主機C,其地址為169.254.240.25.202.10.0.0.0.0.0.0.0.0.0.1,這里169.254.240.25就變成了一個網絡號,本質上看,這就等于將32位地址的網絡ID延長為全部32位,而后面的96位再按照一定的規(guī)則分配,可以包含多個子網網絡號。原來的一個IPv4地址就擴展為一個很大的子網,而這又是在當前IPv4的基礎上平滑過渡的,原來的IPv4層負責第一層網絡層的數據包路由,到達目的地,如達到上面的主機B的IPv4地址169.254.240.25后,主機B分析數據包頭,如果上面還包含一個網絡層,則它負責將其解析,將數據包送往本機的上一層協議,或者是將數據包在子網內路由,送到子網內主機,如上圖中的主機C。這一改變帶來的影響可是很大的,就等于完全利用了現有的IPv4網絡,而不是將其推倒,重新做一套地址系統(tǒng)。2.地址的擴展分層進行,當前的IPv4層不夠用,需要擴展,就在上面增加一層網絡層,類似于隧道技術。每個擁有獨立IPv4地址的主機都可以按自己的需要進行地址擴展,但有一點很重要的是每個主機遵循統(tǒng)一的協議擴展,擴展后的總地址長度是統(tǒng)一的,才能使得DNS域名解析和路由處理可以高效進行,而不能夠象目錄樹和路徑,每一個的層數都各不同,因而地址位數都不同,這是無法應用的。本發(fā)明方案是對IPv6協議的改進,為了便于闡述,我們將本發(fā)明方案稱為IPv6+,為了保持與IPv6的兼容,IPv6+的地址也為128位(優(yōu)選實施例,應該要注意到,這是優(yōu)選的擴展數字,而不是對本發(fā)明的限制,這樣做的好處是幾乎不需要什么改動就可以利用現有IPv6的各項協議,如DNS域名服務,DHCP-DynamicHostConfigurationProtocol動態(tài)主機配置協議,等等)。IPv6+的128位地址中前綴的32位是當前IPv4中的32位地址,位于第一層的IPv4網絡層,其余后面的96位地址位于第二層的IPv6+網絡層,這是本發(fā)明與現有IPv6本質的區(qū)別之-。下表1是IPv6+數據包的示范結構,從左到右為分層的順序,第一層為IPv4數據包頭,表2為IPv4數據包頭結構,這是當前IPv4網絡的數據包頭,地址為32位,IPv6+只是將其中的Protocol(下一層協議)項改為IPv6+,其它保持不變,這樣數據包就可以在IPv4網絡中路由,IPv4網絡中的現有路由器不需要改變,當然如果現有路由器能夠升級到識別IPv6+,對下一層的IPv6+數據包頭提供支持那無疑會更好。IPv4網絡中的路由器只負責IPv4網絡中的路由,它們不需要負責擴展的子網中的路由,這就類似于網絡協議的設計一樣,每一層都各有明確分工,簡單而可靠。到達目的地后,如果目的地是一個普通的IPv4地址主機,傳輸的數據包是普通的IPv4數據包,則其下層協議就是傳輸層,通常為TCP或UDP,目的地主機就往下一層協議送。如果目的地的IPv4地址已經擴展為一個子網,則該目的地IPv4地址就是子網的關口,關口的主機或路由器分析lPv4數據包頭,按照下一層協議的不同進行不同的處理。目的地的IPv4地址擴展為-個子網有兩種情況,一種是當前比較常見的,NAT后面以私網地址建立的子網'NAT對進出的^[據包進行地址端口轉換,這種情況下也是基于現有的32位地址的。另一種是子網的主機進行了IPv6+地址擴展,當然也可以同時運行私網地址。如果進行了IPv6+地址擴展,關口的主機或路由器就需要檢査IPv4數據包頭的Protocol(下一層協議)項是否為IPv6+,表3為IPv6+數據包頭結構,為了保持與IPv6的兼容,這就是IPv6的數據包頭,但應該注意到'適當的更改并不會違反本發(fā)明的精神實質。1Pv6+數據包頭的NextHeader(下層協議)就類似于IPv4數據包頭的Protocol(下一層協議)項,可以對IPv6+數據包頭進行另--層地址擴展,如從128位地址擴展到256位地址。表1中,對0^6+數據包頭進行IPv6+路山選項擴展,IPv6+路由選項下一層就是傳輸層,即TCP頭及數據。如上面的例子中,主機C與其它主機逬行IPv6+通訊,主機C的IPv6+地址為169.254.240.25.202.10.0.0.0.0.0.0.0.0.0.1,則其接收(發(fā)送)的數據包中,IPv4數據包頭結構的32位源地址(或目的地址)為169.254.240.25,IPv6+數據包頭結構的%位源地址擴展(或H的地址擴展)為202.10.0.0.0.0.0.0.0.0.0.1,相當于網絡169.254.240.25內的主機號碼,當然這一主機號碼也會包含多個子網絡號碼。<table>tableseeoriginaldocumentpage7</column></row><table>表1IPv6+數據包示范結構示意<table>tableseeoriginaldocumentpage7</column></row><table>表2IPv4數據包頭結構<table>tableseeoriginaldocumentpage8</column></row><table>表31Pv6+數據包頭結構這樣一來,對現有IPv4的地址擴展就比較容易了1.現有的DNS服務器、網站都擁有獨立IPv4地址,它們只需要進行簡單的軟件升級就可以同時支持IPv4和IPv6+了,數據包到達時,系統(tǒng)只需要進行一個簡單的判斷,如果IPv4數據包頭的Protocol(下一層協議)項為IPv6+,則送往IPv6+層處理(當現有的DNS服務器、網站不進行子網擴展時,所有的擴展地址都屬于該DNS服務器、網站,所以它們在DNS域名服務器需要注冊任意一個擴展地址都可以,當然為了以后的擴展,遵循協議規(guī)定最好),然后IPv6+層再往下一層的傳輸層(如TCP或UDP)送;如果IPv4數據包頭的Protoco1(下一層協議)項為傳輸層(如TCP或UDP),不是IPv6+,則直接往該傳輸層送。發(fā)送的數據包,在傳輸層增加一個判斷,如果是發(fā)往普通的IPv4地址,則直接送往IPv4網絡層,如果是發(fā)往1Pv6+地址,則送往IPv6+網絡層。這樣,現有的DNS服務器、網站就可以同時支持IPv4和1Pv6+了,這是非常重要的,這是"雞和蛋"的邏輯,目前的IPv6就受到這一困擾因為沒有那么多的IPv6內容,所以很少人愿意上IPv6,而又正因為很少人愿意上IPv6,網站也沒有興趣支持IPv6,在當前IPv6下,要支持iPv6并不簡單。而本發(fā)明的本質改進就在于使得這--升級非常的低成本。2.擁有獨立IPv4地址的主機也可以按上述方法,進行簡單的軟件升級就可以同時支持IPv4和IPv6+了。3.有了上述的內容支持以后,網絡運營商就可以將新增加的用戶推廣為IPv6+。當前IPv4地址耗盡的速度就可以控制了,因為在IPv6+下,一個IPv4地址就可以擴展為一個子網。4.舊有的用戶也因為IPv6+的優(yōu)勢逐歩地轉向IPv6+。網絡運營商可以逐步地歸還一些多余的IPv4地址塊,這就可以逐步地減少IPv4骨干網路由表的網絡數量,控制了路由表的膨脹,并可以做一些類聚的規(guī)劃,使得路由更有效率。由于子網的路由由子網自己解決,所以子網的擴展不會影響到骨干網的路山。上面結合附圖和實施例描述了發(fā)明的方法以及具體實施例,熟悉本
技術領域:
的人員可以理解,本發(fā)明可以有許多不同的實施方式。因此,應該理解,本發(fā)明并不局限于所描述的優(yōu)選實施例,正如隨附權利要求書所給出的本發(fā)明的精神實質,本發(fā)明包括其專利保護范圍內所進行的各種更換、變動和修改。權利要求1.一種互聯網地址擴展的方法,其實現機理為對IPv4進行地址擴展的新地址方案中,其頭32位地址采用目前IPv4的地址,而不是一套完全新的地址方案,其后面的地址分配由IPv4的地址擁有方自行分配;地址的擴展分層進行,在目前的IPv4網絡層上面增加一層網絡層,類似于隧道技術,這樣數據包就可以在IPv4網絡中路由,IPv4網絡中的現有路由器不需要改變,到達目的地后,如果目的地的IPv4地址已經擴展為一個子網,則該目的地IPv4地址就是子網的關口,關口的主機或路由器分析IPv4數據包頭,提取出上一層網絡層協議,將其送達本機的上一層協議,或者路由到相應的子網主機。2.根據權利要求1所述的方法,其對IPv4進行地址擴展的地址方案中,其頭32位地址采用『前IPv4的地址,而不是一套完全新的地址方案,而且后面的地址分配由IPv4的地址擁有方自行分配,其優(yōu)選的擴展后地址位數總計為128位,這是為了與現有IPv6兼容(這是優(yōu)選的擴展數字,而不是對本發(fā)明的限制,這樣做的好處是幾乎不需要什么改動就可以利用現有IPv6的各項協議,如DNS域名服務,DHCP-DynamicHostConfigurationProtocol動態(tài)主機配置協議,等等),本質上看,這就等于將現有32位地址的網絡ID延長為全部32位,而后面的96位再按照-定的規(guī)則分配,可以包含多個子網網絡號,原來的一個IPv4地址就擴展為一個很大的子網,而這又是在當前IPv4的基礎上平滑過渡的,原來的IPv4層負責第-層網絡層的數據包路由,到達目的地,如果上面還包含一個網絡層,則它負責將其解析,將數據包送往本機的上一層協議,或者是將數據包在子網內路由,送到子網內主機,這一改變帶來的影響是很大的,就等于完全利用了現有的IPv4網絡,而不是將其推倒,重新做-套地址系統(tǒng)。3.根據權利要求1所述的方法,其對IPv4進行地址擴展的地址方案屮,每個擁有獨立IPv4地址的主機都可以按自己的需要進行地址擴展,但有一點很重要的是每個主機遵循統(tǒng)一的協議擴展,擴展后的總地址長度是統(tǒng)一的,才能使得DNS域名解析和路由處理可以高效進行,而不能夠象目錄樹和路徑,每一個的層數都各不同,因而地址位數都不同,這是無法應用的。4.根據權利要求1所述的方法,其地址的擴展分層進行,當前的IPv4層不夠用,需要擴展,就在上面增加一層網絡層,類似于隧道技術,其優(yōu)選的擴展后地址位數總計為128位,其中前綴的32位是當前IPv4中的32位地址,位于第一層的IPv4網絡層,其余后面的96位地址位于第二層的擴展網絡層(為了闡述的方便,以下稱之為IPv6+),這是本發(fā)明與現有IPv6本質的區(qū)別之一;第一層的IPv4數據包頭,本發(fā)明只是將其中的Protocol(卩-層協議)項改為IPv6+的協議號,其它保持不變,這樣數據包就可以在IPv4網絡中路山,IPv4網絡中的現有路由器不需要改變,當然如果現有路由器能夠升級到識別IPv6+,對IPv6+的數據包頭提供支持那無疑會更好;ipv4網絡中的路由器只負責IPv4網絡中的路由'它們不需要負責擴展的子網中的路由,這就類似于網絡協議的設計一樣,每一層都各有明確分工,簡單而可靠;到達目的地后,如果目的地是一個普通的IPv4地址主機,傳輸的數據包是普通的IPv4數據包,則其下一層協議就是傳輸層,通常為TCP或UDP,H的地主機就往下一層協議送;如果目的地為一個IPv4地址主機,但已經升級到支持雙協議'即支持當前IPv4協議及IPv6+協議,數據包到達時,系統(tǒng)只需要進行一個簡單的判斷'如果IPv4數據包頭的Protocol(K—層協議)項為IPv6十,則送往IPv6+層處理,然后IPv6+層再往下一層的傳輸層(如TCP或UDP)送,如果IPv4數據包頭的Protocol(下層協議)項為傳輸層(如TCP或UDP),不是IPv6+,則直接往改傳輸層送;如果目的地的IPv4地址己經擴展為一個子網,則該目的地IPv4地址就是子網的關口,關口的主機或路由器分析IPv4數據包頭,按照下一層協議的不同進行不同的處理將數據包送往本機的上一層協議,或者是將數據包在子網內路由,送到子網內主機。IPv6+層內的路由器只需要關心本層的問題,將數據包送到關口,或者是將數據包從關口送到子網內主機,而不需要關心第一層IPv4網絡的路由問題,或更高的網絡層的路由問題。5.根據權利要求1所述的方法,其中地址擴展后的主機,優(yōu)選地都是支持IPv4和IPv6+協議的,當其發(fā)送的數據包,在傳輸層增加一個判斷,如果是發(fā)往普通的IPv4地址,則直接送往nM網絡層,如果是發(fā)往IPv6+地址,貝腿往IPv6+網絡g。6.根據權利要求1所述的方法,其地址的擴展是不限層數的,可以按需要繼續(xù)在上面增加網絡層,增加的網絡層是現有網絡層的子網,現有網絡層的地址是新增加的網絡層的前綴,并a有一點很重要的是增加的網絡層是在現有網絡層的基礎上擴展,擴展后的總地址長度是統(tǒng)一的,才能使得DNS域名解析和路由處理可以高效進行,而不能夠象目錄樹和路徑,每一個的層數都各不同,因而地址位數都不同,這是無法應用的。全文摘要一種互聯網地址擴展的方法,其實現機理為對IPv4進行地址擴展時,新的地址方案中,其頭32位地址采用目前IPv4的地址,而不是一套完全新的地址方案。而且后面的地址分配由IPv4的地址擁有方自行分配;地址的擴展分層進行,在目前的網絡層上面增加一層網絡層,類似于隧道技術,這樣數據包就可以在IPv4網絡中路由,IPv4網絡中的現有路由器不需要改變,到達目的地后,如果目的地的IPv4地址已經擴展為一個子網,則該目的地IPv4地址就是子網的關口,關口的主機或路由器分析IPv4數據包頭,提取出上一層網絡層協議,將其路由到相應的子網主機。文檔編號H04L12/66GK101127679SQ20061011512公開日2008年2月20日申請日期2006年8月18日優(yōu)先權日2006年8月18日發(fā)明者冼劍光申請人:冼劍光