基于IPv6的网络程序设计与实践

本文详细介绍了IPv4的局限性以及IPv6的出现背景,对比了IPv4和IPv6的地址结构和寻址方式。在Windows环境下,讨论了IPv6的安装和配置,并通过示例展示了如何使用getaddrinfo()和getnameinfo()函数进行地址解析。最后,通过一个简单的IPv6回应服务器程序,展示了如何进行IPv6网络程序设计,包括客户机和服务器的实现步骤。
摘要由CSDN通过智能技术生成
2007年10月12日 02:18:00

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

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

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

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

于是IPv66.0版本)应运而生。在Window系统中,Windows XP 提供了IPv6developer-release版本;Windows 2000也可在http://www.microsoft.com/ipv6 下载 IPv6协议预览。下图在本人计算机上成功安装的示例图:

-1 IPV6 安装示例

一.IPv4地址及其寻址

1.IPv4地址

IPv4地址(常称IP地址)用一个32位数表示;通常表示位十进制格式,地址的每8位字节被表示转为一个十进制的数值,并由句点分隔,如:192.168.0.1IPv4地址 通常分为ABCDE 五类。

2IPv4寻址

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位字节分段表示,显示为冒号分隔的十六进制:

21DA00D300002F3AB234ED129C5ADAC3

IPv6地址的分配

分配

地址前缀

保留地址

0000 0000

NSAP预留

0000 0001

可聚合的全球单播地址

001

链接-本地单播地址

1111 1110 10

站点-本地单播地址

1111 1110 11

多播地址

1111 1111

校园文件传输说明文档 版本1.0.20100905 使用方法: 首先接受方和发送方必须正常运行本程序,发送方在 接收方地址 栏 填入接收方的IP(也可以是IPv6)地址,打开要发送的文件,点击发送,等待对方回应即可 1.本软件同时支持IPv4和IPv6协议,只要双方主机有一种协议可接入网络即可 2.双击处于Running 状态的任务,可以停止任务,注意本软件暂不支持断点续传,停止后此次任务将失败 3.支持文件鼠标拖拽 4.暂不支持文件夹传送 常见问题(Q&A) 1.传输范围 理论上两台主机,只要发送方能ping通接收方,发送方就可以给接收方发送文件, 局域网内可以互传; 全校内可以互传; 不同学校可以互传; ADSL宽带用户可以传; 注意:如果双方在不同的内网下是无法传输的,记住只要发送方能ping通接收方,发送方就可以给接收方发送文件 2.和飞鸽的区别 飞鸽只是局域网传输,不同局域网是无法传输的,本软件无此限制;关于用户列表问题,只有局域网才可以获得用户列表,所以飞鸽有,本程序没有,因为超脱局域网是无法确定用户的 3.和QQ的区别 首先说明QQ的传输能力很强,本软件很多方面暂时还比不上,但某些方面还是比QQ有优势,如下 a.QQ需要你有账户,并且要登录成功,还只能好友间才能传输,本软件无此限制 b.QQ不支持IPv6协议,对于校园网络用户来说每个月的流量可是很宝贵的,而QQ会占用IPv4流量,致使根本不敢过多传输大文件,而一般高校是不限制IPv6流量的,而且IPv6速度也较快,又不限制流量,何乐而不为呢。事实上本软件的作者就是因为这个原因才开发此软件的。经历多年呕心沥血不吃不喝不眠不休,翻阅n多资料,敲烂n多键盘,终于大功告成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值