GRE技术.docx

上传人:b****0 文档编号:9056121 上传时间:2023-05-16 格式:DOCX 页数:7 大小:65.28KB
下载 相关 举报
GRE技术.docx_第1页
第1页 / 共7页
GRE技术.docx_第2页
第2页 / 共7页
GRE技术.docx_第3页
第3页 / 共7页
GRE技术.docx_第4页
第4页 / 共7页
GRE技术.docx_第5页
第5页 / 共7页
GRE技术.docx_第6页
第6页 / 共7页
GRE技术.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

GRE技术.docx

《GRE技术.docx》由会员分享,可在线阅读,更多相关《GRE技术.docx(7页珍藏版)》请在冰点文库上搜索。

GRE技术.docx

GRE技术

GRE技术

目录

第1章简介1

第2章相关术语解析2

第3章协议介绍3

3.1GRE在TCP/IP协议栈中的层次位置3

3.2GRE的报文结构3

3.3GRE的工作流程概述5

3.3.1加封装6

3.3.2转发7

3.3.3解封装7

3.4GRE的优点与缺点7

第4章典型应用7

第1章简介

本章主要描述GRE协议的原理及实现。

本章主要内容:

●相关术语解析

●协议介绍

●典型应用

第2章相关术语解析

VPN――虚拟专用网络(VirtualPrivateNetwork)。

应用这种技术,通过Internet连接起来的两个或多个网点,其运行方式就像处于单个专用网络上。

GRE――通用路由封装(GenericRoutingEncapsulation)。

Tunnel――隧道。

通常指将一种协议报文封装到另一种协议内部的行为,这就使得一种协议报文能够穿越另一种协议网络。

第3章协议介绍

本节主要内容:

●GRE在TCP/IP协议栈中的层次位置

●GRE的报文结构

●GRE的工作流程概述

●GRE的优点与缺点

GRE技术主要用于在源端和目的端之间形成隧道。

将要通过隧道的报文用一个新的报文头(GRE报文头)进行封装,然后带着隧道终点地址放入隧道中。

当报文到达隧道的终点时,GRE报文头被剥离,再用原始报文的目的地址进行寻址。

GRE隧道通常是点到点的。

GRE还具有为报文分组排序的能力。

使用GRE隧道有可能产生性能问题,因为需要额外的封装和解封装处理。

3.1GRE在TCP/IP协议栈中的层次位置

由于GRE的报文是直接加上IP头进行传输,因此近似认为GRE处于IP层之上。

GRE协议在IP头中的协议号是47。

3.2GRE的报文结构

通过GRE隧道的报文由三部分组成。

Payloadpacket:

进入隧道之前的网络层报文(如IP报文),作为隧道报文的有效负载,该报文的协议称作GRE隧道的乘客协议。

GREheader:

Payloadpacket进入隧道后加上的GRE头,包含GRE协议本身以及和乘客协议有关的一些信息。

Deliveryheader:

封装的外部协议报文头(如IP头),即隧道所处网络的协议数据头。

是实现一种协议报文穿越另一种协议网络的传输工具。

GREheader的结构如下:

一个最简单的GRE头部只有4个字节,即在C、K、S等标志位都为0的情况下,GRE头仅包含第0至31位的信息。

Checksum标志位

第0位是Checksum标志位。

仅当Checksum标志位置1时,Checksum字段才有效。

Key标志位

第2位是Key标志位。

仅当Key标志位置1时,Key字段才有效。

Sequencenumber标志位

第3位是Sequencenumber标志位。

仅当它置1时,Sequencenumber字段才有效。

Reserved0和Ver字段

没有使用,必须清零。

Protocoltype字段

Protocoltype字段标识Payloadpacket的类型值。

一般情况下,该协议字段与以太网帧的类型字段值相同。

如IP报文的Protocoltype=0800。

Checksum字段

Checksum字段承载GRE头部的校验和。

校验和必须覆盖GRE头和Payloadpacket。

Key字段

Key字段承载隧道的密匙,隧道两端必须配置相同的密匙(或两端都不配密匙),隧道才能通。

Sequence字段

Sequence字段承载报文的序号。

如果设置了Sequence标志位,从隧道通过的报文都会带上序号。

