999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IPv4/IPv6轉換網關的設計與實現

2008-12-31 00:00:00韓銀鋒
電腦知識與技術 2008年23期

摘要:詳細介紹了IPv4IPv6轉換網關的設計與實現過程;首先介紹轉換網關的工作流程,其次介紹地址轉換和協議轉換設計,最后分析了DNS ALG設計。

關鍵詞:IPv6;IPv4;轉換網關

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)23-883-02

Design and Implementation of IPv4/IPv6 Translation Gateway

HAN Yin-feng

(Xi'an Aeronautical Polytechnic Institute, Xi'an 710089, China)

Abstract:In this thesis, a translation gateway is introduced, both the design and implementation. First, the flow of translation gateway is introduced, secondly, address Translation and protocol Translation Are described, In the end of this thesis, DNS ALG is analyzed.

Key words: IPv6; IPv4; Translation Gateway

隨著Internet的迅猛發展,現有的IP協議(IPv4協議)在應用中出現了很多問題,如地址資源即將耗盡,不能適應新的網絡應用以及對安全性無法保證等。下一代Internet協議(IPv6)不僅解決了IPv4遇到的問題,而且還給IP帶來了一些新特性,它取代IPv4成為必然。

然而,現有的IPv4網路已發展了很多年,它不可能在短時間內都過渡到IPv6網絡,在相當長的一段時期內,IPv6網絡將和IPv4網絡共存。如何實現IPv4節點和IPv6節點之間相互通信是目前Internet急切解決的問題。

1 轉換網關的工作流程

本系統設計的轉換網關的主要功能是通過IPv4和IPv6分組頭的地址和語義轉換、DNS ALG設計、TCP層校驗和修改以及ICMPv4和ICMPv6的類型、代碼轉換,以實現IPv4節點和IPv6節點之間相互通信。轉換網關的工作流程如圖1所示。

1)IPv4主機要與ipv6主機sipv6.com建立連接,但是不知道該ipv6主機的ipv4地址。于是發出DNS Request問sipv6.com的IPv4地址,DNS request傳給IPv4 DNS,若在IPv4 DNS中找到ipv6主機的記錄(IPv4是A,而IPv6的報文類型是A6或AAAA),則轉到7),否則轉到2)。

2)IPv4 DNS將DNS Request轉發到DNS-ALG。

3)DNS-ALG將Request中的A改為A6或AAAA,轉發到IPv6網絡。

4)IPv6 DNS接收到此Request,回復IPv6主機的address為3FFE:3600::140.115.78.8。

5)DNS-ALG接收到address后,在address上減去前綴,變成IPv4地址140.115.78.8。

6)DNS-ALG將A6或AAAA改為A之后繼續把DNS Reply送回給IPv4 DNS再傳給IPv4主機。

7)IPv4主機認為Sipv6.com的地址為3FFE:3600::140.115.78.8,所以發出源地址為\"202.115.64.5\",目的地址為140.115.78.8的IPv4分組。

8)當分組經過轉換網關時,其首先查找其地址映射表中是否有源地址為“202.115.64.5”的表項,如果有則直接使用之,如果沒有,從可用的地址池中分配一個IPv6地址給此Ipv4主機,假設分配的IPv6地址是3FFE:3600:B::203.79.65.7,同時在地址映射表中添加一個表項:3FFE:3600:B::203.79.65.7——202.115.64.5,從而建立起IPv4主機與IPv6主機間的地址映射。

9)轉換網關根據建立的地址映射關系,進行地址和語義轉換,把IPv4的分組頭轉換成IPv6的分組頭,分組頭中的源地址為“3FFE:3600:B::203.79.65.7”,目的地址為\"3FFE:3600:B::140.115.78.8\",然后向IPv6網絡發出分組。

反方向建立連接的過程與上述情況類似,不再詳述。

從轉換網關工作流程可以看出,轉換網關的設計主要包括地址轉換、協議轉換和DNS-ALG設計。

2 地址轉換設計

地址轉換是對IPv6地址端口對和IPv4地址端口對進行轉換。當IPv6主機要訪問IPv4的網絡時,必須有一個合法的IPv4地址,在該模塊設計中,合法的IPv4地址端口對存放在一個地址池中,同時包括一個分配狀況信息的鏈表。在協議轉換時,通過查詢這個地址轉換表,將相應的轉換后的地址端口對寫入新的IP數據報口。

