一种测试交换机mac地址学习的系统及方法

文档序号:9420278阅读:933来源:国知局
一种测试交换机mac地址学习的系统及方法
【技术领域】
[0001]本发明涉及交换机技术领域,尤其是涉及一种测试交换机MAC地址学习的系统及方法。
【背景技术】
[0002]初始状态下,交换机mac(Media Access Control 或者Medium Access Control,媒体访问控制,或物理地址、硬件地址)地址表是空的,为了实现快速转发,必须建立mac地址表。同时,由于mac地址表的容量有限,而网络设备变动比较频繁,交换机要能及时的删除旧的mac地址表,更新发生变化的mac地址表。交换机的动态mac地址表学习,就是通过交换机某端口接收到数据包时,交换机会分析该数据包的源mac和vlanid来进行mac地址的添加与删除。交换机根据mac地址表来转发单播报文。MAC地址的学习速度和MAC地址表规格大大影响交换机的转发性能。MAC地址学习过慢,大量mac地址短时间发包,可能会漏学某些MAC,此时漏学MAC地址的回包就被交换机认为是DLF (Destinat1n Lookup Failure)报文,从而影响交换机转发性能。同样,MAC地址表规格太小,MAC地址表写满后,其他MAC地址报文就只能选择广播方式转发,也同样影响交换机性能。因此,测试过程中,需要测试大量mac地址学习性能以及MAC地址表的规格,传统常用的测试方法有:
[0003]方案一:单端口单次发送固定数量MAC地址递变的报文(如10000个),然后查看交换机软硬MAC地址表个数,与发送MAC个数做对比。当发送个数较多的时候此方法看起来很不方便,一个个看的话非常的麻烦,刷屏也非常快,只能根据统计个数进行对比结果是否正确。
[0004]方案一确实能检测出交换机MAC地址表规格和芯片MAC并发能力(通过调整发包速率),但是目前交换机一般规格都有16K或者32KMAC地址容量,核心交换机甚至达到了128K容量,简单查看和对比软硬mac地址表工作量巨大,底层硬件MAC地址表刷屏都有十几分钟,令人眼花缭乱。人工进行查找对比很容易出现漏了的情况,测试精准度也不是很高。
[0005]方案二:双端口持续对发大量源目MAC地址对应并且递变的报文(如:5000〈——>5000),一段时间后,从根据两个端口接收到报文的速率是否跟对端发送的速率相同来判断报文是否都接收了,接收到了报文,mac学习也就是正常。
[0006]方案二的测试方法相对简单,通过两端口发送多组mac对应的报文,查看端口是否都接收到对端发过来的报文,此方法不需要去对比软硬MAC地址表是否相等,只要持续性对打源目mac相反的多个递变数据流,根据端口接收到对端端口发过来报文的速率和个数来判断mac学习是否正常。这个方法也可以通过多次修改发递变源MAC数量来检测出交换机的MAC地址表规格,但是这样也带来了一些问题,不能测试出交换机短时间学习mac的能力,因为报文是持续发送的,可能有某些报文MAC第一次并没有正常写入MAC地址表,而是第二次或者第三次发送这个报文时,此MAC才正常写入MAC地址表中的,这样我们也无从得知交换机的MAC并发能力是否达标。

【发明内容】

