CN108809837A - Arl表项集中管理优化系统 - Google Patents
Arl表项集中管理优化系统 Download PDFInfo
- Publication number
- CN108809837A CN108809837A CN201810597126.XA CN201810597126A CN108809837A CN 108809837 A CN108809837 A CN 108809837A CN 201810597126 A CN201810597126 A CN 201810597126A CN 108809837 A CN108809837 A CN 108809837A
- Authority
- CN
- China
- Prior art keywords
- arl
- list items
- master control
- line card
- control borad
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种ARL表项集中管理优化系统,应用于机架式交换设备,所述系统包括:线卡为发送到主控板的ARL表项添加相应的增加MAC请求或删除MAC请求;根据预设发送规则线卡将ARL表项及相应的请求通过ERPC方式发送到主控板;主控板根据对应的请求完成主控ARL表的更新,还将ARL表项的更新结果返回到线卡;线卡根据接收的更新结果确认是否需要重新发送ARL表项以保证与主控板中的ARL表项同步。本发明可以实现线卡将ARL表项同步到主控ARL表中并由主控板管理,通过对表项同步流程及消息传输机制的优化,从而提高ARL表项的更新速率,减少CPU资源的浪费与流程的繁琐。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种ARL表项集中管理优化系统。
背景技术
在交换机设备中,特别是在机架式设备,对于由线卡学习到的ARL表项(MAC地址表项),其管理单元通常在主控板端并由主控板集中管理,因此主控板就需要与各个线卡进行交互,实时了解各个线卡的表项状态以方便上层管理者进行网络部署、拓扑规划、业务监控以及故障排查等。
现有的ARL表项集中管理是采用线卡主动学习硬件表项并将学习到的ARL表项实时同步到主控板。例如,若当前学习到500条ARL表项,线卡就需要进行500次同步动作,尤其是对于业务流量较大的机架式设备,在表项同步过程中不仅占用宝贵的管理通道带宽、频繁消耗CPU资源,而且还有可能丢失部分表项,造成ARL表项不一致。
同时为了保障主控板中的表项的正确性和完整性,目前ARL表更新到主控板的方式是采用主控板定时清空主控ARL表,然后从所有线卡重新获取的方式。同样每次更新都会额外的耗费CPU资源,不仅影响ARL表维护效率,而且显得冗余并使得CPU处理负荷不平稳,甚至可能会导致ARL表极不完整。
另外,现有技术主控板更新其主控ARL表的方式是顺序去读取线卡中的ARL表项,由于主控板表容量大小有限,可能主控板表上只能更新到某一张线卡的ARL表项,导致其他线卡的表项信息无法实时更新和管理。
发明内容
鉴于上述问题,本发明提出一种ARL表项集中管理优化系统,用于提高ARL表项同步速率并减少主控板CPU资源的占用。
有鉴于此,本发明提出的一种ARL表项集中管理优化系统,应用于机架式交换设备,所述机架式交换设备包括主控板和至少一线卡,所述优化系统包括:
所述线卡为发送到所述主控板的ARL表项添加对应的增加MAC请求或删除MAC请求;
根据预设发送规则所述线卡将所述ARL表项及所述请求通过ERPC方式发送到所述主控板,其中,所述ERPC方式包括基于远程过程调用方式将所述ARL表项及所述请求封装成消息包后批量发送;
所述主控板接收所述消息包并根据所述请求完成主控ARL表的更新,还将所述ARL表项的更新结果返回到所述线卡;
所述线卡根据所述更新结果确认是否需要重新发送所述ARL表项以保证与所述主控板中的ARL表项同步。
进一步地,一种ARL表项集中管理优化系统,还包括:
所述线卡通过注册回调方式获取硬件表项并存放于线卡端ARL表中。
进一步地,所述预设发送规则包括:
所述线卡判断需要发送的所述ARL表项的条数是否达到预设条目值,达到所述预设条目值则将所述ARL表项送入所述线卡的发送缓冲区进行发送;
或根据所述ARL表项是否达到所述发送缓冲区的上限值,达到所述发送缓冲区的上限值则将所述ARL表项送入所述线卡的发送缓冲区进行发送。
进一步地,一种ARL表项集中管理优化系统,还包括:
所述线卡预设一个定时同步表项时间来定时同步需要发送的所述ARL表项到所述主控板。
进一步地,所述线卡定时同步所述ARL表项包括:
若所述定时同步表项时间已到而需要发送的所述ARL表项还没有达到所述预设条目值或所述发送缓冲区的上限值,则按照所述定时同步表项时间将所述ARL表项定时地同步到所述主控板。
进一步地,所述主控板根据所述请求完成主控ARL表的更新包括:
若为含有增加MAC请求的所述ARL表项,所述主控板通过查找所述主控ARL表来匹配所述ARL表项,若存在匹配项则直接返回更新结果,否则写入或更新所述ARL表项并返回更新结果;
若为含有删除MAC请求的所述ARL表项,所述主控板通过查找所述主控ARL表来匹配所述ARL表项,若不存在匹配项则直接返回更新结果,否则将所述主控板中的对应表项删除并返回更新结果。
进一步地,所述主控板根据所述ARL表项中的MAC地址、关联的VLAN及出口在所述主控ARL表项中查找是否存在相应表项来得到所述匹配项。
进一步地,所述主控板将所述更新结果通过所述ERPC方式批量返回到所述线卡。
进一步地,所述发送缓冲区采用预设条目大小的线性表。
进一步地,所述线卡与所述主控板建立基于TCP协议或UDP协议的套接字通信通道作为所述ERPC方式的传输通道。
本发明提供的技术方案可以包括如下有益效果:
本发明摒弃了现有技术的顺序遍历所有线卡并从线卡上同步ARL表项,而是采用线卡主动上报学习到的ARL表项并以消息包形式实时同步到主控板,可以提高ARL表项的更新效率及同步效率,保证更新流程的可靠性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1为本发明第一实施例的ARL表项集中管理优化系统的ARL表项同步流程图;
图2为本发明第二实施例的ARL表项集中管理优化系统的主控板设计流程图;
图3为本发明第三实施例的ARL表项集中管理优化系统的ARL表项同步流程图;
图4为现有技术中ARL表项集中管理的ARL表项同步过程曲线图;
图5为本发明第三实施例的ARL表项集中管理优化系统的ARL表项同步过程曲线图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在ARL表项集中管理优化系统的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的具体实施方式作详细说明。
本发明提出的一种ARL表项集中管理优化系统,可以应用于机架式交换设备。该机架式交换设备包括主控板和至少一张线卡,所述线卡可以为一张线卡也可以为多张线卡,通过对现有技术的ARL表项管理方法的优化,主要包括有ARL表项同步流程的优化及消息传输机制的优化,从而提高主控板更新线卡的ARL表项效率并减少主控板CPU的更新和维护表项的压力。
实施例1
本实施提出一种ARL表项集中管理优化系统,可以应用于机架式交换设备,该交换设备包括主控板板和至少一张线卡,下面对提出的ARL表项集中管理的优化系统进行说明。
当线卡学习到新的MAC地址或发现已存在的ARL表项发生变化时,为保证主控板与线卡之间的ARL表项同步,线卡需要将该ARL表项同步更新到主控板中的ARL表中。参照图1,本实施的ARL表项集中管理优化系统主要包括以下几个步骤。
步骤S100:所述线卡为发送到所述主控板的ARL表项添加对应的增加MAC请求或删除MAC请求。
本实施中,当新增的ARL表项需要同步到主控板时,线卡为该ARL表项添加相应的增加MAC请求标识;当需要对原有的ARL表项删除时,线卡则为其添加相应的删除请求标识。对于需要更新已存在的ARL表项的情况,可以在原来的ARL表项删除成功后再进行增加操作。
步骤S200:根据预设发送规则所述线卡将所述ARL表项及所述请求通过ERPC方式发送到所述主控板,其中,所述ERPC方式包括基于远程过程调用方式将所述ARL表项及所述请求封装成消息包后批量发送。
具体地,所述预设发送规则包括线卡扫描其存放的ARL表项的条数是否已达到预设条目值或达到发送缓冲区的上限值,若达到所述预设条目值或发送缓冲区已满,则将这些ARL表项放入同一个报文中进行批量发送,即将这些批量的ARL表项与其相应的请求封装成一个消息包通过ERPC方式发送到主控板。所述ERPC方式,作为一种消息传输方式,是在远程过程调用方式(即RPC,Remote Procedure Call,远程过程调用)的基础上定义的一种将消息以消息包或消息数组形式封装后批量传输的传输方式。
其中,所述RPC是一种远程调用协议,用于实现调用者与被调用者之间的连接与同步通信,其大概的流程为:建立RPC服务,约定底层的RPC传输通道,其中,该RPC传输通道可以是基于TCP协议建立的Socket通信通道,也可以是基于UDP协议而建立的Socket通信通道。建立连接后,调用者通过底层的传输通道发送相应的请求消息,被调用者获取相应的请求消息后进行相应的操作并将结果返回到调用者。本实施例中,线卡与主控板首先建立底层的传输通道,即基于TCP协议建立Socket(套接字)通信通道。线卡同步线程将需要批量发送的ARL表项送入发送缓冲区,同时ERPC通知主控板端线卡需要同步ARL表项,进而将所述ARL表项封装成消息包通过所述传输通道发送到主控板,而主控板在接收到消息后同步ARL表项并将相应的更新结果返回到线卡端。
其中,所述发送缓冲区通常为固定条目大小的线性表,本领域技术人员可根据实际情况自行设定其条目大小。例如,若本实施例中的发送缓冲区的条目大小设为100个,当发送缓冲区中存放的表项条目大小达到100个时,线卡则将这100个条目一起批量发送出去并且在发送出去后可以重新利用该发送缓冲区。
基于所述预设发送规则,优选地,本实施例中线卡还可以预设有定时同步表项时间以实时保证主控板中的表项的正确性及完整性。若所述定时同步表项时间已到而需要发送的所述ARL表项还没有达到所述预设条目值或所述发送缓冲区的上限值,则将所述ARL表项进行定时同步到所述主控板。例如,当有大量的业务流进入线卡时,由于发送缓冲区存储的表项达到预设条目值或其上限值的时间通常会小于预设所述定时同步表项时间,故当发送缓冲区满时则优先将存放的ARL表项发送到主控板进行同步。而当业务流较少时,若发送缓冲区存储的表项达到预设条目值或其上限值的时间超过所述定时同步表项时间,线卡则根据所述定时同步表项时间将需要同步到主控板的表项定时地发送到主控板。
需要说明的是,上述的预设发送规则中的扫描存放的ARL表项,该ARL表项可以是存放在发送缓冲区,然后由线卡直接扫描该发送缓冲区中的表项数目,该ARL表项也可以存放在线卡内部存储空间(bucket),然后在线卡扫描到其表项数目达到预设条目值时,线卡同步线程将这些ARL表项送入发送缓冲区并采用ERPC方式与主控板进行同步ARL表项操作。此外,除采用ERPC方式来传输表项同步消息,主控板还可以利用该ERPC方式来发送其他命令到所述线卡。
步骤S300:所述主控板接收所述消息包并根据所述请求完成主控ARL表的更新,还将所述ARL表项的更新结果返回到所述线卡。
具体地,线卡通过ERPC方式将ARL表项的消息包发送到主控板,主控板接收到消息包后对其进行解析,并根据解析得到的各表项的请求来进行相应的同步操作。针对有增加MAC请求或删除MAC请求的表项,下面分别进行说明。
若为含有增加MAC请求的表项,主控板查找其主控ARL表进行相同表项的完全匹配,其中匹配项包括该表项的MAC地址、关联的VLAN及出口等表项信息完全相同。若没有找到相同的键值(即key,为表项的MAC地址和关联的VLAN的索引值)及所述出口,则将当前表项直接写入主控ARL表中并返回更新成功。若查找到相同的key且出口也相同则直接返回更新成功结果。若存在相同的key而出口不同则需要将原来表项删除并将当前表项更新到主控ARL表中再返回更新成功结果。
若为含有删除MAC请求的表项,主控板同样通过查找主控ARL表进行完全匹配,当key与所述出口完全匹配时才可以删除表项操作,若未找到该表项或删除成功后都返回更新成功结果。最终主控板将同一个消息包中的所有表项完成同步后,将上述各表项的更新结果返回到线卡端,优选地,采用批量返回同一消息包中的表项的更新结果。
步骤S400:所述线卡根据所述更新结果确认是否需要重新发送所述ARL表项以保证与所述主控板中的ARL表项同步。
具体地,线卡接收主控板返回的更新结果并根据该结果确认是否需要重新发送相应的表项。对于增加MAC请求的表项,若线卡未收到返回的更新结果或收到失败的更新结果时,则需要将该表项进行重发,如果未成功增加前发现该表项应该被删除,则马上执行删除过程而不用等到增加成功。对于删除MAC请求的表项,若线卡未收到返回的更新结果或收到失败的更新结果时,则需要将该表项进行重发并保证删除一定成功,否则一直发送该表项的删除请求。最终,实现线卡与主控板之间的ARL表项的同步与一致性,优先地,线卡将重新发送的请求仍放到同一缓冲区进行批量更新。
本实施例提出的一种ARL表项集中管理优化系统可以实现线卡与主控板之间的ARL表项的同步过程,通过ERPC方式批量同步ARL表项,可以提高表项同步效率及主控板CPU处理流程的稳定性。
实施例2
参照图2,本发明第二实施例提出一种ARL表项集中管理优化系统,基于上述第一实施例,所述步骤S300“主控板接收所述消息包并根据所述请求完成主控ARL表的更新,还将各ARL表项的更新结果返回到所述线卡”包括:
步骤S310:解析每个消息条目操作并将其转化为与其主控板端匹配的entry结构。
其中,主控板接收发送缓冲区发送的消息包并对消息包进行解析及转化,具体包括解析消息包中的每个消息条目(即entry),并将其转化为与主控板端的arl_tab_entry表匹配的entry结构,其中,所述消息条目中包含着每条ARL表项的相关信息,该主控板端的arl_tab_entry表中的entry用于存放解析后的消息条目。
步骤S320:根据各表项的增加MAC请求或删除MAC请求,主控板查找其主控ARL表。
主控板根据增加或删除MAC请求完成各ARL表项的同步更新,解析时对于增加MAC请求的表项,主控板查找其主控ARL表来查询该ARL表中是否存在与当前表项的MAC与VLAN端口的索引值(即键值key)相同的key,进入步骤S330;对于删除MAC请求的表项,主控板同样根据当前表项的key来查找主控ARL表,进入步骤S340。下面对两种情况的同步分别进行说明。
步骤S330:增加MAC请求的表项,是否存在相同的key?
对于增加MAC请求的表项,若在主控ARL表中有查询到与当前表项具有相同的key,则进入步骤S331,否则直接进入步骤S332。
步骤S331:当前表项的出口是否也相同?
若存在与当前表项相同的key,则继续查看当前表项的出口与查询到的表项是否也相同,即通过查询出接口索引号(即ifindex)进一步判断是否需要更新主控ARL表中的相应表项。若ifindex不相同,则进入步骤S332来更新当前表项到ARL表中;若ifindex相同,则直接进入步骤S350。
步骤S332:将当前表项写入/更新到该主控ARL表中。
若由步骤S330判断得到若不存在相同的key,则说明该表项可能为新增表项,故直接将其写入到主控ARL表中以保证与线卡中的表项同步。待写入成功后,进入步骤S350来返回更新结果。
若由步骤S331判断得到若存在具有相同的key而出口不同的表项,则说明需要主控ARL表中的该表项进行更新,故先将原来的表项删除再写入当前表项以完成表项同步。待写入成功后,进入步骤S350来返回更新结果。
步骤S340:删除MAC请求的表项,是否存在相同的key?
类似步骤S330的增加MAC请求的表项,主控板查找其主控ARL表来查看当前表项是否存在,若在主控ARL表中有查询到与当前删除请求的表项具有相同的key,则进入步骤S341,否则直接进入步骤S350来返回更新结果。
步骤S341:当前表项的出接口是否也相同?
若存在与当前表项相同的key,则进一步查看当前表项的出口与查询到的表项是否也相同,若ifindex相同,则进入步骤S342来删除当前表项;若ifindex不相同,则返回步骤S340来再次查找是否存在相同的key及ifindex从而保证将删除MAC请求的表项删除成功。
步骤S342:从主控ARL表中删除对应的表项。
若查找到相同的key且出口也相同,则说明完全匹配到当前表项,故将主控ARL表中的对应表项进行删除以完成同步,待删除成功后,进入步骤S350来返回更新结果。
步骤S350:返回更新成功标志flag=ok。
完成表项的增加或删除更新后,主控板返回各表项的更新结果到线卡以保证各线卡与主控板的表项同步。优选地,本实施例中主控板将同一报文的ARL表项的更新结果批量返回发送到线卡,即将各表项的更新结果以ERPC方式批量发送到线卡的发送缓冲区,线卡接收到更新消息包后确认是否需要再次发送相应的ARL表项,其中,若收到成功标志则表示更新成功,若收到的返回不为成功标志则表示更新失败。
实施例3
参照图3,本发明第三实施例提出一种ARL表项集中管理优化系统,基于上述第一实施例,所述步骤S100“线卡为发送到所述主控板的ARL表项添加相应的增加或删除MAC请求”,还包括:
步骤S10:所述线卡通过注册回调方式获取的硬件表项并存放于线卡端ARL表中。
线卡通过底层硬件ASIC(专用集成电路)芯片主动学习MAC表项并将所述表项同步到其硬件MAC地址表中,线卡内部存储有一张线卡端ARL表,本实施例中线卡通过注册回调方式将ARL表项从硬件MAC地址表同步到其线卡端ARL表。所述注册回调过程包括:当线卡接收到报文时,线卡通过注册调用线卡端ARL表的哈希表(hash)来快速查看是否需要学习该报文的表项信息,再回调硬件MAC地址表将学习到的硬件表项同步到线卡端ARL表中。随后线卡根据所述预设发送规则将需要同步的表项上报到主控板。
本实施例中线卡通过采用注册回调方式从底层硬件MAC地址表同步学习ARL表项,并同时通过ERPC方式将线卡中的表项批量打包同步到主控板,可以实现线卡中的表项同步更新到主控ARL表,可避免主控板CPU资源的浪费与同步处理流程的繁琐。当硬件MAC地址表稳定后,主控ARL表也会趋于稳定,同时本实施例还将表项管理任务移到了线卡,使得主控板CPU的负担减少。
图4和图5分别为现有技术中ARL表项集中管理的ARL同步过程与本实施例的ARL表项集中管理优化系统的ARL同步过程。对于现有技术的ARL表项同步过程中,主控ARL表通常采用定期清空一次,即存在一个老化时间,待老化时间一到,主控板将主控ARL表中的表项全部清除,然后重新遍历线卡并将线卡的ARL表项再次同步到主控板,如图4所示,若该老化时间设定为30s,主控板存储有32768条ARL表项时,主控板每隔30s都会定期清理所有表项再重新从线卡同步,这样每次更新都会耗费额外的CPU资源。采用本实施例提出的ARL表项集中管理优化系统进行优化后,主控板不需要定期清空其主控ARL表再重新遍历线卡中的表项,而是将线卡中的表项按预设发送规则定时或定量地主动同步到主控板,并由主控板返回更新结果来保证与各线卡之间的表项同步。在取消主控板定期老化功能的情况下,如图5所示,采用本实施例的方法进行表项同步,主控板CPU资源会相对稳定并能够减少CPU资源的浪费与流程的繁琐。
下面以一种9600系列的机架式交换机为例,当线卡接收到大量的业务流时会学习到大量的表项,因此需要将其表项及时同步到主控板。为表明本实施例的优化效果情况,下面采用网络测试仪器IXIA对该机架式交换机采用现有技术的集中管理ARL表项方法及本实施例提出的方法来进行表项同步的测试,其中测试项包括有:单张线卡将大量表项同步到主控板过程中的CPU占用率、从IXIA开始发送表项到主控ARL表满所用的时间及通过show_mac_all命令执行到终端开始显示ARL表项的所需要的时间。如表1所示,若发送40000条不同的源MAC表项到单张线卡,主控板与该线卡之间的表项同步的测试时间结果如下。
由上表1可知,本发明实施例的优化系统采用线卡注册回调方式学习ARL表项并通过ERPC方式批量打包同步到主控ARL表,与现有技术的主控板同步更新速率相比,系统CPU占用率及更新速率均有明显改善且处理流程也更趋于稳定。
实施例4
基于上述第三实施例,本发明第四实施例提出一种ARL表项集中管理优化系统,包括主控板和多张线卡,所述多张包括至少两张卡。各线卡均采用注册回调方式从底层硬件表获取ARL表项,并与主控板之间采用单独的ERPC方式进行消息通信,即各线卡分别采用特定的端口及注册地址与主控板建立RPC服务连接,从而实现各线卡将表项以并行的方式同步更新到主控ARL表中。
以上述9600系列的机架交换机为例,假设该交换设机有多张线卡,下面采用测试仪分别同时向两张线卡发送大量的业务流为说明线卡的并行同步表项效果,其中包括发送20000条及40000条不同的源MAC的二层数据,两张线卡的ARL表项同步到主控板所用的时间测试如下表2所示。
由上表2可知,当线卡接收到大量的业务流时,采用本实施例的方法可以大大提高表项更新到主控板的效率从而达到优化效果。
现有技术中的主控板依次同步线卡中的表项,而本发明实施例采用的是各线卡与主控板并行同步方式,下面对两种不同的同步更新方式进行测试对比。本实施例中,一方面用测试仪分别同时向两张线卡发送20000条不同的源MAC的二层数据(共40000条),记录从同时开始发送到主控板更新完所用的时间;另一方面用测试仪单独发送40000条MAC给一张线卡,记录从同时发送到主控板更新完所用的时间,两张线卡更新ARL表项到主控板所用的时间和一张线卡更新相同数量的ARL表项到主控板所用的时间,其测试时间如下表3所示。
由上表3可知,本实施例提出的一种ARL表项集中管理优化系统摒弃了原方法中分别顺序遍历所有线卡,而是采用主控板与各线卡并行同步的方式进行同步,从而将更新的机会平均给各个线卡,这对于多线卡的机架式交换机在同步ARL表项效率上有明显的提升及改善。正如测试结果一样,如果同时从两张线卡学习MAC表项并更新到主控板,所用时间要比从一张线卡获取同等数量的表项所用时间要减少近一半。
此外,本实施例的ARL表项集中管理优化系统另一有益效果是,优化前更新的方式是顺序的去读取线卡,这样当某一张线卡上ARL表满时,对于主控ARL表容量大小有限的情况下,可能主控ARL表上只能更新到某一张线卡的ARL表项。而采用本实施例的优化系统后,各线卡的ARL表项均采用单独的ERPC传输方式并行同步到主控板,从而更新到主控板的ARL表项也会更加均匀。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种ARL表项集中管理优化系统,应用于机架式交换设备,其特征在于,所述机架式交换设备包括主控板和至少一线卡,所述优化系统包括:
所述线卡为发送到所述主控板的ARL表项添加对应的增加MAC请求或删除MAC请求;
根据预设发送规则所述线卡将所述ARL表项及所述请求通过ERPC方式发送到所述主控板,其中,所述ERPC方式包括基于远程过程调用方式将所述ARL表项及所述请求封装成消息包后批量发送;
所述主控板接收所述消息包并根据所述请求完成主控ARL表的更新,还将所述ARL表项的更新结果返回到所述线卡;
所述线卡根据所述更新结果确认是否需要重新发送所述ARL表项以保证与所述主控板中的ARL表项同步。
2.根据权利要求1所述的ARL表项集中管理优化系统,其特征在于,还包括:
所述线卡通过注册回调方式获取硬件表项并存放于线卡端ARL表中。
3.根据权利要求1所述的ARL表项集中管理优化系统,其特征在于,所述预设发送规则包括:
所述线卡判断需要发送的所述ARL表项的条数是否达到预设条目值,达到所述预设条目值则将所述ARL表项送入所述线卡的发送缓冲区进行发送;
或根据所述ARL表项是否达到所述发送缓冲区的上限值,达到所述发送缓冲区的上限值则将所述ARL表项送入所述线卡的发送缓冲区进行发送。
4.根据权利要求3所述的ARL表项集中管理优化系统,其特征在于,还包括:
所述线卡预设一个定时同步表项时间来定时同步需要发送的所述ARL表项到所述主控板。
5.根据权利要求4所述的ARL表项集中管理优化系统,其特征在于,所述线卡定时同步所述ARL表项包括:
若所述定时同步表项时间已到而需要发送的所述ARL表项还没有达到所述预设条目值或所述发送缓冲区的上限值,则按照所述定时同步表项时间将所述ARL表项定时地同步到所述主控板。
6.根据权利要求1所述的ARL表项集中管理优化系统,其特征在于,所述主控板根据所述请求完成主控ARL表的更新包括:
若为含有增加MAC请求的所述ARL表项,所述主控板通过查找所述主控ARL表来匹配所述ARL表项,若存在匹配项则直接返回更新结果,否则写入或更新所述ARL表项并返回更新结果;
若为含有删除MAC请求的所述ARL表项,所述主控板通过查找所述主控ARL表来匹配所述ARL表项,若不存在匹配项则直接返回更新结果,否则将所述主控板中的对应表项删除并返回更新结果。
7.根据权利要求6所述的ARL表项集中管理优化系统,其特征在于,所述主控板根据所述ARL表项中的MAC地址、关联的VLAN及出口在所述主控ARL表项中查找是否存在相应表项来得到所述匹配项。
8.根据权利要求6所述的ARL表项集中管理优化系统,其特征在于,所述主控板将所述更新结果通过所述ERPC方式批量返回到所述线卡。
9.根据权利要求3所述的ARL表项集中管理优化系统,其特征在于,所述发送缓冲区采用预设条目大小的线性表。
10.根据权利要求1所述的ARL表项集中管理优化系统,其特征在于,所述线卡与所述主控板建立基于TCP协议或UDP协议的套接字通信通道作为所述ERPC方式的传输通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810597126.XA CN108809837A (zh) | 2018-06-11 | 2018-06-11 | Arl表项集中管理优化系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810597126.XA CN108809837A (zh) | 2018-06-11 | 2018-06-11 | Arl表项集中管理优化系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108809837A true CN108809837A (zh) | 2018-11-13 |
Family
ID=64089012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810597126.XA Pending CN108809837A (zh) | 2018-06-11 | 2018-06-11 | Arl表项集中管理优化系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108809837A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260948A (zh) * | 2020-10-16 | 2021-01-22 | 中国科学院声学研究所 | 一种基于批量更新的多核sdn交换机流表管理方法及系统 |
WO2021129327A1 (zh) * | 2019-12-24 | 2021-07-01 | 中兴通讯股份有限公司 | 表项下发方法及装置、表项处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197851A (zh) * | 2008-01-08 | 2008-06-11 | 杭州华三通信技术有限公司 | 一种实现控制平面集中式数据平面分布式的方法及系统 |
US20120250684A1 (en) * | 2011-03-30 | 2012-10-04 | Nec Corporation | Switch system, line card and learning method of fdb information |
CN104506462A (zh) * | 2014-12-16 | 2015-04-08 | 福建星网锐捷网络有限公司 | 一种分布式交换机中mac地址管理方法及设备 |
CN105099961A (zh) * | 2014-05-12 | 2015-11-25 | 中兴通讯股份有限公司 | 一种快速同步介质访问控制地址表的方法和装置 |
-
2018
- 2018-06-11 CN CN201810597126.XA patent/CN108809837A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197851A (zh) * | 2008-01-08 | 2008-06-11 | 杭州华三通信技术有限公司 | 一种实现控制平面集中式数据平面分布式的方法及系统 |
US20120250684A1 (en) * | 2011-03-30 | 2012-10-04 | Nec Corporation | Switch system, line card and learning method of fdb information |
CN105099961A (zh) * | 2014-05-12 | 2015-11-25 | 中兴通讯股份有限公司 | 一种快速同步介质访问控制地址表的方法和装置 |
CN104506462A (zh) * | 2014-12-16 | 2015-04-08 | 福建星网锐捷网络有限公司 | 一种分布式交换机中mac地址管理方法及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129327A1 (zh) * | 2019-12-24 | 2021-07-01 | 中兴通讯股份有限公司 | 表项下发方法及装置、表项处理方法及装置 |
CN112260948A (zh) * | 2020-10-16 | 2021-01-22 | 中国科学院声学研究所 | 一种基于批量更新的多核sdn交换机流表管理方法及系统 |
CN112260948B (zh) * | 2020-10-16 | 2021-10-22 | 中国科学院声学研究所 | 一种基于批量更新的多核sdn交换机流表管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60126647T2 (de) | System und Verfahren um die Steuerung von Echtzeit-Transport-Protokollflüsse über mehrere Netzwerke zu unterstützen | |
EP0348331B1 (en) | Method of efficiently updating the topology databases of the nodes in a data communications network | |
CN100555948C (zh) | 一种用于在堆栈交换机系统内耦合的交换设备 | |
US6456625B1 (en) | LAN telephone switching system | |
CN100505692C (zh) | 高性能路由器bgp路由协议分布并行实现方法 | |
US8082364B1 (en) | Managing state information in a computing environment | |
CN101753362B (zh) | 分布式网络设备中堆叠虚拟局域网的配置方法及装置 | |
EP2265029A1 (en) | Image processor, image generator and computer program | |
CN111901705B (zh) | 一种olt设备的omci功能虚拟化系统 | |
CN108965134B (zh) | 报文转发方法及装置 | |
CN108809837A (zh) | Arl表项集中管理优化系统 | |
CN108243110B (zh) | 一种资源调整方法、装置和系统 | |
CN110019539A (zh) | 一种数据仓库的数据同步的方法和装置 | |
CN103701653B (zh) | 一种接口热插拔配置数据的处理方法及网络配置服务器 | |
CN110213359A (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN102594874A (zh) | 一种同步处理方法和装置 | |
CN111682968B (zh) | 一种通信设备入网管理方法及系统 | |
CN106357546A (zh) | 路由器集群的升级系统、方法及装置 | |
CN107566143B (zh) | 一种纵向堆叠发现方法和装置 | |
CN110505176B9 (zh) | 报文优先级的确定、发送方法及装置、路由系统 | |
US7949119B2 (en) | Telephone exchange system | |
CN109522294A (zh) | 一种分布式数据缓存系统和数据缓存方法 | |
CN113395334B (zh) | 服务功能链在线更新方法、系统及设备 | |
US20090296905A1 (en) | Telephone system and group pickup processing method | |
CN113497790B (zh) | 一种基于网闸的数据传输方法、系统及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |
|
RJ01 | Rejection of invention patent application after publication |