第18章 GRE技术.doc

上传人:桔**** 文档编号:557470945 上传时间:2023-01-05 格式:DOC 页数:6 大小:195.50KB
返回 下载 相关 举报
第18章 GRE技术.doc_第1页
第1页 / 共6页
第18章 GRE技术.doc_第2页
第2页 / 共6页
第18章 GRE技术.doc_第3页
第3页 / 共6页
第18章 GRE技术.doc_第4页
第4页 / 共6页
第18章 GRE技术.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《第18章 GRE技术.doc》由会员分享,可在线阅读,更多相关《第18章 GRE技术.doc(6页珍藏版)》请在金锄头文库上搜索。

1、第18章 GRE技术本章主要描述GRE协议的原理及实现。本章主要内容: GRE协议相关术语解析 GRE协议介绍 调试命令及调试信息18.1 GRE协议相关术语解析VPN虚拟专用网络(Virtual Private Network)。应用这种技术,通过Internet连接起来的两个或多个网点,其运行方式就像处于单个专用网络上。GRE通用路由封装(Generic Routing Encapsulation)。Tunnel隧道。通常指将一种协议报文封装到另一种协议内部的行为,这就使得一种协议报文能够穿越另一种协议网络。18.2 GRE协议介绍本节主要内容: GRE在TCP/IP协议栈中的层次位置 G

2、RE的报文结构 GRE的工作流程概述 GRE的优点与缺点GRE技术主要用于在源端和目的端之间形成隧道。将要通过隧道的报文用一个新的报文头(GRE报文头)进行封装,然后带着隧道终点地址放入隧道中。当报文到达隧道的终点时,GRE报文头被剥离,再用原始报文的目的地址进行寻址。GRE隧道通常是点到点的。GRE还具有为报文分组排序的能力。使用GRE隧道有可能产生性能问题,因为需要额外的封装和解封装处理。18.2.1 GRE在TCP/IP协议栈中的层次位置由于GRE的报文是直接加上IP头进行传输,因此近似认为GRE处于IP层之上。GRE协议在IP头中的协议号是47。18.2.2 GRE的报文结构通过GRE

3、隧道的报文由三部分组成。Payload packet:进入隧道之前的网络层报文(如IP报文),作为隧道报文的有效负载,该报文的协议称作GRE隧道的乘客协议。GRE header:Payload packet进入隧道后加上的GRE头,包含GRE协议本身以及和乘客协议有关的一些信息。Delivery header:封装的外部协议报文头(如IP头),即隧道所处网络的协议数据头。是实现一种协议报文穿越另一种协议网络的传输工具。GRE header的结构如下:一个最简单的GRE头部只有4个字节,即在C、K、S等标志位都为0的情况下,GRE头仅包含第0至31位的信息。 Checksum标志位第0位是Che

4、cksum标志位。仅当Checksum标志位置1时,Checksum字段才有效。 Key标志位第2位是Key标志位。仅当Key标志位置1时,Key字段才有效。 Sequence number标志位第3位是Sequence number标志位。仅当它置1时,Sequence number字段才有效。 Reserved 0和Ver字段没有使用,必须清零。 Protocol type字段Protocol type字段标识Payload packet的类型值。一般情况下,该协议字段与以太网帧的类型字段值相同。如IP报文的Protocol type = 0800。 Checksum字段Checksum字

5、段承载GRE头部的校验和。校验和必须覆盖GRE头和Payload packet。 Key字段Key字段承载隧道的密匙,隧道两端必须配置相同的密匙(或两端都不配密匙),隧道才能通。 Sequence字段Sequence字段承载报文的序号。如果设置了Sequence标志位,从隧道通过的报文都会带上序号。序号从0开始,每发出一个报文,序号加1。对端收到报文后,也会记录下收到报文的序号,如果收到失序报文,对端会将报文丢弃。Checksum,Sequence和Key字段启用与否,由tunnel checksum,tunnel sequence-datagrams和tunnel key命令控制。举例说明G

6、RE的报文结构:打阴影的为新的ip头部;打框的为gre的头部;后面则为真正的ip报文,在这里充当数据。45 00 05 f4 8f e3 00 00 7f 2f fd 85 c0 a8 01 02 c0 a8 01 01 00 00 08 00 45 00 05 dc 72 3f05f4表示该新的ip报文的总长度(1524);2f表示该新的ip报文内部所包括的协议类型:gre(47);c0a80102 c0a80101表示该新的ip报文的源地址和目的地址(tunnel的源和目的地址);0000 0800表示gre的头部:标志位全为0,表示该gre包没有校验和、密匙和序号;乘客协议为IP;18.

