一种实现vlan网桥桥接技术的方法

文档序号:7864126阅读:668来源:国知局
专利名称:一种实现vlan网桥桥接技术的方法
技术领域
本发明涉及以太网的VLAN (Virtual Local Area Network,虚拟局域网)网桥桥接技术领域,具体来讲是一种实现VLAN网桥桥接技术的方法。
背景技术
IEEE在802. IQ中定义VLAN网桥,其基本功能包括数据帧的转发和过滤,网桥的核心是过滤数据库,其能够维护网桥以及决定数据帧转发信息。
从功能上看,过滤数据库存放数据帧的转发信息,通过执行地址查找操作来识别出数据报文相关联的目的端口,从而完成二层转发操作。过滤数据库的转发信息可以通过地址学习操作进行动态更新,或者通过管理操作进行静态配置。同时,为了防止动态条目长期占用资源有限的过滤数据库,过滤数据库采用地址老化操作,间隔一定的老化时间对数据库进行扫描,将超时的动态条目删除,从而释放的数据库空间提供其他新的条目进行地址学习操作。
从结构上看,过滤数据库一般采用SRAM (Static Random Access Memory,静态随机存储器)来储存转发数据库信息,并结合硬件哈希算法来完成数据库的访问操作。
综上所述,地址学习、二层查找、地址老化和CPU配置操作均会对过滤数据库进行读取和更新操作。而对SRAM的访问受到器件本身SRAM端口个数和端口处理速率的限制, 数据报文非线速学习会导致过滤数据库中转发信息的暂时缺失,而这种缺失和报文的非线速转发,均会导致数据报文过度的泛洪,这种过度的泛洪可能导致网络拥塞和恶化,致使网络的性能极大的下降。发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种实现VLAN网桥桥接技术的方法,即使FDB (Filter Database,过滤数据库)只存在一个访问端口时,仍然能够保证对数据报文的线速学习和转发,避免数据报文过度泛洪而导致的网络性能下降,节省老化整个FDB中所有条目的时间。
为达到以上目的,本发明采取的技术方案是一种实现VLAN网桥桥接技术的方法,包括如下步骤S1. VLAN网桥从输入端口接收报文,获取该报文的源MAC地址、目的MAC 地址和输入虚拟局域网标识;S2. CPU通过地址学习操作,读访问过滤数据库,获取条目内容;S3.判断地址老化操作或CPU是否存在对过滤数据库的写访问请求,若是,进入S4 ;若否,进入S6 ;S4.根据上次地址老化操作写访问过滤数据库的地址或上次CPU写访问过滤数据库的地址,决定是否更新地址学习操作读访问过滤数据库而获取的条目内容;S5.通过地址老化操作或CPU写访问过滤数据库,清除写访问请求指示,进入S7 ;S6.通过地址老化操作或CPU读访问过滤数据库,获取条目内容,产生写访问过滤数据库的条目内容和请求; S7. VLAN网桥二层进行查找操作,读访问过滤数据库;S8.通过地址学习操作,写访问过滤数据库。
在上述技术方案的基础上,所述条目内容内容包括条目内容状态、MAC地址、输入虚拟局域网标识和转发的目的端口号。
在上述技术方案的基础上,所述S4中,判断上次地址老化操作写访问过滤数据库的地址或上次CPU写访问过滤数据库的地址,是否等于本次地址学习操作读取过滤数据库的地址,若是,则更新本次地址学习操作读访问过滤数据库的条目内容为写访问内容;若否,保持地址学习操作获取过滤数据库的条目内容不变。
在上述技术方案的基础上,所述S4中,若是更新本次地址学习操作读访问过滤数据库的条目内容为写访问内容,则所述S5中还要将更新后的条目内容写入过滤数据库。
在上述技术方案的基础上,所述S6中,地址老化操作或CPU采用轮询的方式访问过滤数据库,判断上次地址老化操作是否存在读访问过滤数据库的操作,若是,则本次使能 CPU读访问过滤数据库;若否,使能地址老化读访问过滤数据库,并判断条目内容状态。
在上述技术方案的基础上,所述S6中,若所述条目内容状态为有效,则更新条目内容状态至半老化,产生写访问过滤数据库请求;若条目内容状态为半老化,则更新条目内容状态为无效,产生写访问过滤数据库请求;若条目内容状态为其他,进入S7。
在上述技术方案的基础上,所述S6中,当CPU读访问过滤数据库时,配置条目内容,产生写访问过滤数据库请求。
在上述技术方案的基础上,所示S7中,VLAN网桥二层进行查找操作,将报文的目的MAC地址和输入虚拟局域网标识,分别与读访问过滤数据库获取的条目内容进行比较, 若目的MAC地址和输入虚拟局域网标识均与读访问过滤数据库获取的条目内容匹配,且条目内容状态为有效,则将数据报文转发至查找到的目的端口 ;否则,在VLAN域内进行泛洪操作。
在上述技术方案的基础上,所述S8中,通过地址学习操作将报文的源MAC地址、输入虚拟局域网标识和源端口,分别与地址学习操作获取的条目内容进行比较,查看是否匹配,如果源MAC地址、VLAN_ID和源端口均与条目内容匹配,则更新过滤数据库中的条目内容状态为有效,并写访问过滤数据库;如果源MAC地址和VLAN ID均与所述条目内容匹配, 但是端口不一致,替换条目内容中的端口,并写访问过滤数据库。
在上述技术方案的基础上,所述查看是否匹配时,如果条目内容状态为无效,则将报文的源MAC地址、输入虚拟局域网标识和端口信息写入过滤数据库;其他情况,不进行写入过滤数据库的操作。
本发明的有益效果在于即使数据库只存在一个访问端口时,仍然能够数据报文的线速学习和无阻塞线性转发,避免数据报文过度泛洪而导致的网络性能下降;同时采用轮询机制,实现地址老化或CPU对FDB的读访问和写访问操作,节省老化整个FDB中所有条目的时间;保证大容量FDB执行地址老化操作的时间精度,为实现未来超大带宽网络的网桥交换提供了保证。


