Ospf 路由选路的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ospf 路由选路的问题相关的知识,希望对你有一定的参考价值。
参考技术A 路由表的形成通常遵循4条原则,一是有效的下一跳IP地址,路由进程在收到更新后,首先会检查路由的下一跳IP地址是否有效;二是度量值(开销),如果下一跳有效,路由协议将按度量值最小的原则来选择给定目的地的最佳路径;三是管理距离(h3c和华为路由器叫优先级),如果从不同的路由来源获悉了多条前往同一个网络的路由,路由器会根据路由来源的管理距离来决定哪条路由加入路由表中;四是前缀(掩码),在路由表中可以有相同网络不同前缀的路由,如果有多条路由到同一个网络,哪么遵循最长掩码匹配原则,选择前缀最长的那条路由。下面我们就用一个案例来分析一下路由的选路过程,下图是一张层次化的网络结构,网络分为核心层,汇聚层,接入层。
在以SDH为传输承载网的网络中,接入层采用E1链路上联汇聚层,接入带宽为2M,汇聚层采用STM-1链路上联核心层,接入带宽为155M,全网采用动态路由协议OSPF。OSPF路由器协议根据接口的配置带宽来计算开销, 公式是:100Mbit(参考带宽)÷接口带宽 ,小于1的取1,由于接口带宽即是实际带宽,所以没有必要对路由开销进行设计。从下图可以看出,二级分支机构1到总部的流量有两条路可以走,第一条路是经过一级分支机构1到总部,网络开销为50,第二条路是经过二级分支机构2和3,再经过一级分支机构2到总部,网络开销是146,依据上述原则第一条路是最佳路径。
在以OTN为传输承载网络的网络中,骨干网采用BGP/MPLS VPN技术,利用BGP来传播私网路由,MPLS转发私网流量。在这里我们接入骨干网的网络就是一张私网或者VPN,有独立的VRF,在这种网络中我们可以采取两种方案,第一种是全网采用BGP路由协议,这种方式实施简单,但路由表数量庞大,对CE设备性能要求高,而且无法掌握数据包的转发径路,安全性低;第二种是利用BGP协议建立ip tuunel隧道,业务网络采用ospf及其他路由协议,把路由协议从功能上分离,这样组网灵活,流量转发可控,同时过滤掉无用的BGP路由,缩减BGP路由表,降低对设备性能的要求,好似在一个三层网络上又叠加了一个三层网络,底层的三层网络负责控制平面,上层的三层网络控制数据转发平面。其中Tunnel隧道是一种逻辑接口,不同设备厂商Tunnel接口的带宽默认值定义不一样,cisco是100kbit,h3c是64kbit,所以在这两种设备上的tunnel接口的ospf路由开销分别是1000和1562,如果不对路由开销进行设计将会导致路由回流,甚至路由环路。而路由开销设计有两种方法,一种是修改接口的bandwidth值,另一种是直接修改接口的cost值。下面就举两个典型的案例:
案例一、路由回流,汇聚点流量从低带宽的二级分支机构回流到总部,在本案例中,tunnel采用默认值,开销是1000,哪么一级分支机构的流量将不会直接从tunnel 回总部,而是把二级分支机构的路由选为最优路由,因为从二级分支机构转发流量开销最低。除了考虑去程的路由,还要考虑回程路由,否则流量同样会从二级分支机构返回汇聚点。
案例二、路由环路,路由表项在两台设备之间循环,最终导致数据包的ttl值耗尽而被丢弃。本案例对一级分支机构B机上行tunnel的cost值进行了设计, 而忽略了回程tunnel的cost值,导致了目的为二级分支机构3的路由在总部两台路由器上形成环路。形成环路除了路由开销外还有一个触发条件,就是二级分支机构3的路由区域没有和骨干区域直连,而是通过一级分支机构区域建立虚链路连接到骨干区域的,恰好一级分支机构路由器A和总部路由器A的虚链路邻接关系没有建立起来,只有一级分支机构路由器B和总部路由器B的虚链路的邻接关系正常,这就意味着到二级分支机构的路由只能从总部B机返回,而此时B机上的tunnel的路由开销是1000,从而使B路由器认为到达目的网络的最优路由在A机,A机则认为最优路由在B机,形成路由环路。
在BGP/MPLS VPN网络中,至少存在两种或两种以上的路由协议,在这个场景中包含了BGP和OSPF两种路由协议。网络设备厂商对不同来源的路由设定了不同的管理距离,管理距离越小说明路由协议可信度越高,cisco设备路由协议的默认管理距离是,直连路由0,静态路由1,ebgp路由20,eigrp路由90,ospf路由110,rip路由120,ibgp路由200。而在h3c或者华为设备中的管理距离被命名为优先级,优先级越低,协议的可信度越高,其默认值是,直连路由0,ospf路由10,静态路由60,rip路由100,ibgp和ebgp路由都是255。如果bgp和ospf路由协议中都有到网络192.168.1.0/24的路由(这里bgp的路由是ebgp),哪么在cisco设备中选用ebgp的路由为最佳路由,在h3c设备中则选择ospf的路由为最佳路由。所以在路由协议的规划中要防止相同的网络在不同路由协议中通告,如果无法避免可以采用路由过滤,但不建议修改路由协议管理距离的默认值。
华为防火墙静态路由结合多出口选路
防火墙的静态路由常见路由协议概述
? 静态路由,静态路由多出口
? 动态路由
? 按作用范围分为
1) IGP路由:RIP、OSPF、ISIS
2) EGP路由:BGP
? 按使用算法分为
3) 链路状态协议:OSPF、ISIS
4) 距离矢量协议:RIP、BGP
? 策略路由、ISP选路
路由协议优先级
? 当存在多个路由信息源时,具有最高优先级的路由协议发现的路由将成为当前路由
? 默认在华为中,动态优先级优于静态
静态路由基本概念
? 配置静态路由可以在路由选择中实施非常精确的控制,但是当网络发生变化或故障时需要管理员重新进行手工配置
语法: ip route-static 目标地址 掩码 下一跳地址
出接口
出接口+下一跳(推荐)
? 静态路由可以指定出接口或指定下一跳地址
? 指定出接口场景
1) PPP接口
2) PPPoE接口
? 指定下一跳地址场景
1) NBMA接口
2) 以太网接口
3) Virtual-template
静态路由与多出口
? 多出口指的是USG通过多个接口连接到Internet或其他网络,多个接口之间形成主备备份或负载分担关系,从而提高了业务的可靠性
? 多出口功能生效的前提条件是USG上存在多条等价路由
? 多出口支持的模式有
? 主备模式
? 负载分担模式
1) 均衡式负载分担(缺省模式)
2) 溢出式负载分担
主备模式
? 在主备备份方式下,最多支持为主接口指定3个从接口,但是同一时间只有一个接口传输流量,具体工作流程如下
1) 为主接口指定从接口,并设定从接口的优先级。从接口会被设备自动置于Down状态
2) 主接口正常工作时,所有流量都通过主接口传输。即使流量超负荷,从接口也不传输流量
3) 当主接口故障时,设备会自动启动一个优先级最高、状态可用的从接口承担主接口的所有流量。如果从接口也发生故障,设备会启动另一个可用的次高优先级的从接口以此类推
4) 当原先故障的主接口恢复正常时流量会重新切换到主接口。从接口重新处于Down状态
? 主备备份方式的多出口只能检测出直连链路的故障,当主接口上行非直连链路故障时无法检测,设备不会进行主备接口切换
负载分担模式
? 在防火墙上面指定到达intetnet的两条路由同时转发数据流量 也就是两条链路东西工作
逐流与逐包报文分担方式
? 逐流转发(缺省情况下逐流转发)
1) 逐流转发以流为单位,同一条数据流的报文从同一个接口转发,不同的数据流根据一定的算法选择接口 逐流转发能保证包顺序,但不能保证带宽利用率
? 逐包转发
1) 逐包转发以报文为单位,轮询选择接口。同一条数据流的报文不一定从同一个接口转发。逐包转发能保证带宽利用率,但不能保证包的顺序
2) 逐包转发可能会导致报文来回路径不一致,这会对依赖于状态检测的特性或者场景的正常使用有影响(比如NAT)。 当需要保证报文来回路径一致的情况下请不要选择逐包负载分担方式
均衡式负载分担
? 在均衡式负载分担方式下,所有接口同时承担流量。USG最多支持8个接口进行负载分担
? 均衡式负载分担的流量分担方法有两种
1) 按百分比负载分担:也称为按权重负载分担,接口上设置的负载分担百分比越大,该接口承担的流量就越大
2) 按分担方式负载分担:按照选择的Hash方式进行负载分担,可以选择源IP地址、源端口、目的IP地址和目的端口四个元素中的一个或者多个进行Hash值计算。然后根据这个值选择一个接口传输流量
? 配置举例
溢出式负载分担
? 溢出式负载分担是结合主备方式
? 在溢出式负载分担方式下,最多支持为主接口指定3个从接口,具体工作流程如下
1) 为主接口指定从接口,并设定从接口的优先级
2) 当主接口流量超出预先设定的上限阈值时,设备会自动启动一个优先级最高、状态可用的从接口与主接口一起进行负载分担
3) 如果主接口的流量再次超出上限阈值,设备会启动另一个可用的次高优先级的从接口,在这三个接口间进行负载分担。以此类推
4) 如果所有从接口都被启用了,主接口流量即使超出上限阈值也只能在所有主从接口间负载分担
5) 当主接口流量小于设定的下限阈值时,设备关闭一个优先级最低的从接口。以此类推,直到仅剩主接口承担流量
? 配置举例
以上是关于Ospf 路由选路的问题的主要内容,如果未能解决你的问题,请参考以下文章