[发明专利]CAM表的操作方法及装置有效
申请号: | 201611153674.0 | 申请日: | 2016-12-14 |
公开(公告)号: | CN106713023B | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 刘健男 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/741;H04L12/883 |
代理公司: | 11348 北京鼎佳达知识产权代理事务所(普通合伙) | 代理人: | 刘喆;刘铁生 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cam 操作方法 装置 | ||
本发明公开了一种CAM表的操作方法及装置,涉及互联网技术领域,解决了现有多核竞争降低了多核转发系统中数据转发效率的问题。本发明的方法包括:CAM表配置核接收内核态进程以及用户态进程发送的CAM表配置消息,CAM表为所述CAM表配置核的独立资源,所述CAM表配置消息为对CAM表进行更新的消息,所述CAM表配置核运行在用户态;根据所述CAM表配置消息对CAM表进行配置。本发明应用于多核异构平台的数据转发系统中。
技术领域
本发明涉及互联网技术领域,尤其涉及一种CAM表的操作方法及装置。
背景技术
二层交换机的地址(CAM)表是由物理地址(Media Access Control,MAC)地址、Vlan、二层设备组成的地址表。CAM表是全局表,在数据转发系统中,数据转发方每收到或者发送一个报文时都需要对CAM表进行查询和/或更新操作,对CAM表的更新包括增加CAM表项、删除CAM表项、更新CAM表项操作。
现有的多核数据转发系统中对CAM表的操作如图1所示,从图中可以看到,用户态下不同的转发核、内核态下的配置线程或软中断在进行报文转发的过程中都需要对CAM表进行查询和/或更新操作。由于CAM表为全局表,因此在多核数据转发系统中存在多核竞争同一CAM表的问题。由于存在多核竞争的问题,因此在对CAM表进行操作时,都需要通过加锁机制实现,然而由于每接收或者发出一个报文都需要对CAM表进行操作,因此对CAM表的操作需要频繁的加解锁,频繁的加解锁必然会降低数据转发的效率。
发明内容
鉴于上述问题,本发明提供一种CAM表的操作方法及装置,用以解决现有的多核竞争降低了多核转发系统中数据转发效率的问题。
为解决上述技术问题,第一方面,本发明提供了一种CAM表的操作方法,所述方法包括:
CAM表配置核接收内核态进程以及用户态进程发送的CAM表配置消息,所述CAM表配置核运行在用户态,CAM表为所述CAM表配置核的独立资源,所述CAM表配置消息为对CAM表进行更新的消息;
所述CAM表配置核根据所述CAM表配置消息对CAM表进行配置。
可选的,所述方法还包括:
建立预设数量的消息队列,所述预设数量等于当前执行的用户态进程以及当前执行的内核态进程数量之和;
将所述CAM表配置消息接收至对应的消息队列中,一个消息队列对应一个当前执行的进程。
可选的,所述CAM表配置核根据所述CAM表配置消息对CAM表进行配置,包括:
通过轮询消息队列的方式读取CAM表配置消息;
依据CAM表配置消息对CAM表进行无锁操作。
可选的,所述方法还包括:
根据最近最少使用LRU链表组织CAM表中的表项,以维护CAM表的超时功能。
可选的,所述CAM表的地址空间为通过内存池预先申请的长期有效的地址空间,所述方法还包括:
将所述CAM表以共享内存的方式分享给内核态进程,使内核态进程同步查询所述CAM表。
可选的,所述CAM表配置消息至少包括:
用户态进程接收到每个会话表对应的不同连接方向的首个数据包时,生成的CAM表配置消息;
定时更新不同连接方向的数据包对应的CAM表项的CAM表配置消息。
第二方面,本发明提供了一种CAM表的操作装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611153674.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能够提高肥效的生物炭肥
- 下一篇:一种生物复合肥料