黃萍 羅偉峰 劉昕林 鄧巍



摘要:文章闡述了IPv6協議雙戰技術基礎上,提出了IPv4/IPv6雙棧技術的混合網絡的實際方案操作,并且分析了雙協議棧技術中的運行機制及工作過程,雙棧通信系統客戶端與服務器端模塊的功能設計,并且在校園網絡環境下描述了此方案的實施步驟,而實施結果驗證了該方案的有效性及可行性。
關鍵詞:Ipv6協議;雙棧技術;混合網絡
中圖分類號:TP393.04文獻標識碼:A 文章編號:1001-5922(2019)11-0110-04
隨著互聯網科技的飛快發展,傳統的互聯網協議IPv4由于本身數量不達標,移動、安全及服務質量差等方面的缺陷,促使新一代的IPv6協議應運而生,IPv6以RFCI752為標準,使用率高達到128位地址空間,徹底解決了地址數量不足的問題,還加強了服務質量、端對端間的連接、移動、安全和及時等多方面的支持功能,成為未來網絡協議發展的趨勢之一。但是IPv6網絡協議并沒有得到廣泛普及,目前還處于IPv4向IPv6網絡的過渡時期,兩者之間共存的現象也普遍存在,因此IPv4向IPv6的過渡是我們亟待解決的關鍵問題。IETF、BBF等提出了許多研究解決方案,眾多的研究機構和技術人員在這方面也作出了巨大貢獻,經研究得出,當前可實施的方案有3種:雙棧技術、隧道技術及協議轉換技術,在實施過渡技術時除了要充分了解其工作原理外,還需結合網絡實際探究出相對應的實施方法。
1IPv4向IPv6的過渡技術
目前的過渡技術主要有3種。
1)雙棧協議:雙棧技術指的是在一個系統(比如一臺主機或一臺路由器)中同時支持IPv4和IPv6兩種協議同時并行工作,簡單來說就是允許設置IPv4和IPv6同時進行通信,之后再慢慢過渡,最終實現整個網絡都是IPv6,雙棧技術也可應用到NAT-PT之中。
2)隧道技術:又稱為手動隧道、自動隧道、6to4或6over4,基于IPv4隧道的IPv6由路由器將IPv6的數據分組裝入IPv4數據包中,以此來實現現有的IPv4網絡中IPv6節點和IPv4節點之間的IP通信,該技術過程比較復雜,分為打包、解包和隧道管理3個步驟。
3)協議轉換技術:協議轉換技術對于IPv4地址的需求少,具有良好的擴展性,允許主機IPv4與主機IPv6直接通信,但是在一般情況下,只有在不能使用隧道技術與雙棧技術時,才會考慮使用協議轉換技術,因為轉換技術的地址和協議轉換需要較大的時間延遲,可能存在某些字段不能轉換的問題,帶來信息的丟失,更嚴重的還會帶來數據的粉碎。
2雙棧技術原理及技術方法
2.1雙棧技術協議原理
基于IPv4與IPv6融合的校園網建設研究,目前兩者協議具有相同的數據網結構,網絡層的上下層(傳輸層和數據鏈路層)平臺也有相同的特征,因此很容易把這種雙棧節點看成是兩個單獨的節點組合。以下對雙棧節點的過程進行了簡單的描述:在目的地使用地址IP協議類型時,有目的性的對封裝協議進行選擇,則發送數據方根據應用請求進行發送,如果是IPv4協議封裝則選用IPv4目的地址發送,是IPv6協議封裝便選用IPv6目的地址發送。接收方會根據傳來的IP數據頭版本號是6或是4決定性用哪個協議棧記性封裝,如目的地址用域名表示,則發送數據方會經過DNS服務器進行解釋分析,要選擇相對應的協議棧進行封裝及發送必須取得數字格式是IPv4和IPv6協議,兩者協議在應用的請求下同時支持,然而雙棧發送節點就會優選IPv6網絡協議棧,在解析域名DNS時,會優先選擇請求B記錄,如B記錄沒有收到請求,這時IPv6網絡協議就會比IPv4更有優勢,雙棧技術除了用于構建雙棧協議網絡外也是其他過渡技術進行的基礎。
2.2實現分析雙棧技術方法
雙棧協議技術在路由器的支持下,若想成為真正的雙棧設備還需經過一系列技術配置,在路由器接口處既能很好的分配IPv4網絡協議地址,也能激活IPv6網絡協議數據的轉發功能,在對IPv6網絡協議進行轉發單播地址時,必須通過路由器中的IPv4路由表或IPv6網絡協議下的路由表,只有這樣才能實現兩者協議之間報文的路由轉發功能,各自完成自己的獨立工作,成為雙棧節點的路由器。以思科路由器舉例說明,可支持IPv6協議的12.2(2)T路由及其后續的版本Cisco IOS(包括相應的功能集),要將其配置提升為雙協議棧的路由器,主要的配置命令如下:
ipv6unicast-routing
interface type number
ip address IPv4-address netmask
ipv6address ipv6-prefix/prefix-length[eui-64]
如要使雙棧路由器同時具有IPv4報文及IPv6報文路由器轉發的功能,則必須同時運行持IPv4和IPv6協議的路由協議,如OSPF和OSPFv3等設備。
3IPv6協議雙棧技術的運行機制及工作過程
3.1IPv4/IPv6雙協議棧體系模型
雙棧技術指的是在同一個網絡節點同時支持IPv4與IPv6兩種協議棧,IPv4和IPv6在形式及功能等一些方面相同,IPv6是IPv4的改進版本,因此IPv6和IPv4這兩種網絡層協議基本是同一物理平臺,而且在加載上傳的傳輸層次的協議也比較相同,所有在理論與實踐上,都可實現支持雙棧技術的節點同時即能支持到IPv4協議的節點通信,又能支持IPv6協議的結點通信,其雙協議棧的理論模型圖如表1所示。
從表1能看出雙協議棧體系模型中,IPv4向IPv6過渡中大部分的都采用了節點技術完成的,則節點模型如圖1所示。
圖2顯示IPv4與Ipv6雙棧節點與其他類型的多棧節點的工作方式基本相同,連接層接到數據段,拆開并且檢查爆頭,如果IP地址的版本號是4,則該包就會由IPv4網絡來處理,相同如果版本號是6,則會由IPv6網絡來處理。
3.2IPv6雙棧的通信系統的設計
系統的主體結構采用socket技術,并提供client/server通信模式。首先設計和實現一組網絡通信功能的接口;然后分別在IPv4和IPv6下使用socket函數設計和實現網絡通信功能,最終屏蔽了IPv4和IPv6在網絡編程方面的差異。系統的主體結構程序實現流程圖如圖3所示。具體步驟為:首先設計并實現通用的抽象接口父類,然后在IPv4和IPv6下使用socket函數繼承此抽象接口父類并實現通信功能的具體接口類,并且使用統一的接口格式實現支持IPv4和IPv6通信功能。IPv4服務器端接口類的設計與CSrvLstv4Thread繼承自父類CSrvThread,它提供的接口方法StartUp()包含了父類CSrvThread所規定的主要接口方法。IPv6服務器端接口類的設計與IPv4非常相似,IPv6服務器端通信功能類CSrvLstv6Thread繼承自父類CS-rvThread,其提供了接口方法startUp(),依照IPv6下的socket函數,其具體實現為:初始化Winsock,綁定本地地址并開始偵聽,實現原理與IPv4下的接口方法startUp()相同,只是socket函數在兩種協議下的使用有所不同。具體流程為:首先調用WSAStartup()函數初始化Winsock,再調用getaddrinfo()解析服務器地址,接著創建socket準備偵聽;然后調用bind()將該socket綁定到本地;最后調用listen()開始偵聽并調用freeaddrinfo()釋放解析服務器地址時獲得的地址列表。具體流程與IPv4稍有區別。值得注意的是,還需要根據所開發軟件的實際需求,設計與之相配套的接收線程類,該類也需要處理少量與IPv6協議相關的細節。
4IPv6協議雙棧技術方法實現
1)邊界處的路由器配置信息在路由器的出口配置信息是:
ipv6協議address2003:DA8:AF:18::2/64
tunnel-protocol ipv6-IPv4網絡協議
source X.X.X.X(源IP地址)
destination X.X.X.X(目標IP地址)
在路由器與核心交換機的端口配置信息:
ipv6協議address2003:DA8:4015:F:1F::1/96
ip address 172.16.250.2255.255.255.252
靜態路由信息在路由器上配置的是:
ipv6協議route-static::0 2003:DA8:AF:18::1
ipv6協議route-static 2003:DA8:4013:1:1:1::962001:
DA8:4015:F:1F::2
ipv6route-static 2003:DA8:4013:F:F::962001:DA8:
4015:F:1F::2
2)配置信息處的路由器互聯端口與核心交換機:
ipv6協議address2003:DA8:4013:F:1F::2/96
ip address 172.16.250.1255.255.255.252
配置信息在核心交換機與匯聚交換機上:
ipv6協議address2003:DA8:4015:F:F::2/96
ospfv31area0.0.0.0
ip address 172.16.255.5255.255.255.252
路由信息在核心交換機上配置的靜態:
ipv6協議route-static::0 2003:DA8:4013:F:IF::1
ipv6協議route-static 2003:DA8:4013:1:1:1::962001:
DA8:4015:F:F::1()
3)在匯聚交換機(接入交換機)上的配置信息與匯聚交換機上的用戶VLAN下配置IPv6協議網關地址,配置信息:
ipv6協議address2001:DA8:4013:1:1:1:0:1/96
核心交換機與匯聚交換機之間互相連接口上的配置信息:
undo ipv6協議nd ra halt
ipv6協議address2003:DA8:4013:F:F::1/96
ip address 172.16.255.6255.255.255.252
配置路由在匯聚交換機上配置時:
ipv6協議route-static::0 2003:DA8:4013:F:F::2根據以上所表述出的配置信息可得出,對IPv4與IPV6的網絡資源進行訪問及練連接在一臺PC機上就可進行,但需要注意的是在配置過程進行中需要檢測設備IOS版本,如果在對IPv6協議進行配置時,出現IOS設備不支持的狀態,屆時必須要先進行版本升級然后在配置。
5具體應用實例
文中提出了具體的設計思想及方法,雙棧技術的應用編程變得比較簡單化,因此IPv6網絡協議的細節不必過多的去考慮及處理。可使用IPv4網絡協議下類似的方法編程,使用具有實例代碼如下:
經過以上的實例分析可得出以下結論:在已開發出的網絡軟件下,要實現雙棧通信模塊,必須添加或擴充IPv6協議網絡的通信功能模塊及頂層通信模塊。
6結語
在不同網絡環境下,設備及操作系統的使用技術不同,網絡主機和設備配置方法也有不同,文中講述了根據特定的設備及操作系統實現不同過渡技術的方法和配置,IPv6網絡迅速發展對實施協議雙棧過渡技術的研究方法和實現方向有著重要的意義,這也是技術人員不斷探索的課題之一,隨著對IPv6網絡協議需求的與日俱增,未來網絡發展趨勢就是IPv6將取代IPv4,目前IPv4和IPv6仍存在著共存的現象,為解決該問題文章結合具體的實例分析闡述了IPv6網絡雙棧通信的優點,并目在設計模塊中提出了實用性較強的實現方法。