报文处理方法及装置与流程

专利2022-05-09  54



1.本申请涉及通信技术领域,尤其涉及一种报文处理方法及装置。


背景技术:

2.在二层网络中,任意两台网络设备之间的通信路径包括多台交换设备,每台交换设备接口的最大传输单元(英文:maximum transmission unit,简称:mtu)值均可单独进行设置。在两台网络设备进行通信交互时,源端网络设备发出的二层报文的总长度需小于等于该通信路径中交换设备全部接口的最小mtu值,否则,该二层报文被丢弃。
3.如图1所示,图1为二层网络中网络设备之间相互通信示意图。网络设备a与网络设备b之间的通信路径包括三台交换设备。每台交换设备接口的mtu值均单独进行设置。网络设备a发出的二层报文需经过多个接口(各设备中圆形所示)转发后到达网络设备b,且二层报文的负载长度需小于等于该通信路径中交换设备全部接口的最小mtu值。
4.前述最小mtu值也可称之为二层报文通过通信路径的最大mtu值,目前,为了确定通信路径的最大mtu值,源端网络设备向目的端网络设备发送一个指定负载长度的二层报文,若目的端网络设备接收到该二层报文并将该二层报文的源目的mac地址转换后发送至源端网络设备,则源端网络设备确定该二层报文的负载长度为能够实现与目的端网络设备交互通信的报文长度。基于前述方式进一步确定最大mtu值,通常采用二分法确定,即源端网络设备在已知的mtu值配置范围内[maxvalue,minvalue]选择一mtu值,按照选择的mtu值生成对应长度的二层报文,并向目的端网络设备发送,进而探测通信路径的最大mtu值。具体过程如下:
[0005]
源端网络设备生成指定负载长度为maxvalue的二层报文,第一次向目的端网络设备发送。源端网络设备等待是否接收到目的端网络设备的回复。
[0006]
若1s内接收到目的端网络设备的回复,则源端网络设备确定maxvalue负载长度的二层报文为能够实现与目的端网络设备交互通信的报文长度,并结束探测,此时,最大mtu值为maxvalue。
[0007]
若未在1s内接收到目的端网络设备的回复,则重复发送前述二层报文。当在第三次发送前述二层报文后,仍未在1s内接收到目的端网络设备的回复,则源端网络设备将当前选择的mtu值(即,当前未能通过的mtu值)与上一次能通过的mtu值之和除2得到的值作为下一次探测的mtu值,并重复执行生成指定负载长度的二层报文向目的端网络设备发送的过程。若当前选择的mtu值(即,当前未能通过的mtu值)与上一次能通过的mtu值的差值等于1,则源端网络设备将上一次能通过的mtu值作为最大mtu值,并结束探测。其中,若未存在上一次能通过的mtu值,则将minvalue作为上一次能通过的mtu值。
[0008]
若在1s内接收到目的端网络设备的回复,但当前选择的mtu值小于maxvalue,则源端网络设备将当前选择的mtu值与上一次未能通过的mtu值之和除2得到的值作为下一次探测的mtu值,并重复执行生成指定长度的二层报文,向目的端网络设备发送的过程。若上一次未能通过的mtu值与当前选择的mtu值(即,当前能通过的mtu值)的差值等于1,则源端网
络设备将当前选择的mtu值作为最大mtu值,并结束探测。
[0009]
在前述探测最大mtu值的过程中,源端网络设备每发送一个二层报文,需等待1s,若未接收到目的端网络设备的回复,还需发送两次,并累计等待3s,探测时间耗时。


技术实现要素:

