<!-- title: 5G LADN本地数据网络信令拆解 -->
<!-- domain: slicing-mec -->

# 5G LADN 本地数据网络信令机制全链拆解

## 一、为什么需要 LADN：从"全网可达"到"区域限定"

在 5G 之前，APN/DNN 所标识的数据网络（DN）对 UE 而言是"全网可达"的——只要订阅了该 DNN，UE 无论身处哪个跟踪区（TA），都可以建立到该 DN 的 PDU 会话。这种模型在云化、中心化的互联网出口场景下工作良好，但在**边缘计算（MEC）和企业园区**场景中暴露出三大问题：

1. **迂回路由（Tromboning）**：当 UE 移动到一个本地 UPF（PSA）覆盖范围之外的区域，仍维持着指向远端/本地锚点的会话，用户面流量被迫绕行远端 UPF，时延剧增、骨干带宽浪费。
2. **无效会话占用资源**：UE 离开了园区覆盖区，但到园区本地 DN 的会话依然存在，持续占用 UPF 的 N4 会话、N3/N9 隧道与 SMF 上下文。
3. **本地资源不可用却仍建会话**：UE 在园区外请求园区内私有 DNN，会话建立到远端毫无意义，却消耗了 SMF/UPF 的处理开销。

3GPP 在 Release 15 即引入了 **LADN（Local Area Data Network，本地数据网络）** 机制来解决这些问题。其核心思想极其简洁：**把一个 DNN 绑定到一个由若干跟踪区（TA）构成的"LADN 服务区（LADN Service Area）"上，只有当 UE 物理上位于该服务区内时，才允许建立并维持到该 DNN 的 PDU 会话**；一旦 UE 离开服务区，网络侧主动释放这些会话。

LADN 由两个要素唯一确定（TS 23.501 §5.6.5）：

- 一个 **DNN**（Data Network Name）；
- 一个 **LADN Service Area**，定义为一组跟踪区标识（TAI）的集合。

它本质上是 DNN 的一个"地理属性"，是对"数据网络可达性"做了空间维度的约束。

## 二、协议架构与网元职责

LADN 并未引入新的网元，而是**复用 AMF 的移动性管理能力**来实现区域约束，这是其设计的精妙之处。

| 网元 | LADN 相关职责 | 关键接口/信令 |
|------|--------------|--------------|
| **UDM** | 存储订阅的 LADN 信息：哪些 DNN 是 LADN DNN，以及对应的 LADN 服务区（TAI 列表） | `Nudm_SDM_Get` 返回 `AccessAndMobilitySubscriptionData`，内含 `LadnInfo` |
| **AMF** | 核心执行者：下发 LADN 信息、判定 UE 是否在服务区内、在区域外拒绝建立、在 UE 离开时触发释放 | NAS Registration Accept / UCU Command、`Nsmf_PDUSession_*` |
| **SMF** | 执行 PDU 会话的建立与释放；为 LADN 会话通常选择本地 UPF | `Nsmf_PDUSession_CreateSMContext` / `ReleaseSMContext`、N4 |
| **UE** | 维护收到的 LADN 信息，依据当前 TA 自行判断 LADN 可达性；仅在服务区内发起 LADN 会话建立 | NAS `LADN Information` IE 解析 |
| **(R)AN / UPF** | 透明承载；UPF 通常部署为本地 PSA | N2 / N3 / N9 |

设计上，**判定 UE 位置是否在 LADN 服务区内的工作由 AMF 完成**，而非 UE。其好处是：AMF 在每一个移动性事件（注册、注册更新、切换）中本来就要更新 UE 当前 TA，判定 LADN 可达性只是对已有信息的二次利用，**无需任何额外的空口测量或新信令**。

## 三、LADN 信息的数据建模与 IE 结构

订阅数据侧，UDM 中每个 UE 的签约包含 LADN 订阅信息。当 AMF 通过 `Nudm_SDM_Get`（订阅数据获取服务，TS 29.503）拉取接入与移动性订阅数据时，得到的 `LadnInfo` 是一个列表，每条记录形如 `{DNN, List of TAI}`。

