CN113300929B - 一种报文转发方法、装置、电子设备及存储介质 - Google Patents

一种报文转发方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113300929B
CN113300929B CN202110403426.1A CN202110403426A CN113300929B CN 113300929 B CN113300929 B CN 113300929B CN 202110403426 A CN202110403426 A CN 202110403426A CN 113300929 B CN113300929 B CN 113300929B
Authority
CN
China
Prior art keywords
gre
message
identification information
data
load field
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
CN202110403426.1A
Other languages
English (en)
Other versions
CN113300929A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202110403426.1A priority Critical patent/CN113300929B/zh
Publication of CN113300929A publication Critical patent/CN113300929A/zh
Application granted granted Critical
Publication of CN113300929B publication Critical patent/CN113300929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Abstract

本申请提供一种报文转发方法、装置、电子设备及存储介质。在本申请中,对于彼此建立了GRE隧道的网络设备中的任一网络设备而言,不再逐一为每个需要进行GRE封装的数据报文封装公网IP头和GRE头,而是将多个数据报文封装到一个GRE报文中,共用一个公网IP头和GRE头,并且,还封装有便于对端网络设备进行解封装的相关标识信息,减少了在公网上传输的数据,进而节省了公网带宽资源。

Description

一种报文转发方法、装置、电子设备及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法、装置、电子设备及存储介质。
背景技术
对于彼此建立了通用路由封装(Generic Routing Encapsulation,GRE)隧道的网络设备中的任一网络设备而言,在接收到需要进行GRE封装的数据报文时,为该数据报文封装上公网IP头和GRE头,得到GRE报文;之后,该网络设备将该GRE报文通过对应的GRE隧道转发给对端网络设备,以由该对端网络设备对该GRE报文进行GRE解封装,最终得到该数据报文,然后再对该数据报文进行转发处理。
可见,在该网络设备转发需要进行GRE封装的数据报文的过程中,针对每个需要进行GRE封装的数据报文,均需要逐一为其封装上公网IP头和GRE头,使得在公网上传输的数据大大增加,消耗了较多的公网带宽资源。
发明内容
为克服相关技术中存在的问题,本申请提供了一种报文转发方法、装置、电子设备及存储介质。
根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用于网络设备,所述方法包括:
在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;
在判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于表征所述载荷字段中所述数据报文的后面是否还有其他数据报文的第一标识信息和用于表征所述数据报文在所述载荷字段中的偏移长度的第二标识信息;
在判断结果为是时,计算所述数据报文的报文长度与设定长度之和,其中,所述GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为所述设定长度;
若计算结果大于所述GRE报文中的载荷字段的可用长度,则将所述GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征所述载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过所述网络设备与对端网络设备建立的GRE隧道,将修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据修改后的GRE报文中的标识信息,对修改后的GRE报文进行解封装后进行转发处理,并执行生成初始GRE报文的步骤;
若计算结果不大于所述GRE报文中的载荷字段的可用长度,则继续在所述GRE报文中的载荷字段中的最后一个数据报文的后面依次封装所述数据报文对应的标识信息和所述数据报文。
根据本申请实施例的第二方面,提供一种报文转发装置,所述装置应用于网络设备,所述装置包括:
第一判断模块,用于在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;
第一封装模块,用于在所述第一判断模块的判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于表征所述载荷字段中所述数据报文的后面是否还有其他数据报文的第一标识信息和用于表征所述数据报文在所述载荷字段中的偏移长度的第二标识信息;
计算模块,用于在所述第一判断模块的判断结果为是时,计算所述数据报文的报文长度与设定长度之和,其中,所述GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为所述设定长度;
第一转发模块,用于在所述计算模块的计算结果大于所述GRE报文中的载荷字段的可用长度时,将所述GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征所述载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过所述网络设备与对端网络设备建立的GRE隧道,将修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据修改后的GRE报文中的标识信息,对修改后的GRE报文进行解封装后进行转发处理,并执行生成初始GRE报文的步骤;
第二封装模块,用于在所述计算模块的计算结果不大于所述GRE报文中的载荷字段的可用长度时,继续在所述GRE报文中的载荷字段中的最后一个数据报文的后面依次封装所述数据报文对应的标识信息和所述数据报文。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,对于彼此建立了GRE隧道的网络设备中的任一网络设备而言,不再逐一为每个需要进行GRE封装的数据报文封装公网IP头和GRE头,而是将多个数据报文封装到一个GRE报文中,共用一个公网IP头和GRE头,并且,还封装有便于对端网络设备进行解封装的相关标识信息,减少了在公网上传输的数据,进而节省了公网带宽资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种报文转发方法的流程示意图;
图2为本申请实施例提供的GRE头中包括有指定标志位的GRE报文的格式示意图;
图3为本申请实施例提供的一种报文转发装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种报文转发方法,该方法应用于网络设备,该网络设备可以应用于服务提供商网络边缘(Provider Edge,PE)设备、用户网络边缘(Customer Edge,CE)设备等等,如图1所示,该方法可以包括如下步骤:
S11、在接收到需要进行GRE封装的数据报文时,判断本地是否存在GRE报文;在判断结果为否时,执行步骤S12;在判断结果为是时,执行步骤S13。
在本步骤中,GRE报文的GRE头中包括有指定标志位。
S12、生成初始GRE报文,并依次在初始GRE报文中的载荷字段中封装数据报文对应的标识信息和数据报文。
在本步骤中,初始GRE报文中携带有公网IP头和包括有指定标志位的GRE头,且携带的载荷字段为空。在这里,公网IP头的具体内容和GRE头中除指定标志位以外的具体内容均为现有技术,在此不再一一详述。
另外,上述标识信息包括用于表征载荷字段中数据报文的后面是否还有其他数据报文的第一标识信息和用于表征数据报文在载荷字段中的偏移长度的第二标识信息。其中,第一标识信息初始时为用于表征载荷字段中数据报文的后面还有其他数据报文的标识信息。
S13、计算数据报文的报文长度与设定长度之和。
在本步骤中,GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为设定长度。
S14、若计算结果大于GRE报文中的载荷字段的可用长度,则将GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过网络设备与对端网络设备建立的GRE隧道,将修改后的GRE报文转发给对端网络设备,以使对端网络设备在判断出修改后的GRE报文的GRE头中包括有指定标志位时,依次根据修改后的GRE报文中的标识信息,对修改后的GRE报文进行解封装后进行转发处理,并执行步骤S12。
S15、若计算结果不大于GRE报文中的载荷字段的可用长度,则继续在GRE报文中的载荷字段中的最后一个数据报文的后面依次封装数据报文对应的标识信息和数据报文。
需要说明的是,在本申请实施例中,对于上述网络设备而言,在接收到数据报文之后,如何确定接收到的数据报文为需要进行GRE封装的数据报文,具体的确定过程为现有技术,在此不再详述。
进一步需要说明的是,在本申请实施例中,为了节省公网带宽资源,上述网络设备一旦接收到需要进行GRE封装的数据报文,均不再像现有技术那样,直接封装公网IP头和GRE头,而是先判断本地是否存在GRE头中包括有指定标志位的GRE报文;然后,在判断结果为否的情形下,上述网络设备开始执行上述步骤S12,即,将该数据报文封装到生成的初始GRE报文中。
在这种情形下,该数据报文可能是上述网络设备首次接收到的数据报文,此时,说明上述网络设备还没有生成过GRE头中包括有指定标志位的GRE报文;该数据报文也可能不是上述网络设备首次接收到的数据报文,此时,说明上述网络设备之前已经生成过GRE头中包括有指定标志位的GRE报文且已封装够一定数量的数据报文,并转发出去了。
在判断结果为是的情形下,说明上述网络设备当前已经生成了一个GRE头中包括有指定标志位的GRE报文、且还未封装够一定数量的数据报文,此时,上述网络设备开始执行上述步骤S13以及后续步骤,即,上述网络设备基于该数据报文的报文长度与设定长度之和以及GRE报文中的载荷字段的可用长度,决策是否可以将该数据报文继续封装在当前的GRE头中包括有指定标志位的GRE报文中。
在这里,之所以设置上述指定标志位,主要是为了便于上述网络设备区分本申请的GRE报文(例如,具体格式如图2所示,也可称之为GRE组报文)和现有的GRE报文。上述指定标志位的设置方式可以有多种,在一个例子中,可以将上述指定标志位设置在GRE头中的保留字段中,并可以设置为1。
具体地,在上述步骤S12中,该数据报文对应的标识信息的长度可以设置为16位(bit)。其中,第1位为第一标识信息,第2至16位为第二标识信息。
当然,该数据报文对应的标识信息的长度还可以采用其他方式设置,在此不再一一列举。
在上述步骤S13中,上述设定长度可根据上述网络设备所在网络的实际情况来设定。
进一步地,在本申请实施例中,为了避免上述网络设备因GRE头中包括有指定标志位的GRE报文中未封装够一定数量的数据报文迟迟不转发的问题,上述网络设备还可以执行以下操作:
针对本地存在的任一GRE头中包括有指定标志位的GRE报文,若距离对应的初始生成时间已超设定时长还未接收到需要进行GRE封装的数据报文,则将该GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征该载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息;
通过GRE隧道,将该修改后的GRE报文转发给对端网络设备,以使对端网络设备在判断出该修改后的GRE报文的GRE头中包括有指定标志位时,依次根据该修改后的GRE报文中的标识信息,对该修改后的GRE报文进行解封装后进行转发处理。
在此操作流程中,上述设定时长可根据上述网络设备所在网络的实际情况来设定。
更进一步地,在本申请实施例中,上述网络设备还可以执行以下操作:
在接收到对端网络设备发送的GRE报文时,判断接收到的GRE报文的GRE头中是否包括有指定标志位;
在判断结果为是时,依次根据接收到的GRE报文中的标识信息,对接收到的GRE报文进行解封装,得到多个数据报文;
对得到的多个数据报文进行转发处理。
通过此操作流程,上述网络设备可以逐一从接收到的GRE头中包括有指定标识位的GRE报文中解封装出需要转发的多个数据报文,并将其转发出去。在这里,具体的转发流程为现有技术,在此不再一一详述。
由以上技术方案可以看出,在本申请实施例中,对于彼此建立了GRE隧道的网络设备中的任一网络设备而言,不再逐一为每个需要进行GRE封装的数据报文封装公网IP头和GRE头,而是将多个数据报文封装到一个GRE报文中,共用一个公网IP头和GRE头,并且,还封装有便于对端网络设备进行解封装的相关标识信息,减少了在公网上传输的数据,进而节省了公网带宽资源。
基于同一发明构思,本申请还提供了一种报文转发装置,所述装置应用于网络设备,该网络设备为PE设备、CE设备等等,其结构示意图如图3所示,具体包括:
第一判断模块31,用于在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;
第一封装模块32,用于在所述第一判断模块31的判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于表征所述载荷字段中所述数据报文的后面是否还有其他数据报文的第一标识信息和用于表征所述数据报文在所述载荷字段中的偏移长度的第二标识信息;
计算模块33,用于在所述第一判断模块31的判断结果为是时,计算所述数据报文的报文长度与设定长度之和,其中,所述GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为所述设定长度;
第一转发模块34,用于在所述计算模块33的计算结果大于所述GRE报文中的载荷字段的可用长度时,将所述GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征所述载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过所述网络设备与对端网络设备建立的GRE隧道,将修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据修改后的GRE报文中的标识信息,对修改后的GRE报文进行解封装后进行转发处理,并执行生成初始GRE报文的步骤;
第二封装模块35,用于在所述计算模块33的计算结果不大于所述GRE报文中的载荷字段的可用长度时,继续在所述GRE报文中的载荷字段中的最后一个数据报文的后面依次封装所述数据报文对应的标识信息和所述数据报文。
优选地,所述装置还包括:
第二转发模块(图3中未示出),用于针对本地存在的任一GRE头中包括有所述指定标志位的GRE报文,若距离对应的初始生成时间已超设定时长还未接收到需要进行GRE封装的数据报文,则将该GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征该载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息;以及
通过所述GRE隧道,将该修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出该修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据该修改后的GRE报文中的标识信息,对该修改后的GRE报文进行解封装后进行转发处理。
优选地,所述装置还包括:
第二判断模块(图3中未示出),用于在接收到所述对端网络设备发送的GRE报文时,判断接收到的GRE报文的GRE头中是否包括有所述指定标志位;
解封装模块,用于在所述第二判断模块的判断结果为是时,依次根据所述接收到的GRE报文中的标识信息,对所述接收到的GRE报文进行解封装,得到多个数据报文;
第三转发模块(图3中未示出),用于对得到的多个数据报文进行转发处理。
优选地,所述数据报文对应的标识信息的长度为16位;
其中,第1位为所述第一标识信息,第2至16位为所述第二标识信息。
由以上技术方案可以看出,在本申请实施例中,对于彼此建立了GRE隧道的网络设备中的任一网络设备而言,不再逐一为每个需要进行GRE封装的数据报文封装公网IP头和GRE头,而是将多个数据报文封装到一个GRE报文中,共用一个公网IP头和GRE头,并且,还封装有便于对端网络设备进行解封装的相关标识信息,减少了在公网上传输的数据,进而节省了公网带宽资源。
本申请实施例还提供了一种电子设备,如图4所示,包括处理器41和机器可读存储介质42,所述机器可读存储介质42存储有能够被所述处理器41执行的机器可执行指令,所述处理器41被所述机器可执行指令促使:实现上述报文转发方法的步骤。
上述的机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(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 (10)

1.一种报文转发方法,其特征在于,所述方法应用于网络设备,所述方法包括:
在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;
在判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于表征所述载荷字段中所述数据报文的后面是否还有其他数据报文的第一标识信息和用于表征所述数据报文在所述载荷字段中的偏移长度的第二标识信息;
在判断结果为是时,计算所述数据报文的报文长度与设定长度之和,其中,所述GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为所述设定长度;
若计算结果大于所述GRE报文中的载荷字段的可用长度,则将所述GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征所述载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过所述网络设备与对端网络设备建立的GRE隧道,将修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据修改后的GRE报文中的标识信息,对修改后的GRE报文进行解封装后进行转发处理,并执行生成初始GRE报文的步骤;
若计算结果不大于所述GRE报文中的载荷字段的可用长度,则继续在所述GRE报文中的载荷字段中的最后一个数据报文的后面依次封装所述数据报文对应的标识信息和所述数据报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对本地存在的任一GRE头中包括有所述指定标志位的GRE报文,若距离对应的初始生成时间已超设定时长还未接收到需要进行GRE封装的数据报文,则将该GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征该载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息;
通过所述GRE隧道,将该修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出该修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据该修改后的GRE报文中的标识信息,对该修改后的GRE报文进行解封装后进行转发处理。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述对端网络设备发送的GRE报文时,判断接收到的GRE报文的GRE头中是否包括有所述指定标志位;
在判断结果为是时,依次根据所述接收到的GRE报文中的标识信息,对所述接收到的GRE报文进行解封装,得到多个数据报文;
对得到的多个数据报文进行转发处理。
4.根据权利要求1所述的方法,其特征在于,所述数据报文对应的标识信息的长度为16位;
其中,第1位为所述第一标识信息,第2至16位为所述第二标识信息。
5.一种报文转发装置,其特征在于,所述装置应用于网络设备,所述装置包括:
第一判断模块,用于在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;
第一封装模块,用于在所述第一判断模块的判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于表征所述载荷字段中所述数据报文的后面是否还有其他数据报文的第一标识信息和用于表征所述数据报文在所述载荷字段中的偏移长度的第二标识信息;
计算模块,用于在所述第一判断模块的判断结果为是时,计算所述数据报文的报文长度与设定长度之和,其中,所述GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为所述设定长度;
第一转发模块,用于在所述计算模块的计算结果大于所述GRE报文中的载荷字段的可用长度时,将所述GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征所述载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过所述网络设备与对端网络设备建立的GRE隧道,将修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据修改后的GRE报文中的标识信息,对修改后的GRE报文进行解封装后进行转发处理,并执行生成初始GRE报文的步骤;
第二封装模块,用于在所述计算模块的计算结果不大于所述GRE报文中的载荷字段的可用长度时,继续在所述GRE报文中的载荷字段中的最后一个数据报文的后面依次封装所述数据报文对应的标识信息和所述数据报文。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二转发模块,用于针对本地存在的任一GRE头中包括有所述指定标志位的GRE报文,若距离对应的初始生成时间已超设定时长还未接收到需要进行GRE封装的数据报文,则将该GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征该载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息;以及
通过所述GRE隧道,将该修改后的GRE报文转发给所述对端网络设备,以使所述对端网络设备在判断出该修改后的GRE报文的GRE头中包括有所述指定标志位时,依次根据该修改后的GRE报文中的标识信息,对该修改后的GRE报文进行解封装后进行转发处理。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在接收到所述对端网络设备发送的GRE报文时,判断接收到的GRE报文的GRE头中是否包括有所述指定标志位;
解封装模块,用于在所述第二判断模块的判断结果为是时,依次根据所述接收到的GRE报文中的标识信息,对所述接收到的GRE报文进行解封装,得到多个数据报文;
第三转发模块,用于对得到的多个数据报文进行转发处理。
8.根据权利要求5所述的装置,其特征在于,所述数据报文对应的标识信息的长度为16位;
其中,第1位为所述第一标识信息,第2至16位为所述第二标识信息。
9.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
CN202110403426.1A 2021-04-15 2021-04-15 一种报文转发方法、装置、电子设备及存储介质 Active CN113300929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110403426.1A CN113300929B (zh) 2021-04-15 2021-04-15 一种报文转发方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110403426.1A CN113300929B (zh) 2021-04-15 2021-04-15 一种报文转发方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113300929A CN113300929A (zh) 2021-08-24
CN113300929B true CN113300929B (zh) 2022-04-01

Family

ID=77319775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110403426.1A Active CN113300929B (zh) 2021-04-15 2021-04-15 一种报文转发方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113300929B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726635B (zh) * 2021-08-30 2023-05-26 新华三大数据技术有限公司 一种报文处理方法、装置及电子设备
CN117376179A (zh) * 2023-12-04 2024-01-09 成都北中网芯科技有限公司 一种gre协议报文的过滤方法、系统、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181009B2 (en) * 2009-03-03 2012-05-15 Harris Corporation VLAN tagging over IPSec tunnels
CN101848171B (zh) * 2010-07-01 2013-04-03 杭州华三通信技术有限公司 一种基于gre隧道的数据传输方法、设备和系统
CN102164090B (zh) * 2011-05-13 2013-12-25 杭州华三通信技术有限公司 基于通用路由封装隧道的报文转发的方法、系统及设备
CN102821051B (zh) * 2012-08-21 2015-11-18 神州数码网络(北京)有限公司 通用路由封装隧道中路径最大传输单元更改方法

Also Published As

Publication number Publication date
CN113300929A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US9294302B2 (en) Non-fragmented IP packet tunneling in a network
CN110380970B (zh) 一种适用于异构网络的自适应数据报文转发方法及装置
CN113300929B (zh) 一种报文转发方法、装置、电子设备及存储介质
CN108964943B (zh) 一种实现ioam封装的方法及装置
US11177976B2 (en) Method and device for automatically implementing IOAM encapsulation and storage medium
CN101848171B (zh) 一种基于gre隧道的数据传输方法、设备和系统
WO2020156166A1 (zh) 用于处理报文的方法和装置
EP4207685A1 (en) Message header processing method and apparatus, storage medium and electronic device
CN101360046B (zh) 一种带宽资源的节约方法
WO2017193732A1 (zh) 一种伪线数据报文的封装、解封装方法和相关装置
CN107241294B (zh) 网络流量的处理方法及装置、清洗设备、网络设备
WO2021088813A1 (zh) 报文封装方法及装置、报文解封装方法及装置
EP3026856B1 (en) Gre packet encapsulation method, decapsulation method, and corresponding apparatuses
CN102868613A (zh) 一种通用路由封装隧道报文发送方法和装置
CN111026324A (zh) 转发表项的更新方法及装置
CN108075991B (zh) 报文转发方法及装置
CN114844842A (zh) 数据传输方法、装置、电子设备及可读存储介质
US20160212045A1 (en) Method and system for using extension headers to support protocol stack migration
US11196792B2 (en) Method, device and system for transmitting data
CN108156066B (zh) 报文转发方法和装置
CN106850386B (zh) 报文处理方法和设备
CN113381932B (zh) 一种生成段标识sid的方法和网络设备
CN113507414A (zh) 一种报文处理方法及装置
CN113055268A (zh) 隧道流量负载均衡的方法、装置、设备及介质
WO2024055858A1 (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