
2016.9.5 第2次更新
OSPF理论知识详解(五)
OSPF理论知识详解(四):http://www.023wg.com/lypz/113.html
24、OSPF TE简介
阅读本节可以等后面MPLS更新后再阅读。
OSPF TE(OSPF Traffic Engineering,即OSPF流量工程)是为了支持MPLS流量工程(MPLS TE),支持建立和维护TE的标签交换路径LSP(Label Switch Path)而在OSPF协议基础上扩展的新特性。
在MPLS TE架构中OSPF扮演了信息发布组件的角色,负责收集扩散MPLS流量工程信息。
除了网络的拓扑信息外,流量工程还需要知道网络的约束信息(包括带宽、TE度量值、管理组和亲和属性等)。但OSPF现有的功能不足以满足这些要求。因此需要对现有的OSPF进行扩展,通过引入新类型的LSA来发布这些信息,CSPF(Constrained Shortest Path First,约束最短路劲优先)算法利用这些信息就可以计算出满足各种约束条件的路径。

图1 OSPF在MPLS-TE体系中的作用
在MPLS-TE体系结构中OSPF起到了信息发布组件的作用:
1、收集TE相关信息。
2、在同一个区域中的各设备间扩散TE信息。
3、把同步收集到的TE信息组成流量工程数据库TEDB(TE DataBASe)提供给CSPF计算。
除此之外,OSPF并不关心信息具体是什么以及MPLS如何使用这些信息。
OSPF通过新增Type10 Opaque LSA来实现收集和发布流量工程信息的目的。这种LSA中包含了流量工程所需要的链路状态信息,包括最大链路带宽、最大可预留带宽、当前预留带宽、链路颜色等信息。
Type10 Opaque LSA利用OSPF泛洪机制在一个区域内的设备间同步这些信息,最终形成统一的TEDB,为路径计算做好准备。
OSPF通过Type10-LSA收集区域内的TE信息,包括带宽、优先级、链路开销(Metric)等,经过处理后,把这些信息提供给CSPF进行路径计算。
OSPF支持IGP Shortcut和转发邻接(Forwarding Adjacency)特性,这两个特性允许OSPF使用隧道接口(Tunnel接口)作为到达某个目的地址的出接口。
IGP Shortcut和转发邻接的区别在于:
1、使能IGP Shortcut特性的设备使用隧道接口作为出接口,但不将这个隧道接口链路发布给邻居,因此,其他设备不能使用此隧道。
2、使能转发邻接特性的设备在使用隧道接口作为出接口的同时,也将这个隧道接口发布给邻居,因此,其他设备能够使用此隧道。
3、IGP Shortcut是单向的,只需要在使用该特性的设备上配置即可。
DS-TE(DiffSer Aware Traffic Engineering)综合了MPLS TE和差分服务模型Diff-Ser(Differentiated Services)的优点,在精确控制流量流经的路径的基础上,可以根据业务的不同服务等级,有差别地进行流量的控制和转发,从而支持在有效利用网络资源的同时,为不同的业务流预留所需的资源。
为了支持MPLS中DS-TE的应用,OSPF支持在TE-LSA中携带子TLV(Local Overbooking Multiplier Type-Length-Value)和带宽约束BC(Bandwidth Constraint)TLV,用于发布和收集链路上各优先级的每个CT(ClASs Type,一条或一组LSP的相同服务等级的带宽集合)的可预留带宽。
OSPF通过获取在同一个区域的各设备间扩散TE的共享风险链路组(Shared Risk Link Group,SRLG)信息来支持MPLS中SRLG的应用。
31、OSPF与BFD联动
双向转发检测BFD(Bidirectional Forwarding Detection)是一种用于检测转发引擎之间通信故障的检测机制。
BFD对两个系统间的、同一路径上的同一种数据协议的连通性进行检测,这条路径可以是物理链路或逻辑链路,包括隧道。
OSPF与BFD联动就是将BFD和OSPF协议关联起来,将BFD对链路故障的快速感应通知OSPF协议,从而加快OSPF协议对于网络拓扑变化的响应。
网络上的链路故障或拓扑变化都会导致设备重新进行路由计算,所以缩短路由协议的收敛时间对于提高网络的性能是非常重要的。
由于链路故障是无法完全避免的,因此,加快故障感知速度并将故障快速通告给路由协议是一种可行的方案。
BFD和OSPF相关联,一旦与邻居之间的链路出现故障,BFD的快速性能够加快OSPF的收敛速度。
有无BFD |
链路故障检测机制 |
收敛速度 |
无BFD |
OSPF Dead定时器超时(默认配置40s) |
秒级 |
有BFD |
BFD会话状态为Down |
毫秒级 |