空口侧，AMF 通过 NAS 消息把"LADN 信息"下发给 UE，承载 IE 为 TS 24.501 §9.11.3.30 定义的 **`LADN Information`**。其内部结构如下：

```mermaid
flowchart TD
    A["LADN Information IE<br/>(TS 24.501 §9.11.3.30)"] --> B["LADN Information List<br/>0..N 条"]
    B --> C1["Entry #1"]
    B --> C2["Entry #2"]
    B --> CN["Entry #N"]
    C1 --> D1["DNN<br/>(Data Network Name)"]
    C1 --> D2["5GS Tracking Area Identity List<br/>(本 DNN 的 LADN 服务区)"]
    D2 --> E1["Partial Tracking Area List 1<br/>(PLMN-ID + TAC 集合)"]
    D2 --> E2["Partial Tracking Area List 2"]
```

`LADN Information` IE 的关键参数说明：

| 参数 | 含义 | 作用 |
|------|------|------|
| `DNN` | LADN 数据网络名 | 标识哪个本地 DN，UE 据此选择目标网络 |
| `5GS Tracking Area Identity List` | 跟踪区标识列表 | 定义该 DNN 的 LADN 服务区边界 |
| `Partial Tracking Area List` | 部分跟踪区列表 | 压缩编码，列出 PLMN 及其下属多个 TAC |

UE 收到后，会用该列表与自身当前的 TA 做比对，从而知道"我现在能不能用这个 LADN DNN"。

## 四、信令流程一：注册与配置更新中下发 LADN 信息

LADN 信息并非随时下发，而是在**注册流程**和**UE 配置更新流程**中传递给 UE（TS 23.502 §4.2.2.2、§4.2.4）。AMF 并非把所有订阅的 LADN 都发给 UE，而是**只下发其 LADN 服务区与 UE 当前注册区有交集的那些 LADN DNN**——这是为了节省空口开销。

```mermaid
sequenceDiagram
    participant UE
    participant AN as (R)AN
    participant AMF
    participant UDM

    UE->>AN: Registration Request (初始注册/移动性注册更新)
    AN->>AMF: 转发 N2 + NAS Registration Request
    AMF->>UDM: Nudm_SDM_Get (SUPI, 订阅数据获取)
    Note over UDM: 返回 AccessAndMobilitySubscriptionData<br/>含 LadnInfo: [{DNN, [TAI...]}, ...]
    UDM-->>AMF: 订阅数据 (含 LADN 订阅)
    Note over AMF: 计算: 取 LADN服务区 ∩ 注册区<br/>有交集的 LADN DNN 列表
    AMF-->>AN: Registration Accept<br/>(携带 LADN Information IE)
    AN-->>UE: 转发 Registration Accept
    Note over UE: 解析并存贮 LADN Information,<br/>据此判断各 LADN DNN 当前是否可达
```

几个关键点：

- **AMF 的"裁剪"逻辑**：如果某个 LADN 的服务区完全不在 UE 的注册区内，AMF 不会下发它，UE 也无从知道——这天然避免了 UE 在不相关区域发起无效请求。
- **动态更新**：当订阅的 LADN 服务区变化、或 UE 移动导致相关 LADN DNN 集合变化时，AMF 通过 **UE Configuration Update Command**（§4.2.4）携带新的 `LADN Information` IE 主动刷新，无需重新注册。
- **注册区的设计耦合**：LADN 服务区与注册区都用 TA 表达，两者在 AMF 内可高效做集合运算，这是 LADN 能"零额外信令"实现的关键工程基础。

## 五、信令流程二：UE 发起 LADN 会话建立与 AMF 的服务区检查

当 UE（依据自身掌握的 LADN 信息）判定当前在某个 LADD DNN 的服务区内，便发起 PDU 会话建立请求。此时 **AMF 在向 SMF 转发请求之前，会做一次硬性 LADN 服务区校验**（TS 23.502 §4.3.2）：

```mermaid
sequenceDiagram
    participant UE
    participant AMF
    participant SMF
    participant UPF

    UE->>AMF: UL NAS TRANSPORT<br/>(PDU Session Establishment Request,<br/>DNN = LADN DNN, S-NSSAI, PDU Session ID)
    Note over AMF: 判定1: 该 DNN 是否 LADN DNN?<br/>判定2: UE 当前 TA ∈ 该 DNN 的 LADN 服务区?
    alt 区域内 (通过)
        AMF->>SMF: Nsmf_PDUSession_CreateSMContext<br/>(含 UE 位置/TA)
        SMF->>UPF: N4 Session Establishment (选本地 PSA)
        SMF-->>AMF: N2 SM Info + N1 SM container
        AMF-->>UE: DL NAS TRANSPORT<br/>(PDU Session Establishment Accept)
    else 区域外 (拒绝)
        AMF-x SMF: 不转发, 直接拒绝
        AMF-->>UE: DL NAS TRANSPORT<br/>(PDU Session Establishment Reject,<br/>5GSM cause #46 "out of LADN service area")
    end
```

**拒绝时使用的 5GSM 原因值是 `#46 — out of LADN service area`**（TS 24.501 §9.11.4.2）。这是一个非常有辨识度的根因码：抓包中只要看到 PDU Session Establishment Reject 携带 #46，几乎可以 100% 锁定为"UE 在 LADN 服务区外请求了 LADN DNN"。

注意 AMF 的拒绝发生在 **Nsmf_PDUSession_CreateSMContext 之前**，即 SMF 完全没有被牵涉进来——这是一种"前置门禁"，把无效请求挡在了会话管理层之外，保护了 SMF/UPF 的处理能力。这一点是 LADN 设计中"前置校验、按需放行"思想的体现。

## 六、信令流程三：UE 离开服务区，AMF 触发会话释放

LADN 最具特色的机制是**移动性驱动的主动释放**。当 UE 因移动（切换、注册更新）使其当前 TA 不再属于某条活跃 LADN 会话的服务区时，AMF 会触发对该会话的释放（TS 23.501 §5.6.5 与 TS 23.502 §4.3.5 网络侧发起的释放）：

```text
sequenceDiagram
    participant UE
    participant AN as (R)AN
    participant AMF
    participant SMF
    participant UPF

    Note over UE,AN: UE 移动/注册更新, 当前 TA 改变
    AN->>AMF: 移动性事件 (N2 Path Switch / Registration Update)
    Note over AMF: 检测: UE 当前 TA ∉ 活跃 LADN 会话的服务区
    AMF->>SMF: 触发释放 (Nsmf_PDUSession_ReleaseSMContext / Release)
    SMF->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(N2: PDU Session Resource Release Command;<br/>N1: PDU Session Release Command)
    AMF->>AN: N2 PDU Session Resource Release Command
    AN->>UE: RRC 重配释放 DRB + N1 Release Command
    UE-->>AN: N1 PDU Session Release Ack
    AN-->>AMF: N2 PDU Session Resource Release Response
    AMF->>SMF: 释放 SM 上下文
    SMF->>UPF: N4 Session Release (释放本地 PSA 资源)
    SMF-->>AMF: 释放完成
```

释放执行的是标准的 **Network Requested PDU Session Release**（§4.3.5.2）流程，只不过**触发源从"SMF 计费/策略"变成了"AMF 的位置判定"**。释放向 UE 下发的 N1 SM 消息中，5GSM 原因值通常表现为常规释放（不同厂商实现可能携带 `#36 regular deactivation` 或直接以 `#46` 语义告知），但其根本动因是 LADN 区域约束。

## 七、LADN PDU 会话的状态机

从 AMF 视角看，一条 LADN PDU 会话的生命周期可建模为如下状态机：

```mermaid
stateDiagram-v2
    [*] --> NONE
    NONE --> ESTABLISHED_IN_AREA : 区域内建立成功<br/>(AMF校验通过)
    ESTABLISHED_IN_AREA --> NONE : UE/网络正常释放
    ESTABLISHED_IN_AREA --> OUT_OF_AREA_RELEASE : 检测到UE离开服务区<br/>(TA变更)
    OUT_OF_AREA_RELEASE --> NONE : 释放流程完成<br/>(N4/N2 释放)
    NONE --> REJECT_PENDING : 区域外请求建立<br/>(cause #46)
    REJECT_PENDING --> NONE : UE 收到 Reject
```