2.1 表的設計

地址轉換表是地址轉換的過程中最重要的一個數據結構,整個模塊要實現的功能都是通過對這個轉換表的操作實現。數據轉換表用于存放所有經過轉換的IPv4和IPv6地址端口對的映射關系。綜合考慮查詢速度和數據存儲空間,決定采用了Hash表+鏈表的數據結構。

2.2 表的建立

在Hash表建立之前,首先向地址池進行查詢,查找可用的IPv6地址端口對;接著,建立IPv4和IPv6地址端口對的對應關系,并分別計算Hash值,根據Hash值,把IPv4和IPv6地址端口對的信息分別插入到Hash表頭所指向的相應鏈表的表頭;最后,要給這兩個記錄設置互相指向的指針,表明它們之間的映射關系。

2.3 表的搜索

表的搜索主要是根據IPv4和IPv6地址端口對進行檢索。首先根據地址端口對計算出Hash值;然后找到該值對應的鏈表,之后根據關鍵字進行匹配,順序搜索;最后,將搜索到的記錄移至Hash表頭后的第一個記錄。

2.4 表的修改

當地址映射關系發生變化時,要對地址轉換表的記錄進行相應的修改。修改的過程就是先搜索,后修改,即先根據表的搜索算法找到要修改的記錄,之后再改動記錄里面的內容。

2.5 表的刪除

隨著轉換網關工作的日趨頻繁,地址轉換表的記錄會越來越多。所以,一定要有一個表的維護策略,定期將無用或很久沒用用到的記錄刪除,以釋放空間。

3 協議轉換設計

IPv4-IPv6(IPv6-IPv4)轉換是根據一定的轉換算法,把IPv4(IPv6)的報頭轉化為IPv6(IPv4)的報頭。而IPv6-IPv4的轉換和IPv4-IPv6轉換類似,但轉換方向相反。下面重點介紹IPv4-IPv6轉換。

IPv4-IPv6轉換是根據一定的轉換算法,把IPv4的報頭轉化為IPv6的報頭。

1)IP協議轉換算法

IPv6報頭各字段的內容填寫規則如下:

Version:6

Priority:全0。

Flow Label:全0。

Payload Length:IPv4 報頭中的 Total length-IPv4 報頭的Header Length×4。

Next Header:填入 IPv4 報頭中的 Protocol 域的值。如果協議號是 1(ICMPv4),則應替換成為 58(ICMPv6)。

Hop Limit:IPv4 的 TTL -1。如果結果已經為 0,則提示“TTL Exceeded”。

Source Address 和 Destination Address:填入經轉換后的IPv6地址。如果數據報是一個分片的話,還要增加一個分片擴展頭。此時,各域的設置基本上與不分片相同,只有以下的差別:

Payload Length:在上述計算結果的基礎上再加 8。

Next Header:44。

分片擴展頭的設置如下:

Next Header:填入IPv4中的Protocol域的值。如果協議號是1(ICMPv4),則應替換為58(ICMPv6)。

Reserved:0

Fragment Offset:用IPv4的分片偏移量替換。

MF 標志位:用IPv4的MF標志位替換。

Identification:低16位用IPv4中的標識符替換;高16位置0。

2)ICMP4-ICMP6協議轉換算法

在ICMPv6中對部分代碼(Code)的含義進行了改變,因此必須進行相應得代碼轉換。ICMP4-ICMP6協議轉換算法如表1所示:

4 應用層(DNS ALG)設計

純IPv4主機和純IPv6主機之間無法直接通過IP地址進行連接通信。但由于IPv4和IPv6具有相同的域名結構,IPv4和IPv6可以使用相同的域名空間,因此可以通過DNS-ALG進行IPv4地址與IPv6地址之間的映像,實現純IPv4主機和純IPv6主機之間的連接通信。該模塊主要的函數如下:

1)DNS數據報轉換函數

這是DNS數據報轉換的主函數,輸入原來偽DNS數據報指針,輸出轉換后的DNS數據報指針。在這個函數中,對DNS報文中各個不同的字段,調用不同的轉換函數進行相應的轉換。

2)查詢問題轉換函數

