搜档网
当前位置:搜档网 › GRE隧道技术

GRE隧道技术

GRE隧道技术
GRE隧道技术

Keywords关键词:VPN GRE 隧道PDSN WAPGW

Abstract 摘要:在传统的VPN组网场合中,GRE隧道技术得到了广泛的应用。本文介绍了GRE基本原理以及GRE的应用等,可供使用GRE技术的人员参考。

List of abbreviations缩略语清单:

一、概述

在传统的VPN组网场合中,GRE隧道技术得到了广泛的应用。本文介绍了GRE基本原理以及GRE的应用等,可供使用GRE技术的人员参考。

二、VPN简介

VPN(VirtualPrivate Network,虚拟专用网)是一种基于公共数据网的服务,它依靠ISP (Internet Service Provider)和NSP(Network ServiceProvider),在公共网络中建立虚拟专用通信网络。VPN可以极大地降低用户的费用,并且提供比传统专线方式更强的安全性和可靠性。

1.隧道技术

在VPN中广泛使用了各种各样的隧道技术,有二层隧道技术,也有三层隧道技术。那么,什么是隧道呢?

隧道是一种封装技术,它利用一种网络协议来传输另一种网络协议,即利用一种网络传输协议,将其他协议产生的数据报文封装在它自己的报文中,然后在网络中传输。实际上隧道可以看作一个虚拟的点到点连接。例如,GRE隧道仅支持点到点的业务接入。

隧道技术简单地说就是:原始报文在A地进行封装,到达B地后把封装去掉,还原成原始报文,这样就形成了一条由A到B的通信隧道。隧道技术就是指包括数据封装、传输和解封装在内的全过程。

隧道是通过隧道协议实现的,隧道协议规定了隧道的建立,维护和删除规则,以及怎样将原始数据封装在隧道中进行传输。

2.隧道协议分类

隧道协议可分为:

(1)第二层隧道协议,如PPTP、L2TP

(2)第三层隧道协议,如GRE、IPsec

三、GRE简介

GRE(GenericRoutingEncapsulation,通用路由封装协议)是由Cisco和NetSmiths公司于1994年提交给IETF,标号为RFC1701、RFC1702。2000年,Cisco等公司又对GRE 协议进行了修订,称为GREV2,标号为RFC2784。

