IPV6兼容IPV4通信程序升级改造之经典源代码解析#
IPV4升级改造# #IPV6兼容IPV4# #IPV4通信程序升级改造# #IPV6兼容IPV4通信程序开发#
一、IPV6兼容IPV4通信程序升级改造背景
IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 。
由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。
由于从IPv4网络完全过渡到IPv6网络需要全球互联网基础设施中的网络软件和网络硬件设备以及终端设备都支持IPv6协议,这会涉及到大量的改造工作,虽然得到各国政府和各大运营商的重视和推动,但是IPv4和IPv6仍将长期共存。要做到IPv6和IPv4完全兼容需要做很大的修改,最简单的协议上要兼容128位的IP地址,路由器,服务器等相关硬件也要升级。
二、IPV6兼容IPV4通信程序解决方案核心理论
IPV6兼容IPV4通信程序解决方案核心理论是把IPV4的地址转换成了IPV6的地址,如192.168.10.77?::ffff:192.168.10.77(ipv6地址假设为2001:250:4000:2000::77), 把” ::ffff:”去掉后,就可以得到IPV4地址了.Windows、Linux环境下都使用了getaddrinfo函数,用struct sockaddr_storage结构替换掉struct sockaddr_in结构,来解决兼容性问题,从而完美地兼容了IPV4、IPV6地址可以同时访问经过改造后的服务端通信程序.
三、Windows环境下IPV6兼容IPV4通信程序经典源代码如下:
见链接地址https://www.doc88.com/p-99029033411131.html