首页 / 专利库 / 电脑零配件 / 接口 / 通信接口 / 一种广播报文的转发方法及装置

一种广播报文的转发方法及装置

阅读:1026发布:2020-06-10

专利汇可以提供一种广播报文的转发方法及装置专利检索,专利查询,专利分析的服务。并且本公开提供一种广播报文的转发方法及装置,网络设备通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID,并确定所述共享端口对应的多个MDC 节点 ,然后依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。由于本公开可以使网络设备只向与广播报文所属的VLAN ID对应的MDC节点发送广播报文,而非向全部MDC节点发送广播报文,因此可以减少广播报文的复制数量,减少CPU的工作负担。,下面是一种广播报文的转发方法及装置专利的具体信息内容。

1.一种广播报文的转发方法,其特征在于,所述方法应用于网络设备,该方法包括:
在通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一虚拟局域网标识VLAN ID;
确定所述共享端口对应的多个多租户设备环境MDC节点
依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。
2.根据权利要求1所述的方法,其特征在于,所述依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,包括:
针对所述多个MDC节点中的任一MDC节点,判断所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID,若是,则确定所述MDC节点为第一MDC节点,并遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;若否,则遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;
重复判断所述其他一MDC节点对应的VLAN ID中是否包含所述第一VLAN ID以及遍历的过程,直到遍历完所述多个MDC节点中的所有MDC节点。
3.根据权利要求1或2所述的方法,其特征在于,在通过本地的共享端口收到广播报文之前,所述方法还包括:
预先在每个MDC节点中创建位图bitmap,所述bitmap的每一位与一个VLAN ID对应,所述bitmap中的每一位的值用于表示与该位对应的VLAN ID是否被设置;
针对任一MDC节点,获取所述MDC节点中设置的VLAN网络所对应的第二VLAN ID,将所述bitmap中与所述第二VLAN ID相对应的位置位为代表已设置VLAN ID的第一值。
4.根据权利要求3所述的方法,其特征在于,判断所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID,包括:
获取所述MDC节点中的bitmap,基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID。
5.根据权利要求4所述的方法,其特征在于,基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID,包括:
判断所述bitmap中所述第一VLAN ID对应的位是否被置位为所述第一值,若是,则确定所述MDC节点所对应的VLAN ID中包含所述第一VLAN ID;若否,则确定所述MDC节点所对应的VLAN ID中不包含所述第一VLAN ID。
6.一种广播报文的转发装置,其特征在于,所述装置应用于网络设备,该装置包括:
获取单元,用于在通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID;
确定单元,用于确定所述共享端口对应的多个MDC节点;
发送单元,用于依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。
7.根据权利要求6所述的装置,其特征在于,所述发送单元包括判断子单元;
所述判断子单元,用于针对所述多个MDC节点中的任一MDC节点,判断所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID,若是,则确定所述MDC节点为第一MDC节点,并遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;若否,则遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;重复判断所述其他一MDC节点对应的VLAN ID中是否包含所述第一VLAN ID以及遍历的过程,直到遍历完所述多个MDC节点中的所有MDC节点。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
创建单元,用于在通过本地的共享端口收到广播报文之前,预先在每个MDC节点中创建bitmap,所述bitmap的每一位与一个VLAN ID对应,所述bitmap中的每一位的值用于表示与该位对应的VLAN ID是否被设置;针对任一MDC节点,获取所述MDC节点中设置的VLAN网络所对应的第二VLAN ID,将所述bitmap中与所述第二VLAN ID相对应的位置位为代表已设置VLAN ID的第一值。
9.根据权利要求8所述的装置,其特征在于,
所述判断子单元,具体用于获取所述MDC节点中的bitmap,基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID。
10.根据权利要求9所述的装置,其特征在于,所述判断子单元执行的基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID的操作,具体包括:
判断所述bitmap中所述第一VLAN ID对应的位是否被置位为所述第一值,若是,则确定所述MDC节点所对应的VLAN ID中包含所述第一VLAN ID;若否,则确定所述MDC节点所对应的VLAN ID中不包含所述第一VLAN ID。
11.一种网络设备,其特征在于,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现所述权利要求1-5方法的任一步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述权利要求1-5方法的任一步骤。

