国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

IPv6/IPv4靈活轉換器的設計

2019-11-03 09:09:05
字體:
來源:轉載
供稿:網友
美國麻省理工學院 范蓓蕾 南京郵電學院 范忠禮
  下一代網絡NGN是一個開放式的網絡,是面向無連接的ip網絡。IPv4在Internet中運行得比較成功,隨著Internet的發展,IPv4面臨諸多問題,如地址資源匱乏,節點的安全性、移動性等問題。這就是IPv6所能夠解決的。然而從IPv4到IPv6應用轉移不是一夜之間就能完成的。因此IPv4到IPv6的過渡就成為IETF以及國內外IT界所研究和關注的問題。它直接影響到IPv6的推廣和應用。

  適合于IPv6/IPv4一般用途的轉換。GT64的設計要比現存絕大多數網絡地址轉換更具靈活性,它能被容易的配置成許多地址轉換腳本,包括IPv6本地網絡連接到IPv4互聯網,IPv6本地網絡連接到IPv6互聯網,IPv6專用網連接到IPv6互聯網,還有專用網連接到IPv4互聯網,GT64也能被配置成許多負載平衡的方案。由于GT64的模塊化和易于擴展,它是幫助轉變到IPv6網絡的很有力的工具。一、 實現

  GT64有三個基本組成部分:1個地址/端口轉換器和2個協議轉換器。一個協議轉換器的作用是將IPv6轉換為IPv4,而另一個則是由IPv4轉換為IPv6。GT64通過把轉換功能分解到基層部分來增加系統的靈活性和可調性,以將地址/端口轉換和協議轉換分開進行。

  地址/端口轉換器(APT)是GT64最重要的組成部分,因為它負責網絡地址和端口的轉換。APT含有有效數據流的信息。當數據包到達時,APT使用它的數據流驗證系統找到匹配的地址映射,并把地址映射轉換為相應的地址和端口。如果沒有找到相匹配的映射,APT會根據相應的規則產生一個新的映射。APT總是在兩個不同的IPv6地址范疇內進行轉換。GT64的兩個協議轉換器——PT64和PT46,負責在IPv4和IPv6之間實現數據包和ICMP包的地址轉換。IPv6和IPv4數據的分組頭部格式非常相似,但并不完全一致。這樣在一種IP或ICMP版本向另一種版本轉換過程中需進行一定的調整。PT64只接收含有IPv6/IPv4映射關系的IPv6數據包,與之類似,PT46則只接收相應的IPv4數據包。由于具有映射關系的IPv6地址與IPv4地址之間是一一對應的,協議轉換器只需要在兩種協議之間為分組頭部建立一種相互的映射即可。當一個IPv6或ICMPv6數據包到達時,PT64只需取出IPv6分組源/目的地址字段中最低的32位即可作為相應IPv4分組的源/目的地址。同樣,當一個IPv4或ICMPv4數據包到達時,PT46只需對分組的地址字段添加96位前置數據即可完成從IPv4到IPv6的轉換。

二、 地址/端口轉換器(APT)的設計

1. APT的功能

  當一臺GT64主機需要與外部世界聯系時,GT64必須臨時分配一個可由外部識別的全球性地址。如果同時有不止一個內部結點需要與外部聯系而僅有一個全球性的地址時,則每一個獨立的連接都被臨時分配一個特有的地址/端口綁定,以使這些內部結點可以共享一個全球地址。如為了與IPv4外部網絡通信,一個IPv6局域網通常被分配一些能夠映射為有效IPv4地址的IPv6地址(但需要與外部網絡通信的主機數量往往大大多于這些可用地址數量)。APT解決這個問題的方法是,使IPv6局域網內的多臺主機共享一個包含有效映射關系的IPv6地址。這實際上是傳輸標識符的一種復用。通信時,數據分組頭部的源地址字段和端口號被替換為一個特殊的地址/端口綁定,這個特殊的綁定關系是由APT臨時分配的。APT的這種功能就被稱為地址/端口轉換。

  在與外部網絡通信時,APT不僅要負責使用新的地址/端口綁定關系替代數據分組中原有的地址/端口綁定,而且需要記憶這種替代關系。在向外部網絡發送分組時,APT將分組內的源地址與端口號替換為新的地址/端口綁定;接收分組時,APT需要將分組中的地址/端口字段再用局域網內部的地址/端口綁定替換回來。

  當APT接收到一個IPv6數據包,它用一個有地址映射關系的流ID來替代數據包中的原始流ID,映射過的流ID用其它的地址/端口綁定來替代數據包中源或目的地址/端口綁定。APT的配置字符串決定了這種替代關系的具體處理過程。除上述討論的動態分配之外,APT也可處理其它一些簡單形式的地址/端口轉換,如靜態地址轉換和動態單一地址轉換。

  APT對來自于外部的和內部網絡的數據包的處理方式是不同的。APT經常是針對一定方向的數據包分配動態地址映射。這樣另一個方向的初始化流將不能進行地址映射。OUTWARD PACKETS 指的是由本地網絡發出,目的是因特網(IPv4或IPv6)主機的數據包,INWARD PACKETS則相反。APT有兩個輸入口和兩個輸出口,分別用于OUTWARD分組和INWARD分組的接收與發送。APT從不同的輸入口接收數據包,經過轉換后再將其從不同的輸出口轉發出去。

