新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于C++中的IPv6网络程序设计

基于C++中的IPv6网络程序设计

作者:时间:2012-09-12来源:网络收藏

IPv4 最初是由美国国防部开发的用于网际互联(IP)协议,后来它不仅发展了TCP,而且还进一步发展了IPv4(IP 协议4.0版)。IPv4现在已经广泛应用于Internet中,同时也应用于大多数计算机系统,局域网和广域网中。然而,随着Internet 中的计算机数量突飞猛涨,IPv4 的局限性越发明显:

本文引用地址:http://www.eepw.com.cn/article/189949.htm

1.IPv4地址数目面临耗尽,日近紧张;

2.IPv4寻址并非完全分等级,这使得Internet 枢纽路由器必须维持大量的路由表,负担过重。

3.IPv4的地址必须被静态分配或通过配置协议(如:DHCP)进行分配。的开发目标之一就是将提供更为简便的配置方案。

于是(6.0版本)应运而生。在Window系统中,Windows XP 提供了的developer-release版本;Windows 2000也可在http://www.microsoft.com/ipv6 下载 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;//地址所有的接口索引

}


上一页 1 2 3 4 下一页

关键词: IPv6 网络 程序设计

评论


相关推荐

技术专区

关闭