摘要:結合XP環境下IPv6協議的安裝、設置和有連接的IPv6套接字編程實驗,介紹了IPv6的報頭結構、地址結構與類型、三種地址的表示形式,闡述了用]Pv6編程接口實現面向連接的網絡通信的編程方法,給出了一個在普通局域網絡環境下實現IPv6服務器端與IPv6客戶端有連接通信的網絡例程和結果。試驗表明:IPv6與lPv4的網絡編程結構基本一致,但在網絡地址結構和地址解析方面IPv6與IPv4存在較大區別。
關鍵詞:IPv6;地址結構;編程接口;面向連接;網絡通信
引言
目前,為了解決IPv4的絕對地址資源嚴重不足問題,一些主流操作系統均開始支持標準化的IPv6協議Ⅲ。IPv6的地址長度定義為128位,具有巨大數目的主機互連能力,將取代IPv4。

國內十分重視IPv6的發展與應用。根據北京師范大學lPv6網站上公布的信息,歐美國家對IPv6的發展仍以實驗和研究為主,而亞洲國家則致力于IPv6的商用及其業務拓展,在全球已開通的11%6網站資源中,一半左右都在中國。隨著我國互聯網和通信領域從IPv4向IPv6的快速過渡,基于IPv6的應用需求日漸迫切,應用lPv6實現網絡通信將成為趨勢。
1 IPv6報頭結構及其地址表示形式
對IPv6協議和IPv6地址結構及類型(單播地址、組播地址和任意點播地址)的細節給出了定義性的描述,以下僅簡單介紹其報頭結構和地址表示形式。
IPv6協議的報頭總長320位,依次包括版本(占4位)、通信分類(占8位)、流標識符(占20位)、報文長度(占16位)、下一個報文(占8位)、跨度限制(占8位)、源地址(128位)和目標地址(占128位)八個部分。
通常,IPv6地址用冒號分隔字(每個字用4位十六進制數表示)法表示,特殊情況下,還有用符號“::”簡化連續0法表示和與IPv4混合法表示形式。例如:2008:0:0:0:0:88:0:0:417A,2008::88:0:0:417A、2008::FF:211.70.25.1.169等都是IPv6地址的合法表示。注意:每個地址中只能出現一次“::”符號,故又稱一次簡化表示法。
2 試驗環境準備
2.1 硬件操作環境
本試驗的硬件由裝有XP操作系統的兩臺電腦(一個是COMPAQ M2010AP,另一個是IBM ThinkPad R50e)和一臺普通交換機(TaiLink TES-3008)組成,其互連結構如圖1所示。
2.2 IPv6 協議安裝及地址設置
XP系統提供了一組命令行方式的IPv6檢測配置工具。在XP下安裝IPv6協議后,對原IPv4協議的使用不產生任何影響,整個網絡上各終端設備能夠在一個物理網絡上共享IPv4和IPv6協議、并支持兩種協議的數據傳輸,即:所謂的雙棧(DualStack)共享。
安裝IPv6協議和配置地址及默認網關的過程如下:
D:\>ipv6 install
Installing….
Succeeded.
D:、>netsh
netsh>interface ipv6 add address“本地連接”2008::a:20確定
netsh>interface ipv6 add route::/0“本地連接”2008::a:20
publish=yes確定
netsh>quit
D:\>
在安裝和配置完成后,可使用ping6和tracert6命令檢測網絡連通和路由狀態。
2.3 IPv6編程接口
與IPv4編程接口詡相比,IPv6編程接口主要在地址結構和地址解析方面進行了擴展,對所有擴展內容進行了詳細描述,以下僅列出其中幾個相關結構和解析函數。

3面向連接的IPv6網絡通信編程試驗
3.1 試驗目標說明
首先啟動IPv6服務器,使其進入偵聽,等待接受客戶端連接請求的狀態;客戶端向服務器發出連接請求,待到服務器允許建立鏈接時,向服務器發送指定信息;服務器收到信息后,向客戶端發送響應信息。
在圖1所示的環境下,本文采用VS2005開發MFC應用項目。通信應用程序界面及通信結果如圖2和圖3所示。在圖2、圖3中的主要控件參數及其設置見表2和表3。
4 結束語
在網絡編程結構上,IPv6與IPv4沒有本質區別,介紹的各種網絡編程方法均可借鑒。但是,要注意IPv6與lPv4的地址結構與地址解析函數是完全不同的。