陳立秋
(杭州師范大學(xué)錢江學(xué)院 計算機科學(xué)與技術(shù),浙江 杭州 310012)
即使一些網(wǎng)絡(luò)或聯(lián)網(wǎng)世界的其余部分己升級為IPv6,在很長時間內(nèi),IPv4 仍將存在。到那時,升級系統(tǒng)將需要保持與IPv4 系統(tǒng)的互操作能力。隨著時間的推移,互操作的負(fù)擔(dān)將由早期的實現(xiàn)者承擔(dān)轉(zhuǎn)為由傳統(tǒng)系統(tǒng)的維護者來承擔(dān)。任何情況下,同時支持IPv4 和IPv6 的系統(tǒng)都是必要的。
IPv4 和IPv6 協(xié)議是功能非常相同的處于網(wǎng)絡(luò)層的協(xié)議,對于兩個協(xié)議來說,其都是基于相同的平臺。對比計算機網(wǎng)絡(luò)中的TCP/IP 體系結(jié)構(gòu)來看。如果網(wǎng)絡(luò)中一臺計算機能支持IPv6協(xié)議又同時兼容IPv4 協(xié)議,那么該主機就可以既能與支持IPv4 協(xié)議的主機通信,又能與支持IPv6 協(xié)議的主機進行通信,雙協(xié)議棧技術(shù)的工作機理就在于此。
2.2.1 Limited Dual Stack Model
在這種模型下,服務(wù)器和路由器仍然是雙棧的,而不是服務(wù)器的主機只需要支持IPv6 協(xié)議。
2.2.2 Dual Stack Model
Dual Stack Model 模型下,網(wǎng)絡(luò)中的任意節(jié)點都必須是雙棧的,因此,就不存在IPv6 和IPv4 之間的通信問題,這種方法不能解決IPv4地址資源不足的問題。
對于目前的網(wǎng)絡(luò)環(huán)境來說,實現(xiàn)完全的雙協(xié)議棧網(wǎng)絡(luò)不需特殊配置,業(yè)務(wù)開展非常方便,對于IPv6 的試驗應(yīng)用和業(yè)務(wù)也很有利,是目前開展IPv6網(wǎng)絡(luò)試驗的重點之一。但是,完全雙協(xié)議棧的網(wǎng)絡(luò)結(jié)構(gòu)的投入很大,特別是目前的接入網(wǎng)設(shè)備大部分僅僅支持IPv4 協(xié)議棧,而這些設(shè)備的升級很可能需要完全替換,投資壓力很大。為了順利進行試驗,可考慮有限的雙協(xié)議棧網(wǎng)絡(luò)結(jié)構(gòu),部分新增用戶僅支持IPv6。在解決過渡問題時,科學(xué)的選擇雙協(xié)議棧技術(shù)應(yīng)用模型,有利于保證IPv4/IPv6 的平穩(wěn)過渡。針對以上兩種模型的特點,以及綜合考慮校園網(wǎng)的網(wǎng)絡(luò)規(guī)模、應(yīng)用特點,我們最終選擇了Limited Dual Stack Model 作為解決過渡問題的基本模型,實現(xiàn)了應(yīng)用技術(shù)與實現(xiàn)代價的有效均衡。
BIS 機制允許在IPv4 節(jié)點運行的不支持IPv6 的應(yīng)用程序能夠與純IPv6 節(jié)點進行通信,要求在IPv4 協(xié)議棧中插入三個特殊的擴展模塊:域名解析模塊、地址映射模塊和報頭翻譯模塊。其基本思想是當(dāng)IPv4 應(yīng)用程序與純IPv6 節(jié)點通信時,將節(jié)點的IPv6 地址映射成一個備用IPv4 地址池中的IPv4 地址??梢哉J(rèn)為BIS 是NAT-PT 在主機節(jié)點IP 協(xié)議棧的特例實現(xiàn)。
TRT 機制和NAT-PT 類似,但它是在傳輸層將一個IPv4 的TCP 或UDP 連接與一個IPv6的TCP 或UDP 連接聯(lián)系起來,也就是說是在傳輸層實現(xiàn)協(xié)議轉(zhuǎn)換,而不是在網(wǎng)絡(luò)層。TRT 機制的每個連接都是真正的IPv4 或IPv6 連接,因此可以避免IP 分組分片和ICMP 報文轉(zhuǎn)換帶來的問題,但對一些存在內(nèi)嵌地址信息的高層協(xié)議(如FTP),同樣需要和應(yīng)用層的網(wǎng)關(guān)協(xié)作來完成協(xié)議轉(zhuǎn)換。
DSTM 機制用于實現(xiàn)支持雙協(xié)議棧但沒有分配全球唯一IPv4 地址的節(jié)點與純IPv4 節(jié)點的相互通信。其基本思想是當(dāng)支持雙協(xié)議棧的節(jié)點需要IPv4 地址時,可以通過與DSTM 服務(wù)器進行基于IPv6 的通信 (可采用擴展的DHCPv6)臨時得到一個IPv4 地址并反映到DNS 中。對于沒有IPv4 內(nèi)部路由體系的情況,支持雙協(xié)議棧的節(jié)點使用IPv6 路由體系,IPv4的數(shù)據(jù)報將會被封裝到IPv6 數(shù)據(jù)報中在節(jié)點內(nèi)傳輸。
ALG 機制是應(yīng)用層網(wǎng)關(guān),在IPv4 中就已經(jīng)廣泛應(yīng)用,典型的有HTTP 協(xié)議的代理。顯然,當(dāng)一個ALG 同時支持IPv4 和IPv6 協(xié)議棧時,就可以作為IPv4 和IPv6 的協(xié)議轉(zhuǎn)換網(wǎng)關(guān)。ALG提供的每個服務(wù)都是單獨的IPv4 和IPv6 連接,可以完全避免在IP 層進行IP 頭標(biāo)轉(zhuǎn)換帶來的一些問題,但ALG 機制要求對每個應(yīng)用編寫單獨的ALG 代理,而且代理必須同時支持IPv4 和IPv6 兩種協(xié)議,因此缺乏靈活性。
IPv6 節(jié)點,具備IPv6 協(xié)議通信的同時,具備完全的IPv4 協(xié)議通信,我們稱之為“IPv4/IPv6節(jié)點”,即雙協(xié)議棧節(jié)點,簡稱雙棧節(jié)點。該節(jié)點既可以是主機節(jié)點也可以是路由器或其它通信節(jié)點。這里應(yīng)該明確,雙棧節(jié)點是為解決IPv6節(jié)點在IPv4網(wǎng)絡(luò)環(huán)境中通信(或為保留IPv4 協(xié)議功能)的問題,因而以節(jié)點具備IPv6 協(xié)議通信作為先決條件。根據(jù)雙棧節(jié)點是否用于隧道協(xié)議通信,分為以下三類:(1)純雙棧節(jié)點,不具備隧道協(xié)議功能 (2)雙棧節(jié)點,只具備配置隧道功能 (3)雙棧節(jié)點,具有配置隧道、自動隧道功能。
當(dāng)節(jié)點為純雙棧節(jié)點時,對其分配的IPv4,IPv6 地址沒有特別的要求,符合各自的網(wǎng)絡(luò)規(guī)定即可;當(dāng)節(jié)點具有自動隧道功能的時候,應(yīng)該為其分配IPv4 兼容的IPv6 地址。
雙棧節(jié)點與其它類型的多棧節(jié)點的工作方式相同。鏈路層接收到數(shù)據(jù)段,拆開并檢查包頭。如果IPv4/IPv6 頭中的第一個字段,即IP 數(shù)據(jù)包的版本代碼是4,則該數(shù)據(jù)包就由IPv4 協(xié)議棧來進行相關(guān)操作;相應(yīng)的,版本代碼如果是6,則交給IPv6 協(xié)議棧處理。如果建立了自動隧道機制,則采用相應(yīng)的技術(shù)將數(shù)據(jù)包重新整合為IPv6 數(shù)據(jù)包,由IPv6 棧來處理。
由于雙棧主機同時支持IPv4 和IPv6 兩種協(xié)議,所以當(dāng)其在網(wǎng)絡(luò)中通信的時候需要根據(jù)情況確定使用其中的一種協(xié)議棧進行通信,這就需要制定雙協(xié)議棧的工作方式。在網(wǎng)絡(luò)通信過程中,目的地址是作為路由選擇的主要參數(shù),因而,根據(jù)應(yīng)用程序所使用的目的地址的協(xié)議類型對雙協(xié)議棧的工作方式作出如下規(guī)定。
若應(yīng)用程序使用的目的地址為IPv4 地址,則使用IPv4 協(xié)議;假設(shè)節(jié)點A 與節(jié)點B 通信,A為雙棧節(jié)點,節(jié)點B 支持IPv4 協(xié)議。則雙棧節(jié)點A 工作方式,使用IPv4 協(xié)議與節(jié)點B 通信。
若目的地址為IPv6 地址,且為本地在線網(wǎng)絡(luò),則使用IPv6 協(xié)議。IPv6 使用鄰居發(fā)現(xiàn)機制確定是否為本地在線網(wǎng)絡(luò)。
若應(yīng)用程序使用的目的地址為IPv4 兼容的IPv6 地址,并且非本地在線網(wǎng)絡(luò),則使用IPv4 協(xié)議,此時的IPv6 將封裝在IPv4 中。
若應(yīng)用程序使用域名作為目標(biāo)地址,則先從域名(DNS)服務(wù)器得到相應(yīng)的IPv4/IPv6 地址,然后根據(jù)地址情況進行相應(yīng)的處理。
隨著IPv6網(wǎng)絡(luò)規(guī)模的不斷擴大,這些工作方式必將不斷相應(yīng)的得到修改和有效補充。
[1]張鴻.IPv6 時代的域名系統(tǒng).CNNIC 研究開發(fā)部.2002.
[2]杜根遠(yuǎn),邱穎豫.基于隧道技術(shù)的IPv6 遷移策略.中國有線電視,2004.