GRE通用路由封装协议学习笔记

1 背景

一种技术(协议)或者策略的两个或多个子网穿过另一种技术(协议)或者策略的网络实现互联,称之为overlay topology,这一技术是电信技术的永恒主题之一。

电信技术在发展,多种网络技术并存,一种技术的网络孤岛可能需要穿过另一种技术的网络实现互联,这种情况如果发生在高层协议的PDU封装于低层协议PDU中时通常称之为复用,特别地三层PDU穿过二层网络地技术称为租用链路或虚电路;而如果穿越发生在一种协议PDU封装在同一层协议的PDU中,或者封装在高层协议的PDU中时,人们通常称之为隧道。

隧道提供了一种某一特定网络技术的PDU穿过不具备该技术转发能力的网络的手段,如组播数据包穿过不支持组播的网络;另一种情况是有时因为管理策略的原因,一个管理者(策略)的子网不能通过和另一个管理者(策略)的网络互联而连接,而是要穿过另一个管理者(策略)的网络实现连接,这就是所谓的VPN(Virtual Private Networks),不管是L2 VPN还是L3 VPN都需要利用隧道技术实现。因此隧道某种意义上可以概括为穿越不同的网络的技术,不同既可以是技术方面的,也可以是管理策略方面的。 隧道可以作为一个虚拟接口来实现。隧道接口并不指定特定的“乘客”或“传输”协议连接,而是一种结构,可以实现任何标准点到点封装的服务。由于隧道是点到点连接,因此对每个连接必须配置一个单独的隧道。

GRE是一种应用较为广泛的一种网络层协议PDU封装于任一种网络层协议PDU中的技术,经常被用来构造GRE隧道穿越各种三层网络,并得到了大多数电信设备厂商的支持。

2 GRE

2.1 简介

GRE(通用路由协议封装)是由Cisco和Net-smiths等公司于1994年提交给IETF的,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持GRE隧道协议。GRE 规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、 AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网 络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。总结来说:

  • GRE是三层协议,用一种协议来封装另一种协议,使用了隧道tunnel技术
  • 隧道是虚拟的点对点连接,所以GRE的使用过程中肯定会出现一个虚拟的隧道接口

2.2 例子

GRE进行IP封装:

gre-encap-1

GRE解封装

gre-decap-1

上面注意封装后新的协议号是47,这样对端就能发觉这是一个GRE报文,接着递交给GRE相关模块进行解封。GRE报文格式如下:

GRE-format

GRE在包头中包含了协议类型-47,这用于标明乘客协议的类型;校验和包括了GRE的包头和完整的乘客协议与数据;密钥用于接收端验证接收的数据;序列号用于接收端数据包的排序和差错控制;路由用于本数据包的路由。

2.3 应用

下面这个例子就很好的说明了GRE的使用。

gre-example

如果,在路由器AB之间(中间隔着其他网络)我想使用GRE,第一步需要配置GER的隧道接口,指明源目地址,这一步需要在隧道的两段都进行配置

##路由器A
interface T0
ip address 100.1.1.1 255.255.255.0
tunnel source 1.1.1.1
tunnel dst 1.1.1.2
##路由器B
interface T0
ip address 100.1.1.2 255.255.255.0
tunnel source 1.1.1.2
tunnel dst 1.1.1.1 (注意是反向的,一个隧道是双向的)

下面我们来解释以上配置的作用:

  • 当A上的LO接口的数据(10.1.1.1)希望走GRE隧道到达B上L0接口(20.1.1.1)
  • 此时在路由A上指定这种数据包走网关是A上T0的地址100.1.1.1(走这里才会进行GRE封装,也就是为什么GRE需要设置两段隧道接口的地址!)
  • 随后,这个数据包进行GRE封装,封装完成以后,变成一个新包,源地址是1.1.1.1目的地址是1.1.1.2(这就是GRE中设置隧道源目地址的作用,因为数据包肯定是从实际接口发出的,所以这里需要指明隧道两端的实际接口)
  • 数据包到达路由器B的1.1.1.2口,显示src=1.1.1.1,dst=1.1.1.2协议号47于是B知道了,这个是GRE报文,然后交给GRE模块处理,GRE模块解封GRE头,得到原来的信息,源地址10.1.1.1目的地址20.1.1.1,交给协议栈处理,作用到达应用处。

最后是路由器A上数据包走向的一个截图,可以参考一下:

gre-example-2

3 参考资料

http://blog.sina.com.cn/s/blog_4fad46a801015wto.html

http://wenku.baidu.com/view/b88e564ff7ec4afe04a1df4b.html

http://wenku.baidu.com/view/699d9749cf84b9d528ea7a82.html

原创文章,转载请注明: 转载自Wang Chang's Blog

本文链接地址: http://blog.wachang.net/2013/03/gre-study-note/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值