<b>C++中的IPv6网络程序计划</b>[VC/C++编程]
本文“<b>C++中的IPv6网络程序计划</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
IPv4最初是由美国国防部开辟的用于网际互联(IP)协议,后来它不但发展了TCP,并且还进一步发展了IPv4(IP协议4.0版).IPv4目前已经遍及利用于Internet网络中,同时也利用于大大都计算机系统,局域网和广域网中.但是,随着Internet中的计算机数目突飞猛涨,IPv4的范围性越创造显:
1.IPv4地址数目面对耗尽,日近慌张;
2.IPv4寻址并非完好分等级,这使得Internet枢纽路由器必须保持大量的路由表,负担太重.
3.IPv4的地址必须被静态分配或通过配置协议(如:DHCP)举行分配.IPv6的开辟目标之一就是将供应更为简便的配置筹划.
于是IPv6(6.0版本)应运而生.在Window系统中,Windows XP 供应了IPv6的developer-release版本;Windows 2000也可在http://www.microsoft.com/ipv6 下载 IPv6协议预览.下图在本人计算机上成功安装的示例图:
图-1 IPV6 安装示例
一.IPv4地址及其寻址
1.IPv4地址
IPv4地址(常称IP地址)用一个32位数表示;普通表示位十进制格局,地址的每8位字节被表示转为一个十进制的数值,并由句点脱离,如:192.168.0.1;IPv4地址 普通分为A、B、C、D、E 五类.
2.IPv4寻址
在Winsock 中,通过SOCKADDR_IN 构造来指定IPv4的地址和服务断口信息:
struct sockaddr_in {
short sin_family ;//必须为AF_INET,表示利用IPv4地址簇
u_short sin_port; //TCP/UDP 端口
struct in_addr sin_addr;// IP地址(以网络字节次序布列, 4个字节)
char sin_zero[8];//填充项
}
二.IPv6地址及其寻址
1.IPv6地址
IPv6地址与IPv4地址的明显的差别是128位,长度是IPv4地址的4倍.IPv6地址由16位字节分段表示,显示为冒号脱离的十六进制:
21DA:00D3:0000:2F3A:B234:ED12:9C5A:DAC3
IPv6地址的分配
分配
地址前缀
保存地址0000 0000
为NSAP预留0000 0001
可聚合的环球单播地址001
链接-本地单播地址1111 1110 10
站点-本地单播地址1111 1110 11
多播地址1111 1111
2.IPv6的寻址
Winsock中,寻址利用一下构造:
struct sockaddr_in6{
short sin6_family;// 地址簇:AF_INET6
u_short sin6_port;//端口号
u_long sin6_flowinfo;//衔接标志通信量
struct in6_addr sin6_addr;//16字节构造的IPv6 地址
u_long sin6_scope_id;//地址全部的接口索引
}
以上是“<b>C++中的IPv6网络程序计划</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |