以前对5G NR协议一直像LTE那样,知道分数据面和控制面板,然后两种不同的协议栈框架。但具体怎么说,为什么要这么设计,没有认真思考过。这部分的介绍在协议38.300里面哦。
这次遇到了一个问题:需要从数据流向有很清晰的认知,借此机会梳理下。
一:第一张图
首先来自于http://www.sharetechnote.com/html/5G/5G_RadioProtocolStackArchitecture.html的一张图,
这张图只画出了UE 和gNB的协议栈架构。
注意一点,radio protocol stack Most of the fundamental idea in this page comes from 3GPP 38.300.
38.300 里面主要整个介绍协议栈架构,分多少层,每层主要干嘛,用户面怎么传输的,控制面怎么传输的。包括IP包,SDU、PDU等等。
相比LTE , NR 控制面没有任何变化,在数据面多了一层SDAP(服务数据适配协议子层 SDAP(Service Data Adaptation Protocol)),从框图看是做QOS映射的。说实话从目前实现代码上都没有找到关于SDAP的实现。
SDAP协议定义于TS37.324,PDCP定义于TS38.323,RLC定义于TS38.322,MAC定义于TS38.321。
协议栈发生在两个网元的接口处,如
(1)手机与基站的UU接口,即空口协议。
(2)基站内部的RU与DU之间,即eCPRI前传接口协议
(3)基站内部的DU与CU之间,即F1中传接口协议
(4)基站与核心网的之间,即NG后传协议栈。
(5)基站与基站之间,即Xn后传协议栈。
回忆下LTE协议栈架构:
二:5G整体网络架构
5G网络架构宏观上分为接入网和核心网两部分,5G接入层成为NG-RAN(NR),由5G基站(gNB)组成;5G核心网由控制面(AMF)、用户面(UPF)分离组成。
三、5G网络接口及无线协议栈
3.1 5G网络接口及协议
5G网络接口分为Xn和NG两种接口。
上面说的是网络接口,每个接口都分为用户面-C和控制面-U,那么走的就都可以认为是以太网协议。不是指无线接口。
(1)GTP: GPRSTunnelingProtocol, GPRS隧道协议
主要用于在GSM GRPS和UMTS和LTE、NR网络中支持通用分组无线服务(GPRS)的通讯协议。也就是该协议起源于2G GSM GPRS, 一直沿用到今,彰显了该协议的强大的生命力。
它在基站一侧,为每个手机用户,与核心网建立一个安全的UDP隧道,在该隧道中,可以为手机与核心网之间安全的传输空口上层数据面PDU.
(2)SCTP:Stream Control Transmission Protocol, 流控制传输协议
SCTP提供的服务与UDP和TCP类似,
SCTP在客户和服务器之间提供关联(association),并像TCP那样给应用提供可靠性、排序、流量控制以及全双工的数据传输.
与TCP不同的是,SCTP是面向消息的(message-oriented)。它提供各个记录的按序递送服务。
与UDP一样,由发送端写入的每一条记录的长度随数据一道传递给接收端应用。
它在基站一侧,为每个手机用户,与核心网建立一个安全的SCTP隧道,在该隧道中,可以为手机与核心网之间安全的传输空口上层控制面PDU.
上述两个协议,是TCP/IP协议家族的成员,属于传输网协议,而不是空口协议。
NG-U接口用于连接NG-RAN与UPF,其协议栈如上图所示。协议栈底层采用UDP、IP协议,提供非保证的数据交付。
NG-C接口用于连接NG-RAN与AMF,其协议栈如上图所示。在传输中,IP协议为信令提供点对点传输服务。SCTP保证信令的可靠交付。
3.2 5G无线端到端协议栈
控制面:
整合起来就是
左边是UE和GNB无线UU接口, 右边是GNB和核心网之间的N2接口。注意里面是SCTP,SCTP保证信令的可靠交付。
用户面:
两个图合起来如下所以,可能业务不复杂的核心网只有一个UPF,那么就没有N9接口。 这里关注下,基站从核心网收到的GTPU的包,转为SDAP后往下传。
贴一个彩色图
注意两点:
1:SCTP是基站与核心网关于控制面消息的传输协议。 而SDAP是基站与UE之间测一个具体的协议层,由3GPP规定。
2:从上面架构来看,NR相比较于LTE, 基站与核心网之间的接口协议没有改变,可能里面功能有所不同。基站与UE之间的接口协议,在控制面没有改变,只是在用户面添加了SDAP层。
3:从无线侧来看,可能不是重点关注SCTP和GTP-U。但是SDAP属于L2协议实体。
4:可能需要重点关注F1U接口协议。
附录:
整个协议栈结构的介绍看38.300 ,后面应该有一篇专门来学习介绍38.300.
(1)NG
NG接口位于NG-RAN和5GC之间,用户面NG-U接口负责传递CU-UP和UPF之间的用户PDU,并且PDU会话用户面数据协议是基于GTPU传输协议传递。
参考协议:
[1] 3GPP TS 38.413 V15.1.0: NG Application Protocol (NGAP)
[2] 3GPP TS 38.473 V15.3.0: F1 application protocol (F1AP)
[3] 3GPP TS 29.281 V15.5.0: General Packet Radio System (GPRS) Tunnelling Protocol User Plane (GTPv1-U)
[4] 3GPP TS 29.060 V15.3.0: GPRS Tunnelling Protocol (GTP) across the Gn and Gp interface
(2)SDAP
SDAP是5G协议栈CU用户面模块之一,其位于CU-UP。SDAP传输的数据只有一种,就是用户面的用户数据。
参考协议:
[1] 3GPP TS 38.415 V15.1.0: PDU Session User Plane Protocol
[2] 3GPP TS 38.475 V0.3.0: F1 interface user plane protocol
[3] 3GPP TS 37.324 V15.1.0: Service Data Adaptation Protocol (SDAP)
(3)PDCP
PDCP接收CUC或SDAP或F1或GTPU数据并发送到不同的无线承载上。
PDCP的主要功能是数据传输、加解密、完整性保护验证及头压缩。PDCP-C位于CU-CP,用于传输控制面的信令数据,PDCP-U位于CU-UP,用于传输数据面的用户数据。
参考协议:
[1] 3GPP TS 38.475 V0.3.0: F1 interface user plane protocol
[2] 3GPP TS 37.324 V15.1.0: Service Data Adaptation Protocol (SDAP)
[3] 3GPP TS 38.323 V15.3.0: Packet Data Convergence Protocol (PDCP)
(4)RRC
RRC相关流程参数生成与分发,对各模块的配置和消息处理,维护小区及UE控制块信息。
参考协议:
[1] 3GPP TS 38.331: “NR; Radio Resource Control (RRC); Protocol specification”.
(5)RLC
RLC位于PDCP层和MAC层之间,通过RLC通道与PDCP层进行通信,并通过逻辑信道与MAC层进行通信。
参考协议:
[1] 3GPP TS 38.322: " Radio Link Control (RLC) protocol specification".
(6)MAC
MAC层功能包括上行消息接收、解析及处理,下行消息构造及发送,用户优化级处理,逻辑信道优化及处理,HARQ功能,对PHY进行控制,PDCCH管理和上下行资源调度。
参考协议:
[1] 3GPP TS 38.213: “NR; Physical Layer Procedures for control”
[2] 3GPP TS 38.212: “NR; Multiplexing and channel coding”
[3] 3GPP TS 38.214: “NR; Physical Layer Procedures for data”
[4] 3GPP TS 38.321: “NR; Medium Access Control (MAC); Protocol specification”
原文链接:https://blog.csdn.net/HiWangWenBing/article/details/113204833
原文链接:https://blog.csdn.net/qq_39074243/article/details/119926972
https://blog.csdn.net/qq_41245381/article/details/105782751
https://blog.csdn.net/smiling_sweety/article/details/123624758------*****
https://zhuanlan.zhihu.com/p/563120530