告别枯燥协议!用Wireshark抓包图解5G RLC层的UMD PDU和AMD PDU到底长啥样
5G RLC层协议实战用Wireshark解码UMD与AMD数据单元在5G网络的数据链路层中RLCRadio Link Control协议扮演着关键角色负责数据的可靠传输和流量控制。本文将带您通过Wireshark抓包工具直观解析RLC层的两种核心数据单元——UMD PDUUnacknowledged Mode Data Protocol Data Unit和AMD PDUAcknowledged Mode Data Protocol Data Unit的实际结构。1. 实验环境搭建与数据捕获要分析5G空口的RLC层数据首先需要配置合适的抓包环境。以下是搭建实验环境的关键步骤硬件准备清单支持5G NSA/SA的测试终端设备如商用5G手机或测试UE5G基站模拟器或现网测试环境高性能笔记本电脑建议i7以上处理器16GB以上内存软件配置步骤安装最新版Wireshark3.6.0以上版本配置5G空口监测设备如商用探头或软件无线电设备设置过滤条件为nr-rlc专注捕获RLC层数据包启动用户面数据传输如大文件下载或视频流提示在实验室环境中可以使用基站模拟器与测试UE建立连接确保捕获到纯净的控制面和用户面数据。典型的抓包界面应显示类似如下的RLC层数据流No. Time Source Destination Protocol Info 1 0.000000 gNB_UE1 UE1_gNB NR-RLC AMD PDU SN0 2 0.001200 gNB_UE1 UE1_gNB NR-RLC AMD PDU SN1 3 0.002300 UE1_gNB gNB_UE1 NR-RLC STATUS PDU2. UMD PDU结构深度解析UMUnacknowledged Mode模式适用于对时延敏感但容许少量丢包的业务如VoIP和实时视频。通过Wireshark捕获的典型UMD PDU结构如下UMD PDU字段详解表字段名比特长度取值范围功能说明D/C10-1数据类型指示0控制1数据P10-1轮询比特仅AM模式有效SI20-3分段指示00完整SDU01首段10中间段11末段SN6/12可变序列号由RRC配置长度SO160-65535分段偏移量仅分段存在时出现在Wireshark中观察到的实际UMD PDU示例UMD PDU Header: Data/Control field: Data (1) Sequence Number: 12 Segmentation Info: First segment (01) Segment Offset: 0 Payload: 320 bytesUM模式采用Pull Window机制管理接收窗口其工作原理可通过以下状态变量描述RX_Next_Reassembly待重组的最早PDU序列号RX_Next_Highest已接收到的最大PDU序列号1RX_Timer_Trigger触发重组定时器的PDU序列号1当捕获到连续的UMD PDU时可以观察到窗口滑动的典型模式接收端检测到序列号不连续时启动t-Reassembly定时器定时器超时后窗口下边界RX_Next_Reassembly向前移动落在新窗口外的PDU将被丢弃3. AMD PDU与ARQ机制剖析AMAcknowledged Mode模式通过自动重传请求ARQ保证数据可靠传输适用于文件下载等容错性低的业务。一个完整的AMD PDU包含以下关键字段AMD PDU与UMD PDU结构对比表特性AMD PDUUMD PDU序列号必须存在仅分段数据存在确认机制支持STATUS PDU反馈无确认分段处理支持动态重分段固定分段窗口机制Push WindowPull Window适用场景可靠传输业务实时性要求高业务在Wireshark中观察到的AM数据传输流程示例No. Time Source Destination Protocol Length Info 1 0.000000 gNB_UE1 UE1_gNB NR-RLC 256 AMD PDU SN0 2 0.001000 gNB_UE1 UE1_gNB NR-RLC 256 AMD PDU SN1 3 0.002000 UE1_gNB gNB_UE1 NR-RLC 24 STATUS PDU (ACK SN2) 4 0.003000 gNB_UE1 UE1_gNB NR-RLC 256 AMD PDU SN2AM模式的状态报告STATUS PDU包含以下关键信息ACK_SN确认接收到的最高连续序列号1NACK_SN指示丢失的PDU序列号NACK_Range连续丢失的PDU数量NR新增字段通过Wireshark可以观察到ARQ重传的完整过程发送端传输SN0-2的AMD PDU接收端检测到SN1丢失反馈STATUS PDU(NACK_SN1)发送端重传SN1的AMD PDU接收端成功接收后更新ACK_SN34. 实战案例分析窗口机制对比通过实际抓包数据我们可以直观比较UM和AM两种模式的窗口管理差异。UM模式Pull Window示例 假设配置rlc-SN-Size3bitUM_Window_Size4观察到的窗口变化初始状态RX_Next_Highest0窗口范围[0-4]收到SN5更新RX_Next_Highest6窗口变为[2-6]SN1的PDU因落在窗口外被丢弃定时器触发后RX_Next_Reassembly向前移动AM模式Push Window示例 相同配置下AM模式的行为差异初始状态RX_Next0窗口范围[0-4]连续收到SN0,1更新RX_Next2丢失SN2触发STATUS PDU反馈收到重传SN2后窗口滑动至[3-7]在Wireshark中可以通过以下过滤条件观察窗口变化# 观察UM模式窗口更新 nr-rlc.mode 1 nr-rlc.sequence_number rx_next_highest-4 # 观察AM模式重传 nr-rlc.am.retransmission 1注意实际网络中窗口大小和SN长度由RRC消息配置不同业务可能采用不同参数组合。通过本次Wireshark实战分析我们不仅直观看到了5G RLC层协议数据单元的实际结构还验证了不同传输模式下的窗口管理机制。这种基于真实网络数据的分析方法比单纯阅读协议文本更能加深对5G底层工作原理的理解。