处理地址查找失败报文的方法和板卡.pdf

上传人:大师****2 文档编号:1023039 上传时间:2018-03-26 格式:PDF 页数:11 大小:575.50KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910241666.5

申请日:

2009.11.30

公开号:

CN101729416A

公开日:

2010.06.09

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20091130|||公开

IPC分类号:

H04L12/56; H04L29/12

主分类号:

H04L12/56

申请人:

中兴通讯股份有限公司

发明人:

刘付喜; 顾健辉

地址:

518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

北京银龙知识产权代理有限公司 11243

代理人:

许静

PDF下载: PDF下载
内容摘要

本发明提供一种处理地址查找失败报文的方法和板卡,其中方法包括:第一板卡接收一数据报文;若所述第一板卡的MAC表中没有所述数据报文的目的MAC地址,则确定所述数据报文为地址查找失败DLF报文;所述第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上。本发明能够降低DLF包广播概率,提高板卡的端口带宽利用率和系统整体性能。

权利要求书

1: 一种处理地址查找失败报文的方法,其特征在于,包括: 第一板卡接收一数据报文; 若所述第一板卡的MAC表中没有所述数据报文的目的MAC地址,则确定所述数据报文为地址查找失败DLF报文; 所述第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上。
2: 根据权利要求1所述的方法,其特征在于,第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上的步骤具体为: 第一板卡将所述DLF报文重定向至所述第一板卡所在网络中MAC表容量最大的第二板卡上。
3: 根据权利要求2所述方法,其特征在于,第一板卡将所述DLF报文重定向至所述第一板卡所在网络中MAC表容量最大的第二板卡上后包括: 在所述第二板卡的MAC表中,查找所述DLF报文的目的MAC地址; 若所述第二板卡的MAC表中没有所述DLF报文的目的MAC地址,则将所述DLF报文在所述第一板卡所在网络中进行广播,否则,将所述DLF报文发送至所述目的MAC地址指示的目的端口。
4: 根据权利要求3所述的方法,其特征在于,将所述DLF报文在所述第一板卡所在网络中进行广播前,还包括: 对所述第一板卡的端口进行隔离。
5: 根据权利要求4所述的方法,其特征在于,对所述第一板卡的端口进行隔离的步骤具体为: 对所述第一板卡的端口隔离表项中设置:从该端口发出报文的方向是通路状态,报文进入该端口的方向是阻断状态。
6: 根据权利要求3所述的方法,其特征在于,若所述第二板卡的MAC表中没有所述DLF报文的目的MAC地址时,还包括: 将所述DLF报文的源MAC地址加入到所述第二板卡的MAC表中。
7: 根据权利要求1所述的方法,其特征在于,确定所述数据报文为地址查找失败DLF报文时,还包括: 在所述DLF报文的包头字段,设置用于标记该报文为DLF报文的标识。
8: 一种板卡,包括:第一端口和第二端口;其特征在于,还包括: 查找单元,用于查找所述板卡的MAC表,判断所述MAC表中是否存在从所述第一端口接收的数据报文的目的MAC地址,若没有,则确定所述数据报文为地址查找失败DLF报文; 重定向单元,用于产生将所述DLF报文重定向至MAC表容量比所述板卡的MAC表容量大的另一板卡上的指令; 所述第二端口根据所述指令,将所述DLF报文发送至所述另一板卡上。
9: 根据权利要求8所述的板卡,其特征在于,所述重定向单元具体用于产生将所述DLF报文重定向至所述板卡所在网络中MAC表容量最大的板卡上的指令; 所述第二端口根据所述指令,将所述DLF报文发送至所述MAC表容量最大的板卡上。
10: 根据权利要求8或9所述的板卡,其特征在于,还包括: 设置单元,用于在所述第一端口和所述第二端口的隔离表项中设置:确定所述数据报文为地址查找失败DLF报文时,从所述第一端口单元至所述第二端口单元是通路状态,从所述第二端口单元至所述第一端口单元是阻断状态。
11: 根据权利要求8所述的板卡,其特征在于,还包括: 广播单元,用于在所述板卡为非最小MAC容量的板卡时,将所述DLF报文在所述板卡所在网络中广播。

说明书