这个状态机清晰地揭示了一条不变量：**只要进入 `ESTABLISHED_IN_AREA`，AMF 就对该会话的"地理有效性"负有持续监护责任**——任何一次 TA 变更都要重新评估，这是 LADN 与普通 PDU 会话最本质的运维差异。

## 八、设计意图深度解读

把 LADN 放回 5G 系统设计哲学中，可以看到几个层次的考量：

1. **复用移动性管理而非新增信令**：LADN 服务区用 TA 表达，而 TA 变更本来就是移动性管理的核心事件。AMF 在处理切换/注册更新时"顺便"做一次 LADN 评估，避免了为区域约束单独设计空口测量与上报——这是 3GPP 一贯的"能力复用"风格。

2. **门禁前移、按需放行**：建立请求在 AMF 即被服务区校验拦截，不让无效请求涌入 SMF/UPF；活跃会话在离开时被及时释放，避免远端迂回和资源空耗。这与 MEC "本地锚点 + 就近分流"的诉求高度契合——**LADN 是会话生命周期层面的"本地化"，UPF/UL CL 是用户面层面的"本地化"，二者互补**。

3. **与 SSC 解耦**：LADN 是 DNN 的属性，SSC 模式（SSC mode 1/2/3）是会话连续性策略。二者正交：一条 LADN 会话同样可以配置 SSC mode 3（在区域内锚点重选），但一旦跨出区域边界，连续性让位于区域约束，会话必须释放。

4. **TA 粒度的工程折中**：选择 TA（而非小区）作为区域边界粒度，是寻呼/更新频率与精度之间的平衡。TA 粒度下，区域进出事件频率可控，避免乒乓。

## 九、实战连接：抓包识别与故障排错

**抓包识别要点**（基于 NGAP/NAS/PFCP 抓包）：

| 现象 | 协议层/消息 | 判读 |
|------|------------|------|
| UE 在园区内无法建会话 | NAS DL TRANSPORT → PDU Session Establishment Reject, **5GSM cause #46** | UE 被判定在 LADN 服务区外：检查 AMF 下发的 `LADN Information` 与 UE 当前 TA |
| 会话建立成功但很快被释放 | NAS PDU Session Release Command（网络发起）紧跟一次移动性事件 | 多为 UE 移动出 LADN 服务区触发，检查 AMF 侧 TA 评估日志 |
| LADN 信息缺失 | Registration Accept 中无 `LADN Information` IE | UDM 订阅未配置 LadnInfo，或 AMF 裁剪逻辑判定无交集 |

**常见故障点**：

1. **UDM 订阅遗漏**：园区 DNN 没有在 UDM 中配置为 LADN DNN 并关联服务区 TA 列表 → AMF 视其为普通 DNN，区域约束失效，可能出现迂回。
2. **AMF 裁剪过严**：注册区与 LADN 服务区配置不当，导致 AMF 不下发该 LADN 信息，UE 不知道可用 → 表现为"明明在园区内却建不上"。
3. **TA 配置不一致**：(R)AN 广播的 TA 与 LADN 服务区 TA 列表不匹配 → AMF 位置判定偏差，造成误拒或漏放。
4. **跨 AMF 场景**：UE 切换到目标 AMF 后，若目标 AMF 未正确获取/继承 LADN 订阅与上下文，可能出现区域判定不一致。

**排错思路**：先看 UE 抓包中是否收到 `LADN Information` 及其内容 → 核对 UE 当前 TA 是否落在该 DNN 的 TAI 列表内 → 再查 AMF 是否走了"前置校验拒绝"或"移动性触发释放"分支 → 最后确认 UDM 订阅与 SMF 选择的 UPF 是否为本地 PSA。
## 十一、LADN 与相邻概念对比

