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

IPv4/IPv6轉(zhuǎn)換網(wǎng)關的設計與實現(xiàn)

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

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

關鍵詞:IPv6;IPv4;轉(zhuǎn)換網(wǎng)關

中圖分類號: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的迅猛發(fā)展,現(xiàn)有的IP協(xié)議(IPv4協(xié)議)在應用中出現(xiàn)了很多問題,如地址資源即將耗盡,不能適應新的網(wǎng)絡應用以及對安全性無法保證等。下一代Internet協(xié)議(IPv6)不僅解決了IPv4遇到的問題,而且還給IP帶來了一些新特性,它取代IPv4成為必然。

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

1 轉(zhuǎn)換網(wǎng)關的工作流程

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

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

2)IPv4 DNS將DNS Request轉(zhuǎn)發(fā)到DNS-ALG。

3)DNS-ALG將Request中的A改為A6或AAAA,轉(zhuǎn)發(fā)到IPv6網(wǎng)絡。

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之后繼續(xù)把DNS Reply送回給IPv4 DNS再傳給IPv4主機。

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

8)當分組經(jīng)過轉(zhuǎn)換網(wǎng)關時,其首先查找其地址映射表中是否有源地址為“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)轉(zhuǎn)換網(wǎng)關根據(jù)建立的地址映射關系,進行地址和語義轉(zhuǎn)換,把IPv4的分組頭轉(zhuǎn)換成IPv6的分組頭,分組頭中的源地址為“3FFE:3600:B::203.79.65.7”,目的地址為\"3FFE:3600:B::140.115.78.8\",然后向IPv6網(wǎng)絡發(fā)出分組。

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

從轉(zhuǎn)換網(wǎng)關工作流程可以看出,轉(zhuǎn)換網(wǎng)關的設計主要包括地址轉(zhuǎn)換、協(xié)議轉(zhuǎn)換和DNS-ALG設計。

2 地址轉(zhuǎn)換設計

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

2.1 表的設計

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

2.2 表的建立

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

2.3 表的搜索

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

2.4 表的修改

當?shù)刂酚成潢P系發(fā)生變化時,要對地址轉(zhuǎn)換表的記錄進行相應的修改。修改的過程就是先搜索,后修改,即先根據(jù)表的搜索算法找到要修改的記錄,之后再改動記錄里面的內(nèi)容。

2.5 表的刪除

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

3 協(xié)議轉(zhuǎn)換設計

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

IPv4-IPv6轉(zhuǎn)換是根據(jù)一定的轉(zhuǎn)換算法,把IPv4的報頭轉(zhuǎn)化為IPv6的報頭。

1)IP協(xié)議轉(zhuǎn)換算法

IPv6報頭各字段的內(nèi)容填寫規(guī)則如下:

Version:6

Priority:全0。

Flow Label:全0。

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

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

Hop Limit:IPv4 的 TTL -1。如果結(jié)果已經(jīng)為 0,則提示“TTL Exceeded”。

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

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

Next Header:44。

分片擴展頭的設置如下:

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

Reserved:0

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

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

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

2)ICMP4-ICMP6協(xié)議轉(zhuǎn)換算法

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

4 應用層(DNS ALG)設計

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

1)DNS數(shù)據(jù)報轉(zhuǎn)換函數(shù)

這是DNS數(shù)據(jù)報轉(zhuǎn)換的主函數(shù),輸入原來偽DNS數(shù)據(jù)報指針,輸出轉(zhuǎn)換后的DNS數(shù)據(jù)報指針。在這個函數(shù)中,對DNS報文中各個不同的字段,調(diào)用不同的轉(zhuǎn)換函數(shù)進行相應的轉(zhuǎn)換。

2)查詢問題轉(zhuǎn)換函數(shù)

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

3)資源記錄轉(zhuǎn)換函數(shù)

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

4)反向轉(zhuǎn)換函數(shù)

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

5 小結(jié)

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

參考文獻:

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

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

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

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

主站蜘蛛池模板: 亚洲AV成人一区二区三区AV| 久久青草精品一区二区三区| 久久男人视频| 国产网站免费看| 国产精品熟女亚洲AV麻豆| 在线亚洲天堂| 成人免费午间影院在线观看| 久久综合亚洲鲁鲁九月天| 亚洲码在线中文在线观看| 亚洲成人精品久久| 九九久久99精品| 91免费观看视频| 欧美激情,国产精品| 深爱婷婷激情网| 亚洲人在线| 人与鲁专区| 久久免费成人| 天堂av综合网| 欧美日韩亚洲国产主播第一区| 999精品视频在线| 欧美va亚洲va香蕉在线| 午夜福利在线观看入口| 午夜免费小视频| 久久久久亚洲AV成人网站软件| 婷婷激情亚洲| 亚洲丝袜第一页| 欧美三级视频在线播放| 91po国产在线精品免费观看| 国产欧美日韩另类| 久久综合九色综合97婷婷| 亚洲中文无码av永久伊人| 国产国产人在线成免费视频狼人色| 98超碰在线观看| 国产精品永久免费嫩草研究院| 久久人体视频| 午夜国产精品视频黄| 日韩成人在线视频| 久久a毛片| 丰满的熟女一区二区三区l| hezyo加勒比一区二区三区| 欧洲极品无码一区二区三区| 精品国产www| 99热国产在线精品99| 香蕉精品在线| 亚洲欧洲一区二区三区| 免费人成又黄又爽的视频网站| 粉嫩国产白浆在线观看| 亚洲中文字幕国产av| 九九久久99精品| 久久五月视频| 尤物视频一区| 久久久91人妻无码精品蜜桃HD| 欧美成人午夜视频免看| P尤物久久99国产综合精品| 欧美日韩资源| 91精品啪在线观看国产| 国产福利在线免费观看| 欧美黄网站免费观看| 综合色天天| 欧美日本在线观看| 国产成人1024精品| 欧美a级完整在线观看| 成人va亚洲va欧美天堂| 国产成人AV男人的天堂| 91精品伊人久久大香线蕉| 欧美高清国产| 婷婷午夜天| 国产毛片高清一级国语| 青青操国产| 亚洲欧洲日韩国产综合在线二区| 高清乱码精品福利在线视频| 青青青国产视频手机| 国产91视频观看| 国产精品第| 日本在线免费网站| 囯产av无码片毛片一级| 亚洲国产中文精品va在线播放| 在线观看欧美精品二区| 人人艹人人爽| 亚洲国产日韩在线观看| 国产欧美一区二区三区视频在线观看| 秋霞一区二区三区|