摘要:結(jié)合XP環(huán)境下IPv6協(xié)議的安裝、設(shè)置和有連接的IPv6套接字編程實驗,介紹了IPv6的報頭結(jié)構(gòu)、地址結(jié)構(gòu)與類型、三種地址的表示形式,闡述了用]Pv6編程接口實現(xiàn)面向連接的網(wǎng)絡(luò)通信的編程方法,給出了一個在普通局域網(wǎng)絡(luò)環(huán)境下實現(xiàn)IPv6服務(wù)器端與IPv6客戶端有連接通信的網(wǎng)絡(luò)例程和結(jié)果。試驗表明:IPv6與lPv4的網(wǎng)絡(luò)編程結(jié)構(gòu)基本一致,但在網(wǎng)絡(luò)地址結(jié)構(gòu)和地址解析方面IPv6與IPv4存在較大區(qū)別。
關(guān)鍵詞:IPv6;地址結(jié)構(gòu);編程接口;面向連接;網(wǎng)絡(luò)通信
引言
目前,為了解決IPv4的絕對地址資源嚴重不足問題,一些主流操作系統(tǒng)均開始支持標(biāo)準(zhǔn)化的IPv6協(xié)議Ⅲ。IPv6的地址長度定義為128位,具有巨大數(shù)目的主機互連能力,將取代IPv4。
國內(nèi)十分重視IPv6的發(fā)展與應(yīng)用。根據(jù)北京師范大學(xué)lPv6網(wǎng)站上公布的信息,歐美國家對IPv6的發(fā)展仍以實驗和研究為主,而亞洲國家則致力于IPv6的商用及其業(yè)務(wù)拓展,在全球已開通的11%6網(wǎng)站資源中,一半左右都在中國。隨著我國互聯(lián)網(wǎng)和通信領(lǐng)域從IPv4向IPv6的快速過渡,基于IPv6的應(yīng)用需求日漸迫切,應(yīng)用lPv6實現(xiàn)網(wǎng)絡(luò)通信將成為趨勢。
1 IPv6報頭結(jié)構(gòu)及其地址表示形式
對IPv6協(xié)議和IPv6地址結(jié)構(gòu)及類型(單播地址、組播地址和任意點播地址)的細節(jié)給出了定義性的描述,以下僅簡單介紹其報頭結(jié)構(gòu)和地址表示形式。
IPv6協(xié)議的報頭總長320位,依次包括版本(占4位)、通信分類(占8位)、流標(biāo)識符(占20位)、報文長度(占16位)、下一個報文(占8位)、跨度限制(占8位)、源地址(128位)和目標(biāo)地址(占128位)八個部分。
通常,IPv6地址用冒號分隔字(每個字用4位十六進制數(shù)表示)法表示,特殊情況下,還有用符號“::”簡化連續(xù)0法表示和與IPv4混合法表示形式。例如:2008:0:0:0:0:88:0:0:417A,2008::88:0:0:417A、2008::FF:211.70.25.1.169等都是IPv6地址的合法表示。注意:每個地址中只能出現(xiàn)一次“::”符號,故又稱一次簡化表示法。
2 試驗環(huán)境準(zhǔn)備
2.1 硬件操作環(huán)境
本試驗的硬件由裝有XP操作系統(tǒng)的兩臺電腦(一個是COMPAQ M2010AP,另一個是IBM ThinkPad R50e)和一臺普通交換機(TaiLink TES-3008)組成,其互連結(jié)構(gòu)如圖1所示。
2.2 IPv6 協(xié)議安裝及地址設(shè)置
XP系統(tǒng)提供了一組命令行方式的IPv6檢測配置工具。在XP下安裝IPv6協(xié)議后,對原IPv4協(xié)議的使用不產(chǎn)生任何影響,整個網(wǎng)絡(luò)上各終端設(shè)備能夠在一個物理網(wǎng)絡(luò)上共享IPv4和IPv6協(xié)議、并支持兩種協(xié)議的數(shù)據(jù)傳輸,即:所謂的雙棧(DualStack)共享。
安裝IPv6協(xié)議和配置地址及默認網(wǎng)關(guān)的過程如下:
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命令檢測網(wǎng)絡(luò)連通和路由狀態(tài)。
2.3 IPv6編程接口
與IPv4編程接口詡相比,IPv6編程接口主要在地址結(jié)構(gòu)和地址解析方面進行了擴展,對所有擴展內(nèi)容進行了詳細描述,以下僅列出其中幾個相關(guān)結(jié)構(gòu)和解析函數(shù)。
3面向連接的IPv6網(wǎng)絡(luò)通信編程試驗
3.1 試驗?zāi)繕?biāo)說明
首先啟動IPv6服務(wù)器,使其進入偵聽,等待接受客戶端連接請求的狀態(tài);客戶端向服務(wù)器發(fā)出連接請求,待到服務(wù)器允許建立鏈接時,向服務(wù)器發(fā)送指定信息;服務(wù)器收到信息后,向客戶端發(fā)送響應(yīng)信息。
在圖1所示的環(huán)境下,本文采用VS2005開發(fā)MFC應(yīng)用項目。通信應(yīng)用程序界面及通信結(jié)果如圖2和圖3所示。在圖2、圖3中的主要控件參數(shù)及其設(shè)置見表2和表3。
4 結(jié)束語
在網(wǎng)絡(luò)編程結(jié)構(gòu)上,IPv6與IPv4沒有本質(zhì)區(qū)別,介紹的各種網(wǎng)絡(luò)編程方法均可借鑒。但是,要注意IPv6與lPv4的地址結(jié)構(gòu)與地址解析函數(shù)是完全不同的。