基本概念
IPv4现状
公网地址枯竭
包头设计不合理
路由表过大,查表效率低
对ARP的依赖,导致广播泛滥
IPv6现状
“无限”地址
地址层次化分配
即插即用
简化的报文头部
IPv6安全特性
保证端到端通信完整性
对移动性的支持
增强的QoS特性
IPv4和IPv6报头改进
取消三层校验:协议栈中的二层和四层已提供校验,节省路由器处理资源。
取消中间节点的分片功能:中间路由器不再处理分片,只在产生数据的源节点处理。
定长的IPv6报头:有利于硬件的快速处理,提高路由器转发效率。
安全选项的支持:IPv6提供了对IPsec的完美支持。
增加流标签:提高QoS效率。
过渡技术
IPv4网络演变为IPv6网络主要有以下三种技术:
双栈技术:在一台设备上同时启用IPv4协议栈和IPv6协议栈的技术。
隧道技术:将一种协议的数据封装在另一种协议中的技术。
转换技术:将IPv6地址和IPv4地址进行转换的一种技术。
IPv6路由协议
OSPF v3版本是支持IPv6,与OSPF v2不兼容
ISIS通过扩展TLV来支持IPv6特性
BGP通过扩展NLRI等来支持IPv6特性
PIM协议本身就支持IPv6版本
MLDv1(组播侦听者发现协议),对应IGMPv2
MLDv2,对应IGMPv3
地址介绍
首选格式
冒号分割为8段,每一段16bit,每一段内用十六进制表示。
用“IPv6地址/掩码长度”的方式来表示。
例如:2001:0DB8:0000:0001:0000:0000:0000:45ff/64。
压缩格式
每段前导0可以省略,但是如果该段为全0,则至少保留一个“0”字符;拖尾的0不能被省略。
一个或多个连续的段为全0时,可用“::”表示,整个IPv6地址缩写中只允许有一个“::”。
例如:2001:DB8:0:1::45ff/64。
内嵌IPv4地址的格式
地址的前96bit为IPv6地址格式,后32bit为IPv4地址格式。
IPv6部分可采用首选或压缩格式,IPv4部分采用点分十进制格式。
例如:0:0:0:0:0:0:166.168.1.2/64。
一个IPv6地址可以分为如下两部分:
网络前缀:nbit,相当于IPv4地址中的网络ID。
接口标识:(128-n)bit,相当于IPv4地址中的主机ID。
网络前缀
接口标识
接口ID可通过三种方式生成:手工配置、系统自动生成,或基于IEEE EUI-64规范生成
EUI-64:根据MAC地址生成唯一的接口ID
1.在MAC地址中间插入FFFE
2.MAC地址第7bit取反
注:MAC地址的第7bit 取值为0 表示MAC地址全局唯一(全球唯一),取值为1 表示本地唯一
地址类型
单薄地址
标识一个接口,目的地址为单播地址的报文会被送到被标识的接口。
全球单播地址:类似于IPv4的公网地址,要求全球唯一。
前缀 48bit ISP分配
子网ID 16it
接口 ID 64bit
唯一本地地址:类似于IPv4的私网地址,但是该地址也是全球唯一。用于私网网络本地管 理使用。FC00::/7。分为FD00/8和FC00/8
1.网络前缀:固定部分 7bit
2.global ID :40 bit 通告伪随机算法生成唯一的值(向IA NA 申请)
3. 私网ID
4.接口标识
链路本地地址:该地址在IPv6启动后自动生成,可以实现单链路的天然通信能力,但是该 地址只能在链路上生效,不能跨链路通信,不能被路由。一般用于链路上的IPv6邻居发现 (NDP:邻居状态追踪,地址解析,DAD等),以及用做IPv6路由协议比如OSPFv3, RIPng 等协议的下一跳。全球知名前缀FE80::/10
注:华为设备自动产生链路地址的前提:接口必须存在其他单薄地址
组播地址
标识多个接口,目的地址为组播地址的报文会被送到被标识的所有接口。固定为全球知名前缀FF00::/8
Flags:标志位 0000表示永久组播地址 ;0001表示临时组播地址
Scope:表示组播组范围
0:预留;
1:节点本地范围;单个接口有效,仅用于Loopback通讯
2:链路本地范围;例如FF02::1
5:站点本地范围;
8:组织本地范围;
E:全球范围;
F:预留。
Group ID:组播组ID
组播MAC地址
组播MAC的前16bit为“33:33”,是专门为IPv6组播预留的MAC地址前缀。后32bit从组播IPv6地址的后32bit直接映射而来。
被请求节点组播地址
当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。该地址主要用于邻居发现机制和地址重复检测功能。被请求节点组播地址的有效范围为本地链路范围。
任播地址
任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。
作用:路由器收到任播地址后,会将其转发给离自己最近(路由层面的最近)的任播地址设备
注:IPv6没有广播地址
地址规划
报文结构
IP报文一般由三个部分组成:
基本报头:提供报文转发的基本信息,固定为40B
扩展报头:提供一些扩展的报文转发信息
上层协议数据单元:一般由上层协议报头和它的有效载荷构成
基本报头
▫该字段规定了IP协议的版本,其值为6。长度为4bit。
•流类别(Traffic Class)
▫该字段功能和IPv4中的服务类型功能类似,表示IPv6数据报文的类或优先级。长度为8bit。
•流标签(Flow Label)
▫与IPv4相比,该字段是新增的。它用来标识这个数据报属于源节点和目标节点之间的一个特定数据报序列,它需要由中间IPv6路由器进行特殊处理。该字段长度为20bit。一般来说一个流可以通过源/目的IPv6地址和流标签来确定。
•有效载荷长度(Payload Length)
▫该字段表示IPv6数据报有效载荷的长度。有效载荷是指紧跟IPv6报头的数据报的其它部分(即扩展报头和上层协议数据单元)。该字段长度为16bit,能表示最大长度为65535Byte的有效载荷。如果有效载荷的长度超过这个值,该字段会置0,而有效载荷的长度用逐跳选项扩展报头中的超大有效载荷选项来表示。
•下一个报头(Next Header)
▫该字段定义紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型,或者上层协议数据单元中的协议类型。该字段长度为8bit。
•跳数限制(Hop Limit)
▫该字段类似于IPv4中的TTL(Time to Live)字段。它定义了IP数据报所能经过的最大跳数。每经过一个路由器,该数值减去1,当该字段的值为0时,数据报将被丢弃。该字段长度为8bit。
•源地址(Source Address)
▫表示发送方的地址,长度为128bit。
•目的地址(Destination Address)
表示接收方的地址,长度为128bit。
扩展报头
逐跳选项报头(0):传输路径的每一个节点都需要处理,主要用于巨型载荷、设备提示、资源预留
目的选项报头(60):目的地处理, 可包含多种选项,如Mobile IPv6的家乡地址选项。
路由报头(43):指定源路由,类似IPv4源路由选项,IPv6源节点用来指定信息报到达目的地的路径上所必须经过的中间节点。
分段报头(44):IP报文分片信息,只由目的地处理。
认证报头(51):IPSec用扩展头, 只由目的地处理。
封装安全净载报头(50):IPSec用扩展头,只由目的地处理。
扩展报头规约
扩展报头必须按如左排列的顺序出现。
除目的选项报头外,每种扩展报头只能出现一次。
目的选项头最多出现2次,1次在路由报头之前,1次在上层协议数据报文之前,如果没有路由报头,则只能出现一次。
基本报头、扩展报头和上层协议数据报文的相互关系举例如下:
基础配置
[<Huawei> system-view
[Huawei] ospfv3 [ process-id ]
[Huawei-ospfv3-1] router-id router-id
[Huawei] interface interface-type interface-number
[Huawei-GigabitEthernet1/0/0] ospfv3 process-id area area-id
扩展
链路本地地址
Link-Local 地址是IPv6 单播地址中的链路本地地址,可以实现单链路的天然 通信能力,所以可以作为路由协议的下一跳,比较稳定,还可以作为发送协议报 文的源地址,但是该地址只能在链路上生效,不能跨链路通信,不能被路由。
Qos
IPv6 的QoS和IPv4的QoS的区别
IPv6通过流标签唯一确定一条数据流
IPv4通过五元组唯一确定一条数据流,需要上交传输层进行处理,会消耗设备性能
总结:IPv6可以更好的 QoS操作。