GRE协议的封装功能简述

网络 网络管理
封装就是GRE协议的基本技术。在隧道中,进行协议的封装,可以使不同,或者是不兼容的协议能够相互传送使用。那么就让我们来看看完成这个工作的GRE协议?

接下来我们主要介绍一下GRE协议。那么什么是GRE协议呢?或许不少朋友都觉得比较陌生。那么首先我们还是简单说一下这个概念。然后对这个协议的一些结构进行一下分析。

1. GRE协议概念

通用路由封装GRE(Generic Routing Encapsulation)是对某些网络层协议(如IP和IPX)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。

GRE可以作为VPN的第三层隧道协议,在协议层之间采用隧道(Tunnel)技术。Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装。

2. 报文封装及解封装

(1) 报文的传输

报文在Tunnel中传输包括加封装与解封装两个过程,下图的网络为例说明这两个过程:

加封装过程:

连接Novell group1的接口收到IPX数据报后,首先交由IPX协议处理。

IPX协议检查IPX报头中的目的地址域来确定如何路由此包。如果发现报文的目的地址要经过网号为1f的网络(Tunnel的虚拟网号),则将此报文发给网号为1f的Tunnel接口。

Tunnel接口收到此报文后进行GRE协议封装,封装完成后交给IP模块处理,在封装IP报文头后,根据报文目的地址及路由表交由相应的网络接口处理。 

解封装过程:

解封装过程和加封装过程相反。从Tunnel接口收到IP报文,检查目的地址,当发现目的地就是此路由器时,系统去掉此报文的IP报头,交给GRE协议模块处理;GRE协议模块完成相应的处理后,去掉GRE报头,再交由IPX协议模块处理,IPX协议模块象对待一般数据报一样对此数据报进行处理。

(2) 基本概念

系统收到的需要封装和路由的数据报称为净荷(Payload),净荷首先被加上GRE协议封装,成为GRE报文;再被封装在IP报文中,这样IP层就可以完全负责此报文的转发(forward)。

负责转发的IP协议被称为传输协议(Delivery Protocol或者Transport Protocol)。封装好的报文的形式如下图所示:

封装好的报文

举例来说,一个封装在IP Tunnel中的IPX报文的格式可以表示为:

一个封装在IP Tunnel中的IPX报文

Passenger Protocol:乘客协议

Carrier Protocol/Encapsulation Protocol:运载协议/封装协议

Transport Protocol:传输协议

责任编辑:佟健 来源: 比特网
相关推荐

2010-06-24 15:23:00

GRE协议

2010-07-06 16:59:15

LDP协议

2010-07-05 11:05:37

2010-07-12 17:06:04

GRE协议

2010-06-24 14:29:58

GRE协议

2010-06-24 13:35:53

GRE协议

2010-07-05 11:40:12

GRE协议

2010-07-12 11:44:54

向量路由协议

2010-07-06 16:19:02

协议封装

2010-06-21 13:59:33

AMF协议

2010-07-12 15:53:14

动态路由协议

2010-09-09 14:06:30

SIP协议IMS

2010-06-12 17:28:35

协议封装

2010-08-02 16:17:13

2010-06-08 12:37:25

HTTP协议工作原理

2010-07-12 16:17:10

HART协议

2010-07-09 09:16:25

路由选择协议

2010-06-11 17:41:06

RIP路由协议

2010-09-14 09:19:40

2010-06-09 16:33:12

TCP IP协议组件
点赞
收藏

51CTO技术栈公众号