GRE 是对某些网络层协议(如:IP,IPX,AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。这是GRE最初的定义,最新的GRE封装规范,已经可以封装二层数据帧了,如PPP帧、MPLS等。在RFC2784中,GRE的定义是“XoverY”,X和Y可以是任意的协议。GRE真的变成了“通用路由封装” 了。

GRE协议实际上是一种封装协议,它提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。异种报文传输的通道称为tunnel(隧道)。

GRE隧道不能配置二层信息,但可以配置IP地址。GRE利用为隧道指定的实际物理接口完成转发,转发过程如下:

(1)所有发往远端VPN的原始报文,首先被发送到隧道源端

(2)原始报文在隧道源端进行GRE封装,填写隧道建立时确定的隧道源地址和目的地址,然后再通过公共IP网络转发到远端VPN网络

四、GRE的封装过程

无论是何种隧道协议,其数据包格式都是由乘客协议、封装协议和运输协议3部分组成的。例如,以GRE为例,GRE协议栈如下:

图1 GRE协议栈

1. GRE的封装过程

图2说明了GRE的封装过程:

原始IP报文

报头净荷

GRE封装后的IP报文

图2 GRE的封装过程

图2中的原始数据包,可以是IP 报文。当然,GRE也可以封装其它的协议报文,如IPX 报文、PPP、MPLS等。

总结起来,GRE 的封装过程如下:当报文需要经由隧道接口处理时,IP层的输出函数调用tunnel接口的输出函数进行加封装处理。加封装处理结束后,再进行IP转发。

GRE隧道对端的解封装过程如下:当IP层接收到GRE报文,检查到外层IP报文头部中的协议号是47 时,那么,IP 层输入入口函数会根据协议开关表,直接调用GRE的解封装处理函数,对GRE解封装。解封装完成后,再将原始数据报文送入IP输入队列中,以便进行进一步的传输。

为了对GRE报文有一个更好的理解,我们重点学习GRE报文头部的格式。

五、GRE报文头部格式

实际上,GRE报文头部没有一个统一的格式,每个厂家具体实现的GRE头部格式会有所差别。但基本上都是以RFC1701定义的GRE头部格式为基础的。

1.RFC1701定义的GRE报文头部

根据RFC1701,GRE数据报文的头部有下面的格式:

0 5 8 13 16 31

图3 RFC1701定义的GRE报文头部格

式下面,我们对GRE报文头部进行详细的说明。

(1)C、R、K、S、s:GRE报文头部的最前5位,是一些标志位。其含义如下:

表1 GRE报文头部的最前5位的含义

(2)Recur:bits 5-7。Recur 域是记录允许的封装次数的计数器。GRE提供了一种特定的机制来防止递归封装。如果路由器想对经过GRE封装的数据包作进一步封装,应在封装前检查这个域。如果Recur域为非0,那么数据包还可以进行封装,新的GRE报头中的Recur 域取值将减1;否则,如果Recur域的值已经是0了,那么这个包不可以再进行封装(3)Flags:bits8-12。在RFC1701中没有定义

(4)Ver:bits13-15。版本号。在RFC1701中,Ver必须为0

(5)Protocol Type:2 byte。ProtocolType 指出GRE报文净荷的协议类型。RFC1701 定义的常见值如下:

0x0800:IP

0x8137:NovellIPX

(6)Offset:2byte。Offset域指出Routing域到净荷的字节偏移

(7)Checksum:2byte。Checksum包括GRE头部和净荷的IP校验和。当ChecksumPresent位为1时,Checksum域有效

(8)Key:4 byte。Key域用来标识隧道内部单个的业务流。属于同一个业务流的数据报文使用同一个Key值来封装,隧道的拆封点根据Key域的值识别属于某个业务流的数据报文。当KeyPresent位为1时,KEY域有效

(9)Sequence Number:4 byte。SequenceNumber域用来维持GRE隧道内数据报文的顺序。当Sequence Number Present 位为1 时,Sequence Number域有效

(10)Routing:4byte。Routing域是可选的,当RoutingPresent位为1时,Routing域有效

(11)Payload:净荷。GRE所封装的协议报文

以上介绍的GRE头部格式,是在最早的RFC1701中定义的。GRE最新RFC文档是:RFC2784。

2.RFC2784定义的GRE报文头部

RFC2784规定的GRE头部格式如下:

0 1 14 16 31

图4 RFC2784定义的GRE报文头部格式

可见,RFC2784定义的GRE报文头部格式,比RFC1701定义的更加简单,更加通用。

我们把RFC1701定义的GRE头部的前几个标志位置为0,相应地,GRE头部中的Key、SequenceNumber等域就没有了,于是就变成了RFC2784定义的GRE通用头部格式。

3.其它厂家规定的GRE报文头部

由于GRE已经发展为可以封装任意协议了,协议本身变得比较复杂。GRE协议在实际应用中,一般是和其它协议一起结合使用。不同厂家定义的GRE头部格式,和RPC1701、RFC2784 规定的格式又有着细微的不同,可以说是扩展的GRE。例如,微软等公司定义的封装PPP帧的GRE头部,是在RFC1701的基础上定义的。

只要保证封装方和解封装方采用相同的GRE 规范,甚至是厂家自己定义的私有GRE 头部格式(比如在标准GRE头部中加入“A”标志位等),一般在应用时不会出现问题,只是不同厂家设备的互联互通性差一点而已。

所以,GRE头部没有一个统一的封装格式,不同的GRE头部,与RFC1701、RFC2784定义会有所差别。这也是我们在和不同厂家设备进行GRE 隧道对接时,需要考虑的GRE 头部格式不一致的问题。

所以,在实际应用GRE时,请参考相关厂家的GRE文档。

六、普通GRE隧道配置

GRE 作为一种通用的封装技术,本身涉及到很多方面的知识,比较复杂。但普通GRE 隧道的配置比较简单,如果我们对RFC1701规定的GRE头部格式比较熟悉,那么,对配置命令也很好理解。

1.创建Tunnel接口

创建一个隧道(Tunnel)接口很简单,只要指定好Tunnel接口的编号就可以了。例如,在PDSN上创建一个Tunnel1/0/1,如下:

R outer#conft// 进入全局配置模式

Router(config)#interface Tunnel0 // 创建Tunnel接口

2.配置Tunnel接口的网络地址

Tunnel接口的网络地址可以不是公网地址,可以配置为私网IP地址。但隧道两端的网络地址应该在同一网段。

假设我们我们配置Tunnel接口的网络地址为:192.168.0.2,掩码:255.255.255.0。配置命令行如下:

R outer(config-if)#ip add 192.168.0.2 255.255.255.0// 配置Tunnel接口的网络地址

3.配置Tunnel接口的源端地址和目的端地址

在创建Tunnel接口后,还需要指定隧道的源端地址和目的端地址,一个包含这些都是真实的公网IP地址,前者是发出GRE报文的接口IP地址,后者是接收GRE报文的接口IP 地址。

在这里,我们要明白,为什么要配置Tunnel接口的源端地址和目的端地址呢?我们知道,最终的GRE报文还要加上一个含有公网IP地址的IP头部,配置的Tunnel接口的源端地址和目的端地址就是用于运输协议----IP协议给GER报文加上新的公网IP头部。

Router(config-if)#tunsource源端IP地址// 配置Tunnel接口的源端地址

Router(config-if)# tundestination目的端IP地址// 配置Tunnel接口的目的端地址Router(config-if)#no shutdown // 开启端口

4.配置Tunnel的路由

在源端路由器和目的端路由器上,都必须存在经过Tunnel转发的路由。隧道路由可以配置静态路由或配置动态路由,这样,需要进行GRE封装的报文才能正确转发。

配置静态路由时,需要注意:目的地址不是Tunnel的目的端地址,而是未进行GRE 封装的报文的目的地址,下一跳是对端Tunnel接口。

Router(config)#ip routeipdest-ip-address { mask | mask-length } tunnel0// 配置静态路由

私网地址 10.0.0.8/24

七、GRE 应用和分析

GRE 在传统的VPN 网络中应用很广泛。我们常见的私网穿越公网的GRE 隧道应用, 一般是私网IP 报文封装成GRE 报文,再用IP 运输。

1.私网穿越公网的GRE 隧道应用

GRE 在简单的 VPN 组网中有着比较广泛的应用。例如,一般,企业私有网络的 IP 地 址通常是私网IP 地址(例如以 10 开头的 IP 地址),只是在企业网络出口处有一个公网IP 地址。私网IP 报文是不可以在Internet 上路由的,但经过GRE 封装后,再加上一个公网IP 头部,就可以在Internet 上路由了。在接收方,将收到的报文的IP 头部和GRE 头部解开后, 将原始的私网IP 报文发送到远程的私有网络上,从而实现了访问远程企业的私有网络的目 的。这种技术也是最简单的VPN 技术,它没有对数据进行加密,实用性不高。

例如,深圳公司基地的一台PC 机,IP 地址是:10.0.0.8/24,北京一台PC 机的IP 地址 是:10.1.1.9/24。两台PC 机的IP 地址都是私网地址。如下:

深圳

北京

图5 私网穿越公网的GRE 隧道

公网地址 58.60.220.149

公网地址 202.189.80.2

GRE 隧道

Internet

PC1 RouterA

RouterB

PC2 私网地址 10.1.1.9/24

Tunnel 接口网络地址

192.168.0.3/24 Tunnel 接口网络地址

192.168.0.2/24

我们要实现PC1 和PC2 的互通,深圳和北京这么远,私网IP报文沿途经过的所有路由器,是不会帮你转发报文的(而且私网IP报文不能出现在公网上,路由器会直接丢弃)。当然,我们可以租用一条专线,但实施工程时间比较长,费用高,不是很现实。

这时候,我们可以考虑在两边的公网出口路由器上,打通一条GRE 隧道,采用RFC1701定义的GRE头部格式。这样在RouterA和RouterB看来,他们之间好像只经过了一条直通的链路。

在RouterA上的GRE隧道配置如下:

RouterA#interfaceTunnel0RouterA(confi

g-if)#no shutdown