说明书全文

一种广播报文的转发方法及装置

技术领域

[0001] 本公开涉及通信技术领域,尤其涉及一种广播报文的转发方法及装置。

背景技术

[0002] MDC(Multitenant Device Context,多租户设备环境)节点是将网络设备通过虚拟化技术划分而成的逻辑设备。每个MDC节点拥有自己专属的软硬件资源,独立运行,独立转发,独立提供业务。在网络设备上的一个物理端口可以被多个MDC节点共享,因此该物理端口也称为共享端口。
[0003] 网络设备的共享端口收到广播报文时通常会直接将该广播报文复制并发送给共享该物理端口的所有MDC节点,共享物理端口的MDC节点的数量越多,网络设备需要复制的广播报文量就越大,从而会导致CPU使用率飙升,造成系统卡顿的情况。发明内容
[0004] 有鉴于此,本公开提供一种广播报文的转发方法及装置,来解决广播报文复制量过大的问题。
[0005] 具体地,本公开是通过如下技术方案实现的:
[0006] 第一方面,本公开提供一种广播报文的转发方法,所述方法应用于网络设备,该方法包括:
[0007] 在通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID;
[0008] 确定所述共享端口对应的多个MDC节点;
[0009] 依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。
[0010] 第二方面,本公开提供一种广播报文的转发装置,所述装置应用于网络设备,该装置包括:
[0011] 获取单元,用于在通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID;
[0012] 确定单元,用于确定所述共享端口对应的多个MDC节点;
[0013] 发送单元,用于依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。
[0014] 第三方面,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述广播报文的转发方法的任一步骤。
[0015] 第四方面,本公开还提供一种网络设备,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
[0016] 所述存储器,用于存放计算机程序;
[0017] 所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现上述广播报文的转发方法的任一步骤。
[0018] 由此可见,本公开可以使网络设备通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID,并确定所述共享端口对应的多个MDC节点,然后依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。由于本公开可以使网络设备只向与广播报文所属的VLAN ID对应的MDC节点发送广播报文,而非向全部MDC节点发送广播报文,因此可以减少广播报文的复制数量,减少CPU的工作负担。附图说明
[0019] 图1是相关技术中一种示例性实施方式中的多MDC组网结构示意图;
[0020] 图2是本公开一种示例性实施方式中的一种广播报文的转发方法的处理流程图
[0021] 图3是本公开一种示例性实施方式中的报文格式示意图;
[0022] 图4-1是本公开一种示例性实施方式中的针对共享端口的数据组织示意图;
[0023] 图4-2是本公开一种示例性实施方式中的hash表示意图;
[0024] 图5是本公开一种示例性实施方式中的bitmap的示意图;
[0025] 图6是本公开一种示例性实施方式中的报文转发流程图;
[0026] 图7是本公开一种示例性实施方式中的一种广播报文的转发装置的逻辑结构图;
[0027] 图8本公开一种示例性实施方式中的一种网络设备的硬件结构图。

具体实施方式

