CN104348759B - Gre报文的封装方法、解封装方法及对应的装置 - Google Patents

Gre报文的封装方法、解封装方法及对应的装置 Download PDF

Info

Publication number
CN104348759B
CN104348759B CN201310312219.0A CN201310312219A CN104348759B CN 104348759 B CN104348759 B CN 104348759B CN 201310312219 A CN201310312219 A CN 201310312219A CN 104348759 B CN104348759 B CN 104348759B
Authority
CN
China
Prior art keywords
gre
bit
heading
message
zero
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
CN201310312219.0A
Other languages
English (en)
Other versions
CN104348759A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201310312219.0A priority Critical patent/CN104348759B/zh
Priority to PCT/CN2014/080535 priority patent/WO2015010512A1/zh
Priority to US14/905,894 priority patent/US10033842B2/en
Priority to EP14829826.8A priority patent/EP3026856B1/en
Publication of CN104348759A publication Critical patent/CN104348759A/zh
Application granted granted Critical
Publication of CN104348759B publication Critical patent/CN104348759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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

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

本发明涉及一种GRE报文的封装方法、解封装方法及对应的装置,本发明通过预设的封装规则对遵守不同协议的GRE报文头进行属性设置并进行封装,并通过预设的对应解封装规则对接收的GRE报文的报文头进行解封装解析以解封出接收的GRE报文中的原始报文,保证了遵守不同协议的网络设备之间的互联互通。

Description