RouterA(config-if)#IP address 192.168.0.3255.255.255.0

RouterA(config-if)#tunsource58.60.220.149

RouterA(config-if)#tundestination202.189.80.2

RouterA(config-if)#ip route-static 10.1.1.0 255.255.255.0 Tunnel0

在RouterB上的GRE隧道配置如下:

RouterB#interfaceTunnel0

RouterB(config-if)#noshutdown

RouteBr(config-if)#IP address 192.168.0.2255.255.255.0

RouteBr(config-if)#tunsource202.189.80.2

RouterB(config-if)#tundestination58.60.220.149

RouterB#ip route-static 10.0.0.0 255.255.255.0 Tunnel0

2.PDSN 的A10链路GRE 隧道分析

在CDMA2000 分组域的简单IP 业务组网中,PDSN 和PCF 之间的RP 接口走的是GRE 隧道。不同的用户业务,通过GRE 头部中不同的Key 来区分。

RP 接口包括了A11信令链路和A10业务链路。A11注册请求成功后,A10业务链路建 立。用户数据以GRE 形式封装,采用RFC1701的GRE 格式,在A10上传输。

在A10链路上采用GRE 封装,是因为GRE 的特性是对转发隧道和负荷协议都没有要 求,有防止递归封装的机制,有序列号选项可以使用,满足按照有序方式发送的要求。