[0028] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0029] 在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0030] 应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0031] 请参考图1,是相关技术中的一种示例性实施方式中的多MDC组网结构,其中包括网络设备(例如防火墙设备),多个二层交换机,如交换机1,交换机2,交换机3等,每个交换机下面连接LAN(Local Area Network,局域网)。
[0032] 应用VLAN(Virtual Local Area Network,虚拟局域网)技术可以将一个LAN可以划分为多个逻辑的LAN,即VLAN,处于同一VLAN的主机可以直接互通,处于不同VLAN的主机不能直接互通。在图1中,LAN示例性的划分为VLAN 1、VLAN 2、VLAN 3等多个VLAN,它们通过同一台网络设备连接到外网。通过虚拟化技术,能让一台网络设备当两台、三台设备或更多台设备使用。以三台设备为例,具体做法是,在网络设备上创建三个MDC节点:MDC1、MDC2和MDC3,分别作为VLAN 1、VLAN 2、VLAN 3的网络接入设备,负责VLAN 1、VLAN 2、VLAN 3的网络接入和控制。VLAN 1、VLAN 2、VLAN 3的网络管理员可以分别登录到自己所在网络的接入设备进行配置、保存、重启等操作,彼此之间互不干扰。
[0033] 当网络中存在多个VLAN时,由于网络设备上的物理端口不能为每一个VLAN分配一个端口,这时就需要使用共享端口,也就是多个VLAN共用一个端口。
[0034] 相关技术中,当共享端口收到的报文为单播报文时,共享端口可以通过单播报文的目的MAC地址确定报文具体属于哪个MDC节点,进而将该单播报文进行查表转发;当共享端口收到的报文为广播报文时,共享端口会给共享使用共享端口的每一个MDC节点复制一份广播报文,由于复制广播报文非常的消耗CPU性能,而且也违背了VLAN限制广播域的初衷,因此导致短时间内该网络设备的卡顿和CPU使用率的飙升,影响业务的可用性。
[0035] 请参考图2,是本公开一种示例性实施方式中的一种广播报文的转发方法的处理流程图,所述方法应用于网络设备,所述方法包括步骤201-203。
[0036] 步骤201、在通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID。
[0037] 在本实施例中,网络设备在通过本地的共享端口收到广播报文时,由于VLAN可以作为广播报文的广播域,因此该广播报文中会携带所属的VLAN所对应的VLAN ID。因此网络设备可以获取该广播报文携带的VLAN ID,即所述广播报文所属的第一VLAN ID。
[0038] 举例来讲,该广播报文的格式可以如图3所示,其中,DA为目的MAC地址,SA为源MAC地址;VLAN Tag为VLAN标签;Type为类型,Data为数据,FCS为校验序列(Frame Check Sequence),也称帧尾;如图3所示,VLAN Tag中包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority优先级、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID,该VLAN ID用来表示该报文所属VLAN的编号。当网络设备在通过本地的共享端口收到广播报文时,可以从该广播报文的VLAN Tag字段中获取VLAN ID,从而确定该广播报文所属的VLAN网络的ID,即第一VLAN ID。
[0039] 步骤202、确定所述共享端口对应的多个MDC节点。
[0040] 在本实施例中,网络设备可以确定该共享端口对应的多个MDC节点,该共享端口对应的多个MDC节点共享使用该共享接口。具体来讲,网络设备可以以所述共享端口的端口号为索引,查询共享端口号与MDC节点的对应关系,从而确定所述共享端口对应的多个MDC节点。如图4-1所示的针对共享端口的数据组织图,也就是从共享端口的度来看数据的组织和使用,图4-1中的一个物理端口可以被共享给多个MDC节点使用,当端口被共享给一个MDC节点使用时,可以将该物理端口的类型更改为共享端口,并记录该共享端口与共享使用该共享端口的MDC节点的对应关系。为了节约空间,所述对应关系中可以只保存MDC节点的指针,该指针用于指向MDC节点对应的内存,该内存用于存储该MDC节点对应的配置信息,例如该MDC节点所对应的VLAN ID、以及该MDC节点使用的物理端口号等信息。在本申请中,一MDC节点所对应的VLAN ID是指该MDC节点所属VLAN网络的VLAN ID。
[0041] 在另一个示例中,网络设备也可以存储对应关系表,该对应关系表包括共享端口与共享使用该共享端口的MDC节点的对应关系,例如,若端口1被MDC1和MDC2共享,则对应关系表包括端口1与MDC1和MDC2的对应关系。
[0042] 为了提升查找效率,共享端口与MDC节点的对应关系可以以共享端口号为索引作为存储在hash表中,转发时可以以共享端口号为索引,来查询该hash表,从而确定共享使用所述共享端口号的全部MDC节点。
[0043] 如图4-2所示的hash表结构,在端口较多的情况下,端口对应的hash表可以作为hash节点存储在hash链中(如图4-2所示的hash表索引1~N分别对应一个hash链),hash表索引可以以端口号为被除数、以N(N为正整数)为除数,通过取余计算得到。具体来讲,当N为100时,hash链的数量为100个,则计算端口1的hash表对应的hash链,可以通过1对100取余,得到余数为1,因此端口1的hash表索引为1;计算端口101的hash表对应的hash链,可以通过
101对100取余,得到余数为1,因此端口101的hash表索引为1。因此可知,端口1和端口101的hash表都是hash表索引1对应的hash节点。此外,hash链中还存储了端口号和hash节点的对应关系。
[0044] 经上文描述,以端口号为被除数、以N(N为正整数)为除数,最后取余得到hash表索引,得到的hash表索引即为该端口所在的hash链。确定端口所在的hash链后,可以进一步通过hash链中存储的端口号和hash节点的对应关系,查找该共享端口对应的hash节点。例如,当共享端口为端口1时,可以该hash链中存储了端口号和hash节点的对应关系中查找端口1对应的hash节点,从而获取共享端口对应的hash表。该共享端口对应的hash表中存储了该共享端口对应的MDC链,该MDC链中存储了共享使用该共享端口的多个MDC节点。因此通过表4-2所示,可以通过以共享端口的共享端口号为索引,来查询该共享端口对应的hash表,从而确定共享使用所述共享端口的全部MDC节点。
[0045] 步骤203、依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。
[0046] 在本实施例中,网络设备可以依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点。具体来讲,网络设备可以针对所述多个MDC节点中的任一MDC节点,判断所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID,若是,则确定所述MDC节点为第一MDC节点,并遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;若否,则遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;然后,重复判断所述其他一MDC节点对应的VLAN ID中是否包含所述第一VLAN ID以及遍历的过程,直到遍历完所述多个MDC节点中的所有MDC节点。最终从共享使用该共享端口的多个MDC节点中确定的第一MDC节点可以是一个或多个MDC节点。
[0047] 在一个实施例中,网络设备在通过本地的共享端口收到广播报文之前,可以预先在每个MDC节点中创建位图bitmap,所述bitmap的每一位与一个VLAN ID对应,所述bitmap中的每一位的值用于表示与该位对应的VLAN ID是否被设置;针对任一MDC节点,获取所述MDC节点配置的VLAN网络所对应的第二VLAN ID,将所述bitmap中与所述第二VLAN ID相对应的位置位为代表已设置VLAN ID的第一值。
[0048] 该bitmap的结构如图5所示,其中所述bitmap的每一位对应一个VLAN ID,该VLAN ID是MDC节点所使用的虚端口所对应的VLAN ID;例如,第一位对应VLAN ID值为1,第二位对应的VLAN ID值为2,第三位对应的VLAN ID值为3,第四位对应的VLAN ID为4,依次类推。图5仅示例性的展示了一个十六位的bitmap,该bitmap的大小可以根据实际VLAN的数量进行调整。针对任一MDC节点,可以获取所述MDC节点中设置的VLAN对应的第二VLAN ID,将所述bitmap中与所述第二VLAN ID相对应的位置位为代表已设置VLAN ID的第一值,例如“1”,若该VLAN从该MDC节点中删除时,可以对应将bitmap中的该第二VLAN ID对应的位修改为代表未设置VLAN ID的第二值,例如“0”。
[0049] 通过bitmap可以确定该MDC节点对应哪些VLAN ID,从而确定MDC节点属于哪些VLAN。如图5所示,此时bitmap为0110(仅展示第一行,其它位均为0),其中第二位和第三位被置位为1,那么可以确定该MDC节点所对应的VLAN ID(即该MDC节点所属的VLAN网络的VLAN ID)包括VLAN ID2和VLAN ID3,如果从该MDC节点中删除属于VLAN ID3的端口,那么可以将图5中的bitmap中的第三位的“1”改为“0”,从而表示该MDC节点不属于VLAN ID3标识的VLAN,则bitmap此时为0100(仅展示第一行,其它位均为0),即第二位置位为1,那么可以确定该MDC节点属于VLAN ID2标识的VLAN。
[0050] 因此,上述判断所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID时,可以通过获取所述MDC节点中的bitmap,基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID。
[0051] 在一个实施例中,具体可以判断所述bitmap中所述第一VLAN ID对应的位是否被置位为所述第一值,若是,则确定所述MDC节点所对应的VLAN ID中包含所述第一VLAN ID;若否,则确定所述MDC节点所对应的VLAN ID中不包含所述第一VLAN ID。
[0052] 在确定所述bitmap中所述第一VLAN ID对应的位时,具体可以查找到该MDC节点创建的bitmap,获取该MDC节点中存储的位图存储区域指针,该指针指向bitmap中的起始位为0,然后以该第一VLAN ID的值作为该指针的变量,控制指针移动到第一VLAN ID对应的位,从而确定所述bitmap中所述第一VLAN ID对应的位。例如,当第一VLAN ID为VLAN 3时,指针变量为3,则指针移动三位,到图5中的第一行的第三位,从而确定该位就是与第一VLAN ID对应的位。
[0053] 本公开可以通过bitmap存储MDC节点中的VLAN ID,从而减少存储空间的占用,bitmap是二进制的图表,可以通过置位标记VLAN ID是否已设置,便于对VLAN ID进行更新及管理,并且可以提高VLAN ID的查找效率。
[0054] 当网络设备遍历完共享使用该共享端口的全部MDC节点后,可以向属于第一VLAN的第一MDC节点发送广播报文,即向与第一VLAN ID对应的第一MDC节点发送该广播报文。该第一MDC节点收到广播报文后,对该广播报文进行相应的处理,例如应答或忽略。
[0055] 相比于相关技术,本公开的网络设备可以在MDC节点中存储对应的VLAN ID,并在共享端口收到广播报文时,基于MDC节点存储的VLAN ID,在共享使用该共享端口的MDC节点中,判断哪些MDC节点对应的VLAN ID包含了广播报文的第一VLAN ID,并向包含该第一VLAN ID的MDC节点发送广播报文,因此本公开可以避免网络设备向共享端口中的不与第一VLAN ID对应的MDC节点复制广播报文,从而减轻了CPU的负担,同时实现了VLAN限制广播域的目的。
[0056] 为使本公开的目的、技术方案及优点更加清楚明白,下面结合图6对本公开的方案作进一步地详细说明。
[0057] 在一个实施例中,当网络设备的端口收到报文时,可以将该报文上送给该网络设备的CPU处理,处理流程图6所示,其中包括:
[0058] 步骤601、判断接收报文的端口的端口类型是否为共享端口。
[0059] 若是,则转步骤602。若否,则转步骤609。
[0060] 步骤602、判断该报文是否为广播报文。
[0061] 若是,则转步骤603。若否,则转步骤609。
[0062] 步骤603、确定广播报文所属的VLAN ID。
[0063] 步骤604、通过该端口的端口索引查询hash表得到共享使用该端口的全部MDC节点。
[0064] 步骤605、遍历一MDC节点,确定广播报文所属的VLAN ID在该一MDC节点的bitmap中对应的位。
[0065] 步骤606、判断该位是否被置位为1。
[0066] 若是,则转步骤607。若否,则转步骤608。
[0067] 步骤607、确定该MDC节点对应的VLAN ID包括该广播报文所属的VLAN ID,复制该广播报文并向该MDC节点发送。转步骤608。在这里,广播报文所属的VLAN ID是指广播报文携带的VLAN ID。
[0068] 步骤608、是否遍历完所述全部MDC节点。
[0069] 若是,则结束流程。
[0070] 若否,则转步骤605,遍历下一个MDC节点,直至遍历完共享使用该端口的全部MDC节点。
[0071] 步骤609、按照正常报文转发流程,进行查表转发。结束流程。
[0072] 正常报文的转发流程则是基于报文的目的MAC地址查找MAC地址表项,找到对应的出接口,转发报文。
[0073] 本实施例的广播报文转发流程只会向与广播报文所属的VLAN ID对应的MDC节点发送广播报文(即为属于广播报文所属的VLAN ID对应的MDC节点复制广播报文,并向属于广播报文所属的VLAN ID对应的MDC节点发送广播报文),从而防止了广播报文被发送到不与广播报文所属的VLAN ID对应的MDC节点中,避免不必要地复制广播报文,降低了广播报文的复制数量,减轻了网络设备负担。
[0074] 与前述广播报文的转发方法的实施例相对应,本公开还提供了广播报文的转发装置的实施例。
[0075] 请参见图7,为本公开在一个示例性实施例中的一种广播报文的转发装置的结构示意图,所述装置应用于网络设备,所述装置70包括:
[0076] 获取单元701,用于在通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID;
[0077] 确定单元702,用于确定所述共享端口对应的多个MDC节点;
[0078] 发送单元703,用于依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。
[0079] 作为一个实施例,所述发送单元703包括判断子单元7031;
[0080] 所述判断子单元7031,用于针对所述多个MDC节点中的任一MDC节点,判断所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID,若是,则确定所述MDC节点为第一MDC节点,并遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;若否,则遍历所述多个MDC节点中除所述MDC外的其他一MDC节点;重复判断所述其他一MDC节点对应的VLAN ID中是否包含所述第一VLAN ID以及遍历的过程,直到遍历完所述多个MDC节点中的所有MDC节点。
[0081] 作为一个实施例,所述装置还包括:
[0082] 创建单元704,用于在通过本地的共享端口收到广播报文之前,预先在每个MDC节点中创建bitmap,所述bitmap的每一位与一个VLAN ID对应,所述bitmap中的每一位的值用于表示与该位对应的VLAN ID是否被设置;针对任一MDC节点,获取所述MDC节点中设置的VLAN网络所对应的第二VLAN ID,将所述bitmap中与所述第二VLAN ID相对应的位置位为代表已设置VLAN ID的第一值。
[0083] 作为一个实施例,所述判断子单元7031,具体用于获取所述MDC节点中的bitmap,基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID。
[0084] 作为一个实施例,所述判断子单元7031执行的基于所述bitmap确定所述MDC节点所对应的VLAN ID中是否包含所述第一VLAN ID的操作,具体包括:
[0085] 判断所述bitmap中所述第一VLAN ID对应的位是否被置位为所述第一值,若是,则确定所述MDC节点所对应的VLAN ID中包含所述第一VLAN ID;若否,则确定所述MDC节点所对应的VLAN ID中不包含所述第一VLAN ID。
[0086] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0087] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0088] 与前述广播报文的转发方法的实施例相对应,本公开还提供了实现广播报文的转发方法的网络设备的实施例。
[0089] 如图8所示,所述网络设备包括存储器81、处理器82、通信接口83以及通信总线84;其中,所述存储器81、处理器82、通信接口83通过所述通信总线84进行相互间的通信;
[0090] 所述存储器81,用于存放计算机程序;
[0091] 所述处理器82,用于执行所述存储器81上所存放的计算机程序,所述处理器82执行所述计算机程序时实现本公开实施例提供的广播报文的转发方法的任一步骤。
[0092] 本公开还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例提供的广播报文的转发方法的任一步骤。
[0093] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0094] 综上所述,本公开可以使网络设备通过本地的共享端口收到广播报文时,获取所述广播报文所属的第一VLAN ID,并确定所述共享端口对应的多个MDC节点,然后依据MDC与VLAN ID的对应关系,确定所述多个MDC节点中与所述第一VLAN ID对应的第一MDC节点,向所述第一MDC节点发送所述广播报文。由于本公开可以使网络设备只向与广播报文所属的VLAN ID对应的MDC节点发送广播报文,而非向全部MDC节点发送广播报文,因此可以减少广播报文的复制数量,减少CPU的工作负担。
[0095] 以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