1. 协议简介

gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如ip)中传输。gre 是vpn(virtual private network)的第三层隧道协议,在协议层之间采用了一种被称之为tunnel(隧道)的技术。tunnel 是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个 tunnel 的两端分别对数据报进行封装及解封装。

一个报文要想在tunnel中传输,必须要经过加封装与解封装两个过程,下面以图3-1的网络为例说明这两个过程:

(1) 加封装过程

连接novell group1 的接口收到ipx 数据报后首先交由ipx 协议处理,ipx 协议检查ipx 报头中的目的地址域来确定如何路由此包。若报文的目的地址被发现要路由经过网号为1f 的网络(tunnel 的虚拟网号),则将此报文发给网号为1f 的tunnel端口。tunnel 口收到此包后进行gre 封装,封装完成后交给ip 模块处理,在封装ip 报文头后,根据此包的目的地址及路由表交由相应的网络接口处理。

(2) 解封装的过程

解封装过程和加封装的过程相反。从tunnel 接口收到的ip 报文,通过检查目的地址,当发现目的地就是此路由器时,系统剥掉此报文的ip 报头,交给gre 协议模块处理(进行检验密钥、检查校验和及报文的序列号等);gre 协议模块完成相应的处理后,剥掉gre 报头,再交由ipx 协议模块处理,ipx 协议模块象对待一般数据报一样对此数据报进行处理。

系统收到一个需要封装和路由的数据报,称之为净荷(payload),这个净荷首先被加上gre 封装,成为gre 报文;再被封装在ip 报文中,这样就可完全由ip 层负责此报文的向前传输(forwarded)。人们常把这个负责向前传输ip 协议称为传输协议(delivery protocol 或者transport protocol)。

封装好的报文的形式如下图所示:

举例来说,一个封装在ip tunnel 中的ipx 传输报文的格式如下:

2. 应用范围

gre 主要能实现以下几种服务类型:

(1) 多协议的本地网通过单一协议的骨干网传输

上图中,group1 和group2 是运行novell ipx 协议的本地网,term1 和term2 是运行ip 协议的本地网。通过在routera 和routerb 之间采用gre 协议封装的隧道(tunnel),group1 和group2、team1 和team2 可以互不影响地进行通信。

(2) 扩大了步跳数受限协议(如ipx)的网络的工作范围

若上图中的两台终端之间的步跳数超过15,它们将无法通信。而通过在网络中使用隧道(tunnel)可以隐藏一部分步跳,从而扩大网络的工作范围。

(3) 将一些不能连续的子网连接起来,用于组建vpn

运行novell ipx 协议的两个子网group1 和group2 分别在不同的城市,通过使用隧道可以实现跨越广域网的vpn。

GRE(Generic Routing Encapsulation)通用路由封装:是对某些网络层协议(如IP和IPX)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以作为第三层隧道协议,在协议层之间采用隧道(Tunnel)技术。Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装。 
  我们使用两台AR28进行互联,并在之间创建GRE最简单的隧道。互联拓扑图如下: 
  AR28-31<++++++++++>AR28-31 
  【AR28-1】 
  # 
  sysname AR28-1 
  # 
  interface Ethernet2/0 
  ip address 202.101.1.2 255.255.255.0 /公网IP/ 
  # 
  interface Ethernet2/1 
  ip address 192.168.1.1 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建GRE隧道 tunnel 0 
  ip address 192.168.0.1 255.255.255.252 // tunnel IP和对方tunnel IP在同一网段 
  source 202.101.1.2 //GRE隧道源地址 
  destination 202.101.2.2 //GRE隧道目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.1.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.2.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  # 
  【AR28-2】 
  # 
  sysname AR28-2 
  # 
  interface Ethernet2/0 
  ip address 202.101.2.2 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建tunnel 0 
  ip address 192.168.0.2 255.255.255.252 //tunnel IP和对方tunnel IP在同一网段 
  source 202.101.2.2 /源地址 
  destination 202.101.1.2 //目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.2.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.1.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  
  GRE 
  GRE(Generic Routing Encapsulation)通用路由封装:是对某些网络层协议(如IP和IPX)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以作为第三层隧道协议,在协议层之间采用隧道(Tunnel)技术。Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装。 
  我们使用两台AR28进行互联,并在之间创建GRE最简单的隧道。互联拓扑图如下: 
  AR28-31<++++++++++>AR28-31 
  【AR28-1】 
  # 
  sysname AR28-1 
  # 
  interface Ethernet2/0 
  ip address 202.101.1.2 255.255.255.0 //公网IP 
  # 
  interface Ethernet2/1 
  ip address 192.168.1.1 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建GRE隧道 tunnel 0 
  ip address 192.168.0.1 255.255.255.252 // tunnel IP和对方tunnel IP在同一网段 
  source 202.101.1.2 //GRE隧道源地址 
  destination 202.101.2.2 //GRE隧道目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.1.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.2.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  # 
  【AR28-2】 
  # 
  sysname AR28-2 
  # 
  interface Ethernet2/0 
  ip address 202.101.2.2 255.255.255.0 //内部私网IP 
  # 
  interface Tunnel0 //创建tunnel 0 
  ip address 192.168.0.2 255.255.255.252 //tunnel IP和对方tunnel IP在同一网段 
  source 202.101.2.2 /源地址 
  destination 202.101.1.2 //目的地址 
  # 
  ip route-static 0.0.0.0 0.0.0.0 202.101.2.1 preference 60 
  //到公网的默认路由 
  ip route-static 192.168.1.0 255.255.255.0 Tunnel 0 preference 60 
  //通过tunnel访问对方私网的路由 
  GRE隧道建立之后,我们在任何一台AR28上面都可以Ping通对方的私网地址,这个就是GRE隧道发挥的作用。GRE隧道还有更加复杂的应用,我们将陆续介绍基于华为路由器、华为交换机设备进行的GRE各种应用配置。

