基于预读取方式的学习MAC地址的装置及方法制造方法及图纸

技术编号:19126112 阅读:43 留言:0更新日期:2018-10-10 07:35
一种基于预读取方式的学习介质访问控制层MAC地址的装置及方法,其装置包括地址提取模块、学习模块、组帧模块、轮询模块、学习帧缓存模块、预读取模块、冲突检测模块、更新模块、时间模块。方法包括:提取二层以太网数据帧中的介质访问控制层MAC地址的源地址,根据该源地址读取地址表中的表项信息,然后根据该表项信息以及入端口信息组成学习帧;对学习帧进行冲突检测,从没有发生冲突或冲突已经结束的学习帧帧中提取表项信息更新地址表。本发明专利技术通过在对学习帧进行冲突检测的同时预先读取新的学习帧的方式,高了介质访问控制层MAC地址的学习速率。

【技术实现步骤摘要】
基于预读取方式的学习MAC地址的装置及方法
本专利技术属于通信
,更进一步涉及通信网络
中的一种基于预读取方式的学习介质访问控制层MAC(MediaAccessControl)地址的装置及方法。本专利技术可用于在通信网络系统中的大容量交换设备中的二层以太网数据帧,通过学习介质访问控制层MAC地址对应的端口信息,从而决定二层以太网数据帧的输出端口,同时不断更新查找表信息并保证查找表信息更新无冲突。
技术介绍
随着科技日新月异发展,人们对大容量交换设备的交换容量需求越来越大,也对大容量交换设备的数据传输速率要求越来越高。目前网络节点对数据的处理性能是制约网络吞吐率的关键。作为通信网络节点的关键网络设备,大容量交换设备性能直接影响网络的整体性能,进而影响用户的通信体验。学习二层以太网数据帧介质访问控制层MAC地址技术广泛应用于二层以太网交换机中,主要负责提取接收到的二层以太网数据帧中的介质访问控制层MAC地址的源地址,然后学习该源地址和入端口信息,用来更新地址表信息,学习二层以太网数据帧介质访问控制层MAC地址的速率直接影响二层以太网交换机的整体性能,进而影响用户的通信体验。杭州华三通信技术有限公司在其申请的专利文献“一种媒体访问控制MAC地址表项学习方法和装置”(申请号:200910174222.4公开号:CN101651627A)中公开了一种介质访问控制层MAC地址表项学习方法和装置。该专利技术的装置包括收发模块、记录模块、查找模块、存储模块、判断模块、添加模块、老化模块,其中,收发模块用于接收单播报文以及向CPU发送老化地址消息;记录模块用于记录接收到的单播报文的介质访问控制层MAC地址的源地址和入端口信息;查找模块用于查找转发数据库FDB(ForwardDatabase)表中是否存在单播报文的介质访问控制层MAC地址的源地址;存储模块用于存储转发数据库FDB表;判断模块用于判断转发数据库FDB表中介质访问控制层MAC地址的源地址对应的出端口信息和单播报文的出端口信息是否一致;添加模块用于将单播报文的介质访问控制层MAC地址的源地址和入端口信息添加到转发数据库FDB表中;老化模块用于对转发数据库FDB表中存储的介质访问控制层MAC地址表项进行老化。该专利技术的装置存在的不足之处在于:添加模块直接与查找模块相连,当查找模块突发提供大量数据给添加模块时,添加模块无法发快速处理而导致数据容易丢失。该方法的具体步骤是:第一,当接收到单播报文时,记录模块记录单播报文的介质访问控制层MAC地址的源地址和入端口信息。第二,查找模块查找转发数据库FDB表中是否存在该源地址,若是则继续查找转发数据库FDB表中该单播报文的介质访问控制层MAC地址的目的地址,并将查找结果上报,否则进行下一步。第三,添加模块将源地址和入端口信息添加到转发数据库FDB表中。该专利技术的方法存在的不足之处是:当转发数据库FDB表中已存在当前单播报文的介质访问控制层MAC地址的源地址时,会直接跳过对于该源地址的学习过程,导致当该源地址对应的转发数据库FDB表项老化后,新接收到的以该源地址为目的地址的单播报文无法确定输出端口,从而使该单播报文被广播,影响其它报文的发送。西安电子科技大学在其申请的专利文献“多路并行的MAC地址学习和地址查找装置及方法”(申请号:201610146421.4公开号:CN105812264A)中公开了一种介质访问控制层MAC地址表项学习方法和装置。该专利技术的装置包括接收调度模块、多路并行的查找表模块、学习结果轮询模块、同步更新表缓存器、更新模块、老化删除模块和地址选择模块,其中,接收调度模块用于对接收到的数据分组添加时间标识;查找表模块用于并行的地址学习和地址查找;学习结果轮询模块用于轮询接收各路学习结果;同步更新表缓存器用于缓存学习结果;更新模块用于更新多路地址表;地址选择模块用于当更新模块不更新地址表时,选择连接老化删除模块;老化删除模块用于将老化的地址表清除掉。该专利技术的装置存在的不足之处在于:更新模块和老化删除模块通过地址选择模块共用一条通路连接多路地址表,由于更新模块使用该条通路的优先级高于老化删除模块,当有大量表项需要更新时更新模块长期占用该通路,导致老化删除模块无法及时清除老化的地址表项,最终导致路地址表的存储空间被浪费。该方法的具体步骤是:第一,当接收到数据分组后,接收调度模块按顺序为数据分组添加时间标识,然后将分组发往多路并行的查找表模块。第二,查找表模块进行地址学习和地址查找,然后学习结果轮询模块依次接收各路学习结果,并将学习结果发给同步更新表缓存器。第三、更新模块读取同步更新表缓存器中的表项地址和地址表,并同时查询多路并行的查找表模块正在读取的表项地址,判断这两个表项地址是否为同一地址:如果两个表项地址相同,则在下一周期,重新提取多路并行的查找表模块正在读取的表项地址,再次判断两个表项地址是否相同,反之更新多路地址表,当更新模块不更新地址表时,老化删除模块开始工作。该专利技术的方法存在的不足之处是:更新模块每次需要先从同步更新表缓存器读取一个表项地址和地址表,然后与查找表模块正在读取的表项地址进行判断来决定是否更新多路地址表,这导致至少需要两个时钟周期来读取同步更新表缓存器中的一个表项信息,当接收数据分组的速率较高时,由于更新模块无法及时读取同步更新表缓存器中的表项信息,导致同步更新表缓存器存储的表项信息溢出,最终导致表项信息丢失。
技术实现思路
本专利技术的目的是针对上述现有技术的不足,提出一种基于预读取方式的学习介质访问控制层MAC地址的装置及方法。本专利技术可以提高学习介质访问控制层MAC地址的速率,有助于提高大容量交换设备的交换容量。实现本专利技术目的的具体思路是:首先地址提取模块提取接收到的二层以太网数据帧中的介质访问控制层MAC地址的源地址,并将该源地址发送给学习模块,学习模块对源地址进行查表,得到一组与源地址对应的信息,并将该信息发送给组帧模块,组帧模块将接收到的信息组成学习帧,然后将学习帧发送给轮询模块,轮询模块轮询多路组帧模块提供的学习帧,并将学习帧发送给学习帧缓存模块,预读取模块从学习帧缓存模块读取学习帧,并将学习帧发送给冲突检测模块,冲突检测模块对接收到的学习帧进行冲突检测,当没有发生冲突时,冲突检测模块将学习帧发送给更新模块,更新模块提取接收到的学习帧中的有效信息,然后更新多路地址表,完成介质访问控制层MAC地址的学习。实现本专利技术目的的装置包括地址提取模块、学习模块、组帧模块、轮询模块、学习帧缓存模块、预读取模块、冲突检测模块、更新模块、时间模块;所述地址提取模块与学习模块相连;学习模块与地址提取模块、组帧模块相连;组帧模块与学习模块、轮询模块、时间模块相连;轮询模块与组帧模块、学习帧缓存模块相连;学习帧缓存模块与轮询模块、预读取模块相连;预读取模块与学习帧缓存模块、冲突检测模块相连;冲突检测模块与预读取模块、更新模块相连;更新模块与冲突检测模块相连;时间模块与组帧模块相连;其中:所述地址提取模块,用于从接收的每一帧二层以太网数据帧中,提取介质访问控制层MAC地址的源地址,将所提取的源地址发送给学习模块;所述学习模块,用于对源地址进行哈希计算,得到源地址的哈希值,将源地址的哈希值输入到学习模块本文档来自技高网
...
基于预读取方式的学习MAC地址的装置及方法