GRE报文的封装方法、解封装方法及对应的装置
技术领域
本发明涉及网络技术领域,尤其涉及一种GRE报文的封装方法、解封装方法及对应的装置。
背景技术
GRE(Generic Routing Encapsulation,通用路由封装协议)是一种封装协议,它提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。GRE由Cisco和Net Smiths公司于1994年提交给IETF,标号为RFC 1701、RFC 1702。2000年,Cisco等公司又对GRE协议进行了修订,称为GRE V2,标号为RFC 2784。目前RFC1701虽然不作为遵循的主要标准,但现网中仍然存在使用RFC1701的设备。
在报文发送方,GRE隧道将原始报文和GRE报文头进行封装成GRE报文后通过协议报文进行“包装”,放在IP报文的“数据区”中进行传输。接收方在接收到GRE报文后,根据GRE报文头的格式进行GRE报文的解封装,对原始报文进行复原。在解析GRE报文头部时,由于在GRE报文头中没有一个显式的字段来标识整个GRE报文头的长度。如果报文发送方采用RFC2784的路由设备时,其GRE报文头部长度可能是32至64个比特位,如果报文接收方采用RFC1701的路由设备,GRE报文头部长度可能是32至160个比特位。由于GRE报文头中的格式及比特位的长度不统一无法正确识别相应的字段以解析完整的报文头,从而导致路由器无法互联互通。因此如何解决以上问题已成为业界亟待的技术问题。
发明内容
本发明的主要目的是提供一种GRE报文的封装方法、解封装方法及对应的装置,旨在解决因GRE报文头格式的不一致而导致路由器无法互联互通。
一种GRE报文的封装方法,该方法包括:在对原始报文进行GRE报文封装时,按照预设的封装规则对GRE报文头的预先确定的比特位进行属性设置;将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
优选地,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的封装规则包括:将GRE报文头的第一比特位填零或一;将GRE报文头的第二比特位填零;将GRE报文头的第三比特位填零或一;将GRE报文头的第四比特位填零或一;将GRE报文头的第五至第十三比特位填零;将GRE报文头的第十四至第十六比特位填零。
一种GRE报文的解封装方法,该方法包括:在接收到GRE报文时,按照预设的解封装规则对接收的GRE报文的报文头的预先确定的比特位进行解封装解析;根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
优选地,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的解封装规则包括:在GRE报文头的第一比特位为零时,直接进行解封装;在GRE报文头的第一比特位为一时,进行校验和的检查,在通过校验和检查时直接进行解封装,在未通过校验和检查时丢弃该GRE报文;在GRE报文头的第二比特位为零时,直接解封装;在GRE报文头的第三比特位为零时,直接解封装;在GRE报文头的第三比特位为一时,进行关键字校验并根据校验的结果判断是否直接进行解封装;在GRE报文头的第四比特位为零时,直接解封装;在GRE报文头的第四比特位为一时,进行序列号的检查根据检查的结果判断是否直接进行解封装;对GRE报文头的第五至第十三比特位进行忽略,直接解封装;在GRE报文头的第十四至第十六比特位为零时,直接进行解封装;在GRE报文头的第十四至第十六比特位任一位不为零时,丢弃该GRE报文。
优选地,所述根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文的步骤之前还包括:在对接收的GRE报文的报文头的预先确定的比特位进行解封装解析时,获取预先确定的比特位对应的偏移量;根据所述偏移量计算所述GRE报文头的长度。
一种GRE报文的封装装置,包括:设置模块,用于在对原始报文进行GRE报文封装时,按照预设的封装规则对GRE报文头的预先确定的比特位进行属性设置;封装模块,用于将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
优选地,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的封装规则包括:将GRE报文头的第一比特位填零或一;将GRE报文头的第二比特位填零;将GRE报文头的第三比特位填零或一;将GRE报文头的第四比特位填零或一;将GRE报文头的第五至第十三比特位填零;将GRE报文头的第十四至第十六比特位填零。
一种GRE报文的解封装装置,包括:解析模块,用于在接收到GRE报文时,按照预设的解封装规则对接收的GRE报文的报文头的预先确定的比特位进行解封装解析;解封装模块,用于根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
优选地,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的解封装规则包括:在GRE报文头的第一比特位为零时,直接进行解封装;在GRE报文头的第一比特位为一时,进行校验和的检查,在通过校验和检查时直接进行解封装,在未通过校验和检查时丢弃该GRE报文;在GRE报文头的第二比特位为零时,直接解封装;在GRE报文头的第三比特位为零时,直接解封装;在GRE报文头的第三比特位为一时,进行关键字校验并根据校验的结果判断是否直接进行解封装;在GRE报文头的第四比特位为零时,直接解封装;在GRE报文头的第四比特位为一时,进行序列号的检查根据检查的结果判断是否直接进行解封装;对GRE报文头的第五至第十三比特位进行忽略,直接解封装;在GRE报文头的第十四至第十六比特位为零时,直接进行解封装;在GRE报文头的第十四至第十六比特位任一位不为零时,丢弃该GRE报文。
优选地,所述解析模块还包括:获取单元,用于在对接收的GRE报文的报文头的预先确定的比特位进行解封装解析时,获取预先确定的比特位对应的偏移量;计算单元,用于根据所述偏移量计算所述GRE报文头的长度。
本发明通过预设的封装规则对遵守不同协议的GRE报文头进行属性设置并进行封装,并通过预设的对应解封装规则对接收的GRE报文的报文头进行解封装解析以解封出接收的GRE报文中的原始报文,保证了遵守不同协议的网络设备之间的互联互通。
附图说明
图1为本发明GRE报文的封装方法实施例流程示意图;
图2为本发明GRE报文的解封装方法第一实施例流程示意图;
图3为本发明GRE报文的解封装方法第二实施例流程示意图;
图4为本发明GRE报文的封装装置实施例结构示意图;
图5为本发明GRE报文的解封装装置第一实施例结构示意图;
图6为本发明GRE报文的解封装装置中解析模块实施例结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面结合附图及具体实施例就本发明的技术方案做进一步的说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1所示,为本发明GRE报文的封装方法实施例流程示意图。
需要强调的是:图1所示流程图仅为一个较佳实施例,本领域的技术人员当知,任何围绕本发明思想构建的实施例都不应脱离于如下技术方案涵盖的范围:
在对原始报文进行GRE报文封装时,按照预设的封装规则对GRE报文头的预先确定的比特位进行属性设置;将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
以下是结合本实施例逐步实现对遵守不同协议的GRE报文头进行属性设置并进行封装的过程(本实施例中以RFC2784协议及RFC2890协议中对报文头的封装规则来实现对GRE报文的封装为例)。
步骤S10,在对原始报文进行GRE报文封装时,按照预设的封装规则对GRE报文头的第一至第十六比特位进行属性设置;
所述原始报文是指需要封装和路由的数据报文。本实施例中在对所述原始报文进行GRE报文头封装时,对所述GRE报文头的比特位按照预设的封装规则对GRE报文头的第一至第十六比特位进行属性设置。GRE隧道在封装GRE报文时都遵守着相应的封装协议以此作为封装的标准。比如常见的协议如,RFC2784协议、RFC2890协议及RFC1701协议等等。
具体地,根据RFC2784协议将GRE报文头的第一比特位设置为(Checksum校验和)属性,该属性的属性值用户可根据自己的需求选择填零或一,在选择填零时所述校验和无效即在解封装时无需进行校验和的检查;在选择填一时所述校验和有效即在解封装时需进行校验和的检查。在将GRE报文头的第二比特位设置为(Reserved0预留)属性时,将该属性值设置为零。
进一步地,根据RFC2890协议将GRE报文头的第三比特位设置为(Key Present密钥)属性,该属性的属性值用户可以选择性设置。在该属性的属性值选择填零时所述密钥无效即在解封装时无需进行关键字认证;在属性值选择填一时所述密钥有效即在解封装时需进行关键字认证,只有通过关键字认证之后才能对GRE报文进行解封装。在将GRE报文头的第四比特位设置为(Sequence Number Present 序列号)属性时,该属性的属性值用户也可以选择性的设置为零或一。在第四比特位属性的属性值为一时,在解封装时需进行GRE报文序列号的检查,只有通过序列号的检查之后才能对GRE报文进行解封装;在第四比特位属性的属性值为零时,在解封装时无需进行GRE报文序列号的检查。
进一步地,根据RFC2784协议将GRE报文头的第五至第十三比特位设置为(Reserved0预留)属性,并设置该属性值为零。在将GRE报文头的第十四至第十六比特位设置为(Version版本号)属性时设置该属性值为零。
步骤S20,将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
本实例中按照预设的封装规则对GRE报文头的第一位至第十六位比特位进行属性设置,将属性设置后的所述GRE报文头作为所述GRE报文的封装格式并与所述原始报文进行GRE报文封装。
本发明通过预设的封装规则对遵守不同协议的GRE报文头进行属性设置并进行封装,保证了遵守不同协议的网络设备之间的互联互通。
参照图2所示,为本发明GRE报文的解封装方法第一实施例流程示意图。
需要强调的是:图2所示流程图仅为一个较佳实施例,本领域的技术人员当知,任何围绕本发明思想构建的实施例都不应脱离于如下技术方案涵盖的范围:
在接收到GRE报文时,按照预设的解封装规则对接收的GRE报文的报文头的预先确定的比特位进行解封装解析;根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
以下是结合本实施例逐步通过预设的对应解封装规则对接收的GRE报文的报文头进行解封装解析以解封出接收的GRE报文中的原始报文的过程。
步骤S110, 在接收到GRE报文时,按照预设的解封装规则对接收的GRE报文的报文头的预先确定的比特位进行解封装解析;
所述GRE报文包括:原始数据报文及GRE报文头。在解析时按照预设的解封装规则对接收的GRE报文的报文头的第一至第十六比特位进行解封装解析。
具体地,在解析第一比特位时,将GRE报文头的第一比特位作为(Checksum 校验和)属性,在该属性的属性值为零时,直接解封装;在该属性的属性值为一时,对接收到的GRE报文计算校验和,并将计算得出的校验和与所述GRE报文中的原始校验和进行校验和的检查,如果计算得出的校验和与所述GRE报文中的原始校验和完全一致时,则表明通过校验和的检查对所述GRE报文进行解封装;如果计算得出的校验和与所述GRE报文中的原始校验和不一致时,则表明没有通过校验和的检查需丢弃所述GRE报文。在解析第二比特位时,将GRE报文头的第二比特位作为(Reserved0预留)属性,该属性的属性值是零时直接解封装。其中,如果是RFC2784协议的路由器兼容RFC1701协议的路由器并由RFC1701协议的路由器对所述第二比特位进行解析,在所述比特位的属性值为零时,直接进行解封装;在所述比特位的属性值为1时,直接进行解封装同时在计算GRE报文头的长度时需加上所述比特位产生的偏移量。
进一步地,在解析第三比特位时,将GRE报文头的第三比特位作为(Key Present密钥)属性,在该属性的属性值是零时直接进行GRE报文解封装;在该属性的属性值是一时,进行关键字校验只有在路由器的接受方和路由器的发送方两端识别的关键字完全一致时才能通过验证并对所述GRE报文进行解封装,否则将所述GRE报文丢弃。在对GRE报文头的第四比特位作为(Sequence Number Present 序列号)属性进行解析时,在该属性的属性值是零时直接解封装;在该属性的属性值是一时需进行序列号的检查,只有在路由器的接受方和路由器的发送方两端在所述序列号完全一致时才进行GRE报文解封装,路由器的接受方和路由器的发送方两端在所述序列号不一致时将所述GRE报文丢弃。对GRE报文头的第五至第十三比特位作(Reserved0预留)属性时,该属性的属性值为零或者非零时进行忽略直接解封装;对GRE报文头的第十四至第十六比特位作为(Version版本号)属性时,在该属性的属性值为零时直接解封装;在GRE报文头的第十四至第十六比特位任一位的属性值不为零时,丢弃该GRE报文。
步骤S120,根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
在对接收到的GRE报文头进行解析后,根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。本实施例中根据所述GRE报文头的长度对接收的GRE报文进行解封装。
本发明通过预设的对应解封装规则对接收的GRE报文的报文头进行解封装解析以解封出接收的GRE报文中的原始报文,保证了遵守不同协议的网络设备之间的互联互通。
参照图3所示,为本发明GRE报文的解封装方法第二实施例流程示意图。
基于上述实施例提出本发明GRE报文的解封装方法第二实施例,在上述实施例中步骤S120之前包括:
步骤S140,在对接收的GRE报文的报文头的预先确定的比特位进行解封装解析时,获取预先确定的比特位对应的偏移量;
步骤S150,根据所述偏移量计算所述GRE报文头的长度。
其中,所述偏移量是指所述比特位属性的属性值为一时,所述比特位在所述GRE报文头中所占的比特位位数。本实施中以解析第一比特位为例来说明所述偏移量。例如,在第一比特位的属性值为一时,需进行校验和的验证即校验和(可选)部分以及偏离(可选)部分共32个比特位出现在GRE报文头中同时在进行GRE报文头长度计算时,需加上所述32个比特位。
通过对整个GRE报文头的比特位进行解析之后,获取各个比特位属性值为一时产生的各个偏移量,根据所述各个偏移量计算出整个GER报文头的长度,根据GER报文头的长度能更准确的解封出接收的GRE报文中的原始报文。
参照图4所示,为本发明GRE报文的封装装置实施例结构示意图。
本实例所提供的GRE报文的封装装置1,包括:
设置模块10,用于在对原始报文进行GRE报文封装时,按照预设的封装规则对GRE报文头的第一至第十六比特位进行属性设置;
所述原始报文是指需要封装和路由的数据报文。本实施例中在对所述原始报文进行GRE报文头封装时,设置模块10对所述GRE报文头的比特位按照预设的封装规则对GRE报文头的第一至第十六比特位进行属性设置。GRE隧道在封装GRE报文时都遵守着相应的封装协议以此作为封装的标准。比如常见的协议如,RFC2784协议、RFC2890协议及RFC1701协议等等。
具体地,设置模块10根据RFC2784协议将GRE报文头的第一比特位设置为(Checksum校验和)属性,该属性的属性值用户可根据自己的需求选择填零或一,在选择填零时所述校验和无效即在解封装时无需进行校验和的检查;在选择填一时所述校验和有效即在解封装时需进行校验和的检查。设置模块10在将GRE报文头的第二比特位设置为(Reserved0预留)属性时,将该属性值设置为零。
进一步地,设置模块10根据RFC2890协议将GRE报文头的第三比特位设置为(KeyPresent密钥)属性,该属性的属性值用户可以选择性设置。在该属性的属性值选择填零时所述密钥无效即在解封装时无需进行关键字认证;在属性值选择填一时所述密钥有效即在解封装时需进行关键字认证,只有通过关键字认证之后才能对GRE报文进行解封装。设置模块10在将GRE报文头的第四比特位设置为(Sequence Number Present 序列号)属性时,该属性的属性值用户也可以选择性的设置为零或一。在第四比特位属性的属性值为一时,在解封装时需进行GRE报文序列号的检查,只有通过序列号的检查之后才能对GRE报文进行解封装;在第四比特位属性的属性值为零时,在解封装时无需进行GRE报文序列号的检查。
进一步地,设置模块10根据RFC2784协议将GRE报文头的第五至第十三比特位设置为(Reserved0预留)属性,并设置该属性值为零。设置模块10在将GRE报文头的第十四至第十六比特位设置为(Version版本号)属性时设置该属性值为零。
封装模块20,用于将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
本实例中设置模块10按照预设的封装规则对GRE报文头的第一位至第十六位比特位进行属性设置,封装模块20将属性设置后的所述GRE报文头作为所述GRE报文的封装格式并与所述原始报文进行GRE报文封装。
本发明通过预设的封装规则对遵守不同协议的GRE报文头进行属性设置并进行封装,保证了遵守不同协议的网络设备之间的互联互通。
参照图5所示,为本发明GRE报文的解封装装置第一实施例结构示意图。
本实例所提供的GRE报文的解封装装置2,包括:
解析模块30,用于在接收到GRE报文时,按照预设的解封装规则对接收的GRE报文的报文头的预先确定的比特位进行解封装解析;
所述GRE报文包括:原始数据报文及GRE报文头。解析模块30在解析时按照预设的解封装规则对接收的GRE报文的报文头的第一至第十六比特位进行解封装解析。
具体地,解析模块30在解析第一比特位时,将GRE报文头的第一比特位作为(Checksum 校验和)属性,在该属性的属性值为零时,直接解封装;在该属性的属性值为一时,对接收到的GRE报文计算校验和,并将计算得出的校验和与所述GRE报文中的原始校验和进行校验和的检查,如果计算得出的校验和与所述GRE报文中的原始校验和完全一致时,则表明通过校验和的检查对所述GRE报文进行解封装;如果计算得出的校验和与所述GRE报文中的原始校验和不一致时,则表明没有通过校验和的检查需丢弃所述GRE报文。在解析第二比特位时,解析模块30将GRE报文头的第二比特位作为(Reserved0预留)属性,该属性的属性值是零时直接解封装。其中,如果是RFC2784协议的路由器兼容RFC1701协议的路由器并由RFC1701协议的路由器对所述第二比特位进行解析,解析模块30在所述比特位的属性值为零时,直接进行解封装;在所述比特位的属性值为1时,直接进行解封装同时计算单元32在计算GRE报文头的长度时需加上所述比特位产生的偏移量。
进一步地,解析模块30在解析第三比特位时,将GRE报文头的第三比特位作为(KeyPresent密钥)属性,在该属性的属性值是零时直接进行GRE报文解封装;在该属性的属性值是一时,进行关键字校验只有在路由器的接受方和路由器的发送方两端识别的关键字完全一致时才能通过验证并对所述GRE报文进行解封装,否则将所述GRE报文丢弃。解析模块30在对GRE报文头的第四比特位作为(Sequence Number Present 序列号)属性进行解析时,在该属性的属性值是零时直接解封装;在该属性的属性值是一时需进行序列号的检查,只有在路由器的接受方和路由器的发送方两端在所述序列号完全一致时才进行GRE报文解封装,路由器的接受方和路由器的发送方两端在所述序列号不一致时将所述GRE报文丢弃。解析模块30对GRE报文头的第五至第十三比特位作(Reserved0预留)属性时,该属性的属性值为零或者非零时进行忽略直接解封装;解析模块30对GRE报文头的第十四至第十六比特位作为(Version版本号)属性时,在该属性的属性值为零时直接解封装;在GRE报文头的第十四至第十六比特位任一位的属性值不为零时,丢弃该GRE报文。
解封装模块40,用于根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
在对接收到的GRE报文头进行解析后,解封装模块40根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。本实施例中根据所述GRE报文头的长度对接收的GRE报文进行解封装。
本发明通过预设的对应解封装规则对接收的GRE报文的报文头进行解封装解析以解封出接收的GRE报文中的原始报文,保证了遵守不同协议的网络设备之间的互联互通。
参照图6所示,为本发明GRE报文的解封装装置中解析模块实施例结构示意图。
基于上述实施例提出本发明GRE报文的解封装装置中解析模块实施例,所述解析模块30包括:
获取单元31,用于在对接收的GRE报文的报文头的预先确定的比特位进行解封装解析时,获取预先确定的比特位对应的偏移量;
计算单元32,用于根据所述偏移量计算所述GRE报文头的长度。
其中,所述偏移量是指所述比特位属性的属性值为一时,所述比特位在所述GRE报文头中所占的比特位位数。本实施中以解析第一比特位为例来说明所述偏移量。例如,在第一比特位的属性值为一时,需进行校验和的验证即校验和(可选)部分以及偏离(可选)部分共32个比特位出现在GRE报文头中同时在进行GRE报文头长度计算时,需加上所述32个比特位。
通过对整个GRE报文头的比特位进行解析之后,获取单元31获取各个比特位属性值为一时产生的各个偏移量,计算单元32根据所述各个偏移量计算出整个GER报文头的长度,根据GER报文头的长度能更准确的解封出接收的GRE报文中的原始报文。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种GRE报文的封装方法,其特征在于,该方法包括:
在对原始报文进行GRE报文封装时,按照预设的封装规则对遵守不同协议的GRE报文头的预先确定的比特位进行属性设置;
将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
2.根据权利要求1所述的方法,其特征在于,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的封装规则包括:
将GRE报文头的第一比特位填零或一;
将GRE报文头的第二比特位填零;
将GRE报文头的第三比特位填零或一;
将GRE报文头的第四比特位填零或一;
将GRE报文头的第五至第十三比特位填零;
将GRE报文头的第十四至第十六比特位填零。
3.一种GRE报文的解封装方法,其特征在于,该方法包括:
在接收到GRE报文时,按照预设的解封装规则对接收遵守不同协议的GRE报文的报文头的预先确定的比特位进行解封装解析;
根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
4.根据权利要求3所述的方法,其特征在于,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的解封装规则包括:
在GRE报文头的第一比特位为零时,直接进行解封装;
在GRE报文头的第一比特位为一时,进行校验和的检查,在通过校验和检查时直接进行解封装,在未通过校验和检查时丢弃该GRE报文;
在GRE报文头的第二比特位为零时,直接解封装;
在GRE报文头的第三比特位为零时,直接解封装;
在GRE报文头的第三比特位为一时,进行关键字校验并根据校验的结果判断是否直接进行解封装;
在GRE报文头的第四比特位为零时,直接解封装;
在GRE报文头的第四比特位为一时,进行序列号的检查根据检查的结果判断是否直接进行解封装;
对GRE报文头的第五至第十三比特位进行忽略,直接解封装;
在GRE报文头的第十四至第十六比特位为零时,直接进行解封装;
在GRE报文头的第十四至第十六比特位任一位不为零时,丢弃该GRE报文。
5.根据权利要求3所述的方法,其特征在于,所述根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文的步骤之前还包括:
在对接收的GRE报文的报文头的预先确定的比特位进行解封装解析时,获取预先确定的比特位对应的偏移量;
根据所述偏移量计算所述GRE报文头的长度。
6.一种GRE报文的封装装置,其特征在于,包括:
设置模块,用于在对原始报文进行GRE报文封装时,按照预设的封装规则对遵守不同协议的GRE报文头的预先确定的比特位进行属性设置;
封装模块,用于将属性设置后的所述GRE报文头与所述原始报文进行GRE报文封装。
7.根据权利要求6所述的装置,其特征在于,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的封装规则包括:
将GRE报文头的第一比特位填零或一;
将GRE报文头的第二比特位填零;
将GRE报文头的第三比特位填零或一;
将GRE报文头的第四比特位填零或一;
将GRE报文头的第五至第十三比特位填零;
将GRE报文头的第十四至第十六比特位填零。
8.一种GRE报文的解封装装置,其特征在于,包括:
解析模块,用于在接收到GRE报文时,按照预设的解封装规则对接收遵守不同协议的GRE报文的报文头的预先确定的比特位进行解封装解析;
解封装模块,用于根据解析结果将接收的GRE报文进行解封装,以解封出接收的GRE报文中的原始报文。
9.根据权利要求8所述的装置,其特征在于,所述预先确定的比特位包括GRE报文头的第一位至第十六位比特位,所述预设的解封装规则包括:
在GRE报文头的第一比特位为零时,直接进行解封装;
在GRE报文头的第一比特位为一时,进行校验和的检查,在通过校验和检查时直接进行解封装,在未通过校验和检查时丢弃该GRE报文;
在GRE报文头的第二比特位为零时,直接解封装;
在GRE报文头的第三比特位为零时,直接解封装;
在GRE报文头的第三比特位为一时,进行关键字校验并根据校验的结果判断是否直接进行解封装;
在GRE报文头的第四比特位为零时,直接解封装;
在GRE报文头的第四比特位为一时,进行序列号的检查根据检查的结果判断是否直接进行解封装;
对GRE报文头的第五至第十三比特位进行忽略,直接解封装;
在GRE报文头的第十四至第十六比特位为零时,直接进行解封装;
在GRE报文头的第十四至第十六比特位任一位不为零时,丢弃该GRE报文。
10.根据权利要求8所述的装置,其特征在于,所述解析模块还包括:
获取模块,用于在对接收的GRE报文的报文头的预先确定的比特位进行解封装解析时,获取预先确定的比特位对应的偏移量;
计算模块,用于根据所述偏移量计算所述GRE报文头的长度。
CN201310312219.0A 2013-07-23 2013-07-23 Gre报文的封装方法、解封装方法及对应的装置 Active CN104348759B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310312219.0A CN104348759B (zh) 2013-07-23 2013-07-23 Gre报文的封装方法、解封装方法及对应的装置
PCT/CN2014/080535 WO2015010512A1 (zh) 2013-07-23 2014-06-23 Gre报文的封装方法、解封装方法及对应的装置
US14/905,894 US10033842B2 (en) 2013-07-23 2014-06-23 GRE message encapsulation method, decapsulation method, and corresponding devices
EP14829826.8A EP3026856B1 (en) 2013-07-23 2014-06-23 Gre packet encapsulation method, decapsulation method, and corresponding apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310312219.0A CN104348759B (zh) 2013-07-23 2013-07-23 Gre报文的封装方法、解封装方法及对应的装置

