[发明专利]一种Linux内核协议栈网桥数据转发方法有效
申请号: | 201210266965.6 | 申请日: | 2012-07-31 |
公开(公告)号: | CN102780627A | 公开(公告)日: | 2012-11-14 |
发明(设计)人: | 何思斌;王志波;邓永坚;郭小东 | 申请(专利权)人: | 深圳市共进电子股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/46 |
代理公司: | 深圳市智科友专利商标事务所 44241 | 代理人: | 孙子才 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 内核 协议 栈网桥 数据 转发 方法 | ||
技术领域
本发明涉及嵌入式操作系统领域,特别涉及Linux内核协议栈网桥数据转发方法。
背景技术
目前LINUX内核协议栈网桥的实现方式中当在一个桥里面添加两个或两个以出设备时,对于同一目的MAC需要走不同出设备的数据报文将只有一个数据流能通。原因在于LINUX内核协议栈网桥转发表项的学习和转发原理是根据MAC计算HASH值,以计算出的HASH值为索引建立和查找转发表项进行数据报文的转发,一个转发表项至少包括端口号、转发标记、老化时间、出设备。这里出设备就是对应的硬件的端口,通常在表象中一个mac地址只能对应一个出设备,每一个mac地址对应一个出设备。在学习阶段,计算数据报文源MAC地址的HASH值建立转发表项;在转发阶段,计算目的MAC地址的HASH值,通过HASH查找转发表项进行转发。因此,对于同一个MAC地址计算出的HASH值在网桥中只能建立一个转发表项、对应一个出设备,对于去往其它出设备的数据报文因走错出设备而到达不了目的地,不能满足数据转发的需求。
发明内容
本发明针对目前目前LINUX内核协议栈网桥的实现方式中对于同一个MAC地址计算出的HASH值在网桥中只能建立一个转发表项、对应一个出设备,对于去往其它出设备的数据报文因走错出设备而到达不了目的地,不能满足数据转发的需求的不足,提供一种利用VLAN ID+MAC实现Linux内核协议栈网桥数据转发方法。
本发明为了完成其技术目的所采用的技术方案是:一种Linux内核协议栈网桥数据转发方法,包括以下步骤:
A、系统启动时初始化存储转发表项的双向链表;
B、根据待转发数据报文所带源设备与VLAN的绑定关系找该待转发数据报文用于建立转发表项的VLAN ID;从数据包中提取出用于建立转发表项的源MAC地址;
C、计算步骤K的所述的VLAN ID和源MAC地址的HASH值;
D、根据步骤C计算的HASH值轮询转发表项:
a) 未找到转发表项,建立以HASH值为索引的转发表项插入到转发表中;
b) 找到转发表项,更新找到转发表项的老化时间;
E、根据待转发数据报文所带源设备与VLAN的绑定关系找该待转发数据报文用于查找转发表项的VLAN ID;从数据包中提取出用于查找转发表项的目的MAC地址;
F、计算步骤E中的所述的VLAN ID和目的MAC地址的HASH值;
G、根据步骤F中计算的HASH值轮询转发表项:
1)找到转发表项,根据转发表项进行转发;
2) 未找到转发表项,在桥中广播该数据报文。
进一步的,上述的Linux内核协议栈网桥数据转发方法中:所述的步骤A中,初始化存储转发表项的双向链表是在LINUX内核启动的时初始化的。
进一步的,上述的Linux内核协议栈网桥数据转发方法中:在步骤B和E中,通过应用层的设置将VALN ID和端口设备进行绑定,在系统启动时我们将VLAN和端口设备的绑定关系传入内核协议栈,在内核中根据数据报文所带的源端口设备可以快速查找VLAN对应的VLAN ID。
进一步的,上述的Linux内核协议栈网桥数据转发方法中:在步骤D中,插入转发表项时需要给表项分配内存,然后插入到存储转发表项的双向链表中;在表项超时后,需要将对应的转发表项从存储转发表项的双向链表中删除,同时将分配改该表项的内存释放掉。
本发明的有益效果是整个过程实现起来简单,容易实施,对LINUX内核的稳定性,扩展性有保证,非常适合于基于LINUX系统的嵌入式设备网桥数据转发的需求。
LINUX内核协议栈网桥的学习和转发方法原理是根据MAC计算HASH值,以计算的HASH值为索引建立和查找转发表象进行数据报文的转发,对应同一个MAC地址只能建立一个转发表象,而一个转发表象对应同一个出设备,这样就导致了同一个MAC去往不同出设备的数据流只有一个能通;本发明通过VLAN ID和MAC共同计算HASH值,对于同一个MAC可以学习到对应不同出设备的转发表象,保证同一个MAC去往不同出设备的数据流畅通。
下面通过结合具体实施例和附图对本发明进行进一步的说明。
附图说明
附图1是本发明实施例1流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市共进电子股份有限公司,未经深圳市共进电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210266965.6/2.html,转载请声明来源钻瓜专利网。