RP 接口的GRE 隧道如图6所示:

BSS/PCF MS

GRE 隧道

图6 PDSN 简单IP 业务组网模型

RP 接口协议栈如下:

A10数据

A11信令

图7 RP 接口协议栈

下面,我们对A10链路的GRE 隧道报文进行分析。例如,在某次普通的PPP 拨号连接 中,RP 接口抓到的报文如下。为了简单起见,我们在 ethereal 中输入过滤条件:“gre ”,就 可以把除GRE 以外的报文过滤掉了,如下:

图8 RP接口GRE隧道报文分析

图8中,红框内的内容,就是GRE报文头部的解析。可以看到,GRE已经不仅封装网络层协议了,也可以对二层的PPP协议进行封装。

因为A10链路的GRE隧道符合RFC1701定义,我们就对照着以上介绍的RFC1701规定的GRE头部格式,对图8中的GRE报文头部进行分析。

根据微软的技术文档,封装PPP帧的GRE头部格式,与RFC1701的标准GRE头部格式又有着细微的差别,如下:

0 16 31

图9 封装PPP帧的GRE报文头部格式

相应的GRE头部字段定义如下:

表2 封装PPP帧的GRE报文头部字段解析

根据GRE报文格式,我们对图8的封装PPP帧的GRE报文进行分析。

(1)图8中,GRE头部的前16位,是“Flagsandversion”字段。最前的5位,每位都有其含义,这从表1可以看出。例如,第一位“C”为0,表示GRE 头部中没有checksum 域。第二位“R”为0,表示GRE头部中没有routing域。第三位“K”为1,表示GRE头部中有key域。第四位“S”为1,表示GRE 头部中有Sequence Number域。第五位“s”为0,表示GRE头部中没有“StrictSourceRoute”。

(2)接下来是3bit的“Recur”,其值是:0,表示这个GRE报文不可以再被封装。

(3)第8位是“Acknowledgmentsequencenumberpresent”字段,简称“A”。“A” 的值为0,表示GRE头部中没有AcknowledgmentNumber域。

(4)第9到12位是“Flags”字段。根据协议标准,Flags必须为0。

(5)第13到15位是“Ver”字段。根据协议标准,Ver必须为1。(但奇怪的是,图 8报文里解析出来的值是0。前面已经说过,厂家可以自己定义GRE头部格式,只要实现了隧道就可以了。所以,在这里的差别可以理解)

(6)GRE 头部的“Protocol Type”值为:0x8881,表示封装的是:CDMA2000A10 unstructured bytestream。

(7)GRE Key的值为:0x00000035。这个Key标示着每个用户业务,即区分不同用户的业务。

(8)SequenceNumber的值为:0。不同的GRE报文有不同的SequenceNumber,这是为了接收方能够重建乱序到达的数据报文。(PDSN 默认在GRE 报文中使用SequenceNumber,BSC默认也支持GRE报文头部中的SequenceNumber。如果在BSC上用“MODPCFAN”命令关闭了GRE系列号,将会造成PPP连接在LCP协商阶段失败)

这样,我们就把封装PPP 帧的GRE 报文头部分析完毕了。图8中,还可解析出了被GRE封装的PPP帧的详细内容。有兴趣的人员可以打开看一下,本文不再进行详细分析。

3.WAPGW的GRE隧道分析

WAPGW(WirelessApplication ProtocolGateway,无线应用协议网关)是华为公司推出的infoX-WING综合接入网关的其中一种产品形态。

当infoX-WING作为IPGW 时,支持非WAP业务的接入,支撑各种基于IP承载的移动数据业务,完成非WAP 业务的接入控制、用户认证鉴权、SP/CP认证、内容和流量计费信息采集等功能。

