CN117376272A - 一种报文长度调整方法、装置、系统和存储介质 - Google Patents
一种报文长度调整方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN117376272A CN117376272A CN202311675206.XA CN202311675206A CN117376272A CN 117376272 A CN117376272 A CN 117376272A CN 202311675206 A CN202311675206 A CN 202311675206A CN 117376272 A CN117376272 A CN 117376272A
- Authority
- CN
- China
- Prior art keywords
- message
- forwarded
- network interface
- length
- adjustment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文长度调整方法、装置、系统和存储介质,通过对接收自第一网络接口的待转发报文进行第一报文长度确定,并将确定的第一报文长度与第一报文长度阈值进行对比,若对比结果为第一报文长度大于或等于第一报文长度阈值,则解析待转发报文获得目的地址,并根据第一报文长度阈值构建第一调整报文,将第一调整报文从第一网络接口反馈按照目的地址反馈至源终端,以使源终端根据第一报文长度阈值调整生成报文长度。本发明通过向源终端发送调整报文,以使源终端调整报文长度的方式,降低了由于报文长度过长导致报文被丢弃的问题,提高了报文的传输效率和转发成功率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文长度调整方法、装置、系统和存储介质。
背景技术
由于组网拓扑的需求,需要CPE与其他设备搭建二层隧道并且加入网桥,为下挂设备提供一种透明传输以太网报文的通道,与此同时通常将会引入一个新的问题:一般建立以太网二层隧道时,通常由于隧道需要一些额外的字节开销。因此,当下挂设备发送的报文长度接近或等于MTU值,并被传输到CPE设备时,因为CPE设备需要对报文进行二层隧道封装,导致封装后报文超过其underlay网络的出口MTU的大小,从而导致报文无法被网桥转发而被丢弃。
现有技术中针对上述问题,通常采用手动调整下挂设备的MTU;或是通过其他方式调整CPE设备网桥中各个网络接口,使得各网络接口的MTU均相同;又或是利用PMTU报文让客户端和服务器按照新的PMTU来传输报文。然而,若是手动调整MTU,则存在无法区分不同类型的网络接口其外层封装不同的情况;而若是通过其他方式调整CPE设备网桥中各个网络接口,使得各网络接口的MTU均相同都存在其弊端,则存在下挂设备无法利用PMTU的问题。
发明内容
本发明提供了一种报文长度调整方法、装置、系统和存储介质,以解决无法调整报文长度导致报文长度过长被丢弃的技术问题。
为了解决上述技术问题,本发明实施例提供了一种报文长度调整方法,包括以下步骤:
从第一网络接口接收并确定待转发报文的第一报文长度,并将所述第一报文长度与第一报文长度阈值进行对比,获得相应对比结果;
当所述对比结果为所述第一报文长度大于或等于所述第一报文长度阈值时,则解析所述待转发报文,获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,将所述第一调整报文通过所述第一网络接口根据所述目的地址发送至源终端,以使所述源终端根据所述第一报文长度调整生成报文长度。
本发明提供的报文长度调整方法首先确定从第一网络接口接收的待转发报文的长度即第一报文长度,并将第一报文长度与第一报文长度阈值进行对比,获得相应的对比结果,进而确定待转发报文的报文长度是否超过了网络转发该报文的所能接受的最大长度值。
若是对比结果表示第一报文长度超过了其阈值即第一报文长度阈值,则解析该待转发报文确定第一地址,并根据确定的第一报文长度阈值构建第一调整报文,将第一地址作为目的地址,使得第一调整报文通过接收待转发报文的第一网络接口发送至第一地址对应的源终端处,以使源终端根据第一报文长度阈值调整其生成的报文的长度,进而实现对所述源终端后续发送的所有待转发报文的报文长度的调整,避免出现接收到报文长度超过其报文长度阈值,进而导致对应报文被丢弃影响报文数据传输的情况,提高了报文数据传输的效率和报文转发成功率,降低了出现报文数据传输错误的概率。
作为优选例子,在所述并将所述第一报文长度与第一报文长度阈值进行对比之前,还包括:
解析所述待转发报文,并确定所述待转发报文对应的所述第一网络接口和第二网络接口;其中,所述第二网络接口为转发所述待转发报文的网络接口;
根据所述第一网络接口调取对应的第一MTU值,同时根据所述第二网络接口调取对应的第二MTU值,并在所述第一MTU值和所述第二MTU值中选择数值更小的MTU值作为所述第一报文长度阈值。
为了便于后续生成调整报文,本发明提供的报文长度调整方法在将待转发报文的第一报文长度与第一报文长度阈值进行对比之前,首先还需要确定第一报文长度阈值的具体数值大小。通过解析待转发报文确定该报文对应的第一网络接口和第二网络接口,即接收该报文的网络接口和转发该报文的网络接口,由于不同的网络接口对其转发报文的报文长度限定要求不同。
因此,在确定了两个网络接口之后,系统则根据上述确定的两个网络接口分别调取两个网络接口对应的MTU值,即这两个网络接口分别能接受的最小MTU值,在确定了两个MTU值之后,则在这两个MTU值中选择更小的一个作为第一报文长度阈值,即待转发报文的路径MTU值,即PMTU。确定的第一报文长度阈值即待转发报文的转发路径的最小MTU值,确定了该第一报文长度阈值后,系统即可根据确定阈值与第一报文长度做对比,为后续是否需要调整源终端生成报文的长度提供数据参考。
作为优选例子,所述解析所述待转发报文获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,具体为:
解析所述待转发报文,获得所述待转发报文的第一源地址和第一目的地址,并将所述第一源地址作为所述第一调整报文的所述目的地址,将所述第一目的地址作为所述第一调整报文的源地址;
根据所述第一报文长度阈值、所述目的地址和所述源地址构建获得所述第一调整报文。
在确定了待转发报文的长度大于转发报文长度阈值后,系统则需要生成调整报文反馈至源终端,以使源终端调整其生成报文长度。本发明提供的报文长度调整方法生成调整报文,首先通过解析待转发报文,确定待转发报文的目的地址即目的IP地址和源地址即源终端的IP地址。确定了两个地址后,将上述两个地址中的目的地址作为调整报文的源地址,将源终端的IP地址作为调整报文的目的地址,继而加上第一报文长度阈值,即可生成相应的调整报文。
因此,通过上述根据待转发报文中的内容生成相应的调整报文,则无需采用系统本身的IP地址,直接通过目的终端的地址向源终端发送调整报文。省略了调取系统本身IP地址的步骤,即可实现调整报文的生成。
作为优选例子,在所述获得相应对比结果之后,还包括:
当所述对比结果为所述第一报文长度小于所述第一报文长度阈值时,则解析并获得所述待转发报文对应的第二网络接口和报文类型,并对所述报文类型进行判断,获得相应判断结果;
若所述判断结果为所述待转发报文符合转发类型要求,则通过所述第二网络接口对所述待转发报文进行封装处理,并对封装后报文进行发送处理;
若所述判断结果为所述待转发报文不符合转发类型要求,则对所述待转发报文进行丢弃处理。
而若是系统判定该待转发报文的报文长度不超过计算确定的第一报文长度阈值,则确定该待转发报文已通过第一次判断,需要对待转发报文进行第二次判断,即判断该待转发报文是否满足系统第二网络接口的转发报文类型。通过解析待转发报文确定其对应的第二网络接口,即将要转发该待转发报文的网络接口,并根据确定的第二网络接口确定该网络接口对应可转发的报文类型,即其是否为第二网络接口可转发发报文类型。
若判断为否,则确定其无法被第二网络接口转发,则需要将其丢弃;若判断为是,则确定可被第二网络接口转发,则满足了系统的二次判断,在满足了两次判断后,系统将对所述待转发报文进行转发处理即将其传输至第二网络接口,由第二网络接口对其进行再封装和转发。通过上述的二次判断过程,避免出现由于报文类型不符合要求导致报文转发失败,进而影响系统整体的报文转发效率的情况,提高了系统的报文转发效率和成功率。
相应的,本发明还提供了一种报文长度调整装置,所述报文长度调整装置包括报文接收模块和报文调整模块;
其中,所述报文接收模块用于从第一网络接口接收并确定待转发报文的第一报文长度,并将所述第一报文长度与第一报文长度阈值进行对比,获得相应对比结果;
所述报文调整模块用于当所述对比结果为所述第一报文长度大于或等于所述第一报文长度阈值时,则解析所述待转发报文,获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,将所述第一调整报文通过所述第一网络接口根据所述目的地址发送至源终端,以使所述源终端根据所述第一报文长度调整生成报文长度。
作为优选例子,所述报文接收模块在将所述第一报文长度与第一报文长度阈值进行对比之前,还包括:
解析所述待转发报文,并确定所述待转发报文对应的所述第一网络接口和第二网络接口;其中,所述第二网络接口为转发所述待转发报文的网络接口;
根据所述第一网络接口调取对应的第一MTU值,同时根据所述第二网络接口调取对应的第二MTU值,并在所述第一MTU值和所述第二MTU值中选择数值更小的MTU值作为所述第一报文长度阈值。
作为优选例子,所述报文调整模块解析所述待转发报文获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,具体为:
解析所述待转发报文,获得所述待转发报文的第一源地址和第一目的地址,并将所述第一源地址作为所述第一调整报文的所述目的地址,将所述第一目的地址作为所述第一调整报文的源地址;
根据所述第一报文长度阈值、所述目的地址和所述源地址构建获得所述第一调整报文。
作为优选例子,所述报文调整模块在获得相应对比结果之后,还包括:
当所述对比结果为所述第一报文长度小于所述第一报文长度阈值时,则解析并获得所述待转发报文对应的第二网络接口和报文类型,并对所述报文类型进行判断,获得相应判断结果;
若所述判断结果为所述待转发报文符合转发类型要求,则通过所述第二网络接口对所述待转发报文进行封装处理,并对封装后报文进行发送处理;
若所述判断结果为所述待转发报文不符合转发类型要求,则对所述待转发报文进行丢弃处理。
相应的,本发明还提供了一种报文长度调整系统,所述报文长度调整系统包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器处理所述计算机程序时实现以上任一项所述的一种报文长度调整方法。
相应的,本发明还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如上述任一项所述的一种报文长度调整方法。
附图说明
图1:为本发明提供的报文长度调整方法的一种实施例的流程示意图;
图2:为本发明提供的报文长度调整装置的一种实施例的结构示意图;
图3:为本发明提供的报文长度调整方法的一种实施例的组网拓扑图;
图4:为本发明提供的第一调整报文的生成方法的一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参照图1,为本发明提供的报文长度调整方法的一种实施例的流程示意图,包括步骤101至步骤102,各步骤具体如下:
步骤101:从第一网络接口接收并确定待转发报文的第一报文长度,并将所述第一报文长度与第一报文长度阈值进行对比,获得相应对比结果。
本发明实施例提供的报文长度调整方法首先确定从第一网络接口接收的待转发报文的长度即第一报文长度,并将第一报文长度与第一报文长度阈值进行对比,获得相应的对比结果,进而确定待转发报文的报文长度是否超过了网络转发该报文的所能接受的最大长度值。
在本实施例中,参见图3,图3为本发明提供的报文长度调整方法的一种实施例的组网拓扑图,如图3所示,若CPE设备1为源终端,而CPE设备2和CPE设备3为目的终端,则由图3可知CPE设备1通过5G链路与CPE设备2使用NVGRE技术建立以太网二层透明传输链路,CPE设备1通过5G链路与CPE设备3使用VxLAN技术建立以太网二层透明传输链路。当NVGRE封装的报文或VxLAN封装的报文需要从5G WAN网卡发出,由于受限于5G链路MTU是1500(所述PMTU为1500为假设),因此链路MTU将导致NVGRE网卡或VxLAN网卡对应的MTU变小,进而导致报文转发整条路径的MTU变小。即CPE设备1中网桥可转发到VxLAN网络接口的报文长度最大为1450,CPE设备1中网桥可转发到NVGRE网络接口的报文长度最大为1462。综上所述,系统可从VxLAN网络接口转发的报文长度最长不能超过1450,而从NVGRE网络接口转发的报文长度最长不能超过1462。
因此,当系统接收到待转发报文后,首先需要对该待转发报文的报文长度进行确定,并将其与对应的报文长度阈值进行对比,确定是否能对其执行转发操作。
除此之外,在接收并对待转发报文进行报文长度判定之前,系统首先需要对CPE设备进行初始化并创建VxLAN隧道和创建NVGRE隧道,同时将以太网卡1和VxLAN网卡、NVGRE网卡一起加入网桥。
示例性的,本实施例在所述并将所述第一报文长度与第一报文长度阈值进行对比之前,还包括:
解析所述待转发报文,并确定所述待转发报文对应的所述第一网络接口和第二网络接口;其中,所述第二网络接口为转发所述待转发报文的网络接口;
根据所述第一网络接口调取对应的第一MTU值,同时根据所述第二网络接口调取对应的第二MTU值,并在所述第一MTU值和所述第二MTU值中选择数值更小的MTU值作为所述第一报文长度阈值。
为了便于后续生成调整报文,本发明实施例提供的报文长度调整方法在将待转发报文的第一报文长度与第一报文长度阈值进行对比之前,首先还需要确定第一报文长度阈值的具体数值大小。通过解析待转发报文确定该报文对应的第一网络接口和第二网络接口,即接收该报文的网络接口和转发该报文的网络接口,由于不同的网络接口对其转发报文的报文长度限定要求不同。
因此,在确定了两个网络接口之后,系统则根据上述确定的两个网络接口分别调取两个网络接口对应的MTU值,即这两个网络接口分别能接受的最小MTU值,在确定了两个MTU值之后,则在这两个MTU值中选择更小的一个作为第一报文长度阈值,即待转发报文的路径MTU值,即PMTU。确定的第一报文长度阈值即待转发报文的转发路径的最小MTU值,确定了该第一报文长度阈值后,系统即可根据确定阈值与第一报文长度做对比,为后续是否需要调整源终端生成报文的长度提供数据参考。
在本实施例中,当网桥收到待转发报文并对其判断是否需要转发时,首先系统解析该待转发报文确定该报文的入口网络接口和出口网络接口,并根据确定的两个网络接口获得两个网络接口的MTU值,并将两个MTU值的最小值即比较两个MTU值,将其中更小的值作为第一报文长度阈值,即将其记录为当前两个网络接口转发时的最大可转发长度,也可称为该路径最大可转发长度。
综上由图3可得,当网桥从NVGRE网络接口收到待转发报文,并需要将其转发到VxLAN网络接口时,NVGRE网络接口和VxLAN网络接口的最小MTU是1450,因此该路径最大可转发长度是1450;同理可得,当网桥从以太网网络接口收到报文需要转发到NVGRE网络接口时,以太网网络接口和NVGRE网络接口的最小MTU为1462,因此该路径最大可转发长度是1462。
通过上述方法确定了第一报文长度阈值后,系统将第一报文长度和第一报文长度阈值进行对比,获得相应对比结果,为后续确定是否能转发该待转发报文提供数据参考。
步骤102:当所述对比结果为所述第一报文长度大于或等于所述第一报文长度阈值时,则解析所述待转发报文,获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,将所述第一调整报文通过所述第一网络接口根据所述目的地址发送至源终端,以使所述源终端根据所述第一报文长度调整生成报文长度。
若是对比结果表示第一报文长度超过了其阈值即第一报文长度阈值,则解析该待转发报文确定第一地址,并根据确定的第一报文长度阈值构建第一调整报文,将第一地址作为目的地址,使得第一调整报文通过接收待转发报文的第一网络接口发送至第一地址对应的源终端处,以使源终端根据第一报文长度阈值调整其生成的报文的长度,进而实现对所述源终端后续发送的所有待转发报文的报文长度的调整,避免出现接收到报文长度超过其报文长度阈值,进而导致对应报文被丢弃影响报文数据传输的情况,提高了报文数据传输的效率和报文转发成功率,降低了出现报文数据传输错误的概率。
示例性的,本实施例所述解析所述待转发报文获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,具体为:
解析所述待转发报文,获得所述待转发报文的第一源地址和第一目的地址,并将所述第一源地址作为所述第一调整报文的所述目的地址,将所述第一目的地址作为所述第一调整报文的源地址;
根据所述第一报文长度阈值、所述目的地址和所述源地址构建获得所述第一调整报文。
在确定了待转发报文的长度大于转发报文长度阈值后,系统则需要生成调整报文反馈至源终端,以使源终端调整其生成报文长度。本发明实施例提供的报文长度调整方法生成调整报文,首先通过解析待转发报文,确定待转发报文的目的地址即目的IP地址和源地址即源终端的IP地址。确定了两个地址后,将上述两个地址中的目的地址作为调整报文的源地址,将源终端的IP地址作为调整报文的目的地址,继而加上第一报文长度阈值,即可生成相应的调整报文。
因此,通过上述根据待转发报文中的内容生成相应的调整报文,则无需采用系统本身的IP地址,直接通过目的终端的地址向源终端发送调整报文。省略了调取系统本身IP地址的步骤,即可实现调整报文的生成。在本实施例中,系统在网桥转发失败时直接利用原始报文中的IP层头部、以太网二层头部信息构造一个ICMP报文通知原来设备,则网桥无需具有IP地址也可以构造ICMP报文。
在本实施例中,若系统确定了待转发报文的报文长度即第一报文长度大于或等于第一报文长度阈值,则需要根据待转发报文构建相应的第一调整报文。本实施例中的系统通过提取报文A即待转发报文的源IP地址和目的IP地址,以及报文A的源MAC地址和目的MAC地址,构造一个ICMP报文(报文B)即第一调整报文。当报文A即待转发报文的报文类型为IPv4报文,则其对应的报文B即第一调整报文的具体结构如图4所示,图4为本发明提供的第一调整报文的生成方法的一种实施例的结构示意图。其中,图4中报文B每部分的具体来源如下所述:
a)ICMP数据:截取自报文A的IP层及上层的一部分。
b)ICMP头部:类型Type: 3 (Destination unreachable),代码Code: 4(Fragmentation needed),并且将“该路径最大可转发长度即第一报文长度阈值”填充到字段“MTU of next hop”中。
c)IP层头部:将报文A的源IP地址作为报文B的目的IP地址,将报文A的目的IP地址作为报文B的源IP地址。
d)以太网二层头部:将报文A的源MAC地址作为报文B的目的MAC地址,报文A的目的MAC地址作为报文B的源MAC地址,二层协议为0x0800。
当报文A即待转发报文的报文类型为IPv6报文,则其对应的报文C即第一调整报文其报文类型为ICMPv6报文(报文C)中各部分数据的具体来源如下所述:
a)ICMPv6数据:截取自报文A的IPv6层及上层的一部分。
b)ICMPv6头部:类型Type: Packet Too Big (2),代码,Code: 0,并且使用“该路径最大可转发长度”填充到字段“MTU”。
c)IPv6层头部:将报文A的源IPv6地址作为报文C的目的IPv6地址,将报文A的目的IP地址作为报文B的源IP地址。
d)以太网二层头部:将报文A的源MAC地址作为报文B的目的MAC地址,报文A的目的MAC地址作为报文B的源MAC地址,二层协议为0x86dd。
进一步的,在本实施例所述获得相应对比结果之后,还包括:
当所述对比结果为所述第一报文长度小于所述第一报文长度阈值时,则解析并获得所述待转发报文对应的第二网络接口和报文类型,并对所述报文类型进行判断,获得相应判断结果;
若所述判断结果为所述待转发报文符合转发类型要求,则通过所述第二网络接口对所述待转发报文进行封装处理,并对封装后报文进行发送处理;
若所述判断结果为所述待转发报文不符合转发类型要求,则对所述待转发报文进行丢弃处理。
而若是系统判定该待转发报文的报文长度不超过计算确定的第一报文长度阈值,则确定该待转发报文已通过第一次判断,需要对待转发报文进行第二次判断,即判断该待转发报文是否满足系统第二网络接口的转发报文类型。通过解析待转发报文确定其对应的第二网络接口,即将要转发该待转发报文的网络接口,并根据确定的第二网络接口确定该网络接口对应可转发的报文类型,即其是否为第二网络接口可转发发报文类型。
若判断为否,则确定其无法被第二网络接口转发,则需要将其丢弃;若判断为是,则确定可被第二网络接口转发,则满足了系统的二次判断,在满足了两次判断后,系统将对所述待转发报文进行转发处理即将其传输至第二网络接口,由第二网络接口对其进行再封装和转发。通过上述的二次判断过程,避免出现由于报文类型不符合要求导致报文转发失败,进而影响系统整体的报文转发效率的情况,提高了系统的报文转发效率和成功率。
在本实施例中,所述通过第二网络接口对待转发报文进行封装处理具体包括:若第二网络接口为VxLAN网络接口,则VxLAN网络接口将会对报文封装VxLAN报文;若第二网络接口为NVGRE网络接口,则NVGRE网络接口将会对报文封装成NVGRE报文,并对封装后报文进行转发处理。
而若是确定待转发报文的报文长度过长或待转发报文的报文类型不符合第二网络接口的要求,则需对待转发报文进行丢弃处理。
本实施例所提供的报文长度调整方法不仅适用于VxLAN网络接口和NVGRE网络接口,也适用于其他形式的以太网二层的网络接口(包括隧道开销导致可传输MTU减小以及以太网物理设备导致的MTU不匹配的情况)加入桥接,例如NVGRE,L2TPv3、EoIP、WiFi网络接口、NB-IOT、LORA、蓝牙等。
为了更好地说明本发明一种报文长度调整方法、装置、系统和存储介质的工作原理与步骤流程,可以但不限于参见上文的相关记载。
相应的,参见图2,图2为本发明提供的报文长度调整装置的一种实施例的结构示意图。如图2所示,所述报文长度调整装置包括报文接收模块201和报文调整模块202。
其中,所述报文接收模块201用于从第一网络接口接收并确定待转发报文的第一报文长度,并将所述第一报文长度与第一报文长度阈值进行对比,获得相应对比结果。
进一步的,所述报文接收模块201在将所述第一报文长度与第一报文长度阈值进行对比之前,还包括:
解析所述待转发报文,并确定所述待转发报文对应的所述第一网络接口和第二网络接口;其中,所述第二网络接口为转发所述待转发报文的网络接口;根据所述第一网络接口调取对应的第一MTU值,同时根据所述第二网络接口调取对应的第二MTU值,并在所述第一MTU值和所述第二MTU值中选择数值更小的MTU值作为所述第一报文长度阈值。
所述报文调整模块202用于当所述对比结果为所述第一报文长度大于或等于所述第一报文长度阈值时,则解析所述待转发报文,获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,将所述第一调整报文通过所述第一网络接口根据所述目的地址发送至源终端,以使所述源终端根据所述第一报文长度调整生成报文长度。
进一步的,所述报文调整模块202解析所述待转发报文获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,具体为:
解析所述待转发报文,获得所述待转发报文的第一源地址和第一目的地址,并将所述第一源地址作为所述第一调整报文的所述目的地址,将所述第一目的地址作为所述第一调整报文的源地址;根据所述第一报文长度阈值、所述目的地址和所述源地址构建获得所述第一调整报文。
更进一步的,所述报文调整模块202在获得相应对比结果之后,还包括:
当所述对比结果为所述第一报文长度小于所述第一报文长度阈值时,则解析并获得所述待转发报文对应的第二网络接口和报文类型,并对所述报文类型进行判断,获得相应判断结果;
若所述判断结果为所述待转发报文符合转发类型要求,则通过所述第二网络接口对所述待转发报文进行封装处理,并对封装后报文进行发送处理;若所述判断结果为所述待转发报文不符合转发类型要求,则对所述待转发报文进行丢弃处理。
相应的,本发明还提供了一种报文长度调整系统,所述报文长度调整系统包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器处理所述计算机程序时实现以上任一项所述的一种报文长度调整方法。
相应的,本发明还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如上述任一项所述的一种报文长度调整方法。
综上所述,本发明实施例提供了一种报文长度调整方法、装置、系统和存储介质,通过对接收自第一网络接口的待转发报文进行第一报文长度确定,并将确定的第一报文长度与第一报文长度阈值进行对比,若对比结果为第一报文长度大于或等于第一报文长度阈值,则解析待转发报文获得目的地址,并根据第一报文长度阈值构建第一调整报文,将第一调整报文从第一网络接口反馈按照目的地址反馈至源终端,以使源终端根据第一报文长度阈值调整生成报文长度。本发明通过向源终端发送调整报文,以使源终端调整报文长度的方式,降低了由于报文长度过长导致报文被丢弃的问题,提高了报文的传输效率和转发成功率。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种报文长度调整方法,其特征在于,包括以下步骤:
从第一网络接口接收并确定待转发报文的第一报文长度,并将所述第一报文长度与第一报文长度阈值进行对比,获得相应对比结果;
当所述对比结果为所述第一报文长度大于或等于所述第一报文长度阈值时,则解析所述待转发报文,获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,将所述第一调整报文通过所述第一网络接口根据所述目的地址发送至源终端,以使所述源终端根据所述第一报文长度调整生成报文长度。
2.如权利要求1所述的一种报文长度调整方法,其特征在于,在所述并将所述第一报文长度与第一报文长度阈值进行对比之前,还包括:
解析所述待转发报文,并确定所述待转发报文对应的所述第一网络接口和第二网络接口;其中,所述第二网络接口为转发所述待转发报文的网络接口;
根据所述第一网络接口调取对应的第一MTU值,同时根据所述第二网络接口调取对应的第二MTU值,并在所述第一MTU值和所述第二MTU值中选择数值更小的MTU值作为所述第一报文长度阈值。
3.如权利要求1所述的一种报文长度调整方法,其特征在于,所述解析所述待转发报文获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,具体为:
解析所述待转发报文,获得所述待转发报文的第一源地址和第一目的地址,并将所述第一源地址作为所述第一调整报文的所述目的地址,将所述第一目的地址作为所述第一调整报文的源地址;
根据所述第一报文长度阈值、所述目的地址和所述源地址构建获得所述第一调整报文。
4.如权利要求1所述的一种报文长度调整方法,其特征在于,在所述获得相应对比结果之后,还包括:
当所述对比结果为所述第一报文长度小于所述第一报文长度阈值时,则解析并获得所述待转发报文对应的第二网络接口和报文类型,并对所述报文类型进行判断,获得相应判断结果;
若所述判断结果为所述待转发报文符合转发类型要求,则通过所述第二网络接口对所述待转发报文进行封装处理,并对封装后报文进行发送处理;
若所述判断结果为所述待转发报文不符合转发类型要求,则对所述待转发报文进行丢弃处理。
5.一种报文长度调整装置,其特征在于,所述报文长度调整装置包括报文接收模块和报文调整模块;
其中,所述报文接收模块用于从第一网络接口接收并确定待转发报文的第一报文长度,并将所述第一报文长度与第一报文长度阈值进行对比,获得相应对比结果;
所述报文调整模块用于当所述对比结果为所述第一报文长度大于或等于所述第一报文长度阈值时,则解析所述待转发报文,获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,将所述第一调整报文通过所述第一网络接口根据所述目的地址发送至源终端,以使所述源终端根据所述第一报文长度调整生成报文长度。
6.如权利要求5所述的一种报文长度调整装置,其特征在于,所述报文接收模块在将所述第一报文长度与第一报文长度阈值进行对比之前,还包括:
解析所述待转发报文,并确定所述待转发报文对应的所述第一网络接口和第二网络接口;其中,所述第二网络接口为转发所述待转发报文的网络接口;
根据所述第一网络接口调取对应的第一MTU值,同时根据所述第二网络接口调取对应的第二MTU值,并在所述第一MTU值和所述第二MTU值中选择数值更小的MTU值作为所述第一报文长度阈值。
7.如权利要求5所述的一种报文长度调整装置,其特征在于,所述报文调整模块解析所述待转发报文获得目的地址,并根据所述第一报文长度阈值构建获得第一调整报文,具体为:
解析所述待转发报文,获得所述待转发报文的第一源地址和第一目的地址,并将所述第一源地址作为所述第一调整报文的所述目的地址,将所述第一目的地址作为所述第一调整报文的源地址;
根据所述第一报文长度阈值、所述目的地址和所述源地址构建获得所述第一调整报文。
8.如权利要求5所述的一种报文长度调整装置,其特征在于,所述报文调整模块在获得相应对比结果之后,还包括:
当所述对比结果为所述第一报文长度小于所述第一报文长度阈值时,则解析并获得所述待转发报文对应的第二网络接口和报文类型,并对所述报文类型进行判断,获得相应判断结果;
若所述判断结果为所述待转发报文符合转发类型要求,则通过所述第二网络接口对所述待转发报文进行封装处理,并对封装后报文进行发送处理;
若所述判断结果为所述待转发报文不符合转发类型要求,则对所述待转发报文进行丢弃处理。
9.一种报文长度调整系统,其特征在于,所述报文长度调整系统包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器处理所述计算机程序时实现如权利要求1-4任一项所述的一种报文长度调整方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如上述权利要求1-4任一项所述的一种报文长度调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675206.XA CN117376272A (zh) | 2023-12-08 | 2023-12-08 | 一种报文长度调整方法、装置、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675206.XA CN117376272A (zh) | 2023-12-08 | 2023-12-08 | 一种报文长度调整方法、装置、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376272A true CN117376272A (zh) | 2024-01-09 |
Family
ID=89400681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311675206.XA Pending CN117376272A (zh) | 2023-12-08 | 2023-12-08 | 一种报文长度调整方法、装置、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376272A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217540A (zh) * | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 报文隧道分片的自适应调整方法、装置和系统 |
CN101252524A (zh) * | 2008-04-08 | 2008-08-27 | 华为技术有限公司 | 一种报文传输的方法、系统和装置 |
CN101552728A (zh) * | 2009-05-12 | 2009-10-07 | 北京师范大学 | 一种面向IPv6的路径MTU发现方法及系统 |
CN102801625A (zh) * | 2012-08-17 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种异构网络二层互通的方法及设备 |
CN102957616A (zh) * | 2011-08-18 | 2013-03-06 | 盛科网络(苏州)有限公司 | 在asic中转发trill网络报文的方法及系统 |
CN110191066A (zh) * | 2019-06-14 | 2019-08-30 | 迈普通信技术股份有限公司 | 一种确定最大传输单元pmtu的方法、设备及系统 |
CN110708250A (zh) * | 2019-08-26 | 2020-01-17 | 广州市高科通信技术股份有限公司 | 一种提高数据转发性能的方法、电子设备及存储介质 |
CN116800672A (zh) * | 2023-08-24 | 2023-09-22 | 北京城建智控科技股份有限公司 | 加速报文转发的方法、装置、电子设备及存储介质 |
-
2023
- 2023-12-08 CN CN202311675206.XA patent/CN117376272A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217540A (zh) * | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 报文隧道分片的自适应调整方法、装置和系统 |
CN101252524A (zh) * | 2008-04-08 | 2008-08-27 | 华为技术有限公司 | 一种报文传输的方法、系统和装置 |
CN101552728A (zh) * | 2009-05-12 | 2009-10-07 | 北京师范大学 | 一种面向IPv6的路径MTU发现方法及系统 |
CN102957616A (zh) * | 2011-08-18 | 2013-03-06 | 盛科网络(苏州)有限公司 | 在asic中转发trill网络报文的方法及系统 |
CN102801625A (zh) * | 2012-08-17 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种异构网络二层互通的方法及设备 |
CN110191066A (zh) * | 2019-06-14 | 2019-08-30 | 迈普通信技术股份有限公司 | 一种确定最大传输单元pmtu的方法、设备及系统 |
CN110708250A (zh) * | 2019-08-26 | 2020-01-17 | 广州市高科通信技术股份有限公司 | 一种提高数据转发性能的方法、电子设备及存储介质 |
CN116800672A (zh) * | 2023-08-24 | 2023-09-22 | 北京城建智控科技股份有限公司 | 加速报文转发的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086578B (zh) | 数据传输方法、装置和系统 | |
US7480292B2 (en) | Methods of processing data packets at layer three level in a telecommunication equipment | |
US7600039B2 (en) | Label-based multiplexing | |
CN112368980B (zh) | 用于将一个或多个在网业务添加到mpls网络中的方法 | |
US20020071438A1 (en) | Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data | |
US8140709B2 (en) | Two stage internet protocol header compression | |
EP4207685A1 (en) | Message header processing method and apparatus, storage medium and electronic device | |
CN112333094B (zh) | 数据传输处理方法、装置、网络设备及可读存储介质 | |
WO2014026571A1 (zh) | 一种通用路由封装隧道报文发送方法和装置 | |
EP2237497A1 (en) | A method and a converter for data message transmission | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
CN111935009B (zh) | 数据包路由方法、装置、设备、系统及存储介质 | |
CN116800672B (zh) | 加速报文转发的方法、装置、电子设备及存储介质 | |
CN108282391B (zh) | 一种vxlan报文分片方法和装置 | |
WO2009124477A1 (zh) | 一种报文传输的方法、系统和装置 | |
EP4274123A1 (en) | Packet encapsulation and de-encapsulation method and device, storage medium, and electronic device | |
CN114301576A (zh) | 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置 | |
CN111788812A (zh) | 用于分组数据转换的技术 | |
JP4434019B2 (ja) | データ配信管理装置およびデータ配信管理方法 | |
CN113965518A (zh) | 一种报文处理的方法及设备 | |
US11196792B2 (en) | Method, device and system for transmitting data | |
CN111917786A (zh) | 基于gre隧道的数据包分片方法、数据包重组方法 | |
CN117376272A (zh) | 一种报文长度调整方法、装置、系统和存储介质 | |
US11470502B2 (en) | Congestion notification by data packet from intermediate node | |
EP3345411A1 (en) | Computer program, computer-readable storage medium transmitting device, receiving device and methods performed therein for transferring background user data |
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 |