GRE协议简介
GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP 和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。GRE 采用了Tunnel(隧道)技术,是VPN(Virtual PrivateNetwork)的第三层隧道协议。
Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装。一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程,下面以图1-1的网络为例说明这两个过程:
1. 加封装过程
Router A 连接Group 1 的接口收到X 协议报文后,首先交由X 协议处理;
X 协议检查报文头中的目的地址域来确定如何路由此包;
若报文的目的地址要经过 Tunnel 才能到达,则设备将此报文发给相应的
Tunnel 接口;
Tunnel 口收到此报文后进行GRE 封装,在封装IP 报文头后,设备根据此IP包的目的地址及路由表对报文进行转发,从相应的网络接口发送出去。
2. GRE 封装后的报文格式
封装好的报文的形式如下图所示:
举例来说,一个封装在 IP Tunnel 中的X 协议报文的格式如下:
需要封装和传输的数据报文,称之为净荷(Payload),净荷的协议类型为乘客协议(Passenger Protocol)。系统收到一个净荷后,首先使用封装协议(Encapsulation Protocol)对这个净荷进行GRE 封装,即把乘客协议报文进行了“包装”,加上了一个GRE 头部成为GRE 报文;然后再把封装好的原始报文和GRE 头部封装在IP报文中,这样就可完全由IP 层负责此报文的前向转发(Forwarding)。通常把这个负责前向转发的IP 协议称为传输协议(Delivery Protocol 或者Transport Protocol)。
根据传输协议的不同,可以分为 GRE over IPv4 和GRE over IPv6 两种隧道模式。
3. 解封装的过程
解封装过程和加封装的过程相反。
RouterB 从Tunnel 接口收到IP 报文,检查目的地址;
如果发现目的地是本路由器,则RouterB 剥掉此报文的IP 报头,交给GRE 协议处理(进行检验密钥、检查校验和及报文的序列号等);
GRE 协议完成相应的处理后,剥掉GRE 报头,再交由X 协议对此数据报进行
后续的转发处理。
说明:
GRE 收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使
用GRE 后设备的数据转发效率有一定程度的下降。
7月26 |
H3CNE认证 |
热报中 |
8月16 |
H3C-IMC认证 |
热报中 |
7月26 |
H3CNE认证 |
热报中 |
7月26 |
H3CIE+认证 |
热报中 |
8月16 |
H3C-IMC认证 |
热报中 |
7月26 |
H3CNE培训 |
热报中 |
7月26 |
H3CSE认证 |
热报中 |
8月16 |
H3C无线 |
热报中 |
7月26 |
H3CSE培训 |
热报中 |
8月16 |
H3CIMC培训 |
热报中 |
8月16 |
H3C无线培训 |
热报中 |
8月31 |
H3CEAD培训 |
热报中 |
8月16 |
H3CPME认证 |
热报中 |
8月16 |
H3C安全认证 |
热报中 |
8月16 |
H3CIMC培训 |
热报中 |
8月16 |
H3C无线培训 |
热报中 |
8月09 |
H3CEAD培训 |
热报中 |
8月16 |
H3CPME认证 |
热报中 |
8月16 |
H3C安全认证 |
热报中 |
8月16 |
H3CIMC培训 |
热报中 |
8月09 |
H3C无线培训 |
热报中 |
8月09 |
H3CEAD培训 |
热报中 |
8月09 |
H3CPME认证 |
热报中 |
8月09 |
H3C安全认证 |
热报中 |