ARL表管理系统的制作方法

文档序号:15878536发布日期:2018-11-09 17:26阅读:1003来源:国知局
ARL表管理系统的制作方法
本发明涉及通信
技术领域
,尤其涉及一种arl表管理系统。
背景技术
一个分布式交换系统,通常包括主控板和多张线卡,其中,主控板是整个交换系统的主控单元,负责对整个交换系统的控制并处理各种动态协议等,而线卡即线路接口卡,是交换系统与网络的物理接口。主控板主要包括主控板cpu以及相应的管理模块等,而线卡主要包括线卡cpu及网络处理器(np),其中,线卡中的npas(np应用服务)组件用于为高层软件提供np硬件和np微码的访问以便配置硬件结构和维护转发表项及内存结构等。在分布式交换系统中,arl表(arl,addressresolutionlogic,地址解析逻辑)作为软件上层维护的逻辑mac地址表(mac地址又称为物理地址),故也称之为软件arl表,其主要记录的内容包括发送报文的主机的mac地址(即源mac地址)、关联该mac地址的端口及所关联的局域网id号(即vlan_id)。arl表既是二层数据转发的依据,同时又是三层数据转发时查找转发出接口的索引表,在整个交换系统中有着至关重要的作用。因此,arl表在分布式交换系统中如何管理和维护一直是备受关注的问题。参照图1,针对arl表的管理和维护问题,现有技术中机架式交换系统常采用的是集中管理方式,即一个主控板控制多张线卡并仅在该主控板的内核中存储有一张全局arl表。因此,该主控板不仅需要运行正常的软件协议并负责用户的配置下发,还需要及时更新全局的arl表并将所有表项同步到各个线卡,于是当有大量业务流通过各个线卡时,将会有大量的硬件mac地址学习上报到主控板,故容易造成主控板压力过大。此外,由于主控板到各线卡采用一条共享的消息通道并且速率有限,若主控板在交互大量的管理报文的同时,又要负责配置和表项同步,则很有可能会产生丢包现象从而影响用户正常的业务和数据。技术实现要素:鉴于上述问题,本发明提供了一种arl表管理系统,用于管理软件arl表以减轻主控板维护和管理表项的压力。本发明提供一种arl表管理系统,应用于分布式交换设备,其特征在于,所述分布式交换设备包括主控板和至少一线卡,所述系统包括:每一所述线卡存储有arl表,当所述线卡接收到报文时,所述线卡学习所述报文的硬件表项并将其更新到所述arl表中,还通过线卡间通信接口进行相连线卡的所述硬件表项的同步;所述主控板与每一所述线卡建立有一条消息通道,并通过所述消息通道管理及查看所述arl表,其中,所述消息通道包括采用基于tcp协议或udp协议的网络套接字通信方式。进一步地,一种arl表管理系统,还包括:当接收到三层报文时,所述主控板获取所述三层报文的出接口信息并将所述三层报文发往一所述线卡,其中,所述出接口信息包括下一跳ip的出接口及对应的mac地址;所述线卡查询所述arl表并匹配所述出接口信息,若匹配到所述线卡,所述线卡根据报文的目的地址将所述三层报文从相应出接口转发;若没有匹配到所述线卡,所述线卡将所述三层报文发往与所述线卡相连的另一线卡进行转发。进一步地,所述另一线卡匹配所述出接口信息,若匹配到所述另一线卡,所述另一线卡将所述三层报文从相应出接口转发;若没有匹配到所述另一线卡,所述另一线卡将所述三层报文在其vlan内的出接口进行广播转发。进一步地,arl表管理系统还包括:若所述分布式交换设备包括多个主控板,则根据预设选举规则从所述多个主控板中来选举出一个主用主控板,余下的则作为备用主控板。进一步地,arl表管理系统还包括:当前的所述主用主控板失效时,则根据所述预设选举规则从所述备用主控板中重新选举一个作为新的所述主用主控板。进一步地,所述预设选举规则包括,根据所述多个主控板的mac地址或ip地址大小来选举所述主用主控板。进一步地,所述消息通道包括采用基于tcp协议或udp协议的网络套接字通信方式。进一步地,所述主控板通过所述消息通道向所有所述线卡发送广播消息或命令来管理所述arl表。进一步地,所述主控板通过所述消息通道向一所述线卡发送查询消息来查看所述arl表,所述线卡接收到所述查询消息后将所述arl表上报到所述主控以供用户查看。进一步地,所述主控板通过查询软件路由表和arp表来获得所述三层报文的出接口信息。本发明提供的技术方案可以包括如下有益效果:本发明提供的一种arl表管理系统可以实现各线卡更新其存储的arl表并且主控板可通过建立的消息通道管理或查看各线卡的arl表,还可以实现将三层报文数据转发的查表转发操作下放到线卡来完成,取消了主控板统一维护arl表,从而极大地减轻主控板的维护和管理表项的压力。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。图1是现有技术的主控板集中管理软件arl表的结构示意图;图2是本发明第一实施例的arl表管理系统的结构示意图;图3是本发明第二实施例的arl表管理系统的三层报文查表转发的流程示意图;图4是本发明第三实施例的arl表管理系统的结构示意图。具体实施方式下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域
的技术人员通常理解的含义相同。本文中在arl表管理系统的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。下面结合附图,对本发明的具体实施方式作详细说明。针对arl表的管理问题,现有技术的主控板采用集中管理arl表的方法,即由各个线卡通过硬件学习硬件表项并将学习到的硬件表项主动上报到主控板,主控板接收到各硬件表项后首先更新其全局的arl表,然后再将所有表项依次下发到其他线卡以保证各个线卡之间的硬件表项同步。此外,三层报文数据转发需要的出接口信息也是通过查找主控中的全局arl表来获得的。本发明提出的一种arl表管理系统取消主控板中维护的全局arl表,改为各线卡更新维护其内部存储的arl表,可以减轻主控板的维护和管理表项的压力,从而提高分布式交换设备的可靠性和稳定性。实施例1本实施例应用于分布式交换设备中,该分布式交换设备包含单一主控和至少一张线卡,其中,该单一主控板是整个分布式交换设备的主控单元,负责对整个交换系统的控制,还负责处理各种动态协议等。而所述至少一张线卡可以包括一张或两张以上的线卡,参照图2,本实施例的arl表管理系统应用于一个主控及多张线卡的情况。各线卡均在其内部存储有一张arl表,该arl表存放的信息与原来由主控板维护的全局arl表中的信息相同,只是不再存在于主控板中并由主控板集中管理,而是改由各线卡进行分别更新维护。由于取消了主控板中的全局arl表,本实施例的arl表管理系统将主要解决两个问题:一是线卡更新维护其arl表过程及保证线卡之间的硬件表项同步;二是主控板管理和查看线卡中的arl表。针对问题一,下面对线卡更新其arl表并保证线卡之间的硬件表项同步两个过程进行阐述。(1)线卡更新维护其arl表过程当某一个线卡检测到有报文输入时,该线卡首先获取该报文的源mac地址,即发送该报文的主机的mac地址,并查看其arl表中是否已存在该源mac地址以及其关联的端口及vlan_id等表项信息是否也相同。若完全相同,则不需要再进行硬件表项学习,只需要刷新该表项的硬件老化标志;若上述表项信息不完全相同或不存在,则需要进行硬件表项的学习。具体地,将上述源mac地址、关联的端口及vlan_id等硬件表项信息学习到该线卡中的硬件mac地址表中,然后该线卡将学习到的该硬件表项同步更新到其内部的arl表中,从而实现其arl表的更新维护。(2)线卡之间的硬件表项同步过程由于主控板不再负责统一维护各线卡之间的表项同步,为保证所有线卡的硬件表项同步,当接收到报文的某线卡在更新其arl表时,该线卡通过线卡间的通信接口发送所述报文到与该线卡相连的其他线卡,从而使其他线卡进行上述硬件表项的学习过程。参照图2,本实施例中有多张线卡,包括线卡1、线卡2、…、线卡n(n>2),具体地,若线卡1接收到报文,线卡1完成其硬件mac表项的同步并更新其arl表,同时通过线卡1与线卡2之间的通信接口将报文发往线卡2。线卡2接收该报文后重复上述(1)线卡更新其arl表过程的操作来完成该硬件表项的同步,而在线卡2同步完成后则继续将报文发送到其他线卡,故其他线卡依次收到报文后重复上述(1)线卡更新其arl表过程的操作来完成各自的硬件mac地址表和arl表的同步更新,从而最终完成所有线卡之间的硬件表项同步。针对问题二,下面对本实施例的主控板管理和查看线卡中的arl表进行阐述。为方便主控板管理和查看所有本地软件arl表,本实施例通过在主控板与各线卡之间建立一条新的消息通道来实现主控板对各线卡的arl表的管理和查看。该消息通道与现有技术中主控板和线卡之间的共享通道不同,是基于网络套接字通信方式而新增的单独的消息通道,本实施例中的消息通道采用基于tcp/ip套接字的网络通信方式,故主控板与各线卡之间可基于tcp/ip协议发送交互消息。当然,该消息通道也可以采用其他的通信方式,如基于udp套接字的通信方式等。继续参照图2,当主控板需要管理软件arl表时,主控板通过所述消息通道向所有线卡发送广播消息,各线卡接收到广播消息后作出相应的应答。当主控板需要查看arl表时,主控板只需要通过该消息通道向任意一张在线的线卡发送查询消息,收到查询消息的线卡则将其维护的本地软件arl表通过其对应的消息通道上报到主控板并由主控板显示出来以供用户查看。本实施例提供的技术方案可以实现线卡的本地软件arl表的维护与各线卡间的硬件表项同步,并通过各线卡与主控板之间增加的新的消息通道来管理本地软件arl表,不仅减轻了主控板的维护和管理表项的压力,还可以缓解现有技术中的共享消息通道的传输压力。实施例2基于上述实施例1,本实施例提供的arl表管理系统还提出将三层报文的查表转发过程下发到各线卡,从而进一步地减轻主控板管理表项的压力。在三层报文转发过程中,本实施例的主控板将查询其内部存储的软件路由表和arp表(arp,addressresolutionprotocol,地址解析协议),其中,软件路由表存储着三层交换的不同网络段的详细信息,主要包含目的网络地址/子网掩码、下一跳ip地址、出接口及度量值等。而arp表则记录着ip地址和mac地址的映射关系。参照图3,下面将本实施例中的三层报文数据的线卡查表转发过程进行说明。步骤s100:主控板根据报文的目的ip地址查找软件路由表获得报文的下一跳ip地址及对应的vlan出接口。当主控板接收到三层报文数据时,主控板获取该报文的目的ip地址并查找软件路由表来获得该报文的下一跳ip地址及该ip地址在交换设备中的对应的vlan出接口,其中,软件路由表包含的主要信息如下表1所示。目的地址/掩码下一跳ip地址出接口度量值步骤s200:查找软件arp表获得上述下一跳ip地址对应的mac地址、源mac地址和目的mac地址并将报文发往一在线的线卡。主控板在得到下一跳ip地址后,通过查找其arp表来查看各ip对应的mac地址,包括源mac地址、目的mac地址及上述下一跳ip地址对应的mac地址。随后主控板将报文发往任意一张在线的线卡,之后则由该线卡或其他线卡完成转发操作。其中,arp表包含的主要信息如下表2所示。ip地址mac地址步骤s300:对应的线卡收到报文后查询其arl表获得本线卡的出接口信息,主要包括该线卡的出接口和关联该出接口的mac地址及所属vlan。当线卡接收到由主控板发送的三层报文后,直接查询其arl表获得本线卡的出接口信息,其中,arl表包含的主要信息如下表3所示。vlanmac地址出接口步骤s400:根据下一跳ip地址对应的mac地址信息及获得的出接口信息,匹配到该线卡的出接口?具体地,在获得该线卡的出接口信息后,线卡将下一跳ip地址对应的mac地址和对应的vlan出接口在获得的出接口信息进行匹配,若该arl表中存在相同的mac地址和vlan出接口,则表示匹配到该线卡的出接口并由该线卡进行转发,否则表示没有匹配到该线卡的出接口。若匹配到该线卡则进入步骤s500,否则进入步骤s600。步骤s500:根据报文的目的mac地址将报文从线卡中的相应出接口转发。若匹配到该线卡的出接口,则由该线卡进行报文转发,故该线卡根据报文的目的mac地址将报文从相应的出接口转发出去,其中,该相应的出接口与目的mac地址关联。s600:将所述报文发往与其相连的另一线卡,匹配到该另一线卡的出接口?线卡将该报文通过线卡间的通信接口发往与其连接的另一线卡,并由该另一线卡通过查找其arl表进行第二次匹配,该匹配步骤与前一次匹配步骤一样。根据第二次匹配的结果,若匹配到该另一张线卡的出接口则进入步骤s500,否则进入步骤s700。s700:该另一线卡在其vlan内的出接口进行广播转发。若仍没有匹配到该另一线卡,则该另一线卡在其vlan内的所有端口将所述报文进行广播转发出去。本发明提供的一种arl表管理系统将三层转发需要的查找出接口的操作分发到各个线卡实现,进一步减轻了主控板的查表转发压力,从而提高了交换系统在大业务流情况下的稳定性。实施例3图4为本发明第三实施例的arl表管理系统的结构示意图,本实施例中的分布式交换设备是由多个业务板互联成一个独立的大型分布式交换系统,其中各业务板均有其独立的单一主控板和至少一张线卡,每个业务板在单板模式下都可以独立运行。对于本实施例的互联而成的分布式交换系统,由于同时存在多个主控板,本实施例将根据预设选举规则从多个主控板中选举出一个主用主控板,余下的则作为备用主控板,其中,只有该主用主控板是整个系统的控制核心。此外,若当前的主用主控板失效或不可用时,则根据所述预设选举规则在余下的多个备用主控板中重新选举出一个新的主用主控板来控制该交换系统。按照预设的选举规则选举出一个主用主控板后,该独立的分布式交换系统则可视为由一个主用主控板和多张线卡构成且只有该主用主控板才可以控制整个交换系统,此时该系统的工作模式与上述实施例1的单一主控板控制多张线卡的工作原理基本一致。具体地,各线卡均负责更新维护其存储的arl表,并且各线卡之间通过线卡间的通信接口进行通信。确定主用主控板后,各线卡与该主用主控板建立对应的单独的消息通道从而方便主用主控板能够查看和管理各线卡中的arl表。此外,与上述实施例2一样,三层报文数据的查表转发过程同样也由各线卡来实现。优先地,主用主控板首先将报文发送到本业务板中的线卡进行出接口信息的匹配。其中,所述预设选举规则可由本领域技术人员自行设定,但应当满足在任意时刻只有一个主用主控板来控制整个系统,而其他的主控板则作为备用项。对于所述预设选举规则,例如,可采用mac地址越小越优的选举规则,即主控板的mac地址越小,则被选举为主用主控板的优先级则越高,mac地址最小的则被选举作为主用主控板。此外,还可以采用其他的选举规则,如mac地址越大越优的选举规则,或者采用主控板的ip地址越小(或越大)越优规则等等。本实施例提供的arl表管理系统适用于由多个独立的业务板互联成一个大型的独立交换系统的情况,其中,该独立交换系统对外被视为一个独立的大型交换机。通过预设的选举规则选举出一个主用主控板来解决该交换机系统中同时存在多个主控板的问题,并由各线卡维护其各自的arl表来卸载主控板的表项管理压力,从而提高分布式交换系统的可靠性和稳定性。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1