IPv6地址分类工程4项目1第24讲本讲内容IPv6概述IPv6地址结构IPv6数据报格式操作系统对IPv6的支持Page31.1IPv6概述1.1IPv6概述本节主要从IPv6协议产生的背景及其特点等方面对IPv6协议进行一个概括性的论述。IPv6产生背景1990s,随着互联网的蓬勃发展,IETF开始研究IPng的制订1990s,IP与ATM的大战以IPv4协议胜出,IP成为多业务融合的基础1990s,互联网地址的使用者由大型机到PC再到PDA、汽车、手机、家用电器等、无线传感器等1994年7月,IETF采纳SIPP作为IPng基础,并称为IPv6版本协议,主要侧重网络的容量和性能1998年12月,定义了IPv6基本体系结构的RFC2460发布IPv6协议不仅仅是为网络上的计算机设计的,IPv6应用于所有的通信设备,如手机、无线设备、电话、PDA、电视、广播等IPv6发展历程98年以前,IPv4与ATM大战正酣,IPv6未受多少关注,全球只有少数实验网2000年以前,由于IPv6与IPv4技术不兼容,加上IPv6需求不迫切,市场不成熟,厂商在IPv6产品开发方面也重视。3GPP决定WCDMARe15采用IPv6,商用IPv6网进入议事日程随着IPv4地址的越趋紧张,亚太地区首先加大了对IPv6的关注和投资力度,建立了很多IPv6实验网6bonenet,日本NTT,中国CNGI,CERNET2,IPv6进入商用的高速发展期中国大力推广IPv6驻地网建设NAT争议NAT破坏了IP的端到端模型NAT阻止了端到端的网络安全NAT不友好的应用NAT的效率NAT内部空间地址冲突IPv6技术特点128比特地址方案,为将来数十年提供了足够的IP地址巨大的地址空间为数十亿新设备提供了全球唯一地址多等级层次有助于路由聚合,提供了路由的效率和可扩展性使具有严格路由聚合的多点接入成为可能自动配置允许IPv6网络中节点配置他们自己的IPv6地址重新编址机制使得IPv6ISP的转换对最终用户透明ARP广播被本地链路多播替代IPv6包头比IPv4包头更有效率,数据字段更少,去掉包头校验和新的扩展包头替代了IPv4包头的选项字段,并提供了更多灵活性流标记字段提供了更好的流量区分手段,从而提供更好的QOS能够更有效的处理移动性和安全机制Page81.2IPv6地址结构本节将对IPv6地址表示及IPv6地址分类及IPv6基本配置等内容加以介绍。1.2.1IPv6地址的表示方法IPv4地址表示:单字节四分节点号十进制二进制:10101100000100000000000100000001十进制:172.16.1.1IPv6地址表示:双字节八分节冒号十六进制–首选格式:IPV6地址的表示采用16进制的表示方法。将128bit分为8组,每组16比特,用4个16进制数表示,各组之间用“:”隔开,如FEDC:BA98:7654:3210:FEDC:BA98:7654:3210–压缩格式:•前导0压缩:每组中最前面的0可以省略,如1080:0000:0000:0000:0008:0800:200C:417A可以压缩为1080:0:0:0:8:800:200C:417A•组压缩:在IPV6地址段中有时会出现连续的几组0,这时这些0可以用“::”代替,但一个地址中只能出现一次“::”。如FF01:0:0:0:0:0:0:101可以压缩为FF01::101IPv6地址压缩表示举例IPv6地址的组压缩表示:2001:0410:0000:0010:0000:0000:0000:45ff压缩前导0:正确表示2001:410:0:10:0:0:0:45ff错误表示2001:41:0:1:0:0:0:45ff压缩组:连续的0分节可以省略,但只能使用一次正确压缩:2001:0410:0000:0010::45ff错误压缩2001:0410::0010::45ff错误!注意:压缩组和压缩前导0可以同时使用,如2001:410:0:10::45ff1.2.2IPv6地址的类型按寻址方式和功能的不同,IPv6地址有3种基本类型——分别为单播地址(UnicastAddress)、任播地址(AnycastAddress)和多播地址(MulticastAddress)。1.单播地址单播地址是单个网络接口的标识,以单播地址为目的地址的数据报将被送往由其标识的唯一的网络接口上。单播地址的地址层次结构在形式上与IPv4的CIDR地址结构十分相似,它们都有任意长度的连续地址前缀。IPv6单播地址又具有如下几种形式:全局单播地址(GlobalUnicastAddresses)不确定地址(UnspecifiedAddress)回环地址(LoopbackAddress)内嵌IPv4地址的IPv6地址(IPv6AddresseswithEmbeddedIPv4Addresses)链路本地地址(Link-LocalAddresses)站点本地地址(Site-LocalAddresses)下面将对上面的几种地址做较为详细的介绍。(1)全局单播地址全局单播地址是IPv6中使用最广泛的一种地址,一个典型的IPv6的地址结构由3部分组成,具体为全局路由前缀(GlobalRoutingPrefix)、子网标识符(SubnetID)和接口标识符(InterfaceID).目前的全球单播地址由IANA(TheInternetAssignedNumbersAuthority,互联网数字分配机构)分配,使用的地址范围是从二进制值001(2000::/3)开始,它占全部IPv6地址空间的1/8,是最大的一块分配地址,有效地址范围前缀(2000-3FFF)。但是目前只分配了2001::/16,2002::/16,3FFE::/16三个地址段。除了以000(二进制表示,主要包括回环地址::1/128、不确定地址::/128及IPv4兼容地址::/96等)为前缀的地址外,RFC3513建议所有的单播地址的接口标识符都是64位长,并采用修改了的EUI-64格式,即建议n+m=64。001:格式前缀,用于区别其它地址类型TLAID:13位,TopLevelAggregator,顶级聚合体Res:8位保留位,以备将来TLA或NLA扩充NLAID:24位,NextLevelAggregator,下级聚合体SLAID:16位,SiteLevelAggregator,节点级聚合体主机接口ID:64位。TLA、NLA、SLA三者构成了自顶向下排列的三个网络层次。TLA是与长途服务供应商和电话公司相互连接的公共骨干网络接入点,其ID的分配由国际Internet注册机构IANA严格管理。NLA通常是大型ISP,它从TLA处申请获得地址,并为SLA分配地址。SLA也可称为订户(subscriber),它可以是一个机构或一个小型ISP。SLA负责为属于它的订户分配地址。SLA通常为其订户分配由连续地址组成的地址块,以便这些机构可以建立自己的地址层次结构以识别不同的子网。主机接口ID:分层结构的最底层是64位的主机接口ID。单播地址的分层结构全球单播地址通常由48位全球路由前缀和16位子网ID组成。各组织可以使用16位子网字段创建自己的本地编址架构。此字段允许组织使用最多65,535个子网。IANA将2001::/16范围内的IPv6地址空间分配给五家RIR注册机构(ARIN、RIPE、APNIC、LACNIC和AfriNIC)。平顶山学院IPv6地址为:2001:250:4814::/482002::/166to4隧道地址,使得在IPv4海洋中的IPv6孤岛能相互连接。3FFE::/166bone地址,用于对IPv6进行测试的网络。IPv6的URL表示:HTTP://[IPv地址]:端口号/文件路径名单播地址的分层结构具体划分(2)不确定地址0:0:0:0:0:0:0:0或::的地址称为不确定地址,该地址不能分配给任何节点,它的一个应用示例是初始化主机时,在主机未取得自己的地址以前,可在它发送的任何IPv6数据包的源地址字段放上不确定地址。不确定地址不能在IPv6包中用作目的地址,也不能用在IPv6路由报头中,IPv6路由器不会转发含有不确定地址的IPv6数据包。(3)回环地址0:0:0:0:0:0:0:1或::1的地址称为回环地址,节点用它来向自身发送IPv6数据包,它不能分配给任何物理接口,它相当于IPv4的回环地址127.0.0.1。发向回环地址的数据报不会在一个链路上发送,也不会被IPv6路由器转发。(4)内嵌IPv4地址的IPv6地址为了支持IPv4向IPv6过渡,在IPv6相关的RFC3513和RFC4291文档中定义了两种内嵌IPv4地址的IPv6地址:一种称作兼容IPv4的IPv6地址(IPv4-compatibleIPv6Address);另一种称作映射IPv4的IPv6地址(IPv4-mappedIPv6Address)。①兼容IPv4:将96位0的前缀加在32位的IPv4地址前就构成了兼容IPv4的IPv6地址,该地址的前80位都是0,第81~96位是0000,最低32位是IPv4地址,兼容IPv4的IPv6地址通常将两个冒号和IPv4的点分十进制记法结合,将地址表示成::a.b.c.d的形式,其中a.b.c.d为IPv4的地址,其格式如下图所示。兼容IPv4的IPv6地址的格式②映射IPv4:映射IPv4的IPv6地址用于把IPv4地址映射为IPv6地址,它的格式与兼容IPv4的IPv6地址的格式类似,只是第81~96位是ffff,映射IPv4的IPv6地址的表示形式常常是0:0:0:0:ffff:a.b.c.d或::ffff:a.b.c.d,其格式如下图所示。映射IPv4的IPv6地址的格式(5)链路本地地址链路本地地址用于同一链路上的邻居之间的通信,由格式前缀1111111010即fe80::/10标识,它的作用域是本地链路,其格式如下图所示。本地地址的格式链路本地地址对于邻居发现过程是必需的,并且总是自动配置的,甚至在没有其他任何单播地址时也是如此。链路本地地址总是以fe80开始。因为有64位的接口标识符,所以链路本地地址的前缀总是fe80::/64。IPv6路由器不会转发含有链路本地地址的源或目的地址的数据包到其他链路。链路本地一般不需要配置就可以使用EUI-64方式自动生成。当然也可以使用命令ipv6addressipv6-prefix/prefix-lengthlink-local手工配置,但是地址一定要以FE80开头。11111110100接口ID10位54位64位(6)站点本地地址站点本地地址用于同一机构中的节点之间的通信,其地址由格式前缀1111111011来标识,即FEC0::/10,如下图所示。站点本地地址的格式站点本地地址相当于IPv4的私有地址空间(10.0.0.0、172.16.0.0和192.168.0.0)。这样,没有直接连接到IPv6Internet路由的私有内部网就可以使用本地站点地址,从而不会与全球地址发生冲突。站点本地地址对于外部站点是不可达到的,并且路由器不能把本地站点的数据包转发到此站点以外。站点本地地址的作用范围是该站点内部。与链路本地地址不同,站点本地地址不是自动配置的,它必须通过无状态或有状态的地址自动配置方法来进行指派。1111111011子网ID接口ID10位54位64位2.泛/任意播地址:这种类型的地址是一组接口的地址,一个IPv6单播地址被分配给一组接口。发送到一个泛播地址的信息包只会发送到这组地址中的一个(根据路由距离的远近来选择)。目前,泛播地址仅被用做目标地址,且仅分配给路由器。不仅IPv6有任播,而且IPv4也有任意播。它使用任播地址进行最佳路由查询。IPv6单播地址和泛播地址地址是相同的范围,要区分单播地址和