查詢問題轉換函數用來轉換DNS數據報中的查詢問題部分,根據查詢問題數循環修改其中的查詢名、查詢類型字段。查詢類通常是1,表示互聯網地址,在這里不需要修改。若查詢類型是\"AAAA\",就要將其改為\"A\";若為\"A\",則改為\"AAAA\"。如果查詢類型是\"PTR\"的話,則請求獲得一個IP地址對應的域名。

3)資源記錄轉換函數

不同的字段在進行轉換的時候,輸入不同的指針。與查詢問題轉換函數一樣,根據資源記錄數對資源記錄部分進行循環轉換。域名和類的內容不需要改變,類型的轉換與查詢問題轉換函數相同。生存時間設置為Q。轉換之后,更新數據長度和數據的內容。

4)反向轉換函數

該函數用于將PTR類型的查詢名和資源記錄名進行轉換。轉換過程中,首先查找地址轉換表,若有待轉換的IPv4/IPv6地址映射記錄,則取出記錄中的值作為返回值:若沒有,則采取加上或去掉IP地址的前綴的方法進行地址轉換。

5 小結

IPv6協議是下一代Internet通信協議,它取代IPv4成為了發展的必然。如何實現純IPv4節點和純IPv6節點之間相互通信是IPv6發展急需解決的關鍵問題。本文對IPv4和IPv6協議之間的相互轉換進行了深入的研究,基本實現了IPv4和IPv6協議之間的數據通信,達到了預期的效果。

參考文獻:

[1] 伍海桑.IPv6原理與實踐[M].北京:人民郵電出版社,2000.

[2] RFC 2766:Network Address Translation-Protocol Translation(NAT-PT)[S],2000.

[3] 李津生,洪佩琳.下一代Internet網絡技術[M].北京:人民郵電出版社,2001.

[4] Loshin P. IPv6詳解[M].機械工業出版社,2000.

主站蜘蛛池模板: 一本大道无码日韩精品影视| 国产青榴视频| 亚洲丝袜中文字幕| 欧美一区二区丝袜高跟鞋| 凹凸国产分类在线观看| 日韩欧美在线观看| 另类欧美日韩| 大陆国产精品视频| 亚洲小视频网站| 毛片在线播放网址| 88av在线看| 再看日本中文字幕在线观看| 国产精品亚洲va在线观看| 伊人天堂网| 福利在线免费视频| 91福利国产成人精品导航| 日韩小视频在线观看| 色婷婷久久| 五月婷婷伊人网| 欧美色综合网站| 国产成人精品高清不卡在线| 91视频精品| 亚洲 日韩 激情 无码 中出| 中文字幕色站| 欧美日韩一区二区三区在线视频| 天堂成人在线视频| 天天综合网亚洲网站| 精品小视频在线观看| 91精品福利自产拍在线观看| 国产成人一区在线播放| www.av男人.com| 日本一本正道综合久久dvd| 国产真实乱人视频| 无码精品福利一区二区三区| 热伊人99re久久精品最新地| 伊人无码视屏| 久久久精品国产亚洲AV日韩| 婷婷六月在线| 婷婷六月天激情| 欧美精品另类| 91色在线视频| 人妻无码一区二区视频| 免费观看男人免费桶女人视频| 日韩欧美高清视频| 最新亚洲人成网站在线观看| 一级毛片免费不卡在线| 日韩精品一区二区三区免费| 一区二区三区精品视频在线观看| 华人在线亚洲欧美精品| 欧美激情第一区| 蝴蝶伊人久久中文娱乐网| 永久免费av网站可以直接看的 | 无码内射中文字幕岛国片| 国产麻豆91网在线看| 国产精品手机视频| 亚洲精品不卡午夜精品| 久久黄色免费电影| 国产va视频| 国产精品专区第一页在线观看| 凹凸精品免费精品视频| 国产黄色爱视频| 日韩在线第三页| 亚洲精品无码专区在线观看| 免费无遮挡AV| 亚洲第一色视频| 欧美h在线观看| 日本一区二区三区精品视频| 国产精品第一区在线观看| 国产成人久久综合777777麻豆| 五月天丁香婷婷综合久久| a级高清毛片| 国产理论精品| 福利国产微拍广场一区视频在线| 波多野衣结在线精品二区| 亚洲精品图区| 欧美日本激情| 婷婷五月在线| julia中文字幕久久亚洲| 午夜高清国产拍精品| julia中文字幕久久亚洲| 国产在线一区二区视频| 朝桐光一区二区|