[发明专利]一种流表项更新方法及设备有效
申请号: | 201310311911.1 | 申请日: | 2013-07-23 |
公开(公告)号: | CN103384223A | 公开(公告)日: | 2013-11-06 |
发明(设计)人: | 彭武杰;王佑刚 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | H04L12/751 | 分类号: | H04L12/751 |
代理公司: | 成都宏顺专利代理事务所(普通合伙) 51227 | 代理人: | 周永宏 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 流表项 更新 方法 设备 | ||
技术领域
本发明属于数据通信报文流转发领域,具体涉及一种流表项更新方法及设备。
背景技术
随着网络的飞速发展和网络应用的快速普及,各种高速网络业务对数据通信设备的性能要求越来越高了,如何能在相同硬件设备的基础上,支撑不断增长的网络流量,并且满足不断提高的业务性能要求,这就对网络设备提出了一个新的难题。目前流转发技术就是为了解决这一难题应运而生的一种能提高转发性能的快速转发方法。
在数据通信设备中,当接收到报文需要转发时,流转发通过解析报文的基础5元组(源IP、目的IP、源端口、目的端口、协议号)来创建与该报文对应的流表项,流表项中记录了该报文在查找路由时匹配的路由结果,同时该报文会经过各业务模块,例如ACL(Access Control Lists,访问控制列表)、QOS(Quality of Service,服务质量)等的处理,处理后的结果也会保存到流表项中,这样属于一条流的后续报文的处理总是直接应用流表项中记录的选路结果和业务模块处理结果,从而极大提升了转发性能。
在实际的网络运行环境中,可能会存在路由震荡的情况,也就是路由信息会发生变化。如果流表项中保存的路由信息不进行更新,那么报文仍然应用流表项中保存的老的路由信息,会导致报文转发的结果不正确。用户的业务配置也可能会发生变化,比如重新配置了QOS或者ACL的规则等,同理如果流表项不进行更新,那么也会导致报文转发结果不正确。因此流转发需要有对流表项进行更新的机制。
目前关于流转发表项更新的技术主要是通过设置一个全局变化标识来判断是否需要更新,当路由信息或者配置信息有变化时就会设置这个标识。(参见CN200710063032.6)比如路由信息发生变化时,设置路由变化标识后会重新查找路由表并更新对应流表项中保存的路由信息,配置信息发生变化时,再设置相应的业务模块的变化标识并重新进入业务模块处理,最后再更新流转发表项中保存的配置信息。
然而,以上方案中当路由信息发生变化时,每次进行流表项更新都需要重新查找路由表,找到新的路由信息后又需要遍历整个流表项,再将路由信息更新到对应的流表项中。因此当路由表项和流表项都比较大的情况下,该方案会降低报文转发性能。不仅如此,由于现有的更新方法中,如果只是个别的路由信息发生变化,设置了全局变化标志后还是需要更新整个流表项,而实际上只需要更新该路由影响的部分流表项即可,因此这种方式会降低整体的转发性能。
在实际的网络环境中,尤其是部署了汇聚级或核心级路由器的网点中,路由表项非常多,同时由于下连的网点较多,因此也会存在频繁的路由震荡并导致需要频繁更新流表项的情况,对转发性能会有较大的影响。
发明内容
本发明的目的是为了避免每次路由震荡都需要重新查找整个路由表以及更新流表项信息时又需要遍历整个流表项的操作从而降低转发性能而提出的一种流表项更新方法及设备。
为了实现以上发明目的,本发明采取的技术方案如下:一种流表项更新方法,具体为:
接收到报文后根据报文的目的IP地址查找路由表,并记录查找到的与该报文匹配的路由信息,同时给该报文打上查找过路由的标记,根据所述路由信息转发报文,报文转发完成后创建流表项,依据所述查找过路由的标记,从记录的路由信息中抽取路由前缀和掩码作为路由关联节点构建路由关联表项,并将创建的所述流表项与所述路由关联表项进行关联;当路由信息变化时,通过路由关联表项中的内容更新关联的流表项。
进一步的,所述路由关联表存放路由关联节点,当一个路由关联节点对应两个及以上数量的流表项时需构建一张链表,以路由关联节点作为链表的链表头,以流表项作为链表元素,路由关联节点通过遍历这张链表获取对应的流表项。
进一步的,当添加一条路由时,路由管理模块将新的路由信息通过路由更新事件发送到流转发模块,流转发模块收到该路由更新事件后,首先依据所述新的路由信息查找该路由是否有父路由,如果有父路由就使用父路由的路由前缀和掩码在路由关联表中查找是否有对应的路由关联表项,如果有则直接找到对应的流表项,将新的路由信息更新到流表项中,否则更新整个流表项。
进一步的,当更新一条路由时,路由管理模块将路由更新信息通过路由更新事件发送到流转发模块,流转发模块收到路由管理模块的路由更新事件后,取出所述路由更新信息中的路由前缀和掩码并在路由关联表中查找是否有对应的路由关联表项,如果有则直接找到对应的流表项,将新的路由信息更新到流表项中,否则更新整个流表项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310311911.1/2.html,转载请声明来源钻瓜专利网。