1 / 16
文档名称:

GRE详解.docx

格式:docx   大小:153KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

GRE详解.docx

上传人:镜花水月 2019/10/25 文件大小:153 KB

下载得到文件列表

GRE详解.docx

文档介绍

文档介绍:GRE(GenericRoutingEncapsulation)GRE是一种最传统的隧道协议,其根本功能就是要实现隧道功能,通过隧道连接的两个远程网络就如同直连,GRE在两个远程网络之间模拟出直连链路,从而使网络间达到直连的效果,为此,GRE需要完成多次封装,总共有3次,换句话说,就是在GRE隧道中传输的数据包都有3个爆头,因为只谈IP协议,所以GRE中的IP数据包是一层套一层,总共有3个IP地址,GRE在实现隧道时,需要创建虚拟直连链路,GRE实现的虚拟链路可以认为是隧道,隧道是模拟链路,所以隧道两端也有IP地址,但隧道需要在公网中找到起点和重点,所以隧道的源和终点分别都以公网IP地址结尾,该链路是通过GRE协议来完成的,隧道传递数据包的过程分为3步:1、接收原始IP数据包当作乘客协议,原始数据包包头的IP地址为私有IP地址。2、将原始IP数据包封装进GRE协议,GRE协议成为封装协议(EncapsulationProtocol),封装的包头IP地址为虚拟直连链路两端的IP地址。3、将整个GRE数据包当作数据,在外层封装公网的IP包头,也就是隧道的起源和终点,从而路由到隧道终点。GRE隧道中传输的数据包格式如下:注:    1、其中公网IP包头部分也成为传输协议(TransportProtocol)2、GRE会在原始IP数据包之外,额外多封装24个字节或28个字节,具体视GRE模式而定。下图为GRE传输数据过程:    GRE要在远程路由器之间创建虚拟直连链路,也就是隧道(Tunnel),如果没有该隧道,GRE不能完成隧道功能,隧道是GRE最基本的功能,也是GRE所有功能;上图环境中,当上海分公司R2将数据包IP地址封装为,GRE操作过程如下:1、假设R1与R3的GRE虚拟直连链路(隧道)已经简历,隧道链路两端的地址分别为,隧道两端的起源和终点分别为2、R1收到目标IP为,将原始数据包当作乘客数据包封装进GRE协议中,并且添加GRE包头,包头中源IP为隧道本端地址,包头中目标IP为隧道对端地址,从而完成GRE数据包的分装。3、在封装了GRE隧道地址的数据包外面分装GRE隧道起源IP地址,该IP地址为公网地址,即源IP为,目标IP为隧道终点,最后将数据包发出去。    之后,所有路由器只根据数据包最外面的公网IP进行转发,也就是只根据公网IP地址,直到数据包到达公网IP的真正目的地后,即到达R3(IP:,公网IP包头才会被剥开,当R3剥开数据包的公网IP包头后,发现GRE包头,发现目标IP地址为,从而得知自己就是GRE隧道的终点,所以继续将GRE包头剥开,最后发现目标IP地址为,然后将数据包发往通过以上GRE过程,上海分公司R2直接通过私有IP地址,最终成功与武汉分公司R4通信。    配置GRE    在远程路由器之间配置GRE,总共分为三步:1、创建虚拟链路(隧道)接口,号码任意,两端不可相同。2、配置虚拟链路(隧道)接口地址,该地址是在GRE包头中被封装的地址。3、定义虚拟链路(隧道)的源和目的,因为数据包最终要在公网中传递,所以该地址就是在公网中指导路由器转发数据包的可路由公网IP,也是建立隧道两端路由器的真实公网IP。注:1、GRETunnel只支持路由器,不支持集中器和PIX以及ASA。2、GRE支持的协议有IP,,IPX,Appletalk。3、GRE可分为Point-to-PointGRE和MultipointGRE(mGRE)两种。4、Point-to-PointGRE只能在两台路由器之间建立。5、MultipointGRE(mGRE)也可以在两台以上的路由器之间建立。6、Point-to-PointGRE支持IP单播,组播,以及IGP动态路由协议和非IP协议。7、MultipointGRE(mGRE)只支持单播,组播以及动态IGP路由协议,不支持非IP协议。    GRE隧道接口没有OSI一层协议做检测,只要本地源地址有效,并且隧道终点地址有路由可达,那么GRE隧道接口就会UP,而无论隧道对端是否已经配置隧道接口,如果GRE隧道的接口状态为down,只要达到如下3中情况任意一个即可:1、没有向往隧道终点地址的路由。2、去往隧道终点地址的路由指向了隧道接口自己。3、隧道起源地址的接口状态为down。以下面的图为例,配置GRE:说明:使用路由器R2来模拟!配置R1:Router>enRouter#conftRouter(config)#noipdoloRouter(config)#lincon0Router(config-line)#noexec-tRouter(config-line)#loggsRouter(config-line)#exitRouter(config)#hoCHENYI-R1CHENYI-

最近更新