7、2.3 GRE的工作流程概述GRE隧道的报文在隧道源端加封装,在隧道目的端解封装,源和目的之间的转发则当作一般的报文处理。 收包:若报文的目的是路由器自己,送上层协议处理,若协议是GRE(47),则查找对应的隧道接口,找到后处理GRE头,进行一系列的检测,然后去掉外层的IP头,修改mbuf的recvif字段为本隧道接口,最后送入IP输入队列中。发包:若报文是发往隧道接口,据接口配置,加GRE头,加隧道指定的源和目的地址的IP头,根据隧道目的地址进行路由,发送此报文到路由器的物理接口。以上图为例,介绍GRE的工作原理。在Router2和Router4之间搭建了一条GRE隧道Tunnel1。Tun

8、nel1的两端引用地址分别是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决定从隧道转发包。数据包开始加封装。18.2.3.1 加封装此时需转发的数据包即为Payload packet(本例中是IP报文),隧道在其头部加上一个GRE header。GRE

9、header的Protocol type字段置为0800(IP的协议类型)。然后,再在GRE header之前再加上一个IP header(Delivery header)。IP header的协议值置为47(GRE的协议号),IP header的目的地址设为Tunnel1的目的地址21.1.1.1,将IP header的源地址设为12.1.1.1,然后根据21.1.1.1进行路由,路由结果是从12.1.1.1接口出去。加封装结束,数据包从12.1.1.1接口出去。18.2.3.2 转发Router3收到报文后,送到IP层选路。此时Router3分析的IP头其实是Deliver header(

10、Payload packet已经被封装,Router3无法达到Payload packet的IP头),因此会根据Deliver header的目的地址21.1.1.1进行路由转发。该过程一直进行到报文到达隧道的终点Router4。18.2.3.3 解封装Router4收到报文后同样先分析Delivery header,发现目的地址21.1.1.1是自己的地址,于是检查IP包的协议字段。由于协议字段是47,IP包交GRE隧道处理。隧道首先去掉Delivery header,检查GRE header的Protocol type。由于Protocol type是0800,隧道将Payload pac

11、ket交IP层在处理,完成解封装。Router4根据Payload packet的目的地址31.1.1.1路由,报文从接口21.1.1.1出去,达到真正的目的地Router5。18.2.4 GRE的优点与缺点GRE隧道技术配置简单,可以在多种物理线路上搭建隧道(PPP,X25等),将主机网络环境和VPN路由环境进行了隔离。GRE的缺点有管理费用高,隧道的规模数量大。因为GRE是用手工配置的,所以配置和维护隧道所需要的费用和隧道的数量是直接相关联的,每次隧道的终点改变,隧道要重新配置。GRE隧道技术可以满足Extranet VPN以及Intranet VPN的需求。18.3 调试命令及调试信息配

12、置GRE隧道后,要观察GRE隧道报文的收发情况,可以利用接口报文收发的调试命令。显示TUNNEL接口的物理接口报文收发的调试命令如下:debug interface XXX如TUNNEL的物理口为s0/0,使用Debug interface s0/0 all命令后,可以看到如下信息:调试信息解释1:serial0/0 input:ff 03 00 21 45 00 00 54 2b d1 00 00 ff 2f 69 a5 12 01 01 02 12 01 01 01 00 00 08 00 45 00 00 3c 1a 84 00 00 7f 01 54 c4 80 ff 2c 78 1e

13、 01 01 01 08 00 33 5c 02 00 18 00 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 691:表示从物理口收到了报文,前面为4个字节的链路首部,接下来是20字节的IP首部,该首部的目的地址和源地址分别为TUNNEL口的源地址及目的地址,然后是4个字节的GRE首部信息,由于没有配Key,Sequence-datagrams和Checksum命令,故GRE首部只有4个字节;再里面才是被封装的IP报文。2:serial0/0 outp

14、ut:ff 03 00 21 45 00 00 54 1c 3d 00 00 ff 2f 79 39 12 01 01 01 12 01 01 02 00 00 08 00 45 00 00 3c 1c 3c 00 00 ff 01 d3 0b 1e 01 01 01 80 ff 2c 78 00 00 3b 5c 02 00 18 00 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 692:表示从物理口发送了报文,前面为4个字节的链路首部,接下来是20字节的IP首部,该首部的目的地址和源地址分别为TUNNEL口的目的地址及源地址,然后是4个字节的GRE首部信息,由于没有配Key,Sequence-datagrams和Checksum命令,故GRE首部只有4个字节;再里面才是被封装的IP报文。迈普通信版权所有 翻印必究 Copyright 2005 Maipu Communication. All Rights Reserved. 6

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号