Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4534340
  • 博文数量: 252
  • 博客积分: 5347
  • 博客等级: 大校
  • 技术积分: 13838
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-30 10:13
文章分类
文章存档

2022年(12)

2017年(11)

2016年(7)

2015年(14)

2014年(20)

2012年(9)

2011年(20)

2010年(153)

2009年(6)

分类: LINUX

2011-03-18 17:50:03

 

IPv6地址语法 

IPv4地址表示为点分十进制格式,32位的地址分成48位分组,每个8位写成十进制,中间用点号分隔。而IPv6128位地址则是以16位为一分组,每个16位分组写成4个十六进制数,中间用冒号分隔,称为冒号分十六进制格式。  

下面试举一例,先看一个以二进制形式表示的IPv6地址:   

 0010000111011010000000001101001100000000000000000010111100111011  

 0000001010101010000000001111111111111110001010001001110001011010  

 该128位地址以16位为一分组可表示为: 

 0010000111011010 0000000011010011 0000000000000000 0010111100111011 

 0000001010101010 0000000011111111 1111111000101000 1001110001011010 

 每个16位分组转换成十六进制并以冒号分隔: 

 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A 

 IPv6可以将每4个十六进制数字中的前导零位去除做简化表示,但每个分组必须至少保留一位数字。去除前导零位后,上述地址可写成: 

 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A 

零压缩 

某些类型的地址中可能包含很长的零序列,为进一步简化表示法,IPv6还可以将冒号十六进制格式中相邻的连续零位进行零压缩,用双冒号“::”表示。 例如链路本地地址FE80:0:0:0:2AA:FF:FE9A:4CA2可压缩成FE80::2AA:FF:FE9A:4CA2;多点传送地址FF02:0:0:0:0:0:0:2压缩后,可表示为FF02::2 

要想知道“::”究竟代表多少个“0”,我们可以做这样的计算:用8去减压缩后的分组数,再将结果乘以16。例如,在地址FF02::2中,有两个分组(“FF02”分组和“2”分组),那么被压缩掉的“0”共有(8-2*16 = 96位。 

值得注意的是,在一个特定的地址中,零压缩只能使用一次,也就是说,在任意一个冒号分十六进制格式中只能出现一个双冒号“::”,否则我们就无法知道每个“::”所代表的确切零位数了。 

IPv6 前缀 

前缀是地址中具有固定值的位数部分或表示网络标识的位数部分。IPv6的子网标识、路由器和地址范围前缀表示法与IPv4采用的CIDR标记法相同,其前缀可书写为:地址/前缀长度。例如21DA:D3::/48是一个路由器前缀,而21DA:D3:0:2F3B::/64是一个子网前缀。 

注意:在IPv4实现中普遍使用的被称为子网掩码的点分十进制网络前缀表示法在IPv6中已不再使用,IPv6仅支持前缀长度表示法。

IPv6地址类型 

    IPv6地址是独立接口的标识符,所有的IPv6地址都被分配到接口,而非节点。由于每个接口都属于某个特定节点,因此节点的任意一个接口地址都可用来标识一个节点。IPv6有三种类型地址: 

   

单播

用于确认单独接口的一个地址。发往单播地址的数据包被发送到该地址所确认的接口。按照数据包的可到达性,单播支持以下类型的地址

1、全球单播地址

能够全球到达和确认的地址。全球单播地址由一个全球选路前缀、一个子网ID 和一个接口ID 组成。当前全球单播地址分配使用的地址范围从二进制值001 (2000::/3) 开始,即全部IPv6 地址空间的八分之一。

2、站点本地单播地址:

只能在客户站点内到达和确认的地址,类似于IPv4 专用地址10.0.0.0/8 192.168.0.0/16。站点本地单播地址包含一个FEC0::/10 前缀、子网ID 以及接口ID

3、链路本地单播地址:

只能由与同一本地链路相连的节点到达和确认的地址。链路本地单播地址使用FE80::/ 10 前缀和一个接口ID

 单播地址interface ID 的64位的来历

        另外单播还包括一些其他特殊的地址 

  在IPv4IPv6的迁移过渡期,两类地址并存,我们还将看到一些特殊的地址类型:   

  IPv4兼容地址 

  IPv4兼容地址,可表示为0:0:0:0:0:0:w.x.y.z::w.x.y.zw.x.y.z是以点分十进制表示的IPv4地址),用于具有IPv4IPv6两种协议的节点使用IPv6进行通信。    

  IPv4映射地址 

  IPv4映射地址是又一种内嵌IPv4地址的IPv6地址,可表示为0:0:0:0:0:FFFF:w.x.y.z::FFFF:w.x.y.z。这种地址被用来表示仅支持IPv4地址的节点。    

  6to4地址 

6to4地址用于具有IPv4IPv6两种协议的节点在IPv4路由架构中进行通信。6to4是通过IPv4路由方式在主机和路由器之间传递IPv6分组的动态隧道技术。

 

任播

任播地址是分配给一套属于不同节点的接口的全球地址(如图所示)。发往一个任播地址的数据包被发送到

最近的接口。任播地址具有以下限制:

任播地址不得用作IPv6 数据包的源地址。

任播地址不得分配给IPv6 主机,但是可以分配给IPv6 路由器。

 

 

组播

与在IPv4 中一样,组播地址被分配给一套属于不同节点的接口。发往组播地址的数据包被发送到该地址所

确定的所有接口。IPv6 组播地址使用FF00::/8 前缀,全部IPv6 地址空间的1/256

IP v6地址目前分配状况:

 

补充一些常用的地址前缀

::/128      即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口
::1/128     即0:0:0:0:0:0:0:1,回环地址,相当于ipv4中的localhost(127.0.0.1),ping locahost可得到此地址

2001::/16     全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址
2002::/16     6 to 4 地址,用于6to4自动构造隧道技术的地址
3ffe::/16     早期开始的IPv6 6bone试验网地址
注:上面三类属于单播地址,都是目前互联网上广泛应用的IPv6地址

fe80::/10     本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发
ff00::/8      组播地址

::A.B.C.D          其中代表ipv4地址,兼容IPv4的IPv6地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址
::FFFF:A.B.C.D     其中代表ipv4地址,例如 ::ffff:202.120.2.30 ,是IPv4映射过来的IPv6地址,它是在不支持IPv6的网上用于表示IPv4节点

阅读(7132) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~