一种报文转发方法及装置与流程

文档序号:16149535发布日期:2018-12-05 17:16阅读:121来源:国知局
本申请涉及计算机通信领域,尤其涉及一种报文转发方法及装置。
背景技术
堆叠技术是一种虚拟化技术,其核心思想是将多台设备通过堆叠口连接,虚拟化成一台设备,该虚拟化成的一台设备也可被称为堆叠系统。堆叠系统中的每台设备可被称为成员设备。成员设备可以是框式结构设备,也可以被称为分布式设备,通常由主控板、线卡板和网板构成。主控板一般有两块,其中一块为主用主控板,另一块为备用主控板,互为冗余。网板设置在线卡板之间,用于转发线卡板之间的跨板流量。线卡板通常包括至少一个交换芯片,网板至少包括至少一个网片。每个交换芯片不相连,每个网片不相连。每一个网片可以与所有线卡板上的所有交换芯片相连。当网片与某一交换芯片的链路故障时,传统的做法是将网片的所有链路都隔离掉,相当于把该网片扣掉。但是将整个网片隔离会造成整个网片不再参与报文转发,使得其他网片的处理压力增大,影响了整个堆叠系统的处理性能。技术实现要素:有鉴于此,本申请提供一种报文转发的方法及装置。具体地,本申请是通过如下技术方案实现的:根据本申请的第一方面,提供一种报文转发方法,所述方法应用于堆叠系统中的成员设备,所述方法包括:本设备上的第一网片向相连的交换芯片发送可达通知消息;本设备上的第一交换芯片依据接收到的可达通知消息检测所述第一网片上是否存在故障链路;若是,所述第一交换芯片在确定本地未创建与所述第一网片关联的第一聚合组时,创建第一聚合组、以及创建出接口为该第一聚合组的第一转发表项和出接口为本地记录的第二聚合组的第二转发表项,并设置转发非单播报文的端口为第一聚合组;其中,所述第一聚合组包括第一交换芯片连接除所述第一网片的其他所有网片的端口;所述第二聚合组包括所述第一交换芯片连接每一网片的端口;所述第一转发表项的目的芯片为所述第一网片的故障链路连接的交换芯片;所述第二转发表项的目的芯片为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片。可选的,所述方法还包括:若所述第一交换芯片确定所述第一网片存在故障链路,且本地已创建所述第一网片关联的第一聚合组,则将出接口为所述第一聚合组的第一转发表项中的目的芯片更新为所述第一网片上的故障链路连接的交换芯片;将出接口为所述第二聚合组的第二转发表项中的目的芯片更新为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片。可选的,所述方法还包括:若所述第一交换芯片确定所述第一网片上不存在故障链路,则识别本地是否存在与所述第一网片关联的第一聚合组;若存在,则所述第一交换芯片删除所述第一聚合组,删除出接口为所述第一聚合组的第一转发表项;所述第一交换芯片将所述第二转发表项中的目的芯片更新为所述堆叠系统中的交换芯片;所述第一交换芯片将转发非单播报文的端口设置为第二聚合组。可选的,所述可达通知消息里携带有所述第一网片可达的交换芯片所组成的第一可达集合;所述第一网片的故障链路连接的交换芯片为所述第一可达集合和本地记录的第二可达集合不相同的交换芯片;所述第二可达集合包括所述堆叠系统中的交换芯片;所述本设备上的第一交换芯片依据接收到的可达通知消息确定所述第一网片上是否存在故障链路,包括:检测所述可达通知消息里携带的第一可达集合和所述第二可达集合是否相同;若相同,确定所述第一网片上不存在故障链路;若不相同,确定所述第一网片存在故障链路。可选的,所述本设备上的第一网片向相连的交换芯片发送可达通知消息,包括:所述第一网片在检测到本地链路故障或者本地链路故障恢复时,获取与所述第一网片相连的各交换芯片分别对应的可达集合;所述第一网片汇总各交换芯片的可达集合,生成所述第一网片的第一可达集合;所述第一网片向相连的交换芯片发送携带有所述第一可达集合的可达通知消息。根据本申请的第二方面,提供一种网络设备,所述网络设备包括:第一网片,用于向相连的交换芯片发送可达通知消息;第一交换芯片,用于依据接收到的可达通知消息检测所述第一网片上是否存在故障链路;若是,在确定本地未创建与所述第一网片关联的第一聚合组时,创建第一聚合组、以及创建出接口为该第一聚合组的第一转发表项和出接口为本地记录的第二聚合组的第二转发表项,并设置转发非单播报文的端口为第一聚合组;其中,所述第一聚合组包括第一交换芯片连接除所述第一网片的其他所有网片的端口;所述第二聚合组包括所述第一交换芯片连接每一网片的端口;所述第一转发表项的目的芯片为所述第一网片的故障链路连接的交换芯片;所述第二转发表项的目的芯片为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片。可选的,所述第一交换芯片还用于若所述第一交换芯片确定所述第一网片存在故障链路,且本地已创建所述第一网片关联的第一聚合组,则将出接口为所述第一聚合组的第一转发表项中的目的芯片更新为所述第一网片上的故障链路连接的交换芯片;将出接口为所述第二聚合组的第二转发表项中的目的芯片更新为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片。可选的,所述第一交换芯片还用于若所述第一交换芯片确定所述第一网片上不存在故障链路,则识别本地是否存在与所述第一网片关联的第一聚合组;若存在,则删除所述第一聚合组,删除出接口为所述第一聚合组的第一转发表项;将所述第二转发表项中的目的芯片更新为所述堆叠系统中的交换芯片;将转发非单播报文的端口设置为第二聚合组。可选的,所述可达通知消息里携带有所述第一网片可达的交换芯片所组成的第一可达集合;所述第一网片的故障链路连接的交换芯片为所述第一可达集合和本地记录的第二可达集合不相同的交换芯片;所述第二可达集合包括所述堆叠系统中的交换芯片;所述第一交换芯片在依据接收到的可达通知消息确定所述第一网片上是否存在故障链路,具体用于检测所述可达通知消息里携带的第一可达集合和所述第二可达集合是否相同;若相同,确定所述第一网片上不存在故障链路;若不相同,确定所述第一网片存在故障链路。可选的,所述第一网片在向相连的交换芯片发送可达通知消息,具体用于在检测到本地链路故障或者本地链路故障恢复时,获取与所述第一网片相连的各交换芯片分别对应的可达集合;汇总各交换芯片的可达集合,生成所述第一网片的第一可达集合;向相连的交换芯片发送携带有所述第一可达集合的可达通知消息。当第一交换芯片检测到第一网片存在故障链路后,将非单播报文以及目的芯片是第一网片的故障链路连接的交换芯片的单播报文不通过第一网片转发,而是通过其他网片转发,而将目的芯片不是故障链路连接的交换芯片的单播报文还通过第一网片转发。一方面,在本申请中即使第一网片上存在故障链路,第一网片仍然参与报文的转发,而不是传统技术中的只要第一网片上存在故障链路就让第一网片不参与报文转发,因此相比传统的技术,可以减轻其他网片的处理压力。另一方面,第一交换芯片根据单播报文的目的芯片是否为故障链路连接的交换芯片来判断单播报文是否可以通过第一网片转发,从而在防止第一网片因转发目的芯片为故障链路连接的交换芯片的单播报文和非单播报文而造成的丢包的同时,还可以参与转发目的芯片不是该故障链路连接的交换芯片的其他单播报文,从而减轻了其他网片的转发压力。附图说明图1是本申请一示例性实施例示出的一种成员设备的结构示意图;图2是本申请一示例性实施例示出的第一报文转发方法的流程图;图3是本申请一示例性实施例示出的第一报文转发的示意图;图4是本申请一示例性实施例示出的一种成员设备的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在介绍本申请所述的报文转发方法之前,先对本申请所涉及的成员设备的结构进行具体地说明。参见图1,图1是本申请一示例性实施例示出的一种成员设备的结构示意图。该成员设备可以为框式结构设备,可包括主控板,线卡板和网板。其中,成员设备的主控板(在图1中未示出)通常包括两块,一块为主用主控板,一块为备用主控板,互为冗余。上述线卡板:成员设备包括至少一块线卡板,每个线卡板上部署有交换芯片,交换芯片具有查表转发报文的功能。交换芯片上配置有用户端口和内部端口,用户端口用以接收该堆叠系统(虚拟设备)外的其他设备发送的流量,该内部端口用以与网板上的网片连接,用以实现流量的跨板转发。各交换芯片彼此之间不相连,交换芯片可以与所有网片相连。交换芯片与各网片相连的端口可以形成一个端口聚合组,这个端口聚合组也可以称为缺省端口聚合组。比如,图1所示,以交换芯片11为例,交换芯片可以分别与网片11、网片12、网片13和网片14相连,交换芯片11分别连接网片11至网片14的端口port11、port12、port13和port14可以组成缺省端口聚合组。上述网板:成员设备包括至少一块网板。每个网板上部署有至少一个网片。网片通常没有用户端口,只具有内部端口,用以与交换芯片连接,实现流量的跨板转发。每个网片可以与所有的交换芯片相连,各网片之间彼此不相连。在介绍完上述成员设备的结构后,下面对使用该成员设备进行报文转发的方法进行详细地说明,参见图2,图2是本申请一示例性实施例示出的第一报文转发方法的流程图。步骤201:本设备上的第一网片向相连的交换芯片发送可达通知消息。第一网片在检测到本地链路故障或者本地链路故障恢复时,可以获取与该第一网片相连的各交换芯片分别对应的可达集合。然后,第一网片可汇总各交换芯片的可达集合,生成所述网片的第一可达集合。该第一网片可向相连的交换芯片发送携带有所述第一可达集合的可达通知消息。其中,交换芯片对应的可达集合包括本交换芯片的标识、以及该交换芯片可达的交换芯片的标识。其中该交换芯片的可达交换芯片是指该交换芯片发出的报文通过网片、或者通过该交换芯片上的堆叠口等能到达的该堆叠系统中的交换芯片。该交换芯片的标识是指唯一标识一个交换芯片的标记,该交换芯片的标识可以是堆叠系统建成之初,为每个交换芯片唯一分配的交换芯片id等,每个交换芯片对应有唯一一个交换芯片id。这里只是对交换芯片的标识进行示例性地说明,不对其进行具体地限定。需要说明的是,由于网片与成员设备中的所有交换芯片相连,并且个交换芯片可以获取到上述定义的可达集合、所以第一网片汇总出的第一可达集合包含该堆叠系统中所有的交换芯片的标识。还需要说明的是,上述第一网片是指成员设备中的任一网片,这里并不对第一网片进行特别的限定。下文所述的第一交换芯片是指与第一网片相连的任一交换芯片。步骤202:本设备上的第一交换芯片依据接收到的可达通知消息检测所述第一网片上是否存在故障链路。步骤203:若是,则所述第一交换芯片在确定本设备上未创建与所述第一网片关联的第一聚合组时,创建第一聚合组、出接口为该第一聚合组的第一转发表项、以及出接口为本地记录的第二聚合组的第二转发表项,并设置转发非单播报文的端口为第一聚合组。在实现时,第一交换芯片可检测所述可达通知消息里携带的第一可达集合和本地记录的第二可达集合是否相同;若相同,确定所述第一网片上不存在故障链路;若不相同,确定所述第一网片存在故障链路。当确定该第一网片上存在故障链路时,第一交换芯片可进一步确定本交换芯片上是否创建有与第一网片关联的第一聚合组。其中,该第一网片关联的第一聚合组包括第一交换芯片连接除该第一网片外的其他网片的端口。当第一交换芯片确定本交换芯片上未创建第一聚合组,则创建第一聚合组,并创建第一转发表项、以及第二转发表项,以及设置转发非单播报文的端口为第一聚合组。通常,转发表项至少包括目的芯片和出接口。第一转发表项的目的芯片为第一可达集合和本地记录的第二可达集合不相同的交换芯片(即第一网片上的故障链路连接的交换芯片),出接口为该第一聚合组。第二转发表项的目的芯片为第一可达集合中记录的交换芯片(即该堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片),出接口为第二聚合组。然后,第一交换芯片可通过第一聚合组转发非单播报文、以及匹配该第一转发表项的单播报文,通过第二聚合组转发匹配该第二转发表项的单播报文。若所述第一交换芯片确定所述第一网片存在故障链路,且本地已创建所述第一网片关联的第一聚合组,第一交换芯片可将出接口为所述第一聚合组的第一转发表项中的目的芯片更新为所述第一网片上的故障链路连接的交换芯片(即第一可达集合和第二可达集合不相同的交换芯片),并可将出接口为所述第二聚合组的第二转发表项中的目的芯片更新为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片(即第一可达集合中的记录的交换芯片)。第一交换芯片可通过第一聚合组转发非单播报文、以及匹配该第一转发表项的单播报文,通过第二聚合组转发匹配该第二转发表项的单播报文。若第一交换芯片确定该第一网片不存在故障链路,则可进一步检测本地是否存在与该第一网片关联的第一聚合组;若存在,第一交换芯片可删除该第一聚合组,删除出接口为所述第一聚合组的第一转发表项,将所述第二转发表项中的目的芯片更新为所述堆叠系统中的交换芯片(即第一可达集合或者第二可达集合中记录的交换芯片),以及将转发非单播报文的端口设置为第二聚合组。若不存在,第一交换芯片不做任何处理。需要说明的是,上述本地记录的第二可达集合包括了堆叠系统中的所有交换芯片。该第二可达集合的形成过程是:在堆叠系统的建立完成后,第一网片可以获取与该第一网片连接的各交换芯片的可达的交换芯片所组成的可达集合。然后第一网片可以汇总各交换芯片的可达集合,形成该第一网片的可达交换芯片集合。第一网片汇总出的可达集合就是该堆叠系统的所有交换芯片的集合。然后,第一网片可将汇总出的可达交换芯片集合下发给与该第一网片相连的各交换芯片,各交换芯片可记录该下发的第一网片的可达集合,形成第二可达集合。第二可达集合的更新过程是:当任一交换芯片接收到本设备上的主控板发送的针对交换芯片的插拔消息后。若该插拔消息指示插入了交换芯片,则将该插拔消息中携带的插入了的交换芯片的标识添加在第二可达集合中。若该插拔消息指示拔出了交换芯片,则将该插拔消息中携带的拔出的交换芯片的标识从该第二可达集合中删除。由上述描述可知,当第一交换芯片检测到第一网片存在故障链路后,将非单播报文以及目的芯片是第一网片的故障链路连接的交换芯片的单播报文不通过第一网片转发,而是通过其他网片转发,而将目的芯片不是故障链路连接的交换芯片的单播报文还通过第一网片转发。一方面,在本申请中即使第一网片上存在故障链路,第一网片仍然参与报文的转发,而不是传统技术中的只要第一网片上存在故障链路就让第一网片不参与报文转发,因此相比传统的技术,可以减轻其他网片的处理压力。另一方面,第一交换芯片根据单播报文的目的芯片是否为故障链路连接的交换芯片来判断单播报文是否可以通过第一网片转发,从而在防止第一网片因转发目的芯片为故障链路连接的交换芯片的单播报文和非单播报文而造成的丢包的同时,还可以参与转发目的芯片不是该故障链路连接的交换芯片的其他单播报文,从而减轻了其他网片的转发压力。下面通过具体地例子并结合图3对本申请提供的报文转发方法进行详细地说明。如图3所示,假设成员设备包括两块线卡板、两块网板,和主控板(主控板未画出)。这两个线卡板上分别为线卡板1和线卡板2,线卡板1上包括两个交换芯片,分别为交换芯片1和交换芯片2。线卡板2上包括四个交换芯片,分别为交换芯片3、交换芯片4、交换芯片5和交换芯片6。成员设备包括两块网板,分别为网板1和网板2。网板1上包括两个网片,分别为网片1和网片2。网板2上包括两个网片,分别为网片3和网片4。下面针对网片1和交换芯片1进行举例,为了举例清楚,图3只示出了网片1和交换芯片1的连接方式,网片2与各交换芯片的连接与网片1、其他交换芯片与各网片的连接方式与交换芯片1类似。如图3所示,假设交换芯片1通过port31与网片1相连,通过port32与网片2相连、通过port33与网片3相连、以及通过port34与网片4相连。交换芯片1上配置有缺省聚合组,这里记为聚合组1,聚合组1中的包括的成员端口为port31、port32、port33和port34。交换芯片1上还记录有该成员设备所在堆叠系统中所有的交换芯片的可达集合1。(由于图3中未示出其他成员设备,这里将其他成员设备上的交换芯片记为其他成员交换芯片),则可达集合1为{交换芯片1、交换芯片2、交换芯片3、交换芯片4、交换芯片5、交换芯片6和其他成员交换芯片}。场景一:网片1上的链路都正常工作,突然网片1与交换芯片4的链路故障。当网片1检测到网片1与交换芯片4的链路故障时,网片1可重新确定网片1的可达芯片集合。具体为,网片1可以获取交换芯片1、交换芯片2、交换芯片3、交换芯片4、交换芯片5、交换芯片6各自的可达集合。然后网片1可汇总这六个交换芯片的可达集合,生成网片1的可达集合(这里记为可达集合2)。可达集合2为{交换芯片1、交换芯片2、交换芯片3、交换芯片5、交换芯片6和其他成员交换芯片}。然后网片1可以分别向交换芯片1、交换芯片2、交换芯片3、交换芯片5和交换芯片6发送可达消息(这里可达消息1),该可达消息1里记录了可达集合2。以交换芯片1接收到该可达消息进行的处理为例。当交换芯片1接收到该可达消息1后,可获取该可达消息1中携带的可达集合2。然后交换芯片1检测可达集合2和本地记录的可达集合1是否相同。在本例中,可达集合1和可达集合2不相同。交换芯片1可进一步检测本地是否存在与该网片1关联的聚合组2,在本例中,由于是网片1首次故障,所以本地不存在该聚合组2。此时,交换芯片1创建聚合组2,并确定可达集合1和可达集合2中不同的交换芯片(即交换芯片4),并创建出接口为聚合组2的转发表项2,和出接口为聚合组1的转发表项1,并设置转发非单播报文的端口为聚合2。其中,聚合组2中的成员端口为port32、port33和port34。转发表项1的目的芯片为可达集合2中的交换芯片,即交换芯片1、交换芯片2、交换芯片3、交换芯片5、交换芯片6和其他成员交换芯片,出接口为聚合组1转发表项1,如表1所示。表1转发表项2的目的芯片为可达集合1和可达集合2中不同的交换芯片(即交换芯片4),出接口为聚合组2。转发表项2如表2所示。目的芯片出接口交换芯片4聚合组2表2当交换芯片1从用户端口接收到非单播报文时通过聚合组2转发该非单播报文。当交换芯片1从用户端口接收到单播报文时,若该单播报文的目的芯片匹配转发表项1,则通过聚合组1转发该报文,若该单播报文的目的芯片匹配转发表项2,则通过聚合组2转发该单播报文。场景二:网片1与交换芯片4的链路故障后,网片1与交换芯片5的链路也发生故障。当网片1检测到网片1与交换芯片5的链路故障时,网片1可重新确定网片1的可达集合。确定方法如场景一所描述的相同,这里不再赘述。确定出的网片1的可达集合(这里记为可达集合3)为{交换芯片1、交换芯片2、交换芯片3、交换芯片6和其他成员交换芯片}。然后网片1可以分别向交换芯片1、交换芯片2、交换芯片3和交换芯片6发送可达消息(这里可达消息2),该可达消息2里记录了可达集合3。以交换芯片1接收到该可达消息进行的处理为例。当交换芯片1接收到该可达消息2后,可获取该可达消息2中携带的可达集合3。然后交换芯片1检测可达集合3和本地记录的可达集合1是否相同。在本例中,可达集合1和可达集合3不相同。交换芯片1可进一步检测本地是否存在与该网片1关联的聚合组2,在本例中,网片1上存在聚合组2。交换芯片1在确定存在聚合组2后,将上述转发表项1中的目的芯片更新为可达集合3中记录的交换芯片(即交换芯片1、交换芯片2、交换芯片3、交换芯片6和其他成员交换芯片),形成转发表项3。将转发表项2中的目的芯片更新为可达集合3和可达集合1中不同的交换芯片(即交换芯片4、交换芯片5),形成转发表项4。转发表项3如表3所示,转发表项4如表4所示。表3目的芯片出接口交换芯片4、交换芯片5聚合组2表4当交换芯片1从用户端口接收到非单播报文时通过聚合组2转发该非单播报文。当交换芯片1从用户端口接收到单播报文时,若该单播报文的目的芯片匹配转发表项3,则通过聚合组1转发该报文,若该单播报文的目的芯片匹配转发表项4,则通过聚合组2转发该单播报文。场景三、网片1与交换芯片4和交换芯片5链路故障,但网片1检测到网片1与交换芯片5的链路故障恢复。当网片1检测到网片1与交换芯片5的链路故障恢复时,网片1可重新确定网片1的可达集合。确定方法如场景一所描述的相同,这里不再赘述。确定出的网片1的可达集合(这里记为可达集合4),可达集合4为{交换芯片1、交换芯片2、交换芯片3、交换芯片5、交换芯片6和其他成员交换芯片}。然后网片1可以分别向交换芯片1、交换芯片2、交换芯片3、交换芯片5和交换芯片6发送可达消息(这里可达消息3),该可达消息1里记录了可达集合4。以交换芯片1接收到该可达消息3进行的处理为例。当交换芯片1接收到该可达消息3后,可获取该可达消息3中携带的可达集合4。然后交换芯片1检测可达集合4和本地记录的可达集合1是否相同。在本例中,可达集合1和可达集合4不相同。交换芯片1可进一步检测本地是否存在与该网片1关联的聚合组2,在本例中,网片1上存在聚合组2。交换芯片1在确定存在聚合组2后,将上述转发表项3中的目的芯片更新为可达集合4中记录的交换芯片(即交换芯片1、交换芯片2、交换芯片3、交换芯片5、交换芯片6和其他成员交换芯片),形成转发表项5。将转发表项4中的目的芯片更新为可达集合4和可达集合1中不同的交换芯片(即交换芯片4),形成转发表项6。形成的转发表项5如表1所示,形成的转发表项6如表2所示。当交换芯片1从用户端口接收到非单播报文时通过聚合组2转发该非单播报文。当交换芯片1从用户端口接收到单播报文时,若该单播报文的目的芯片匹配转发表项5,则通过聚合组1转发该报文,若该单播报文的目的芯片匹配转发表项6,则通过聚合组2转发该单播报文。场景四:在场景三的基础上,网片1与交换芯片4之间的链路故障恢复。当网片1检测到网片1与交换芯片4的链路故障恢复时,网片1可重新确定网片1的可达集合。确定方法如场景一所描述的相同,这里不再赘述。确定出的网片1的可达集合(这里记为可达集合5),可达集合5为{交换芯片1、交换芯片2、交换芯片3、交换芯片4、交换芯片5、交换芯片6和其他成员交换芯片}。然后网片1可以分别向交换芯片1、交换芯片2、交换芯片3、交换芯片4、交换芯片5和交换芯片6发送可达消息(这里可达消息4),该可达消息1里记录了可达集合5。以交换芯片1接收到该可达消息4进行的处理为例。当交换芯片1接收到该可达消息4后,可获取该可达消息4中携带的可达集合5。然后交换芯片1检测可达集合5和本地记录的可达集合1是否相同。在本例中,可达集合5和可达集合1相同。交换芯片1可进一步检测是否存在与网片1关联的聚合组2,在本例中,网片1上存在聚合组2。交换芯片1可删除聚合组2,然后删除转发表项5,以及将转发表项6中的目的芯片更新为可达集合5(即交换芯片1、交换芯片2、交换芯片3、交换芯片4、交换芯片5、交换芯片6和其他成员交换芯片)形成转发表项7,并设置非单播报文的转发端口为聚合组1。转发表项7如表7所示。表7当交换芯片1从用户端口接收到非单播报文时通过聚合组1转发该非单播报文。当交换芯片1从用户端口接收到单播报文时,若该单播报文的目的芯片匹配转发表项7,则通过聚合组1转发该报文。由上述描述可知,当交换芯片1检测到网片1存在故障链路后,是将非单播报文以及目的芯片是网片1的故障链路连接的交换芯片的单播报文不通过网片1转发,而是通过其他网片转发,而将目的芯片不是故障链路连接的交换芯片的单播报文还通过网片1转发。一方面,在本申请中即使网片1上存在故障链路,网片1仍然参与报文的转发,而不是传统技术中的只要网片1上存在故障链路就让网片1不参与报文转发,因此相比传统的技术,可以减轻其他网片的处理压力。另一方面,交换芯片1根据单播报文的目的芯片是否为故障链路连接的交换芯片来判断单播报文是否可以通过网片1转发,从而在防止网片1因转发目的芯片为故障链路连接的交换芯片的单播报文和非单播报文而造成的丢包的同时,还可以使得网片1参与转发目的芯片不是该故障链路连接的交换芯片的其他单播报文,从而减轻了其他网片的转发压力。参见图4,图4是本申请一示例性实施例示出的一种成员设备的硬件结构图。该成员设备可包括具有转发功能的网络设备,比如,交换机,路由器等等,这里只是对成员设备进行示例性地说明,不对其进行具体地限定。该转发设备可包括主控板401,线卡板402,网板403,主控板401与线卡板402、网板403之间可经由内部通信线路404通信。其中,图4只是示例性地说明,在实际应用中,成员设备中的主控板可以有多个,线卡板可以有多个,网板可以有多个。网板403上包括至少一个网片,线卡板402上包括至少一个交换芯片。本申请还提供了一种如图4所示的成员设备,该成员设备任一网板上的网片记为第一网片,任一线卡板上的交换芯片记为第一交换芯片。其中,第一网片,用于向相连的交换芯片发送可达通知消息;第一交换芯片,用于依据接收到的可达通知消息检测所述第一网片上是否存在故障链路;若是,在确定本地未创建与所述第一网片关联的第一聚合组时,创建第一聚合组、以及创建出接口为该第一聚合组的第一转发表项和出接口为本地记录的第二聚合组的第二转发表项,并设置转发非单播报文的端口为第一聚合组;其中,所述第一聚合组包括第一交换芯片连接除所述第一网片的其他所有网片的端口;所述第二聚合组包括所述第一交换芯片连接每一网片的端口;所述第一转发表项的目的芯片为所述第一网片的故障链路连接的交换芯片;所述第二转发表项的目的芯片为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片。可选的,所述第一交换芯片还用于若所述第一交换芯片确定所述第一网片存在故障链路,且本地已创建所述第一网片关联的第一聚合组,则将出接口为所述第一聚合组的第一转发表项中的目的芯片更新为所述第一网片上的故障链路连接的交换芯片;将出接口为所述第二聚合组的第二转发表项中的目的芯片更新为所述堆叠系统中的除所述故障链路连接的交换芯片外的其他交换芯片。可选的,所述第一交换芯片还用于若所述第一交换芯片确定所述第一网片上不存在故障链路,则识别本地是否存在与所述第一网片关联的第一聚合组;若存在,则删除所述第一聚合组,删除出接口为所述第一聚合组的第一转发表项;将所述第二转发表项中的目的芯片更新为所述堆叠系统中的交换芯片;将转发非单播报文的端口设置为第二聚合组。可选的,所述可达通知消息里携带有所述第一网片可达的交换芯片所组成的第一可达集合;所述第一网片的故障链路连接的交换芯片为所述第一可达集合和本地记录的第二可达集合不相同的交换芯片;所述第二可达集合包括所述堆叠系统中的交换芯片;所述第一交换芯片在依据接收到的可达通知消息确定所述第一网片上是否存在故障链路,具体用于检测所述可达通知消息里携带的第一可达集合和所述第二可达集合是否相同;若相同,确定所述第一网片上不存在故障链路;若不相同,确定所述第一网片存在故障链路。可选的,所述第一网片在向相连的交换芯片发送可达通知消息,具体用于在检测到本地链路故障或者本地链路故障恢复时,获取与所述第一网片相连的各交换芯片分别对应的可达集合;汇总各交换芯片的可达集合,生成所述第一网片的第一可达集合;向相连的交换芯片发送携带有所述第一可达集合的可达通知消息。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1