序号从0开始,每发出一个报文,序号加1。

对端收到报文后,也会记录下收到报文的序号,如果收到失序报文,对端会将报文丢弃。

Checksum,Sequence和Key字段启用与否,由tunnelchecksum,tunnelsequence-datagrams和tunnelkey命令控制。

举例说明GRE的报文结构:

打阴影的为新的ip头部;打框的为gre的头部;后面则为真正的ip报文,在这里充当数据。

450005f48fe300007f2ffd85c0a80102c0a8010100000800450005dc723f

05f4-表示该新的ip报文的总长度(1524);

2f-表示该新的ip报文内部所包括的协议类型:

gre(47);

c0a80102c0a80101-表示该新的ip报文的源地址和目的地址(tunnel的源和目的地址);

00000800-表示gre的头部:

标志位全为0,表示该gre包没有校验和、密匙和序号;乘客协议为IP;

3.3GRE的工作流程概述

GRE隧道的报文在隧道源端加封装,在隧道目的端解封装,源和目的之间的转发则当作一般的报文处理。

收包:

若报文的目的是路由器自己,送上层协议处理,若协议是GRE(47),则查找对应的隧道接口,找到后处理GRE头,进行一系列的检测,然后去掉外层的IP头,修改mbuf的recvif字段为本隧道接口,最后送入IP输入队列中。

发包:

若报文是发往隧道接口,据接口配置,加GRE头,加隧道指定的源和目的地址的IP头,根据隧道目的地址进行路由,发送此报文到路由器的物理接口。

以上图为例,介绍GRE的工作原理。

在Router2和Router4之间搭建了一条GRE隧道Tunnel1。

Tunnel1的两端引用地址分别是12.1.1.1和21.1.1.1。

并在Router2上配置了静态路由,31.0.0.0的网络通过Tunnel1可达。

现在从Router1上发一个数据包,其目的地址是31.1.1.1。

通过路由选路,数据包从端口11.1.1.1出去。

此时的IP报文源和目的地址分别是11.1.1.1和31.1.1.1。

数据包到达Router2后,Router2进行路由选路,由于静态路由的存在,Router2决定从隧道转发包。

数据包开始加封装。

3.3.1加封装

此时需转发的数据包即为Payloadpacket(本例中是IP报文),隧道在其头部加上一个GREheader。

GREheader的Protocoltype字段置为0800(IP的协议类型)。

然后,再在GREheader之前再加上一个IPheader(Deliveryheader)。

IPheader的协议值置为47(GRE的协议号),IPheader的目的地址设为Tunnel1的目的地址21.1.1.1,将IPheader的源地址设为12.1.1.1,然后根据21.1.1.1进行路由,路由结果是从12.1.1.1接口出去。

加封装结束,数据包从12.1.1.1接口出去。

3.3.2转发

Router3收到报文后,送到IP层选路。

此时Router3分析的IP头其实是Deliverheader(Payloadpacket已经被封装,Router3无法达到Payloadpacket的IP头),因此会根据Deliverheader的目的地址21.1.1.1进行路由转发。

该过程一直进行到报文到达隧道的终点Router4。

3.3.3解封装

Router4收到报文后同样先分析Deliveryheader,发现目的地址21.1.1.1是自己的地址,于是检查IP包的协议字段。

由于协议字段是47,IP包交GRE隧道处理。

隧道首先去掉Deliveryheader,检查GREheader的Protocoltype。

由于Protocoltype是0800,隧道将Payloadpacket交IP层在处理,完成解封装。

Router4根据Payloadpacket的目的地址31.1.1.1路由,报文从接口21.1.1.1出去,达到真正的目的地Router5。

3.4GRE的优点与缺点

GRE隧道技术配置简单,可以在多种物理线路上搭建隧道(PPP,FrameRelay等),将主机网络环境和VPN路由环境进行了隔离。

GRE的缺点有管理费用高,隧道的规模数量大。

因为GRE是用手工配置的,所以配置和维护隧道所需要的费用和隧道的数量是直接相关联的,每次隧道的终点改变,隧道要重新配置。

第4章典型应用

GRE隧道技术可以满足ExtranetVPN以及IntranetVPN的需求。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2