Publications (2)

Publication Number Publication Date
CN104348759A CN104348759A (zh) 2015-02-11
CN104348759B true CN104348759B (zh) 2019-04-02

Family

ID=52392683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310312219.0A Active CN104348759B (zh) 2013-07-23 2013-07-23 Gre报文的封装方法、解封装方法及对应的装置

Country Status (4)

Country Link
US (1) US10033842B2 (zh)
EP (1) EP3026856B1 (zh)
CN (1) CN104348759B (zh)
WO (1) WO2015010512A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992915B (zh) * 2016-01-21 2020-11-03 中兴通讯股份有限公司 一种报文解封装处理、数据写入方法及装置
CN108075991B (zh) 2016-11-18 2020-09-08 新华三技术有限公司 报文转发方法及装置
CN111385257B (zh) * 2018-12-28 2022-03-15 致茂电子(苏州)有限公司 网络封包处理方法及其装置
FR3092461A1 (fr) * 2019-02-05 2020-08-07 Orange Procédé d’émission à deux protocoles, procédé de réception et dispositifs et signal correspondants.
US11297037B2 (en) * 2019-07-22 2022-04-05 Arista Networks, Inc. Method and network device for overlay tunnel termination and mirroring spanning datacenters
CN111212060A (zh) * 2019-12-31 2020-05-29 盛科网络(苏州)有限公司 一种剥离可变长gre头部的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164090A (zh) * 2011-05-13 2011-08-24 杭州华三通信技术有限公司 基于通用路由封装隧道的报文转发的方法、***及设备
WO2013184753A1 (en) * 2012-06-05 2013-12-12 Cisco Technology, Inc. Managing trace requests over tunneled links

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899060B2 (en) * 2004-04-01 2011-03-01 Nortel Networks Limited Method for providing bearer specific information for wireless networks
KR100918435B1 (ko) 2005-01-31 2009-09-24 삼성전자주식회사 무선 통신 시스템에서 데이터 트래픽 제어 시스템 및 방법
KR100694209B1 (ko) 2005-03-22 2007-03-14 삼성전자주식회사 IPv4망과 IPv6망간의 ISATAP 터널링 시스템 및그 방법
CN1942000A (zh) 2005-09-30 2007-04-04 北京三星通信技术研究有限公司 在无线通信***中传递用户数据的方法
US8483113B2 (en) * 2007-11-14 2013-07-09 Samsung Electronics Co., Ltd. Apparatus and method for multicast and broadcast service in a broadband wireless access system
US8493851B2 (en) * 2010-05-07 2013-07-23 Broadcom Corporation Method and system for offloading tunnel packet processing in cloud computing
CN101848171B (zh) 2010-07-01 2013-04-03 杭州华三通信技术有限公司 一种基于gre隧道的数据传输方法、设备和***
US20120099602A1 (en) * 2010-10-25 2012-04-26 Brocade Communications Systems, Inc. End-to-end virtualization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164090A (zh) * 2011-05-13 2011-08-24 杭州华三通信技术有限公司 基于通用路由封装隧道的报文转发的方法、***及设备
WO2013184753A1 (en) * 2012-06-05 2013-12-12 Cisco Technology, Inc. Managing trace requests over tunneled links