图1 OSPF与BFD联动
OSPF与BFD联动的原理如上图1所示:
1、三台设备间建立OSPF邻居关系。
2、邻居状态到达Full状态时通知BFD建立BFD会话。
3、RouterA到RouterB的路由出接口为GE2/0/0,当这两台设备间的链路出现故障后,BFD首先感知到并通知RouterA。
4、RouterA处理邻居Down事件,重新进行路由计算,新的路由出接口为GE1/0/0,经过RouterC到达RouterB。
32、OSPF GTSM
GTSM(Generalized TTL Security Mechanism),即通用TTL安全保护机制。GTSM通过检查IP报文头中的TTL值是否在一个预先定义好的范围内,对IP层以上业务进行保护。
网上存在一些“有效报文”攻击,可能通过对一台设备不断发送报文,使设备收到这些发送给本机的报文后,不辨别其“合法性”,直接由转发层面上送控制层面处理,导致设备因为处理这些“合法”报文,系统异常繁忙,CPU占用率高。
在实际应用中,GTSM特性主要用于保护建立在TCP/IP基础上的控制层面(路由协议等)免受CPU利用(CPU-utilization)类型的攻击,如CPU过载(CPU overload)。
使能了GTSM特性和策略的设备会对收到的所有报文进行策略检查。对于没有通过策略的报文丢弃或者上送控制平面,从而达到防止攻击的目的。
策略内容包括:
1、发送给本机IP报文的源地址。
2、报文所属的VPN实例。
3、IP报文的协议号(OSPF是89,BGP是6)。
4、TCP/UDP之上协议的协议源端口号、目的端口号。
5、有效TTL范围。
GTSM的实现手段如下:
1、对于直连的协议邻居:将需要发出的单播协议报文的TTL值设定为255。
2、对于多跳的邻居,可以定义一个合理的TTL范围。
GTSM的应用范围是:
1、GTSM对单播报文有效,对组播报文无效。这是因为组播报文本身具有TTL值为255的限制,不需要使用GTSM进行保护。
2、GTSM不支持基于Tunnel的邻居。
33、OSPF Smart-discover
通常情况下,路由器会周期性地从运行OSPF协议的接口上发送Hello报文。这个周期被称为Hello Interval,通过一个Hello Timer定时器控制Hello报文的发送。这种按固定周期发送报文的方式减缓了OSPF邻居关系的建立。通过使能Smart-discover特性,可以在特定场景下加快OSPF邻居的建立。
1、接口没有配置Smart-discover
必须等待Hello Timer到时才能发送Hello报文;两次报文发送间隔为Hello Interval;在这期间邻居一直在等待接收报文。
2、接口上配置Smart-discover
直接发送Hello报文,不需要等待Hello Timer超时;邻居可以很快收到报文迅速进行状态迁移。
在以下场景中,使能了Smart-discover特性的接口不需要等待Hello Timer到时,可以主动向邻居发送Hello报文:
当邻居状态首次到达2-way状态;当邻居状态从2-way或更高状态迁移到Init状态。
OSPF理论知识详解(六):http://www.023wg.com/lypz/117.html



本文地址:http://www.023wg.com/lypz/114.html
版权声明:若无注明,本文皆为“Swiers思唯网络博客”原创,转载请保留文章出处。