【技术保护点】
1.一种基于预读取方式的学习介质访问控制层MAC地址的装置,其特征在于,包括地址提取模块、学习模块、组帧模块、轮询模块、学习帧缓存模块、预读取模块、冲突检测模块、更新模块、时间模块;所述地址提取模块与学习模块相连;学习模块与地址提取模块、组帧模块相连;组帧模块与学习模块、轮询模块、时间模块相连;轮询模块与组帧模块、学习帧缓存模块相连;学习帧缓存模块与轮询模块、预读取模块相连;预读取模块与学习帧缓存模块、冲突检测模块相连;冲突检测模块与预读取模块、更新模块相连;更新模块与冲突检测模块相连;时间模块与组帧模块相连;其中:所述地址提取模块,用于从接收的每一帧二层以太网数据帧中,提取介质访问控制层MAC地址的源地址,将所提取的源地址发送给学习模块;所述学习模块,用于对源地址进行哈希计算,得到源地址的哈希值,将源地址的哈希值输入到学习模块内的地址表中,从地址表中查找与源地址的哈希值对应的一组表项信息,将源地址、源地址对应的哈希值、哈希值对应的表项信息一并发送给组帧模块;所述组帧模块,用于从学习模块接收到的表项信息中,提取固定的一段时间标识,判断从时间模块接收的时间信息减去时间标识后得到的结果是否大于100秒,若是,则将时间模块提供的时间信息、学习模块提供的源地址以及源地址的哈希值组成学习帧发送到轮询模块,否则,继续判断表项信息中的介质访问控制层MAC地址是否与学习模块提供的源地址相同,若是,则将时间模块提供的时间信息、学习模块提供的源地址以及源地址的哈希值组成学习帧发送到轮询模块,否则,向网络管理中心上报学习冲突;所述轮询模块,用于在学习帧缓存模块为非满状态时,轮询模块按照交换设备端口序号,从低到高循环轮询各端口序号对应的组帧模块,并将轮询得到的学习帧发送到学习帧缓存模块;所述学习帧缓存模块,用于缓存学习帧;所述预读取模块,用于当自身内有空闲寄存器时,持续的从学习帧缓存模块读取学习帧;所述冲突检测模块,用于判断从预读取模块接收到学习帧中的表项地址与各端口序号对应的地址表正在被访问的地址是否相同,若是,则出现访问地址表的读写地址相同的读写冲突,等待读写冲突结束,否则,冲突检测模块在完成冲突检测的同时,从预读取模块读取一帧新的学习帧,用于下一周期对其进行冲突检测,并将已完冲突检测的学习帧发往更新模块;所述更新模块,用于从冲突检测模块接收到的学习帧中提取表项地址和表项信息,然后更新各端口序号对应的地址表在提取到的表项地址处的表项信息;所述时间模块,用于向组帧模块提供当前时间信息。...

