IPV6单播数据转发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意到这里没有“掩码 ” 的概念,那么这里就有一个问题:
PC1怎么触发地址解析动作的呢?
这里有一个重要假设:在没有路由信息的情况下, PC1 假定 1::2就和它自己在同一个链路上,由此触发地址解析过程。
10
Neighbor Solicitation
如下是PC1发出的Neighbor Solicitation
PC2
Switch
8
大致通信过程
设若PC1要发送一个报文给PC2,主要的通信流程为:
PC1
1::1 1::2
PC2
Switch
Application want to send packet to 1::2 S:1::1 D:1::2 data [Multicast] ICMP Neighbor Solicitation Please tell me Link Address for 1::2 [Unicast] ICMP Neighbor Advertisement Link Address for 1::2 is 00-10-5c-e5-f2-39
Neighbor Unreachability Detection
修改 <1::1, MAC1, Stale>
上层要发送报文 <1::2, 1::1> Unicast Neighbor Advertisement:[1::2, MAC2]
18
为什么这样?
V6 VS V4
地址解析消息目的地为组播地址减少了无效处理 邻居不可达性检测加强网络“鲁棒性” IPv6地址解析可以检测出单向可达路径
IPv6路由器的基本思想与IPv4完全一致:
数据转发以IPv6路由表为基础 路由表以IPv6路由协议维护
35
IPv6路由来源
与IPv4类似,IPv6路由可能来自于
链路层直接发现 静态路由 动态路由协议
36
链路层直接发现的路由
链路层发现的路由是指路由器接口主机路由与前缀路由
[rt1]dis ipv6 routing-table Routing Table : Destinations : 6 Routes : 6 Destination : ::1 NextHop : ::1 Interface : InLoopBack0 State : Active NoAdv Refrence Count : 1 Destination : 1:: NextHop : 1::1 Interface : Ethernet1/0 State : Active Adv Refrence Count : 1 Destination : 1::1 NextHop : ::1 Interface : InLoopBack0 State : Active NoAdv Refrence Count : 1 Destination : FE80:: NextHop : :: Interface : NULL0 State : Active NoAdv Refrence Count : 1 PrefixLength : 128 Preference : 0 Protocol : Direct Cost :0
23
Router & Prefix Discovery
正如我们在“ IPv6 地址自动配置”中所讲的那样, Router & Prefix Discovery功能主要由Neighbor Discovery协议的Router Solicitation和Router Advertisement两个消息完成。
Prefix用于地址自动配置
27
结果
结果有二
获得一个全局IPv6地址 获得一个缺省网关
28
Next-Hop Determination
Pc1如果要和Pc2通信,那么一个必然的步骤就是根据Pc2的目 的地址确定下一跳,即根据路由查找到RT1 E1/0的三层地址
和IPv4不同的是:IPv6在ND协议里明确规定了主机应该缓存这 个查找结果以加快后续查找过程
PC1
RT2
PC2
PC2-2
31
重定向报文
关键点
源地址必须是路由器地址 目的地址是报文源 Target是重定向地址:建议网关地址或是目的地址(如果目的地 址和源在同一链路上)
32
下一步呢?
33
Topics
PC-Router Router-Router
34
Router-Router
INCOMPLETE REACHABLE
STALE
DELAY PROBE
17
典型邻居状态迁移
PC1 1::1
上层要发送报文 <1::1, 1::2>
邻居表中没有1::2项: 添加[1::2, , Incomplete] 修改为[1::2,MAC2,Reacheable] Multicast Neighbor Solicitation:[1::2, ?], [1::1, MAC1] Unicast Neighbor Advertisement:[1::2, MAC2] [MAC1 to MAC2]Echo Request [MAC2 to MAC1]Echo Reply 修改 <1::1, MAC1, Delay> 添加邻居缓存项 <1::1,MAC1, STALE>
– RIPng, OSPF, IS-IS, BGP
6
课程内容
同一链路上的数据转发 不同链路上的数据转发
7
我们的研究对象
我们将探讨如下组网中PC1和PC2的通信过程
两台PC均为支持IPv6的Windows XP主机 两台PC的IPv6地址为手工配置的1::1和1::2
PC1 1::1 1::2
允许接口发送RA消息
25
Router Solicitation
三个关键点
源地址是链路本地地址 目的地址是ALL ROUTERS 携带Source link-layer address
26
Router Advertisement
关键点
目的地址是ALL_NODES Router Lifetime非零表示源地址“FE80::2e0:fcff:fe20:d6a8” 准备 成为一个缺省路由器
255的Hop Limit可以提供某种安全机制
地址解析功能在三层实现加强了链路层独立性,同时可以利用三 层安全机制
19
课程内容
同一链路上的数据转发 不同链路上的数据转发
20
不在同一链路上节点间的通信
简单来说,不在同一链路上的节点之间的通信涉及如下两个问 题:
如何在PC与路由器之间转发数据
Create a 1::2 entry in neighbor cache
Add <1::2, 00-10-5c-e5-f2-39> map to Neighbor Cache
D:00-10-5C-E5-F2-39 S:00-0D-56-6D-6F-FC
S:1::1 D:1::2
data
9
一个问题!
24
Pc-Router Startup案例
我们用如下例子来讨论Router Discovery.
RT1
自动 配置
PC1
E1/0
E3/0
自动 配置
PC2 ipv6 interface Ethernet1/0 ipv6 address 1::1/64 undo ipv6 nd ra halt interface Ethernet3/0 ipv6 address 2::1/64 undo ipv6 nd ra halt
IPv6 单播数据转发
学习目标
学习完本课程,您应该能够:
理解IPv6单播报文在路由器和 PC之 间的转发过程
理解 IPv6 单播路由协议基本原理及
其功能
2
概述
IPv6报文转发基本思想与IPv4类似:
根据目的地址获得下一跳三层地址和发送接口 通过地址解析获取下一跳三层地址对应的链路地址
这种方法比IPv4的广播方法有什么好处?
12
Neighbor Solicitation的ICMP部分
Target字段用来提出问题:请告诉我1::2的链路地址 ICMP选项Source Link-Layer Address用于向对方通告自己的链 路层地址以供对端回应二层单播Neighbor Advertisement之用
Switch
1::2
PC2
Unicast Neighbor Solicitation:[1::1,?],[FE80::,MAC2]
修改 <1::1, MAC1,Probe>
修改 <1::1, MAC1, Reachable> RECHEABLETIME以后。。。
Neighbor Advertisement:[1::1,MAC1]
在没有网关的情况下,PC缺省认为一个目的地与自己在同一链路上;有
网关的情况下,PC会将它认为不在同一链路上的数据包都送给缺省网关,
这里的问题是:如果路由器发现这个目的原来是和源在同一网段呢?
答案依然是重定向
30
ICMP Redirect
重定向过程
RT1
PC2-1 Redirect to RT2 Default Gateway! Change Destination Cache! PC2-1 PC2-2 PC2-1
Solicited标志用于保证Pc1和Pc2之间是双向可达的
IPv4的ARP机制有在单向可达情况下安装一条ARP表项的可能性
15
邻居缓存
地址解析的结果使得 Pc1 在邻居表中添加了如下表项,这样后 续的通信就可以使用这个表项进行通信了.
16
ቤተ መጻሕፍቲ ባይዱ 邻居缓存表项状态
每个邻居缓存表项可能处于如下几个状态,我们通过一个典型 通信过程来说明这些状态。
RT1
自动 配置
PC1
29
E1/0
E3/0
自动 配置
PC2
优化
确定了下一跳地址以后,就可以查找邻居表得到其二层地址并将报文 发送给路由器了。[如果没有命中呢?] 问题:
如果一个链路上有多个路由器,PC如何选择合适的路由器呢?答案有二:
路由:PC上可以将“缺省网关”按照路由的方式来管理。 重定向:由路由器通知PC使用合适的缺省网关。
11
Neighbor Solicitation的IPv6头部
Neighbor Solicitation 的Hop Limit被设置为255 而不是显见的 1 的主要原因可以防止远程用户发送Neighbor Discovery报文。
Neighbor Solicitation 发 送 的 目 的 地 址 FF02::1:FF00:2 是 一 个 Solicited-Node 组播地址,它是基于 1::2 映射得到的: 1::2 自然 属于这个组。
IPv6报文转发的基本数据结构
路由表:完全类似于IPv4路由表 邻居缓存:类似于ARP表,存储同一链路上邻居二三层地址之间 的对应关系
IPv6报文转发的基本问题就是:如何建立、维护与利用这两个
数据结构
3
IPv6邻居缓存
与IPv4不同的是,IPv6邻居表不是依赖链路层建立和维护的, 而是利用ICMPv6协议在网络层建立与维护的。IPv6 Neighbor Discovery包含这个功能。
Router & Prefix Discovery
Next-hop Determination
Redirect
如何在路由器和路由器之间转发数据
Routing Protocols
21
Topics
PC-Router Router-Router
22
Router & Prefix Discovery
IPv6通信的前提是主机要有一个IPv6地址。IPv6地址可以是手 工配置的、有状态自动配置或是无状态自动配置的。
和IPv4一样,一个主机要和不在同一链路上的主机通信必须要 在主机上有路由:一般来讲就是一个缺省网关。网关一样可以 是手工配置、有状态自动配置或是无状态自动配置的。
我们的重点是无状态自动配置。
4
IPv6路由表
我们将介绍主流的IPv6路由协议!
5
两种情形
为了清晰描述IPv6转发技术,我们准备讨论如下两种情形下的 IPv6通信
源和目的在同一个链路上
地址解析
邻居维护
源和目的不在同一个链路上
Pc-Router
– 路由器发现, 重定向, 目的表维护
Router-Router
Router Solicitation
主机发送的用于探测路由器的存在,希望链路上的路由器给它回 应Router Advertisement
Router Advertisement
路由器回应Router Solicitation,分发网关和前缀等信息 路由器“伪定期”自动发送的用于刷新维护网关和前缀等信息
13
Neighbor Advertisement
如下是PC2回应给PC1的Neighbor Advertisement
Same as Solicitation
R S O
Router flag Solicited flag Override flag
14
ICMP部分
Target 1::2和Target Link-layer Address选项回答了Solicitation 提出的问题:即1::2的链路层地址。
PC1怎么触发地址解析动作的呢?
这里有一个重要假设:在没有路由信息的情况下, PC1 假定 1::2就和它自己在同一个链路上,由此触发地址解析过程。
10
Neighbor Solicitation
如下是PC1发出的Neighbor Solicitation
PC2
Switch
8
大致通信过程
设若PC1要发送一个报文给PC2,主要的通信流程为:
PC1
1::1 1::2
PC2
Switch
Application want to send packet to 1::2 S:1::1 D:1::2 data [Multicast] ICMP Neighbor Solicitation Please tell me Link Address for 1::2 [Unicast] ICMP Neighbor Advertisement Link Address for 1::2 is 00-10-5c-e5-f2-39
Neighbor Unreachability Detection
修改 <1::1, MAC1, Stale>
上层要发送报文 <1::2, 1::1> Unicast Neighbor Advertisement:[1::2, MAC2]
18
为什么这样?
V6 VS V4
地址解析消息目的地为组播地址减少了无效处理 邻居不可达性检测加强网络“鲁棒性” IPv6地址解析可以检测出单向可达路径
IPv6路由器的基本思想与IPv4完全一致:
数据转发以IPv6路由表为基础 路由表以IPv6路由协议维护
35
IPv6路由来源
与IPv4类似,IPv6路由可能来自于
链路层直接发现 静态路由 动态路由协议
36
链路层直接发现的路由
链路层发现的路由是指路由器接口主机路由与前缀路由
[rt1]dis ipv6 routing-table Routing Table : Destinations : 6 Routes : 6 Destination : ::1 NextHop : ::1 Interface : InLoopBack0 State : Active NoAdv Refrence Count : 1 Destination : 1:: NextHop : 1::1 Interface : Ethernet1/0 State : Active Adv Refrence Count : 1 Destination : 1::1 NextHop : ::1 Interface : InLoopBack0 State : Active NoAdv Refrence Count : 1 Destination : FE80:: NextHop : :: Interface : NULL0 State : Active NoAdv Refrence Count : 1 PrefixLength : 128 Preference : 0 Protocol : Direct Cost :0
23
Router & Prefix Discovery
正如我们在“ IPv6 地址自动配置”中所讲的那样, Router & Prefix Discovery功能主要由Neighbor Discovery协议的Router Solicitation和Router Advertisement两个消息完成。
Prefix用于地址自动配置
27
结果
结果有二
获得一个全局IPv6地址 获得一个缺省网关
28
Next-Hop Determination
Pc1如果要和Pc2通信,那么一个必然的步骤就是根据Pc2的目 的地址确定下一跳,即根据路由查找到RT1 E1/0的三层地址
和IPv4不同的是:IPv6在ND协议里明确规定了主机应该缓存这 个查找结果以加快后续查找过程
PC1
RT2
PC2
PC2-2
31
重定向报文
关键点
源地址必须是路由器地址 目的地址是报文源 Target是重定向地址:建议网关地址或是目的地址(如果目的地 址和源在同一链路上)
32
下一步呢?
33
Topics
PC-Router Router-Router
34
Router-Router
INCOMPLETE REACHABLE
STALE
DELAY PROBE
17
典型邻居状态迁移
PC1 1::1
上层要发送报文 <1::1, 1::2>
邻居表中没有1::2项: 添加[1::2, , Incomplete] 修改为[1::2,MAC2,Reacheable] Multicast Neighbor Solicitation:[1::2, ?], [1::1, MAC1] Unicast Neighbor Advertisement:[1::2, MAC2] [MAC1 to MAC2]Echo Request [MAC2 to MAC1]Echo Reply 修改 <1::1, MAC1, Delay> 添加邻居缓存项 <1::1,MAC1, STALE>
– RIPng, OSPF, IS-IS, BGP
6
课程内容
同一链路上的数据转发 不同链路上的数据转发
7
我们的研究对象
我们将探讨如下组网中PC1和PC2的通信过程
两台PC均为支持IPv6的Windows XP主机 两台PC的IPv6地址为手工配置的1::1和1::2
PC1 1::1 1::2
允许接口发送RA消息
25
Router Solicitation
三个关键点
源地址是链路本地地址 目的地址是ALL ROUTERS 携带Source link-layer address
26
Router Advertisement
关键点
目的地址是ALL_NODES Router Lifetime非零表示源地址“FE80::2e0:fcff:fe20:d6a8” 准备 成为一个缺省路由器
255的Hop Limit可以提供某种安全机制
地址解析功能在三层实现加强了链路层独立性,同时可以利用三 层安全机制
19
课程内容
同一链路上的数据转发 不同链路上的数据转发
20
不在同一链路上节点间的通信
简单来说,不在同一链路上的节点之间的通信涉及如下两个问 题:
如何在PC与路由器之间转发数据
Create a 1::2 entry in neighbor cache
Add <1::2, 00-10-5c-e5-f2-39> map to Neighbor Cache
D:00-10-5C-E5-F2-39 S:00-0D-56-6D-6F-FC
S:1::1 D:1::2
data
9
一个问题!
24
Pc-Router Startup案例
我们用如下例子来讨论Router Discovery.
RT1
自动 配置
PC1
E1/0
E3/0
自动 配置
PC2 ipv6 interface Ethernet1/0 ipv6 address 1::1/64 undo ipv6 nd ra halt interface Ethernet3/0 ipv6 address 2::1/64 undo ipv6 nd ra halt
IPv6 单播数据转发
学习目标
学习完本课程,您应该能够:
理解IPv6单播报文在路由器和 PC之 间的转发过程
理解 IPv6 单播路由协议基本原理及
其功能
2
概述
IPv6报文转发基本思想与IPv4类似:
根据目的地址获得下一跳三层地址和发送接口 通过地址解析获取下一跳三层地址对应的链路地址
这种方法比IPv4的广播方法有什么好处?
12
Neighbor Solicitation的ICMP部分
Target字段用来提出问题:请告诉我1::2的链路地址 ICMP选项Source Link-Layer Address用于向对方通告自己的链 路层地址以供对端回应二层单播Neighbor Advertisement之用
Switch
1::2
PC2
Unicast Neighbor Solicitation:[1::1,?],[FE80::,MAC2]
修改 <1::1, MAC1,Probe>
修改 <1::1, MAC1, Reachable> RECHEABLETIME以后。。。
Neighbor Advertisement:[1::1,MAC1]
在没有网关的情况下,PC缺省认为一个目的地与自己在同一链路上;有
网关的情况下,PC会将它认为不在同一链路上的数据包都送给缺省网关,
这里的问题是:如果路由器发现这个目的原来是和源在同一网段呢?
答案依然是重定向
30
ICMP Redirect
重定向过程
RT1
PC2-1 Redirect to RT2 Default Gateway! Change Destination Cache! PC2-1 PC2-2 PC2-1
Solicited标志用于保证Pc1和Pc2之间是双向可达的
IPv4的ARP机制有在单向可达情况下安装一条ARP表项的可能性
15
邻居缓存
地址解析的结果使得 Pc1 在邻居表中添加了如下表项,这样后 续的通信就可以使用这个表项进行通信了.
16
ቤተ መጻሕፍቲ ባይዱ 邻居缓存表项状态
每个邻居缓存表项可能处于如下几个状态,我们通过一个典型 通信过程来说明这些状态。
RT1
自动 配置
PC1
29
E1/0
E3/0
自动 配置
PC2
优化
确定了下一跳地址以后,就可以查找邻居表得到其二层地址并将报文 发送给路由器了。[如果没有命中呢?] 问题:
如果一个链路上有多个路由器,PC如何选择合适的路由器呢?答案有二:
路由:PC上可以将“缺省网关”按照路由的方式来管理。 重定向:由路由器通知PC使用合适的缺省网关。
11
Neighbor Solicitation的IPv6头部
Neighbor Solicitation 的Hop Limit被设置为255 而不是显见的 1 的主要原因可以防止远程用户发送Neighbor Discovery报文。
Neighbor Solicitation 发 送 的 目 的 地 址 FF02::1:FF00:2 是 一 个 Solicited-Node 组播地址,它是基于 1::2 映射得到的: 1::2 自然 属于这个组。
IPv6报文转发的基本数据结构
路由表:完全类似于IPv4路由表 邻居缓存:类似于ARP表,存储同一链路上邻居二三层地址之间 的对应关系
IPv6报文转发的基本问题就是:如何建立、维护与利用这两个
数据结构
3
IPv6邻居缓存
与IPv4不同的是,IPv6邻居表不是依赖链路层建立和维护的, 而是利用ICMPv6协议在网络层建立与维护的。IPv6 Neighbor Discovery包含这个功能。
Router & Prefix Discovery
Next-hop Determination
Redirect
如何在路由器和路由器之间转发数据
Routing Protocols
21
Topics
PC-Router Router-Router
22
Router & Prefix Discovery
IPv6通信的前提是主机要有一个IPv6地址。IPv6地址可以是手 工配置的、有状态自动配置或是无状态自动配置的。
和IPv4一样,一个主机要和不在同一链路上的主机通信必须要 在主机上有路由:一般来讲就是一个缺省网关。网关一样可以 是手工配置、有状态自动配置或是无状态自动配置的。
我们的重点是无状态自动配置。
4
IPv6路由表
我们将介绍主流的IPv6路由协议!
5
两种情形
为了清晰描述IPv6转发技术,我们准备讨论如下两种情形下的 IPv6通信
源和目的在同一个链路上
地址解析
邻居维护
源和目的不在同一个链路上
Pc-Router
– 路由器发现, 重定向, 目的表维护
Router-Router
Router Solicitation
主机发送的用于探测路由器的存在,希望链路上的路由器给它回 应Router Advertisement
Router Advertisement
路由器回应Router Solicitation,分发网关和前缀等信息 路由器“伪定期”自动发送的用于刷新维护网关和前缀等信息
13
Neighbor Advertisement
如下是PC2回应给PC1的Neighbor Advertisement
Same as Solicitation
R S O
Router flag Solicited flag Override flag
14
ICMP部分
Target 1::2和Target Link-layer Address选项回答了Solicitation 提出的问题:即1::2的链路层地址。