ISIS的OL过载机制新用途

1、OL过载机制的特性

在同一个区域中,所有ISIS路由器的LS数据库要求要完全一致,只有这样才能实现,各个路由器上计算出来的这颗最短路径树完全一样(只是各个路由器节点处于树中的位置不同而已)。

如果区域中某台路由器用于储存LS数据库的内存被消耗殆尽,那么就意味着该ISIS路由器将无法攒齐本区域内所有的LSP。那么在进行SPF计算的时候必然会出现问题。当出现这种情况的时候,其他ISIS路由器在计算最短路径树时,应该将这台路由器视为最短路径树中的某个“叶节点”路由器,而不应该将其视为某个“中间节点”路由器。也就是说,在报文转发过程中,其他路由器会选择绕过该路由器到达目的网络,但是到达该路由器直连网络的数据包,仍然会转发给该路由器。

2、OL过载机制的新用途

拓扑说明:

在上面的拓扑中,使用ISIS实现AS内的互联互通,同时在AS内的路由器之间使用回环口建立IBGP的邻居关系,为了解决IBGP的水平分割问题,需要在AR2和AR3上配置RR来反射BGP路由。调整AR1、AR4的接口Cost值,使得数据包的转发路径为“AR1<——>AR2<——>AR4”,“AR1<——>AR3<——>AR4”作为备份链路使用。

然后分别在AR1和AR4上将前缀11.11.11.11/32和44.44.44.44/32通告进BGP。

正常情况下:

在AR1上发送到AR4的数据包。报文转发路径为“AR1<——>AR2<——>AR4”。

在AR1上操作:“ping -c 1000 -a 11.11.11.11 44.44.44.44”

在这个过程中,若将AR2重启,会观察到如下现象:

(1)AR2重启,报文被切换到备份链路进行转发。

(2)AR2重启完毕,此时ISIS已经收敛完成,AR1认为AR2可以正常转发报文,于是将报文重新发往AR2。但是由于AR2上的BGP尚未收敛完成,即不存在到44.44.44.44的BGP路由,所以报文被丢弃!!!

(3)AR2上的BGP收敛完成,此时AR2存在到达44.44.44.44的BGP路由!

通过上述的观察发现,在ISIS和BGP的联动过程中,ISIS路由器的重启,会带来流量黑洞的问题。而问题的根源就是因为ISIS的收敛要快于BGP。而ISIS的OL过载机制就可以用来解决这个问题。

实现原理:

配置了过载机制的ISIS路由器在重启后,会在通告给邻居的LSP中将OL置1,使得邻居路由器在最优路径时“绕过”自己。当运行在路由器上的ISIS进程发现本地的BGP已经收敛完成后,会重新发送LSP,并将OL位重新置0。收到该LSP后,邻居路由器会重新考虑使用该路由器来转发报文。

具体实验效果已验证!!!

命令说明:

[R2-isis-1] set-overload on-startup wait-for-bgp 180

解释:ISIS路由器在重启后的180秒内LSP的OL都是置1的,180秒后,不管BGP有没有收敛都会置0通告。

2017-2-28

时间: 2024-08-14 08:07:07

ISIS的OL过载机制新用途的相关文章

服务器过载保护(下篇)——过载处理新方案

文/iven 1 前言 世界上不存在绝对完美的系统,我们不是上帝,出现问题是必然的.但出现问题并不可怕,关键是否能够处置好问题. 过载的出现,理论上都有可能产生,向任何向外提供的服务,发起DDos攻击,都可以认为是过载的发生.在发生过载的情况下,处置不好的话,很可能出现下列情况: 当出现过载的情况下,拒绝请求是必然的,否则就不能称之为过载,拒绝请求即相当于降低了请求量.但根据业务不同,具体的处置方式,也会有所不同.好的过载处理方式,能够保证系统在过载时,提供较高的稳定处理能力: 由此我们得出了一

SQL Server 2008中SQL增强之二:Top新用途