Also Published As

Publication number Publication date
US10033842B2 (en) 2018-07-24
WO2015010512A1 (zh) 2015-01-29
US20160156752A1 (en) 2016-06-02
EP3026856A1 (en) 2016-06-01
EP3026856A4 (en) 2016-07-27
CN104348759A (zh) 2015-02-11
EP3026856B1 (en) 2018-12-26

Similar Documents

Publication Publication Date Title
CN104348759B (zh) Gre报文的封装方法、解封装方法及对应的装置
CN106878138B (zh) 一种报文传输方法和装置
KR102246671B1 (ko) 제5세대 코어 네트워크에 대한 비-3gpp 액세스를 위한 사용자 평면 모델
WO2017193758A1 (zh) 一种数据传输的方法、设备和***
CN107371219A (zh) WiFi配置方法、WiFi移动终端和WiFi设备
CN103945369B (zh) 一种通过检查wifi数据包的长度实现wifi设备的上网配置方法
CN104092595B (zh) 基于802.1br的虚拟化***中的报文处理方法及装置
CN105591841A (zh) 一种vxlan隧道的连通性检测方法
CN103379009B (zh) 基于数据链路层的ssl vpn通信方法
US9860931B2 (en) Method, system and terminal for realizing network access via Wi-Fi®
CN103580894A (zh) 操作、管理和维护oam配置的方法、设备及***
CN104993993A (zh) 一种报文处理方法、设备和***
CN106385344A (zh) 一种报文监控方法和装置
CN103595712B (zh) 一种Web认证方法、装置及***
CN106375128A (zh) 基于pptp vpn的加速访问方法、装置和设备
CN110022374A (zh) 基于物联网的网络连接方法、装置、通信设备及存储介质
CN102647432B (zh) 一种认证信息传输方法、装置及认证中间件
CN105635154A (zh) 灵活的MACSec报文加密认证的芯片实现方法及实现装置
CN207652705U (zh) 一种控制终端及基于wifi Beacon帧的设备接入网络的***
CN103986637B (zh) 一种差错报文处理方法及隧道设备
EP3297191A1 (en) Protocol frame transmission method, device, node apparatus and system
CN112804129A (zh) 报文传输方法及***,发送端vpn设备及gre拼接设备
CN103716220B (zh) 一种数据传输方法及其装置
CN103825831A (zh) 报文转发方法以及交换机
CN101115055A (zh) 通信网络中报告隧道数据包中各级错误的装置及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant