色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

同時支持IPv4和IPv6協議的應用程序編寫

電子設計 ? 來源:現代電子技術 ? 作者:郭靜盈 ? 2021-06-24 15:14 ? 次閱讀

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

1 IPv6相對于IPv4 WinSock的改變

1.1 IPv6中新增加的常量

為了支持IPv6,需要定義一個新的地址族名,以便正確地識別和解析IPv6的地址結構。同樣,還需要定義一個新的協議簇名(與地址族名具有相同的值),這樣就可以使用合適的協議創建一個套接字。新定義的IPv6地址簇名和協議簇名常量為:AF_INET6和PF_INET6。

1.2 IPV6中新增加的地址結構

IPv6的地址結構通過struct in6_addr和structockaddr_in6定義,結構定義分別如下:

1.3 IPV6中新增加的域名解析函數

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

getaddrinfo()函數可以把主機名或服務名轉換成一組socket地址。hints相當于一個過濾器,只有符合hints結構的內容才會返回到res指針中。執行成功后,參數res以鏈表的形式返回解析出來的地址,可以將這些地址直接傳遞給bind(),connect(),sendto()等函數。

地址到名稱的轉換可以通過另一個新的套接字函數getnamein{o()進行。getnameinfo()函數的功能與getaddrinfo()函數相反,該函數接受已經初始化的套接字結構,并返回與地址及端口信息對應的主機和服務.

2 兼容IPv4與IPv6的WinSock網絡編程規則

2.1 使用sockaddr_storage結構

sockaddr_storage結構是新的套接字結構,它與協議無關,并擁有充分的地址空間容納IPv4或者IPv6地址信息,且可以很方便地轉換成sockaddr_in結構和sockaddr_in6結構。同時,這個結構還具有針對64位對齊問題的填充項,使用這個結構可以很容易地寫出與地址協議簇無關和跨平臺的程序代碼,因此編寫兼容IPv4與IPv6的網絡程序時要使用這個結構表示網絡地址。

2.2 使用新的名稱解析函數getaddrinfo()和getnam-einfo()

這兩個函數是隨IPv6引進的新的名稱解析函數,與地址協議簇無關,隱藏了名字到地址轉換和地址到名字轉換的大量細節,既能夠處理IPv6地址,也能處理IPv4地址。它們也替代性地實現了下列函數接口的功能:gethostbyname(),gethostbyaddr(),inet_ntoa(),inet_aton(),getservbyname(),getservbyport()。可以在簡化程序的同時實現與地址協議簇無關的編程,還可以提高程序的可移植性。

3 IPv4與IPv6雙協議試驗平臺的搭建

由于大部分用戶的操作系統都是Windows XP,所以在此僅介紹Windows XP下IPv6的安裝與配置。

Windows XP操作系統內置了IPv6協議棧,提供了一組命令行方式的IPv6檢測配置工具。在XP下安裝IPv6協議后,對原IPv4協議的使用不產生任何影響,整個網絡上各終端設備能夠在一個物理網絡上共享IPv4和IPv6協議,并支持2種協議的數據傳輸,即:所謂的雙棧(DualStack)共享。

安裝IPv6協議和配置地址及默認網關的過程如下:

4 VC環境下Daytime協議的實現

根據以上所述,下面開發一個可同時應用于IPv4和IPv6的實現Daytime協議的程序。該程序基于c/s結構,客戶端使用TCP協議連接到服務器端,向服務器發送請求;服務器收到請求后,將當前的時間發回客戶端。

4.1 服務器端程序設計

服務器端首先啟動,通過調用socket()建立一個Socket,然后調用bind()將該Socket和本地網絡地址聯系在一起,再調用listen()使Socket做好偵聽的準備,并規定請求隊列的長度,之后就調用accept()接收連接。連接建立后,服務器端創建一個通信用的’Sock-et,把當前時間發回給客戶端。最后,在數據傳送結束后,調用close()關閉Socket。 pYYBAGDUMUuAU064AAAK7pbh3zQ984.png

4.2 客戶端程序設計

客戶端創建一個Socket,并調用connect()和服務器建立連接。連接建立后,客戶端等待服務器返回的當前時間。最后,待數據傳送結束后,調用close()關閉Socket。

客戶端設計過程如下。

(1)創建客戶端套接字

5 程序運行后的結果

當服務器運行后,可同時在IPv4和IPv6地址*,客戶端向服務器發送請求,服務器接到請求后,向客戶端返回一個當前時間。此實驗達到了預期效果。

6 結 語

雖然IPv6網絡已經開始實驗性部署,但是IPv4網絡向IPv6網絡的過渡和互通仍有一定難度,IPv4和IPv6網絡還需共存一段時間,因此開發能夠同時支持IPv4和IPv6的網絡應用程序會變得越來越重要。

在此編寫了一個能夠同時支持IPv4和IPv6協議的程序,此程序可以方便地進行今后其他應用協議及軟件的移植,需在服務器端設計過程及客戶端設計過程中根據其具體協議及軟件進行相應改變。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9123

    瀏覽量

    85328
  • IPv6
    +關注

    關注

    6

    文章

    689

    瀏覽量

    59389
  • IPv4
    +關注

    關注

    0

    文章

    142

    瀏覽量

    19890
收藏 人收藏

    評論

    相關推薦

    IPv6地址是什么,IPv6的意思

    |   +---------------------------- +--------+----------------------- |   IPv4兼容地址已經被舍棄了,所以今后的設備和程序中可能不會支持這種地址格式。  
    發表于 01-25 16:39

    IPv6相對于IPv4 WinSock的改變是什么?

    IPv6相對于IPv4 WinSock的改變是什么?兼容IPv4IPv6的WinSock網絡編程規則是什么?IPv4
    發表于 05-31 07:09

    跨越IPv4 IPv6轉換網關的研究與實現

    互聯網的飛速發展使IPV4 協議暴露出了很多問題, 下一代IP 協議IPV6 取代IPV4 是發展的必然,如何解決
    發表于 01-07 16:04 ?9次下載

    IPv4IPv6的介紹和IPv6將成為5G和物聯網基礎協議

    相比 IPv4IPv6 除了具有更大的地址空間,還擁有更快的路由機制、更好的業務性能以及更高的安全性等一系列優點。去年 11 月在韓國召開的 IETF 大會上發布了一個聲明,希望未來的互聯網協議
    發表于 09-22 17:49 ?11次下載

    ipv4ipv6有什么區別

    IPV6IPV4協議早已為人所共知。IPv4,是互聯網協議(Internet Protocol,IP)的第四版,也是第一個被廣泛使用,構成
    發表于 12-26 16:36 ?1.7w次閱讀
    <b class='flag-5'>ipv4</b>和<b class='flag-5'>ipv6</b>有什么區別

    IPv4IPv6無狀態的雙向通信機制

    IPv4/IPv6過渡進程中,針對一些尚未升級到IPv6IPv4網絡仍需要與IPv6互聯網互聯互通的問題,提出了一種無狀態的雙向通信機制
    發表于 01-04 14:40 ?0次下載
    <b class='flag-5'>IPv4</b>與<b class='flag-5'>IPv6</b>無狀態的雙向通信機制

    什么是ipv6 ipv4ipv6的區別

    ipv6的英文全稱是Internet Protocol Version 6,中文為互聯網協議6版。ipv6是互聯網工程任務組設計的用于替代
    的頭像 發表于 09-03 16:03 ?2.3w次閱讀

    ipv4中ip分為幾類 ipv4ipv6的過渡技術有哪些

    協議棧:即在IPv4IPv6之間同時部署一個雙協議棧,使得IPv4
    發表于 05-15 18:15 ?7202次閱讀

    什么是ipv4什么是ipv6 ipv6技術的優缺點

    IPv4IPv6的地址格式不同,它們之間沒有直接的換算方法。但是,可以使用IPv4IPv6的雙棧機制,實現IPv4地址到
    發表于 05-17 18:12 ?5507次閱讀

    ipv6ipv4有什么區別 ipv4ipv6哪個網速快

    IPv6可以和IPv4兼容,支持IPv4地址的傳輸和訪問,同時支持
    發表于 05-17 18:13 ?2.1w次閱讀

    IP地址:IPV4IPV6的區別

    IPV4互聯協議版本4,有版本V4之前就有IPV1 IPV2IPV3,同樣有
    發表于 10-26 10:41 ?2796次閱讀
    IP地址:<b class='flag-5'>IPV4</b>和<b class='flag-5'>IPV6</b>的區別

    恒訊科技分析:IPv4IPv6的網絡速度與配置如何選擇?

    IPv6時,需要考慮網絡速度和配置等因素。 一、網絡速度: IPv4IPv4是互聯網上廣泛使用的傳統協議,大多數網絡設備和服務都支持
    的頭像 發表于 04-03 17:03 ?1279次閱讀

    明陽 IPv4/IPv6 協議交換平臺產品白皮書

    一、業務需求隨著互聯網的不斷發展,IPv4地址資源逐漸枯竭,為了解決IPv4地址不足的問題,IPv6協議逐漸被廣泛應用。國家政策對IPv6
    的頭像 發表于 05-11 08:36 ?1080次閱讀
    明陽 <b class='flag-5'>IPv4</b>/<b class='flag-5'>IPv6</b> <b class='flag-5'>協議</b>交換平臺產品白皮書

    IPv4IPv6的定義和主要區別

    IPv4IPv6的定義 IPv4,即互聯網協議版本4(InternetProtocolversion4
    的頭像 發表于 07-11 13:48 ?483次閱讀

    IPv6IPv4的區別

    IPv6(互聯網協議第六版)和IPv4(互聯網協議第四版)是用于互聯網上設備之間通信的兩種主要協議。以下是它們之間的一些主要區別: 地址空間
    的頭像 發表于 10-29 17:11 ?680次閱讀
    主站蜘蛛池模板: 色女孩综合| 金发欧美一区在线观看| 亚洲VA欧美VA天堂V国产综合| 国产亚洲欧洲日韩在线三区| 亚洲日本天堂在线| 老熟女毛茸茸浓毛| av天堂影音先锋在线| 色妞色视频一区二区三区四区| 国产强奷伦奷片| 伊伊人成亚洲综合人网| 男男腐文污高干嗯啊快点1V1| 草莓视频在线播放视频| 午夜视频在线瓜伦| 精品夜夜澡人妻无码AV| 99亚洲精品色情无码久久| 色悠久久久久综合欧美99| 国产亚洲精品AV麻豆狂野| 伊人影院综合在线| 青春草国产成人精品久久| 国产成人亚洲精品老王| 亚洲欧洲日韩视频在钱| 毛片在线看片| 公和熄洗澡三级中文字幕| 亚洲免费无码中文在线| 蜜芽在线影片| 高H内射NP古文| 夜夜躁日日躁狠狠| 欧美高清69hd| 国产三级精品三级在线观看| 中文字幕精品在线视频| 全部老头和老太XXXXX| 国产亚洲美女精品久久久2020| 中文字AV字幕在线观看| asian4you裸模| 色呦呦人人视频| 免费。色婬网站| 超碰97人在线视频| 性奴公司 警花| 影音先锋av天堂| 日本无码人妻精品一区二区视频| 美女爽到嗷嗷嗷叫|