当infoX-WING作为WAPGW时,支持WAP业务的接入,提供OMA (OpenMobileAlliance)定义的标准WAPGW功能及内容、流量计费功能。

WAP流量的组网图如下。其中WAPGW和Wing-3528-1之间走的就是GRE隧道:

WAP流量

Wing-NE20-1

IPGW

WAPGW Wing-NE20-2

YTGE1000-1YTGNE40-1CoreNE40-1Wing-3528-1GRE

E1000-1

8505

YTGE1000-2YTGNE40-2CoreNE40-2Wing-3528-2E1000-2

Internet

NS500-1

NS500-2

Wing-NE20-3

Wing-NE20-4

FW-IMS

图10 IPGW和Wing3528-1之间的GRE隧道分析

为什么WAPGW和Wing3528-1之间要走GRE隧道?一个最大的原因是,如果不做GRE封装,WAPGW将需要保持很多用户业务的TCP连接,这将占用大量的TCP端口,以及很大的内存空间。

下面我们对一个IPGW的GRE抓包进行分析,如下:

图11 IPGW的GRE隧道报文分析

可以看到,IPGW的GRE报文的头部格式是RFC1701定义的标准格式。我们可以对照着以上介绍的RFC1701标准GRE头部格式,对图11进行分析,这里不再详述。

图11的GRE报文头部相当简单,基本上什么字段都没有,既没有checksum,没有key,也没有SequenceNumber,等等。

可能有些人会感到有些奇怪了,在PDSN的RP接口GRE 隧道中,GRE报文是带有key 和Sequence Number的,以此来区分不同的用户,而序列号用于重组乱序到达的GRE 报文。但IPGW的GRE报文里没有key和SequenceNumber,那么,怎样来区分不同的用户,以及如果GRE报文乱序了,该如何重组?

其实,图11中的GRE头部的“ProtocolType”的值是:0x0800,表示GRE封装的是IP报文。而IP报文承载的是传输层的TCP报文段。在IPGW对GRE 报文解封装后,IPGW 可以利用GRE 里的IP报文的源IP地址,对用户进行区分,利用TCP的序列号可以对GRE 报文进行标识和乱序重组。

这种现象是很有趣的。其实很多协议的报文格式都大同小异,例如GRE报文头部定义了序列号,TCP 报文段头部中也有定义序列号,这样就可以灵活地利用。其实很多时候协

议报文之间都是相互封装和承载的关系。

VPN之GRE隧道协议案例配置

VPN 虚拟专用网,全称:Virtual Private Network 是一种基于公共数据网的服务,它主要依赖ISP,在公共网络中建立虚拟专用通信网络。 隧道技术:在VPN中广泛使用了隧道技术,隧道是一种封装技术,它是利用一种网络协议来传输另一种网络协议。即利用一种网络协议,将其它的一些协议产生的数据报文封装在自己的报文中,而后在网络中传输,它的通信只是一个虚拟的连接。 隧道是通过隧道协议来实现,隧道协议包括:第二层隧道协议(PPTP、L2TP)和第三层隧道协议(GRE、IPsec),下面主要讲解第三层隧道协议:GRE GRE隧道协议 GRE 通用路由封装协议,英文名称:Generic Routing Encapsulation 它实际上是一种封装协议,提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输,异种报文传输的通道称为tunnel(隧道) GRE数据包的格式是乘客协议、封装协议与运输协议3部分组成 1.乘客协议:用户要传输的数据,这是真正用户要传输的数据,可以是IP或IPX等 2.封装协议:用于建立、保持、拆卸隧道的协议,比如GRE、IPSEC,它把乘客协议报文进行“包装”,加上一个GRE头部,然后再把封装好的原始报文和GRE头部,放在IP 地方的“数据区”,由IP进行传输。 3.运输协议:主要是指乘客协议被封装协议封装之后要发送出去应用的协议,现在我们主要使用的是IP协议。 如果使用我们平时发信来比喻的话,乘客协议就是我们写的信的内容(不同的协议就等于是不同的语言),而封装协议就是指信封,它对信件进行封装,而运输协议就是我们用哪种方式(协议)把信送出去。 示例:gre在中小企业中的应用 拓扑图 现在我们的要求就是让北京总公司与上海分公司通过广域网之后,两边内网能够相互通信,由于是实验环境,我们使用一个三层交换机来模拟广域网,为了保证其安全性,使用两

GTP、以太网、GRE协议个人理解

