IPv6学习笔记.doc
《IPv6学习笔记.doc》由会员分享,可在线阅读,更多相关《IPv6学习笔记.doc(15页珍藏版)》请在冰豆网上搜索。
IPv6学习
一、 IPv4的局限性 1
二、 IPv6优点 1
三、 IPv6Internet协议(RFC2460) 3
1、 IPv6首部格式 3
2、 IPv6扩展首部(RFC1883) 4
四、 IPv6地址的表示方法(RFC2373) 7
1、 IPv6地址的文本表示 7
2、 IPv6地址前缀的文本表示 8
五、 IPv6地址的划分(RFC2373、2374) 9
1、 任意点播地址(AnycastAddresses) 10
2、 组播地址(MulticastAddresses) 11
3、 单播地址(UnicastAddresses) 12
六、 IPV6无状态地址自动配置(RFC2462) 13
1、 接口标识符的生成(从MAC地址到IPv6地址) 13
七、 IPV6有状态地址自动配置(DHCP等相关协议RFC) 14
八、 IPv4/IPv6双栈方法 14
九、 附录:
14
一、IPv4的局限性
IPv4协议是目前广泛部署的网络协议,但是随着因特网的发展,IPv4有以下局限性
l地址空间匮乏:
IP地址为32位长,地址数最多大概43亿个地址数。
l骨干路由器路由表项过大:
由于IPv4网络的分配规划问题,许多IPv4地址块分配不连续,不能有效的聚合路由,造成路由表项越来越大。
l安全性:
IPv4网络的安全性由网络上层负责,不支持端到端的安全。
二、IPv6优点
IPv6优点如下:
lIP地址长度扩展为128位
地址长度由32位扩大到128位,地址数43亿*43亿*43亿*43亿。
同时取消了广播地址而已组播地址替代,避免无用信息在网络中循环,造成资源浪费。
l简化的包头格式
Ipv4包头长度在20字节到60字节之间,节点处理要判断包头的长度;IPv6包头固定长度为40字节,能够通过硬件处理包头来加快选路速度,提高效率。
l增强对扩展和选项的支持
IPv4在IP头的尾部加入选项,而IPv6把选项加在单独的扩展头中,放在净荷中。
即选项投只有在必要的时候才需要检查。
l融合多项技术:
流标签选项,提供流qos;提供省份验证和保密,IPsec功能;
l支持IP地址的自动配置
IPv6支持在不使用地址配置协议(如DHCPv6)的情况下能够对自己进行地址配置。
l移动IP
移动IPv6的主要目标就是使得移动节点总是通过家乡地址寻址,不管是连接在家乡链路还是移动到外地网络。
移动IPv6对于IP层以上的协议层是完全透明的,这使得移动节点在不同子网间移动时,运行在该节点上的应用程序不需修改或配置仍然可用。
三、IPv6Internet协议(RFC2460)
1、IPv6首部格式
关键字说明:
关键字
占用bit数
值/说明
Version
4
6,Internet协议版本号
TrafficClass
8
传输类别字段
FlowLabel
20
数据流标签
PayloadLength
16
无符号整数,IPv6有效载荷长度,也就是以八位组为单位,在这个包中IPv6首部后面的其余部分的长度
NextHeader
8
标识紧接在IPv6首部后面的下一个首部的类型
HopLimit
8
无符号整数,在每个传输此包的节点处递减1。
如果跳数限制减为零,就抛弃此包
SourceAddress
128
源地址
DestinationAddress
128
目的地址
IPv6首部实例
2、IPv6扩展首部(RFC1883)
在IPv6里,可选的网络层信息在一个独立的首部编码,放在包中IPv6首部与上层协议首部之间。
有这样几个为数不多的扩展首部,每个首部由不同的"下一个首部"的值来标识。
一个IPv6首部可以携带零个,一个或者更多的扩展首部,每个扩展首部由前一个首部中的"下一个首部"字段标识。
(1)扩展首部介绍及其顺序
当在同一个包中使用多于一个扩展首部时,建议以如下顺序排列这些首部:
A.IPv6首部
B.逐跳选项首部(Hop-by-HopOptionsheader)
此扩展头必须紧随在IPv6头之后,它包含包所经路径上的每个节点都必须检查的可选数据。
到目前为止,只定义了一个选项:
巨型净荷选项。
该选项指明,此包的净荷长度超出了IPv6的16位净荷长度字段。
只要包的净荷(包括逐跳选项头)超出65535字节,就必须包含该选项。
如果节点不能转发此包,则必须返回一个ICMPv6出错报文。
C.目的地址选项首部(DestinationOptionsheader)
此扩展头包含只能由最终目的地节点所处理的选项。
目前,只定义了填充选项,将该头填充为64位边界,以备将来所用。
D.路由首部(Routingheader)
此扩展头指明包在到达目的地途中将经过的特殊的节点。
它包含包沿途经过的各节点的地址列表。
IPv6头的最初目的地址不是包的最终目的地址,而是选路头中所列的第一个地址。
此地址对应的节点接收到该包后,对IPv6头和选路头进行处理,然后将
包发送到选路头列表中的第二个地址。
如此继续,直至该包到达最终目的地。
E.分片首部(Fragmentheader)
此扩展头包含一个分段偏移值、一个“更多段”标志和一个标识字段,用于源节点对长度超出源端和目的端间路径MTU的包进行分段。
F.认证首部(Authenticationheader)
此扩展头提供了一种机制,对IPv6头、扩展头和净荷的某些部分进行加密的较验和计算。
G.封装安全有效载荷首部(EncapsulatingSecurityPayloadheader)
这是最后一个扩展头,不进行加密,它指明剩余的净荷已经加密,并为已获得授权的目的节点提供足够的解密信息。
H.目的地址选项首部
I.上层协议首部(upper-layerheader)
(2)扩展首部字段值及在报文中的存放
(3)IPv6选项说明
IPv6选项包含如下三个字段:
A.选项类型:
该字段为8位标识符,指明选项的类型。
字段的前2位表示目的节点在不能识别特定的选项时应该采取的动作,共有如下四种选项类型:
00:
忽略此选项,完成对扩展头其余部分的处理。
01:
丢弃整个包。
10:
丢弃包,不论该包的目的地址是否是组播地址,都向该包的源地址发送一个ICMP报文。
11:
丢弃包,如果该包的目的地址是单播地址或任意点播地址(即非组播地址),则向该包的源地址发送一个ICMP报文。
第3位指明在包从源地址到目的地址的传送过程中,选项数据的值是否可以改变。
若为0,则不允许改变;若为1,则选项数据是可变的。
B.选项数据长度:
该字段为8位整数,表示选项数据字段的长度。
该字段最大值为255。
C.选项数据:
该字段包含选项特定的数据,最大长度为255字节。
四、IPv6地址的表示方法(RFC2373)
1、IPv6地址的文本表示
用文本串表示的IPv6地址有三种规范形式:
(1)优先选用的形式为x:
x:
x:
x:
x:
x:
x:
x,其中x是8个16位地址段的十六进制值。
例如:
FEDC:
BA98:
7654:
3210:
FEDC:
BA98:
7654:
3210
1080:
0:
0:
0:
8:
800:
200C:
417A
个别字段中前面的0可以不写,但是每段必须至少有一位数字。
(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.3
0:
0:
0:
0:
0:
FFFF:
129.144.52.38
写成压缩形式为:
:
:
13.1.68.3
:
:
FFFF.129.144.52.38
2、IPv6地址前缀的文本表示
IPv6地址前缀的表示方式和IPv4地址前缀在CIDR中的表示方式很相似。
一个IPv6地址前缀可以表示为如下的形式:
IPv6地址/前缀长度
其中,IPv6地址是前面三种形式的任何形式的IPv6地址。
而前缀长度是组成前缀的十进制值,说明地址最左边的连续的地址位的长度。
例如,60位长的前缀12AB00000000CD3(十六进制)可用下面的合法格式来表示:
12AB:
0000:
0000:
CD30:
0000:
0000:
0000:
0000/60
12AB:
:
CD30:
0:
0:
0:
0/60
12AB:
0:
0:
CD30:
:
/60
但是,下面的表示方式是不合法的。
12AB:
0:
0:
CD3/60在任何一个16位段的地址块中,可以省略前部的0。
但不能省略尾部的0。
12AB:
:
CD30/60/左边的地址会展开成
12AB:
0000:
0000:
0000:
0000:
000:
0000:
CD30
12AB:
:
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/60
五、IPv6地址的划分(RFC2373、2374)
IPv6地址整体划分为三种:
单播地址(UnicastAddresses)、任意点播地址(AnycastAddresses)和组播地址(MulticastAddresses)。
不再有广播地址。
一个IPv6地址的具体类型是由地址的前面几位来指定的。
包含这前面几位的可变长度字段称为格式前缀(FP)。
这些前缀的初始分配如下:
分配前缀(二进制)占地址空间的百分率
————————————————————————————
保留000000001/256
未分配000000011/256
为NSAP地址保留00000011/128
为IPX地址保留00000101/128
未分配00000111/128
未分配000011/32
未分配