发明名称 BGP路由在分布式路由子系统中实现硬件查找的方法
摘要 本发明公开了一种BGP路由在分布式路由子系统中实现硬件查找的方法。该技术方案在BDCOM现有的路由子系统基础上进行扩展,考虑到BGP路由需要进行二次查找,才能找到真实的下一跳出口。这个对于通过CPU软件转发而言,是不会造成困惑的。但是,为了提高报文转发效率,往往需要把BGP路由写入线卡的硬件转发表,但是,就目前的交换芯片而言,是不支持二次路由查找的。不过采用本发明所述的技术方案能把真实下一跳也写入硬件转发表。最终实现在主控板的处理器模块中进行BGP路由协议的同时在各线卡的处理器中并行进行实际路由的查找。
申请公布号 CN101459577B 申请公布日期 2012.04.04
申请号 CN200710172300.8 申请日期 2007.12.14
申请人 上海博达数据通信有限公司 发明人 汪革;冯松柏
分类号 H04L12/56(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 上海天翔知识产权代理有限公司 31224 代理人 孙景宜
主权项 BGP路由在分布式路由子系统中实现硬件查找的方法,其特征在于,包括以下步骤:(1)主控中路由信息库RIB的扩充;(2)主控中路由信息库RIB和转发信息库FIB的同步;(3)主控FIB和线卡FIB的同步;其中主控的路由子模块负责路由的维护,相应路由信息存放在RIB中,并负责将其中的活动(active)路由同步到主控的FIB表,这需要根据BGP路由的下一跳情况进行两种划分:①依赖的内层路由是非直连路由时,将内层路由的下一跳作为BGP路由的nh填充内容;所述nh表示路由的下一跳信息,指网关地址;②依赖的内层路由是直连路由时,则填BGP路由的原始下一跳;主控中路由信息库RIB的扩充具体处理方式如下:(a)扩充RIB,在原先的一级二叉树节点上,如果某条路由被BGP路由引用,则以该路由所在节点为根节点,再扩充下一级二叉树,用于保存它当前所支持的所有BGP路由,扩充的二叉树上,仍然采用BGP路由的前缀和掩码长度作为二叉树的索引;(b)BGP路由与被依赖路由之间进行关联以及调整;BGP所引用的内层路由需要记录下来,由于被引用的内层路由可能被多条BGP路由或者其它路由所引用,因此这也需要被引用的路由节点上保存自己被哪些BGP路由引用了,所有这些信息都是为了在路由发生变动的时候,用于重新确立BGP路由和新的内层路由之间的关联或者去关联;所述主控中RIB和FIB的同步步骤为:在扩充完成RIB表以后,将对应的路由变更以回调或者消息机制通知FIB表,然后由FIB表填充对应的转发条目;对于发生变动了的条目,需要有更新标志,以便于为下一步主控和线卡的同步做处理;所述主控FIB和线卡FIB的同步步骤中,主控和线卡FIB的路由同步采用LAPD的方式进行;主控的FIB中已经对BGP路由进行了处理,对应BGP路由的下一跳网关地址是直接可达的地址或是可以使用代理ARP解析出的地址,这样,线卡的交换芯片进行转发时,可以直接匹配到路由的真实端口,直接将相应的BGP路由条目写入线卡的硬件转发表。
地址 201203 上海市浦东新区张江高科技园区居里路123号
您可能感兴趣的专利