GTP协议 GTP是一组基于IP的,用于在GSM和UMTS网络中支持通用分组无线服务(GPRS)的通讯协议。 GTP协议分GTP-C、GTP-U、GTP’协议,常用网络名词有GGSN(gateway GPRS sustain node)网关GPRS支持节点、SGSN(service GPRS sustain node)服务GPRS支持节点。 GTP-C属于一个控制层面的协议,主要运用GGSN和网络核心之间、GGSN和SGSN之间传输信令。信令大致可以理解为请求信息(建立、管理、使用、释放)。 GTP-U属于传输层的协议,主要运用在网络核心层和无线接入层传输用户数据,用户数据包可以是IPV4、IPV6、PPP任何格式传输。 GTP’它的主要功能是计费功能,可以用它来传输从GSM或UMTS的CDF(计费数据功能)到CGF(计费网关功能)的数据。 例如一个手机终端需要通过3G无线网卡上网,(属于UMTS网络)首先他需要发送请求道GGSN获取内部地址,运用到GTP-C协议。让UMTS网络知道它的存在和他的请求信息。GTP-C协议回复它的信令请求,同时GTP’协议像CGF发送信息开始计费。GTP-U协议负责传输用户所请求和数据信息回应的数据包,(如用户访问百度信息和百度回复信息由GTP-U负责传输)当用户不在访问网络信息时(如断开3G网络),GTP-C协议释放这个隧道。 以太网报文 以太网报文存在数据链路层传输单位是贞,以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。