华为路由器GRE配置的更多相关文章

  1. 华为路由器DHCP配置基本命令

    配置基于接口地址池DHCP (动态主机配置协议) [R1]dhcp enable 路由器上开启DHCP [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]dhcp sel ...

  2. 华为路由器OSPF配置常用命令

    OSPF单区域配置 ospf 1 进入ospf视图1代表进程号 area 0 创建区域并进入OSPF区域视图,输入要创建的区域ID,骨干区域即区域0 network +IP +匹配码 display ...

  3. 华为路由器AR1220F-S的端口映射NAT配置(拨号光纤上网)

    telnet 登录 或者ssh登录路由器 //进入系统试图界面 sys-view //第一步. 添加acl规则, 允许内网本身访问对外的公网ip. 否则,只能外部人员访问你的公网ip [Huawei] ...

  4. win7下利用ftp实现华为路由器的上传和下载

    win7下利用ftp实现华为路由器的上传和下载 1.  Win7下ftp的安装和配置 (1)开始->控制面板->程序->程序和功能->打开或关闭Windows功能 (2)在Wi ...

  5. win7下利用ftp实现华为路由器的配置文件上传和下载

    win7下利用ftp实现华为路由器的配置文件上传和下载 1.  Win7下ftp的安装和配置 (1)开始—>控制面板—>程序—>程序和功能—>打开或关闭Windows功能 (2 ...

  6. HCNP学习笔记之史上最全华为路由器交换机配置命令大合集

    先来一张思科和华为命令的对照表: 史上最全华为路由器交换机配置命令大合集,熟练掌握下面的华为路由器交换机配置知识点,你只需花几分钟的时间就能明白华为路由器交换机配置.交换机的配置命令等等. 华为路由器 ...

  7. Zabbix监控华为路由器配置

    zabbix监控华为路由器 一.配置路由器界面: 开启snmpv2c功能,同时勾选v2c版本(不要勾v1,不安全,其实v2也不安全,如果很注重安全的话,一定要只配置v3). 手里没有路由器登录账号,大 ...

  8. zabbix4.2配置监控华为路由器:基于ENSP模拟器

    一.基于ENSP模拟器的华为路由器 这里是华为模拟器中的设备,并不是真机,所以要先保证华为模拟器中的网络设备可以和物理主机.虚拟机能通信,这是前提.如何保证通信请看之前的文章:https://www. ...

  9. 华为路由器RIP路由协议配置命令

    RIP路由协议配置 rip 创建开启协议进程 network + ip 对指定网段接口使能RIP功能IP地址是与路由器直连的网段 debugging rip 1 查看RIP定期更新情况 termina ...

随机推荐

  1. Sublime text —— 自定义主题Soda

    编辑器的主题有两种,一种是语法高亮颜色主题,一种是编辑器自身显示主题,如果要自定义编辑器样式,个人推荐soda. Ctrl+Shift+p 输入install,接着输入  soda,选择  Theme ...

  2. Android 如何添加一个apk使模拟器和真机都编译进去 m

    添加一个apk都需要将LOCAL_PACKAGE_NAME的值添加到PRODUCT_PACKAGES才行.而PRODUCT_PACKAGES一般在build/target/product/目录下的文件 ...

  3. React Native超棒的LayoutAnimation(布局动画)

          该文翻译自:https://medium.com/@Jpoliachik/react-native-s-layoutanimation-is-awesome-4a4d317afd3e#.6 ...

  4. POJ 3216 Repairing Company(最小路径覆盖)

    POJ 3216 Repairing Company id=3216">题目链接 题意:有m项任务,每项任务的起始时间,持续时间,和它所在的block已知,且往返每对相邻block之间 ...

  5. [javase学习笔记]-8.6 静态的内存载入

    之前几节我们一直在说statickeyword所修饰的静态,那么在程序执行时,内存中static是怎样体现的呢?这一节我们就来看一看. 我们还是先看一个样例.希望我们通过对这个样例的分析让我们刚開始学 ...

  6. Android Webview SSL 自签名安全校验解决方案

    服务器证书校验主要针对 WebView 的安全问题. 在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会 ...

  7. ASP.NET MVC中全局异常处理

    以前不知道从哪里找到的处理全局异常的,觉得蛮好用就记下来了. 1, 建立MyExecptionAttribute.cs类,写入如下代码: using System; using System.Coll ...

  8. PCIE 调试过程记录

    遇到的问题 PCIE link不稳定 配置空间读写正常,Memory mapping空间读写异常 缘由 之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内.板间的高速BU ...

  9. 自己定义转场动画--Swift3.0版本号

    转场动画这事.说简单也简单.能够通过presentViewController:animated:completion:和dismissViewControllerAnimated:completio ...

  10. 解决myeclipse/eclipse创建或导入maven工程时引发的问题

    起因: 最近学习maven,按照教程把命令行创建的maven工程导入到eclipse/myeclipse,由于库中没有一些依赖包,所以在导入工程的时候开发工具自动下载依赖包.可是,由于天朝特殊环境的问 ...