一.TOP替代Set RowCount 在SQL Server 2005之前的传统SQL语句中,top语句是不支持局部变量的.见http://www.cnblogs.com/downmoon/archive/2007/12/29/1019686.html 此时可以使用Set RowCount,但是在SQL Server 2005/2008中,TOP通常执行得更快,所以应该用TOP关键字来取代Set RowCount. /***************创建测试表******************

SQL Server 2008中SQL增强之一:Values新用途

SQL Server 2008中新增功能:可以使用单个Insert命令插入多行. Create table Demo_Values (PKID int not null identity(1,1) primary key ,DName Nvarchar(20) null ,DCode NVarchar(30) null ,DDate datetime null ) go--this SQL is only for SQL Server 2008 Insert into Demo_Values (

SQL Server 2008 TOP 新用途

/***************创建测试表********************* ****************[email protected] ***************/ IF NOT OBJECT_ID('[Demo_Top]') IS NULL DROP TABLE [Demo_Top] GO Create table [Demo_Top] (PID int identity(1,1) primary key not null ,PName nvarchar(100) nul

cocos2d-x 源代码分析 : EventDispatcher、EventListener、Event 源代码分析 (新触摸机制,新的NotificationCenter机制)

源代码版本号来自3.x,转载请注明 cocos2d-x 源代码分析总文件夹 http://blog.csdn.net/u011225840/article/details/31743129 1.继承结构 1.1 结构 不详吐槽太多,也不贴图了.贴图要审核好久好久好久好久. 从小到大,先来看下Event的结构. 1.Event--------EventTouch,EventCustom,EventMouse,EventKeyboard,EventFocus,EventAcceleration 当中

cocos2d-x 源码分析 : EventDispatcher、EventListener、Event 源码分析 (新触摸机制,新的NotificationCenter机制)

源码版本来自3.x,转载请注明 cocos2d-x 源码分析总目录 http://blog.csdn.net/u011225840/article/details/31743129 1.继承结构 1.1 结构 不详吐槽太多,也不贴图了,贴图要审核好久好久好久好久. 从小到大,先来看下Event的结构. 1.Event--------EventTouch,EventCustom,EventMouse,EventKeyboard,EventFocus,EventAcceleration 其中,Eve

Cocos2d-X 3.x 事件分发机制详解

事件分发机制 新事件分发机制:在2.x 版本事件处理时,将要触发的事件交给代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应.而在新的事件分发机制中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatcher,所有事件监听器由这个分发器统一管理,即可完成事件响应.请参考更多3.0资料... 事件监听器有以下几种: 触摸事件 (EventListenerTouch) 键盘响应事件 (Event

长谈:关于 View Measure 测量机制,让我一次把话说完

<倚天屠龙记中>有这么一处:张三丰示范自创的太极剑演示给张无忌看,然后问他记住招式没有.张无忌说记住了一半.张三丰又慢吞吞使了一遍,问他记住多少,张无忌说只记得几招了.张三丰最后又示范了一遍,张无忌想了想说,这次全忘光了.张三丰很满意,于是放心让张无忌与八臂神剑去比试. 首先声明,这一篇篇幅很长很长很长的文章.目的就是为了把 Android 中关于 View 测量的机制一次性说清楚.算是自己对自己较真.写的时候花了好几天,几次想放弃,想放弃的原因不是我自己没有弄清楚,而是觉得自己叙事脉络已经紊

handler机制

在android系统当中,有一个非常重要的铁律,在UI线程之外,是不能修改UI的,在后台线程,新起一个线程,得到的数据结果是不能直接反映在UI上的.这样的一个问题,我们急需一种机制来解决.MainThread (UI线程)和 WorkrThread (除了主线程之外的其他的线程都叫workThread)workthread从原则上来讲是不允许操作UI的,个别控件除外(ProgressBar)在一个应用程序当中,主线程通常用于接收用户的界面输入以及将运算结果反馈给用户anr问题:applicati