GRE协议培训教材模板.docx
《GRE协议培训教材模板.docx》由会员分享,可在线阅读,更多相关《GRE协议培训教材模板.docx(17页珍藏版)》请在冰点文库上搜索。
![GRE协议培训教材模板.docx](https://file1.bingdoc.com/fileroot1/2023-6/11/f8c0e85c-ed7e-4712-8ae6-6c18cfc86b30/f8c0e85c-ed7e-4712-8ae6-6c18cfc86b301.gif)
GRE协议培训教材模板
VPNGRE培训教材
GRE协议培训教材
姓名:
李奉武
工号:
16983
目录
前言------------------------------------------------------------------------------------3
第一章 背景知识-VPN介绍
1VPN概述-----------------------------------------------------------------------4
1.1VPN的概念-----------------------------------------------------------4
1.2VPN的实现技术-----------------------------------------------------4
1.3VPN的类型与应用方式---------------------------------------------5
1.4VPN的优点-------------------------------------------------------------5
1.5VRP支持的VPN协议------------------------------------------------6
第二章 GRE协议介绍
1概述-----------------------------------------------------------------------------7
2GRE报文格式----------------------------------------------------------------7
3GRE工作过程----------------------------------------------------------------9
4GRE提供的服务-------------------------------------------------------------9
第三章 GRE配置命令
1命令列表-----------------------------------------------------------------------11
2详细命令说明-----------------------------------------------------------------11
2.1tunnelsourceip-address---------------------------------------------11
2.2tunneldestinationip-address----------------------------------------12
2.3tunnelkeykey-number------------------------------------------------13
2.4tunnelchecksum-------------------------------------------------------14
2.5tunnelsequence-datagrams-------------------------------------------14
2.6tunnelmodegreip-----------------------------------------------------15
第四章 配置案例
1GRE配置举例------------------------------------------------------------------18
1.1组网需求-----------------------------------------------------------------18
1.2组网图--------------------------------------------------------------------18
1.3配置-----------------------------------------------------------------------18
第五章 排错
1排错举例-------------------------------------------------------------------------21
前 言
本文从应用的角度介绍了GRE—基本路由封装、tunnel—隧道的概念与原理,其中也涉及到VPN的一些基本概念和原理。
另外还详尽的介绍了tunnel接口的配置命令以及典型配置。
第一章 背景知识—VPN介绍
1VPN概述
1.1VPN的概念
虚拟私有网(VirtualPrivateNetwork),是近年来随着Internet的发展而迅速发展起来的一种技术。
随着Internet的发展,现代企业也越来越多地倾向于利用Internet资源来进行促销、销售、售后服务,乃至培训、合作等活动,来替代它们私有数据网络。
这种利用Internet来传输私有信息而形成的逻辑网络就称为虚拟私有网。
虚拟私有网实际上就是将Internet看作一种公有数据网(PublicDataNetwork),这种公有网和PSTN网在数据传输上没有本质的区别。
因为从用户观点来看,数据都被正确传送到了目的地。
相对地,企业在这种公共数据网上建立的用以传输企业内部信息的网络被称为为私有网。
目前共有三种类型的VPN,它们分别是远程访问虚拟专网(AccessVPN)、企业内部虚拟专网(IntranetVPN)和扩展的企业内部虚拟专网(ExtranetVPN),这三种类型的VPN分别与传统的远程访问网络、企业内部的Intranet以及企业网和相关合作伙伴的企业网所构成的Extranet相对应。
这里只谈谈Intranet和ExtranetVPN。
Intranet和ExtranetVPNs通过公用网络在公司企业总部和远程办公室、供应商、合作伙伴和用户之间建立了虚拟私有网络,这种应用示意图如图一所示。
这种应用实质上是通过公用网在各个路由器之间建立VPN连接来传输用户的私有网络数据,用于构建这种VPN连接的技术有IP隧道技术如IPSec、GRE,和基于ATM或帧中继的虚电路技术等。
图一:
VPN应用示例
1.2VPN的实现技术
虚拟私有网的实现实际上是依赖于一种称之为隧道(tunnel)的技术。
隧道是一个虚拟的点对点的连接。
它提供了一条虚拟通路使封装的数据报能够在这个通路上传输(当然这个传输依赖于实际路由的实现),并且在隧道的两端分别对数据报进行封装及解封装。
隧道分为两种:
二层隧道和三层隧道。
二层隧道的典型应用有L2F、L2TP等,而IPSEC则是三层隧道的典型应用。
一个在三层隧道中传输的报文具有图二所示的格式:
图二:
三层隧道的报文格式
GRE实际上是第三层隧道的一种运载协议(CarrierProtocol)。
1.3VPN的类型与应用方式
共有三种类型的VPN,它们分别是远程访问虚拟专网(AccessVPN)、企业内部虚拟专网(IntranetVPN)和扩展的企业内部虚拟专网(ExtranetVPN),这三种类型的 VPN分别与传统的远程访问网络、企业内部的Intranet以及企业网和相关合作伙伴的企业网所构成的Extranet相对应。
1.4VPN的优点
利用公用网络构建虚拟私有网络是个新型的网络概念,它给服务提供商(ISP)和VPN用户都将带来不少的益处。
对于服务提供商来说,在通过向企业提供VPN这种增值服务,ISP可以与企业建立更加紧密的长期合作关系,同时充分利用现有网络资源,提高业务量。
事实上,VPN用户的数据流量较普通用户要大得多,而且时间上也是相互错开的。
VPN用户通常是上班时间形成流量的高峰,而普通用户的流量峰期则在工作时间之外。
ISP对外提供两种服务,资源利用率和业务量都会大大增加,将给ISP带来新的商业机会。
而对于VPN用户而言,利用Internet组建私有网,将大笔的专线费用缩减为少量的市话费用和Internet费用,无疑是非常有吸引力的;而且,企业甚至可以不必建立自己的广域网维护系统,而将这一繁重的任务交由专业的ISP来完成;VPN用户的网络地址可以由企业内部进行统一分配、VPN组网的灵活、方便性等特性将给企业的网络管理带来很大的方便;另外,在VPN应用中,通过远端用户验证以及隧道数据加密等技术使得通过公用网络传输的私有数据的安全性得到了很好的保证。
正由于其强大的吸引力,VPN在全球发展得异常红火,在北美和欧洲,VPN已经是一项相当普遍的业务;在亚太地区,该项服务也迅速开展起来。
著名的网络提供商GlobalOne在香港地区的VPN服务已经大规模开通。
而在中国大陆,网络服务提供商也开始设立VPN服务。
1.5VRP支持的VPN协议
目前,Quidway系列路由器支持的VPN协议有二层隧道的L2TP,三层隧道的GRE以及IPSec。
第二章GRE协议介绍
1概述
在CISCO的路由器中,三层隧道包括下面的几种封装协议:
GRE,Cayman(一种为了在IP上传输AppleTal有优先级的协议),EON(一种在IP网上运载CLNP的标准协议),NOS,DVMRP。
封装协议虽然很多,但基本都实行了大致的功能即:
通过封装使一种网络协议能够在另一种网络协议上传输。
目前VRP1.2只实现GRE封装形式。
GRE跟上述的其他封装形式很相似,但比他们更通用。
很多协议的细微差异都被忽略,这就导致了它不是建议用在某个特定的"XoverY"进行封装,所以是一种最基本的封装形式。
下面简要介绍GRE数据报的格式。
2 GRE报文格式
在最简单的情况下,系统接受到一个需要封装和路由的数据报,我们称之为有效报文(Payload)。
这个有效报文首先被GRE封装,然后被称之为GRE报文,这个报文接着被封装在IP报头中,然后完全由IP层负责此报文的转发(Forwarded)。
(我们也称这个负责转发的IP协议为传递(Delivery)协议或传输(Transport)协议)。
整个被封装的报文具有图三所示形式:
图三:
完整报文格式
其中GRE报文头的格式如图四所示:
图四:
GRE报头格式
下面详细说明各位的含义:
①.GRE报头的前32位(4个字节)是必须要有的,构成了GRE的基本报头。
其中前16位上是GRE的标记码,其详细说明如下:
第0位——校验有效位(ChecksumPresent):
如果置“1”,则校验信息区有效。
如果校验有效位或路由有效位被置“1”,则GRE报文中校验信息区和分片位移量区都有效。
缺省置“0”。
第1位——路由有效位(RoutingPresent):
如果置“1”,则表明分片位移量区和路由区有效,否则分片位移量区和严格源路由区无效(无严格源路由区)。
缺省置“0”。
第2位——密钥有效位(KeyPresent):
如果置“1”,表示在GRE报头中密钥信息区有效,否则密钥信息区无效(无密钥信息区)。
缺省置“0”。
第3位——顺序号有效位(SequenceNumberPresent):
如果置“1”表示顺序号信息区有效,否则无效(无顺序号信息区)。
缺省置“0”。
第4位——严格源路由有效位(StrictSourceRoute):
只有在保证所有路由信息采用严格源路由方式时,该位才置“1”。
缺省置“0”。
第5位——递归控制位(RecursionControl):
包括3位无符号整数,即被允许的附加的封装次数。
缺省设置都为“0”。
5~12位——被保留将来使用,目前必须都被被置为0。
13~15位——保留的版本信息位(VersionNumber):
版本号中必须包含0,目前被置为000。
②.GRE报头的后16位是ProtocolType(协议类型)字,明了有效数据报的协议类型。
最基本的是以IP协议和太网协议IPX,分别对应的协议号为0x800、0x8137。
③.下面是可选的GRE报头区:
(缺省都没有)
Checksum(校验信息区)16位:
校验信息区包含GRE头和有效分组补充的IP校验。
如果路由有效位或校验有效位有效则此区域有效,而仅当校验位有效时此区域包含有效效信息。
Offset(位移量区)16位:
位移量区表示从路由区开始到活动的被检测的源路由入口(SourceRouteEntry)的第一个字节的偏移量。
如果路由有效位或校验有效位有效则此区域有效,而仅当路由有效位有效时其中的信息有效。
Key(密钥区)32位:
密钥区包含封装*作插入的32位二进制数,它可以被接受者用来证实分组的来源。
当密钥位有效时此区域有效。
SequenceNumber(顺序号)32位:
顺序号区包括由封装*作插入的32位无符号整数,它可以被接受方用来对那些做了封装*作再传输到接受者的报文建立正确的次序。
④.最后是长度不定的Routing(路由)区:
一个完整的GRE报文头即由上述的数据格式所构成。
3GRE工作过程
因为GRE是Tunnel接口的一种封装协议,所以要进行GRE封装首先必须建立Tunnel。
一旦隧道建立起来,就可以进行GRE的加封装和解封装。
1.加封装过程:
由连接Novellgroup1的ethernet0接口收到的IPX数据报首先交由IPX模块处理,IPX模块检查IPX包头中的目的地址域确定如何路由此包。
如果包的目的地址被发现要路由经过网号为1f的网络(为虚拟网号),则将此包发给网号为1f的端口即为tunnel端口。
tunnel收到此包后交给GRE模块进行封装,GRE模块封装完成后交由IP模块处理,IP模块做完相应处理后根据此包的目的地址及路由表交由相应的网络接口处理。
2.解封装的过程:
解封装的过程则和上述加封装的过程相反。
从tunnel接口收到的报文交给IP模块,IP模块检查此包的目的地址,发现是此路由器后进行相应的处理(和普通的IP数据报相同)剥掉IP包头然后交给GRE模块,GRE模块进行相应处理后(如检验密钥等),去掉GRE包头然后交给IPX模块,IPX模块将此包按照普通的IPX数据报处理即可。
4GRE提供的服务
GRE模块的实现提供了的以下几种服务:
1. 多协议的本地网通过单一协议的骨干网传输的服务,如图五所示:
图五:
多协议通过单一协议传输
通过在RouterA和RouterB之间建立隧道,运行IPX协议的Group1和Group2可以进行通信,运行IP协议的Term1和Term2之间也可以进行通信,且两者之间互不影响。
2. 扩大了IPX网络的工作范围:
IPX包最多可以转发16次(既经过16个路由器),而在经过了一个隧道连接中由于IPX的报文被完整的封装起来,只在对端才解封装,所以在隧道两端看上去只经过一个路由器。
3. 将一些不能连续的子网连接起来,如图六所示:
图六:
tunnel连接不连续子网
group1和group2是两个分别在北京和上海的novell子网,运行IPX协议。
现在想通过Internet连接起来,则可以通过建立隧道来实现。
上述Tunnel设置实现了通过WAN网建立了虚拟私人网(VirtualPrivateNetwork),group1和group2实现了网间通信。
第三章 GRE配置命令
1.命令列表
GRE配置命令包括:
·tunnel source ip-address
·tunnel destination ip-address
·tunnel key key-number
·tunnel checksum
·tunnel sequence-datagrams
·tunnel mode gre ip
·ip address ip-address mask
·ipx network network-number
2.详细命令说明
2.1tunnel source ip-address
用于指定tunnel的源端地址,必须是实际物理接口的IP地址或接口;
用notunnelsource命令删除此设置。
例:
tunnelsource192.1.1.1
notunnelsource
【参数说明】
ip-address指定用于本端tunnel接口的实际物理端口的IP地址。
例:
如果serial0端口的IP地址为192.1.1.1,而tunnel接口的实际出口是serial0,则ip-address即为192.1.1.1。
【缺省情况】
无。
【命令模式】
tunnel接口模式。
【使用指南】
指定的隧道源地址是以IP地址的形式输入,一定要和实际的物理端口地址一致。
【举例】
图七:
tunnel连接示例图
例:
如图一所示:
在RouterA的Serial0端口和RouterB的Serial1端口之间建立了tunnel连接,则在 RouterA路由器上对tunnel进行如下配置:
RouterA(config-interface-serial0)#ipaddress192.100.1.0 255.255.255.0
RouterA(config-interface-tunnel0)#tunnel source 192.100.1.0
RouterB路由器对tunnel进行如下配置:
RouterB(config-interface-serial1)#ipaddress193.101.1.0 255.255.255.0
RouterB(config-interface-tunnel0)#tunnel source 193.101.1.0
【相关命令】
无
2.2tunnel destination ip-address
用于指定tunnel的对端地址,必须是对端实际物理接口的IP地址;
用notunneldestination命令删除此设置。
例:
tunneldestination193.101.1.0
notunneldestination
【参数说明】
ip-address指定用于对端tunnel接口的实际物理端口的IP地址。
例:
如果对端serial1端口的IP地址为193.101.1.0,则ip-address即为193.101.1.0。
【缺省情况】
无。
【命令模式】
tunnel接口模式。
【使用指南】
指定的隧道对端地址是以IP地址的形式输入,一定要和实际的物理端口地址一致。
【举例】
例:
如图一所示:
在RouterA的Serial0端口和RouterB的Serial1端口之间建立了tunnel连接,则在 RouterA路由器上对tunnel进行如下配置:
RouterA(config-interface-tunnel0)#tunnel destination 193.101.1.0
RouterB路由器对tunnel进行如下配置:
RouterB(config-interface-tunnel0)#tunneldestination192.100.1.0
【相关命令】
无
2.3tunnelkeykey-number
设置tunnel的识别关键字,取值范围为0~4294967295,主要用于非常弱的安全目的。
用notunnelkey来删除此设置。
【缺省情况】
不设置tunnel的识别关键字。
【命令模式】
tunnel接口模式。
【使用指南】
在一个tunnel连接的两端必须指定相同的KEY(或都不设置)。
【举例】
要求设置tunnel的识别关键字。
如图一所示:
RouterA路由器上对tunnel进行