TCP/IP协议 TCP/IP协议是有ISO七层参考模型演变过来对应关系如下 GRE协议 GRE (Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协(如IP 和 IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如 IP)中传输。GRE 采用了Tunnel (隧道)技术,是VPN (Virtual Private Network)的第三层隧道协议。 Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装。

GRE、PPTP、L2TP(L2)隧道协议解析

隧道技术是VPN的基本技术类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。隧道是由隧道协议形成的,分为第二、三层隧道协议。第二层隧道协议是先把各种网络协议封装到PPP中,再把整个数据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第二层隧道协议有L2F、PPTP、L2TP等。 L2TP协议是目前IETF的标准,由IETF融合PPTP与L2F而形成。 第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议有VTP、IPSec等。IPSec(IP Security)是由一组RFC文档组成,定义了一个系统来提供安全协议选择、安全算法,确定服务所使用密钥等服务,从而在IP层提供安全保障。 GRE、PPTP、L2TP隧道协议 在IPSec 和Multiprotocol Label Switching (MPLS) VPN出现前,GRE被用来提供Internet上的VPN功能。GRE将用户数据包封装到携带数据包中。因为支持多种协议,多播,点到点或点到多点协议,如今,GRE仍然被使用。 在GRE隧道中,路由器会在封装数据包的IP头部指定要携带的协议,并建立到对端路由器的虚拟点对点连接 ?Passenger: 要封装的乘客协议 (IPX, AppleTalk, IP, IPSec, DVMRP, etc.). ?Carrier: 封装passenger protocol的GRE协议,插入到transport和passenger 包头之间, 在GRE包头中定义了传输的协议 ?Transport: IP协议携带了封装的passenger protocol. 这个传输协议通常实施在点对点的GRE连接中(GRE是无连接的).

gre是什么层隧道协议

竭诚为您提供优质文档/双击可除gre是什么层隧道协议 篇一:cisco路由器配置gRe隧道 cisco路由器配置gRe隧道 路由封装(gRe)最早是由cisco提出的,而目前它已经成为了一种标准,被定义在RFc1701,RFc1702,以及RFc2784中。简单来说,gRe就是一种隧道协议,用来从一个网络向另一个网络传输数据包。 gRe是一种Vpn隧道技术,其原理为本端路由器将3层报文封装到ip报文里,通过ip网络(例如internet)送到对端路由器后再解开还原。可以把tunnel想象成一条ddn 专线,tunnel口上配置的ip地址就相当于连接ddn专线的串口的ip地址。这个地址一般是内部的ip,internet上是不认的。 如果你觉得它和虚拟专用网(Vpn)有些类似,那只是因为:从技术上讲,gRe隧道是某一类型的Vpn,但是并不是一个安全隧道方式。不过你也可以使用某种加密协议对gRe隧道进行加密,比如Vpn网络中常用的ipsec协议。 实际上,点到点隧道协议(pptp)就是使用了gRe来创

建Vpn隧道。比如,如果你要创建microsoftVpn隧道,默认情况下会使用pptp,这时就会用到gRe。 为什么要用gRe 为什么要使用gRe进行隧道传输呢?原因如下: 有时你需要加密的多播传输。gRe隧道可以像真实的网络接口那样传递多播数据包,而单独使用ipsec,则无法对多播传输进行加密。多播传输的例子包括ospF,eigRp,以及RipV2。另外,大量的视频、Voip以及音乐流程序使用多播。 你所采用的某种协议无法进行路由,比如netbios或在ip网络上进行非ip传输。比如,你可以在ip网络中使用gRe支持ipx或appletalk协议。 你需要用一个ip地址不同的网络将另外两个类似的网络连接起来。 如何配置gRe隧道? 在cisco路由器上配置gRe隧道是一个简单的工作,只需要输入几行命令即可实现。以下是一个简单的例子。 路由器a: interfaceethernet0/1 ipaddress10.2.2.1255.255.255.0 interfaceserial0/0 ipaddress192.168.4.1255.255.255.0 interfacetunnel0

(整理)GRE、P、L2TP隧道协议.

GRE、PPTP、L2TP隧道协议 在IPSec 和Multiprotocol Label Switching (MPLS) VPN出现前,GRE被用来提供Internet上的VPN功能。GRE将用户数据包封装到携带数据包中。因为支持多种协议,多播,点到点或点到多点协议,如今,GRE仍然被使用。 在GRE隧道中,路由器会在封装数据包的IP头部指定要携带的协议,并建立到对端路由器的虚拟点对点连接 ?Passenger: 要封装的乘客协议 (IPX, AppleTalk, IP, IPSec, DVMRP, etc.). ?Carrier: 封装passenger protocol的GRE协议,插入到transport和passenger 包头之间, 在GRE包头中定义了传输的协议 ?Transport: IP协议携带了封装的passenger protocol. 这个传输协议通常实施在点对点的GRE连接中(GRE是无连接的). GRE的特点: ?GRE是一个标准协议 ?支持多种协议和多播 ?能够用来创建弹性的VPN ?支持多点隧道 ?能够实施QOS

GRE的缺点: ?缺乏加密机制 ?没有标准的控制协议来保持GRE隧道(通常使用协议和keepalive) ?隧道很消耗CPU ?出现问题要进行DEBUG很困难 ?MTU和IP分片是一个问题 配置: 这里配置对端的IP地址和tunnel ID (tunnel key 2323)来进行简单的认证。两端配置的tunnel ID必须配置相同。 在Cisco IOS versions 12.2(8)T允许配置keepalive,定期发送报文检测对端是否还活着 GRE隧道 GRE建立的是简单的(不进行加密)VPN隧道,他通过在物理链路中使用ip地址和路由穿越普通网络。 大部分协议都没有内建加密机制,所以携带他们穿越网络的很常见的方法就是使用加密(如使用IPSec)的GRE隧道,这样可以为这些协议提供安全性。(相关配置请参看GRE over IPSec)网状连接(Full-Mesh) 由于GRE是建立点对点的隧道,如果要多个端点的网状互联,则必须采用这种Hub-and-spoke的拓扑形式

gre协议的乘客协议是

竭诚为您提供优质文档/双击可除gre协议的乘客协议是 篇一:gRe、pptp、l2tp(l2)隧道协议 隧道技术是Vpn的基本技术类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。隧道是由隧道协议形成的,分为第二、三层隧道协议。第二层隧道协议是先把各种网络协议封装到ppp中,再把整个数据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第二层隧道协议有l2F、pptp、l2tp等。l2tp协议是目前ietF的标准,由ietF融合pptp 与l2F而形成。 第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议有Vtp、ipsec等。ipsec(ipsecurity)是由一组RFc文档组成,定义了一个系统来提供安全协议选择、安全算法,确定服务所使用密钥等服务,从而在ip层提供安全保障。 gRe、pptp、l2tp隧道协议 在ipsec和multiprotocollabelswitching(mpls)Vpn 出现前,gRe被用来提供internet上的Vpn功能。gRe将用

户数据包封装到携带数据包中。因为支持多种协议,多播,点到点或点到多点协议,如今,gRe仍然被使用。 在gRe隧道中,路由器会在封装数据包的ip头部指定要携带的协议,并建立到对端路由器的虚拟点对点连接passenger:要封装的乘客协议 (ipx,appletalk,ip,ipsec,dVmRp,etc.). carrier:封装passengerprotocol的gRe协议,插入到transport和passenger 包头之间,在gRe包头中定义了传输的协议 transport:ip协议携带了封装的passengerprotocol.这个传输协议通常实施在 点对点的gRe连接中(gRe是无连接的 ). gRe的特点: gRe是一个标准协议支持多种协议和多播能够用来创建弹性的Vpn支持多点隧道能够实施qos gRe的缺点:

GRE协议基础试题

GRE协议基础试题 1、 关于GRE(Generic Routing Encapulation)协议的说法哪些是正确的?(AC) A.GRE用于对某些网络层协议(如:IP、IPX、AppleTalk等)的数据报进行封装,使这些被 封装的数据报能够在IP网中传输 B.GRE是二层隧道协议 C.GRE在网络层之间采用了Tunnel(隧道)的技术 D.GRE是实现VPN所必需的协议 2、 下面有关GRE协议描述正确的是?(ABCD) A.GRE实际上是第三层的一种隧道运载协议 B.有效报文被GRE封装,称之为GRE报文 C.GRE报文被封装在外层的承载网络层报文(如IP协议报文)中 D.承载网络层负责对GRE报文的传输 3、 GRE的实现过程包括哪些步骤?(ABD) A.创建tunnel虚拟接口,使需要加封装的报文通过隧道接口进行转发 B.隧道源端对报文加封装 C.加封装处理结束后由GRE负责报文转发 D.隧道对端的解封装过程 4、 将GRE封装后的隧道接口的IPX报文格式,按照1,2,3,的次序,正确的是:(A) A.链路层 IP GRE IPX B.链路层 GRE IPX IP C.链路层 GRE IP IPX D.链路层 IP IPX GRE 5、 GRE的英文全称是(B) A.Generic Router Encapulation B.Generic Routing Encapulation C.General Routing Encapulation D.General Router Encapulation 6、 以下说法正确的有(AC) A.在GRE隧道上可以再建立L2TP隧道 B.在GRE隧道上不可以再建立L2TP隧道 C.在L2TP隧道上可以再建立GRE隧道 D.在L2TP隧道上不可以再建立GRE隧道

GRE、PPTP、L2TP隧道协议对比介绍

GRE、PPTP、L2TP隧道协议介绍(转) 在IPSec 和Multiprotocol Label Switching (MPLS) VPN出现前,GRE被用来提供Internet上的VPN功能。GRE将用户数据包封装到携带数据包中。因为支持多种协议,多播,点到点或点到多点协议,如今,GRE仍然被使用。 在GRE隧道中,路由器会在封装数据包的IP头部指定要携带的协议,并建立到对端路由器的虚拟点对点连接 ?Passenger: 要封装的乘客协议 (IPX, AppleTalk, IP, IPSec, DVMRP, etc.). ?Carrier: 封装passenger protocol的GRE协议,插入到transport和passenger 包头之间, 在GRE包头中定义了传输的协议 ?Transport: IP协议携带了封装的passenger protocol. 这个传输协议通常实施在点对点的GRE连接中(GRE是无连接的). GRE的特点: ?GRE是一个标准协议 ?支持多种协议和多播 ?能够用来创建弹性的VPN ?支持多点隧道 ?能够实施QOS

GRE的缺点: ?缺乏加密机制 ?没有标准的控制协议来保持GRE隧道(通常使用协议和keepalive) ?隧道很消耗CPU ?出现问题要进行DEBUG很困难 ?MTU和IP分片是一个问题 配置: 这里配置对端的IP地址和tunnel ID (tunnel key 2323)来进行简单的认证。两端配置的tunnel ID必须配置相同。 在Cisco IOS versions 12.2(8)T允许配置keepalive,定期发送报文检测对端是否还活着 GRE隧道 GRE建立的是简单的(不进行加密)VPN隧道,他通过在物理链路中使用ip地址和路由穿越普通网络。 大部分协议都没有内建加密机制,所以携带他们穿越网络的很常见的方法就是使用加密(如使用IPSec)的GRE隧道,这样可以为这些协议提供安全性。(相关配置请参看GRE over IPSec)网状连接(Full-Mesh) 由于GRE是建立点对点的隧道,如果要多个端点的网状互联,则必须采用这种Hub-and-spoke的拓扑形式

相关主题