图I为本发明实现VLAN网桥桥接技术的方法的总体流程图2为本发明实现VLAN网桥桥接技术的方法的详细流程图;具体实施方式
以下结合附图对本发明作进一步详细说明。
如图I和图2所示,本发明一种实现VLAN网桥桥接技术的方法,包括如下步骤
SI. VLAN网桥从输入端口接收报文,获取该报文的源MAC地址、目的MAC地址和输入虚拟局域网标识(以下简称为VLAN ID)。
S2. CPU通过地址学习操作,读访问过滤数据库(以下简称FDB),获取条目内容,条目内容包括条目内容状态、MAC地址、VLAN ID和转发的目的端口号。
S3.判断地址老化操作或CPU是否存在对FDB的写访问请求,若是,进入S4 ;若否, 进入S6。
S4.根据上次地址老化操作写访问FDB的地址或上次CPU写访问FDB的地址,决定是否更新地址学习操作读访问FDB而获取的条目内容,其具体步骤如下
S41.判断上次地址老化操作写访问FDB的地址或上次CPU写访问FDB的地址,是否等于本次地址学习操作读取FDB的地址,若是,进入S42 ;若否,进入S43。
S42.更新本次地址学习操作读访问FDB的条目内容为写访问内容。
S43.保持地址学习操作获取FDB的条目内容不变。
S5.通过地址老化操作或CPU写访问FDB,清除写访问请求指示,进入S7 ;其中,若是更新本次地址学习操作读访问FDB的条目内容为写访问内容,则要将更新后的条目内容写入FDB,进入S7。
S6.通过地址老化操作或CPU读访问FDB,获取条目内容,产生写访问FDB的条目内容和请求指示;其具体步骤如下
S61.地址老化操作或CPU采用轮询的方式访问FDB,判断上次地址老化操作是否存在读访问过FDB的操作,若否,进入S62 ;若是,进入65。
S62.使能地址老化读访问FDB,并判断条目内容状态,若条目内容状态为半老化, 进入S63 ;若条目内容状态为有效,进入S64 ;若条目内容状态为其他,则进入S7。
S63.更新条目内容状态为无效,产生写访问FDB请求,进入S7。
S64.更新条目内容状态至半老化,产生写访问FDB请求,进入S7。
S65.本次使能CPU读访问FDB ;
S66.配置条目内容,产生写访问FDB请求,进入S7。
S7. VLAN网桥二层进行查找操作,读访问FDB ;具体步骤如下
S71.将报文的目的MAC地址和VLAN ID,分别与读访问FDB获取的条目内容进行比较,若目的MAC地址和VLAN ID均与读访问FDB获取的条目内容匹配,且条目内容状态为有效,则进入S72 ;否则,进入S73。
S72.将数据报文转发至查找到的目的端口,进入S8。
S73.在VLAN域内进行泛洪操作,进入S8。
S8.通过地址学习操作,写访问FDB ;其具体步骤为
S81.通过地址学习操作将报文的源MAC地址、VLAN ID和源端口,分别与地址学习操作获取的条目内容进行比较,查看是否匹配,如果均与地址学习操作获取的条目内容匹配,进入S82 ;如果源MAC地址和VLAN ID与地址学习操作获取的条目内容匹配,但是端口信息不一致,进入S83 ;如果条目内容状态为无效,进入S84 ;其他情况,不进行写入FDB的操作。
S82.更新FDB中的条目内容状态为有效,并写访问FDB。
S83.替换条目内容中的端口信息,并写访问FDB。
S84.将报文的源MAC地址、VLAN ID和端口信息写入FDB。
下面通过具体实施例详细说明本发明内容。
本实施例中,描述四份报文的网桥处理过程,其中初始状态下FDB的内容如表I所示,包括地址、条目内容状态、MAC地址、VLAN ID和端口(即PORT)。
表I
权利要求
1.一种实现VLAN网桥桥接技术的方法,其特征在于,包括如下步骤 51.VLAN网桥从输入端口接收报文,获取该报文的源MAC地址、目的MAC地址和输入虚拟局域网标识; 52.CPU通过地址学习操作,读访问过滤数据库,获取条目内容; 53.判断地址老化操作或CPU是否存在对过滤数据库的写访问请求,若是,进入S4;若否,进入S6 ; 54.根据上次地址老化操作写访问过滤数据库的地址或上次CPU写访问过滤数据库的地址,决定是否更新地址学习操作读访问过滤数据库而获取的条目内容; 55.通过地址老化操作或CPU写访问过滤数据库,清除写访问请求指示,进入S7; 56.通过地址老化操作或CPU读访问过滤数据库,获取条目内容,产生写访问过滤数据库的条目内容和请求; 57.VLAN网桥二层进行查找操作,读访问过滤数据库; 58.通过地址学习操作,写访问过滤数据库。
2.如权利要求I所述的实现VLAN网桥桥接技术的方法,其特征在于所述条目内容内容包括条目内容状态、MAC地址、输入虚拟局域网标识和转发的目的端口号。
3.如权利要求I所述的实现VLAN网桥桥接技术的方法,其特征在于所述S4中,判断上次地址老化操作写访问过滤数据库的地址或上次CPU写访问过滤数据库的地址,是否等于本次地址学习操作读取过滤数据库的地址,若是,则更新本次地址学习操作读访问过滤数据库的条目内容为写访问内容;若否,保持地址学习操作获取过滤数据库的条目内容不变。
4.如权利要求3所述的实现VLAN网桥桥接技术的方法,其特征在于所述S4中,若是更新本次地址学习操作读访问过滤数据库的条目内容为写访问内容,则所述S5中还要将更新后的条目内容写入过滤数据库。
5.如权利要求I所述的实现VLAN网桥桥接技术的方法,其特征在于所述S6中,地址老化操作或CPU采用轮询的方式访问过滤数据库,判断上次地址老化操作是否存在读访问过滤数据库的操作,若是,则本次使能CPU读访问过滤数据库;若否,使能地址老化读访问过滤数据库,并判断条目内容状态。
6.如权利要求5所述的实现VLAN网桥桥接技术的方法,其特征在于所述S6中,若所述条目内容状态为有效,则更新条目内容状态至半老化,产生写访问过滤数据库请求;若条目内容状态为半老化,则更新条目内容状态为无效,产生写访问过滤数据库请求;若条目内容状态为其他,进入S7。
7.如权利要求5所述的实现VLAN网桥桥接技术的方法,其特征在于所述S6中,当CPU读访问过滤数据库时,配置条目内容,产生写访问过滤数据库请求。
8.如权利要求I所述的实现VLAN网桥桥接技术的方法,其特征在于所示S7中,VLAN网桥二层进行查找操作,将报文的目的MAC地址和输入虚拟局域网标识,分别与读访问过滤数据库获取的条目内容进行比较,若目的MAC地址和输入虚拟局域网标识均与读访问过滤数据库获取的条目内容匹配,且条目内容状态为有效,则将数据报文转发至查找到的目的端口 ;否则,在VLAN域内进行泛洪操作。
9.如权利要求I所述的实现VLAN网桥桥接技术的方法,其特征在于所述S8中,通过地址学习操作将报文的源MAC地址、输入虚拟局域网标识和源端口,分别与地址学习操作获取的条目内容进行比较,查看是否匹配,如果源MAC地址、VLAN_ID和源端口均与所述条目内容匹配,则更新过滤数据库中的条目内容状态为有效,并写访问过滤数据库;如果源MAC地址和VLAN ID均与条目内容匹配,但是端口不一致,替换条目内容中的端口,并写访问过滤数据库。
10.如权利要求9所述的实现VLAN网桥桥接技术的方法,其特征在于所述查看是否匹配时,如果条目内容状态为无效,则将报文的源MAC地址、输入虚拟局域网标识和端口信息写入过滤数据库;其他情况,不进行写入过滤数据库的操作。
全文摘要
一种实现VLAN网桥桥接技术的方法,涉及VLAN网桥桥接技术领域,包括步骤S1.VLAN网桥接收报文,获取源MAC地址、目的MAC地址和VLAN ID;S2.CPU通过地址学习操作读访问FDB;S3.判断地址老化操作或CPU是否存在对FDB的写访问请求,若是,进入S4;若否,进入S6;S4.根据上次地址老化或CPU写访问,决定是否更新条目内容;S5.地址老化操作或CPU写访问FDB,清除写访问请求指示,进入S7;S6.地址老化操作或CPU读访问FDB,产生写访问条目内容;S7.二层查找,读访问FDB;S8.地址学习操作,写访问过FDB。本发明保证对数据报文的线速学习和转发,避免过度泛洪。
文档编号H04L12/715GK102932227SQ20121042306
公开日2013年2月13日 申请日期2012年10月29日 优先权日2012年10月29日
发明者鲁鹏, 杨彦波, 黄元波, 刘林 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1