工程预算一个月多少钱5000,求台式主机配置详细清单,请注意下面的问题说明。

通过组建OSPF网络,在自治域内发现并计算路由信息。OSPF可以应用于大规模网络,最多可支持几百台设备。
介绍OSPF的定义和目的。
介绍OSPF的实现原理。
介绍OSPF的应用。
完成配置OSPF的基本功能后,即可以实现通过OSPF协议构建三层网络。如果还需要OSPF的其他功能,还需要根据相应章节进行配置。
介绍OSPF的配置注意事项。
介绍OSPF的缺省配置,实际应用的配置可以基于缺省配置进行修改。
通过组建OSPF网络,在自治域内发现并计算路由信息。
维护OSPF,包括清除和复位OSPF。
介绍OSPF配置举例。请结合配置流程图了解配置过程。配置示例中包括组网需求、配置思路等。
介绍常见配置错误的案例,避免在配置阶段引入故障。
介绍OSPF的参考标准和协议。
介绍OSPF的定义和目的。
定义开放式最短路径优先OSPF(Open
Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。
目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明,本文中所指的OSPF均为OSPF
Version 2。
目的在OSPF出现前,网络上广泛使用RIP(Routing
Information Protocol)作为内部网关协议。
由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。
OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:
OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。
OSPF支持无类型域间选路(CIDR)。
OSPF支持对等价路由进行负载分担。
OSPF支持报文加密。
由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接受并广泛使用。
介绍OSPF的实现原理。
OSPF协议具有以下特点:
OSPF把自治系统AS(Autonomous System)划分成逻辑意义上的一个或多个区域;
OSPF通过LSA(Link State Advertisement)的形式发布路由;
OSPF依靠在OSPF区域内各设备间交互OSPF报文来达到路由信息的统一;
OSPF报文封装在IP报文内,可以采用单播或组播的形式发送。
表5-1 &报文类型
表5-2 &LSA类型
路由器类型OSPF协议中常用到的路由器类型如所示。
图5-1 &路由器类型
表5-3 &路由器类型
路由器类型
路由类型AS区域内和区域间路由描述的是AS内部的网络结构,AS外部路由则描述了应该如何选择到AS以外目的地址的路由。OSPF将引入的AS外部路由分为Type1和Type2两类。
中按优先级从高到低顺序列出了路由类型。
表5-4 &路由类型
表5-5 &区域类型
OSPF支持的网络类型OSPF根据链路层协议类型,将网络分为如所列四种类型。
表5-6 &OSPF网络类型
STUB区域STUB区域是一些特定的区域,STUB区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。
STUB区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常来说,STUB区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。
为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给STUB区域中的其他非ABR路由器。
配置STUB区域时需要注意下列几点:
骨干区域不能配置成STUB区域。
如果要将一个区域配置成STUB区域,则该区域中的所有路由器都要配置STUB区域属性。
STUB区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。
虚连接不能穿过STUB区域。
NSSA区域NSSA(Not-So-Stubby Area)区域是OSPF特殊的区域类型。NSSA区域与STUB区域有许多相似的地方,两者都不传播来自OSPF网络其它区域的外部路由。差别在于STUB区域是不能引入外部路由,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中。
当区域配置为NSSA区域后,为保证到自治系统外的路由可达,NSSA区域的ABR将生成一条缺省路由,并发布给NSSA区域中的其他路由器。
配置NSSA区域时需要注意下列几点:
骨干区域不能配置成NSSA区域。
如果要将一个区域配置成NSSA区域,则该区域中的所有路由器都要配置NSSA区域属性。
虚连接不能穿过NSSA区域。
邻居状态机在OSPF网络中,为了交换路由信息,邻居设备之间首先要建立邻接关系,邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。
邻居关系:OSPF设备启动后,会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF设备会检查报文中所定义的参数,如果双方一致就会形成邻居关系,两端设备互为邻居。
邻接关系:形成邻居关系后,如果两端设备成功交换DD报文和LSA,才建立邻接关系。
OSPF共有8种状态机,分别是:Down、Attempt、Init、2-way、Exstart、Exchange、Loading、Full。
Down:邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。
Attempt:该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔(dead interval)超时后仍然没有回复Hello报文。此时路由器依然每发送轮询Hello报文的时间间隔(poll
interval)向对端发送Hello报文。
Init:收到Hello报文后状态为Init。
2-way:收到的Hello报文中包含有自己的Router ID,则状态为2-way;如果不需要形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。
Exstart:开始协商主从关系,并确定DD的序列号,此时状态为Exstart。
Exchange:主从关系协商完毕后开始交换DD报文,此时状态为Exchange。
Loading:DD报文交换完成即Exchange done,此时状态为Loading。
Full:LSR重传列表为空,此时状态为Full。
OSPF报文认证OSPF支持报文验证功能,只有通过验证的OSPF报文才能接收,否则将不能正常建立邻居。
路由器支持两种验证方式:
区域验证方式
接口验证方式
当两种验证方式都存在时,优先使用接口验证方式。
OSPF路由聚合路由聚合是指ABR可以将具有相同前缀的路由信息聚合到一起,只发布一条路由到其它区域。
区域间通过路由聚合,可以减少路由信息,从而减小路由表的规模,提高设备的性能。
OSPF有两种路由聚合方式:
ABR向其它区域发送路由信息时,以网段为单位生成Type3 LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段聚合成一个网段。这样ABR只发送一条聚合后的LSA,所有属于命令指定的聚合网段范围的LSA将不会再被单独发送出去。
配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type5
LSA进行聚合。当配置了NSSA区域时,还要对引入的聚合地址范围内的Type7 LSA进行聚合。
如果本地设备既是ASBR又是ABR,则对由Type7
LSA转化成的Type5 LSA进行聚合处理。
OSPF缺省路由缺省路由是指目的地址和掩码都是0的路由。当设备无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5或Type7路由。
OSPF缺省路由通常应用于下面两种情况:
由区域边界路由器(ABR)发布Type3缺省Summary LSA,用来指导区域内设备进行区域之间报文的转发。
由自治系统边界路由器(ASBR)发布Type5外部缺省ASE LSA,或者Type7外部缺省NSSA LSA,用来指导自治系统(AS)内设备进行自治系统外报文的转发。
OSPF缺省路由的发布原则如下:
OSPF路由器只有具有对区域外的出口时,才能够发布缺省路由LSA。
如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。
外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。
不同区域缺省路由发布原则如所示。
表5-7 &OSPF缺省路由发布原则
OSPF路由过滤OSPF支持使用路由策略对路由信息进行过滤。缺省情况下,OSPF不进行路由过滤。
OSPF可以使用的路由策略包括route-policy,访问控制列表(access-list),地址前缀列表(prefix-list)。
OSPF路由过滤可以应用于以下几个方面:
OSPF可以引入其它路由协议学习到的路由。在引入时可以通过配置路由策略来过滤路由,只引入满足条件的路由。
引入路由发布
OSPF引入了路由后会向其它邻居发布引入的路由信息。
可以通过配置过滤规则来过滤向邻居发布的路由信息。该过滤规则只在ASBR上配置才有效。
通过配置过滤规则,可以设置OSPF对接收到的区域内、区域间和自治系统外部的路由进行过滤。
该过滤只作用于路由表项的添加与否,即只有通过过滤的路由才被添加到本地路由表中,但所有的路由仍可以在OSPF路由表中被发布出去。
区域间LSA学习
通过命令可以在ABR上配置对进入本区域的Summary LSA进行过滤。该配置只在ABR上有效(只有ABR才能发布Summary
表5-8 &区域间LSA学习与路由学习的差异
区域间LSA学习
区域间LSA发布
通过命令可以在ABR上配置对本区域出方向的Summary LSA进行过滤。该配置只在ABR上配置有效。
OSPF多进程OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互。
路由器的一个接口只能属于某一个OSPF进程。
OSPF多进程的一个典型应用就是在VPN场景中PE和CE之间运行OSPF协议,同时VPN骨干网上的IGP也采用OSPF。在PE上,这两个OSPF进程互不影响。
OSPF RFC1583兼容RFC1583是OSPFv2协议比较早的版本。
OSPF在计算外部路由时,由于RFC2328和RFC1583的路由计算规则不一致,可能会导致路由环路。为了避免路由环路的发生,RFC2328中提出了RFC1583兼容特性。
使能RFC1583兼容后,OSPF采用RFC1583的路由计算规则。
不使能RFC1583兼容时,OSPF采用RFC2328的路由计算规则。
OSPF是根据5类LSA来计算外部路由的。RFC1583兼容特性主要用于路由器收到5类LSA后:
选择到达产生该LSA的ASBR或该LSA所描述的转发地址(Forwarding Address)的路径;
选择到达相同目的地的外部路径。
缺省情况下,OSPF兼容RFC1583。
OSPF TE(OSPF Traffic Engineering,即OSPF流量工程)是为了支持MPLS流量工程(MPLS TE),支持建立和维护TE的标签交换路径LSP(Label Switch Path)而在OSPF协议基础上扩展的新特性。在MPLS TE架构中(请参见《MPLS配置-MPLS TE配置》中的“原理描述”)OSPF扮演了信息发布组件的角色,负责收集扩散MPLS流量工程信息。
除了网络的拓扑信息外,流量工程还需要知道网络的约束信息(包括带宽、TE度量值、管理组和亲和属性等)。但OSPF现有的功能不足以满足这些要求。因此需要对现有的OSPF进行扩展,通过引入新类型的LSA来发布这些信息,CSPF(Constrained Shortest Path First)算法利用这些信息就可以计算出满足各种约束条件的路径。
图5-2 &OSPF在MPLS-TE体系中的作用
OSPF在MPLS-TE中的作用在MPLS-TE体系结构中OSPF起到了信息发布组件的作用:
收集TE相关信息。
在同一个区域中的各设备间扩散TE信息。
把同步收集到的TE信息组成流量工程数据库TEDB(TE DataBase)提供给CSPF计算。
除此之外,OSPF并不关心信息具体是什么以及MPLS如何使用这些信息。
TE-LSAOSPF通过新增Type10 Opaque LSA来实现收集和发布流量工程信息的目的。这种LSA中包含了流量工程所需要的链路状态信息,包括最大链路带宽、最大可预留带宽、当前预留带宽、链路颜色等信息。Type10 Opaque LSA利用OSPF泛洪机制在一个区域内的设备间同步这些信息,最终形成统一的TEDB,为路径计算做好准备。
OSPF TE与CSPF交互OSPF通过Type10-LSA收集区域内的TE信息,包括带宽、优先级、链路开销(Metric)等,经过处理后,把这些信息提供给CSPF进行路径计算。
IGP Shortcut和转发邻接OSPF支持IGP Shortcut和转发邻接(Forwarding Adjacency)特性,这两个特性允许OSPF使用隧道接口(Tunnel接口)作为到达某个目的地址的出接口。
IGP Shortcut和转发邻接的区别在于:
使能IGP Shortcut特性的设备使用隧道接口作为出接口,但不将这个隧道接口链路发布给邻居,因此,其他设备不能使用此隧道。
使能转发邻接特性的设备在使用隧道接口作为出接口的同时,也将这个隧道接口发布给邻居,因此,其他设备能够使用此隧道。
IGP Shortcut是单向的,只需要在使用该特性的设备上配置即可。
OSPF DS-TEDS-TE(DiffSer Aware Traffic Engineering)综合了MPLS TE和差分服务模型Diff-Ser(Differentiated Services)的优点,在精确控制流量流经的路径的基础上,可以根据业务的不同服务等级,有差别地进行流量的控制和转发,从而支持在有效利用网络资源的同时,为不同的业务流预留所需的资源。具体请参见《MPLS配置-MPLS
TE配置》中的“原理描述”。
为了支持MPLS中DS-TE的应用,OSPF支持在TE-LSA中携带子TLV(Local Overbooking Multiplier Type-Length-Value)和带宽约束BC(Bandwidth Constraint)TLV,用于发布和收集链路上各优先级的每个CT(Class Type,一条或一组LSP的相同服务等级的带宽集合)的可预留带宽。
OSPF SRLGOSPF通过获取在同一个区域的各设备间扩散TE的共享风险链路组(Shared Risk Link Group,SRLG)信息来支持MPLS中SRLG的应用。具体请参见《MPLS配置-MPLS TE配置》中的“原理描述”。
&OSPF与BFD联动
定义双向转发检测BFD(Bidirectional Forwarding Detection)是一种用于检测转发引擎之间通信故障的检测机制。
BFD对两个系统间的、同一路径上的同一种数据协议的连通性进行检测,这条路径可以是物理链路或逻辑链路,包括隧道。
OSPF与BFD联动就是将BFD和OSPF协议关联起来,将BFD对链路故障的快速感应通知OSPF协议,从而加快OSPF协议对于网络拓扑变化的响应。
目的网络上的链路故障或拓扑变化都会导致设备重新进行路由计算,所以缩短路由协议的收敛时间对于提高网络的性能是非常重要的。
由于链路故障是无法完全避免的,因此,加快故障感知速度并将故障快速通告给路由协议是一种可行的方案。BFD和OSPF相关联,一旦与邻居之间的链路出现故障,BFD的快速性能够加快OSPF的收敛速度。
表5-9 &有无OSPF与BFD联动功能对比
链路故障检测机制
原理图5-3 &OSPF与BFD联动
OSPF与BFD联动的原理如所示:
三台设备间建立OSPF邻居关系。
邻居状态到达Full状态时通知BFD建立BFD会话。
RouterA到RouterB的路由出接口为GE2/0/0,当这两台设备间的链路出现故障后,BFD首先感知到并通知RouterA。
RouterA处理邻居Down事件,重新进行路由计算,新的路由出接口为GE1/0/0,经过RouterC到达RouterB。
&OSPF GTSM
定义GTSM(Generalized TTL Security Mechanism),即通用TTL安全保护机制。GTSM通过检查IP报文头中的TTL值是否在一个预先定义好的范围内,对IP层以上业务进行保护。
目的网上存在一些“有效报文”攻击,可能通过对一台设备不断发送报文,使设备收到这些发送给本机的报文后,不辨别其“合法性”,直接由转发层面上送控制层面处理,导致设备因为处理这些“合法”报文,系统异常繁忙,CPU占用率高。
在实际应用中,GTSM特性主要用于保护建立在TCP/IP基础上的控制层面(路由协议等)免受CPU利用(CPU-utilization)类型的攻击,如CPU过载(CPU
overload)。
原理使能了GTSM特性和策略的设备会对收到的所有报文进行策略检查。对于没有通过策略的报文丢弃或者上送控制平面,从而达到防止攻击的目的。策略内容包括:
发送给本机IP报文的源地址。
报文所属的VPN实例。
IP报文的协议号(OSPF是89,BGP是6)。
TCP/UDP之上协议的协议源端口号、目的端口号。
有效TTL范围。
GTSM的实现手段如下:
对于直连的协议邻居:将需要发出的单播协议报文的TTL值设定为255。
对于多跳的邻居:可以定义一个合理的TTL范围。
GTSM的应用范围是:
GTSM对单播报文有效,对组播报文无效。这是因为组播报文本身具有TTL值为255的限制,不需要使用GTSM进行保护。
GTSM不支持基于Tunnel的邻居。
&OSPF Smart-discover
定义通常情况下,路由器会周期性地从运行OSPF协议的接口上发送Hello报文。这个周期被称为Hello Interval,通过一个Hello Timer定时器控制Hello报文的发送。这种按固定周期发送报文的方式减缓了OSPF邻居关系的建立。
通过使能Smart-discover特性,可以在特定场景下加快OSPF邻居的建立。
表5-10 &OSPF Smart-discover
接口是否配置Smart-discover
原理在以下场景中,使能了Smart-discover特性的接口不需要等待Hello Timer到时,可以主动向邻居发送Hello报文:
当邻居状态首次到达2-way状态。
当邻居状态从2-way或更高状态迁移到Init状态。
VPN多实例特性是为了支持在VPN场景中PE(Provider Edge)和CE(Customer Edge)之间能够运行OSPF协议、使用OSPF进行路由的学习和发布而在OSPF基础协议上进行的扩展。
目的OSPF是一种应用广泛的IGP协议,很多情况下,VPN用户内部网络运行OSPF。如果能够在PE-CE之间使用OSPF,PE通过OSPF向CE发布VPN路由,则在CE上就不需要配置PE-CE之间的其它路由协议,从而简化CE的管理和配置。
PE-CE间运行OSPFBGP/MPLS VPN中,PE之间使用MP-BGP传递路由信息,而PE-CE间则广泛使用OSPF进行路由学习和传递。
PE-CE间使用OSPF有如下优势:
通常在一个Site内部使用OSPF学习路由。如果PE-CE间也使用OSPF则可以减少CE设备所支持的协议种类,降低对CE设备的要求。
同样,Site内部和PE-CE间都使用OSPF可以降低网络管理人员的工作复杂度,不必要求管理人员对多种协议熟练掌握。
对于在骨干网上使能OSPF而不使能VPN的网络,将其转换为使能BGP/MPLS VPN时,由于PE-CE间继续使能OSPF,从而降低了转换的难度。
如所示,CE1、CE3和CE4都属于VPN1,图中OSPF之后的数字表示PE设备上运行的OSPF多实例进程号。
图5-4 &PE-CE间运行OSPF
CE1上的路由发布给CE3和CE4过程可以描述为:
PE1将CE1上的OSPF路由引入到BGP中,形成BGP VPNv4路由。
PE1通过MP-BGP将这些BGP VPNv4路由发布给PE2。
PE2将BGP VPNv4路由引入到OSPF,再发布给CE3和CE4。
同理,CE4和CE3上的路由发布给CE1的过程类似。
PE-CE间OSPF区域配置PE与CE之间的OSPF区域可以是非骨干区域,也可以是骨干区域(区域0),并且PE永远是ABR(Area Border Router)。
在OSPF VPN扩展应用中,MPLS VPN骨干网被看作是Area0。由于OSPF要求Area 0连续,因此,所有VPN
Site的Area0必须与MPLS VPN骨干网相连。如果VPN Site中存在OSPF Area0,则CE接入的PE必须通过Area0与这个VPN
Site的骨干区域相连(可以通过Virtual-link实现逻辑连通),如所示。
图5-5 &PE-CE间OSPF区域配置
PE-CE间配置为非骨干区域1,而Site1内配置了骨干区域0,此时Site1的骨干区域就与VPN骨干区域分离了,所以在CE1与PE1间配置虚连接(Virtual
link)来保持骨干区域连续。
OSPF Domain ID本地OSPF区域和VPN远端的OSPF区域间如果相互发布区域间路由(Inter-area routes),则认为这些区域属于同一个OSPF域(OSPF
Domain)。
域标识符(Domain ID)用来标识和区分不同的域。
每一个OSPF域都有一个或多个域标识符,其中有一个是主标识符,其它为从标识符。
如果OSPF实例没有明确域标识符,则认为它的标识符为NULL。
PE把BGP传来的远端路由向CE发布时,需要根据域标识符的情况选择向CE发布Type3、Type5或Type7的OSPF路由。
如果本地的域标识符与BGP路由信息中携带的远端域标识符相等或相互兼容,则发布3类路由;
否则,发布Type5或Type7路由。
表5-11 &Domain ID
本地和远端域标识符
本地和远端域标识符是否相等
发布的路由类型
路由环路预防PE和CE之间,如果OSPF与BGP的路由相互学习,则有可能导致路由环路问题。
图5-6 &OSPF VPN路由环路
如所示,PE1上OSPF引入了目的地址为10.1.1.1/32的BGP路由,产生5类或7类LSA发布给CE1,CE1上学到一条目的地址为10.1.1.1/32,下一跳为PE1的OSPF路由,并发布给PE2,这样PE2上就学到一条目的地址为10.1.1.1/32,下一跳为CE1的OSPF路由。
同理,CE1上也会学到一条目的地址为10.1.1.1/32,下一跳为PE2的OSPF路由,PE1上学到一条目的地址为10.1.1.1/32,下一跳为CE1的OSPF路由。
此时,CE1上存在两条等价路由,分别指向PE1和PE2,而PE1和PE2上到10.1.1.1/32的下一跳也都指向CE1,环路就产生了。
同时,由于OSPF路由的优先级高于BGP路由,PE1和PE2上到10.1.1.1/32的BGP路由被OSPF路由所替代,也就是说,PE1和PE2的路由表中活跃的是到10.1.1.1/32,下一跳为CE1的OSPF路由。
既然BGP路由转为不活跃状态,之前OSPF引入这条BGP路由时所产生的LSA就会被删除,而这样又会导致OSPF路由被撤消。路由表中没有了OSPF路由,BGP路由又变为活跃状态,继续重复之前的循环,导致路由振荡。
OSPF VPN特性专门针对这种情况提供了解决方案,如所列。
表5-12 &路由环路预防
解除路由环路预防 注意: 解除路由环路预防可能导致路由环路,进行该操作时应谨慎。
在BGP/OSPF路由进行交互的过程中,路由环路预防功能能够防止OSPF路由在VPN站点内的路由环路。
但在跨域VPN-OptionA方式场景下,当ASBR之间运行OSPF协议来发送VPN路由信息时,由于系统路由环路预防机制,将导致对端ASBR不能学习到本端ASBR发送的OSPF路由。
如所示,采用OptionA方式实现跨域VPN。以CE1发送VPN路由到CE2为例说明(PE1与CE1之间运行OSPF协议为例):
图5-7 &跨域VPN-OptionA组网图
PE1通过私网OSPF进程学习到了去往CE1站点的路由,并将这些路由引入到MP-BGP中,发送给ASBR1。
ASBR1收到MP-BGP路由后,会将这些路由引入到私网OSPF进程中,在生成Type3、Type5或Type7 LSA时,会将DN位置为1。
ASBR2通过OSPF协议学习到这些LSA时,会对LSA中的DN位进行检查。发现这些LSA的DN位为1,将忽略这些路由。
综上,由于系统的路由环路预防机制,导致ASBR2上学习不到对端ASBR1发来的OSPF路由,导致了CE1与CE3之间不能互通。
为解决上面的问题,有以下的解决方法:
不对DN位置位:在将BGP路由引入到OSPF过程中,不对LSA的DN位置位。例如ASBR1在将MP-BGP路由引入到OSPF中时,不对DN位置位,ASBR2收到这些路由时,检查DN位为0,可以参加选路。
不对DN位检查:在收到LSA后,不检查DN位。例如ASBR1在将MP-BGP路由引入到OSPF中时,对DN位置位,ASBR2收到这些路由时,不进行DN位检查。
为增加上述方式使用的灵活性,可以只针对特定Type类型的LSA应用。对于Type3 LSA,还可以根据生成LSA设备的OSPF的router-id决定是否进行DN位置位或者检查。
如所示,跨域VPN-OptionA方式,下ASBR之间为全连接,且都运行OSPF协议。对于ASBR2而言,可能会收到ASBR4上产生的Type3、Type5或Type7
LSA,如果在ASBR2上设置不对DN位检查,Type3 LSA会被接收,按照中的描述,会引起路由的环路。而对于Type5或Type7
LSA,因为LSA中携带的Route Tag与ASBR2上OSPF进程默认的VPN Route Tag一致,ASBR2上会忽略这些LSA。
针对Type 3类型的LSA容易引起路由环路的问题,可以在ASBR2上设置只针对OSPF Router ID为10.1.1.1和10.3.3.3的Type
3类型的LSA不进行DN位检查。设置后,当ASBR2再收到ASBR4产生的Type3 LSA时,因为该LSA的OSPF Router
ID为10.4.4.4,ASBR2会进行DN位的检查,发现DN位已置位,从而忽略这些LSA。
图5-8 &跨域VPN-OptionA ASBR全连接组网图
Multi-VPN-Instance
CEOSPF多实例通常运行在PE上,在用户局域网内部运行OSPF多实例的设备称为Multi-VPN-Instance
CE(MCE),即多实例CE。
与PE上的OSPF多实例相比:
Multi-VPN-Instance CE不需要支持BGP/OSPF互操作功能。
Multi-VPN-Instance CE通过为不同的业务建立各自的OSPF实例,相当于不同的业务使用不同的虚拟CE,从而以较低的成本解决局域网的安全问题。
Multi-VPN-Instance CE在同一台CE上实现不同的OSPF多实例。其实现的关键在于禁止路由环路的检查,直接进行路由计算。也就是说,MCE收到了带有DN-bit的LSA也会用于路由计算。
&OSPF NSSA
定义OSPF规定STUB区域是不能引入外部路由的,这样可以避免大量外部路由对STUB区域路由器带宽和存储资源的消耗。对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,STUB区域就不再满足需求了。因此产生了NSSA区域。
OSPF NSSA区域(Not-So-Stubby Area)是OSPF新增的一类特殊的区域类型。
NSSA区域和STUB区域有许多相似的地方。两者的差别在于,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由。
图5-9 &NSSA区域
N-bit一个区域内所有路由器上配置的区域类型必须保持一致。OSPF在Hello报文中使用N-bit来标识路由器支持的区域类型,区域类型选择不一致的路由器不能建立OSPF邻居关系。
虽然协议有要求,但有些厂商实现时违背了,在OSPF DD报文中也置位了N-bit,为了和这些厂商互通,路由器的实现方式是可以通过命令设置N-bit来兼容。
Type7 LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述引入的外部路由信息。
Type7 LSA由NSSA区域的自治域边界路由器(ASBR)产生,其扩散范围仅限于ASBR所在的NSSA区域。
NSSA区域的区域边界路由器(ABR)收到Type7 LSA时,会有选择地将其转化为Type5 LSA,以便将外部路由信息通告到OSPF网络的其它区域。
Type7 LSA转化为Type5 LSA为了将NSSA区域引入的外部路由发布到其它区域,需要把Type7 LSA转化为Type5 LSA以便在整个OSPF网络中通告。
P-bit(Propagate bit)用于告知转化路由器该条Type7 LSA是否需要转化。
缺省情况下,转换路由器的是NSSA区域中Router ID最大的区域边界路由器(ABR)。
只有P-bit置位并且FA(Forwarding Address)不为0的Type7 LSA才能转化为Type5 LSA。FA用来表示发送的某个目的地址的报文将被转发到FA所指定的地址。
区域边界路由器产生的Type7 LSA不会置位P-bit。
缺省路由环路预防在NSSA区域中,可能同时存在多个ABR,为了防止路由环路产生,边界路由器之间不计算对方发布的缺省路由。
&OSPF快速收敛
OSPF快速收敛是为了提高路由的收敛速度而做的扩展特性。包括:
PRC(Partial Route Calculation)部分路由计算:当网络上路由发生变化的时候,只对发生变化的路由进行重新计算。
通过智能定时器控制LSA的生成与接收,达到对低频变化快速响应,又能对高频变化起到有效抑制的目的。
在标准RFC2328协议中,通过如下两个规定来避免网络连接或者路由频繁动荡引起的过多占用设备资源的情况。
同一条LSA在1秒内不能再次生成,即LSA的更新时间间隔5秒。
LSA被接收的时间间隔为1秒。
在网络相对稳定、对路由收敛时间要求较高的组网环境中,可以通过智能定时器指定LSA的更新、被接收的时间间隔为0,使得拓扑或者路由的变化可以通过LSA发布到网络中,或者立即被感知到,从而加快路由的收敛。
通过智能定时器控制路由计算:
当网络发生变化时,OSPF需要重新进行路由计算,为避免这种频繁的网络变化对设备造成的冲击,标准RFC2328规定路由计算时要使用延迟定时器,定时器超时后才进行路由计算。但标准协议中,该定时器定时间隔固定,无法做到既能快速响应又能抑制震荡。
通过智能定时器来控制路由计算的延迟时间,达到对低频率变化快速响应,又能对高频率变化起到有效抑制的目的。
&OSPF按优先级收敛
OSPF按优先级收敛是指在大量路由情况下,能够让某些特定的路由优先收敛的一种技术。通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。
OSPF按优先级收敛能够让某些特定的路由优先收敛,因此用户可以把和关键业务相关的路由配置成相对较高的优先级,使这些路由更快的收敛,从而使关键的业务受到的影响减小。
&OSPF与BGP联动
定义当有新的设备加入到网络中,或者设备重启时,可能会出现在BGP收敛期间内网络流量丢失的现象。这是由于IGP收敛速度比BGP快而造成的。
通过使能OSPF与BGP联动特性可以解决这个问题。
目的在存在备份链路的情况下,BGP在链路回切时,由于路由收敛速度滞后于OSPF路由收敛速度,从而造成流量丢失。
如所示,四台设备RouterA、RouterB、RouterC、RouterD之间运行OSPF协议,并建立IBGP连接。RouterC为RouterB的备份设备。当网络环境稳定时,BGP与OSPF在设备上是完全收敛的。
正常情况下,从RouterA到10.3.1.0/30的流量会途经RouterB。当RouterB发生故障后,流量切换到RouterC。RouterB故障恢复以后,流量回切到RouterB,此时会有流量丢失。
这是因为,在流量回切到RouterB的过程中,IGP收敛速度比BGP快,因此OSPF先收敛,BGP还没有完成收敛,导致RouterB不知如何到达10.3.1.0/30。
这样,当从RouterA去往10.3.1.0/30的流量被发送给RouterB时,由于没有必要的路由选择信息,这些流量就会被丢弃。
图5-10 &OSPF与BGP联动
原理使能了OSPF与BGP联动特性的设备会在设定的联动时间内保持为Stub路由器,也就是说,该设备发布的LSA中的链路度量值为最大值(65535),从而告知其它OSPF设备不要使用这个路由器来转发数据。
中,在RoutetB上使能BGP联动,这样,在BGP收敛完成前,RouterA不把流量转发到RouterB上,而是继续使用备份设备RouterC转发流量,直到RouterB上的BGP路由完成收敛。
&OSPF本地MT
定义与目的当网络中同时部署了组播和MPLS TE-Tunnel时,组播的功能可能会受到TE-Tunnel的影响,导致业务不可用。
为了解决该问题,可以使能本地组播拓扑(Local Multicast-Topology,Local MT)特性,以指导组播报文正确转发。
Local MT在TE-Tunnel上配置了IGP Shortcut后,IGP计算出来的路由的出接口可能不再是实际的物理接口,而是TE-Tunnel接口。
路由器根据到达组播源地址的单播路由,从TE-Tunnel接口发送组播加入报文,这样,被TE-Tunnel跨越的路由器就无法感知到组播加入报文,因而不会建立组播转发表项。
如所示,RouterB被TE-Tunnel跨越从而不会建立组播转发表项。
图5-11 &OSPF Local MT
由于TE-Tunnel是单向的,从组播源发出的组播数据会直接通过物理接口发送到这些被跨越的路由器,但因为这些路由器上并没有组播转发表项,导致组播数据报文丢弃,从而造成业务不可用。
使能本地MT特性后,如果计算出来的路由出接口为IGP-Shortcut类型的TE-Tunnel,路由管理模块会为组播协议创建单独的MIGP路由表,并为该路由计算出实际的物理出接口,将其加入到MIGP路由表中。组播利用MIGP路由表中的路由进行转发。
中请求加入组播组的报文到达RouterA后会通过接口GE1/1/0发给RouterB,这样RouterB就能正确建立组播转发表。
随着路由设备普遍采用了控制和转发分离的技术,在网络拓扑保持稳定的情况下,控制层面的重启并不会影响转发层面,转发层面仍然可以很好地完成数据转发任务,从而保证业务不受影响。
GR技术保证了在重启过程中转发层面能够继续指导数据的转发,同时控制层面邻居关系的重建以及路由计算等动作不会影响转发层面的功能,从而避免了路由震荡引发的业务中断,提高了整网的可靠性。
基本概念GR是Graceful Restart的简称,又被称为平滑重启,是一种用于保证当路由协议重启时数据正常转发并且不影响关键业务的技术。
如果没有特殊说明,以下所说GR均表示RFC3623所规定的GR技术。
GR技术是属于高可靠性(HA,High Availability)技术的一种。HA是一整套综合技术,主要包括冗余容错、链路保证、节点故障修复及流量工程。GR是一种冗余容错技术,目前已经被广泛的使用在主备切换和系统升级方面,以保证关键业务的不间断转发。
和GR相关的概念如下:
OSPF通过新增Grace-LSA来支持GR功能。这种LSA用于在开始GR和退出GR时向邻居通告GR的时间、原因以及接口地址等内容。
路由器在GR中的角色
Restarter:重启路由器。可以通过配置支持完全GR或者部分GR。
Helper:协助重启路由器。可以通过配置支持有计划GR、无计划GR或者通过策略有选择支持GR。
Unknown:未知原因导致的GR操作。
Software restart:通过命令行主动触发的GR操作。
Software reload/upgrade:软件重启或升级导致的GR操作。
Switch to redundant control processor:异常主备倒换导致的GR操作。
GR的持续时间
GR持续时间最长不超过1800秒。GR成功或失败都可以提前退出,不必等到超时才退出。
完全GR(Totally GR):指当有一个邻居不支持GR功能时,整个路由器退出GR状态。
部分GR(Partly GR):指当有一个邻居不支持GR时,仅该邻居所关联的接口退出GR,其它接口正常进行GR过程。
有计划GR(Planned GR):指手动通过命令使路由器执行重启或主备倒换。在进行重启或主备倒换前Restarter会先发送Grace-LSA。
非计划GR(UnPlanned GR):与Planned GR的区别在于,路由器是由于故障等原因进行重启或主备倒换,并且在主备倒换前不会事先发送Grace-LSA,而是直接开始主备倒换,在备板正常Up后才进入GR过程。以下的步骤同Planned GR。
对于Planned GR,主备倒换命令执行后,Restarter会首先向每个邻居发送一个Grace-LSA,通知邻居GR的开始以及GR的周期、原因等,然后进行主备倒换。
对于UnPlanned GR,则不发送这个Grace-LSA。
当备板正常Up后,立即发送一个Grace-LSA,通知邻居自己进入GR,包括GR的周期、原因等。然后会再向每个邻居连续发送5个Grace-LSA。(连续发送5个是为了确保邻居收到该Grace-LSA。此为各厂商实现方案,非协议规定)。
此时发送的Grace-LSA是为了告知邻居自己进入GR状态,邻居会在GR期间保持与Restarter的邻居关系,让其它路由器感知不到Restarter的倒换。
图5-12 &OSPF GR过程
表5-13 &GR退出原因
GR执行情况
有无GR技术的比较
表5-14 &有无GR技术的比较
无GR技术的主备倒换
有GR技术的主备倒换
&OSPF-LDP联动
定义在存在主备链路的网络中,当主链路故障恢复后,流量会从备份链路切换到主链路。
由于IGP的收敛在LDP会话建立之前完成,导致旧的LSP已经删除,新的LSP还没有建立,因此LSP流量中断。
目的如所示,PE1-P1-P2-P3-PE2为主链路,PE1-P1-P4-P3-PE2为备份链路。
主链路发生故障,流量从主链路切换到备份链路。主链路故障恢复,流量从备份链路回切到主链路,此时流量会有较长时间的中断。
图5-13 &OSPF-LDP联动
通过在P1和P2上配置标签分发协议LDP(Label Distribution Protocol)和IGP同步功能,能够缩短流量从备份链路切换到主链路时的中断时间。
表5-15 &OSPF-LDP联动
是否使能OSPF-LDP联动特性
流量中断时间
原理LDP和IGP同步的基本原理是:通过抑制IGP建立邻居关系来推迟路由的回切,直至LDP完成收敛。也就是在主链路的LSP建立之前,先保留备份链路,让流量继续从备份链路转发,直至主链路的LSP建立成功,再删除备份链路。
LDP和IGP同步包括三个定时器:
Hold-max-cost
当主链路故障恢复后,路由器进行以下操作:
启动Hold-down定时器,IGP接口先不建立IGP邻居,等待LDP会话的建立。
Hold-down定时器超时后,启动Hold-max-cost定时器。IGP在本地路由器的链路状态通告中,向主链路通告接口链路的最大metric值。
故障链路的LDP会话重新建立以后,启动Delay定时器等待LSP的建立。
Delay定时器超时以后,无论IGP的状态如何,LDP都通知IGP同步流程结束。
&OSPF Database Overflow
定义OSPF协议要求同一个区域中的路由器保存相同的链路状态数据库LSDB(Link-State Database)。
随着网络上路由数量不断增加,一些路由器由于系统资源有限,不能再承载如此多的路由信息,这种状态就被称为数据库超限(OSPF Database Overflow)。
目的对于路由信息不断增加导致路由器系统资源耗尽而失效的问题,可以通过配置Stub或NSSA区域来解决,但Stub或NSSA区域的方案不能解决动态路由增长导致的数据库超限问题。为了解决数据库超限引发的问题,通过设置LSDB中External LSA的最大条目数,可以动态限制链路数据库的规模。
原理通过设置路由器上非缺省外部路由数量的上限,来避免数据库超限。
OSPF网络中所有路由器都必须配置相同的上限值。这样,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动超限状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出超限状态。
表5-16 &OSPF Database Overflow
Overflow状态阶段
OSPF处理流程
&OSPF Mesh-Group
Mesh-Group是将并行链路场景中的链路分组,从而洪泛时从群组中选取代表链路进行洪泛,避免重复洪泛而造成不必要的系统压力。
缺省情况下,不使能Mesh-Group功能。
目的当OSPF进程收到一个LSA或者新产生一个LSA时,会进行洪泛操作。并行链路场景下,OSPF会对每一条链路洪泛LSA,发送Update报文。
这样,如果有2000条并行链路,则每个LSA洪泛都要发送2000次,然而只有一次洪泛是有效的,其他1999次洪泛为重复洪泛。
为了避免这种重复洪泛而造成的系统压力,使能Mesh Group特性,可以将并行链路进行归组,选取代表链路进行洪泛。
原理如所示,RouterA和RouterB建立OSPF邻居关系,通过3条链路相连。当RouterA从接口4接收到新的LSA后,会将该LSA通过1、2、3接口洪泛到RouterB。
这种洪泛方式会造成并行链路的压力,因为对于存在多条并行链路的邻居来说,只需要选取一条主链路进行洪泛LSA即可。
图5-14 &没有使能OSPF Mesh-Group特性时LSA的洪泛情况
使能了OSPF Mesh-Group特性的设备和邻居存在多条并行链路时,当其收到LSA后,会选取一条主链路进行泛洪,如所示。
当主链路上接口状态低于Exchange时,OSPF会在并行链路中重新选取主链路,并继续洪泛LSA,这是因为,OSPF规定,只有当邻居状态达到Exchange时,才能洪泛LSA。并且,当RouterB从链路1收到来自RouterA洪泛的LSA后,不会再将该LSA从链路2、3反向洪泛给RouterA。
图5-15 &使能OSPF Mesh-Group特性时LSA的洪泛情况
Mesh-Group以邻居的Router ID唯一标识一个群组,接口状态大于Exchange且与同一个邻居相连的接口属于同一个Mesh-Group。
如所示,RouterA在区域0中有一个群组,分别是接口1和接口2所在的链路。由于接口3所在的链路为广播链路,有超过一个邻居,所以不能加入到群组中。
图5-16 &接口不能加入到群组中的情况
说明: 另外,路由器使能Mesh-Group后,若其直连的邻居路由器Router ID配置重复,会引起全网LSDB不同步、路由计算不正确的情况,需要重新配置邻居路由器的Router
ID(注:配置重复Router ID属于错误配置)。
介绍OSPF的应用。
如所示,RouterA、RouterB、RouterC和RouterD运行OSPF协议实现网络互通,RouterA和RouterB使能了GR功能。当RouterA重启时,RouterB协助RouterA完成平滑重启,但并不通告给其它邻居,网络流量并不中断。
图5-17 &OSPF GR
&OSPF GTSM
如所示,各路由器间运行OSPF协议,在RouterC上启用GTSM保护功能。各路由器发往RouterC的报文有效TTL范围如下:
RouterA和RouterE是RouterC的相邻路由器,报文有效TTL范围是255-hops+1到255。
RouterB、RouterD、RouterF发往RouterC的报文有效TTL范围分别是254到255、253到255、252到255。
图5-18 &OSPF GTSM
&配置任务概览
完成配置OSPF的基本功能后,即可以实现通过OSPF协议构建三层网络。如果还需要OSPF的其他功能,还需要根据相应章节进行配置。
OSPF的配置任务如所示。
表5-17 &OSPF配置任务概览
&配置注意事项
介绍OSPF的配置注意事项。
涉及网元需要其他网元支持OSPF协议。
License支持使用OSPF功能无需获得License许可。
表5-18 &产品形态和最低软件版本支持情况
最低支持版本
特性依赖和限制无
介绍OSPF的缺省配置,实际应用的配置可以基于缺省配置进行修改。
OSPF的缺省配置如所示。
表5-19 &OSPF缺省配置
通过组建OSPF网络,在自治域内发现并计算路由信息。
配置完OSPF的基本功能,就可以组建起最基本的OSPF网络。
OSPF网络中,所有链路状态信息都在邻居或邻接中传递、交换。配置合理的OSPF邻居或邻接关系的会话参数,对整网的稳定性起着重要作用。
通过配置OSPF接口的网络类型和调整属性,可以灵活组建OSPF网络。
通过将位于AS边缘的一些非骨干区域配置成Stub,可以缩减LSDB和路由表规模,减少需要传递的路由信息数量。
通过将位于自治系统边缘的非骨干区域配置成NSSA区域,可以缩减其路由表规模,减少需要传递的路由信息数量。
在同时部署了组播和MPLS TE-Tunnel的网络中,通过配置OSPF本地MT特性,可以建立正确的组播路由表并指导组播报文的转发。
通过调整OSPF选路,使得网络以满足复杂环境中的需要。
控制OSPF路由信息包括引入外部路由以及对路由、LSA的过滤。
如果需要提高链路状态变化时OSPF的收敛速度,可以在运行OSPF的链路上配置BFD特性。当BFD检测到链路故障时,能够将故障通告给路由协议,触发路由协议的快速收敛;当邻居关系为Down时,则动态删除BFD会话。
通过调整定时器,可以达到网络快速收敛的目的。
配置OSPF GR可以避免流量中断和主备板切换带来的路由震荡。
稳定的OSPF网络意味路由振荡较少、设备性能正常,表现出的网络性能较好。
在对安全性要求较高的网络中,可以通过配置OSPF验证特性和GTSM机制来提高OSPF网络的安全性。
OSPF同时支持网管功能,可以配置OSPF MIB与某一进程绑定,以及发送Trap消息和日志功能。
&配置OSPF的基本功能
配置完OSPF的基本功能,就可以组建起最基本的OSPF网络。
应用环境在同一区域内配置多台交换机时,大多数的配置数据(如定时器、过滤、聚合等)都应该以区域为单位进行统一规划。错误的配置可能会导致相邻交换机之间无法相互传递信息,甚至导致路由信息的阻塞或者自环。
在接口视图下配置的OSPF命令不受OSPF是否使能的限制。在关闭OSPF后,原来在接口下配置的相关命令仍然存在。
前置任务在配置OSPF的基本功能之前,需完成以下任务:
配置接口的网络层地址,使各相邻节点网络层可达。
&创建OSPF进程
一台交换机如果要运行OSPF协议,必须存在Router ID。交换机的Router ID是一个32比特无符号整数,是一台交换机在自治系统中的唯一标识。为保证OSPF运行的稳定性,在进行网络规划时应该确定Router
ID的划分并手工配置。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *,启动OSPF进程,进入OSPF视图。
process-id为进程号,缺省值为1。
交换机支持OSPF多进程,可以根据业务类型划分不同的进程。进程号是本地概念,不影响与其它交换机之间的报文交换。因此,不同的交换机之间,即使进程号不同也可以进行报文交换。
router-id router-id为交换机的ID号。
缺省情况下,交换机系统会从当前接口的IP地址中自动选取一个最大值作为Router ID。手动配置Router ID时,必须保证自治系统中任意两台Router ID都不相同。通常的做法是将Router ID配置为与该设备某个接口的IP地址一致。
说明: 每个OSPF进程的Router ID要保证在OSPF网络中唯一,否则会导致邻居不能正常建立、路由信息不正确的问题。建议在OSPF设备上单独为每个OSPF进程配置全网唯一的Router ID。
vpn-instance vpn-instance-name表示VPN实例。
如果指定了VPN实例,那么此OSPF进程属于指定的VPN实例,如果未指定则属于公网实例。
&创建OSPF区域
随着网络规模日益扩大,设备数量的增多会导致LSDB非常庞大,导致设备负担很重。OSPF协议通过将自治系统划分成不同的区域(Area)来解决上述问题。区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。区域的边界是设备,而不是链路。一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *,启动OSPF进程,进入OSPF视图。
执行命令area area-id,创建并进入OSPF区域视图。
并非所有的区域都是平等的关系。其中区域号(Area ID)是0的称为骨干区域。骨干区域负责区域之间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发。
创建OSPF进程后,还需要配置区域所包含的网段。一个网段只能属于一个区域,或者说每个运行OSPF协议的接口必须指明属于某一个特定的区域。该处的网段是指运行OSPF协议接口的IP地址所在的网段。
OSPF需要对接收到的Hello报文做网络掩码检查,当接收到的Hello报文中携带的网络掩码和本设备不一致时,则丢弃这个Hello报文,即不能建立邻居关系。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
可以在OSPF区域和指定接口中使能OSPF。
在OSPF区域中使能OSPF。
执行命令network ip-address wildcard-mask,配置区域所包含的网段。
满足下面两个条件,接口上才能正常运行OSPF协议:
接口的IP地址掩码长度≥network命令指定的掩码长度。
接口的主IP地址必须在network命令指定的网段范围内。
缺省情况下,OSPF以32位主机路由的方式对外发布Loopback接口的IP地址,与Loopback接口上配置的掩码长度无关。如果要发布Loopback接口的网段路由,需要在接口下配置网络类型为NBMA或广播型。请参考。
在指定接口中使能OSPF。
在系统试图中执行命令interface interface-type interface-number,进入接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf enable [ process-id ] area area-id,在接口上使能OSPF。
区域ID可以采用十进制整数或IPv4地址形式输入,但显示时使用IPv4地址形式。
&(可选)创建虚连接
在划分OSPF区域之后,非骨干区域之间的OSPF路由更新是通过骨干区域来交换完成的。因此,OSPF要求所有非骨干区域必须与骨干区域保持连通,并且骨干区域之间也要保持连通。但在实际应用中,因为各方面条件的限制,可能无法满足这个要求,这时可以通过配置OSPF虚连接解决。
请在运行OSPF协议的设备上进行以下配置。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令vlink-peer router-id [ smart-discover | hello hello-interval | retransmit retransmit-interval | trans-delay trans-delay-interval | dead dead-interval | [ simple [ plain plain-text | [ cipher ] cipher-text ] | { md5 | hmac-md5 | hmac-sha256 } [ key-id { plain plain-text | [ cipher ] cipher-text } ] | authentication-null | keychain keychain-name ] ] *,创建并配置虚连接。
在虚连接的另一端也需要配置此命令。
说明: 如果使用plain选项,密码将以明文形式保存在配置文件中,存在安全隐患。建议使用cipher选项,将密码加密保存。
MD5和HMAC-MD5认证模式存在风险,推荐使用HMAC-SHA256认证模式。
建立虚连接后,不同的设备制造商可能会使用不同的MTU(maximum transmission unit)缺省设置。为了保证一致,应该设置接口发送DD报文时MTU值为缺省值0。参见。
&(可选)配置对OSPF更新LSA的泛洪限制
当邻居数量或者需要泛洪的LSA报文数量较多时,邻居路由器会在短时间内收到大量的更新报文。如果邻居路由器不能及时处理这些突发的大量报文,则有可能因为忙于处理更新报文而丢弃了维护邻居关系的Hello报文,造成邻居断开。而重建邻居时,需要交互的报文数量将会更大,由此导致报文数量过大的情况进一步恶化。通过对OSPF更新LSA的泛洪限制可以有效避免以上情况的发生,起到了维护邻居关系的目的。
请在运行OSPF协议的交换机上进行以下配置。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令flooding-control [ number transmit-number | timer-interval transmit-interval ] *,配置对OSPF更新LSA的泛洪限制。
缺省情况下,每次泛洪更新LSA的数量的缺省值是50,泛洪更新LSA的时间间隔是30秒。
配置flooding-control命令后,控制对OSPF更新LSA的泛洪的这个功能立刻生效。
若没有配置flooding-control命令,当邻居数量超过256个时自动使能该功能。
&检查配置结果
已经完成OSPF基本功能的所有配置。
在任意视图下执行display ospf [ process-id ] peer命令,查看OSPF邻居的信息。
在任意视图下执行display ospf [ process-id ] interface命令,查看OSPF接口的信息。
在任意视图下执行display ospf [ process-id ] routing命令,查看OSPF路由表的信息。
在任意视图下执行display ospf [ process-id ] lsdb命令,查看OSPF的LSDB信息。
&配置OSPF邻居或邻接的会话参数
OSPF网络中,所有链路状态信息都在邻居或邻接中传递、交换。配置合理的OSPF邻居或邻接关系的会话参数,对整网的稳定性起着重要作用。
前置任务在配置OSPF邻居或邻接关系的会话参数之前,需完成以下任务:
配置链路层协议。
配置接口的网络层地址,使各相邻节点网络层可达。
配置流程以下配置任务(不含检查配置结果),根据应用环境选择其中一项或几项进行配置。
&配置OSPF报文重传限制
OSPF交换机发送完以下这三种报文后,若没有在规定时间内收到相应的LSAck报文,会再次重传。当达到限定报文重传次数后,本端就断开和对方的邻接关系。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令retransmission-limit [ max-number ],配置OSPF重传限制功能。
缺省情况下,不使能此功能。最大重传限制数的缺省值是30。
&使能在DD报文中填充接口的实际MTU
建立虚连接后,不同的设备制造商可能会使用不同的MTU缺省设置。为了保证一致,应该设置接口发送DD报文时MTU值为缺省值0。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入运行OSPF协议的接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf mtu-enable,使能接口发送DD报文时填充MTU值,同时还会检查邻居DD报文所携带的MTU是否超过本端的MTU值。
缺省情况下,接口发送DD报文的MTU值为0。
注意: 当配置DD报文MTU值后,会引起邻居关系重新建立。
&检查配置结果
已经完成配置OSPF邻居或邻接的会话参数的所有配置。
使用display ospf [ process-id ] peer命令查看OSPF邻居的信息。
使用display ospf [ process-id ] brief命令查看OSPF的概要信息。
使用display ospf [ process-id ] retrans-queue [ interface-type interface-number ] [ neighbor-id ] [ low-level-of-retrans-times-range min-time ] [ high-level-of-retrans-times-range max-time ]命令查看OSPF重传列表。
&配置OSPF在不同网络类型中的属性
通过配置OSPF接口的网络类型和调整属性,可以灵活组建OSPF网络。
应用环境OSPF根据链路层协议类型将网络分为四种不同的类型。如所示。
说明: 本章仅体现在NBMA网络和P2MP网络中有差异的OSPF配置。OSPF的其他功能适用于四种网络类型。
表5-20 &OSPF的网络类型和特点
由可以看出,OSPF协议在上述四种网络类型中的差异主要集中在发送报文形式不同,因此,在四种网络类型中配置的OSPF协议,配置差异主要体现在协议报文的发送形式的配置。
前置任务在配置OSPF在不同网络类型中的属性之前,需完成以下任务:
配置接口的网络层地址,使各相邻节点网络层可达。
配置流程配置接口的网络类型是配置P2MP和NBMA网络属性的前置任务。
&配置接口的网络类型
下面三种情况是配置接口网络类型的最常见情况:
P2MP网络类型:由于P2MP不存在于链路层协议中,所以P2MP都是由其他网络类型强制更改的。
NBMA网络类型:由于NBMA网络必须是全连通的,所以网络中任意两台交换机之间都必须直接可达。但在很多情况下,这个要求无法满足,这时就需要通过命令强制改变网络的类型。
广播网络类型:为了提高建立邻居速度,可以将广播类型网络更改为P2P网络。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入运行OSPF的接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf network-type { broadcast | nbma | p2mp | p2p
[ peer-ip-ignore ] },配置OSPF接口的网络类型。
缺省情况下,接口的网络类型根据物理接口而定。以太网接口的网络类型为广播。
当用户为接口配置了新的网络类型后,原接口的网络类型将被替换。
根据实际情况配置接口的网络类型,例如:
如果接口的网络类型是广播,但在广播网络上有不支持组播地址的交换机,可以将接口的网络类型改为NBMA网络。
如果接口的网络类型是NBMA,且网络是全连通的,即任意两台交换机都直接可达。此时,可以将接口类型改为广播网络,并且不必再配置邻居路由器。
如果接口的网络类型是NBMA,但网络不是全连通的,必须将接口的网络类型改为P2MP。这样,两台不能直接可达的交换机就可以通过一台与两者都直接可达的交换机来交换路由信息。接口的网络类型改为P2MP网络后,不必再配置邻居交换机。
如果同一网段内只有两台交换机运行OSPF协议,建议将接口的网络类型改为P2P网络。
说明: OSPF协议不支持NULL接口的配置。
&配置P2MP网络属性
配置忽略对网络掩码的检查。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf
network-type p2mp,配置OSPF接口的网络类型。
P2MP网络类型必须是由其他的网络类型强制更改的。详细描述参见。
执行命令ospf p2mp-mask-ignore命令,配置在P2MP网络上忽略对网络掩码的检查。
配置对发送的LSA进行过滤。
当两台交换机之间存在多条链路时,通过对出方向的LSA进行过滤可以在某些链路上过滤LSA的传送,减少不必要的重传,节省带宽资源。
执行命令quit,退出接口视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令filter-lsa-out
peer ip-address { all | { summary [ acl { acl-number | acl-name } ] | ase [ acl { acl-number | acl-name }
] | nssa [ acl { acl-number | acl-name }
] } * },配置在P2MP网络中对发送的LSA进行过滤。
缺省情况下,不对LSA进行过滤。
&配置NBMA网络属性
(可选)配置NBMA网络类型。
由于NBMA网络必须是全连通的,所以网络中任意两台交换机之间都必须直接可达。但在很多情况下,这个要求无法满足,此时必须通过命令强制改变网络的类型为P2MP。详细描述参见。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf
network-type nbma,配置OSPF接口的网络类型为NBMA。
(可选)配置NBMA网络发送轮询报文的时间间隔。
在NBMA网络上,当邻居失效后,交换机将按设置的轮询时间间隔定期地发送Hello报文。
执行命令ospf timer
poll interval,在NBMA接口上配置发送轮询报文的时间间隔。
缺省情况下,时间间隔interval为120秒。
配置NBMA网络的邻居。
网络类型为NBMA的接口,无法通过广播Hello报文的形式发现邻居交换机,必须在接口上手工配置邻居交换机的IP地址和邻居交换机是否有选举权。
执行命令quit,退出接口视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令peer ip-address [ dr-priority priority ],配置NBMA网络的邻居。
&检查配置结果
已经完成OSPF在NBMA网络和P2MP网络中的属性的所有配置。
使用以下命令查看OSPF的LSDB信息:
display ospf [ process-id ] lsdb [ brief ]
display ospf [ process-id ] lsdb [ { router | network | summary | asbr | ase | nssa | opaque-link | opaque-area | opaque-as } [ link-state-id ] ] [ originate-router [ advertising-router-id ] | self-originate ] [ age { min-value min-age-value | max-value max-age-value } * ]
使用display ospf [ process-id ] peer [ [ interface-type interface-number ] neighbor-id | brief | last-nbr-down ]命令查看OSPF邻居的信息。
使用display ospf [ process-id ] nexthop查看OSPF的下一跳信息。
使用以下命令查看OSPF的路由表信息:
display ospf [ process-id ] routing [ ip-address [ mask | mask-length ] ]
[ interface interface-type interface-number ] [ nexthop nexthop-address ]
display ospf [ process-id ] routing router-id [ router-id ]
使用display ospf [ process-id ] interface [ all | interface-type interface-number ] [ verbose ]查看OSPF的接口信息。
&配置OSPF的Stub区域
通过将位于AS边缘的一些非骨干区域配置成Stub,可以缩减LSDB和路由表规模,减少需要传递的路由信息数量。
应用环境OSPF划分区域可以减少网络中LSA的数量。对于位于自治系统边界的非骨干区域,为了更多的缩减其路由表规模和降低LSA的数量,可以将它们配置为STUB区域。
STUB区域是一种可选的配置属性。
配置STUB区域时需要注意以下几点:
骨干区域(Area0)不能配置成STUB区域。
如果要将一个区域配置成STUB区域,则该区域中的所有路由器都要配置STUB区域属性。
STUB区域内不能存在ASBR,即自治系统外部的路由不能在STUB区域内传播。
STUB区域内不能存在虚连接。
前置任务在配置OSPF的Stub区域前,需完成以下任务:
配置接口的网络层地址,使各相邻节点网络层可达。
配置流程图5-19 &OSPF的Stub区域配置流程图
&配置当前区域为Stub区域
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令stub,配置当前区域为STUB区域。
所有连接到STUB区域的交换机必须使用stub命令将该区域配置成STUB区域属性。
配置或取消STUB属性,可能会触发区域更新。只有在上一次区域更新完成后,才能进行再次配置或取消配置操作。
(可选)执行命令stub [ no-summary ],配置禁止ABR向STUB区域内发送Type3 LSA(Summary LSA)。
&(可选)配置发送到Stub区域缺省路由的开销
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令stub,配置当前区域为STUB区域。
所有连接到STUB区域的交换机必须使用stub命令将该区域配置成STUB区域属性。
配置或取消STUB属性,可能会触发区域更新。只有在上一次区域更新完成后,才能进行再次配置或取消配置操作。
(可选)执行命令stub [ no-summary ],配置禁止ABR向STUB区域内发送Type3 LSA(Summary LSA)。
执行命令default-cost cost,配置发送到Stub区域缺省路由的开销。
cost为发送到Stub区域的Type3缺省路由的开销,缺省值为1。
当区域配置为STUB区域后,为保证到自治系统外的路由可达,STUB区域的ABR将生成一条缺省路由,并发布给STUB区域中的其他交换机。
&检查配置结果
操作步骤使用以下命令查看OSPF的LSDB信息:
ospf [ process-id ] lsdb [ brief ]
display ospf [ process-id ] lsdb [ { router | network | summary | asbr | ase | nssa | opaque-link | opaque-area | opaque-as } [ link-state-id ] ] [ originate-router [ advertising-router-id ] | self-originate ] [ age { min-value min-age-value | max-value max-age-value } * ]
使用以下命令查看OSPF路由表的信息:
display ospf [ process-id ] routing [ ip-address [ mask | mask-length ] ] [ interface interface-type interface-number ] [ nexthop nexthop-address ]
display ospf [ process-id ] routing router-id [ router-id ]
使用display ospf [ process-id ] abr-asbr [ router-id ]命令查看OSPF ABR及ASBR信息。
&配置OSPF的NSSA区域
通过将位于自治系统边缘的非骨干区域配置成NSSA区域,可以缩减其路由表规模,减少需要传递的路由信息数量。
应用环境NSSA区域适用于既需要引入外部路由又要避免外部路由带来的资源消耗的场景。
OSPF NSSA(Not-So-Stubby Area)区域是OSPF特殊的区域类型。NSSA区域与STUB区域有许多相似的地方,两者都不传播来自OSPF网络其它区域的外部路由。差别在于STUB区域是不能引入外部路由,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中。
在NSSA区域中使用Type7 LSA描述引入的外部路由信息。Type7 LSA由NSSA区域的自治域边界路由器(ASBR)产生,其扩散范围仅限于边界路由器所在的NSSA区域。NSSA区域的区域边界路由器(ABR)收到Type7 LSA时,会有选择地将其转化为Type5 LSA,以便将外部路由信息通告到OSPF网络的其它区域。
前置任务在配置OSPF的NSSA区域之前,需完成以下任务:
配置接口的网络层地址,使相邻节点之间网络层可达。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令nssa [ { default-route-advertise | suppress-default-route } | flush-waiting-timer interval-value | no-import-route | no-summary | set-n-bit | suppress-forwarding-address | translator-always | translator-interval interval-value | zero-address-forwarding | translator-strict ]*,配置当前区域为NSSA区域。
所有连接到NSSA区域的设备必须使用nssa命令将该区域配置成NSSA属性。
配置或取消NSSA属性,可能会触发区域更新,邻居中断。只有在上一次区域更新完成后,才能进行再次配置或取消配置操作。
nssa命令参数的使用场景如下:
default-route-advertise用来在ASBR上配置产生缺省的Type7 LSA到NSSA区域。
在ABR上无论路由表中是否存在缺省路由0.0.0.0/0,都会产生Type7 LSA缺省路由。在ASBR上只有当路由表中存在缺省路由0.0.0.0/0,才会产生Type7 LSA缺省路由。
当ASBR所在的区域被配置成NSSA时,在LSA洪泛区域中的其他交换机上仍会保留已经没用的Type5 LSA,这些LSA必须等到老化时间到达3600秒后才会被删除。由于大量的LSA会占用交换机内存,所以对设备的性能造成了一定影响。此时,通过配置flush-waiting-timer参数产生老化时间被置为最大值(3600秒)的Type5 LSA,及时清除其他交换机上已经没用的Type5 LSA。
当LSA报文头部的LS age(老化时间)达到3600秒时,该LSA会被删除。
当ASBR同时还是ABR时,flush-waiting-timer功能不会生效,防止删除非NSSA区域的Type5 LSA。
当ASBR同时还是ABR时,通过配置no-import-route参数使OSPF通过import-route命令引入的外部路由不被通告到NSSA区域。
为了继续减少发送到NSSA区域的LSA的数量,可以配置ABR的no-summary属性,禁止ABR向NSSA区域内发送Summary LSA(Type3 LSA)。
设置了set-n-bit关键字后,交换机会与邻居交换机同步时在DD报文中设置N-bit位的标志。
当NSSA区域中有多个ABR时,系统会根据规则自动选择一个ABR作为转换器(通常情况下NSSA区域选择Router ID最大的设备),将Type7 LSA转换为Type5 LSA。通过在ABR上配置translator-always参数,可以将某一个ABR指定为转换器。如果需要指定某两个ABR进行负载分担,可以通过配置translator-always来指定两个转换器同时工作。如果需要某一个固定的转换器,防止由于转换器变动引起的LSA重新泛洪,可以预先使用此命令指定。
translator-interval参数主要用于转换器切换过程,保障切换平滑进行。所以interval-value参数的缺省间隔要大于泛洪的时间。
(可选)执行命令default-cost cost,配置ABR发送到NSSA区域的Type3 LSA的缺省路由的开销。
当区域配置为NSSA区域后,为保证到自治系统外的路由可达,NSSA区域的ABR将生成一条缺省路由,并发布给NSSA区域中的其他交换机。配置NSSA区域的缺省路由的开销,调整缺省路由的选路。
缺省路由也可以通过Type7 LSA来表示,用于指导流量流向其它自治域。
在NSSA区域中,可能同时存在多个边界路由器。为了防止路由环路产生,边界路由器之间不计算对方发布的缺省路由。
缺省情况下,ABR发送到NSSA区域的缺省路由的开销为1。
检查配置结果使用以下命令查看OSPF的LSDB信息:
display ospf [ process-id ] lsdb [ brief ]
display ospf [ process-id ] lsdb [ { router | network | summary | asbr | ase | nssa | opaque-link | opaque-area | opaque-as } [ link-state-id ] ] [ originate-router [ advertising-router-id ] | self-originate ] [ age { min-value min-age-value | max-value max-age-value } * ]
使用以下命令查看OSPF的路由表信息:
display ospf [ process-id ] routing [ ip-address [ mask | mask-length ] ]
[ interface interface-type interface-number ] [ nexthop nexthop-address ]
display ospf [ process-id ] routing router-id [ router-id ]
使用display ospf [ process-id ] interface [ all | interface-type interface-number ] [ verbose ]命令查看OSPF的接口信息。
&配置OSPF本地MT特性
在同时部署了组播和MPLS TE-Tunnel的网络中,通过配置OSPF本地MT特性,可以建立正确的组播路由表并指导组播报文的转发。
应用环境网络中同时部署了组播和MPLS TE-Tunnel,且TE-Tunnel配置了IGP
Shortcut,IGP计算出来的路由的出接口可能不再是实际的物理接口,而是TE-Tunnel接口。交换机根据到达组播源地址的单播路由,从TE-Tunnel接口发送组播加入报文,这样,被TE-Tunnel跨越的交换机就无法感知到组播加入报文,因而不会建立组播转发表项。
为了解决上述问题,使能OSPF本地MT(Local Multicast-Topology)特性。如果计算出来的路由出接口为IGP-Shortcut类型的TE-Tunnel,路由管理模块会为组播协议创建单独的MIGP路由表,并为该路由计算出实际的物理出接口,将其加入到MIGP路由表中,组播利用MIGP路由表中的路由进行转发。
配置OSPF本地MT特性的过滤策略,可以合理控制MIGP路由表的大小,加快组播查找MIGP路由表的速度。
前置任务在配置本地MT特性之前,需要完成以下任务:
配置接口的网络层地址,使相邻节点之间网络层可达。
使能OSPF进程的TE-Tunnel。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令local-mt
enable,使能本地MT特性。
OSPF本地MT特性仅支持公网实例的OSPF进程。
OSPF本地MT特性不支持FA(Forwarding Adjacency)。
(可选)执行命令local-mt filter-policy { acl { acl-number | acl-name }
| ip-prefix ip-prefix-name | route-policy route-policy-name },配置OSPF的本地MT特性的过滤策略。
创建MIGP路由表后,OSPF进行路由计算。当计算出下一跳出接口为使能了IGP shortcut的TE-Tunnel接口时,交换机会将实际物理接口作为下一跳出接口,存放到MIGP路由表中,组播利用MIGP路由表中的路由进行转发。
为了合理控制MIGP路由表的大小,加快组播查找MIGP路由表的速度,可以配置针对组播源地址的过滤策略,只允许到组播源地址的、通过策略的路由加入到MIGP表中。
为了避免过多的非组播源的路由加入到MIGP路由表中,从而导致MIGP路由表中的路由数量超过上限值。实际网络中建议先配置路由策略后再使能本地MT特性。
说明: 对于通过命令acl配置的命名型ACL,使用rule命令配置过滤规则时,只有source参数指定的源地址范围和time-range参数指定的时间段对配置规则过滤规则有效。
检查配置结果
使用display
ospf [ process-id ] migp-routing [ ip-address [ mask | mask-length ] ] [ interface interface-type interface-number ] [ nexthop nexthop-address ]命令查看OSPF的MIGP路由表信息。
使用display ospf [ process-id ] routing命令查看OSPF路由信息。
使用display ospf [ process-id ] brief命令查看OSPF的概要信息。
&调整OSPF的选路
通过调整OSPF选路,使得网络以满足复杂环境中的需要。
应用环境在复杂网络环境,通过调整OSPF的功能参数来达到灵活组网、优化网络负载分担。
前置任务在调整OSPF的选路之前,需完成以下任务:
配置接口的网络层地址,使各相邻节点网络层可达。
配置流程以下配置任务(不含检查配置结果),根据应用环境选择其中一项或几项进行配置。
&配置OSPF的接口开销
OSPF既可以根据接口的带宽自动计算其链路开销值,也可以通过命令配置。
如果没有通过ospf cost cost命令配置OSPF接口的开销值,OSPF会根据该接口的带宽自动计算其开销值。计算公式为:接口开销=带宽参考值/接口带宽,取计算结果的整数部分作为接口开销值(当结果小于1时取1)。通过改变带宽参考值可以间接改变接口的开销值。
配置OSPF接口的开销值
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入运行OSPF的接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf cost cost,设置OSPF接口的开销值。
配置带宽参考值
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令bandwidth-reference value,配置带宽参考值。
value为计算链路开销时所依据的参考值,单位是Mbit/s。
说明: 在配置带宽参考值时请注意,必须保证该进程中所有交换机的带宽参考值一致。
&配置等价路由
当网络中到达同一目的地存在同一路由协议发现的多条路由,且这几条路由的开销值也相同,那么这些路由就是等价路由,可以实现负载分担。
例如,如所示。交换机A和交换机B之间的三条路由都运行OSPF协议,且几条路由的开销值也相同,那么这三条路由就是等价路由,形成了负载分担。
图5-20 &等价路由组网图
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令maximum load-balancing number,配置最大等价路由数量。
说明: OSPF协议支持最大等价路由的数量是16,缺省值是16。
(可选)执行命令nexthop ip-address weight value,配置OSPF的负载分担优先级。
当组网中存在的等价路由数量大于maximum load-balancing命令配置的等价路由数量时,会随机选取有效路由进行负载分担。如果需要指定负载分担的有效路由,可以通过nexthop命令配置路由的优先级,将需要指定的有效路由的优先级设置为高。
weight值越小,路由优先级越高。weight的缺省值是255,表示等价路由间进行负载分担,不区分优先级。
&配置路由选择规则
由于RFC2328与RFC1583定义的路由选路规则不同,因此使能OSPF后,根据实际设备支持的路由选路的定义情况(支持RFC2328或支持RFC1583)配置OSPF域的路由选路规则。默认支持RFC1583,当设备支持的是RFC2328时,需要将RFC1583配置成RFC2328,使OSPF路由域中的所有设备配置为同一种路由选路规则。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令undo rfc1583 compatible,将RFC1583配置成RFC2328,配置OSPF域的路由选路规则。
缺省情况下,交换机支持RFC1583的选路规则。
&检查配置结果
已经完成OSPF路由属性的所有配置。
使用display ospf [ process-id ] interface命令查看OSPF接口的信息。
使用display ospf [ process-id ] routing命令查看OSPF路由表的信息。
&控制OSPF的路由信息
控制OSPF路由信息包括引入外部路由以及对路由、LSA的过滤。
前置任务在控制OSPF的路由信息之前,需完成以下任务:
配置接口的网络层地址,使各相邻节点网络层可达。
配置流程以下配置任务(不含检查配置结果),根据应用环境选择其中一项或几项进行配置。
&配置OSPF引入外部路由
当OSPF网络中的设备需要访问运行其他协议的网络中的设备时,需要将其他协议的路由引入到OSPF网络中。
OSPF是一个无环路的动态路由协议,但这是针对域内路由和域间路由而言的,其对引入的外部路由环路没有很好的防范机制,所以在配置OSPF引入外部路由时一定要慎重,防止手工配置引起的环路。
请在运行OSPF协议的自治系统边界交换机ASBR上进行以下配置。
配置OSPF引入其它协议的路由
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static | isis [ process-id-isis ] | ospf [ process-id-ospf ] } [ cost cost | type type | tag tag | route-policy route-policy-name ] * },引入其它协议的路由信息。
配置OSPF引入路由时的相关参数
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令default { cost { cost-value | inherit-metric } | limit limit | tag tag | type type } *,配置引入路由时的参数缺省值(路由度量、标记、类型)。
当OSPF引入外部路由时,可以配置一些额外参数的缺省值,如开销、路由数量、标记和类型。路由标记可以用来标识协议相关的信息,如OSPF接收BGP时用来区分自治系统的编号。
缺省情况下,OSPF引入外部路由的缺省度量值为1,引入的外部路由类型为Type2,设置缺省标记值为1。
说明: 可以通过以下三条命令设置引入路由的开销值,其优先级依次递减:
通过apply cost命令设置的路由开销值。
通过import-route命令设置的引入路由开销值。
通过default命令设置引入路由的缺省开销值。
&配置OSPF将缺省路由通告到OSPF路由区域
OSPF实际组网应用中,区域边界和自治系统边界通常都是由多个交换机组成的多出口冗余备份或者负载分担。此时,为了减少路由表的容量,可以配置缺省路由,保证网络的高可用性。
OSPF缺省路由通常应用于下面两种情况:
由区域边界交换机(ABR)发布Type3 LSA,用来指导区域内路由器进行区域之间报文的转发。
由自治系统边界交换机(ASBR)发布Type5 LSA或Type7 LSA,用来指导OSPF路由域内路由器进行域外报文的转发。
当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。
Type3 LSA缺省路由的优先级要高于Type5 LSA或Type7 LSA路由。
OSPF缺省路由的发布方式取决于引入缺省路由的区域类型。如所示。
表5-21 &缺省路由发布方式
产生LSA的类型
请在运行OSPF协议的自治系统边界交换机ASBR上进行以下配置。
配置OSPF将缺省路由通告到OSPF路由区域
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
请根据实际情况选择以下配置。
如果要将缺省路由通告到OSPF路由区域,则执行命令default-route-advertise [ [ always | permit-calculate-other ] | cost cost | type type | route-policy route-policy-name [ match-any ] ] *。
always表示无论本机是否存在激活的非本OSPF进程的缺省路由,都会产生并发布一个描述缺省路由的LSA。
permit-calculate-other表示在发布缺省路由后,仍允许计算其他交换机发布的缺省路由。
route-policy route-policy-name表示路由表中有匹配的非本OSPF进程产生的缺省路由表项时,按路由策略所配置的参数发布缺省路由的匹配规则。
如果要指定Type3 Summary-LSA的缺省开销值,则执行命令default-route-advertise summary cost cost。在选用该参数时,必须首先配置VPN,否则不能配置该命令。
本机必须存在激活的非本OSPF进程的缺省路由时才会产生并发布一个缺省路由的ASE LSA。
OSPF路由域中在通告缺省路由前,会比较缺省路由的优先级,如果在其中某OSPF交换机上同时配置了静态缺省路由,要使OSPF通告的缺省路由加入到当前的路由表中,则必须保证所配置的静态缺省路由的优先级比OSPF通告的缺省路由的优先级低。
&配置OSPF路由聚合
当OSPF网络规模较大时,配置路由聚合,可以有效减少路由表中的条目,减小对系统资源的占用,不影响系统的性能。此外,如果被聚合的IP地址范围内的某条链路频繁Up和Down,该变化并不会通告到被聚合的IP地址范围外的设备。因此,可以避免网络中的路由震荡,在一定程度上提高了网络的稳定性。
ABR向其它区域发送路由信息时,以网段为单位生成Type3 LSA。当区域中存在连续的网段(具有相同前缀的路由信息)时,可以通过abr-summary命令将这些网段聚合成一个网段,ABR向其他区域只发送一条聚合后的LSA,所有指定的聚合网段范围的LSA将不会再被单独发送。从而减小路由表的规模,提高交换机的性能。
请在运行OSPF协议的交换机上进行以下配置。
配置ABR路由聚合
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
执行命令abr-summary ip-address mask [ [ cost { cost | inherit-minimum } | [ advertise [ generate-null0-route ] | not-advertise | generate-null0-route [ advertise ] ] ] * ],配置OSPF的ABR路由聚合。
配置ASBR路由聚合
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
(可选)执行命令asbr-summary type nssa-trans-type-reference [ cost nssa-trans-cost-reference ],配置OSPF设置聚合路由类型(Type)和开销值(Cost)时考虑Type7转换到Type5的LSA。
缺省情况下,OSPF在设置聚合路由类型和开销时不考虑Type7转换到Type5的LSA。
执行命令asbr-summary ip-address mask [ not-advertise | tag tag | cost cost | distribute-delay interval ] *,配置OSPF的ASBR路由聚合。
说明: 在配置路由聚合后,本地OSPF设备的路由表保持不变。但是其他OSPF设备的路由表中将只有一条聚合路由,没有具体路由。直到网络中被聚合的路由都出现故障而消失时,该聚合路由才会消失。
&配置OSPF对接收的路由进行过滤
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name [ secondary ] } import,配置对接收的路由进行过滤。
acl-number为基本访问控制列表号。
acl-name acl-name为访问控制列表名称。
ip-prefix ip-prefix-name为地址前缀列表名称。
由于OSPF是基于链路状态的动态路由协议,路由信息隐藏在链路状态中,所以不能使用filter-policy import命令对发布和接收的LSA进行过滤。
filter-policy import命令是对OSPF计算出来的路由进行过滤,只有通过过滤的路由才被添加到路由表中,没有通过过滤的路由不会被添加进OSPF路由表,但不影响对外发布出去。
&配置OSPF对发布的路由进行过滤
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ],配置对通过import-route命令引入的路由进行过滤,只有通过过滤的路由才能被发布出去。
acl-number为基本访问控制列表号。
acl-name acl-name为访问控制列表名称。
ip-prefix ip-prefix-name为地址前缀列表名称。
route-policy route-policy-name为路由策略名称。
用户可以通过指定protocol [ process-id ]对特定的某一种协议或某一进程的路由信息进行过滤。如果没有指定protocol [ process-id ],则OSPF将对所有引入的路由信息进行过滤。
import-route命令不能引入外部路由的缺省路由。
OSPF对引入的路由进行过滤,是指OSPF只将满足条件的外部路由生成的Type5 LSA发布出去。
&配置对发送的LSA进行过滤
当两台交换机之间存在多条链路时,通过对发送的LSA进行过滤可以在某些链路上过滤LSA的传送,减少不必要的重传,节省带宽资源。
请在运行OSPF协议的交换机上进行以下配置。
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number,进入接口视图。
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
执行命令ospf
filter-lsa-out { all |
{ summary [ acl { acl-number | acl-name }
] | ase [ acl { acl-number | acl-name }
] | nssa [ acl { acl-number | acl-name }
] } * },配置对出方向的LSA进行过滤。
缺省情况下,不对发送的LSA进行过滤。
&配置对ABR Type3 LSA进行过滤
通过对区域内出、入方向ABR
Type3 LSA(Summary LSA)设置过滤条件,只有通过过滤的信息才能被发布、接收。
此功能仅在ABR上配置。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令area area-id,进入OSPF区域视图。
请根据需要,配置对ABR Type3 LSA进行过滤。
执行命令filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } export,配置对本区域出方向的Summary LSA进行过滤。
执行命令filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy route-policy-name } import,配置对进入本区域的Summary LSA进行过滤。
&(可选)使能Mesh-Group特性
当交换机和邻居存在并行链路时,使能Mesh-Group特性,可以减轻链路的压力。
Mesh-Group时以邻居的Router-id唯一标识一个Group。是几条并行的LSA,合并为一个组,只泛洪一次。只有同时满足以下三个条件的接口才能属于同一个Mesh-Group:
属于相同区域和OSPF进程
接口状态大于Exchange
只连着同一个邻居
请在运行OSPF协议的交换机上进行以下配置。
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令mesh-group enable,使能Mesh-Group特性。
缺省情况下,不使能Mesh-Group特性。
&配置LSDB中External LSA的最大数量
执行命令system-view,进入系统视图。
执行命令ospf [ process-id ],进入OSPF进程视图。
执行命令lsdb-overflow-limit number,配置LSDB中External LSA的最大数量。
&检查配置结果
已经完成控制OSPF路由信息的所有配置。
使用以下命令查看OSPF路由表信息:
display ospf [ process-id ] routing [ ip-address [ mask | mask-length ] ] [ interface interf}

我要回帖

更多关于 工程预算清单 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信