【技术特征摘要】
2017.12.29 CN 201711470624X1.一种基于预读取方式的学习介质访问控制层MAC地址的装置,其特征在于,包括地址提取模块、学习模块、组帧模块、轮询模块、学习帧缓存模块、预读取模块、冲突检测模块、更新模块、时间模块;所述地址提取模块与学习模块相连;学习模块与地址提取模块、组帧模块相连;组帧模块与学习模块、轮询模块、时间模块相连;轮询模块与组帧模块、学习帧缓存模块相连;学习帧缓存模块与轮询模块、预读取模块相连;预读取模块与学习帧缓存模块、冲突检测模块相连;冲突检测模块与预读取模块、更新模块相连;更新模块与冲突检测模块相连;时间模块与组帧模块相连;其中:所述地址提取模块,用于从接收的每一帧二层以太网数据帧中,提取介质访问控制层MAC地址的源地址,将所提取的源地址发送给学习模块;所述学习模块,用于对源地址进行哈希计算,得到源地址的哈希值,将源地址的哈希值输入到学习模块内的地址表中,从地址表中查找与源地址的哈希值对应的一组表项信息,将源地址、源地址对应的哈希值、哈希值对应的表项信息一并发送给组帧模块;所述组帧模块,用于从学习模块接收到的表项信息中,提取固定的一段时间标识,判断从时间模块接收的时间信息减去时间标识后得到的结果是否大于100秒,若是,则将时间模块提供的时间信息、学习模块提供的源地址以及源地址的哈希值组成学习帧发送到轮询模块,否则,继续判断表项信息中的介质访问控制层MAC地址是否与学习模块提供的源地址相同,若是,则将时间模块提供的时间信息、学习模块提供的源地址以及源地址的哈希值组成学习帧发送到轮询模块,否则,向网络管理中心上报学习冲突;所述轮询模块,用于在学习帧缓存模块为非满状态时,轮询模块按照交换设备端口序号,从低到高循环轮询各端口序号对应的组帧模块,并将轮询得到的学习帧发送到学习帧缓存模块;所述学习帧缓存模块,用于缓存学习帧;所述预读取模块,用于当自身内有空闲寄存器时,持续的从学习帧缓存模块读取学习帧;所述冲突检测模块,用于判断从预读取模块接收到学习帧中的表项地址与各端口序号对应的地址表正在被访问的地址是否相同,若是,则出现访问地址表的读写地址相同的读写冲突,等待读写冲突结束,否则,冲突检测模块在完成冲突检测的同时,从预读取模块读取一帧新的学习帧,用于下一周期对其进行冲突检测,并将已完冲突检测的学习帧发往更新模块;所述更新模块,用于从冲突检测模块接收到的学习帧中提取表项地址和表项信息,然后更新各端口序号对应的地址表在提取到的表项地址处的表项信息;所述时间模块,用于向组帧模块提供当前时间信息。2.一种基于预读取方式的学习介质访问控制层MAC地址的方法,其特征在于,使用本发明的装置,在对学习帧进行冲突检测的同时读取新的学习帧,所述学习帧是由二层以太网帧中介质访问控制层MAC地址的源地址及输入的端口信息组成,具体步骤包括如下:(1)提取二层以太网帧中介质访问控制层MAC地址的源地址:地址提取模块从接收的每一帧二层以太网数据帧中,提取介质访问控制层MAC地址的源地址,将所提取的源地址发送给学习模块;(2)计算源地址的哈希值:学习模块对源地址进行哈希计算,得到源地址的哈希值;(3)获得哈希值对应的表项信息:(3a)将源地址的哈希值输入到学...

【专利技术属性】
技术研发人员:潘伟涛付新宇邱智亮郑凌赵海峰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1