CN115514721B - 未知组播数据的处理方法及装置、计算设备、存储介质 - Google Patents

未知组播数据的处理方法及装置、计算设备、存储介质 Download PDF

Info

Publication number
CN115514721B
CN115514721B CN202211166376.0A CN202211166376A CN115514721B CN 115514721 B CN115514721 B CN 115514721B CN 202211166376 A CN202211166376 A CN 202211166376A CN 115514721 B CN115514721 B CN 115514721B
Authority
CN
China
Prior art keywords
forwarding table
chip
multicast data
multicast
controller
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.)
Active
Application number
CN202211166376.0A
Other languages
English (en)
Other versions
CN115514721A (zh
Inventor
王倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Armyfly Technology Co Ltd
Original Assignee
Beijing Armyfly Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Armyfly Technology Co Ltd filed Critical Beijing Armyfly Technology Co Ltd
Priority to CN202211166376.0A priority Critical patent/CN115514721B/zh
Publication of CN115514721A publication Critical patent/CN115514721A/zh
Application granted granted Critical
Publication of CN115514721B publication Critical patent/CN115514721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种未知组播数据的处理方法及装置、计算设备、存储介质,所述方法包括:通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,以监控所述交换芯片中的第一芯片转发表的置位状态。本申请解决了大量未知组播数据持续上报控制器,导致控制器占用率过高,影响其他正常业务的缺陷。

Description

未知组播数据的处理方法及装置、计算设备、存储介质
技术领域
本申请涉及以太网通信技术领域,特别涉及一种未知组播数据的处理方法及装置、计算设备、存储介质。
背景技术
单播、广播和组播是计算机网络中IP包传输的三种常见形式,所谓的组播是单点发送多点接收的形式,发送者会向一个预约的组播地址发送组播数据,加入该组播组的接收者才可以接收到该组播数据,这样可以减轻网络负载和发送者的负担。通常路由器中控制层面由组播协议维护组播表项下发到转发层,通过配置交换芯片三层组播表项完成数据硬件转发。三层组播表项的转发靠组播转发表和组播复制表完成,组播转发表(S,G)由组播数据形成,因此需要配置未知组播数据上送CPU由控制层组播协议进行处理。当未知组播数据较大时会对CPU进行冲击,另外组播数据当没有接收者时会持续对CPU进行冲击。
目前一方面对CPU接口进行未知组播数据的限速,或者通过判断端口上未知组播数量是否超过设定的端口未知组播阈值来进行丢弃,当同时收到不同的组播数据时,CPU接口限速和判断端口阈值的方法都不能区分是否是相同的(S,G)组播数据,CPU接口的限速可能使相同的(S,G)组播数据上送CPU,组播协议不能有效处理其他的(S,G)组播数据,导致其他(S,G)组播数据会持续冲击CPU。另外对没有接收者的组播数据会下发(S,G)以及复制表为空的硬件表形成已知组播表项,防止组播数据持续对CPU进行冲击。控制层组播转发表(S,G)超时后会删除此表同时删除转发层的芯片硬件表,如果组播数据一直持续,则会重复此过程,组播数据周期性的冲击CPU。一种解决方法是芯片的组播表项上绑定统计计数器,当有与该组播表项匹配的组播数据通过时,则会更新该组播表项上绑定的统计计数器,表明该组播表项正在刷新,该组播数据为已知组播数据,因此不会再上送CPU进行处理。该方法通过定时查询该统计计数器即可确定是否还有组播数据进行组播表项的刷新,防止组播数据持续对CPU进行冲击。然而该方法的统计资源有限,大量不同的组播数据都需要刷新组播表项的计数器时,则存在统计资源不足的缺陷。
发明内容
有鉴于此,本申请提出一种未知组播数据的处理方法及装置、计算设备、存储介质,解决了大量未知组播数据持续上报控制器,导致控制器占用率过高,影响其他正常业务的缺陷。
第一方面,本申请提供了一种未知组播数据的处理方法,包括:
通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;
根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;
将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态。
由上,本方法通过在交换芯片的每个三层组播表项的芯片转发表中配置HIT标记位,并在该交换芯片中配置自动学习使能位,当交换芯片接收组播数据时,首先在现有的三层组播表项中查找是否存在与该组播数据匹配的第一芯片转发表,若不存在则确定该组播数据为未知组播数据,则根据自动学习使能位生成该未知组播数据匹配的第一芯片转发表并添加到三层组播表项中,对该芯片转发表中的HIT标记位进行置位,并根据该第一芯片转发表对当前的未知组播数据进行转发,除此之外,通过将该未知组播数据上送到控制器,根据组播协议在该控制器中生成第一软件转发表,并在第一芯片转发表的HIT标记位置位时,更新该第一软件转发表的刷新时间,利用该第一软件转发表的刷新时间即可监控交换芯片中的第一芯片转发表的置位状态。本方法中的芯片转发表存储于转发层,用于对组播数据进行转发,软件转发表存储于控制层,用于记录当前时刻有该组播数据通过。当交换芯片再次接收该组播数据时,由于已经生成第一芯片转发表,该组播数据则判断为已知组播数据,即可对该第一芯片转发表的HIT标记位进行置位,并根据该第一芯片转发表对该组播数据进行转发操作,无需再次上报至控制器,由此可解决大量未知组播数据持续上报控制器,导致控制器占用率过高,影响其他正常业务的缺陷。
可选的,所述利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态包括:
利用在所述控制器中配置的组播刷新定时器,以第一预设频率检查所述第一芯片转发表的HIT标记位置位后,对该第一芯片转发表的HIT标记位进行清除,并更新控制器中的第一软件转发表的刷新时间。
由上,通过在控制器中配置组播刷新定时器,并以第一预设频率对第一芯片转发表的HIT标记位的置位状态进行检查,当检查到第一芯片转发表的HIT标记位置位后,即可对该第一芯片转发表的HIT标记位进行清除,并更新控制器中的第一软件转发表的刷新时间,若未检查到第一芯片转发表的HIT标记位发生置位,则不更新第一软件转发表的刷新时间。通过遍历该第一软件转发表的刷新时间即可确定第一芯片转发表的HIT标记位的置位状态,从而确定交换芯片中的该组播数据的流量情况,清除HIT标记位的目的是便于交换芯片下一次接收到相同的组播数据时,对该第一芯片转发表的HIT标记位重新置位。
可选的,还包括:
利用在所述控制器中配置的组播超时定时器,以第二预设频率对所述第一软件转发表的刷新时间进行超时检查,并删除刷新时间超出预设时间的第一软件转发表以及所述交换芯片中的第一芯片转发表。
由上,通过在控制器中配置组播超时定时器,并以第二预设频率对第一软件转发表的更新时间进行超时检查,以检查在预设时间内,该第一软件转发表对应的组播数据是否为老化状态,若检查到第一软件转发表的更新时间在预设时间内未发生变化,此时可判定该第一软件转发表对应的组播数据为老化状态,即交换芯片中已超过预设时间未接收到该组播数据,因此可以同步删除该控制器中的第一软件转发表以及交换芯片中的第一芯片转发表,当交换芯片再次接收到该组播数据时,则以未知组播数据的上述处理流程进行处理。
可选的,还包括:
在所述交换芯片中的三层组播表项中查找到与所述组播数据匹配的第二芯片转发表,确定所述组播数据为已知组播数据;
所述交换芯片对该第二芯片转发表中配置的HIT标记位进行置位,并根据该第二芯片转发表对所述已知组播数据进行转发;
利用所述控制器中预存的第二软件转发表的刷新时间监控所述交换芯片中的第二芯片转发表的置位状态。
由上,交换芯片接收的组播数据,在三层组播表项中查找到匹配的第二芯片转发表时,确定该组播数据为已知组播数据,此时即可对该第二芯片转发表的HIT标记位进行置位,并根据该第二芯片转发表对该已知组播数据进行转发。同时,由于该组播数据为已知组播数据,则控制器中应该已经形成了与该已知组播数据匹配的第二软件转发表,利用该第二软件转发表的刷新时间即可监控交换芯片中的第二芯片转发表的置位状态,从而确定交换芯片中的该已知组播数据的流量情况。
可选的,所述利用所述控制器中预存的第二软件转发表的刷新时间监控所述交换芯片中的第二芯片转发表的置位状态包括:
利用在所述控制器中配置的组播刷新定时器,以第一预设频率检查所述第二芯片转发表的HIT标记位置位后,对该第二芯片转发表的HIT标记位进行清除,并更新控制器中预存的第二软件转发表的刷新时间。
由上,通过控制器中的组播刷新定时器以第一预设频率对第二芯片转发表的HIT标记位的置位状态进行检查,当检查到第二芯片转发表的HIT标记位置位后,即可对该第二芯片转发表的HIT标记位进行清除,并更新控制器中的第二软件转发表的刷新时间,若未检查到第二芯片转发表的HIT标记位发生置位,则不更新第二软件转发表的刷新时间。通过遍历该第二软件转发表的刷新时间即可确定第二芯片转发表的HIT标记位的置位状态,从而确定交换芯片中的该已知组播数据的流量情况,清除HIT标记位的目的是便于交换芯片下一次接收到相同的组播数据时,对该第二芯片转发表的HIT标记位重新置位。
可选的,还包括:
利用在所述控制器中配置的组播超时定时器,以第二预设频率对所述第二软件转发表的刷新时间进行超时检查,并删除刷新时间超出预设时间的第二软件转发表以及所述交换芯片中的第二芯片转发表。
由上,通过控制器中的组播超时定时器以第二预设频率对第二软件转发表的更新时间进行超时检查,以检查在预设时间内,该第二软件转发表对应的已知组播数据是否为老化状态,若检查到第二软件转发表的更新时间在预设时间内未发生变化,此时可判定该第二软件转发表对应的已知组播数据为老化状态,即交换芯片中已超过预设时间未接收到该已知组播数据,因此可以同步删除该控制器中的第二软件转发表以及交换芯片中的第二芯片转发表,当交换芯片再次接收到该组播数据时,则以未知组播数据的上述处理流程进行处理。
可选的,所述第一预设频率大于第二预设频率。
由上,交换芯片在持续一段时间没有组播数据的流量经过后,控制器才会删除该组播数据匹配的软件转发表以及芯片转发表,因此组播刷新定时器的检查频率应当大于组播超时定时器的检查频率,即第一预设频率大于第二预设频率,以便于控制器多次检查到芯片转发表的HIT标记位未发生置位导致软件转发表的刷新时间没有更新后,再判断该软件转发表匹配的组播数据为老化数据,即可进行删除操作,以避免占用资源。例如,第一预设频率可以是第二预设频率的两倍,即控制器通过组播刷新定时器连续两次检查到芯片转发表的HIT标记位没有置位后,即可判断交换芯片在该时间段内没有该芯片转发表匹配的组播数据的流量经过,此时可删除控制器中匹配该组播数据的软件转发表以及交换芯片中的芯片转发表,以减小负载压力。
第二方面,本申请提供了一种未知组播数据的处理装置,包括:
接收模块,用于通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;
转发模块,用于根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;
上报模块,用于将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态。
第三方面,本申请提供了一种计算设备,所述计算设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的未知组播数据的处理方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述的未知组播数据的处理方法。
本申请的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种未知组播数据的处理方法的流程图;
图2为本申请实施例提供的交换芯片的自动学习使能位和HIT标记位的示意图;
图3为本申请实施例提供的转发层和控制层的结构图;
图4为本申请实施例提供的转发层的处理流程图;
图5为本申请实施例提供的控制层的处理流程图;
图6为本申请实施例提供的一种未知组播数据的处理装置的模块图;
图7为本申请实施例提供的一种计算设备的结构图。
应理解,上述结构示意图中,各框图的尺寸和形态仅供参考,不应构成对本申请实施例的排他性的解读。结构示意图所呈现的各框图间的相对位置和包含关系,仅为示意性地表示各框图间的结构关联,而非限制本申请实施例的物理连接方式。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本申请实施例提供了一种未知组播数据的处理方法及装置、计算设备、存储介质,通过在交换芯片的每个三层组播表项中的芯片转发表中配置HIT(命中)标记位,该HIT标记位具体可以为一种比特位,用于判定接收的组播数据是否命中三层组播表项中的芯片转发表,并在命中时,进行置位。还通过在该交换芯片中配置自动学习使能位,当接收的组播数据为未知组播数据时,则根据自动学习使能位生成该未知组播数据匹配的芯片转发表并添加到三层组播表项中,对该芯片转发表中的HIT标记位进行置位,并根据该芯片转发表对当前的未知组播数据进行转发,除此之外,通过将该未知组播数据上送到控制器,根据组播协议在该控制器中生成软件转发表,并在芯片转发表的HIT标记位置位时,更新该软件转发表的刷新时间,利用该软件转发表的刷新时间即可监控交换芯片中的芯片转发表的置位状态。当交换芯片再次接收该组播数据时,由于已经生成芯片转发表,该组播数据则判断为已知组播数据,即可对该芯片转发表的HIT标记位进行置位,并根据该芯片转发表对该组播数据进行转发操作,无需再次上报至控制器,由此可解决大量未知组播数据持续上报控制器,导致控制器占用率过高,影响其他正常业务的缺陷。
如图1所示,本申请提供了一种未知组播数据的处理方法,所述方法包括:
S101:通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;
S102:根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;
S103:将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态。
本实施例中,通过交换芯片接收组播数据,并通过在交换芯片中已经存储的三层组播表项中查找是否存在与该组播数据相匹配的第一芯片转发表,假设不存在第一芯片转发表时,则确定接收的该组播数据为未知组播数据。如图2所示,通过在交换芯片中配置自动学习使能位IPMC Learn,当交换芯片接收到的组播数据为未知组播数据时,此时通过该自动学习使能位IPMC Learn即可自动学习生成该未知组播数据匹配的第一芯片转发表,并对生成的该第一芯片转发表中的HIT标记位进行置位,然后根据该第一芯片转发表对该未知组播数据进行转发。本实施例中的HIT标记位主要用于判定接收到的组播数据是否与芯片转发表相匹配,若匹配时,则表示命中,此时可对该HIT标记位进行置位,表示该交换芯片中有该组播数据的流量经过,并根据该芯片转发表对该已知组播数据进行转发。
如图3所示的转发层和控制层的结构图,本实施例的交换芯片可以作为转发层,控制器可以作为控制层,其中该控制器可以为CPU。转发层的交换芯片接收到未知组播数据时,根据自动学习使能位IPMC Learn自动学习生成该未知组播数据匹配的第一芯片转发表,并对生成的该第一芯片转发表中的HIT标记位进行置位,然后将该未知组播数据上报到控制层的CPU进行处理。控制层的CPU根据组播协议生成与接收到的未知组播数据匹配的第一软件转发表,并在该第一软件转发表中记录刷新时间Refresh time。利用该第一软件转发表的刷新时间Refresh time可以监控所述交换芯片中的第一芯片转发表的置位状态,具体的,通过在CPU中配置组播刷新定时器和组播超时定时器,该组播刷新定时器可以以第一预设频率,获取芯片转发表中的HIT标记位的置位状态,并在获取到HIT标记位发生置位时,同步更新该软件转发表中的刷新时间Refresh time,并清除芯片转发表中的HIT标记位,以便于交换芯片下一次接收到相同的组播数据时,重新对匹配的芯片转发表的HIT标记位进行置位。该组播超时定时器可以以第二预设频率,检查软件转发表中的刷新时间Refreshtime是否超时,当软件转发表中的刷新时间Refresh time超过预设时间未更新时,则判断该软件转发表中的刷新时间Refresh time超时,此时说明交换芯片中在该预设时间内未接收到与该软件转发表匹配的组播数据流量,此时可以删除CPU中对应的软件转发表以及交换芯片中的芯片转发表,以减小负载压力。
在一些实施例中,当交换芯片接收组播数据时,假设在所述交换芯片中的三层组播表项中查找到与该组播数据匹配的第二芯片转发表,确定所述组播数据为已知组播数据,通过交换芯片对该第二芯片转发表中配置的HIT标记位进行置位,并根据该第二芯片转发表对所述已知组播数据进行转发。同时,由于该组播数据为已知组播数据,则CPU中应该已经形成了与该已知组播数据匹配的第二软件转发表,利用该第二软件转发表的刷新时间即可监控交换芯片中的第二芯片转发表的置位状态,从而确定交换芯片中的该已知组播数据的流量情况。具体的,利用在CPU中配置的组播刷新定时器,以第一预设频率检查所述第二芯片转发表的HIT标记位置位后,对该第二芯片转发表的HIT标记位进行清除,并更新CPU中预存的第二软件转发表的刷新时间。以及利用在CPU中配置的组播超时定时器,以第二预设频率对所述第二软件转发表的刷新时间进行超时检查,以检查在预设时间内,该第二软件转发表对应的已知组播数据是否为老化状态,若检查到第二软件转发表的更新时间在预设时间内未发生变化,此时可判定该第二软件转发表对应的已知组播数据为老化状态,即交换芯片中已超过预设时间未接收到该已知组播数据,因此可以同步删除该CPU中的第二软件转发表以及交换芯片中的第二芯片转发表,当交换芯片再次接收到该组播数据时,则以未知组播数据的上述处理流程进行处理。
本实施例中的第一预设频率应当大于第二预设频率,原因在于,交换芯片在持续一段时间没有组播数据的流量经过后,CPU才会删除该组播数据匹配的软件转发表以及芯片转发表,因此组播刷新定时器的检查频率应当大于组播超时定时器的检查频率,即第一预设频率大于第二预设频率,以便于CPU多次检查到芯片转发表的HIT标记位未发生置位导致软件转发表的刷新时间没有更新后,再判断该软件转发表匹配的组播数据为老化数据,即可进行删除操作,以避免占用资源。例如,第一预设频率可以是第二预设频率的两倍,即CPU通过组播刷新定时器连续两次检查到芯片转发表的HIT标记位没有置位后,即可判断交换芯片在该时间段内没有该芯片转发表匹配的组播数据的流量经过,此时可删除CPU中匹配该组播数据的软件转发表以及交换芯片中的芯片转发表,以减小负载压力。
下面参照图4所示的转发层的处理流程图,对本申请实施例提供的未知组播数据的处理方法进行详细说明,包括步骤:
S201:接收组播数据;
本步骤中,通过转发层的交换芯片接收组播数据,如上所述,该交换芯片中配置有自动学习使能位,该交换芯片的三层组播表项中的每个芯片转发表中配置HIT标记位。
S202:查找芯片转发表;
根据接收到的组播数据,在交换芯片中的三层组播表项中查找是否存在与该组播数据匹配的芯片转发表,以判断该组播数据为已知组播数据还是未知组播数据,若存在,则判断为已知组播数据,进入步骤S207,若不存在,则判断为未知组播数据,进行步骤S203。
S203:判断为未知组播数据,自动学习生成芯片转发表,并对HIT标记位进行置位;
当交换芯片的三层组播表项中不存在匹配接收到的组播数据的芯片转发表时,则判断该组播数据为未知组播数据,此时可根据交换芯片中配置的自动学习使能位,自动学习生成对应该未知组播数据的芯片转发表,并对该芯片转发表中的HIT标记位进行置位。
S204:上报CPU;
S205:形成软件转发表,并记录刷新时间;
控制层的CPU在接收到交换芯片上报的未知组播数据时,可以根据组播协议生成对应的软件转发表,并记录刷新时间。
S206:对芯片转发表的HIT标记位进行清除;
如图4所示,控制层的CPU中配置有组播刷新定时器和组播超时定时器,该CPU通过组播刷新定时器和组播超时定时器对形成的软件转发表进行定时检查,以检查交换芯片中的组播数据的流量经过情况。
该CPU的组播超时定时器的检查过程具体包括步骤:
S301:启动组播超时定时器,设置检查的时间间隔为T;
S302:遍历软件转发表的刷新时间;
S303:判断软件转发表的刷新时间是否超时;
S304:若超时,则删除CPU中的软件转发表以及交换芯片中的芯片转发表。
本实施例中,转发层的交换芯片接收到已知组播数据时,会对芯片转发表的HIT标记位进行置位,CPU通过组播刷新定时器定时获取到HIT标记位的置位状态后,则会同步更新对应的软件转发表的刷新时间。控制层的CPU通过组播超时定时器,以间隔T时间的频率对软件转发表的刷新时间进行检查,以检查在T时间之内,交换芯片是否有匹配的组播数据流量经过,若检查到软件转发表的刷新时间超时,则说明该软件转发表匹配的组播数据在该时间T内,未在交换芯片中发生流量,因此可删除该软件转发表以及交换芯片中的芯片转发表,由此可减小负载压力。
该CPU的组播刷新定时器的检查过程具体包括步骤:
S401:启动组播刷新定时器,设置检查的时间间隔为1/2T;
S402:遍历芯片转发表;
S403:判断芯片转发表的HIT标记位是否置位;
S404:若是,则清除芯片转发表的HIT标记位。
本实施例中,控制层的CPU通过组播刷新定时器,以间隔1/2T时间的频率获取交换芯片的芯片转发表的HIT标记位的置位状态,从而检查芯片转发表的HIT标记位是否置位,当检查到芯片转发表的HIT标记位发生置位时,此时可更新该软件转发表的刷新时间,并清除该芯片转发表的HIT标记位,交换芯片再次接收到该组播数据时,对该芯片转发表的HIT标记位进行置位。本实施例中,CPU通过组播刷新定时器检查芯片转发表的HIT标记位的置位状态来更新软件转发表的刷新时间,并通过组播超时定时器检查软件转发表的刷新时间,因此组播刷新定时器的检查频率应当高于组播超时定时器的检查频率,本实施例通过设置组播刷新定时器的检查间隔时间为组播超时定时器的检查间隔时间的1/2,即CPU通过组播刷新定时器连续两次检查到芯片转发表的HIT标记位没有置位后,由组播超时定时器检查到软件转发表的刷新时间超时,即可判断交换芯片在该时间段内没有对应的组播数据的流量经过,此时可删除CPU中的软件转发表以及交换芯片中的芯片转发表,以减小负载压力。
S207:判断为已知组播数据,对芯片转发表中的HIT标记位进行置位,并根据该芯片转发表对已知组播数据进行转发;
当交换芯片存在与接收到的组播数据相匹配的芯片转发表时,则判断该组播数据为已知组播数据,此时可对该芯片转发表的HIT标记位进行置位,并根据该芯片转发表对已知组播数据进行转发,CPU中的组播刷新定时器同步获取该根据该芯片转发表的HIT标记位的置位状态,并更新其存储的软件转发表的刷新时间,利用该软件转发表的刷新时间即可监控交换芯片中的芯片转发表的置位状态,从而确定交换芯片中的该已知组播数据的流量情况。
综上所述,本实施例提供的未知组播数据的处理方法,通过在交换芯片的每个三层组播表项中的芯片转发表配置HIT标记位,并在该交换芯片中配置自动学习使能位,当接收的组播数据为未知组播数据时,则根据自动学习使能位生成该未知组播数据匹配的芯片转发表并添加到三层组播表项中,对该芯片转发表中的HIT标记位进行置位,并根据该芯片转发表对当前的未知组播数据进行转发,除此之外,通过将该未知组播数据上送到控制器,根据组播协议在该控制器中生成软件转发表,并在芯片转发表的HIT标记位置位时,更新该软件转发表的刷新时间,利用该软件转发表的刷新时间即可监控交换芯片中的芯片转发表的置位状态。当交换芯片再次接收该组播数据时,由于已经生成芯片转发表,该组播数据则判断为已知组播数据,即可对该芯片转发表的HIT标记位进行置位,并根据该芯片转发表对该组播数据进行转发操作,无需再次上报至控制器,由此可解决大量未知组播数据持续上报控制器,导致控制器占用率过高,影响其他正常业务的缺陷。
如图6所示,本申请实施例还提供了一种未知组播数据的处理装置,该装置可用于实现上述的未知组播数据的处理方法的任一步骤及其可选的实施例。如图6,该未知组播数据的处理装置包括接收模块510、转发模块520,上报模块530;
接收模块510用于通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;转发模块520用于根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;上报模块530用于将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态。
应理解的是,本申请实施例中的装置或模块可以由软件实现,例如可以由具有上述功能计算机程序或指令来实现,相应计算机程序或指令可以存储在终端内部的存储器中,通过处理器读取该存储器内部的相应计算机程序或指令来实现上述功能。或者,本申请实施例的装置或模块还可以由硬件来实现。又或者,本申请实施例中的装置或模块还可以由处理器和软件模块的结合实现。
应理解,本申请实施例中的装置或模块的处理细节可以参考图1-图5所示的实施例及相关扩展实施例的相关表述,本申请实施例将不再重复赘述。
图7是本申请实施例提供的一种计算设备1000的结构性示意性图。该计算设备1000包括:处理器1010、存储器1020、通信接口1030、总线1040。
应理解,图7所示的计算设备1000中的通信接口1030可以用于与其他设备之间进行通信。
其中,该处理器1010可以与存储器1020连接。该存储器1020可以用于存储该程序代码和数据。因此,该存储器1020可以是处理器1010内部的存储单元,也可以是与处理器1010独立的外部存储单元,还可以是包括处理器1010内部的存储单元和与处理器1010独立的外部存储单元的部件。
可选的,计算设备1000还可以包括总线1040。其中,存储器1020、通信接口1030可以通过总线1040与处理器1010连接。总线1040可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线1040可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器1010可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1010采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1020可以包括只读存储器和随机存取存储器,并向处理器1010提供指令和数据。处理器1010的一部分还可以包括非易失性随机存取存储器。例如,处理器1010还可以存储设备类型的信息。
在计算设备1000运行时,所述处理器1010执行所述存储器1020中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备1000可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备1000中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,本申请所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,上述对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
说明书和权利要求书中的词语“第一、第二、第三等”类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,并不表示一定会按此步骤执行,还可以包括中间的步骤或者由其他的步骤代替,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。

Claims (9)

1.一种未知组播数据的处理方法,其特征在于,包括:
通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;
根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;
将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态;
利用在所述控制器中配置的组播超时定时器,以第二预设频率对所述第一软件转发表的刷新时间进行超时检查,并删除刷新时间超出预设时间的第一软件转发表以及所述交换芯片中的第一芯片转发表。
2.根据权利要求1所述的方法,其特征在于,所述利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态包括:
利用在所述控制器中配置的组播刷新定时器,以第一预设频率检查所述第一芯片转发表的HIT标记位置位后,对该第一芯片转发表的HIT标记位进行清除,并更新控制器中的第一软件转发表的刷新时间。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述交换芯片中的三层组播表项中查找到与所述组播数据匹配的第二芯片转发表,确定所述组播数据为已知组播数据;
所述交换芯片对该第二芯片转发表中配置的HIT标记位进行置位,并根据该第二芯片转发表对所述已知组播数据进行转发;
利用所述控制器中预存的第二软件转发表的刷新时间监控所述交换芯片中的第二芯片转发表的置位状态。
4.根据权利要求3所述的方法,其特征在于,所述利用所述控制器中预存的第二软件转发表的刷新时间监控所述交换芯片中的第二芯片转发表的置位状态包括:
利用在所述控制器中配置的组播刷新定时器,以第一预设频率检查所述第二芯片转发表的HIT标记位置位后,对该第二芯片转发表的HIT标记位进行清除,并更新控制器中预存的第二软件转发表的刷新时间。
5.根据权利要求4所述的方法,其特征在于,还包括:
利用在所述控制器中配置的组播超时定时器,以第二预设频率对所述第二软件转发表的刷新时间进行超时检查,并删除刷新时间超出预设时间的第二软件转发表以及所述交换芯片中的第二芯片转发表。
6.根据权利要求2或5所述的方法,其特征在于,所述第一预设频率大于第二预设频率。
7.一种未知组播数据的处理装置,其特征在于,包括:
接收模块,用于通过交换芯片接收组播数据,在所述交换芯片中的三层组播表项中未查找到与所述组播数据匹配的第一芯片转发表,确定所述组播数据为未知组播数据;
转发模块,用于根据在交换芯片中配置的自动学习使能位生成与该未知组播数据匹配的第一芯片转发表,对该第一芯片转发表中配置的HIT标记位进行置位,并根据该第一芯片转发表对所述未知组播数据进行转发;
上报模块,用于将所述未知组播数据上报到控制器,在所述控制器中生成第一软件转发表,利用第一软件转发表的刷新时间监控所述交换芯片中的第一芯片转发表的置位状态;
所述上报模块还用于利用在所述控制器中配置的组播超时定时器,以第二预设频率对所述第一软件转发表的刷新时间进行超时检查,并删除刷新时间超出预设时间的第一软件转发表以及所述交换芯片中的第一芯片转发表。
8.一种计算设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6任意一项所述的未知组播数据的处理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机执行时实现如权利要求1至6任意一项所述的未知组播数据的处理方法。
CN202211166376.0A 2022-09-23 2022-09-23 未知组播数据的处理方法及装置、计算设备、存储介质 Active CN115514721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211166376.0A CN115514721B (zh) 2022-09-23 2022-09-23 未知组播数据的处理方法及装置、计算设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211166376.0A CN115514721B (zh) 2022-09-23 2022-09-23 未知组播数据的处理方法及装置、计算设备、存储介质

Publications (2)

Publication Number Publication Date
CN115514721A CN115514721A (zh) 2022-12-23
CN115514721B true CN115514721B (zh) 2023-11-07

Family

ID=84507089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211166376.0A Active CN115514721B (zh) 2022-09-23 2022-09-23 未知组播数据的处理方法及装置、计算设备、存储介质

Country Status (1)

Country Link
CN (1) CN115514721B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159665A (zh) * 2007-08-28 2008-04-09 杭州华三通信技术有限公司 实现未知组播报文向路由器端口转发的方法和装置
CN101388850A (zh) * 2008-11-05 2009-03-18 北京星网锐捷网络技术有限公司 一种组播报文转发方法及装置
CN101789905A (zh) * 2010-02-05 2010-07-28 杭州华三通信技术有限公司 防止未知组播攻击cpu的方法和设备
CN107645452A (zh) * 2016-07-20 2018-01-30 中兴通讯股份有限公司 一种未知组播报文的处理方法和装置
CN109873768A (zh) * 2017-12-01 2019-06-11 华为技术有限公司 更新转发表的方法、硬件加速器、ovs和服务器
CN111130816A (zh) * 2019-12-27 2020-05-08 北京东土军悦科技有限公司 一种报文转发处理设备、方法、装置和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10305796B2 (en) * 2015-06-01 2019-05-28 Ciena Corporation Enhanced forwarding database synchronization for media access control addresses learned in interconnected layer-2 architectures

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159665A (zh) * 2007-08-28 2008-04-09 杭州华三通信技术有限公司 实现未知组播报文向路由器端口转发的方法和装置
CN101388850A (zh) * 2008-11-05 2009-03-18 北京星网锐捷网络技术有限公司 一种组播报文转发方法及装置
CN101789905A (zh) * 2010-02-05 2010-07-28 杭州华三通信技术有限公司 防止未知组播攻击cpu的方法和设备
CN107645452A (zh) * 2016-07-20 2018-01-30 中兴通讯股份有限公司 一种未知组播报文的处理方法和装置
CN109873768A (zh) * 2017-12-01 2019-06-11 华为技术有限公司 更新转发表的方法、硬件加速器、ovs和服务器
CN111130816A (zh) * 2019-12-27 2020-05-08 北京东土军悦科技有限公司 一种报文转发处理设备、方法、装置和存储介质

Also Published As

Publication number Publication date
CN115514721A (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
US7672245B2 (en) Method, device, and system for detecting layer 2 loop
JP5222002B2 (ja) 車載用の中継接続ユニット
CN112468372B (zh) 电力线通信网络中设备状态检测方法和装置
CN103281257B (zh) 一种协议报文处理方法和设备
US8484375B2 (en) Systems and methods for removing stale mapping entries for network element
CN104135548A (zh) 基于fpga的静态nat实现方法及装置
US20090201807A1 (en) System and method for marking live test packets
CN106900174A (zh) 无线局域网网状网络的数据传输方法、装置及系统
CN103188153A (zh) 一种广播网链路上bfd报文发送方法和设备
CN107241216A (zh) 维持关键数据稳定传输的方法及装置
CN115514721B (zh) 未知组播数据的处理方法及装置、计算设备、存储介质
CN107612753B (zh) 无线信息的处理方法、装置和无线接入设备
WO2016101600A1 (zh) 线卡的确定、确定处理方法及装置、线卡的确定系统
CN111835641B (zh) 故障检测方法、服务器以及采集设备
CN106330712B (zh) 一种mac地址学习的控制方法和装置
CN111542030A (zh) 蓝牙Mesh的最优TTL值计算方法及其系统、计算机可读存储介质
CN114125078A (zh) 一种mac地址学习的方法及装置
CN112637053B (zh) 路由的备份转发路径的确定方法及装置
US10159032B2 (en) Wireless communication device, method, and system
WO2012131960A1 (ja) 通信装置、経路探索方法および経路探索プログラム
CN108696386B (zh) 网状通信网络的系统、配置服务器、电子设备及其配置方法
CN103368850A (zh) 一种目的未知单播报文的处理方法和设备
WO2015136812A1 (ja) ミドルサーバ、ネットワークシステム及びその通信品質劣化箇所と原因の絞り込み方法
CN107483334B (zh) 一种报文转发的方法及装置
CN115052264B (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
GR01 Patent grant
GR01 Patent grant