处理地址查找失败报文的方法和板卡

    【技术领域】

    本发明涉及一种以太网交换设备的报文处理技术,特别是指一种处理DLF(Destination Lookup Failure,地址查找失败)报文的方法和板卡。

    背景技术

    目前交换机对DLF报文(即地址查找失败报文)的处理,一般都是在VLAN(Virtual Local Area Network,虚拟局域网)内进行广播。

    图1为一个典型的分布式交换机系统模型,分布式交换机系统还包括:由几个独立交换机级联而成的系统,本发明中仅以图1中的系统为例进行说明,但不限于该类型;如图1所示:

    该系统一般包括多块板卡,如图中的板卡1~板卡4,其中,板卡1、板卡2、板卡3和板卡4均与一背板连接,并通过背板传输报文;

    该图1中,假设板卡1的接口1(即Port 1),板卡2的接口2(即Port 2),板卡3的接口3(即Port 3),以及板卡4的接口4(即Port 4)均属于VLAN 1;

    假设该板卡1的MAC(Media Access Control,介质访问控制)表容量为16K,板卡2的MAC表容量为32K,板卡3的MAC表容量为16K,板卡4的MAC表容量为16K;

    板卡1上的MAC表容量已达到最大值,不能再添加新的MAC。

    如果板卡1的Port 1收到了一个数据包,并且这个数据包在板卡1上没有查到目的MAC(即是一个DLF包),此时,板卡1会向VLAN 1的所有成员端口广播该数据包,Port 2、Port 3和Port 4都将收到该数据包。

    如果该数据包的目的MAC在板卡2上存在,且出口为Port 2,那么Port 3和Port 4收到的该数据包就是多余的,浪费了Port 3和Port 4的端口带宽。

    在分布式交换机系统中,当MAC表容量较小的那块板卡,因MAC表容量达到最大值,而不能继续添加新的MAC时,后续进入该板卡的数据包查不到目的MAC的概率将高出MAC表容量最大的板卡,在某些极端情况下,这种差距会很大,这样,对于系统端口带宽的浪费也会比较大,最终影响了系统的整体性能。

    【发明内容】

    本发明要解决的技术问题是提供一种能够降低DLF报文广播概率的处理地址查找失败报文的方法和板卡,提高板卡的端口带宽利用率和系统整体性能。

    为解决上述技术问题,本发明的实施例提供一种处理地址查找失败报文的方法,包括:

    第一板卡接收一数据报文;

    若所述第一板卡的MAC表中没有所述数据报文的目的MAC地址,则确定所述数据报文为地址查找失败DLF报文;

    所述第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上。

    其中,第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上的步骤具体为:

    第一板卡将所述DLF报文重定向至所述第一板卡所在网络中MAC表容量最大的第二板卡上。

    其中,第一板卡将所述DLF报文重定向至所述第一板卡所在网络中MAC表容量最大的第二板卡上后包括:

    在所述第二板卡的MAC表中,查找所述DLF报文的目的MAC地址;

    若所述第二板卡的MAC表中没有所述DLF报文的目的MAC地址,则将所述DLF报文在所述第一板卡所在网络中进行广播,否则,将所述DLF报文发送至所述目的MAC地址指示的目的端口。

    其中,将所述DLF报文在所述第一板卡所在网络中进行广播前,还包括:

    对所述第一板卡的端口进行隔离。

    其中,对所述第一板卡的端口进行隔离的步骤具体为:

    对所述第一板卡的端口隔离表项中设置:从该端口发出报文地方向是通路状态,报文进入该端口的方向是阻断状态。

    其中,若所述第二板卡的MAC表中没有所述DLF报文的目的MAC地址时,还包括:

    将所述DLF报文的源MAC地址加入到所述第二板卡的MAC表中。

    其中,确定所述数据报文为地址查找失败DLF报文时,还包括:

    在所述DLF报文的包头字段,设置用于标记该报文为DLF报文的标识。

    本发明的实施例还提供一种板卡,包括:第一端口和第二端口;还包括:

    查找单元,用于查找所述板卡的MAC表,判断所述MAC表中是否存在从所述第一端口接收的数据报文的目的MAC地址,若没有,则确定所述数据报文为地址查找失败DLF报文;

    重定向单元,用于产生将所述DLF报文重定向至MAC表容量比所述板卡的MAC表容量大的另一板卡上的指令;

    所述第二端口根据所述指令,将所述DLF报文发送至所述另一板卡上。

    其中,所述重定向单元具体用于产生将所述DLF报文重定向至所述板卡所在网络中MAC表容量最大的板卡上的指令;

    所述第二端口根据所述指令,将所述DLF报文发送至所述MAC表容量最大的板卡上。

    其中,上述板卡还包括:

    设置单元,用于在所述第一端口和所述第二端口的隔离表项中设置:确定所述数据报文为地址查找失败DLF报文时,从所述第一端口单元至所述第二端口单元是通路状态,从所述第二端口单元至所述第一端口单元是阻断状态。

    其中,上述板卡还包括:

    广播单元,用于在所述板卡为非最小MAC容量的板卡时,将所述DLF报文在所述板卡所在网络中广播。

    本发明的上述技术方案的有益效果如下:

    上述方案,通过第一板卡在确定接收的数据报文为DLF报文时,将该DLF重定向至MAC表容量比该第一板卡的MAC表容量大的第二板卡上,由于该第二板卡的MAC表容量比第一板卡的MAC表容量大,因此,该第二板卡的MAC表中的MAC地址就比第一板卡的MAC表中的MAC多,该数据报文在第二板卡的MAC表中匹配到所述数据报文目的MAC地址的机率就大,当从MAC表中查找到该数据报文的目的MAC地址时,该数据报文就会发送至该目的MAC地址所指示的目的端口;这样就减少了DLF报文被广播的机率。

    【附图说明】

    图1为分布式交换机系统中,各板卡之间的连接关系示意图;

    图2为本发明的处理地址查找失败报文的方法流程示意图;

    图3为本发明的板卡结构图。

    【具体实施方式】

    为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

    本发明针对现有分布式交换机系统中,容易产生报文广播风暴的问题,提供一种能够降低DLF报文广播概率的处理地址查找失败DLF报文的方法和板卡,提高板卡的端口带宽利用率和系统整体性能。

    如图2所示,本发明的实施例提供一种处理地址查找失败报文的方法,包括:

    步骤201,第一板卡接收一数据报文;

    步骤202,若所述第一板卡的MAC表中没有所述数据报文的目的MAC地址,则确定所述数据报文为地址查找失败DLF报文;

    步骤203,所述第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上。

    本发明的上述实施例通过第一板卡在确定接收的数据报文为DLF报文时,将该DLF重定向至MAC表容量比该第一板卡的MAC表容量大的第二板卡上,由于该第二板卡的MAC表容量比第一板卡的MAC表容量大,因此,该第二板卡的MAC表中的MAC地址就比第一板卡的MAC表中的MAC多,该数据报文在第二板卡的MAC表中匹配到所述数据报文目的MAC地址的机率就大,当从MAC表中查找到该数据报文的目的MAC地址时,该数据报文就会发送至该目的MAC地址所指示的目的端口;这样就减少了DLF报文被广播的机率。现有技术中,第一板卡确定接收的数据报文为DLF报文时,就进行广播,很容易产生广播风暴。

    其中,上述步骤203优选为:

    所述第一板卡将所述DLF报文重定向至所述第一板卡所在网络中MAC表容量最大的第二板卡上。

    其中,所述第一板卡将所述DLF报文重定向至所述第一板卡所在网络中MAC表容量最大的第二板卡上后还包括:

    在所述第二板卡的MAC表中,查找所述DLF报文的目的MAC地址;

    若所述第二板卡的MAC表中没有所述DLF报文的目的MAC地址,则将所述DLF报文在所述第一板卡所在网络中进行广播,否则,将所述DLF报文发送至所述目的MAC地址指示的目的端口,并以单播的方式发送出去。

    其中,将所述DLF报文在所述第一板卡所在网络中进行广播的步骤优选为:将所述DLF报文在所述第一板卡所在VLAN中所有端口进行广播。

    由于MAC表容量最大的板卡的MAC表中的MAC地址最多,因此,当一板卡确定其接收的数据报文为DLF报文时,将该DLF报文重定向至该MAC表容量最大的板卡上,由该MAC表容量最大的板卡再进行查找该DLF报文的目的MAC地址,这样查找到的机率就非常大;一旦找到该DLF报文的目的MAC地址,就将该DLF报文发送至该目的MAC地址所指示的目的端口,只有当该MAC容量最大的板卡也没有查找到该DLF报文的目的MAC地址时,才进行广播,这样大大减少了数据报文被广播的机率,最终节省了端口带宽的浪费,提高了系统性能。

    另外,为了避免最终的DLF报文广播回来又从源端口出,形成广播风暴,需要对源端口自身进行二层隔离,保证从本端口进入的流不能再从本端口流出;在将所述DLF报文在所述第一板卡和所述第二板卡所在网络中进行广播前,还包括:对所述第一板卡的端口进行隔离。

    具体来讲,如可以对所述第一板卡的端口隔离表项中设置:从该端口发出报文的方向是通路状态,报文进入该端口的方向是阻断状态。

    另外,若所述第二板卡的MAC表中没有所述DLF报文的目的MAC地址时,还包括:将所述DLF报文的源MAC地址加入到所述第二板卡的MAC表中。具体实现时,如可以是打开第二板卡(即MAC表容量最大的板卡)对这类第二板卡中也没有数据报文的目的MAC地址的重定向报文的源MAC学习功能,即将该数据报文的源MAC地址加入到所述第二板卡的MAC表中,这样,当有一数据报文的目的MAC地址与该源MAC地址相同时,该第二板卡可以直接将该数据报文转发至该源MAC地址所指向的端口,该第二板卡就不用再在其MAC表中进行查找,提高了数据报文目的MAC地址命中的机率,同时也提高了板卡的工作效率。

    另外,在上述方法中,确定所述数据报文为地址查找失败DLF报文时,还包括:在所述DLF报文的包头字段,设置用于标记该报文为DLF报文的标识。当该板卡的另一处理单元,如发送单元,在接收到一数据报文时,就可以根据该数据报文的包头字段,很容易确定该数据报文是否为DLF报文。

    下面再结合图1说明本发明的上述方法的具体实现:

    板卡1的MAC表容量为16K,板卡2的MAC表容量为32K,板卡3的MAC表容量为16K,板卡4的MAC表容量为16K;

    选出系统中MAC表容量最大的板卡为板卡2;MAC表容量小于板卡2的其余板卡(如板卡1、3和4)利用重定向功能建立到板卡2的重定向规则;对MAC表容量小于板卡2的其余板卡上,设置各端口自身在二层上隔离;

    1)当板卡1的Port 1收到一数据报文时,首先检查其目的MAC地址在板卡1的MAC表中是否存在;

    2)如果存在,则按照正常的转发流程转发到目的端口;如果不存在,则将数据报文利用板卡上1芯片提供的报文重定向功能,将该数据报文重定向至系统中MAC表容量最大的板卡2上,进行所述数据报文的目的MAC地址的二次查找,可以提高查找命中概率;

    该步骤中,需要在这些MAC表容量小于板卡2的板卡上建立重定向到板卡2的重定向规则。这条规则包含了用于识别一个包是否是DLF报文的相关字段组合;该字段是在板卡1判断其接收到的数据报文为DLF报文时,在该数据报文的包头设置一标识,用于标记该数据报文为DLF报文,当该数据报文进入该板卡1的另一处理单元(如发送端口)后,该处理单元会对数据报文的包头进行解析,提取相关字段,看是否与上述规则匹配,如果匹配了,则说明是DLF报文,该DLF报文将会被重定向到板卡2做二次目的查找;

    3)如果在板卡2的MAC表中仍然没有查到上述数据报文的目的MAC地址,再将此数据报文向相应VLAN内进行广播;如果查到,则单播转发到目的端口;

    如果板卡2中,所述数据报文的目的MAC地址查找仍然失败,为了避免最终的DLF报文广播回来又从源端口出,形成广播风暴,必须对源端口自身进行二层隔离,保证从本端口进入的流不能再从本端口流出。

    4)板卡1(MAC表容量小于板卡2的板卡)上的交换芯片收到一份数据报文后,判断其是否为DLF报文。如果是DLF包,则板卡2上打开对该类重定向报文的源MAC学习功能,在接收到重定向过来的DLF报文后,查找本板卡交换芯片的MAC表,如果查到则将DLF报文转发至目的端口,如果仍然没有查到目的MAC则将此DLF报文在相应VLAN内进行广播;否则,正常转发该包至目的端口;

    其中,板卡2接收到其它板卡重定向过来的DLF报文后,打开对此类报文中的源MAC在板卡2上的学习功能,这样就增加了MAC地址容量较小的板卡在板卡2上进行二次目的查找的DLF报文的目的MAC的命中的概率,相当于扩展了板卡2的MAC地址表容量。从而降低了DLF报文在VLAN内广播的概率。

    当然,上述实施例中,若板卡1的MAC表容量为16K,板卡2的MAC表容量为32K,板卡3的MAC表容量为64K,板卡4的MAC表容量为16K;

    这样的情况下,若板卡1接收到一数据报文,并判断该数据报文为DLF报文时,可以将该DLF报文重定向至板卡2(即MAC表容量即不是最大,也不是最小),板卡2接收到该板卡1转发来的数据报文后,若判断该数据报文的目的MAC地址也不在本板卡的MAC表中,则该板卡2可以直接对该数据报文进行广播,也可以进一步将该数据报文重定向至板卡3,若查找到,则直接将数据报文转发至目的端口;

    板卡3接收到该板卡2转发过来的数据报文后,也在该板卡3的MAC表中查找该板卡2转发过来的数据报文的目的MAC地址,若没有,则再进行广播,若有,则直接发送到目的端口;

    当然,最优选的方式是:板卡1直接将判断出的DLF报文重定向至该板卡3(即MAC[容量最大的板卡)上,这样可以最大程度上增大数据报文目的MAC的命中率,减少数据报文被广播的机率。

    如图3所示,本发明的实施例还提供一种板卡30,包括:第一端口31和第二端口32;以及

    查找单元33,用于查找所述板卡的MAC表,判断所述MAC表中是否存在从所述第一端口31接收的数据报文的目的MAC地址,若没有,则确定所述数据报文为地址查找失败DLF报文;

    重定向单元34,用于产生将所述DLF报文重定向至MAC表容量比所述板卡的MAC表容量大的另一板卡上的指令;

    所述第二端口32根据所述指令,将所述DLF报文发送至所述另一板卡上。

    优选的,所述重定向单元34具体用于产生将所述DLF报文重定向至所述板卡所在网络中MAC表容量最大的板卡上的指令;

    所述第二端口32根据所述指令,将所述DLF报文发送至所述MAC表容量最大的板卡上。

    由于MAC表容量最大的板卡的MAC表中的MAC地址最多,因此,当一板卡确定其接收的数据报文为DLF报文时,将该DLF报文重定向至该MAC表容量最大的板卡上,由该MAC表容量最大的板卡再进行查找该DLF报文的目的MAC地址,这样查找到的机率就非常大;一旦找到该DLF报文的目的MAC地址,就将该DLF报文发送至该目的MAC地址所指示的目的端口,只有当该MAC容量最大的板卡也没有查找到该DLF报文的目的MAC地址时,才进行广播,这样大大减少了数据报文被广播的机率,最终节省了端口带宽的浪费,提高了系统性能。

    另外,上述板卡30还可包括:

    设置单元35,用于在所述第一端口和所述第二端口的隔离表项中设置:确定所述数据报文为地址查找失败DLF报文时,从所述第一端口单元至所述第二端口单元是通路状态,从所述第二端口单元至所述第一端口单元是阻断状态;避免了最终的DLF报文广播回来又从源端口出,形成广播风暴,保证从本端口进入的流不能再从本端口流出。

    另外,上达板卡30还可包括:

    广播单元,用于在所述板卡为非最小MAC容量的板卡时,将所述DLF报文在所述板卡所在网络中广播。

    具体来讲,所述板卡为最大MAC容量的板卡时,接收到一数据报文,判断该数据报文的目的MAC地址在MAC表中没有,则将该DLF报文在所述板卡所在网络中进行广播;或者,所述板卡接收的数据报文是从其它板卡重定向过来的,也就是说,该板卡的MAC表容量即不是最大,也不是最小的情况下,该中间MAC容量的板卡判断该数据报文的目的MAC地址不在本板卡的MAC表中,则可以将该DLF报文在网络中进行广播,也可以将该DLF报文进一步转发至MAC表容量比该板卡MAC表容量大的板卡上。

    本发明的实施例板卡可以为任何一种如交换机、路由器中的板卡,具体实现时,可以是一个具有数据转发,交换功能的芯片。

    综上所述,本发明的上述方案提供了降低分布式交换机中DLF报文广播概率的方法和板卡,通过将DLF报文重定向到系统中MAC容量最大的板卡,进行第二次目的MAC地址查找,来提高目的MAC地址的命中概率,减少DLF报文的广播。最终节省了端口带宽的浪费,提供了系统性能。

    以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

处理地址查找失败报文的方法和板卡.pdf_第1页
第1页 / 共11页
处理地址查找失败报文的方法和板卡.pdf_第2页
第2页 / 共11页
处理地址查找失败报文的方法和板卡.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《处理地址查找失败报文的方法和板卡.pdf》由会员分享,可在线阅读,更多相关《处理地址查找失败报文的方法和板卡.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明提供一种处理地址查找失败报文的方法和板卡,其中方法包括:第一板卡接收一数据报文;若所述第一板卡的MAC表中没有所述数据报文的目的MAC地址,则确定所述数据报文为地址查找失败DLF报文;所述第一板卡将所述DLF报文重定向至MAC表容量比所述第一板卡的MAC表容量大的第二板卡上。本发明能够降低DLF包广播概率,提高板卡的端口带宽利用率和系统整体性能。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1