zoukankan      html  css  js  c++  java
  • NSF, NSR, and GR[译]

    【原文】http://www.networkworld.com/community/node/16964

    现代的高性能路由器在体系结构上将转发板与控制板在物理结构上分开,每块板都有自己的处理器与内存。控制板运行路由协议,维护路由过程中的必要数据库,并且取得一个转发表。这个转发表被交给转发板,转发板用来转发包。

    从物理上分离转发板与控制板的一个很重要的好处是,如果流量很大时,转发板负荷量大,它不会影响控制板处理新路由信息的能力。相反地,如果控制板负荷重(处理大量的新路由信息),也不会影响转发板继续高速转发包的能力。

    事实上,控制板可以停止工作,因为转发板得到转发表的拷贝后可以独立工作,这叫做NSF(Non-Stop Forwarding):转发板继续“无知地”转发如果控制板停止工作。

    当然这是很危险的,如果网络拓扑在控制板停止工作时发生了改变,转发板的转发表就变成无效的了,导致不正确地包转发。但我们为什么还需要NSF呢?

    答案是有富余的控制板,NSF可以由主要的控制板切换到备份的控制板而不打扰转发,在这切换过程中转发表有可能是无效的,而在这段时间内的风险是可以接受的。

    切换的时间越短,风险越小。所以,如果备份的控制板保持一份活跃控制板(active)的配置与当前的系统状态如接口,切换将变得很快,因为不需要事先学习。这是第二等级上的切换,思科称此过程为SSO(Stateful Switchover),而Juniper称之为GRES(Graceful Routing Engine Switchover)。

    第三等级是NSR(Non-Stop Routing)。到目前为止所说的,控制板切换时,总能发生邻接表的损坏,即使使用了SSO。当活跃的控制板B停止工作时,他的任何一个邻居路由器A发现与他对等的会话失败了,在这期间A又会通知A的邻居通过这台路由器B的路径都失效了。当然,当备份板启动成功后,邻居以及邻居的邻居又会重建路径。这一过程会极大地破坏网络。

    NSR的目标是阻止,或者是最小化,对对等(peering sessions)会话的影响。

    一种在控制板切换时控制邻接表的方法是Graceful Restart(GR)协议扩展。每个路由协议都有各自的详细的GR扩展,但是他们的工作方式几乎是相同的。当一个路由器的控制板停止工作时,他的邻居,并不是立刻报告给自己的邻居这台路由器宕掉了,而是等待一个时间(被称为the grace period)。如果路由器的控制板在这个时间限之前成功启动了,并且重建了对等会话,这样,临时破坏的对等会话就不会影响到邻居之外的网络。

    然而,GR有两个问题:

    1,邻居路由器必须支持GR协议扩展。控制板是切换对PE(provider edge:Provide的边缘设备)路由器的破坏性是很大的,因为PE连接了很多CE(customer edge:用户边缘设备),而CE路由器通常是不支持GR的。

    2,如果是路由器的彻底损坏而不是切换,GR时限会使网络汇聚(reconvergence)变慢。

    新一代的NSR采用内部过程来保持备份控制板知晓路由协议状态与邻接的维护活动,所以,当切换完成之后备份板可以控制原来存在的对等会话信息而不用重建新的。切换对邻居是透明的,因为NSR过程是在内部进行的,没有必要让邻居支持任何协议扩展。

    NSR(INTERNAL)>NSR(GR)>SSO>NSF

  • 相关阅读:
    揭开Future的神秘面纱——任务取消
    阻塞队列和生产者-消费者模式
    ExecutorService——<T> Future<T> submit(Callable<T> task)
    ExecutorService接口概要
    Executor简介
    使用显式的Lock对象取代synchronized关键字进行同步
    SingleThreadExecutor(单线程执行器)
    后台线程(daemon)
    加入一个线程
    计算机网络的一些英文缩写词
  • 原文地址:https://www.cnblogs.com/yangyh/p/1711064.html
Copyright © 2011-2022 走看看