[0007]本发明主要解决的技术问题是提供一种测试交换机MAC地址学习的系统及方法,能够准确的测试出交换机的学习能力。
[0008]为解决上述技术问题,本发明采用的一个技术方案是:提供一种测试交换机MAC地址学习的方法,其中,交换机包括第一收发端口和第二收发端口,该方法包括:
[0009]向第一收发端口发送广播报文,其中,广播报文包括了源MAC地址,使得交换机将广播报文的源MAC地址与第一收发端口关联;
[0010]向第二收发端口发送单播报文,其中,单播报文的数量不大于广播报文的数量,单播报文包括目标MAC地址,目标MAC地址和广播报文的源MAC地址相同,以指示单播报文从第一收发端口发送出去;
[0011]检测单播报文是否全部由第一收发端口发送出去,若检测的结果为否,则判断交换机MAC地址学习不正常,若检测的结果为是,则判断交换机MAC地址学习正常。
[0012]其中,方法还包括:逐渐同步调整向第一收发端口发送广播报文的数量和速率和向第二收发端口发送单播报文的数量和速率。
[0013]其中,检测单播报文是否全部由第一收发端口发出的步骤包括:
[0014]统计第二收发端口接收的单播报文的第一数量,进一步统计第一收发端口的发送单播报文的第二数量,比较第一数量和第二数量的值是否相等,若不相等,则判断为单播报文未全部由第一收发端口发出,若相等,则判断为单播报文全部由第一收发端口发出。
[0015]其中,单播报文的数量等于广播报文的数量;
[0016]检测单播报文是否全部由第一收发端口发出的步骤包括:
[0017]分别统计第一收发端口发送广播报文的第一数量和发送单播报文的第二数量,比较第一数量和第二数量的值是否相等,若不相等,则判断为单播报文未全部由第一收发端口发出,若相等,则判断为单播报文全部由第一收发端口发出。
[0018]其中,交换机进一步包括第三收发端口,单播报文的数量等于广播报文的数量;
[0019]检测单播报文是否全部由第一收发端口发出的步骤包括:
[0020]在第二收发端口接收单播报文时,检测第三收发端口是否接收到单播报文,若接收到单播报文,则判断为单播报文未全部由第一收发端口发出,若未接收到单播报文,则判断为单播报文全部由第一收发端口发出。
[0021]为解决上述技术问题,本发明采用的一个技术方案是:提供一种测试交换机MAC地址学习的系统,该系统包括:
[0022]交换机,包括第一收发端口和第二收发端口 ;
[0023]报文发送仪表,包括:
[0024]第一发送端口,用于向第一收发端口发送广播报文,其中,广播报文包括了源MAC地址,使得交换机将广播报文的源MAC地址与第一收发端口关联;
[0025]第二发送端口,用于向第二收发端口发送单播报文,其中,单播报文的数量不大于广播报文的数量,单播报文包括目标MAC地址,目标MAC地址和广播报文的源MAC地址相同,以指示单播报文从第一收发端口发送出去;
[0026]控制器,用于检测单播报文是否全部由第一收发端口发送出去,若检测的结果为否,则判断交换机MAC地址学习不正常,若检测的结果为是,则判断交换机MAC地址学习正常。
[0027]其中,控制器还进一步逐渐同步调整第一发送端口向第一收发端口发送广播报文的数量和速率以及第二发送端口向第二收发端口发送单播报文的数量和速率。
[0028]其中,控制器进一步统计第二收发端口接收的单播报文的第一数量,并统计第一收发端口的发送单播报文的第二数量,比较第一数量和第二数量的值是否相等,若不相等,则判断为单播报文未全部由第一收发端口发出,若相等,则判断为单播报文全部由第一收发端口发出。
[0029]其中,单播报文的数量等于广播报文的数量;
[0030]控制器进一步分别统计第一收发端口发送广播报文的第一数量和发送单播报文的第二数量,比较第一数量和第二数量的值是否相等,若不相等,则判断为单播报文未全部由第一收发端口发出,若相等,则判断为单播报文全部由第一收发端口发出。
[0031 ] 其中,交换机进一步包括第三收发端口,报文发送仪器进一步包括与第三收发端口相连的第三发送端口,单播报文的数量等于广播报文的数量;
[0032]在第二收发端口接收单播报文时,控制器进一步检测第三发送端口是否接收到单播报文,若接收到单播报文,则判断为单播报文未全部由第一收发端口发出,若未接收到单播报文,则判断为单播报文全部由第一收发端口发出。
[0033]本发明的有益
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1