[0010]
有鉴于此,本申请提供了一种报文处理方法及装置,用以解决现有探测路径的mtu值过程中,探测时间耗时的问题。
[0011]
第一方面,本申请提供了一种报文处理方法,所述方法应用于源端网络设备,所述源端网络设备与目的端网络设备之间建立通信路径,所述方法包括:
[0012]
向所述目的端网络设备发送第一数量个探测报文,所述第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,所述第二单位长度小于所述第一单位长度;
[0013]
在预设的时间段内,当接收到所述目的端网络设备根据所述第一数量个探测报文反馈的第二数量个探测响应报文时,向所述目的端网络设备发送第三数量个探测报文,所述第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据所述第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定;
[0014]
在预设的时间段内,当接收到所述目的端网络设备根据所述第三数量个探测报文反馈的第四数量个探测响应报文,且所述第二单位长度为最小单位长度时,将所述第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0015]
第二方面,本申请提供了一种报文处理装置,所述装置应用于源端网络设备,所述源端网络设备与目的端网络设备之间建立通信路径,所述装置包括:
[0016]
发送单元,用于向所述目的端网络设备发送第一数量个探测报文,所述第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度,所述第二单位长度小于所述第一单位长度;
[0017]
所述发送单元还用于,在预设的时间段内,当接收单元接收到所述目的端网络设备根据所述第一数量个探测报文反馈的第二数量个探测响应报文时,向所述目的端网络设备发送第三数量个探测报文,所述第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据所述第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定;
[0018]
处理单元,用于在预设的时间段内,当接收到所述目的端网络设备根据所述第三数量个探测报文反馈的第四数量个探测响应报文,且所述第二单位长度为最小单位长度时,将所述第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0019]
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
[0020]
因此,通过应用本申请提供的报文处理方法及装置,源端网络设备向目的端网络设备发送第一数量个探测报文,该第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,第二单位长度小于
第一单位长度。在预设的时间段内,当接收到目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,源端网络设备向目的端网络设备发送第三数量个探测报文,该第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定。在预设的时间段内,当接收到目的端网络设备根据第三数量个探测报文反馈的第四数量个探测响应报文,且第二单位长度为最小单位长度时,将第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0021]
如此,解决现有探测路径的mtu值过程中,探测时间耗时的问题,实现了快速确定通信路径的最大mtu值。
附图说明
[0022]
图1为二层网络中网络设备之间相互通信示意图。
[0023]
图2为本申请实施例提供的报文处理方法的流程图;
[0024]
图3为本申请实施例提供的报文处理装置结构图;
[0025]
图4为本申请实施例提供的网络设备硬件结构体。
具体实施方式
[0026]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0027]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
[0028]
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0029]
下面对本申请实施例提供的报文处理方法进行详细地说明。参见图2,图2为本申请实施例提供的报文处理方法的流程图。该方法应用于源端网络设备,本申请实施例提供的报文处理方法可包括如下所示步骤。
[0030]
步骤210、向所述目的端网络设备发送第一数量个探测报文,所述第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,所述第二单位长度小于所述第一单位长度。
[0031]
具体地,源端网络设备与目的端网络设备之间建立通信路径。源端网络设备需确定该通信路径的最大mtu值,进而与目的端网络设备交互通信。
[0032]
源端网络设备接收用户输入的配置指令,该配置指令包括通信路径的mtu值区间。
例如,mtu值区间为[512,9600]。根据mtu值区间,源端网络设备确定待发送的探测报文的第一数量。
[0033]
源端网络设备以mtu值区间的第一端点为起点,以mtu值区间的第二端点为终点,从mtu值区间内,获取多个具有第一单位长度的mtu值。源端网络设备将多个具有第一单位长度的mtu值的个数以及第一端点、第二端点表征的mtu值的个数之和确定为第一数量。
[0034]
其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同,第一端点表征的mtu值属于第二单位长度,第二端点表征的mtu值属于第一单位长度。可以理解的是,第一单位长度与第二单位长度可以相同也可不同。
[0035]
在一个示例中,mtu值区间[512,9600]包括第一端点512以及第二端点9600。源端网络设备以第一端点512为起点,以第二端点9600为终点,从[512,9600]内,获取多个具有第一单位长度的mtu值。在本申请实施例中,第一单位长度即以千为单位。源端网络设备获取的mtu值具体包括1000、2000、3000、4000、5000、6000、7000、8000、9000;同时,源端网络设备还获取端点表征的mtu值,即512以及9600。其中,mtu值512属于第二单位长度,即以百为单位。
[0036]
在本申请实施例中,源端网络设备获取了9个具有第一单位长度的mtu值以及第一端点表征的mtu值、第二端点表征的mtu值。因此,源端网络设备将获取的mtu值对应的个数作为第一数量,即源端网络设备生成11个探测报文。每个探测报文的报文长度均不相同,且每个探测报文的报文长度分别等于获取的11个mtu值。
[0037]
需要说明的是,本申请实施例中所指“报文长度”均表示二层报文的“负载长度”,下面均以“报文长度”进行描述。
[0038]
可以理解的是,源端网络设备生成的第一探测报文的报文长度为512;生成的第二探测报文的报文长度为1000;生成的第三探测报文的报文长度为2000,以此类推,在此不在复述。
[0039]
源端网络设备生成第一数量个探测报文后,通过通信路径,向目的端网络设备发送第一数量个探测报文。
[0040]
步骤220、在预设的时间段内,当接收到所述目的端网络设备根据所述第一数量个探测报文反馈的第二数量个探测响应报文时,向所述目的端网络设备发送第三数量个探测报文,所述第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据所述第二单位长度,从未接收到探测响应报文的第一数量个探测报文的报文长度中确定。
[0041]
具体地,根据步骤210的描述,源端网络设备第一次发送第一数量个探测报文后,等待是否接收到目的端网络设备反馈的探测响应报文。
[0042]
在一种情况下,若在1s内,源端网络设备接收到目的端网络设备反馈的第二数量个探测响应报文,则向目的端网络设备发送第三数量个探测报文,该第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定。
[0043]
在另一种情况下,若在1s内,源端网络设备未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第一数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0044]
若在1s内,还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报
文均未接收到),则源端网络设备再向目的端网络设备发送第一数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0045]
可以理解的是,源端网络设备若仅接收到部分探测报文的探测响应报文时,对未接收到探测响应报文的探测报文,源端网络设备重复发送探测报文并等待1s。若在1s内未接收到探测响应报文,源端网络设备再重复发送探测报文并等待1s。也即是,对未接收到探测响应报文的探测报文,源端网络设备重复发送3次探测报文,并在每次发送结束后等待1s判断是否接收到探测响应报文,若在1s内接收到探测响应报文,则不再发送。
[0046]
在一个示例中,源端网络设备向目的端网络设备发送11个探测报文,其中,在预设的时间段内,目的端网络设备向源端网络设备发送5个探测响应报文,根据前述例子,即mtu值为4000以下的探测报文均被目的端网络设备接收,同时目的端网络设备向源端网络设备反馈对应的探测响应报文。而mtu值为5000以上的探测报文均未接收到对应的探测响应报文。
[0047]
此时,源端网络设备确定mtu值为5000以上的探测报文无法通过通信路径到达目的端网络设备,通信路径中的最大mtu值小于5000。
[0048]
源端网络设备获取5个探测响应报文匹配的5个探测报文中探测报文的报文长度最大值所对应的mtu值,即4000,该mtu值可称之为第一临界mtu值。源端网络设备从11个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的mtu值,即5000,该mtu值可称之为第二临界mtu值。根据第一临界mtu值与第二临界mtu值形成的临界mtu值区间,即[4000,5000],确定待发送的探测报文的第三数量。
[0049]
源端网络设备以第一临界mtu值4000为起点,以第二临界mtu值5000为终点,从临界mtu值区间[4000,5000]内,根据第二单位长度,即以百为单位,获取多个具有第一单位长度的mtu值。例如,源端网络设备获取的多个mtu值为4100、4200、4300、4400、4500、4600、4700、4800以及4900。
[0050]
源端网络设备将获取的mtu值对应的个数作为第三数量,即源端网络设备生成9个探测报文。每个探测报文的报文长度均不相同,且每个探测报文的报文长度分别等于获取的9个mtu值。
[0051]
可以理解的是,源端网络设备生成的第一探测报文的报文长度为4100;生成的第二探测报文的报文长度为4200;生成的第三探测报文的报文长度为4300,以此类推,在此不在复述。
[0052]
源端网络设备生成第三数量个探测报文后,通过通信路径,向目的端网络设备发送第三数量个探测报文。源端网络设备等待是否接收到目的端网络设备反馈的探测响应报文。
[0053]
在一种情况下,若在1s内,源端网络设备接收到目的端网络设备反馈的第四数量个探测响应报文,则向目的端网络设备发送第五数量个探测报文,该第五数量个探测报文中的每个探测报文的报文长度均不相同,且根据第三单位长度,从未接收到探测响应报文的探测报文的报文长度中确定。
[0054]
在另一种情况下,若在1s内,源端网络设备还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第三数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0055]
若在1s内,还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第三数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0056]
可以理解的是,源端网络设备若仅接收到部分探测报文的探测响应报文时,对未接收到探测响应报文的探测报文,源端网络设备重复发送探测报文并等待1s。若在1s内未接收到探测响应报文,源端网络设备再重复发送探测报文并等待1s。也即是,对未接收到探测响应报文的探测报文,源端网络设备重复发送3次探测报文,并在每次发送结束后等待1s判断是否接收到探测响应报文,若在1s内接收到探测响应报文,则不再发送。
[0057]
在一个示例中,源端网络设备向目的端网络设备发送9个探测报文,其中,在预设的时间段内,目的端网络设备未向源端网络设备发送探测响应报文(即,源端网络设备向目的端网络设备发送3次9个探测报文后,均未接收到探测响应报文),根据前述例子,即mtu值为4000以下的探测报文均被目的端网络设备接收,同时目的端网络设备向源端网络设备反馈对应的探测响应报文。而mtu值为4100以上的探测报文均未接收到对应的探测响应报文。
[0058]
此时,源端网络设备确定mtu值为4100以上的探测报文无法通过通信路径到达目的端网络设备,通信路径中的最大mtu值小于4100。
[0059]
根据前述例子,源端网络设备确定上一次接收到探测响应报文的报文长度最大值所对应的mtu值,即4000,该mtu值可称之为第一临界mtu值。源端网络设备从9个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的mtu值,即4100,该mtu值可称之为第二临界mtu值。根据第一临界mtu值与第二临界mtu值形成的临界mtu值区间,即[4000,4100],确定待发送的探测报文的第六数量。
[0060]
源端网络设备以第一临界mtu值4000为起点,以第二临界mtu值4100为终点,从临界mtu值区间[4000,4100]内,根据第三单位长度,即以十为单位,获取多个具有第一单位长度的mtu值。例如,源端网络设备获取的多个mtu值为4010、4020、4030、4040、4050、4060、4070、4080以及4090。
[0061]
源端网络设备将获取的mtu值对应的个数作为第六数量,即源端网络设备生成9个探测报文。每个探测报文的报文长度均不相同,且每个探测报文的报文长度分别等于获取的9个mtu值。
[0062]
可以理解的是,源端网络设备生成的第一探测报文的报文长度为4010;生成的第二探测报文的报文长度为4020;生成的第三探测报文的报文长度为4030,以此类推,在此不在复述。
[0063]
源端网络设备生成第六数量个探测报文后,通过通信路径,向目的端网络设备发送第六数量个探测报文。源端网络设备等待是否接收到目的端网络设备反馈的探测响应报文。
[0064]
在一种情况下,若在1s内,源端网络设备接收到目的端网络设备反馈的第七数量个探测响应报文,则向目的端网络设备发送第八数量个探测报文,该第八数量个探测报文中的每个探测报文的报文长度均不相同,且根据第四单位长度,从未接收到探测响应报文的探测报文的报文长度中确定。
[0065]
在另一种情况下,若在1s内,源端网络设备未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送
第六数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0066]
若在1s内,还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第六数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0067]
可以理解的是,源端网络设备若仅接收到部分探测报文的探测响应报文时,对未接收到探测响应报文的探测报文,源端网络设备重复发送探测报文并等待1s。若在1s内未接收到探测响应报文,源端网络设备再重复发送探测报文并等待1s。也即是,对未接收到探测响应报文的探测报文,源端网络设备重复发送3次探测报文,并在每次发送结束后等待1s判断是否接收到探测响应报文,若在1s内接收到探测响应报文,则不再发送。
[0068]
在一个示例中,源端网络设备向目的端网络设备发送9个探测报文,其中,在预设的时间段内,目的端网络设备向源端网络设备发送1个探测响应报文,根据前述例子,即mtu值为4010以下的探测报文均被目的端网络设备接收,同时目的端网络设备向源端网络设备反馈对应的探测响应报文。而mtu值为4020以上的探测报文均未接收到对应的探测响应报文。
[0069]
此时,源端网络设备确定mtu值为4020以上的探测报文无法通过通信路径到达目的端网络设备,通信路径中的最大mtu值小于4020。
[0070]
源端网络设备获取1个探测响应报文匹配的1个探测报文的报文长度所对应的mtu值,即4010,该mtu值可称之为第一临界mtu值。源端网络设备从8个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的mtu值,即4020,该mtu值可称之为第二临界mtu值。根据第一临界mtu值与第二临界mtu值形成的临界mtu值区间,即[4010,4020],确定待发送的探测报文的第九数量。
[0071]
源端网络设备以第一临界mtu值4010为起点,以第二临界mtu值4020为终点,从临界mtu值区间[4010,4020]内,根据第四单位长度,即以个为单位,获取多个具有第一单位长度的mtu值。例如,源端网络设备获取的多个mtu值为4011、4012、4013、4014、4015、4016、4017、4018以及4019。
[0072]
源端网络设备将获取的mtu值对应的个数作为第九数量,即源端网络设备生成9个探测报文。每个探测报文的报文长度均不相同,且每个探测报文的报文长度分别等于获取的9个mtu值。
[0073]
可以理解的是,源端网络设备生成的第一探测报文的报文长度为4011;生成的第二探测报文的报文长度为4012;生成的第三探测报文的报文长度为4013,以此类推,在此不在复述。
[0074]
源端网络设备生成第九数量个探测报文后,通过通信路径,向目的端网络设备发送第九数量个探测报文。源端网络设备等待是否接收到目的端网络设备反馈的探测响应报文。
[0075]
步骤230、在预设的时间段内,当接收到所述目的端网络设备根据所述第三数量个探测报文反馈的第四数量个探测响应报文,且所述第二单位长度为最小单位长度时,将所述第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0076]
需要说明的是,步骤230中涉及的第三数量个探测报文、第四数量个探测响应报文
均为泛指的个数,在实际应用中,可根据实际发送情况,确定具体的数量。
[0077]
具体地,根据步骤220的描述,源端网络设备生成第九数量个探测报文后,通过通信路径,向目的端网络设备发送第九数量个探测报文。源端网络设备等待是否接收到目的端网络设备反馈的探测响应报文。
[0078]
在一种情况下,若在1s内,源端网络设备接收到目的端网络设备反馈的第十数量个探测响应报文,同时,在确定第九数量个探测报文的过程中,源端网络设备根据最小单位长度确定探测报文的个数,此时,源端网络设备将第十数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为通信路径的最大mtu值。
[0079]
在另一种情况下,若在1s内,源端网络设备未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第九数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0080]
若在1s内,还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第九数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0081]
可以理解的是,源端网络设备若仅接收到部分探测报文的探测响应报文时,对未接收到探测响应报文的探测报文,源端网络设备重复发送探测报文并等待1s。若在1s内未接收到探测响应报文,源端网络设备再重复发送探测报文并等待1s。也即是,对未接收到探测响应报文的探测报文,源端网络设备重复发送3次探测报文,并在每次发送结束后等待1s判断是否接收到探测响应报文,若在1s内接收到探测响应报文,则不再发送。
[0082]
在一个示例中,源端网络设备向目的端网络设备发送9个探测报文,其中,在预设的时间段内,目的端网络设备向源端网络设备发送6个探测响应报文,根据前述例子,即mtu值为4016以下的探测报文均被目的端网络设备接收,同时目的端网络设备向源端网络设备反馈对应的探测响应报文。而mtu值为4017以上的探测报文均未接收到对应的探测响应报文。
[0083]
源端网络设备可再向目的端网络设备发送mtu值未4017以上的探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。若在1s内,还未接收到目的端网络设备反馈的探测响应报文,则源端网络设备再向目的端网络设备发送mtu值未4017以上的探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0084]
此时,经过重复3次的发送后,源端网络设备确定mtu值为4017以上的探测报文无法通过通信路径到达目的端网络设备,通信路径中的最大mtu值小于4017。
[0085]
源端网络设备获取6个探测响应报文匹配的6个探测报文中探测报文的报文长度最大值所对应的mtu值,即4016。
[0086]
根据前述的例子,mtu值4016为探测报文的报文长度最大值,因此,mtu值4016为通信路径的最大mtu值。
[0087]
需要说明的是,前述给出的示例,以mtu值区间、临界mtu值区间内的某一值为最大mtu值进行说明。在实际应用中,若最大mtu值为区间边界值时,确定该最大mtu值的过程与前述类似,在此简单说明。
[0088]
假设最大mtu值为4100,根据前述的例子,源端网络设备确定mtu值为4200以上的探测报文无法通过通信路径到达目的端网络设备,通信路径中的最大mtu值小于4200。
[0089]
源端网络设备确定上一次接收到探测响应报文的报文长度最大值所对应的mtu值,即4100,该mtu值可称之为第一临界mtu值。源端网络设备从9个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的mtu值,即4200,该mtu值可称之为第二临界mtu值。根据第一临界mtu值与第二临界mtu值形成的临界mtu值区间,即[4100,4200],确定待发送的探测报文的第六数量。
[0090]
源端网络设备以第一临界mtu值4100为起点,以第二临界mtu值4200为终点,从临界mtu值区间[4100,4200]内,根据第三单位长度,即以十为单位,获取多个具有第一单位长度的mtu值。例如,源端网络设备获取的多个mtu值为4110、4120、4130、4140、4150、4160、4170、4180以及4190。
[0091]
源端网络设备将获取的mtu值对应的个数作为第六数量,即源端网络设备生成9个探测报文。每个探测报文的报文长度均不相同,且每个探测报文的报文长度分别等于获取的9个mtu值。
[0092]
可以理解的是,源端网络设备生成的第一探测报文的报文长度为4110;生成的第二探测报文的报文长度为4120;生成的第三探测报文的报文长度为4130,以此类推,在此不在复述。
[0093]
源端网络设备生成第六数量个探测报文后,通过通信路径,向目的端网络设备发送第六数量个探测报文。源端网络设备等待是否接收到目的端网络设备反馈的探测响应报文。
[0094]
若在1s内,源端网络设备未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第六数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0095]
若在1s内,还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第六数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0096]
在一个示例中,源端网络设备向目的端网络设备发送9个探测报文,其中,在预设的时间段内,目的端网络设备未向源端网络设备发送探测响应报文(即,源端网络设备向目的端网络设备发送3次9个探测报文后,均未接收到探测响应报文),根据前述例子,即mtu值为4100以下的探测报文均被目的端网络设备接收,同时目的端网络设备向源端网络设备反馈对应的探测响应报文。而mtu值为4110以上的探测报文均未接收到对应的探测响应报文。
[0097]
此时,源端网络设备确定mtu值为4110以上的探测报文无法通过通信路径到达目的端网络设备,通信路径中的最大mtu值小于4110。
[0098]
源端网络设备确定上一次接收到探测响应报文的报文长度最大值所对应的mtu值,即4100,该mtu值可称之为第一临界mtu值。源端网络设备从9个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的mtu值,即4110,该mtu值可称之为第二临界mtu值。根据第一临界mtu值与第二临界mtu值形成的临界mtu值区间,即[4100,4110],确定待发送的探测报文的第七数量。
[0099]
源端网络设备以第一临界mtu值4100为起点,以第二临界mtu值4110为终点,从临界mtu值区间[4100,4110]内,根据第四单位长度,即以个为单位,获取多个具有第一单位长度的mtu值。例如,源端网络设备获取的多个mtu值为4101、4102、4103、4104、4105、4106、
4107、4108以及4109。
[0100]
源端网络设备将获取的mtu值对应的个数作为第七数量,即源端网络设备生成9个探测报文。每个探测报文的报文长度均不相同,且每个探测报文的报文长度分别等于获取的9个mtu值。
[0101]
可以理解的是,源端网络设备生成的第一探测报文的报文长度为4101;生成的第二探测报文的报文长度为4102;生成的第三探测报文的报文长度为4103,以此类推,在此不在复述。
[0102]
源端网络设备生成第七数量个探测报文后,通过通信路径,向目的端网络设备发送第七数量个探测报文。源端网络设备等待是否接收到目的端网络设备反馈的探测响应报文。
[0103]
若在1s内,源端网络设备未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第七数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0104]
若在1s内,还未接收到目的端网络设备反馈的探测响应报文(即,一个探测响应报文均未接收到),则源端网络设备再向目的端网络设备发送第七数量个探测报文,并等待是否接收到目的端网络设备反馈的探测响应报文。
[0105]
在一个示例中,源端网络设备向目的端网络设备发送9个探测报文,其中,在预设的时间段内,目的端网络设备未向源端网络设备发送探测响应报文(即,源端网络设备向目的端网络设备发送3次9个探测报文后,均未接收到探测响应报文),根据前述例子,即mtu值为4100以下的探测报文均被目的端网络设备接收,同时目的端网络设备向源端网络设备反馈对应的探测响应报文。而mtu值为4101以上的探测报文均未接收到对应的探测响应报文。
[0106]
此时,经过重复3次的发送后,源端网络设备确定mtu值为4101以上的探测报文无法通过通信路径到达目的端网络设备,mtu值4100为探测报文的报文长度最大值,因此,mtu值4100为通信路径的最大mtu值。
[0107]
因此,通过应用本申请提供的报文处理方法及装置,源端网络设备向目的端网络设备发送第一数量个探测报文,该第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,第二单位长度小于第一单位长度。在预设的时间段内,当接收到目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,源端网络设备向目的端网络设备发送第三数量个探测报文,该第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定。在预设的时间段内,当接收到目的端网络设备根据第三数量个探测报文反馈的第四数量个探测响应报文,且第二单位长度为最小单位长度时,将第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0108]
如此,解决现有探测路径的mtu值过程中,探测时间耗时的问题,实现了快速确定通信路径的最大mtu值。
[0109]
基于同一发明构思,本申请实施例还提供了与报文处理方法对应的报文处理装置。参见图3,图3为本申请实施例提供的报文处理装置结构图。所述装置应用于源端网络设备,所述源端网络设备与目的端网络设备之间建立通信路径,所述装置包括:
[0110]
发送单元310,用于向所述目的端网络设备发送第一数量个探测报文,所述第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,所述第二单位长度小于所述第一单位长度;
[0111]
所述发送单元310还用于,在预设的时间段内,当接收单元(图中未示出)接收到所述目的端网络设备根据所述第一数量个探测报文反馈的第二数量个探测响应报文时,向所述目的端网络设备发送第三数量个探测报文,所述第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据所述第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定;
[0112]
处理单元320,用于在预设的时间段内,当接收到所述目的端网络设备根据所述第三数量个探测报文反馈的第四数量个探测响应报文,且所述第二单位长度为最小单位长度时,将所述第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0113]
可选地,所述接收单元(图中未示出)还用于,接收用户输入的配置指令,所述配置指令包括所述通信路径的mtu值区间;
[0114]
所述装置还包括:确定单元(图中未示出),用于根据所述mtu值区间,确定待发送的探测报文的第一数量。
[0115]
可选地,所述确定单元(图中未示出)具体用于,以所述mtu值区间的第一端点为起点,以所述mtu值区间的第二端点为终点,从所述mtu值区间内,获取多个具有第一单位长度的mtu值;
[0116]
将多个具有第一单位长度的mtu值的个数以及所述第一端点、第二端点表征的mtu值的个数之和,确定为所述第一数量;
[0117]
其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同,所述第一端点表征的mtu值属于所述第二单位长度,所述第二端点表征的mtu值属于所述第一单位长度。
[0118]
可选地,所述发送单元310具体用于,根据多个具有第一单位长度的mtu值以及所述第一端点、第二端点表征的mtu值,生成与每个mtu值对应的探测报文,所述探测报文的数量为第一数量个。
[0119]
可选地,所述装置还包括:获取单元(图中未示出),用于在预设的时间段内,当接收单元接收到所述目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,获取第二数量个探测响应报文匹配的第一数量个探测报文中探测报文的报文长度最大值所对应的第一临界mtu值;
[0120]
所述获取单元(图中未示出)还用于,从所述第一数量个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的第二临界mtu值;
[0121]
所述确定单元(图中未示出)还用于,根据所述第一临界mtu值与所述第二临界mtu值形成的临界mtu值区间,确定待发送的探测报文的第三数量。
[0122]
可选地,所述确定单元(图中未示出)具体用于,以所述第一临界mtu值为起点,以所述第二临界mtu值为终点,从所述临界mtu值区间内,根据所述第二单位长度,获取多个具有第一单位长度的mtu值;
[0123]
将多个具有第一单位长度的mtu值的个数确定为所述第三数量;
[0124]
其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同。
[0125]
可选地,所述发送单元310具体用于,根据第三数量个具有第一单位长度的mtu值,生成与每个mtu值对应的探测报文。
[0126]
因此,通过应用本申请提供的报文处理装置,该装置向目的端网络设备发送第一数量个探测报文,该第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,第二单位长度小于第一单位长度。在预设的时间段内,当接收到目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,该装置向目的端网络设备发送第三数量个探测报文,该第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定。在预设的时间段内,当接收到目的端网络设备根据第三数量个探测报文反馈的第四数量个探测响应报文,且第二单位长度为最小单位长度时,将第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。
[0127]
如此,解决现有探测路径的mtu值过程中,探测时间耗时的问题,实现了快速确定通信路径的最大mtu值。
[0128]
基于同一发明构思,本申请实施例还提供了一种网络设备,如图4所示,包括处理器410、收发器420和机器可读存储介质430,机器可读存储介质430存储有能够被处理器410执行的机器可执行指令,处理器410被机器可执行指令促使执行本申请实施例所提供的报文处理方法。前述图3所示的报文处理装置,可采用如图4所示的网络设备硬件结构实现。
[0129]
上述计算机可读存储介质430可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non

volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,计算机可读存储介质430还可以是至少一个位于远离前述处理器410的存储装置。
[0130]
上述处理器410可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field

programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0131]
本申请实施例中,处理器410通过读取机器可读存储介质430中存储的机器可执行指令,被机器可执行指令促使能够实现处理器410自身以及调用收发器420执行前述本申请实施例描述的报文处理方法。
[0132]
另外,本申请实施例提供了一种机器可读存储介质430,机器可读存储介质430存储有机器可执行指令,在被处理器410调用和执行时,机器可执行指令促使处理器410自身以及调用收发器420执行前述本申请实施例描述的报文处理方法。
[0133]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0134]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以
不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0135]
对于报文处理装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0136]
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

技术特征:
1.一种报文处理方法,其特征在于,所述方法应用于源端网络设备,所述源端网络设备与目的端网络设备之间建立通信路径,所述方法包括:向所述目的端网络设备发送第一数量个探测报文,所述第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,所述第二单位长度小于所述第一单位长度;在预设的时间段内,当接收到所述目的端网络设备根据所述第一数量个探测报文反馈的第二数量个探测响应报文时,向所述目的端网络设备发送第三数量个探测报文,所述第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据所述第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定;在预设的时间段内,当接收到所述目的端网络设备根据所述第三数量个探测报文反馈的第四数量个探测响应报文,且所述第二单位长度为最小单位长度时,将所述第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。2.根据权利要求1所述的方法,其特征在于,所述向所述目的端网络设备发送第一数量个探测报文之前,所述方法还包括:接收用户输入的配置指令,所述配置指令包括所述通信路径的mtu值区间;根据所述mtu值区间,确定待发送的探测报文的第一数量。3.根据权利要求2所述的方法,其特征在于,所述根据所述mtu值区间,确定待发送的探测报文的第一数量具体包括:以所述mtu值区间的第一端点为起点,以所述mtu值区间的第二端点为终点,从所述mtu值区间内,获取多个具有第一单位长度的mtu值;将多个具有第一单位长度的mtu值的个数以及所述第一端点、第二端点表征的mtu值的个数之和,确定为所述第一数量;其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同,所述第一端点表征的mtu值属于所述第二单位长度,所述第二端点表征的mtu值属于所述第一单位长度。4.根据权利要求3所述的方法,其特征在于,所述向所述目的端网络设备发送第一数量个探测报文具体包括:根据多个具有第一单位长度的mtu值以及所述第一端点、第二端点表征的mtu值,生成与每个mtu值对应的探测报文,所述探测报文的数量为第一数量个。5.根据权利要求1所述的方法,其特征在于,所述向所述目的端网络设备发送第三数量个探测报文之前,所述方法还包括:在预设的时间段内,当接收到所述目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,获取第二数量个探测响应报文匹配的第一数量个探测报文中探测报文的报文长度最大值所对应的第一临界mtu值;从所述第一数量个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的第二临界mtu值;根据所述第一临界mtu值与所述第二临界mtu值形成的临界mtu值区间,确定待发送的探测报文的第三数量。6.根据权利要求5所述的方法,其特征在于,所述根据所述第一临界mtu值与所述第二
临界mtu值形成的临界mtu值区间,确定待发送的探测报文的第三数量具体包括:以所述第一临界mtu值为起点,以所述第二临界mtu值为终点,从所述临界mtu值区间内,根据所述第二单位长度,获取多个具有第一单位长度的mtu值;将多个具有第一单位长度的mtu值的个数确定为所述第三数量;其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同。7.根据权利要求6所述的方法,其特征在于,所述向所述目的端网络设备发送第三数量个探测报文具体包括:根据第三数量个具有第一单位长度的mtu值,生成与每个mtu值对应的探测报文。8.一种报文处理装置,其特征在于,所述装置应用于源端网络设备,所述源端网络设备与目的端网络设备之间建立通信路径,所述装置包括:发送单元,用于向所述目的端网络设备发送第一数量个探测报文,所述第一数量个探测报文中的每个探测报文的报文长度均不相同,且每个探测报文的报文长度属于第一单位长度或第二单位长度,所述第二单位长度小于所述第一单位长度;所述发送单元还用于,在预设的时间段内,当接收单元接收到所述目的端网络设备根据所述第一数量个探测报文反馈的第二数量个探测响应报文时,向所述目的端网络设备发送第三数量个探测报文,所述第三数量个探测报文中的每个探测报文的报文长度均不相同,且根据所述第二单位长度,从未接收到探测响应报文的探测报文的报文长度中确定;处理单元,用于在预设的时间段内,当接收到所述目的端网络设备根据所述第三数量个探测报文反馈的第四数量个探测响应报文,且所述第二单位长度为最小单位长度时,将所述第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为所述通信路径的最大mtu值。9.根据权利要求8所述的装置,其特征在于,所述接收单元还用于,接收用户输入的配置指令,所述配置指令包括所述通信路径的mtu值区间;所述装置还包括:确定单元,用于根据所述mtu值区间,确定待发送的探测报文的第一数量。10.根据权利要求9所述的装置,其特征在于,所述确定单元具体用于,以所述mtu值区间的第一端点为起点,以所述mtu值区间的第二端点为终点,从所述mtu值区间内,获取多个具有第一单位长度的mtu值;将多个具有第一单位长度的mtu值的个数以及所述第一端点、第二端点表征的mtu值的个数之和,确定为所述第一数量;其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同,所述第一端点表征的mtu值属于所述第二单位长度,所述第二端点表征的mtu值属于所述第一单位长度。11.根据权利要求10所述的装置,其特征在于,所述发送单元具体用于,根据多个具有第一单位长度的mtu值以及所述第一端点、第二端点表征的mtu值,生成与每个mtu值对应的探测报文,所述探测报文的数量为第一数量个。12.根据权利要求9所述的装置,其特征在于,所述装置还包括:获取单元,用于在预设的时间段内,当接收单元接收到所述目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,获取第二数量个探测响应报文匹配的第一数量个探测报文中探测报文的报文长度最大值所对应的第一临界mtu值;
所述获取单元还用于,从所述第一数量个探测报文中,获取未接收到探测响应报文的探测报文的报文长度最小值所对应的第二临界mtu值;所述确定单元还用于,根据所述第一临界mtu值与所述第二临界mtu值形成的临界mtu值区间,确定待发送的探测报文的第三数量。13.根据权利要求12所述的装置,其特征在于,所述确定单元具体用于,以所述第一临界mtu值为起点,以所述第二临界mtu值为终点,从所述临界mtu值区间内,根据所述第二单位长度,获取多个具有第一单位长度的mtu值;将多个具有第一单位长度的mtu值的个数确定为所述第三数量;其中,多个具有第一单位长度的mtu值中的每个mtu值均不相同。14.根据权利要求13所述装置,其特征在于,所述发送单元具体用于,根据第三数量个具有第一单位长度的mtu值,生成与每个mtu值对应的探测报文。
技术总结
本申请提供一种报文处理方法及装置,该方法应用于源端网络设备,该方法包括:向目的端网络设备发送第一数量个探测报文;在预设的时间段内,当接收到目的端网络设备根据第一数量个探测报文反馈的第二数量个探测响应报文时,向目的端网络设备发送第三数量个探测报文;在预设的时间段内,当接收到目的端网络设备根据第三数量个探测报文反馈的第四数量个探测响应报文,且第二单位长度为最小单位长度时,将第四数量个探测响应报文所对应的探测报文中探测报文的报文长度最大值作为通信路径的最大MTU值。大MTU值。大MTU值。


技术研发人员:宛清
受保护的技术使用者:北京华三通信技术有限公司
技术研发日:2021.02.28
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-12798.html

最新回复(0)