當前位置:首頁 > 通信技術 > 通信技術
[導讀]在分析IPv4和IPv6編程接口基礎上,給出了一組兼容IPv4與IPv6的Winsock網絡編程規(guī)則,并敘述IPv6在WindowsXP系統(tǒng)下的安裝和配置過程,最后給出了一個可同時應用于IPv4和IPv6的實現(xiàn)Daytime協(xié)議的程序,此程序今后可以方便地進行其他應用協(xié)議及軟件的移植,以適應IPv6的快速發(fā)展。

0 引 言
   
隨著通信技術和網絡技術的飛速發(fā)展,特別是近年來,IPv4協(xié)議面臨著一些難以解決的問題,如地址短缺、缺乏服務質量控制Qos和安全性差等。為了應對這一挑戰(zhàn),IETF(Internet Engineer Task Force)組織提出了為適應未來對于網絡基礎設施數(shù)量和質量需求而設計的下一代互聯(lián)網協(xié)議IPv6。IPv6繼承了IPv4的優(yōu)點,并根據(jù)IPv4多年來運行的經驗進行了大幅度的修改和功能擴充,其擴展性、路由、安全性、配置和可靠性都有明顯改進。

l IPv6相對于IPv4 WinSock的改變
1.1 IPv6中新增加的常量

    為了支持IPv6,需要定義一個新的地址族名,以便正確地識別和解析IPv6的地址結構。同樣,還需要定義一個新的協(xié)議簇名(與地址族名具有相同的值),這樣就可以使用合適的協(xié)議創(chuàng)建一個套接字。新定義的IPv6地址簇名和協(xié)議簇名常量為:AF_INET6和PF_INET6。
1.2 IPV6中新增加的地址結構
    IPv6的地址結構通過struct in6_addr和structockaddr_in6定義,結構定義分別如下:


1.3 IPV6中新增加的域名解析函數(shù)
    IPv6引入了名為getaddrinfo()和getnameinfo()的新的API。這兩個API是與協(xié)議無關的,且既可用于IPv4,也可用于IPv6的名稱解析。getaddrinfo()函數(shù)的返回值是addrinfo的結構指針。

   

   
    getaddrinfo()函數(shù)可以把主機名或服務名轉換成一組socket地址。hints相當于一個過濾器,只有符合hints結構的內容才會返回到res指針中。執(zhí)行成功后,參數(shù)res以鏈表的形式返回解析出來的地址,可以將這些地址直接傳遞給bind(),connect(),sendto()等函數(shù)。
    地址到名稱的轉換可以通過另一個新的套接字函數(shù)getnamein{o()進行。getnameinfo()函數(shù)的功能與getaddrinfo()函數(shù)相反,該函數(shù)接受已經初始化的套接字結構,并返回與地址及端口信息對應的主機和服務.

2 兼容IPv4與IPv6的WinSock網絡編程規(guī)則
2.1 使用sockaddr_storage結構
    sockaddr_storage結構是新的套接字結構,它與協(xié)議無關,并擁有充分的地址空間容納IPv4或者IPv6地址信息,且可以很方便地轉換成sockaddr_in結構和sockaddr_in6結構。同時,這個結構還具有針對64位對齊問題的填充項,使用這個結構可以很容易地寫出與地址協(xié)議簇無關和跨平臺的程序代碼,因此編寫兼容IPv4與IPv6的網絡程序時要使用這個結構表示網絡地址。
   
2.2 使用新的名稱解析函數(shù)getaddrinfo()和getnam-einfo()
   
這兩個函數(shù)是隨IPv6引進的新的名稱解析函數(shù),與地址協(xié)議簇無關,隱藏了名字到地址轉換和地址到名字轉換的大量細節(jié),既能夠處理IPv6地址,也能處理IPv4地址。它們也替代性地實現(xiàn)了下列函數(shù)接口的功能:gethostbyname(),gethostbyaddr(),inet_ntoa(),inet_aton(),getservbyname(),getservbyport()。可以在簡化程序的同時實現(xiàn)與地址協(xié)議簇無關的編程,還可以提高程序的可移植性。

3 IPv4與IPv6雙協(xié)議試驗平臺的搭建
    由于大部分用戶的操作系統(tǒng)都是Windows XP,所以在此僅介紹Windows XP下IPv6的安裝與配置。
    Windows XP操作系統(tǒng)內置了IPv6協(xié)議棧,提供了一組命令行方式的IPv6檢測配置工具。在XP下安裝IPv6協(xié)議后,對原IPv4協(xié)議的使用不產生任何影響,整個網絡上各終端設備能夠在一個物理網絡上共享IPv4和IPv6協(xié)議,并支持2種協(xié)議的數(shù)據(jù)傳輸,即:所謂的雙棧(DualStack)共享。
    安裝IPv6協(xié)議和配置地址及默認網關的過程如下:



4 VC環(huán)境下Daytime協(xié)議的實現(xiàn)

    根據(jù)以上所述,下面開發(fā)一個可同時應用于IPv4和IPv6的實現(xiàn)Daytime協(xié)議的程序。該程序基于c/s結構,客戶端使用TCP協(xié)議連接到服務器端,向服務器發(fā)送請求;服務器收到請求后,將當前的時間發(fā)回客戶端。
4.1 服務器端程序設計
   
服務器端首先啟動,通過調用socket()建立一個Socket,然后調用bind()將該Socket和本地網絡地址聯(lián)系在一起,再調用listen()使Socket做好偵聽的準備,并規(guī)定請求隊列的長度,之后就調用accept()接收連接。連接建立后,服務器端創(chuàng)建一個通信用的’Sock-et,把當前時間發(fā)回給客戶端。最后,在數(shù)據(jù)傳送結束后,調用close()關閉Socket。
    服務器端設計過程如下:
    (1)創(chuàng)建服務器端套接字


    (3)監(jiān)聽并接收連接


4.2 客戶端程序設計
   
客戶端創(chuàng)建一個Socket,并調用connect()和服務器建立連接。連接建立后,客戶端等待服務器返回的當前時間。最后,待數(shù)據(jù)傳送結束后,調用close()關閉Socket。
    客戶端設計過程如下。
    (1)創(chuàng)建客戶端套接字



5 程序運行后的結果
   
當服務器運行后,可同時在IPv4和IPv6地址監(jiān)聽,客戶端向服務器發(fā)送請求,服務器接到請求后,向客戶端返回一個當前時間。此實驗達到了預期效果。
    服務器端運行結果如圖1所示。

6 結 語
    雖然IPv6網絡已經開始實驗性部署,但是IPv4網絡向IPv6網絡的過渡和互通仍有一定難度,IPv4和IPv6網絡還需共存一段時間,因此開發(fā)能夠同時支持IPv4和IPv6的網絡應用程序會變得越來越重要。
    在此編寫了一個能夠同時支持IPv4和IPv6協(xié)議的程序,此程序可以方便地進行今后其他應用協(xié)議及軟件的移植,需在服務器端設計過程(4)及客戶端設計過程(3)中根據(jù)其具體協(xié)議及軟件進行相應改變。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