2. 基于IPv6實現IPv4/IPv6轉換的APT

  APT僅接收和發送含有IPv6地址的IPv6數據包。為使GT64可以同時處理IPv4/IPv6兩種模式,當與只支持IPv4的主機通信時,GT64會分配臨時的IPv4地址給其內部IPv6主機。而基于IPv6的APT則給其內部IPv6主機分配支持IPv4映射的IPv6地址來實現這一目的。當GT64要將IPv6分組轉換為IPv4分組時,APT首先將IPv6地址和端口映射為與IPv4地址有映射關系的IPv6地址與端口號。然后再將這個映射地址轉換為真正的IPv4地址,從而實現IPv6分組轉換為IPv4的轉換。從IPv4到IPv6分組的轉換過程也與此相似。先將IPv4地址轉換成為具有映射關系的IPv6地址/端口號,然后再將這個地址/端口綁定轉換成為真正的IPv6地址和端口號。

3. 靜態映射與動態映射

  APT可以將主機的實際地址和端口號映射成為一個全球性的地址/端口綁定。靜態映射功能是指內部網絡的地址/端口綁定與全球性地址/端口綁定之間的映射關系是靜態的。在大多數情況下,靜態映射被用作單一地址映射的情況。例如,一定的外部地址將會被保留以標志特定的內部地址。與靜態映射相對,動態映射僅對活動的數據流保留映射關系。

4. 動態地址映射與動態地址/端口映射

  動態地址映射是指APT僅為內部主機動態分配一個外部地址映射,而不是一個地址/端口綁定。APT將直接使用映射過的地址來指明此內部結點,而以映射過的流ID來代替原始流ID,在這個映射過程中,APT不僅要動態分配一個外部地址映射,而且原來的端口號也要被映射為新的端口號。與動態地址/端口映射不同的是,動態地址映射只是替代分組頭部中的一個地址字段,而保留流ID中的其它三個部分。對于向外的數據包,它以映射地址來取代原有的源地址字段;對于向內的數據包,它以內部結點的實際地址來取代分組中的目的地址,這個目的地址也就是映射地址。

三、 協議轉換器的設計

  GT64一個非常重要的應用是允許只支持IPv6的節點和只支持IPv4的節點進行通信。從IPv6節點向IPv4節點傳送一個包或者其逆過程都要涉及協議轉換以及地址和端口的轉換。PT64和PT46用于連接基于IPv6的APT并對需要進行轉換的分組完成協議轉換。PT64用于將只支持IPv6的本地節點的IPv6包發送到只支持IPv4的因特網節點上。APT將源地址和端口所組成的的套接字轉換成IPv4映射型IPv6套接字。PT64將包中的IPv6頭轉換成IPv4頭和將IPv6地址的最低的32比特作為有效的IPv4地址。

  同樣,一個IPv4包從一個只支持IPv4的節點發送到一個只支持IPv6的節點需要經過PT46和APT以完成轉換。PT46通過將源和目的地址加上96比特的前綴以轉換成IPv4映射型IPv6地址,從而將IPv4頭轉換成IPv6頭。APT然后將目的IPv4映射型IPv6地址映射進IPv6地址。因為APT處理地址映射和分配,PT64和PT46只負責協議轉換。因為模塊化的設計,所以PT64和PT46的實現是很容易的。在進行包協議轉換之后,PT64和PT46都需要對高層協議(例如TCP、UDP)的校驗和進行重新計算。TCP和UDP根據一個偽隨機頭部計算它們的校驗和,這個偽隨機頭部包括(IP/IPv6)的源地址和目的地址、高層包長度和協議(下一頭部)字段。當從IPv6向IPv4轉換的時候,PT64必須計算IPv4頭部所需要的IP校驗和。然而,PT46并不需要計算IPv6校驗和,因為IPv6頭部沒有這一字段。

  ICMPv6和ICMPv4在校驗和的計算上同樣是不同的。PT46必須按照TCP和UDP的樣式來計算ICMPv6,因為ICMPv6的計算中包含了偽隨機頭部。然而,PT64能直接從ICMPv4包計算出ICMPv4的校驗和。在ICMPv4IC和MPv6相互轉換的過程中,校驗和值的不同必須考慮進去。

  很顯然Internet從IPv4向IPv6轉變需要好多年,每個站點都必須考慮自己的過渡計劃,只有很少的站點將一步到位的完成轉變。對于大多數的站點來說,NAT將作為一種機制而被采用,它可以使得只支持IPv4和只支持IPv6的節點之間能夠相互通信。

  GT64滿足一個好的網絡轉換器所必須的三個最基本的要求:能夠在只支持IPv6的節點和只支持IPv4的節點之間完成通信、在信源主機和目的主機上不需要進行任何改變、應用簡單。GT64可以被簡單的配置以用于在不同的IPv4和IPv6地址和協議層完成不同的轉換。 模塊化的設計和配置擴展方便使得GT64成為強大的網絡通信的工具。GT64的進一步發展將推動我們更快的向IPv6領域邁進。


摘自《通信世界》
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定陶县| 资阳市| 遂宁市| 福海县| 富源县| 和政县| 西和县| 陇西县| 白沙| 安溪县| 甘孜县| 凌源市| 军事| 明水县| 十堰市| 祥云县| 平和县| 靖宇县| 武定县| 那坡县| 新巴尔虎右旗| 即墨市| 宿州市| 木里| 泗水县| 昂仁县| 略阳县| 集贤县| 余江县| 青神县| 蓬安县| 靖西县| 安远县| 壶关县| 哈巴河县| 五原县| 灵川县| 察隅县| 鹿泉市| 宁晋县| 山西省|