通用路由封装协议 - GRE

发布于:2025-04-03 ⋅ 阅读:(16) ⋅ 点赞:(0)

认识VPN

虚拟专用网(Virtual Private Network),简称VPN。

  • 作用:
    • 利用共享网络构建专有私网,跨越公网,访问私网主机。
  • 优势:
    • 部署简单快捷。
    • 与私有网络一样提供安全性、可靠性和可管理性。
    • 通过Internet互联,不受地理位置限制,成本低。
    • 简化用户侧的配置和维护工作。

隧道技术

  • VPN的核心技术之一。
  • 其实质上就是使用一种协议去封装另一种协议。
  • 封装包格式(假设由协议A去封装协议B)
    • 在这里插入图片描述

      • 从右向左封装。
      • 载荷数据
        • 被封装的原始数据。
      • 载荷协议
        • 被封装在内层的协议。
      • 封装协议
        • 对载荷协议的封装方式(一般用来标识用哪种VPN技术)。
      • 承载协议
        • 再次封装的外层协议。

VPN按使用场景分类

  • site-to-site vpn
    • 站点到站点的VPN,用于连接不同分支机构的VPN。
    • LAN-TO-LAN VPN(通信双方需要固定的公网地址)、IPSec VPN、GRE VPN等。
  • access vpn
    • 用于把单个移动用户接入到公司内网。
    • L2TP VPN(基本淘汰)、SSL VPN等。

VPN按工作层次分类

  • 二层
    • L2TP VPN。
  • 三层
    • IPSec VPN、GRE VPN等。
  • 七层
    • SSL VPN。

GRE

通用路由封装( Genric Routing Encapsulation),简称GRE。标准的三层隧道技术,是一种点对点的隧道,在任意一种网络协议上传送任意一种其他网络协议的封装方法。

GRE VPN

  • 直接使用GRE封装建立GRE隧道,在一种协议的网络上传送其他协议。

  • 最简单的VPN,一般和 IPsec VPN搭配使用。

  • 构建GRE VPN需要用到虚拟的隧道接口(Tunnel),数据由虚拟隧道接口发出和接收。

GRE封装包格式(网络层若使用IP协议)

  • 相对正常封装过程增加了新IP头和GRE头。

  • 在这里插入图片描述

    • 由右向左封装。
    • 新IP头
      • GRE封装后新添加的IP头部源IP地址为公网IP地址,用于在公网中寻址。其中协议号为47,代表该数据包使用GRE封装。
    • GRE头
      • 使用以太类型0x0800标识载荷协议为IP协议。

工作过程(所有VPN大致工作过程相似)

  1. 私网内数据发出,找到私网网关,网关将数据包发往隧道(Tunel)口。
  2. 数据包在Tunel口进行封装公网IP头部。
  3. 根据公网IP头部查找路由表,并转发。
  4. 数据包在公网进行传输。
  5. 对端私网网关的公网端口收到该数据包并解除公网IP头部封装会因为协议号为47将数据交给GRE协议处理,GRE头部有以太类型0x0800标识载荷协议为IP协议,将数据交给IP协议处理,最后在IP头部得到私网路由信息进行寻址。
  6. 私网内查找私网路由并转发至目的主机。

隧道配置要求

  • 隧道两边接口名称需要一样。
  • 两边IP地址在一个网段(近似于直连)。
  • 需要配置私网通往公网的出接口公网IP地址(封装在新的IP头部用于穿越公网)。
  • 公网必须全网通。

优缺点

  • 优点
    • 可以用当前最为普遍的IP网络作为承载网络。
    • 支持多种网络层协议。
    • 支持组播和动态路由协议。
    • 配置简单、部署容易。
  • 缺点
    • 点对点隧道(只支持两端互联,不能存在第三方)。
    • 静态配置隧道参数(手动配置固定参数,灵活性不强)。
    • 布置复杂连接关系时代价巨大。
    • 缺乏安全性。
    • 不能分割地址空间(不能解决两端私网地址冲突的问题)。

多隧道冗余

  • 建立多条隧道,保证数据转发的稳定性。

  • 主隧道转发数据,备用隧道处于空闲状态,主隧道一旦发生问题,备用隧道顶上。

  • 为避免隧道假死,需要开启Keepalive来检测隧道的运行状态。

    • Keepalive报文,定期发送数据包保活,若规定时间内发包无应答,则认为对方宕机,将对方状态调整为down,启用备用隧道转发数据。两端保活间隔时间应该相同。

MGRE

多点通用路由封装协议(Multi Genric Routing Encapsulation),简称MGRE。

MGRE VPN

  • 适合多个分公司需要和总部连接的情况。通过构建公共隧道实现总部和分部、分部与分部之间的通信,所有私网中,有一方的公网地址必须固定(总公司),其他私网公网地址可以不固定。
  • 工作原理与GRE相同,但是因为除总公司外的私网公网地址可以不固定,所以除了总公司外的分公司私网不用配置封装时的公网地址。不固定的私网公网地址通过NHRP协议获取。

NHRP

下一跳解析协议(Next Hop Resolution Protocol),简称NHRP。

工作原理

  1. 在私网中选择一个NHRP中心站点,其出口的公网IP必须是固定的(总公司)。
  2. NHRP中心站点要求所有分支都需要将自己物理接口IP和隧道IP发给中心站点(发生变化就需要重新发送)。
  3. NHRP中心会将所有的分支的地址映射关系动态的记录在本地,需要发送信息时查询即可。
  4. 分支之间需要发送信息也需要获取这个映射关系,就需要先问NHRP中心站点要。
  5. 在同一个NHRP域中的设备才能向域中的中心站点注册和询问地址信息。

网站公告

今日签到

点亮在社区的每一天
去签到