Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

GGSN 概述

网关 GPRS 支持节点 (GGSN) 通过服务网关 GPRS 支持节点 (SGSN) 转换来自移动用户的传入数据流量,并将其转发到相关网络,反之亦然。GGSN 和 SGSN 共同构成 GPRS 支持节点 (GSN)。

了解 GGSN 重定向

Junos OS 支持 GPRS 隧道协议 (GTP) 流量和网关 GPRS 支持节点 (GGSN) 重定向。GGSN (X) 可以发送 create-pdp-context 响应,其中可以为后续 GTP-C 和 GTP-U 消息指定不同的 GGSN IP 地址(GGSN Y 和 GGSN Z)。因此,SGSN 会将后续 GGSN 隧道协议、控制 (GTP-C) 和 GGSN 隧道协议、用户平面 (GTP-U) 消息发送至 GGSN Y 和 Z,而非 X。

GGSN 池方案概述

通用分组无线服务 (GPRS) 隧道协议 (GTP) 在隧道创建过程中支持不同的网关 GPRS 支持节点 (GGSN) IP 地址。有两种 GGSN 池方案支持服务 GPRS 支持节点 (SGSN) 漫游。

了解场景 1 的 GGSN 池

图 1 中,GTP 隧道创建过程中,数据包数据协议 (PDP) 上下文请求将从 SGSN A 发送到 GGSN B。发送 PDP 上下文请求消息后,GGSN D 会记录请求信息,并使用与请求数据包的目标 IP 地址不同的目标 IP 地址将响应消息发送至 SGSN A。

在这种情况下,两条 GTP 数据包消息会通过中心点发送到服务处理单元 1 (SPU1) 和 SPU2,并由 SPU1 和 SPU2 分别处理这些消息。会话在每个 GTP 数据包的 SPU1 和 SPU 2 上创建。SPU1 记录请求数据包信息,SPU2 记录响应数据包信息。

由于缺少请求信息,从 GGSN D 发送到 SGSN A 的 PDP 响应消息被丢弃。因此无法建立 GTP 隧道。

图 1:GGSN 池方案 1 GGSN Pooling Scenario 1
注意:

SPU2 无法从 SPU1 检索请求信息。

将请求信息安装到远程 SPU

在这种情况下,由于缺少请求信息,PDP 响应数据包被丢弃,并且 GTP 隧道未建立。通过在正确的 SPU 上安装请求信息,即可解决此问题。

图 2 中,创建隧道时,响应数据包的 GGSN IP 地址发生变化,从而触发新会话,中心点将消息分发到其他 SPU。

响应数据包始终发送至请求数据包的源地址至 SPU。这有助于将请求信息安装到远程 SPU,以接收下一个响应数据包。

在处理请求数据包时,将请求信息安装到可预测的 SPU、HASH(req-src-ip) 功能中。通过 PDP 请求消息的源 IP 地址计算预期 SPU 编号 (哈希 (10.1.1.1) = SPU2)之后,请求信息将通过瞻博网络消息传递接口 (JMPI) 安装在远程 SPU2 中。

图 2:功能:GGSN 池场景 1 Functionality : GGSN Pooling Scenario 1

现在,请求信息已安装在本地 SPU1 和远程 SPU2 上,因此允许 PDP 响应消息。

场景 1 的应对方案

在场景 1 中,从 SGSN A 发送的 PDP 上下文请求消息到达 Junos OS 默认应用程序 junos-gprs-gtp ,并且已为 PDP 上下文请求消息启用 GTP 检查。但是,从 GGSN D 发送的 PDP 上下文响应消息无法访问 Junos OS 默认应用程序 junos-gprs-gtp。因此,GTP 模块不会对数据包进行检测。

作为应对方案,您需要通过配置自定义策略和应用程序,为 PDP 上下文响应消息启用 GTP 检查。请参阅 配置 GGSN 自定义策略/应用程序

了解场景 2 的 GGSN 池

图 3 中,GTP 隧道创建过程中,数据包数据协议 (PDP) 上下文请求将从 SGSN A 发送至 GGSN B。收到 PDP 上下文请求消息后,GGSN B 将 PDP 上下文响应消息发送至 SGSN A。接收 PDP 上下文响应消息后,在 SGSN C 和 GGSN D 之间创建 GTP-C 隧道。然后,SGSN C 使用与请求数据包的 IP 报头不同的源和目标 IP 地址,向 GGSN D 发送更新 PDP 上下文请求消息。

在场景 2 中,SGSN A 会创建第一个 GTP 上下文请求,并通过中心点将其发送至 SPU。为 SPU1 上的请求数据包创建会话。从 GGSN B 发送到 SGSN A 的响应数据包会正确到达会话。