| 维度 | LADN | 普通 DNN | MEC UL CL 分流 |
|------|------|----------|----------------|
| 核心约束 | DNN 绑定 TA 服务区 | 无地理约束 | 用户面流量按规则本地分支 |
| 作用层 | 会话生命周期管理 | 全网可达 | 用户面转发 |
| 触发释放 | UE 离开服务区由 AMF 释放 | 不因位置释放 | 不释放会话，仅切换分支 |
| 典型场景 | 企业园区/本地私有 DN | 公网互联网 | 低时延本地应用分流 |
| 关键协议 | TS 23.501 §5.6.5 / TS 23.502 §4.3.2/4.3.5 | TS 23.501 §5.6.x | TS 23.501 §5.6.4 / TS 23.502 §4.3.5 |
| 协同关系 | 常与本地 UPF(PSA) 配合 | 远端 UPF | 常与 LADN 会话叠加 |

简言之：**LADN 管"这个 DNN 在哪里能用、何时该断"，UL CL 管"流量在哪里落地"，二者叠加才构成完整的边缘计算本地化方案**。

## 常见问题

**Q1: LADN 和普通 DNN 最本质的区别是什么？**
A: 普通 DNN 一旦订阅即全网可达，会话可在任意 TA 建立；LADN DNN 额外绑定了一组 TA（LADN 服务区），只有 UE 物理位于该服务区内才允许建立并维持会话，离开即被网络释放。

**Q2: UE 是怎么知道自己"在不在 LADN 服务区"的？**
A: UE 通过 NAS 消息（Registration Accept / UE Configuration Update Command）中的 `LADN Information` IE 获得每个 LADN DNN 对应的 TAI 列表，再用自身当前 TA 与之比对即可判断；但**最终的"放行/拒绝/释放"决定权在 AMF**，UE 的判断仅为发起依据。

**Q3: UE 离开 LADN 服务区后会话是"立刻"释放吗？**
A: 不是严格实时。AMF 需要在一个移动性事件（注册更新、N2 Path Switch 等）中检测到 UE 当前 TA 已不属于服务区，随后触发网络侧发起的释放流程。整体存在秒级延迟，依赖厂商实现与移动性事件触发频率。

**Q4: 抓到 5GSM cause #46 一定就是 LADN 问题吗？**
A: 高度相关但不绝对唯一来源，但 #46 的标准语义就是"out of LADN service area"。实践中见到 #46 基本可锁定为 LADN 区域约束触发，应优先核查 UE 当前 TA 与 UDM 订阅/AMF 下发的 LADN 服务区是否一致。

**Q5: LADN 和 MEC 本地分流（UL CL）是什么关系？**
A: 二者互补。LADN 在会话管理层把"区域受限的 DNN"的生命周期管起来（建立校验、离开释放），UPF/UL CL 在用户面把流量就近分支到本地应用。一个典型的园区 MAC 部署，往往是"LADN 会话 + 本地 PSA UPF + 可选 UL CL"的组合。

## 参考来源

1. [3GPP TS 23.501 V18.x — System architecture for the 5G System](https://www.3gpp.org/dynareport/23501.htm) — §5.6.5 Local Area Data Network (LADN)、§5.29.4 LADN 服务区定义
2. [3GPP TS 23.502 V18.x — Procedures for the 5G System](https://www.3gpp.org/dynareport/23502.htm) — §4.2.2.2 注册流程、§4.2.4 UE 配置更新、§4.3.2 PDU 会话建立、§4.3.5 网络侧发起的 PDU 会话释放
3. [3GPP TS 24.501 V18.x — NAS protocol for 5G](https://www.3gpp.org/dynareport/24501.htm) — §9.11.3.30 LADN Information IE、§9.11.4.2 5GSM 原因值（#46 out of LADN service area）
4. [HiCellTek — 5GS MM/SM Cause Codes](https://hicelltek.com/en/5g-mm-cause-codes/) — 5GSM cause #46 等 LADN 相关拒绝码速查
5. [TechPlayon — 5G NAS PDU Session Reject Cause Values and Reasons](https://www.techplayon.com/5g-nas-pdu-session-reject-cause-values-and-reasons/) — Cause #46 out of LADN service area 场景解读

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护，聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。
> 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
