资料来源:北大青鸟BENET2.0课程第二学期PPT。以下内容经本人总结后作学习交流之用,可随意转载,转载请注明出处!请勿用于商业用途,否则后果自负!!!
IPv6概述
-为什么要使用和研究IPv6,IPv4存在的问题:
地址危机;QoS和性能问题;配置复杂;安全问题;骨干路有表膨胀;移动性支持不够
-针对地址危机临时的解决办法:
l
CIDR:一定程度能节省IPv4地址空间的使用;不能解决IPv4地址短缺
l
NAT:能缓解IPv4地址短缺的问题;一些端到端的应用,如VoIP会出问题;实现复杂,性能下降
l
DHCP:通过释放一段时间不用的IP,能部分缓解IPv4地址短缺;不能解决IPv4的地址短缺
-IPv6的特点:
更大的地址空间;更高效的路由基础;更好的安全性;移动性;更好的QoS
-IPv4和IPv6的包头比较:
l
v6的IP地址变成128位
l
v6首部中没有首部长度字段,因为v6的首部是固定长度
l
v6首部中没有用于分段和重组的字段。V6的分段与重组只发生在源端和目的端,中间结点不再进行分段和重组。v6的分段和重组用的字段位于扩展报头
l
v6首部中没有校验和,校验依靠上层完成
l
v6在扩展首部中标识上层协议
l
v6在扩展首部中还包含加密和身份验证的字段
-IPv6巨大的地址空间:
128位的地址空间有:340282366920938463463374607431768211456个地址
IPv6地址由8个16进制字段构成
-更高效的路由基础:
l
在分配之初就考虑到骨干网汇总的问题,分配IPv6地址的时候,接入骨干网的ISP的地址空间是连续的
l
中间转发的路由器不再作分片和重组的工作:采用路径MTU发现机制,整个链路使用最小MTU发送数据
l
不再使用IPv4中的选项,改为扩展首部:只有在必要的时候路由器才处理扩展首部,而大部分的中间结点不需要检查和处理;IPv6的包头定长,容易硬件实现路由功能;IPv6的首部字段减少,路由器的处理更加高效
-IPv6的安全性:
对于IPv4设备来说,IPSec是可选项;IPSec在IPv6的设备中是必备的;IPv6通过扩展包头来实现IPSec
-IPv6的移动性和QoS:
IPv4设计时并未考虑移动;IPv6设计时就考虑到对移动特性的支持;IPv6引入“流”的概念提供对QoS的内置支持
-流(flow)
从一个特定源发向一个特定(单播或者组播)目的地的包序列,源点希望中间路由器对这些包进行特殊处理;IPv6利用流类别、流标签实现了强大的QoS
-IPv6的地址标识:
将每段转换为十六进制数,并用冒号隔开:
例:2001:0410:0000:0001:0000:0000:0000:45ff //RFC2373中定义的首选格式
压缩表示:
去掉不必要的0:
例:2001:410:0:1:0:0:0:45ff
::表示多个连续的0:
例:2001:410:0:1::45ff //::在整个地址中只能出现一次
-IPv6的全局单播地址:
l
相当于IPv4的公网IP
l
首部3位001
l
45位Global Routing Prefix可以反映全球ISP的层次结构:TLA ID顶级汇聚标识符;Res为未来扩展TLA ID或NLA ID的长度而保留的位;NLA ID下一级汇聚标示符
l
SLA ID站点汇聚标识符
l
接口表识位64位
-IPv6地址分配机构:
目前由IANA负责进行IPv6地址的分配,主要由三个地方组织来执行:
l
欧洲地区的RIPE-NCC([url]www.rip.net[/url])
l
北美地区的INTERNIC([url]www.internic.net[/url])
l
亚太地区的APNIC([url]www.apnic.net[/url])
-链路本地地址:
l
每个设备的接口在启动IPv6的时候会自动配置一个链路本地地址。
l
IPv6的“邻居发现”机制要用到IPv6的脸露本地地址:IPv6中没有了广播,IPv4中的ARP在IPv6 中不能工作,“邻居发现”是IPv6中和IPv4的ARP对应的寻址机制。
l
链路本地地址以:“FE80”开头。
l
Interface ID是通过EUI-64自动生成。
l
路由器决不会转发链路本地地址
-站点本地地址:
相当于IPv4中的私网地址;不会路由到公网上;前缀为FEC0::/10;用于打印机,交换机的管理地址等;在IPv6大规模实现时,站点本地地址将不复使用。
-特殊IPv6地址:
为制定地址:0:0:0:0:0:0:0:0或::相当于IPv4的0.0.0.0
环回地址(0:0:0:0:0:0:0:1或::1)表识一个环回接口,相当于IPv4的127.0.0.1
-兼容地址:
与IPv4兼容的地址:0:0:0:0:0:0:w.x.y.z或::w.x.y.z
IPv4映射地址:0:0:0:0:0:FFFF:w.x.y.z或::FFFF:w.x.y.z
6to4地址用于IPv4的网络上传送IPv6的包
其他
-组播的特点:
任何节点能是一个组播组的成员;一个源节点可以发送数据包到组播组;组播组的所有成员收到发往该组的数据包;组播地址在IPv6包中不能用作源地址或出现在任何选路头中
-组播结构:
l
IPv6中的组播地址结构,其最高位前8位为1
l
Flags字段四位,目前只用了最后一位。此位为0,则是一个永久组播地址,1是临时组播地址
l
范围(scope):0:预留;1:节点本地范围;2:本地链路范围;5:本地站点范围;8:组织本地范围;E:全球范围;F:预留
-IPv6的任播地址:
l
任播地址是IPv6特有的地址类型,它用来标识一组网络接口
l
路由器会将目标地址是任播地址的数据包发送给距离本路由器最近的一个网络接口(一对一组中的一个)
l
任播地址不能用作IPv6包的源地址
l
如果一个全局单播地址被指定给多于一个接口,那么该地址就成为了任播地址
l
源节点不需要关心如何选择最近的任播节点,这个工作由路由系统完成
l
当路由发生变化时,发往同一个人播地址的包可能会被发往不同的任播节点
l
目前,任播地址不能指定给IPv6主机,只能指定给IPv6路由器
-IPv4和IPv6对比和总结:
项目
|
IPv4
|
IPv6
|
Broadcast
|
在同一个广播域中所有主机都会收到影响,或者给与回复;可能使得整个局域网瘫痪(广播风暴)
|
没有广播类型,
IPv4
的广播功能在
IPv6
中被组播取代
|
Multicast
|
有效利用了网络的带宽并且没有影响到不需要的主机
|
有丰富得多的组播类型
|
Unicast
|
用于一对一的通信
|
用于一对一的通信
|
Anycast
|
没有任播类型
|
用于标识一组网络接口,目前只用于路由器
|
-三种方式可以生成IPv6的接口标识:
l
由扩展唯一标识符EUI-64培生出来的64位接口标识符
l
随即生成的接口标识符随时间而更改,以提供一定的隐蔽性
l
在全状态地址自动配置过程中分配的接口标识符(IPv6的DHCP)
-基于EUI的接口标识符:
统一/本地(U/L);个体/组(I/G)
先将MAC一分为二;中间填入0xFF 0xFE,得到EUI-64;将U/L位取反,最后得到IPv6接口标识符
-临时地址接口标识符:
从存储中检索历史信息值,取适配器的EUI-64地址
根据步骤1中的两个值通过哈希算法(MD5)计算出一个固定的值
将步骤2种计算出的MD5哈希的最后64位保存为历史信息值,用于下一次接口标识符计算
取出步骤2中计算出的MD5哈希的前64位,并将第七位设为0。第七位对应于U/L位,该位设置为0时表示一个本地管理的IPv6接口标识符,得到的结果就是IPv6接口标识符
* IPv6的DHCP自动分配的接口标识符
-过渡技术:双协议栈
双协议栈的应用:双协议栈可以实现IPv4和IPv6流量的各自独立通信
-过渡技术:隧道技术
隧道技术:隧道可以在IPv6的包穿越IPv4的网络之前给IPv6的数据包头再封装一个IPv4的头部
-过渡技术:地址转换
IPv6网络节点和IPv4网络节点通过NAT-PT通信
-IPv6的配置:
Router(config)#ipv6 unicast-routing //开启IPv6的流量转发功能
Router(config-if)#ipv6 address ipv6-address/prefix-length //配置接口的IPv6地址
Router(config)#ipv6 router rip name //启用路由上IPv6的rip路由协议
Router(config-if)#ipv6 rip name enable //在接口上应用IPv6的RIP协议
Router(config)#show ipv6 interface brief //查看IPv6地址的接口摘要信息
Router#show ipv6 route //查看IPv6的路由表
*以上资料纯手工总结,难免有错误出现,欢迎指正和提出宝贵意见!!!