【技术实现步骤摘要】
一种报文转发方法、装置、电子设备及存储介质
本申请涉及通信
,尤其涉及一种报文转发方法、装置、电子设备及存储介质。
技术介绍
对于彼此建立了通用路由封装(GenericRoutingEncapsulation,GRE)隧道的网络设备中的任一网络设备而言,在接收到需要进行GRE封装的数据报文时,为该数据报文封装上公网IP头和GRE头,得到GRE报文;之后,该网络设备将该GRE报文通过对应的GRE隧道转发给对端网络设备,以由该对端网络设备对该GRE报文进行GRE解封装,最终得到该数据报文,然后再对该数据报文进行转发处理。可见,在该网络设备转发需要进行GRE封装的数据报文的过程中,针对每个需要进行GRE封装的数据报文,均需要逐一为其封装上公网IP头和GRE头,使得在公网上传输的数据大大增加,消耗了较多的公网带宽资源。
技术实现思路
为克服相关技术中存在的问题,本申请提供了一种报文转发方法、装置、电子设备及存储介质。根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用于网络设备,所述方法包括:在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;在判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于 ...
【技术保护点】
1.一种报文转发方法,其特征在于,所述方法应用于网络设备,所述方法包括:/n在接收到需要进行通用路由封装GRE封装的数据报文时,判断本地是否存在GRE报文,其中,所述GRE报文的GRE头中包括有指定标志位;/n在判断结果为否时,生成初始GRE报文,并依次在所述初始GRE报文中的载荷字段中封装所述数据报文对应的标识信息和所述数据报文,其中,所述初始GRE报文中携带有公网IP头和包括有所述指定标志位的GRE头,且携带的载荷字段为空,所述标识信息包括用于表征所述载荷字段中所述数据报文的后面是否还有其他数据报文的第一标识信息和用于表征所述数据报文在所述载荷字段中的偏移长度的第二标识信息;/n在判断结果为是时,计算所述数据报文的报文长度与设定长度之和,其中,所述GRE报文中的载荷字段中的所有的数据报文对应的标识信息的长度均为所述设定长度;/n若计算结果大于所述GRE报文中的载荷字段的可用长度,则将所述GRE报文中的载荷字段中的最后一个数据报文对应的标记信息中的第一标识信息修改为用于表征所述载荷字段中的最后一个数据报文的后面没有其他数据报文的标识信息,通过所述网络设备与对端网络设备建立的GRE隧道 ...
【技术特征摘要】
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报...
【专利技术属性】
技术研发人员:杨羊,谭富德,
申请(专利权)人:新华三信息安全技术有限公司,
类型:发明
国别省市:安徽;34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。