CN113472647B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN113472647B CN113472647B CN202110653951.9A CN202110653951A CN113472647B CN 113472647 B CN113472647 B CN 113472647B CN 202110653951 A CN202110653951 A CN 202110653951A CN 113472647 B CN113472647 B CN 113472647B
- Authority
- CN
- China
- Prior art keywords
- link
- mac address
- source mac
- detection message
- forwarding
- 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
Links
Images
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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供了一种报文转发方法及装置,应用于第一网络设备,所述第一网络设备通过至少一条链路与第二网络设备交互;所述方法,包括:在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址;将所述处理后的源MAC地址封装到第一检测报文中;根据所述处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发所述第一检测报文的链路;通过确定出的链路转发所述第一检测报文。由此,提高了链路检测结果的准确度。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
连通错误检测(Connectivity Fault Detection,CFD)遵循IEEE 802.1ag的连通错误管理(Connectivity Fault Management,CFM)协议和ITU-T的Y.1731协议,是一种二层网络中基于虚拟局域网(Virtual Local Area Network,VLAN)的端到端操作、管理和维护(Operations,Administration and Maintenance,OAM)机制。CFD主要用于在二层网络中检测链路连通性,以及在故障发生时确认故障并定位,从而解决以太网接入“最后一公里”中常见的链路问题,进而能够有效提高以太网的管理和维护能力,保障网络的稳定运行。为了解决上述问题,会在两个点到点的链接的设备上启用CFD的连续性检测(ContinuityCheck,CC)检测功能,以监控这两个设备之间的链路状态。基于此CFD功能为广泛应用到端到端的组网中。
在多活多归属组网环境中,参考图1所示,CDF中的CC检测目前支持的是点到点的检测,即图1中的组网包括2个用户网络边缘(Customer Edge,CE)设备,分别为CE1和CE2,组网还包括3个服务提供商网络边缘(Provider Edge,PE)设备,分别为PE1、PE2和PE3。CE1到CE2中的AC到AC之间的链路检测,检测报文是模拟从CE1的AC入逻辑方案,由于检测报文的目的MAC是CFD固定的一组MAC地址,根据检测等级来确定目的MAC时,确定出的目的MAC就是固定的,从而导致该检测报文经过等价多路径(ECMP)后只能固定的转发到一条链路上,如图1中的PW1链路,即,该检测报文就不能在图1中的PW2链路上进行转发,但是PW2在多活环境下是可以正常提供转发服务的。这样就会导致当报文全部从PW1链路到达CE2时,当PW1链路故障时,链路会通过ECMP重新计算转发路径,但重新计算转发路径的时间会超过故障检测时间,这样就会导致CE2会上报CE1到CE2方向的链路故障,但是其实仅是PW1链路故障,而PW2链路仍然是正常而且可以提供转发服务的,从而导致本次上报结果不够准确。
发明内容
有鉴于此,本申请提供一种报文转发方法及装置,用以提高链路检测的准确性。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种报文转发方法,应用于第一网络设备,第一网络设备通过至少一条链路与第二网络设备交互;该方法,包括:
在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址;
将处理后的源MAC地址封装到第一检测报文中;
根据处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发第一检测报文的链路;
通过确定出的链路转发第一检测报文。
根据本申请的第二方面,提供一种报文转发装置,设置于第一网络设备,所述第一网络设备通过至少一条链路与第二网络设备交互;所述装置,包括:
换算处理模块,用于在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址;
封装模块,用于将所述处理后的源MAC地址封装到第一检测报文中;
链路确定模块,用于根据所述处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发所述第一检测报文的链路;
报文转发模块,用于通过确定出的链路转发所述第一检测报文。
根据本申请的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本申请实施例第一方面所提供的方法。
根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例第一方面所提供的方法。
本申请实施例的有益效果:
由于本申请采用换算后的源MAC地址进行等价多路径ECMP计算得到转发第一检测报文的链路,而不再是现有技术中基于固定目的MAC地址进行转发链路的确定,从而保证了第一网络设备与第二网络设备之间的每个链路都能够转发检测报文,进而也就保证每个链路都能被检测到,这样也就不会出现链路故障误报的情况,进而报文第一网络设备与第二网络设备之间的检测准确度。
附图说明
图1是一种多活多归属组网的组网架构图;
图2是本申请实施例提供的一种报文转发方法的流程示意图;
图3是本申请实施例提供的一种多活多归属组网的架构图;
图4是本申请实施例提供的一种报文转发装置的结构示意图;
图5是本申请实施例提供的一种实施报文转发方法的电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
多活多归属组网下,多活模式下,组网支持将多归属站点的流量负载分担到冗余备份组中的多台PE上,以提高网络资源的利用率。流量负载分担,是通过对二层数据报文的目的MAC地址和源MAC地址通过ECMP来选择报文的转发路径,实现报文的负载分担。与单活组网相比,发往该目的MAC地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定的时间。而多活模式下,可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。具体如图1所示,CE1到CE2可以有两条路径进行负载分担,分别为PW1链路和PW2链路,PW1链路:CE1—PE1—PE3—CE2;PW2链路:CE1—PE2—PE3—CE2。当然,实际应用中CE1与CE2之间可能支持更多的路径进行转发。
然而,发明人发现,CFD的CC检测是针对AC口到AC口之间的链路检测,本意上,CE1与CE2之间的链路没有出现完全断开,CC的检测结果就应该是正常的,换句话说应对所有的链路都进行检测,避免故障误报。例如,CE1和CE2之间的链路的CC检测等级是1,即发包间隔3.3ms,则若11.55ms(3.3*3.5)时间内未收到对端发过来的检测报文(连续性检测消息CCM报文),就认为对端和本端之间链路故障。以CE1到CE2方向为例,如果检测报文全部通过PW1链路到达CE2,当PW1链路出现故障时,而通过ECMP重新计算转发路径的时间大约1s左右,因此在这1s内,CE2由于在3.3*3.5ms内没有收到CE1发过来的检测报文,CE2就会报CE1到CE2方向的链路故障,然而实际情况下PW2链路仍是正常转发的,也即CE1到CE2方向的PW2链路是正常的,但是CE2已经上报了链路故障的检测结果,从而导致上报的结果不够准确,即出现不精确的误报。
有鉴于此,本申请提供了一种报文转发方法,应用于第一网络设备,该网络设备通过至少一条链路与第二网络设备交互。在此基础上,第一网络设备在需要对链路进行检测时,会对源MAC地址进行换算处理,得到换算处理后的源MAC地址;然后将处理后的源MAC地址封装到第一检测报文中;根据处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发第一检测报文的链路;通过确定出的链路转发上述第一检测报文。由于本申请采用换算后的源MAC地址进行等价多路径ECMP计算得到转发第一检测报文的链路,而不再是现有技术中基于固定目的MAC地址进行转发链路的确定,从而保证了第一网络设备与第二网络设备之间的每个链路都能够转发检测报文,进而也就保证每个链路都能被检测到,这样也就不会出现链路故障误报的情况,进而报文第一网络设备与第二网络设备之间的检测准确度。
下面对本申请提供的报文转发方法进行详细地说明。
参见图2,图2是本申请提供的一种报文转发方法的流程图,应用于第一网络设备,该第一网络设备通过至少一条链路与第二网络设备交互。第一网络设备实施上述报文转发方法时,可包括如下所示步骤:
S201、在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址。
本步骤中,第一网络设备在对链路进行检测时,为了能够让各次的检测报文都能被负载分担到各个链路上,而不再是基于单一链路转发到第二网络设备,本实施例提出对自身的源MAC地址进行换算处理,得到换算后的源MAC地址。
S202、将处理后的源MAC地址封装到第一检测报文中。
本步骤中,为了保证检测报文的唯一性,会将换算处理后的源MAC地址封装到第一检测报文中,使得对端的第二网络设备能够识别出该第一检测报文来源于第一网络设备。具体地,第一网络设备与第二网络设备会进行协商配置,这样第二网络设备后续接收到第一检测报文时,通过预先的协商配置(如设置特定字段)就可以判断出该第一检测报文是否来自于与其协商的第一网络设备;同理,后续第二网络设备向第一网络设备发送检测报文时,第一网络设备也可以基于预先的协商配置来判断接收到的检测报文是否来自第二网络设备等等。
可选地,上述第一检测报文可以但不限于为CC检测的CCM报文。当第一网络设备与第二网络设备分别为图3所示多活多归属组网中的CE1和CE2时,针对CC检测,CE1和CE2是成对配置CC检测功能的,以此来判断检测报文是否为配置的两端中任一端发送的检测报文。一般情况下,会通过CCM报文中的CFD PDU内的字段来判断,该CFD PDU内的字段可以包括检测等级、MEP的NAME字段或MA的NAME字段等。而这些字段是用户配置的,会被封装到CFD PDU中。在生成第一检测报文时,会基于用户配置的字段按照CFD协议的标准格式来生成第一检测报文。
需要说明的是,由于检测报文中有特定字段来表示第一检测报文的发送端,这样即使修改第一检测报文的源MAC地址也不会影响第一检测报文的识别,进而也不会影响检测机制。
S203、根据处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发所述第一检测报文的链路。
本步骤中,利用处理后的源MAC地址进行哈希计算,然后基于哈希结果得到转发第一检测报文的链路。由于本实施例对源MAC地址进行换算,也就是说处理后的源MAC地址是动态可变的,从而也就保证了哈希计算后得到的链路也是可变的,从而保证了各次发送第一检测报文的链路是变化的,而且各次的第一检测报文能够被均衡分配到第一网络设备与第二网络设备之间的各个链路,从而也就能保证每个链路都能被检测到,从而解决了现有技术中基于固定的目的MAC地址确定出的链路由于是唯一的而导致检测报文只能有一条固定的链路转发,进而导致的链路故障检测结果不够准确的问题。
S204、通过确定出的链路转发第一检测报文。
本步骤中,在确定出用于转发该第一检测报文的链路后,第一网络设备通过确定出的链路对应的出接口转发该第一检测报文,以使第二网络设备侧基于是否接收到第一检测报文来判断其与第一网络设备之间的链路是否发生故障。
需要说明的是,第二网络设备所采用的链路检测方法可以参考目前的链路检测方法,本申请此处不再一一详细介绍。
可选地,本实施例提供的报文转发方法,还包括:基于第一网络设备与第二网络设备之间的链路,接收第二网络设备发送的第二检测报文,所述第二检测报文中的源MAC地址为对实际源MAC地址进行换算处理后得到的,且转发所述第二检测报文的链路为所述第二网络设备基于第二检测报文中的源MAC地址进行等价多路径ECMP计算确定出的;根据所述第二检测报文的接收时间对转发所述第二检测报文的链路进行链路检测。
具体地,第二网络设备也可以发起检测报文的转发,然后由第一网络设备进行其与第二网络设备之间的链路的链路检测。基于此,第二网络设备在发送第二检测报文之前,也会按照图2所示的流程进行报文转发,也即将图2中的第一检测报文替换为第二检测报文,然后将图2中的源MAC地址替换为第二网络设备的源MAC地址。即,第二网络设备会对自己的源MAC地址进行换算处理,得到处理后的源MAC地址,然后将处理后的源MAC地址封装到第二检测报文中。然后第二网络设备利用处理后的源MAC地址进行ECMP计算,以确定出转发该第二检测报文的链路,然后利用确定出的链路转发该第二检测报文。在此基础上,第一网络设备就可以基于是否接收到第二检测报文,以及接收到第二检测报文后,基于该第二检测报文的接收时间及第一网络设备与第二网络设备约定的发包间隔等来判断转发第二检测报文的链路是否发生故障。实施本实施例提供的报文转发方法,在链路检测过程中,由于第一网络设备与第二网络设备之间的链路都能够转发检测报文,使得第一网络设备可以准确地检测出发生故障的链路,提供了检测结果的准确性。例如,针对每个链路,若第一网络设备在检测周期内(发包间隔*发包次数)未接收到第二网络设备基于该链路发送的检测报文,则确认该链路发生故障。由此准确地提高了链路检测的准确度。此外,在接收到检测报文后,第一网络设备可以根据检测报文中的PDU字段来判断该检测报文是否从第二网络设备发送。
需要说明的是,上述第一网络设备可以为图3中的CE1,也可以为图3中的CE2,同理,上述第二网络设备也可以为图3中的CE1或CE2。但当CE1为第一网络设备时,则CE2为第二网络设备;当CE2为第一网络设备时,则CE1为第二网络设备。也就是说,CE1和CE2都可以执行对两设备之间的链路的链路检测。
基于上述任一实施例,本实施例可以按照下述过程执行步骤S201:对源MAC地址中设定位的数值进行换算处理,得到转换后的数值;利用转换后的数值替换源MAC地址中设定位的取值,得到所述处理后的源MAC地址。
具体地,通过对上述设定位的数值进行换算处理,使得每次的源MAC地址是动态变化的,这样就能保证基于源MAC地址进行链路选择时,第一网络设备和第二网络设备之间的每个链路都能被选择出。从而保证每个链路都能被链路检测到,从而避免了现有技术中仅检测固定目的MAC地址确定出的固定链路的故障检测结果而产生误报的情况发生。
可选地,上述设定位可以但不限于为源MAC地址的低16位。即,将第一检测报文的源MAC地址中低16位的取值进行换算处理,然后将换算后的数值替换源MAC地址中设定位的原有数值。
可选地,本实施例提供的报文转发方法,还可以包括下述过程:统计第一检测报文的发送次数。
具体地,上述发送次数可以理解为检测周期内统计的第一检测报文的发送次数。在检测周期内进行检测报文转发,进而使得对端对链路故障进行检测,这样得到的检测结果才是准确地。因此,在检测周期内利用发送次数修改源MAC地址的设定位,进而基于修改的设定位来确定转发检测报文的链路,这样才能提高链路故障检测结果的准确度。
在此基础之上,一种可能的例子中,还可以按照下述过程执行对源MAC地址中设定位的数值进行换算处理,得到转换后的数值:基于ECMP所支持的最大链路数,对上述发送次数进行求余处理,得到第一余数;确定所述设定位的数值与所述第一余数之间的第一和值;基于第一设定值,对所述第一和值进行求余处理,得到转换后的数值,以使转换后的数值不高于ECMP所支持的最大链路数,所述第一设定值与所述设定位的位宽相关。上述ECMP所支持的最大链路数为第一网络设备所在组网内与第二网络设备之间所支持的最大链路数。
具体地,以上述设定位的数值为X,发送次数为counter,第一设定值为K1,ECMP所支持的最大链路数为N为例进行说明,则转换后的数值M的表达式记为:M=(X+counter%N)%K1,其中counter%N的余数即为上述第一余数,X+counter%N的和值即为上述第一和值。
可选地,上述第一设定值与上述设定位的位宽呈指数关系,例如,上述设定位的位宽为n,则上述第一设定值K1可以表示为:K1=2n。
举例来说,当ECMP所支持的最大链路数N=256,上述设定位的位宽n为16,上述第一设定值K1为65536,此时转换后的数值M=(X+counter%256)%65536。这样一来,就可以保证转换后的数值能够落在{0,256}这个范围内,也即转换后的数值小于ECMP所支持的最大链路数,这样就可以基于转换后的数值快速的确定出用于转发第一检测报文的链路,进而也就加快了链路检测的进程。
在此基础之上,另一种可能的例子中,可以按照下述过程执行对源MAC地址中设定位的数值进行换算处理,得到转换后的数值:确定上述设定位的数值与发送次数之间的第二和值;基于第二设定值,对所述第二和值进行求余处理,得到转换后的数值,上述第二设定值与上述设定位的位宽相关。
具体地,还以上述设定位的数值为X,发送次数为counter,第二设定值为K2,转换后的数值M的表达式记为:M=(X+counter)%K2,其中X+counter之间的和值为上述第二和值。
可选地,上述第二设定值与上述设定位的位宽呈指数关系,例如,上述设定位的位宽为n,则上述第二设定值K2可以表示为:K2=2n。
举例来说,上述设定位的位宽n为16,上述第一设定值K2为65536,此时转换后的数值M=(X+counter)%65536。这样一来,就可以保证转换后的数值能够落在一个范围内,然后预先基于这个范围配置范围内数值对应的链路,以包括所有链路为前提,这样就可以快速的基于源MAC地址中转换后的数值确定出用于转发第一检测报文的链路,而且也能够保证第一网络设备与第二网络设备之间的每个链路都能被选择用来转发第一检测报文,从而保证第二网络设备能够检测到每个链路,进而也就提升了第一网络设备与第二网络设备之间链路检测结果的准确度。
为了更好地理解本实施例,结合图3所示的多活多归属组网为例进行说明,以图3中的CE1为第一网络设备,CE2为第二网络设备为例进行说明,第一检测报文为CCM报文为例进行说明。CE1在需要对链路进行检测时,会对源MAC地址进行换算处理,然后得到处理后的源MAC地址。例如将源MAC地址的低16位按照上述公式(X+counter%N)%K1进行换算,从而将转换后的数值替换源MAC地址的低16位的数值,得到处理后的源MAC地址。然后将修改后的MAC地址封装到CCM报文中。在发送CCM报文时,基于修改后的源MAC地址的低16位来进行ECMP计算(哈希计算),从而可以得到本次转发该CCM报文的链路,例如本次确定出的链路为图3中的PW1,则CE1将CCM报文通过PE1、PE2构成的PW1链路转发到CE2。后续CE1再次发送CCM报文时,由于依然会对源MAC地址进行换算处理,然后再次进行ECMP计算,此时得到的链路很可能不是PW1而是PW2,然后CE1就可以将CCM报文通过PE2、PE3构成的PW2链路转发该CCM报文,从而保证CE1和CE2之间的每个链路都能被用于转发CCM报文。也就是说,CE1到CE2发送CCM报文时,会均有从PW1和PW2分别到达PE3再到CE2的CCM报文。当PW1链路出现故障断开时,参考图3所示,在ECMP重新计算出路径之前这段时间内,图3中只有两条链路,也就是说,有50%的CCM报文从PW1转发,而此时由于PW1链路故障,50%的CCM报文会在PW1链路转发过程中全部丢弃,无法到达CE2;但是剩余50%的CCM报文会从PW2链路转发过去,最后到达CE2,即PW2链路是正常的,此时这部分报文能转发到CE2,相当于能保障有50%的CCM报文能转发到CE2,这样可以保障CE2在CC的检测时间内是能收到CE1发出来的CCM报文的,也就保障了CE2不会出现链路故障误报的情况,进而保障CE1和CE2之间CC检测的正常。即,对于CE2侧来说,CE2就可以在检测周期内基于是否接收到第一检测报文等来判断各个链路是否发生故障,以得到各个链路检测结果,从而提高了链路检测结果的准确度,避免误报的情况发生。
基于同一发明构思,本申请还提供了与上述报文转发方法对应的报文转发装置。该报文转发装置的实施具体可以参考上述对报文转发方法的描述,此处不再一一论述。
参见图4,图4是本申请一示例性实施例提供的一种报文转发装置,设置于第一网络设备,上述第一网络设备通过至少一条链路与第二网络设备交互;该装置,包括:
换算处理模块401,用于在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址;
封装模块402,用于将所述处理后的源MAC地址封装到第一检测报文中;
链路确定模块403,用于根据所述处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发所述第一检测报文的链路;
报文转发模块404,用于通过确定出的链路转发所述第一检测报文。
可选地,上述换算处理模块401,具体用于对源MAC地址中设定位的数值进行换算处理,得到转换后的数值;利用转换后的数值替换源MAC地址中设定位的取值,得到所述处理后的源MAC地址。
可选地,本实施例提供的报文转发装置,还包括:
统计模块(图中未示出),用于统计第一检测报文的发送次数;
在此基础上,一种可能的实施例中,上述换算处理模块401,具体用于基于ECMP所支持的最大链路数,对所述发送次数进行求余处理,得到第一余数;确定所述设定位的数值与所述第一余数之间的第一和值;基于第一设定值,对所述第一和值进行求余处理,得到转换后的数值,以使转换后的数值不高于ECMP所支持的最大链路数,所述第一设定值与所述设定位的位宽相关。
另一种可能的实施例中,上述换算处理模块401,具体用于确定所述设定位的数值与所述发送次数之间的第二和值;基于第二设定值,对所述第二和值进行求余处理,得到转换后的数值,所述第二设定值与所述设定位的位宽相关。
可选地,本实施例提供的报文转发装置,还包括:
接收模块(图中未示出),用于基于第一网络设备与第二网络设备之间的链路,接收第二网络设备发送的第二检测报文,所述第二检测报文中的源MAC地址为对实际源MAC地址进行换算处理后得到的,且转发所述第二检测报文的链路为所述第二网络设备基于第二检测报文中的源MAC地址进行等价多路径ECMP计算确定出的;
链路检测模块(图中未示出),用于根据所述第二检测报文的接收时间对转发所述第二检测报文的链路进行链路检测。
由于本申请采用换算后的源MAC地址进行等价多路径ECMP计算得到转发第一检测报文的链路,而不再是现有技术中基于固定目的MAC地址进行转发链路的确定,从而保证了第一网络设备与第二网络设备之间的每个链路都能够转发检测报文,进而也就保证每个链路都能被检测到,这样也就不会出现链路故障误报的情况,进而报文第一网络设备与第二网络设备之间的检测准确度。
基于同一发明构思,本申请实施例提供了一种电子设备,该电子设备可以为上述第一网络设备或第二网络设备。如图5所示,该电子设备包括处理器501和机器可读存储介质502,机器可读存储介质502存储有能够被处理器501执行的计算机程序,处理器501被计算机程序促使执行本申请任一实施例所提供的报文转发方法。此外,该电子设备还包括通信接口503和通信总线504,其中,处理器501,通信接口503,机器可读存储介质502通过通信总线504完成相互间的通信。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM)、DDR SRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,本申请实施例提供了一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例所提供的报文转发方法。
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种报文转发方法,其特征在于,应用于第一网络设备,所述第一网络设备通过至少一条链路与第二网络设备交互;所述方法,包括:
在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址,包括:对源MAC地址中设定位的数值进行换算处理,得到转换后的数值;利用转换后的数值替换源MAC地址中设定位的取值,得到所述处理后的源MAC地址;
将所述处理后的源MAC地址封装到第一检测报文中;
根据所述处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发所述第一检测报文的链路;
通过确定出的链路转发所述第一检测报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
统计第一检测报文的发送次数;
则,对源MAC地址中设定位的数值进行换算处理,得到转换后的数值,包括:
基于ECMP所支持的最大链路数,对所述发送次数进行求余处理,得到第一余数;
确定所述设定位的数值与所述第一余数之间的第一和值;
基于第一设定值,对所述第一和值进行求余处理,得到转换后的数值,以使转换后的数值不高于ECMP所支持的最大链路数,所述第一设定值与所述设定位的位宽相关。
3.根据权利要求1所述的方法,其特征在于,还包括:
统计检测报文的发送次数;
则,对源MAC地址中设定位的数值进行换算处理,得到转换后的数值,包括:
确定所述设定位的数值与所述发送次数之间的第二和值;
基于第二设定值,对所述第二和值进行求余处理,得到转换后的数值,所述第二设定值与所述设定位的位宽相关。
4.根据权利要求1所述的方法,其特征在于,还包括:
基于第一网络设备与第二网络设备之间的链路,接收第二网络设备发送的第二检测报文,所述第二检测报文中的源MAC地址为对实际源MAC地址进行换算处理后得到的,且转发所述第二检测报文的链路为所述第二网络设备基于第二检测报文中的源MAC地址进行等价多路径ECMP计算确定出的;
根据所述第二检测报文的接收时间对转发所述第二检测报文的链路进行链路检测。
5.一种报文转发装置,其特征在于,设置于第一网络设备,所述第一网络设备通过至少一条链路与第二网络设备交互;所述装置,包括:
换算处理模块,用于在需要对链路进行检测时,对源媒体存储控制MAC地址进行换算处理,得到处理后的源MAC地址;所述换算处理模块,具体用于对源MAC地址中设定位的数值进行换算处理,得到转换后的数值;利用转换后的数值替换源MAC地址中设定位的取值,得到所述处理后的源MAC地址;
封装模块,用于将所述处理后的源MAC地址封装到第一检测报文中;
链路确定模块,用于根据所述处理后的源MAC地址进行等价多路径ECMP计算,确定用于转发所述第一检测报文的链路;
报文转发模块,用于通过确定出的链路转发所述第一检测报文。
6.根据权利要求5所述的装置,其特征在于,还包括:
统计模块,用于统计第一检测报文的发送次数;
所述换算处理模块,具体用于基于ECMP所支持的最大链路数,对所述发送次数进行求余处理,得到第一余数;确定所述设定位的数值与所述第一余数之间的第一和值;基于第一设定值,对所述第一和值进行求余处理,得到转换后的数值,以使转换后的数值不高于ECMP所支持的最大链路数,所述第一设定值与所述设定位的位宽相关。
7.根据权利要求5所述的装置,其特征在于,还包括:
统计模块,用于统计第一检测报文的发送次数;
所述换算处理模块,具体用于确定所述设定位的数值与所述发送次数之间的第二和值;基于第二设定值,对所述第二和值进行求余处理,得到转换后的数值,所述第二设定值与所述设定位的位宽相关。
8.根据权利要求5所述的装置,其特征在于,还包括:
接收模块,用于基于第一网络设备与第二网络设备之间的链路,接收第二网络设备发送的第二检测报文,所述第二检测报文中的源MAC地址为对实际源MAC地址进行换算处理后得到的,且转发所述第二检测报文的链路为所述第二网络设备基于第二检测报文中的源MAC地址进行等价多路径ECMP计算确定出的;
链路检测模块,用于根据所述第二检测报文的接收时间对转发所述第二检测报文的链路进行链路检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653951.9A CN113472647B (zh) | 2021-06-11 | 2021-06-11 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653951.9A CN113472647B (zh) | 2021-06-11 | 2021-06-11 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472647A CN113472647A (zh) | 2021-10-01 |
CN113472647B true CN113472647B (zh) | 2023-07-14 |
Family
ID=77869812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110653951.9A Active CN113472647B (zh) | 2021-06-11 | 2021-06-11 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472647B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333028A (zh) * | 2011-06-22 | 2012-01-25 | 杭州华三通信技术有限公司 | 一种分层式二层虚拟专用网发送报文的方法及通信设备 |
WO2016177149A1 (zh) * | 2015-08-21 | 2016-11-10 | 中兴通讯股份有限公司 | 隧道的优先级设置方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8416775B2 (en) * | 2010-05-19 | 2013-04-09 | Juniper Networks, Inc. | Systems and methods for equal-cost multi-path virtual private LAN service |
CN102904825B (zh) * | 2012-09-27 | 2016-08-03 | 杭州华三通信技术有限公司 | 一种基于Hash的报文传输方法和设备 |
CN104348717B (zh) * | 2013-08-02 | 2018-05-11 | 新华三技术有限公司 | 报文转发方法和装置 |
CN105791145B (zh) * | 2014-12-18 | 2019-10-25 | 南京中兴新软件有限责任公司 | 基于等价多路径ecmp的报文传输方法及装置 |
US9548892B2 (en) * | 2015-01-26 | 2017-01-17 | Arista Networks, Inc. | Method and system for preventing polarization in a network |
CN107171882B (zh) * | 2016-03-08 | 2021-02-09 | 华为技术有限公司 | 检测等价多路径路由功能的方法、设备和系统 |
CN109861924B (zh) * | 2017-11-30 | 2022-06-21 | 中兴通讯股份有限公司 | 报文的发送、处理方法及装置,pe节点,节点 |
CN109995654B (zh) * | 2017-12-29 | 2022-05-20 | 中兴通讯股份有限公司 | 一种基于隧道传输数据的方法及装置 |
CN112751727A (zh) * | 2020-12-23 | 2021-05-04 | 新华三技术有限公司 | 一种检测链路的方法和网络设备 |
CN112737880B (zh) * | 2020-12-25 | 2022-10-21 | 北京华三通信技术有限公司 | 一种双向转发检测bfd报文的转发方法及网络设备 |
-
2021
- 2021-06-11 CN CN202110653951.9A patent/CN113472647B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333028A (zh) * | 2011-06-22 | 2012-01-25 | 杭州华三通信技术有限公司 | 一种分层式二层虚拟专用网发送报文的方法及通信设备 |
WO2016177149A1 (zh) * | 2015-08-21 | 2016-11-10 | 中兴通讯股份有限公司 | 隧道的优先级设置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113472647A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108123824B (zh) | 一种网络故障检测方法及装置 | |
US10659359B2 (en) | Method and device for checking forwarding tables of network routers | |
JP5913635B2 (ja) | 冗長ネットワーク接続 | |
JP4072158B2 (ja) | 通信ネットワークにおけるメッセージパスのテスト方法並びにネットワーク要素 | |
CN107171882B (zh) | 检测等价多路径路由功能的方法、设备和系统 | |
CN109586959B (zh) | 一种故障检测的方法及装置 | |
WO2016029749A1 (zh) | 一种通信故障的检测方法、装置及系统 | |
CN108632099B (zh) | 一种链路聚合的故障检测方法及装置 | |
CN109474495B (zh) | 一种隧道检测方法及装置 | |
EP3029883B1 (en) | Network protection method and apparatus, next-ring node, and system | |
CN112737944B (zh) | 一种基于bfd的peer-link链路状态检测方法、装置及介质 | |
US11456943B2 (en) | Packet transmission method and apparatus | |
US9553788B1 (en) | Monitoring an interconnection network | |
CN113472647B (zh) | 一种报文转发方法及装置 | |
RU2562388C2 (ru) | Гибридная ячеистая коммуникационная сеть | |
JP5328502B2 (ja) | L2冗長通信装置 | |
CN113132140B (zh) | 一种网络故障检测方法、装置、设备及存储介质 | |
CN114513453A (zh) | 故障处理方法和装置 | |
CN111726287B (zh) | 一种环网的保护方法和装置 | |
US9900207B2 (en) | Network control protocol | |
CN112953789B (zh) | 一种链路检测方法及装置 | |
CN114124753B (zh) | 一种报文发送方法及设备 | |
WO2023050313A1 (zh) | 一种报文处理方法、装置、网络设备及介质 | |
WO2021012760A1 (zh) | 一种负载分担方法和装置 | |
CN110336750B (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 |