Internal DP500010 GRE协议原理 ISSUE1.0
前 言 GRE(Generic Routing Encapsulation) ——基本路由封装是对某些网络层协议 (如:IP, IPX,AppleTalk等)的数据报 进行封装,使这些被封装的数据报能够在另 一个网络层协议(如IP)中传输 Page 2
参考资料 VRP 3.30 《操作手册》、《命令手册》 《故障信息收集排错指导书》 Page 3
目 标 学习完此课程,您将会: 掌握GRE的概念和原理 掌握GRE的配置流程 Page 4
内容介绍 第1章 GRE 概述 Page 5
GRE GRE (Generic Routing Encapsulation): 是对某些网络层协议(如:IP, IPX, AppleTalk等)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输 GRE 提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输,异种报文传输的通道称为tunnel GRE协议实际上是一种承载协议(Carrier Protocol),它提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输,异种报文传输的通道称为tunnel。 Tunnel是一个虚拟的点对点的连接,它提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封。 Page 6
GRE的组网图 Page 7
GRE协议的特点 机制简单,对隧道两端设备的CPU负担小 不提供数据的加密 不对数据源进行验证 不保证报文正确到达目的地 不提供流量控制和QoS特性 多协议的本地网可以通过单一协议的骨干网实现传输 将一些不能连续的子网连接起来,用于组建VPN Page 8
GRE 协议栈 乘客协议 IP/IPX GRE 封装协议 IP 运输协议 链路层协议 GRE协议栈 IP GRE IP/IPX 系统接收到一个需要封装和路由的数据报文,我们称之为有效负载(Payload)。这个有效负载首先被GRE封装然后被称之为GRE报文,这个报文接着被封装在IP报文中,然后完全由IP层负责此报文的转发(Forwarding)。我们也称这个负责向前传输的IP 协议为传递(Delivery)协议或传输(Transport)协议。 GRE实际上是第三层隧道的一种运载协议(Carrier Protocol)。GRE的协议号47。 隧道源端的加封装过程: 当报文需要经由隧道接口处理时,IP层的输出函数调用tunnel接口的输出函数进行加封装处理。加封装处理结束后再进行IP转发。 隧道对端的解封装过程: 当IP层接收到GRE报文,此时IP报文头中的下一协议号是47,IP层输入入口函数会根据协议开关表调用GRE的解封装处理函数。GRE解封装完成后将数据报文送入IP输入队列。 GRE协议栈 链路层 IP GRE IP/IPX Payload 隧道接口的报文格式 Page 9
使用GRE构建VPN Tunnel 分支机构 企业总部 Internet Original Data Packet GRE Header Transfer Protocol Header Tunnel Internet 应用GRE组建Intranet VPN 或Extranet VPN:公司总部的局域网和公司分支机构或合作伙伴的局域网通过路由器之间通过GRE协议建立的Tunnel进行通信;并采用IPSec 在IP层通过加密与数据源验证,以保证数据包在Internet网上传输时的私有性、完整性和真实性。实现点到点的连接,保障了数据的安全性。 企业总部 分支机构 Page 10
小结 GRE在传统的VPN网络中应用很广泛。我们常见的私网穿越公网的GRE隧道应用,一般是私网IP报文封装成GRE报文,再用IP运输。 Page 11