第 7 讲 路由协议原理
www.cisco.com
路由协议路由协议
路由协议 用于路由器选择路径和管理路由表路由器路由的方式一旦选择了一条路径后,路由器将路由被路由协议 它是数据包的运输工具
NetworkProtocol
DestinationNetwork
ConnectedRIP
IGRP
10.120.2.0172.16.1.0172.17.3.0
Exit Interface
E0S0S1
被路由协议 : IP , IPX……
路由协议 : RIP, IGRP……
172.17.3.0
172.16.1.010.120.2.0
E0S0
www.cisco.com
在 TCP/IP 协议栈中, Routed Protocol ( IP )工作
在网络层,而 Routing Protocol 工作在传输层或者应用
层,他们之间的关系为: Routing Protocol 负责学习最
佳路径,而 Routed Protocol 根据最佳路径将来自上层
的信息封装在 IP 包里传输
路由协议和被路由协议的区别
www.cisco.com
路由器是如何进行选路?路由器是如何进行选路?
路由器转发数据包的关键是路由表。每个路由器中都保存着一张路由表,表中每条路由项都指明数据包到某子网或某主机应通过路由器的哪个物理端口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
www.cisco.com
什么是路由 ?什么是路由 ?
要实现路由路由器必须知道 :• 目的地址• 源地址• 所有可能的路由路径• 最佳路由路径• 管理路由信息 Network
ProtocolDestination
Network
ConnectedRIP
IGRP
10.120.2.0172.16.1.0172.17.3.0
Exit Interface
E0S0S1
www.cisco.com
静态路由由网络管理员在路由器上手工添加路由信息以实现路由目的
动态路由根据网络结构或流量的变化,路由协议会自动调整路由信息以实现路由
静态路由和动态路由静态路由和动态路由
www.cisco.com
172.16.2.1
SO
静态路由静态路由
172.16.1.0
B172.16.2.2
Network A
在小型网络中适合设置静态路由。
B
Stub Network
www.cisco.com
静态路由的应用场合静态路由的应用场合
一个小型到中型的网络,而且没有或只有较小的扩充计划时。静态路由要手工输入,手工管理;管理开销对于动态路由来说是一个大大的负担。
www.cisco.com
指定一条可以到达目标网络的路径
Router(config)#ip route network [mask] {address | interface}[distance] [permanent]
静态路由的配置静态路由的配置
www.cisco.com
Stub Network
ip route 172.16.1.0 255.255.255.0 172.16.2.1
172.16.2.1
SO
静态路由的例子静态路由的例子
172.16.1.0
B172.16.2.2
Network A B
这是一条单方向的路径,必须配置一条相反的路径。
www.cisco.com
静态路由的例子静态路由的例子
2501(config)#ip route 172.16.1.0 255.255.255.0 172.16.2.1
172.16.1.0 :目的网络255.255.255.0 :子网掩码172.16.2.1 :下一跳的 IP 地址(也称为网关,离本子网最近的路由器接口地址)
www.cisco.com
静态路由的删除静态路由的删除
静态路由的删除:2501(config)#no ip route 172.16.1.0 255.255.255.0 172.16.2.1
2501(config)#
www.cisco.com
缺省静态路由缺省静态路由
缺省路由就是在没有找到任何匹配的路由项情况下,才使用的路由。即只有当无任何合适的路由时,缺省路由才被使用。在路由表中,缺省路由以到网络 0.0.0.0 (掩码为0.0.0.0 )的路由形式出现。缺省路由,用于 INTERNET 连接,安全性不好2501(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.1
或 2501(config)#ip route 0.0.0.0 0.0.0.0 s0
www.cisco.com
Stub Network
ip route 0.0.0.0 0.0.0.0 172.16.2.2
缺省路由缺省路由
172.16.2.1
SO
172.16.1.0
B172.16.2.2
Network A B
使用缺省路由后, Stub Network 可以到达路由器 A 以外的网络。在 Stub Router (连接 Stub Network 的路由器)上通常配置缺省路由这也是大多数企业在接入 INTERNET 时所采用的配置
www.cisco.com
浮动静态路由浮动静态路由
www.cisco.com
静态路由协议优缺点静态路由协议优缺点
优点是:1. 没有额外的 router 的 CPU 负担2. 节约带宽3. 增加安全性缺点是 :1. 网络管理员必须了解网络的整个拓扑结构2. 如果网络拓扑发生变化 , 管理员要在所有的routers上手动修改路由表3. 不适合在大型网络中
www.cisco.com
动态路由协议动态路由协议
距离向量 (distance vector) 主要有:RIP IGRP
链路状态 (link state) 有 :
OSPF IS-IS
混合型 (hybrid) 有 :
EIGRP
www.cisco.com
Classful and Classless
• 路由协议从不同的角度可以进行不同的分类。
根据协议在更新时是否携带掩码分为 : Classless 和 Classful 两大类。
www.cisco.com
Classful 路由协议•Classful 路由协议在路由更新时不携带掩码•Classful 路由协议只能支持定长子网掩码( FLSM ) 同一个大类网络下的子网信息当掩码长度一致时可以相互穿越。掩码长度 不一致时子网信息不能传递。•Classful 路由协议不支持非连续的子网( Discontiguous subnet )子网信息穿过另外一个大类网络时将在网络边界做自动汇总( 10.2.0.0 和 10.3.0.0 进入路由器 C 时被自动汇总为 10.0.0.0 ,这样在 C 上会产生路由混乱)
在 TCP/IP 协议中, RIPv1 以及 IGRP 属于 Classful 路由协议。
www.cisco.com
Classless 路由协议•Classless 路由协议在路由更新时携带掩码•Classless 路由协议能支持变长子网掩码( VLSM )•Classless 路由协议可以支持非连续的子网( Discontiguous subnet )
10.2.0.0/16 192.168.1.32/30192.168.1.16/28 10.3.0.0/16
10.2.0.0/16
192.168.1.16/28
192.168.1.32/30
10.3.0.0/16
10.2.0.0/16
192.168.1.16/28
192.168.1.32/30
10.3.0.0/16
10.2.0.0/16
192.168.1.32/30
192.168.1.16/28
10.3.0.0/16
在 TCP/IP 协议中, RIPv2 以及 EIGRP OSPF BGP 属于 Classless 路由协议。
www.cisco.com
•With ip classless Default
•With no ip classless Drop
Router(config)#ip classless
ip classless 命令ip classless 命令
S0
Default route
172.16.0.0E0
10.1.0.0
NetworkProtocol
DestinationNetwork
CC
RIP
10.1.0.0 10.2.0.0172.16.0.0 via0.0.0.0
Exit Interface
E0S0S0E0
10.2.0.0
To get to 10.7.1.1:
www.cisco.com
自治系统 100 自治系统 200
IGPs: RIP, IGRP EGPs: BGP
自治系统:内部和外部的路由协议
自治系统:内部和外部的路由协议
• 自治系统:使用相同的路由准则的网络的集合• IGP 在一个自治系统内运行。• EGP 连接不同的自治系统。
www.cisco.com
路由器查找路由——最长匹配原则 Longest - Match Lookup
路由器查找路由——最长匹配原则 Longest - Match Lookup
• 路由器收到数据包以后,会根据数据包中目的地址到路由表中查找相应的路由条目,从匹配该目的网络的路由条目中寻找掩码最长的路由条目开始,如果找到相匹配的路由就会按照该路由处理数据包,否则在缺省情况下会扔弃数据包。
www.cisco.com
路由协议分类路由协议分类
按照 AS 分类: IGP ( RIP , IGRP , EIGRP , ISIS , OSPF) EGP ( BGP )
按照更新是否携带掩码分类: 有类( RIPv1 , IGRP ) 无类( RIPv2 , EIGRP , OSPF , ISIS , BGP )
www.cisco.com
路由协议分类路由协议分类按照是否手工操作分类: 静态(静态路由,默认路由,浮动静态路由) 动态( RIP , IGRP , EIGRP , ISIS , OSPF , BGP )
动态路由中的分类: 距离矢量( RIP , IGRP ) 链路状态( OSPF , ISIS ) 混合型( EIGRP ) 路径矢量( BGP )
www.cisco.com
路由协议的分类路由协议的分类
距离矢量距离矢量
混合路由混合路由
链路状态链路状态CC
BB
AA
DD
CC
DD
BB
AA
www.cisco.com
距离矢量的路由协议距离矢量的路由协议
定期将路由表复制给相邻的路由器并且进行矢量堆加
CC
DD
BB
AA
CC BB AADD
RoutingTable
RoutingTable
RoutingTable
RoutingTable
RoutingTable
RoutingTable
RoutingTable
RoutingTable
Distance—How farVector—In which direction
Distance—How farVector—In which direction
www.cisco.com
路由器从收集到的源信息中选择到达目标地址的最佳路径
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0
Routing TableRouting Table
10.2.0.010.2.0.010.3.0.010.3.0.0
0000
S0
S1
Routing TableRouting Table
10.3.0.010.3.0.0 S0 0010.4.0.010.4.0.0 E0 00
Routing TableRouting Table
10.1.0.010.1.0.010.2.0.010.2.0.0
E0
S0
00
距离矢量—源信息的获得距离矢量—源信息的获得
www.cisco.com
路由器从收集到的源信息中选择到达目标地址的最佳路径
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0
Routing TableRouting Table
10.1.0.010.1.0.010.2.0.010.2.0.010.3.0.010.3.0.0
Routing TableRouting Table
10.2.0.010.2.0.010.3.0.010.3.0.010.4.0.010.4.0.010.1.0.010.1.0.0
00001111
S0
S1
S1
S0
Routing TableRouting Table
10.3.0.010.3.0.0 S0 0010.4.0.010.4.0.0 E0 0010.2.0.010.2.0.0 S0
11
E0
S0
S0 11
00
距离矢量—源信息的获得距离矢量—源信息的获得
www.cisco.com
距离矢量—源信息的获得距离矢量—源信息的获得
路由器从收集到的源信息中选择到达目标地址的最佳路径
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0
Routing TableRouting Table
10.1.0.010.1.0.010.2.0.010.2.0.010.3.0.010.3.0.010.4.0.010.4.0.0
Routing TableRouting Table
10.2.0.010.2.0.010.3.0.010.3.0.010.4.0.010.4.0.010.1.0.010.1.0.0
00001111
S0
S1
S1
S0
Routing TableRouting Table
10.3.0.010.3.0.0 S0 0010.4.0.010.4.0.0 E0 0010.2.0.010.2.0.0 S0
10.1.0.010.1.0.0 S0
1122
E0
S0
S0
S0
1122
00
www.cisco.com
距离矢量—选择最佳路径距离矢量—选择最佳路径
用于确定最佳路由路径的参数信息
56T1
56
T1
B
A
Hop countHop count
RIP
IGRP
Bandwidth
Delay
Load
Reliability
MTU
www.cisco.com
距离矢量—管理路由信息距离矢量—管理路由信息
路由表的更新过程将通过路由器之间一步一步来完成
AA
更新路由表更新路由表
网络结构的网络结构的改变将导致改变将导致
路由表的路由表的更新更新
www.cisco.com
距离矢量—管理路由信息距离矢量—管理路由信息
路由表的更新过程将通过路由器之间一步一步来完成
AA
更新路由表更新路由表
在下一个周期后路由器 A 发送更新
过的路由表
网络结构的网络结构的改变将导致改变将导致
路由表的路由表的更新更新
www.cisco.com
距离矢量—管理路由信息距离矢量—管理路由信息
路由表的更新过程将通过路由器之间一步一步来完成
AABB
更新路由表更新路由表 更新路由表更新路由表
网络结构的网络结构的改变将导致改变将导致
路由表的路由表的更新更新
在下一个周期后路由器 A 发送更新
过的路由表
www.cisco.com
路 由 回 环路 由 回 环
每一个节点管理着与之相连的所有网络
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0
Routing TableRouting Table
10.3.0.0S0
E0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
00
Routing TableRouting Table
10.1.0.0E0
S0
S0
S0
112210.4.0.0
10.3.0.010.2.0.0
00
Routing TableRouting Table
10.2.0.0S0
S1
S1
S0
111110.1.0.0
10.4.0.010.3.0.0
00
www.cisco.com
路 由 回 环路 由 回 环
缓慢的收敛容易造成路由信息的不一致
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
10.3.0.0 S0
E0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
0Down
Routing TableRouting Table
10.1.0.0 E0
S0
S0
S0
112210.4.0.0
10.3.0.010.2.0.0
00
Routing TableRouting Table
10.2.0.0 S0
S1
S1
S0
111110.1.0.0
10.4.0.010.3.0.0
00
www.cisco.com
路由器 C 推断到达 10.4.0.0 网络的最好路径是通过路由器B
路 由 回 环路 由 回 环
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
10.3.0.0 S0
S0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
02
Routing TableRouting Table
10.1.0.0 E0
S0
S0
S0
112210.4.0.0
10.3.0.010.2.0.0
00
Routing TableRouting Table
10.2.0.0 S0
S1
S1
S1
111110.1.0.0
10.4.0.010.3.0.0
00
www.cisco.com
路由器 A 根据错误的信息升级它的路由表
路 由 回 环路 由 回 环
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
S0
S0
S0
S0
1122
10.3.0.0
10.1.0.010.2.0.010.4.0.0
02
Routing TableRouting Table
E0
S0
S0
S0
1144
10.1.0.0
10.4.0.010.3.0.010.2.0.0
00
Routing TableRouting Table
S0
S1
S1
S0
3311
10.2.0.0
10.1.0.010.4.0.010.3.0.0
00
www.cisco.com
无 限 计 数无 限 计 数
• 10.4.0.0 网络的数据将在路由器 A, B, 和 C 之间循环• 10.4.0.0 网络的跳数将无限大
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
10.3.0.0 S0
S0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
04
Routing TableRouting Table
E0
S0
S0
S0
1166
10.1.0.0
10.4.0.010.3.0.010.2.0.0
00
Routing TableRouting Table
S0
S1
S1
S0
5511
10.2.0.0
10.1.0.010.4.0.010.3.0.0
00
www.cisco.com
解决方法:定义最大跳数解决方法:定义最大跳数
指定最大跳数来防止路由回环
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
10.3.0.0
S0
S0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
016
Routing TableRouting Table
E0
S0
S0
S0
111616
10.1.0.0
10.4.0.010.3.0.010.2.0.0
00
Routing TableRouting Table
S0
S1
S1
S0
161611
10.2.0.0
10.1.0.010.4.0.010.3.0.0
00
www.cisco.com
解决方法:水平分割解决方法:水平分割
不会把从某个接口收到的路由信息再从这个接口发送回去
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XXXXXX
Routing TableRouting Table
10.3.0.0 S0
S0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
00
Routing TableRouting Table
E0
S0
S0
S0
1122
10.1.0.0
10.4.0.010.3.0.010.2.0.0
00
Routing TableRouting Table
S0
S1
S1
E1
1122
10.2.0.0
10.1.0.010.4.0.010.3.0.0
00
www.cisco.com
解决方法:路由毒杀和反转毒杀 (1)解决方法:路由毒杀和反转毒杀 (1)
路由器将该路由信息的跳数标记为无限大
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
10.3.0.0
S0
S0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
0Infinity
Routing TableRouting Table
10.1.0.0E0
S0
S0
S0
112210.4.0.0
10.3.0.010.2.0.0
00
Routing TableRouting Table
10.2.0.0S0
S1
S1
E1
112210.1.0.0
10.4.0.010.3.0.0
00
www.cisco.com
解决方法:路由毒杀和反转毒杀 (2)解决方法:路由毒杀和反转毒杀 (2)
反转毒杀可以超越水平分割
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Routing TableRouting Table
10.3.0.0
S0
S0
S0
S0
112210.1.0.0
10.2.0.010.4.0.0
0Infinity
Routing TableRouting Table
10.1.0.0E0
S0
S0
S0
112210.4.0.0
10.3.0.010.2.0.0
00
Routing TableRouting Table
10.2.0.0S0
S1
S1
E1
PossiblyDown
PossiblyDown
2210.1.0.010.4.0.010.3.0.0
00
PoisonReverse
www.cisco.com
解决方法: Hold-Down 计时解决方法: Hold-Down 计时
路由器在 Hold-Down 时间内将该条记录标记为 possibly down 以使其它路由器能够重新计算网络结构的变化
Network 10.4.0.0 is downthen back up
then back down
Update afterhold-down Time
Update afterhold-down Time
Network 10.4.0.0is unreachable
Network 10.4.0.0is unreachable
AA BB CC
10.1.0.0 10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XXUpdate after
hold-down TimeUpdate after
hold-down Time
www.cisco.com
解决方法:触发更新解决方法:触发更新
当路由表发生变化时路由器立即发送更新信息
AA BB CC
10.2.0.0 10.3.0.0 10.4.0.0
E0 S0 S0 S1 S0 E0 XX
Network 10.4.0.0is unreachable
Network 10.4.0.0is unreachable
Network 10.4.0.0is unreachable
Network 10.4.0.0is unreachable
Network 10.4.0.0is unreachable
Network 10.4.0.0is unreachable
10.1.0.0
www.cisco.com
一个完整的方案一个完整的方案
DD
BBEE
AA
XX CC
10.4.0.0
www.cisco.com
一个完整的方案一个完整的方案
DD
BBEE
AA
CCXX10.4.0.0
HolddownHolddown
HolddownHolddown
HolddownHolddown
www.cisco.com
一个完整的方案一个完整的方案
DD
BBEE
AA
CCXX10.4.0.0
HolddownHolddown
HolddownHolddown
HolddownHolddown
Poison ReversePoison Reverse
Poison ReversePoison Reverse
Poison ReversePoison Reverse
Poison ReversePoison Reverse
www.cisco.com
一个完整的方案一个完整的方案
DD
BBEE
AA
CCXX10.4.0.0
HolddownHolddown
HolddownHolddown
HolddownHolddown
Packet for Network 10.4.0.0
Packet for Network 10.4.0.0
Packet for Network 10.4.0.0
Packet for Network 10.4.0.0
www.cisco.com
一个完整的方案一个完整的方案
DD
BBEE
AA
CCLink up!Link up!
10.4.0.0
www.cisco.com
一个完整的方案一个完整的方案
DD
BBEE
AA
CCLink up!
10.4.0.0
www.cisco.com
链路状态协议链路状态协议
传递最佳的路径信息给其它的路由器
LSP 数据包
SPF运算
拓补结构数据
最佳路由信息
路由表路由表
CC AA
DD
BB
www.cisco.com
距离矢量和链路状态路由的综合应用
混 合 路 由混 合 路 由
选择基于距离矢量的路径
Converge rapidly using 通过传递变化的更新信息
达到快速收敛
选择基于距离矢量的路径
Converge rapidly using 通过传递变化的更新信息
达到快速收敛
平衡的路由平衡的路由
www.cisco.com
管理距离Administrative Distances
管理距离Administrative Distances
管理距离主要用于不同路由协议之间的可信度。 可信度的范围是: 0 到 255 之间 , 它表示一条路由选择信息源的可信性值 . 该值越小 , 可信度越高 .0 为最信任 ,255 为最不信任即没有从这条线路将没有任何流量通过 .
www.cisco.com
路由的不可信度路由的不可信度
IGRPAdministrative Distance=100
Router DRouter D
Router BRouter BRouter ARouter A
Router CRouter C
RIPAdministrative Distance=120
EE
I need to send a packet to
Network E. Both router B
and C will get it there.
Which route is best?
www.cisco.com
一些常用路由协议默认的 AD 值一些常用路由协议默认的 AD 值
直接相连 :0
静态路由 :1
EIGRP:90
IGRP:100
OSPF:110
RIP:120