从 SGSN A 发送的请求数据包表示 GTP-C 建立在控制 IP 10.1.1.2 上,而 GTP-U 基于数据 IP 10.1.1.3 建立。同样,从 GGSN 发送的响应消息表示 GTP-C 建立在控制 IP 10.2.2.3 上,GTP-U 基于数据 IP 10.2.2.4 建立。

建立所有端点后,GTP-C 和 GTP-U 隧道将在本地 SPU1 上创建。但是,未在 SPU 2 上建立隧道,因此从 SPU2 接收的 PDP 更新请求消息将被删除。

图 3:GGSN 池方案 2 GGSN Pooling Scenario 2

将隧道信息安装到远程 SPU

在场景 2 中,由于缺少隧道信息,更新请求数据包被丢弃。在处理请求和响应数据包后,将隧道信息安装到正确的 SPU,可以解决此问题。接收响应数据包的 SPU 将隧道信息安装在本地或远程 SPU 上。

图 4 中,建立隧道后,控制消息会发送到控制隧道端点。所有控制消息的目标 IP 地址应为控制隧道的 GGSN 端点 IP 地址。这有助于提前计算后续控制消息的远程 SPU 编号。

将隧道信息安装到可预测的 SPU 中。通过控制隧道 GGSN 端点 IP 计算 SPU 编号后,隧道信息将通过 JMPI 安装在远程 SPU 中。

图 4:功能:GGSN 池方案 2 Functionality : GGSN Pooling Scenario 2

现在,隧道信息已安装在远程 SPU2 上,因此允许 PDP 更新响应消息。

示例:配置 GGSN 自定义策略和应用程序

此示例说明如何配置网关 GPRS 支持节点 (GGSN) 自定义策略和应用程序以支持 GGSN 池场景 1。

要求

此示例使用以下硬件和软件组件:

  • SRX5400 设备

  • 一台 PC

  • Junos OS 12.1X44-D10 版

配置

配置 GGSN 自定义策略

概述

此示例说明如何为 GTP 流量配置安全策略,使流量在发生 GTP 池时发挥作用。当启用 GTP 分布功能(无论是否进行 GTP 检查)时,此示例也将使 GTP 流量正确流动。我们在这里做的就是在两个方向上配置安全策略,镜像。在这两个方向上,我们使用相同的地址对象和相同的应用程序。除了常规 GTP 应用 junos-gprs-gtp 之外,我们还创建自定义反向 GTP 应用程序,名为 reverse-junos-gprs-gtp。此反向 GTP 应用将使 GTP 数据包与安全策略匹配,即使其源 UDP 端口是众所周知的 GTP 端口也是如此。这样,所有 GTP 流量都将与策略匹配,并作为 GTP 流量得到正确处理。

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层级的 [edit] CLI 中,然后从配置模式进入 commit

如果使用 GTP 分布功能而不进行 GTP 检查,请勿创建 GTP 配置文件,也不要将应用程序服务 gtp 配置文件应用于安全策略。

逐步过程

要配置 GGSN 自定义策略:

  1. 配置源地址。

  2. 配置目标地址。

  3. 配置策略应用程序。

  4. 配置活动类型并指定 GTP 配置文件名称。

    在没有 GTP 检查的情况下使用 GTP 分布功能时:

  5. 再次配置相同,反转安全区域信任和不信任。

结果

在配置模式下,输入命令以确认 show security policies 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。

在提交配置之前,我们需要配置反向 GTP 应用程序。

配置反向 GTP 应用程序

使用 GTP 分布 功能时,流会话将设置为单向。将它们设置为单向的此操作由 GTP ALG 执行(即使在不使用 GTP 检查时也是如此)。因此,需要将 GTP ALG 应用于所有 GTP 流量。

预定义的应用程序 junos-gprs-gtp 配置了 GTP ALG。但是,在某些情况下,GTP 流量可能与此应用程序不匹配,而当使用与标准 GTP UDP 端口不同的源端口时,将会出现返回流量的情况。在这种情况下,反向会话翼可以有一个随机目标端口和标准 GTP 端口作为源端口。为了确保在这种情况下将 GTP ALG 应用于此反向 GTP 流量,需要将以下“反向”GTP 应用程序添加到所有 GTP 安全策略中。

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层级的 [edit] CLI 中,然后从配置模式进入 commit

验证

确认配置工作正常。

验证配置

目的

验证 GGSN 自定义策略配置是否正确。

行动

提交配置并退出。在操作模式下,输入 show security policies 命令。

示例输出
命令名称

此输出显示策略配置摘要。