All Rights Reserved by BII Group
IPv6的基本协议框架马旻
mma@biigroup.com
天地互连信息技术有限公司
All Rights Reserved by BII Group
议程
链路层协议对 IPv6的标识
IPv6 协议分析
ICMPv6 协议分析
All Rights Reserved by BII Group
议程
链路层协议对 IPv6的标识
IPv6 协议分析
ICMPv6 协议分析
All Rights Reserved by BII Group
链路层协议对 IPv6的标识
Ethernet
Ethernet II 或 802.2 SNAP 类型值 0X86DD
ATM PVC
AAL5为默认的适配层服务协议 AAL5
LLC/SNAP封装 类型值 0X86DD
All Rights Reserved by BII Group
链路层协议对 IPv6的标识
PPP
LCP 和 认 证阶段不做改变
NCP 阶段为 IPv6CP 协议字段值 0X8057
自动协商产生唯一的 Interface-Identifier
对于 Dial-up 用户,NAS 仅分配 IPv6的前缀
1)无状态的自动地址配置
2) 前缀委派 ( DHCPv6 )
对于 Radius 增加 IPv6 相关属性,参见 RFC3162
All Rights Reserved by BII Group
链路层协议对 IPv6的标识
Frame Relay PVC
网络层协议 ID NLPID 0x8E
1) 反向邻居发现 IND( RFC3122)
2) 手工 MAP
R2
Frame Relay
DLCI=110
FE80::A8BB:CCFF:FE00:C01
3ffe:1234:5678::1/64
DLCI=120
pvc
DLCI=110
R1
R3
DLCI=120
R1:
interface serial 0
ipv6 enable
encapsulation frame-relay
frame-relay map ipv6 FE80::A8BB:CCFF:FE00:C01 120
frame-relay map ipv6 3ffe:1234:5678::1 120
All Rights Reserved by BII Group
链路层协议对 IPv6的标识
MPLS
RFC3032 规定标记空间的 0-3 为预定义,
其中标记值 2 代表 IPv6 Explicit Null Label
位于栈底,动作为弹栈,根据 IPv6报头做进一步转发。
应用,IPv6 Tunnels over IPv4 MPLS
第二层报头 外部标签 内部标签 ( 2) IPV6 报文
All Rights Reserved by BII Group
议程
链路层协议对 IPv6的标识
IPv6 协议分析
ICMPv6 协议分析
All Rights Reserved by BII Group
IPv6和 IPv4协议报文格式和功能比较
IPv4 报头
20 个字节 + 选项,13 字段,包括 3 个指针
032
Ver IHL Total Length
Identifier Flags Fragment Offset
32 bit Source Address
32 bit Destination Address
48 2416
Service Type
Options and Padding
Time to Live
Header Checksum
Protocol
阴影部分是从 IPv6报头中去掉的字段
All Rights Reserved by BII Group
IPv6和 IPv4协议报文格式和功能比较
IPv6 报头
40 字节,8 个字段
0 32
Version Class Flow Label
Payload Length Next Header Hop Limit
128 bit Source Address
128 bit Destination Address
412 2416
All Rights Reserved by BII Group
IPv6地址的文本表示
128位,8 个冒号分开的段,16进制书写每个 16位分段
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
?1080::8:800:200C:417A (省略连续 0)
0:0:0:0:BA98:7654:0:0 (省略前导 0)
?::BA98:7654:0:0
?0:0:0:0:BA98:7654::
?::BA98:7654:,(双冒号只能用一次)
地址前缀的表示地址 /前缀长度
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
All Rights Reserved by BII Group
IPv6地址的分类
单播( Unicast):仅标识一个接口的地址
组播( Multicast):标识一组接口的地址,发往多播地址的包会传递给由该地址标识的所有接口
联播( Anycast):标识一组接口的地址,发往联播地址的包会按照路由协议对于距离的度量标准,传递给由该地址标识的所有接口中距离原地址最近的那个接口,地址格式同单播
IPv6中没有广播地址( Broadcast Address),
它的功能由组播地址实现
All Rights Reserved by BII Group
分配情况 前 缀(二进制) 所占比例
Unassigned (*) 0000 0000 1/256
Unassigned 0000 0001 1/256
Reserved for NSAP Allocation 0000 001 1/128
Unassigned 0000 01 1/64
Unassigned 0000 1 1/32
Unassigned 0001 1/16
Aggregatable Global Unicast Addresses 001 1/8
Unassigned 010 1/8
Unassigned 011 1/8
Unassigned 100 1/8
Unassigned 101 1/8
Unassigned 110 1/8
Unassigned 1110 1/16
Unassigned 1111 0 1/32
Unassigned 1111 10 1/64
Unassigned 1111 110 1/128
Unassigned 1111 1110 0 1/512
Link-Local Unicast Addresses 1111 1110 10 1/1024
Site-Local Unicast Addresses 1111 1110 11 1/1024
Multicast Addresses 1111 1111 1/256
IPv6 地址分配方案
All Rights Reserved by BII Group
IPv6 地址范围
链路局部地址 Link-Local Unicast Addresses
链路局部地址只在一条链路的范围内有效,路由器不对含有这些地址的数据包进行转发链路局部地址格式,fe80::24c:e0ff:fe49:3ec0
| 10 bits | 54 bits | 64 bits |
+----------+-------------------------+----------------------------+
|1111111010| 0 | interface ID |
+----------+-------------------------+----------------------------+
站点局部地址 Site-Local Unicast Addresses
站点局部地址可以让一些组织机构建设基于 IPv6的内部网络,它的唯一性只在该组织内部有保证,类似 RFC1918规定的私有地址站点局部地址格式,fec0::24c:e0ff:fe49:3ec0
| 10 bits | 38 bits | 16 bits | 64 bits |
+----------+-------------+-----------+----------------------------+
|1111111011| 0 | subnet ID | interface ID |
+----------+-------------+-----------+----------------------------+
All Rights Reserved by BII Group
IPv6 地址范围
可聚集全球单播地址 Aggregatable Global Unicast Addresses
| 3| 45 | 16 | 64 bits |
+--+-----+---+--------+--------+--------------------------------+
|FP| Global Routing Prefix | Interface ID |
+--+-----+---+--------+--------+--------------------------------+
<--Public Topology---> Site
<-------->
Topology
<------Interface Identifier----->
其中:
FP Format Prefix (001) 格式前缀
INTERFACE ID Interface Identifier 接口标识
Global Routing Prefix 采用类似 CIDR的分级体系
All Rights Reserved by BII Group
IPv6 地址范围
未指定的地址 The Unspecified Address
由 128个零,即 0:0:0:0:0:0:0:0组成,也可以简写为,:
用来表示缺少地址当一个主机还没有地址时,可以用它作为源地址来发送控制包不能作为目的地址不能分配给真实的网络接口
All Rights Reserved by BII Group
IPv6 地址范围
环路地址 The Loopback Address
地址 0:0:0:0:0:0:0:1是环路地址,也可以简写为,:1/128
环路地址是节点用来向自己发送数据报的
All Rights Reserved by BII Group
IPv6 地址范围基于 IPv4的地址 IPv6 Addresses with Embedded IPv4 Addresses
IPv4-compatible IPv6 address
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|0000| IPv4 address |
+--------------------------------------+----+---------------------+
IPv4-mapped IPv6 address
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|FFFF| IPv4 address |
+--------------------------------------+----+---------------------+
文字表示
0:0:0:0:0:0:13.1.68.3 或简写为,:13.1.68.3
0:0:0:0:0:FFFF:129.144.52.38 或简写为,:FFFF:129.144.52.38
All Rights Reserved by BII Group
IPv6 地址范围
Interface Identifier 接口标识接口标识用来在一条链路( Link)上标识接口
Interface ID在一条链路上必须是唯一的,在更大的范围内也可以是唯一的它使用,Modified EUI-64”格式
“Modified EUI-64”格式
IEEE 802 48bit MAC identifier:
| 16 bits | 16 bits | 16 bits |
+----------------+----------------+----------------+
|cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+
64bit Modified EUI-64:
| 16 bits | 16 bits | 16 bits | 16 bits |
+----------------+----------------+----------------+----------------+
|cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+----------------+
例子以太网卡 MAC地址,00-00-E8-B1-02-AF
Modified EUI-64,02-00-E8-FF-FE-B1-02-AF
All Rights Reserved by BII Group
IPv6 地址范围
多播地址的结构:
| 8 | 4 | 4 | 112 bits |
+------ -+----+----+---------------------------------------------+
|11111111|flgs|scop| group ID |
+--------+----+----+---------------------------------------------+
+-+-+-+-+
flgs,|0|0|0|T|
+-+-+-+-+
T = 0 表示由 IANA分配的永久的多播地址
T = 1 表示临时指定的多播地址
多播地址不能作为源地址,
也不能出现在 IPv6包的路由头部分
例如 FF02::1所有节点 ; FF02::2所有路由器
scop,0 保留
1 节点本地范围
2 链路本地范围
5 站点本地范围
8 企业本地范围
E 全局范围
F 保留
All Rights Reserved by BII Group
IPv6 地址范围联播地址 Anycast Addresses
联播地址使用与单播地址同样的地址空间,可以使用任何一种单播地址的格式,从语法上无法同单播地址相区分
如果一个单播地址被指定给多于一个接口,那么该地址就成为了联播地址
源节点不需要关心如何选择最近的联播节点,这个工作由路由系统完成
联播地址可能会给路由器增加额外的负担
当路由发生变化时,发往同一的联播地址的包可能会被发往不同的联播节点
All Rights Reserved by BII Group
The Unspecified Address
The Loopback Address
IPv6 Addresses with embedded IPv4 Addresses
Aggregatable Global Unicast Address
Encoded NSAP Addresses
Global Unicast Addresses
Link-Local Unicast Addresses
Site-Local Unicast Addresses
Unicast Addresses
IPv6 Addresses
Multicast Addresses
Anycast Addresses
IPv6 地址范围总结
All Rights Reserved by BII Group
IPv6协议报文格式
扩展报头
IPv6使用扩展报头来代替IPv4的选项字段。以此来减少IPv6信息包中途经过路由器时的处理时间。扩展报头(EH)可位于IPv6报头和上层协议之间,报头之间由下一个报头字段进行连接,这样组成一个菊花链式结构。
一个IPv6信息包可以有0个,1个或多个扩展报头。
All Rights Reserved by BII Group
IPv6协议报文格式
All Rights Reserved by BII Group
IPv6协议报文格式
当一个信息包中使用多个扩展报 头 时,RFC2460建议 这些报头按照下面的顺序出现:
NH 值
–IPv6报头
– 逐跳选项报头(如有则每个经过节点必须检查) 0
– 目的地选项报头 60
– 路由报头 (目前提供源路由功能) 43
– 分段报头 44
– 身份认证报头 51
– 封装安全载荷报头 50
– 目的地选项报头 60
– 上层报头 (TCP,UDP,ICMP)
All Rights Reserved by BII Group
IPv6协议报文格式
关于 IPv6扩展头的几点说明:
– 扩展包头必须严格按出现顺序进行处理。
– 中间经过的节点不检查和处理扩展报头(除了逐跳选项报头)
– 逐跳选项报头必须紧跟在 IPv6报头后面
All Rights Reserved by BII Group
议程
链路层协议对 IPv6的标识
IPv6 协议分析
ICMPv6 协议分析
All Rights Reserved by BII Group
邻居发现 (Neighbor Discovery)
邻居发现 (Neighbor Discovery)
– Neighbor Discovery for IP Version 6(IPv6),RFC 2461
– 采用统一 ICMPv6报文消息
– 主要功能(对照 IPv4)
链路层地址解析
邻居路由器发现
本地前缀发现
地址自动配置
发现配置参数
发现和决定下一跳地址
跟踪邻居和路由器的可达性
重定向
发现重复地址
All Rights Reserved by BII Group
ICMPv6 类型码和消息内容
ICMPv6 NH编号 =58 ( ICMPv4 PID=1)
ICMPv6 错误信息,
1 目的地不可达
2 数据包太大
3 超时
4 参数问题
ICMPv6 通告信息,
128 Echo 请求
129 Echo 响应
133 路由器请求 RS
134 路由器广播 RA
135 主机请求 NS
136 主机广播 NA
137 重定向
All Rights Reserved by BII Group
ICMPv6 的邻居发现功能实现无状态的自动配置
R1
R2
A
B
C
FE02::1
RA 1000::/64 RA 2000::/64
RS
FE02::2
FE02::1
RS
FE02::2
RS
FE02::2
All Rights Reserved by BII Group
ICMPv6 的邻居发现功能实现无状态的自动配置
IPv6无状态自动配置
– RFC 2462 (IPv6 无状态地址自动配置 )中描述了 I P v 6 的无状态自动配置
– 允许个人节点能够确定自己的I P 配置,而不必向服务器显式请求各节点的信息
– 无状态自动配置要求本地链路支持组播,而且网络接口能够发送和接收组播
IPv6无状态自动配置采用如下步骤
– 进行自动配置的节点必须确定自己的链路本地地址(如IEEE EUI-64 地址)
– 必须验证该链路本地地址在链路上的唯一性
– 节点必须确定需要配置的信息(该信息可能 是节点的I P 地址,或者是其他配置信息,或者两者皆有。如果需要I P 地址,节点必须确定是使用无状态自动配置过程还是使用状态自动配置过程来获得)
– 路由器会定期发送,Router Advertisement”组播
– 执行自动配置的节点可以发送,Router Solicatation” 到,所有路由器,组播组
– 路由器会返回,Router Advertisement”作为应答
– 在,Router Advertisement”报文中包含一个或多个子网前缀以及Lifetime
All Rights Reserved by BII Group
ICMPv6 的邻居发现功能链路层地址解析 类似 ARP
用请求的节点组播地址 FF02:0:0:0:0:1:FF00::/104
R1
R2
A
B
C
NS
FE02::1:FF12:3456
Where is C?
查看 cache entry
C:> ipv6 nc
Router# show ipv6 neighbors
NA
FE80::24c:e0ff:fe12:3456
只有 C加入
FE02::1:FF12:3456组
All Rights Reserved by BII Group
ICMPv6 的邻居发现功能路由重定向
B
R1
R1 做为缺省网关
Redirect to R2
R2 做为缺省网关
R2
C
A
All Rights Reserved by BII Group
IPV6 有状态自动配置DHCPv6
DHCPv6 新特性
– 与处理 I P 地址的其他协议相同,D H C P 必须升级以支持 I P v 6 地址
– 配置动态更新 D N S 的能力,可以反映网络当前状态
– 地址回收
– 客户机可以请求多个地址
– 鉴权
– 集成无状态自动配置优点:需要全面的控制,担心无状态配置带来的管理和安全问题缺点:用户必须保持和管理特殊的自动配置服务器以便管理所有,状态,,
即所容许的连接及当前连接的相关信息。
All Rights Reserved by BII Group
基于 ICMPv6的检测工具
ping6 or ping ipv6
tracert6 or traceroute ipv6
All Rights Reserved by BII Group
C:>tracert6 8000::1 -r
Tracing route to 8000::1
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 7000::2
2 1 ms 1 ms 1 ms 1000::2
3 12 ms 12 ms 12 ms 2000::2
4 6 ms 7 ms 7 ms 3000::2
5 20 ms 20 ms 20 ms 8000::1
6 13 ms 13 ms 13 ms 4000::2
7 11 ms 11ms 11 ms 5000::2
8 1ms 1ms 1ms 6000::2
9 <1 ms <1 ms <1 ms 7000::1
Trace complete.
.1
R3
Loop0
8000::1/64
6000::/64
.1
.2
1000::/64
2000::/64
.1
.1
.2
.2
3000::/64
R1
R2
R6
R5
R4
.2
.1
.2
.1
.1
.2
5000::/64
.2
.1
7000::/64
AS 100
AS 200
4000::/64
利用路由头检测反向路由
—— 一个非对称路由的例子主机 A 路由头部分内容
NH 58 (ICMPv6)
Segments left 1
Address 7000::1
主机 A
All Rights Reserved by BII Group
谢谢
TEL:010-62283000
www.biigroup,com
mma@biigroup.com