作者:袁佶彪 来源:LiveSpace 酷勤网收集 2007-09-24
对IPv6地址学习了一段时间,一直不敢写一些东西,现在对IPv6有一定的认识了,才写一点东西出来,难免还会有一些问题,希望大家批评指正.
一.目前的IP现状:
当前Internet或网络中都在采用IPv4地址,由于IPv4地址是由32位二进制组成,所以IPv4的总容量为2^32个,大约4G(43亿),除去一些保留地址,其中包括了D类E类地址外,还有私有地址10.0.0.0--10.255.255.255;172.16.0.0--172.31.255.255;192.168.0.0--192.168.255.255,地址数量不足4G,据统计应该在37亿左右,ICANN进行IPv4地址分配时,美国申请了大量的A类地址,而中国和亚洲地区主要是以C类地址为主,中国目前的IPv4地址量8000万,而中国起码需求量为3个亿左右,所以,中国的地址最为紧缺,所以当前的IPv4地址空间不足,必须有一种新的IP技术来解决此问题。另外,目前IPv4地址中报头中包含了一些过时字段,在路由器路径选择时,不仅没有作用,反而可能带来网络延迟,所以在新的IP技术中最起码应该解决以上两个问题。
二.IPv6的开发:
1990年,IETF开始着手开发新一代IP技术,意识到当前IPv4存在的问题,开发目标有:
1.地址空间要无限大,会有用不完的地址
2.减小路由表的长度,以解决路由器路径选择所带来的延迟太长问题
3.简化协议,使路由器进行分组处理的速度更快
4.提供更好的IP层安全和对QoS服务质量的支持,特别要支持实时通信
5.支持即插即用,在主机不改变地址的前提条件下实现漫游
6.协议还应该具备良好的可扩展性
基于以上的目标,实施了IPng(下一代IP)的协议计划,在很多套备选协议方案中(备选方案有TUBA,IPv7,IP in IP;SIP;PIP),选择将SIP与PIP进行特性组合,在1994年形成了SIPP,SIPP采用了64位地址,同时将IP报头字段变小,这样就形成了最初IPv6的雏形,1997年IETF以SIPP为基础,将64位地址扩展为了128位地址,就是现在的IPv6了。
三.IPv6何时应用:
在全球2010年将有170亿台设备接入IPv6网,2012年全部的v4地址都将被分配完成,2008年中国准备在奥运会前后将IPv6商业化,同时在很多的操作系统和路由器中已经内置了IPv6协议,XP操作系统和2003操作系统率先内置了IPv6,但是,只能在命令行下进行配置地址,不支持图形化配置,而在Vista,Longhorn系统上都支持IPv6,同时,Vista 和Longhorn系统上的IPv6是独立的,并不需要像XP上的IPv6需要由IPv4支持共存,IPv6就在眼前。
从区域上看,目前美国和欧洲国家对 IPv6 的发展以研究和实验为主体,日本和韩国等亚洲国家则在 IPv6 的商用及业务开展方面处于领先地位,中国起步晚于日本和韩国等国,但是在国际上仍然属于领先地位,由于中国互联网和通信市场的巨大空间和前景,都使中国有机会、有潜力成为未来 IPv6 产业化进程中举足轻重的一部分。以下部分将扼要介绍 IPv6 在全球各主要区域与国家的发展状况;欧洲的移动通信事业相当发达,因此它们在 IPv6 的研究和商业化应用方面更注重移动通信领域的扩展,采取的是“先移动,后固定”的基本战略,在第三代移动网中率先引入 IPv6。
四.IPv6表示方法:
1.IPv6基本表达方式:是利用7个冒号,分割8个16进制字段,每个字段是4位十六进制整数。
X:X:X:X:X:X:X:X (每个X是一个4位十六进制整数)
以下都是合法的IPv6地址
eg:
CDCD:910A:2222:5498:8457:1111:5678:AE21
2510:0000:0000:0000:C8E1:FF12:43AA:1A2A
2510:0000:0000:0000:C8E1:0000:0000:1E34
2.IPv6的特殊表示方法:地址中的每个整数都必须表示出来,但是起始的0可以不必表示
eg:
地址2510:0006:003B:0210:C8E1:FF12:43AA:1A2A可以被表示为:
2510:6:3B:210:C8E1:FF12:43AA:1A2A
3.某些IPv6地址中存在一长串连续的0,允许使用“空隙”来表示这一长串连续0,但是“空隙”只能在地址中出现一次,以防止产生歧义。
eg:
2510:0000:0000:0000:C8E1:FF12:43AA:1A2A
可以表示为2510::C8E1:FF12:43AA:1A2A
2510:0000:0000:0000:C8E1:0000:0000:1E34
可以表示为2510::C8E1:0:0:1E34
4.在IPv4和IPv6的混合环境中,往往需要用IPv6地址和IPv4地址混合的表示方法来表示地址,IPv6地址中最低的32位可以用于表示IPv4地址,即X:X:X:X:X:X:d.d.d.d 其中X表示一个16位整数,而d表示一个8位十进制整数。
eg:
0:0:0:0:0:0:10.0.0.1是一个合法的IPv4和IPv6的混合地址,可以简写为::10.0.0.1
2510:1257:C8E1::192.168.1.5也是合法的IPv6地址
5.由于IPv6地址没有子网掩码,但是路由器选路时,仍然需要判定地址的范围,所以采用了CIDR(无类域间路由)的方法来表示选路的头
eg:
2510::C8E1:FF12:43AA:1A2A/64在此地址中/64表示了地址中前缀的长度,也就是地址中前64位是路由器进行选路的
五.IPv6与ICMPv6关系
ICMP(网际消息控制协议)其中我们使用到的命令有ping ;tracert ; pathping都是在ICMPv4中进行查找和定位IPv4故障的命令,为了适合IPv6所以也采用了ICMPv6进行定位和查找IPv6的故障。
ICMPv6由目标节点或者中间路由器发送,报告在转发或者传送IPv6数据报过程中出现的错误,当使用ping命令测试IPv6地址的时候返回消息一般也有四种:
Destination Unreachable 目标不可达
Time Exceeded 超时
Packet Too big 数据包过大
Parameter Problem 参数问题
六.IPv6的寻址模型:
1.IPv6的寻址模型和IPv4很类似,每个单播地址标识一个单独的接口,IPv6地址是配置给接口的而不是节点
2.一个接口可以配置多个IPv6地址,每个地址都可以表示该节点
3.多个网络接口可以共享一个IPv6地址,可以实现IPv6地址上群集,解决网络负载
4.IPv6的地址类型:单播、组播、任意点播(泛播)
1)单播:单一接口上的标识符,送往一个单播地址的包将被传送到这个接口上。
2)组播:一组接口(属于不同节点)的标识符,送往一个组播地址的包将被传送到给地址标识的所有接口上。
3)泛播:一组接口(属于不同节点)标识符,送往泛播地址的包将被送往该地址标识接口中最近的一个接口。
七.单播地址的格式:
1.可集聚全球地址
2.未指定地址或全0地址(0:0:0:0:0:0:0:0)
3.回返地址(::1)
4.嵌有IPv4的IPv6地址(地址中高阶80位都为0,低阶32位为IPv4,中间16位设置为FFFF,相当与将IPv4转化为IPv6的表达方式)
eg:
::FFFF:1234:5678
5.基于供应商和地理位置的供应商地址
6.OSI网络服务访问点(NSAP)地址
7.网络互连包交换(IPX)地址
八.链路本地地址:用于单网络链路上给主机编号,前缀的前10位标识即为链路本地地址,路由器在它们的源端和目的端对具有链路本地地址的包不给予处理,永远不转发。
FE80::/64开头的地址是本地链路地址类似于169.254.0.0(专用IP自动编址)这样的地址
FE0::/10站点本地地址相当于私有地址,是非自动分配的必须通过有状态或无状态自动分配的,FEC、FED、FEE、FEF的地址都是站点本地链路地址
九.特殊的多播地址:
FF01::1(节点本地范围所有节点多播地址)
FF02::1(链路本地范围所有节点多播地址)
FF01::2(节点本地范围所有路由器多播地址)
FF02::2(链路点本地范围所有路由器多播地址)
FF03::2(站点本地范围所有路由器多播地址)
FF02::1取代了IPv4中各类广播地址
十.如何在Windows Server 2003上配置IPv6
1.安装IPv6
netsh interface ipv6 install可以在命令行下进行IPv6的安装,也可以在图形化下进行安装。
2.net interface ipv6 add address "本地连接" 1234::1234表示在当前本地连接端口上添加IP地址
来自:http://yuanjibiao.spaces.live.com/Blog/cns!1F4EF9B56890C229!293.entry

