CN101494585B - 一种实现通用路由封装隧道可靠传输的方法及设备 - Google Patents

一种实现通用路由封装隧道可靠传输的方法及设备 Download PDF

Info

Publication number
CN101494585B
CN101494585B CN2009100794537A CN200910079453A CN101494585B CN 101494585 B CN101494585 B CN 101494585B CN 2009100794537 A CN2009100794537 A CN 2009100794537A CN 200910079453 A CN200910079453 A CN 200910079453A CN 101494585 B CN101494585 B CN 101494585B
Authority
CN
China
Prior art keywords
message
data message
gre
sequence number
receives
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.)
Expired - Fee Related
Application number
CN2009100794537A
Other languages
English (en)
Other versions
CN101494585A (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 Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100794537A priority Critical patent/CN101494585B/zh
Publication of CN101494585A publication Critical patent/CN101494585A/zh
Application granted granted Critical
Publication of CN101494585B publication Critical patent/CN101494585B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种实现通用路由封装隧道可靠传输的方法及设备。所述方法包括:发送方设置校验窗口大小,并对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;发送方对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中携带所述校验窗口大小信息,并对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述校验报文和所述GRE报文通过GRE隧道进行发送;接收方根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。本发明提高了GRE隧道传输的可靠性。

Description

一种实现通用路由封装隧道可靠传输的方法及设备
技术领域
本发明涉及数据通信技术领域中的通用路由封装(GRE)技术,具体涉及一种实现GRE隧道可靠传输的方法及设备。
背景技术
GRE协议是虚拟专用网络(VPN)的第三层隧道协议,提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。异种报文传输的通道称为隧道(Tunnel),Tunnel是一个虚拟的点对点的连接,它提供了一条通路使封装的数据报文能够在这条通路上传输,并且在一个Tunnel的两端分别对数据报文进行封装及解封装。
GRE封装过程如图1所示,其是在原始数据报文前添加GRE报头,然后在GRE报头前添加新的IP报头。图1中的原始数据报文为IP报文,其也可以是其它的协议报文,如网间数据包交换(IPX)报文、点对点协议(PPP)报文、多协议标记交换(MPLS)报文等。
图2为第一网段Net1和第二网段Net2通过GRE隧道互联的示意图。如图2所示,来自于第一网段Net1的原始报文,首先被发送到隧道源端A,隧道源端A根据报文头中的目的地址域来确定如何路由此包;报文的目的地址为Net2网段地址,原始报文在隧道源端A进行GRE封装,然后再通过公共IP网络转发到远端Net2网段。
隧道远端B收到IP报文,检查目的地址和外层IP报文头部中的协议号,如发现是本路由器,且外层协议号是47(GRE协议号)时,则剥掉此报文的IP报头,交给GRE协议处理(进行检验密钥、检查报文的序列号及校验和等);GRE协议完成解封装处理后得到原始报文,再根据原始报文进行后续的转发处理。
GRE报文头部没有统一的格式,具体实现时基本上都是以RFC2890定义的GRE头部格式为基础。参照图3,以下对GRE报文头部进行详细的说明。
C、K、S:是一些标志位,其含义如下:
Figure G2009100794537D00021
Reserved0:保留以备后用,这些比特位按0发送,并且在接收时忽略掉。
Ver:版本号。
Protocol Type:指出GRE报文净荷的协议类型,IP是0x0800,Novell IPX是0x8137。
Checksum:GRE头部和净荷的校验和,当Checksum Present位为1时,Checksum域有效。
Key:用来标识隧道内部单个的业务流,属于同一个业务流的数据报文使用同一个Key值来封装,隧道的拆封点根据Key域的值识别属于某个业务流的数据报文。当Key Present位为1时,GRE头部中出现Key域,否则,GRE头部中不出现Key域。
Sequence Number:序列号,用来维持GRE隧道内数据报文的顺序。当Sequence Number Present位为1时,GRE头部出现Sequence Number域,否则,GRE头部不出现Sequence Number域。Key present比特位置1时,sequencenumber用于由Key标识的业务流。
接收者可以根据序列号(Sequence Number)来建立从封装者到拆封者之间传送的数据报文的顺序。当收到的数据报文的序列号小于或等于上一次成功拆封的数据报文的序列号时,收到的报文被视为序列号无效。当拆封者接收到一个无效序列号的数据报文时丢弃该数据报文。
从以上描述可知,利用Sequence Number可以保证GRE报文不乱序,提供GRE隧道的顺序传输。但是,由于拆封者丢弃了部分GRE报文;而且,由于IP网络是不可靠的,在中间设备上也可能丢掉了部分GRE报文,隧道目的路由器仅靠GRE协议无法感知。因此,现有技术对GRE报文的传输是不可靠的。
发明内容
本发明所要解决的技术问题是提供一种实现GRE隧道可靠传输的方法及设备。
为解决上述技术问题,本发明提供技术方案如下:
一种实现通用路由封装GRE隧道可靠传输的方法,包括如下步骤:
发送方设置校验窗口大小,并对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
发送方对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带所述校验窗口大小信息,并对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述校验报文和所述GRE报文通过GRE隧道进行发送;
接收方根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
上述的方法,其中,发送方根据其与接收方之间的网络丢包率确定所述校验窗口大小,或者,根据其与接收方之间的网络丢包率以及发送方的设备性能确定所述校验窗口大小。
上述的方法,其中,还包括:
发送方对发送的GRE报文进行缓存;
接收方根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有多于一个的数据报文丢失时,根据所述校验报文和所述接收到的数据报文确定所丢失的数据报文的GRE序列号,并将所述GRE序列号发送到发送方;
发送方接收到接收方发送的GRE序列号后,根据所述GRE序列号从缓存中取出对应的数据报文,将取出的数据报文作为待发送的数据报文进行处理。
上述的方法,其中,还包括:
若接收方本次没有接收到所述校验报文,则根据上次接收到的校验报文中的校验窗口大小信息和本次接收到的数据报文的数目判断本次是否有数据报文丢失,若是,则根据所述上次接收到的校验报文和所述本次接收到的数据报文确定所丢失的数据报文GRE序列号,并将所述GRE序列号发送到发送方。
一种发送端设备,包括:
校验窗口设置模块,用于设置校验窗口大小;
奇偶校验模块,用于对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
GRE封装模块,用于对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带所述校验窗口大小信息,并对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述校验报文和所述GRE报文通过GRE隧道进行发送,使得接收端设备根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
一种接收端设备,包括:
GRE解封装模块,用于接收并解封装发送端设备发送的校验报文和一组GRE报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带有校验窗口大小信息,所述校验报文的净荷为发送端设备对待发送的一组数据报文进行奇偶校验生成的奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
判断模块,用于根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目判断是否有数据报文丢失,得到判断结果;
数据恢复模块,用于在所述判断结果指示有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
本发明的实施例利用校验报文和接收到的数据报文来恢复丢失的数据报文,不需要依靠上层协议,就能够尽量保证GRE隧道传输的可靠性,提高了GRE报文的传输效率。在本发明的其他实施例中,还根据校验报文和接收到的数据报文确定所丢失的数据报文的GRE序列号,使得发送方能够对丢失的数据报文进行重传,进一步提高了GRE隧道传输的可靠性。
附图说明
图1为GRE封装的示意图;
图2为Net1和Net2通过GRE隧道互联的示意图;
图3为现有技术的GRE报文头部格式示意图;
图4为本发明实施例中GRE报文头部格式示意图;
图5为本发明实施例的实现GRE隧道可靠传输的方法流程图;
图6为本发明实施例的发送端设备和接收端设备的结构示意图;
图7为本发明另一实施例的发送端设备和接收端设备的结构示意图。
具体实施方式
本发明实施例的关键在于:采用传输特定校验报文的方式来实现GRE隧道的可靠传输,这种校验报文为特殊的GRE报文,其负载(净荷)为待发送的一组数据报文的奇偶校验信息,所述奇偶校验信息具有一定的容错能力,每组数据报文中最多有一个报文丢失时,利用所述校验报文和接收到的数据报文可以直接计算出(恢复)所丢失的数据报文。
图4为本发明实施例中GRE报文头部格式示意图。如图4所示,本发明实施例中GRE报文头部与现有的GRE报文头部略有区别:其是将Reserved0域中的1位设置为奇偶校验标志位(Parity Present);将Reserved1域设置为校验窗口域(Parity Window),标识校验窗口大小。具体描述如下:
P:奇偶校验标志位,为1表示Parity Window域有效,同时表示本报文为校验报文;为0则表示Parity Window域无效,同时表示本报文为普通的GRE数据报文。
Parity Window:奇偶校验窗口域,当P标志位为1时此域有效,表示发送方实时调整的校验窗口的大小。
下面结合图2、图4和图5对本发明实施例的实现GRE隧道可靠传输的方法进行具体描述,其中,A为发送方,B为接收方,所述方法包括如下步骤:
步骤501:发送方根据其与接收方之间的网络丢包率设置校验窗口大小;
发送方(GRE隧道源端A)按一定周期向接收方(GRE隧道远端B)发送检测报文,并统计规定时间内收到的回应报文,根据统计结果确定当前GRE隧道的网络丢包率。例如,发送方检测到网络丢包率为10%,由于奇偶校验的容错能力为1位,则可调整校验窗口大小为10。
由于发送方设备性能(例如,缓存能力)的限制,还可以限定校验窗口大小不能超过一预设门限。例如,检测到网络丢包率为1%,如果调整校验窗口大小为100,则发送方设备的性能不支持,此时,可以设置校验窗口大小为所述预设门限。也就是说,根据发送方与接收方之间的网络丢包率以及发送方的设备性能来确定所述校验窗口大小。
发送方还可以定期调整校验窗口大小,在一个调整周期内,校验窗口大小保持不变。假设现阶段校验窗口大小已调整为10,则在调整周期内校验窗口大小保持10不变。
步骤502:发送方对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
当前校验窗口大小为10,则对一组9个数据报文进行奇偶校验,生成所述奇偶校验信息。
步骤503:发送方对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带所述校验窗口大小信息,并将所述校验报文通过GRE隧道进行发送;
发送方发送9个GRE封装数据报文之前先发送一个校验报文。校验报文的GRE头部标志位P置1,Parity Window域值为发送方校验窗口大小10,校验报文的净荷为将要发送的9个GRE封装报文的数据净荷的奇偶校验信息,校验报文序列号(Sequence Number)的处理方式与普通数据报文相同。
步骤504:发送方对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述GRE报文通过GRE隧道进行发送;
步骤505:接收方根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
接收方接收到发送方发送的校验报文后,根据校验报文GRE头部所携带的序列号(称为GRE序列号)和校验窗口大小值可算出应当收到9个GRE数据报文,如果接收方只接收到8个数据报文,则可以确定有一个数据报文丢失,此时,可以根据校验报文中的奇偶校验信息和已收到数据报文计算出所丢失的数据报文。
在本步骤中,是假定收到了所述校验报文,如果没有收到所述校验报文,即校验报文丢失(其他数据报文没有丢失),由于校验报文不携带任何数据信息,不影响数据接收,此时可不进行数据恢复处理。
由于奇偶校验算法的限制(只有一位冗余纠错能力),上述实施例的网络条件为一次校验发送的报文中最多只有一个报文丢失。上述实施例通过设置校验窗口大小来尽量保证实际的网络环境中一次校验发送的报文中最多只有一个报文丢失。但是这仅仅是假设的前提条件,不排除偶尔在一次校验发送的报文中丢失两个或两个以上的报文,由于这种情形出现的概率极低,本发明实施例在GRE协议阶段可以不作处理,而是留待上层协议进行处理。
在本发明的其他实施例中,针对上述丢失两个或两个以上的报文的情况,还可以采用如下机制来进一步保证GRE隧道的可靠传输。
首先发送方对发送的GRE报文进行缓存;然后,接收方获取丢失的数据报文的GRE序列号,并将所述GRE序列号发送到发送方;发送方接收到接收方发送的GRE序列号后,根据所述GRE序列号从缓存中取出对应的数据报文,将取出的数据报文作为待发送的数据报文进行处理(即返回上述步骤502)。具体又分为两种情况,如下:
情况一:校验报文没有丢失,数据报文丢失了两个或两个以上。
接收方可以根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定丢失的数据报文的数目,并根据所述校验报文和所述接收到的数据报文确定所丢失的数据报文的GRE序列号,然后,将所述GRE序列号发送到发送方,用以指示发送方将对应的数据报文进行重传。具体地,是根据所述校验报文的GRE序列号和所述接收到的数据报文的GRE序列号确定所丢失的数据报文的GRE序列号。
情况二:丢失的报文中包含数据报文和校验报文。
若接收方本次没有接收到所述校验报文,此时假定校验窗口大小不变,根据上次接收到的校验报文中的校验窗口大小信息和本次接收到的数据报文的数目确定本次丢失的数据报文的数目,并根据所述上次接收到的校验报文和所述本次接收到的数据报文确定所丢失的数据报文GRE序列号,然后,将所述GRE序列号发送到发送方,用以指示发送方将对应的数据报文进行重传。具体地,是根据上一次成功拆封的校验报文的GRE序列号后溯本次校验报文的GRE序列号,然后,根据本次校验报文的GRE序列号和所述接收到的数据报文的GRE序列号确定所丢失的数据报文的GRE序列号。
以下对实现上述方法的相关设备进行描述。
图6为本发明实施例的发送端设备和接收端设备的结构示意图。如图6所示,所述发送端设备包括校验窗口设置模块、奇偶校验模块和GRE封装模块;所述接收端设备包括GRE解封装模块、判断模块和数据恢复模块。其中,各模块的功能具体如下:
校验窗口设置模块,用于设置校验窗口大小。其可根据本发送端设备与接收端设备之间的网络丢包率确定所述校验窗口大小,或者,根据本发送端设备与接收端设备之间的网络丢包率以及本发送端设备的性能确定所述校验窗口大小。
奇偶校验模块,用于对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1。
GRE封装模块,用于对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带所述校验窗口大小信息,并对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述校验报文和所述GRE报文通过GRE隧道进行发送。
GRE解封装模块,用于接收并解封装发送端设备发送的校验报文和一组GRE报文。
判断模块,用于根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目判断是否有数据报文丢失,得到判断结果。
数据恢复模块,用于在所述判断结果指示有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
由于奇偶校验算法的限制(只有一位冗余纠错能力),上述实施例的网络条件为一次校验发送的报文中最多只有一个报文丢失。为适应在一次校验发送的报文中丢失两个或两个以上的报文的情况,本发明还提供如下实施例。
图7为本发明另一实施例的发送端设备和接收端设备的结构示意图。如图7所示,所述发送端设备包括校验窗口设置模块、奇偶校验模块、GRE封装模块、缓存模块和序列号接收模块;所述接收端设备包括GRE解封装模块、判断模块、数据恢复模块、序列号获取模块和序列号发送模块。与图6相比,在发送端设备中增加了缓存模块和序列号接收模块;在接收端设备中增加了序列号获取模块和序列号发送模块;相同模块的功能类似,以下仅描述增加的模块的功能:
缓存模块,用于对发送的GRE报文进行缓存。
序列号获取模块,用于在所述判断模块的判断结果指示有多于一个的数据报文丢失时,根据所述校验报文和所述接收到的数据报文确定所丢失的数据报文的GRE序列号。
序列号发送模块,用于将所述GRE序列号发送到发送方。
序列号接收模块,用于接收接收端设备发送的GRE序列号,根据所述GRE序列号从缓存中取出对应的数据报文,并将取出的数据报文作为待发送的数据报文发送到所述奇偶校验模块和所述GRE封装模块。这样,奇偶校验模块在进行下一组数据报文的奇偶校验时,则将所述取出的数据报文作为这组数据报文中的一个;同样,GRE封装模块将所述取出的数据报文作为这组数据报文中的一个进行GRE封装和发送。
以上仅适用于校验报文没有丢失,对于校验报文丢失的情形,则所述判断模块进一步用于,在本接收端设备本次没有接收到所述校验报文时,根据上次接收到的校验报文中的校验窗口大小信息和本次接收到的数据报文的数目判断本次是否有数据报文丢失,获取第二判断结果;所述序列号获取模块进一步用于,在所述第二判断结果指示有数据报文丢失时,根据所述上次接收到的校验报文和所述本次接收到的数据报文确定所丢失的数据报文GRE序列号。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。

Claims (11)

1.一种实现通用路由封装GRE隧道可靠传输的方法,其特征在于,包括如下步骤:
发送方设置校验窗口大小,并对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
发送方对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带所述校验窗口大小信息,并对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述校验报文和所述GRE报文通过GRE隧道进行发送;
接收方根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
2.如权利要求1所述的方法,其特征在于;
发送方根据其与接收方之间的网络丢包率确定所述校验窗口大小,或者,根据其与接收方之间的网络丢包率以及发送方的设备性能确定所述校验窗口大小。
3.如权利要求1所述的方法,其特征在于,还包括:
发送方对发送的GRE报文进行缓存;
接收方根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有多于一个的数据报文丢失时,根据所述校验报文和所述接收到的数据报文确定所丢失的数据报文的GRE序列号,并将所述GRE序列号发送到发送方;
发送方接收到接收方发送的GRE序列号后,根据所述GRE序列号从缓存中取出对应的数据报文,将取出的数据报文作为待发送的数据报文进行处理。
4.如权利要求3所述的方法,其特征在于,还包括:
若接收方本次没有接收到所述校验报文,则根据上次接收到的校验报文中的校验窗口大小信息和本次接收到的数据报文的数目判断本次是否有数据报文丢失,若是,则根据所述上次接收到的校验报文和所述本次接收到的数据报文确定所丢失的数据报文GRE序列号,并将所述GRE序列号发送到发送方。
5.一种发送端设备,其特征在于,包括:
校验窗口设置模块,用于设置校验窗口大小;
奇偶校验模块,用于对待发送的一组数据报文进行奇偶校验,生成奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
GRE封装模块,用于对所述奇偶校验信息进行GRE封装得到校验报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带所述校验窗口大小信息,并对所述数据报文分别进行GRE封装,得到一组GRE报文,将所述校验报文和所述GRE报文通过GRE隧道进行发送,使得接收端设备根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
6.如权利要求5所述的发送端设备,其特征在于:
所述校验窗口设置模块,进一步用于根据本发送端设备与接收端设备之间的网络丢包率确定所述校验窗口大小,或者,根据本发送端设备与接收端设备之间的网络丢包率以及本发送端设备的性能确定所述校验窗口大小。
7.如权利要求5所述的发送端设备,其特征在于,还包括缓存模块和序列号接收模块:
所述缓存模块,用于对发送的GRE报文进行缓存;
序列号接收模块,用于接收接收端设备发送的GRE序列号,根据所述GRE序列号从缓存中取出对应的数据报文,并将取出的数据报文作为待发送的数据报文发送到所述奇偶校验模块和所述GRE封装模块,其中,所述GRE序列号为:在接收端设备根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目确定有多于一个的数据报文丢失时,根据所述校验报文和所述接收到的数据报文确定的所丢失的数据报文的GRE序列号。
8.如权利要求5所述的发送端设备,其特征在于,还包括缓存模块和序列号接收模块:
所述缓存模块,用于对发送的GRE报文进行缓存;
序列号接收模块,用于接收接收端设备发送的GRE序列号,根据所述GRE序列号从缓存中取出对应的数据报文,并将取出的数据报文作为待发送的数据报文发送到所述奇偶校验模块和所述GRE封装模块,其中,所述GRE序列号为:在接收端设备本次没有接收到校验报文,根据上次接收到的校验报文中的校验窗口大小信息和本次接收到的数据报文的数目确定本次有数据报文丢失时,根据所述上次接收到的校验报文和所述本次接收到的数据报文确定的所丢失的数据报文GRE序列号。
9.一种接收端设备,其特征在于,包括:
GRE解封装模块,用于接收并解封装发送端设备发送的校验报文和一组GRE报文,所述校验报文中设置有校验窗口域,所述校验窗口域中携带有校验窗口大小信息,所述校验报文的净荷为发送端设备对待发送的一组数据报文进行奇偶校验生成的奇偶校验信息,其中,所述数据报文的个数为所述校验窗口大小减1;
判断模块,用于根据接收到的校验报文中的校验窗口大小信息和接收到的数据报文的数目判断是否有数据报文丢失,得到判断结果;
数据恢复模块,用于在所述判断结果指示有一个数据报文丢失时,根据所述校验报文中的奇偶校验信息和所述接收到的数据报文恢复所述丢失的数据报文。
10.如权利要求9所述的接收端设备,其特征在于,还包括序列号获取模块和序列号发送模块:
所述序列号获取模块,用于在所述判断结果指示有多于一个的数据报文丢失时,根据所述校验报文和所述接收到的数据报文确定所丢失的数据报文的GRE序列号;
所述序列号发送模块,用于将所述GRE序列号发送到发送端设备,使得发送端设备将所述GRE序列号对应的数据报文作为待发送的数据报文进行处理。
11.如权利要求10所述的接收端设备,其特征在于:
所述判断模块进一步用于,在本接收端设备本次没有接收到所述校验报文时,根据上次接收到的校验报文中的校验窗口大小信息和本次接收到的数据报文的数目判断本次是否有数据报文丢失,获取第二判断结果;
所述序列号获取模块进一步用于,在所述第二判断结果指示有数据报文丢失时,根据所述上次接收到的校验报文和所述本次接收到的数据报文确定所丢失的数据报文GRE序列号。
CN2009100794537A 2009-03-11 2009-03-11 一种实现通用路由封装隧道可靠传输的方法及设备 Expired - Fee Related CN101494585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100794537A CN101494585B (zh) 2009-03-11 2009-03-11 一种实现通用路由封装隧道可靠传输的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100794537A CN101494585B (zh) 2009-03-11 2009-03-11 一种实现通用路由封装隧道可靠传输的方法及设备

Publications (2)

Publication Number Publication Date
CN101494585A CN101494585A (zh) 2009-07-29
CN101494585B true CN101494585B (zh) 2011-02-02

Family

ID=40925001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100794537A Expired - Fee Related CN101494585B (zh) 2009-03-11 2009-03-11 一种实现通用路由封装隧道可靠传输的方法及设备

Country Status (1)

Country Link
CN (1) CN101494585B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013204891B4 (de) * 2013-03-20 2021-03-25 Robert Bosch Gmbh Verfahren zur Rekonstruktion von Messdaten
GB2526777B (en) * 2014-04-09 2021-02-17 Huawei Tech Co Ltd Constructing a reliable data stream
CN106713099B (zh) * 2015-11-16 2020-08-04 任子行网络技术股份有限公司 一种gre隧道的维护方法及装置
CN111371634B (zh) * 2018-12-26 2022-01-18 华为技术有限公司 一种通信方法、装置及系统
CN110798349B (zh) * 2019-10-28 2023-02-28 国家计算机网络与信息安全管理中心 一种配置分发、接收方法、设备及计算机可读存储介质
CN111245934A (zh) * 2020-01-10 2020-06-05 深圳壹账通智能科技有限公司 文件传输的反馈方法、装置、设备和存储介质
CN114520709A (zh) * 2020-11-19 2022-05-20 华为技术有限公司 网络数据编码传输方法及装置
CN114339765B (zh) * 2021-11-25 2024-01-19 国网河南省电力公司电力科学研究院 一种基于5g通信的差动保护数据交互链式校验方法和系统
CN117834095B (zh) * 2024-03-06 2024-05-03 北京诺芮集成电路设计有限公司 一种重传报文的方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN101494585A (zh) 2009-07-29

Similar Documents

Publication Publication Date Title
CN101494585B (zh) 一种实现通用路由封装隧道可靠传输的方法及设备
US9432251B2 (en) Enhanced acknowledgement and retransmission mechanism
JP5345942B2 (ja) Pbtネットワークの中間ノードにおけるイーサネットoam
US6421803B1 (en) System and method for implementing hybrid automatic repeat request using parity check combining
US7512061B2 (en) Recovery of state information of a first tunnel end-point
CN102594713B (zh) 一种实现显式拥塞通告的方法及设备
WO2009012688A1 (fr) Procédé, système et appareil de réacheminement de message dans un réseau privé virtuel à trois couches
CN104038322B (zh) 中间节点、通信网络及其数据传输控制方法
CN103475655A (zh) 一种实现IPSecVPN主备链路动态切换的方法
CN101325598A (zh) 传输设备接收侧和发送侧的数据封装方法及同步数字系统
CN102820915A (zh) 改善tcp传输性能的卫星链路系统及其使用方法
CN104579973B (zh) 一种虚拟集群中的报文转发方法和装置
CN114697257A (zh) 传输组播报文的方法、装置和系统
CN101990239A (zh) 提高数据传输可靠性的方法、系统及无线通信设备
CN100442755C (zh) 一种保证通用路由封装隧道传输可靠的方法
CN101834759A (zh) 捆绑链路的检测方法及分布式设备
TW200917763A (en) Method, system, and apparatus for reliable data packet recovery in a link layer of a data center ethernet network
WO2019205756A1 (zh) 数据发送保护方法、装置、系统及计算机可读存储介质
CN100484101C (zh) 一种以太网传输IPv6报文方法、系统与装置
US20090210770A1 (en) Method, system and computer program product for end to end error checking in ethernet
CN105703997B (zh) 一种隧道控制方法及装置
CN102098198B (zh) 一种以太网保护的方法及装置
CN113411773B (zh) 一种双网冗余的装置系统及车道通信系统
CN101166138A (zh) 二层虚拟专网业务传送的装置
CN104270280B (zh) 在路由器上实现LSP ping和tracert的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110202

Termination date: 20200311

CF01 Termination of patent right due to non-payment of annual fee