IPv6地址的表示IPv6地址的表示用文本串表示的IPv6地址有三种规范形式:(1)优先选用的形式为x:x:x:x:x:x:x:x:,其中x是8个16位地址段的十六进制值。例如:FEDC:BA98:7654:3210:FEDC:BA98:7654:32101080:0:0:0:8:800:200C:417A个别字段中前面的0可以不写,但是每段必须至少有一位数字((2)中描述的情形除外)。(2)在分配某种形式的IPv6地址时,会发生包含长串0位的地址。为了简化包含0位地址的书写,指定了一个特殊的语法来压缩0。使用“::”符号指示有多个0值的16位组。“::”符号在一个地址中只能出现一次。该符号也能用来压缩地址中前部和尾部的0。用下面的例子来说明:1080:0:0:0:8:800:200C:417A单播地址FF01:0:0:0:0:0:0:101组播地址0:0:0:0:0:0:0:1回返地址0:0:0:0:0:0:0:0未指定地址可用下面的压缩格式表示:1080::8:800:200C:417A单播地址FF01::101组播地址::1回返地址::未指定地址(3)当谈到IPv4和IPv6节点这样一个混合环境时,有时更适合于采用另一种表示形式:x:x:x:x:x:x:d.d.d.d,其中x是地址中6个高阶16位段的十六进制值,d是地址中4个低价8位段的十进制值(标准IPv4表示)。举例说明:0:0:0:0:0:0:13.1.68.30:0:0:0:0:FFFF:129.144.52.38写成压缩形式为:::13.1.68.3::FFFF.129.144.52.382.3地址前缀的文本表示IPv6地址前缀的表示方式和IPv4地址前缀在CIDR中的表示方式很相似。一个IPv6地址前缀可以表示为如下的形式:IPv6地址/前缀长度其中,IPv6地址是2.2节中表示的任何形式的IPv6地址。而前缀长度是组成前缀的十进制值,说明地址最左边的连续的地址位的长度。例如,60位长的前缀12AB00000000CD3(十六进制)可用下面的合法格式来表示:12AB:0000:0000:CD30:0000:0000:0000:0000/6012AB::CD30:0:0:0:0/6012AB:0:0:CD30::/60但是,下面的表示方式是不合法的。12AB:0:0:CD3/60在任何一个16位段的地址块中,可以省略前部的0。但不能省略尾部的0。12AB::CD30/60/左边的地址会展开成12AB:0000:0000:0000:0000:000:0000:CD3012AB::CD3/60/左边的地址会展开成12AB:0000:0000:0000:0000:000:0000:0CD3当书写节点地址和它的子网前缀两者时,可以组合成如下表示:节点地址:12AB:0:0:CD30:123:4567:89AB:CDEF和它的子网号:12AB:0:0:CD30::/60可以缩写成为:12AB:0:0:CD30:123:4567:89AB:CDEF/602.4地址类型表示一个IPv6地址的具体类型是由地址的前面几位来指定的。包含这前面几位的可变长度字段称为格式前缀(FP)。这些前缀的初始分配如下:分配前缀(二进制)占地址空间的百分率————————————————————————————保留000000001/256未分配000000011/256为NSAP地址保留00000011/128为IPX地址保留00000101/128未分配00000111/128未分配000011/32未分配00011/16可集聚全球单播地址0011/8未分配0101/8未分配0111/8未分配1001/8未分配1011/8未分配1101/8未分配11101/16未分配111101/32未分配1111101/64未分配11111101/128未分配1111111001/512链路本地单播地址11111110101/1024站点本地单播地址11111110111/1024组播地址111111111/256注:(1)未指定地址(见2.5.2节)、回返地址(见2.5.3节),和嵌入IPv4地址的IPv6地址(见2.5.4节)的分配在格式前缀空间0000-0000以外。(2)除了组播地址(11111111)外,格式前缀空间001到111,在EUI-64格式中都要求必须有64位接口标识符。参见2.5.1节中的定义。这样的分配方案支持可集聚地址、本地用地址和组播地址的直接分配,并有保留给NSAP地址和IPX地址的空间。其余的地址空间留给将来用。可用于已有使用的扩展(如附加可集聚地址等)或者新的用途(如将定位符和标识符分开)。地址空间的15%是初始分配的,其余85%的地址空间留作将来使用。单播地址和组播地址是由地址的高阶字节值来区分的:值为FF(11111111)标识一个地址为组播地址,其他值则标识一个地址为单播地址。任意点播地址取自单播地址空间,和单播地址在语法上是无法区分的。IPv6链路本地地址和站点本地地址到底有什么用处SiteLocal相当于v4的192.168SiteLocal相当于v4的192.168.xxx.xxx,10.xxx.xxx.xxx,等,不在互联网上路由,其它和全球单薄一样,没差别,只是一个约定abouttheipv6linklocaladdress-_-在ipv6中,有种地址类型叫做linklocal地址,绝对帅气,是在单一链路上使用的地址。自动配置,邻居发现,没有路由器的链路上的节点,甚至留有协议都使用这类地址。任意需要将包发往单一链路上的设备和不希望包发往链路范围外的协议都可以使用linklocal地址。当你配置一个单播IPV6地址的时候,接口上会自动配置一个linklocal地址。格式为:1111111010(前10bit为这个定值,换成16进制为FE80)00000......00000(接着这54bit为0)剩下的64bit为接口地址。于是,从结构上看得出,这个一个平坦的子网,所有的地址都可以说在一个子网里面。来个例子,(LO0)A(E0)----------(E0)B(LO0)让A和B分别学习到对方的LOOPBACK接口,路由协议为RIPNG,但A和B之间的接口只用linkloacl地址。Aipvunicastipvrouterripaaa!inte0ipvaddfe80::1link/手动配置LINKLOCAL地址,并且此接口只配置了这个地址ipvripaaaenablenosh!intloo0ipvadd1::1/64/配置IPV6单播地址,接口上上会自动配置linklocal地址。ipvripaaaenableBipvunicastipvrouterripbbb!inte0ipvaddfe80::2linkipvripbbbenablenosh!intloo0ipvadd2::2/64ipvripbbbenable*************************************************************************************在A上shipvro,查看ipv6路由表:IPv6RoutingTable-5entriesCodes:C-Connected,L-Local,S-Static,R-RIP,B-BGPU-Per-userStaticrouteI1-ISISL1,I2-ISISL2,IA-ISISinterarea,IS-ISISsummaryO-OSPFintra,OI-OSPFinter,OE1-OSPFext1,OE2-OSPFext2ON1-OSPFNSSAext1,ON2-OSPFNSSAext2C1::/64[0/0]via::,Loopback0L1::1/128[0/0]via::,Loopback0R2::/64[120/2]viaFE80::2,Ethernet0/0LFE80::/10[0/0]via::,Null0LFF00::/8[0/0]via::,Null0这个例子中,体现出linklocal的作用,在接口上是会自动配置的。