1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
|
Internet Engineering Task Force (IETF) E. Ramos
Request for Comments: 9391 Ericsson
Category: Standards Track A. Minaburo
ISSN: 2070-1721 Acklio
April 2023
Static Context Header Compression over Narrowband Internet of Things
Abstract
This document describes Static Context Header Compression and
fragmentation (SCHC) specifications, RFCs 8724 and 8824, in
combination with the 3rd Generation Partnership Project (3GPP) and
the Narrowband Internet of Things (NB-IoT).
This document has two parts: one normative part that specifies the
use of SCHC over NB-IoT and one informational part that recommends
some values if 3GPP wants to use SCHC inside their architectures.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9391.
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents
1. Introduction
2. Conventions and Definitions
3. Terminology
4. NB-IoT Architecture
5. Data Transmission in the 3GPP Architecture
5.1. Normative Scenarios
5.1.1. SCHC over Non-IP Data Delivery (NIDD)
5.2. Informational Scenarios
5.2.1. Use of SCHC over the Radio Link
5.2.2. Use of SCHC over the Non-Access Stratum (NAS)
5.2.3. Parameters for Static Context Header Compression and
Fragmentation (SCHC) for the Radio Link and DoNAS Use
Cases
6. Padding
7. IANA Considerations
8. Security Considerations
9. References
9.1. Normative References
9.2. Informative References
Appendix A. NB-IoT User Plane Protocol Architecture
A.1. Packet Data Convergence Protocol (PDCP)
A.2. Radio Link Protocol (RLC)
A.3. Medium Access Control (MAC)
Appendix B. NB-IoT Data over NAS (DoNAS)
Acknowledgements
Authors' Addresses
1. Introduction
This document defines scenarios where Static Context Header
Compression and fragmentation (SCHC) [RFC8724] [RFC8824] are suitable
for 3rd Generation Partnership Project (3GPP) and Narrowband Internet
of Things (NB-IoT) protocol stacks.
In the 3GPP and the NB-IoT networks, header compression efficiently
brings Internet connectivity to the Device UE (Dev-UE), the radio
(RGW-eNB) and network (NGW-MME) gateways, and the Application Server.
This document describes the SCHC parameters supporting SCHC over the
NB-IoT architecture.
This document assumes functionality for NB-IoT of 3GPP release 15
[R15-3GPP]. Otherwise, the text explicitly mentions other versions'
functionality.
This document has two parts: normative end-to-end scenarios
describing how any application must use SCHC over the 3GPP public
service and informational scenarios about how 3GPP could use SCHC in
their protocol stack network.
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Terminology
This document will follow the terms defined in [RFC8724], [RFC8376],
and [TR23720].
Capillary Gateway: Facilitates seamless integration because it has
wide-area connectivity through cellular and provides wide-area
access as a proxy to other devices using LAN technologies (BT, Wi-
Fi, Zigbee, or others).
Cellular IoT Evolved Packet System (CIoT EPS): A functionality to
improve the support of small data transfers.
Device UE (Dev-UE): As defined in [RFC8376], Section 3.
Data over Non-Access Stratum (DoNAS): Sending user data within
signaling messages over the NAS functional layer.
Evolved Packet Connectivity (EPC): Core network of 3GPP LTE systems.
Evolved Universal Terrestrial Radio Access Network (EUTRAN): Radio
access network of LTE-based systems.
Hybrid Automatic Repeat reQuest (HARQ): A combination of high-rate
Forward Error Correction (FEC) and Automatic Repeat reQuest (ARQ)
error control.
Home Subscriber Server (HSS): A database that contains users'
subscription data, including data needed for mobility management.
IP address: IPv6 or IPv4 address used.
InterWorking Service Capabilities Exposure Function (IWK-SCEF): Used
in roaming scenarios, is located in the Visited PLMN, and serves
for interconnection with the Service Capabilities Exposure
Function (SCEF) of the Home PLMN.
Layer 2 (L2): L2 in the 3GPP architectures includes MAC, RLC, and
PDCP layers; see Appendix A.
Logical Channel ID (LCID): The logical channel instance of the
corresponding MAC SDU.
Medium Access Control (MAC) protocol: Part of L2.
Non-Access Stratum (NAS): Functional layer for signaling messages
that establishes communication sessions and maintains the
communication while the user moves.
Narrowband IoT (NB-IoT): A 3GPP Low-Power WAN (LPWAN) technology
based on the LTE architecture but with additional optimization for
IoT and using a Narrowband spectrum frequency.
Network Gateway - CIoT Serving Gateway Node (NGW-CSGN): As defined
in [RFC8376], Section 3.
Network Gateway - Cellular Serving Gateway (NGW-CSGW): Routes and
forwards the user data packets through the access network.
Network Gateway - Mobility Management Entity (NGW-MME): An entity in
charge of handling mobility of the Dev-UE.
Network Gateway - Packet Data Network Gateway (NGW-PGW): An
interface between the internal and external network.
Network Gateway - Service Capability Exposure Function (NGW-SCEF): E
PC node for exposure of 3GPP network service capabilities to third
party applications.
Non-IP Data Delivery (NIDD): End-to-end communication between the UE
and the Application Server.
Packet Data Convergence Protocol (PDCP): Part of L2.
Public Land-based Mobile Network (PLMN): A combination of wireless
communication services offered by a specific operator.
Protocol Data Unit (PDU): A data packet including headers that are
transmitted between entities through a protocol.
Radio Link Protocol (RLC): Part of L2.
Radio Gateway - evolved Node B (RGW-eNB): Base Station that controls
the UE.
Service Data Unit (SDU): A data packet (PDU) from higher-layer
protocols used by lower-layer protocols as a payload of their own
PDUs.
4. NB-IoT Architecture
The NB-IoT architecture has a complex structure. It relies on
different Network Gateways (NGWs) from different providers. It can
send data via different paths, each with different characteristics in
terms of bandwidth, acknowledgments, and L2 reliability and
segmentation.
Figure 1 shows this architecture, where the Network Gateway -
Cellular IoT Serving Gateway Node (NGW-CSGN) optimizes co-locating
entities in different paths. For example, a Dev-UE using the path
formed by the Network Gateway - Mobility Management Entity (NGW-MME),
the NGW-CSGW, and the Network Gateway - Packet Data Network Gateway
(NGW-PGW) may get a limited bandwidth transmission from a few bytes/s
to one thousand bytes/s only.
Another node introduced in the NB-IoT architecture is the Network
Gateway - Service Capability Exposure Function (NGW-SCEF), which
securely exposes service and network capabilities to entities
external to the network operator. The Open Mobile Alliance (OMA)
[OMA0116] and the One Machine to Machine (OneM2M) [TR-0024] define
the northbound APIs. [TS23222] defines architecture for the common
API framework for 3GPP northbound APIs. [TS33122] defines security
aspects for a common API framework for 3GPP northbound APIs. In this
case, the path is small for data transmission. The main functions of
the NGW-SCEF are path connectivity and device monitoring.
+---+ +---------+ +------+
|Dev| \ | +-----+ | ---| HSS |
|-UE| \ | | NGW | | +------+
+---+ | | |-MME |\__
\ / +-----+ | \
+---+ \+-----+ /| | | +------+
|Dev| ----| RGW |- | | | | NGW- |
|-UE| |-eNB | | | | | SCEF |---------+
+---+ /+-----+ \| | | +------+ |
/ \ +------+| |
/ |\| NGW- || +-----+ +-----------+
+---+ / | | CSGW |--| NGW-|---|Application|
|Dev| | | || | PGW | | Server |
|-UE| | +------+| +-----+ +-----------+
+---+ | |
|NGW-CSGN |
+---------+
Figure 1: 3GPP Network Architecture
5. Data Transmission in the 3GPP Architecture
NB-IoT networks deal with end-to-end user data and in-band signaling
between the nodes and functions to configure, control, and monitor
the system functions and behaviors. The signaling uses a different
path with specific protocols, handling processes, and entities but
can transport end-to-end user data for IoT services. In contrast,
the end-to-end application only transports end-to-end data.
The recommended 3GPP MTU size is 1358 bytes. The radio network
protocols limit the packet sizes over the air, including radio
protocol overhead, to 1600 bytes; see Section 5.2.3. However, the
recommended 3GPP MTU is smaller to avoid fragmentation in the network
backbone due to the payload encryption size (multiple of 16) and the
additional core transport overhead handling.
3GPP standardizes NB-IoT and, in general, the interfaces and
functions of cellular technologies. Therefore, the introduction of
SCHC entities to Dev-UE, RGW-eNB, and NGW-CSGN needs to be specified
in the NB-IoT standard.
This document identifies the use cases of SCHC over the NB-IoT
architecture.
The first use case is of the radio transmission (see Section 5.2.1)
where the Dev-UE and the RGW-eNB can use the SCHC functionalities.
The second is where the packets transmitted over the control path can
also use SCHC when the transmission goes over the NGW-MME or NGW-SCEF
(see Section 5.2.2).
These two use cases are also valid for any 3GPP architecture and not
only for NB-IoT. And as the 3GPP internal network is involved, they
have been put in the informational part of this section.
And the third covers the SCHC over Non-IP Data Delivery (NIDD)
connection or at least up to the operator network edge (see
Section 5.1.1). In this case, SCHC functionalities are available in
the application layer of the Dev-UE and the Application Servers or a
broker function at the edge of the operator network. NGW-PGW or NGW-
SCEF transmit the packets that are Non-IP traffic, using IP tunneling
or API calls. It is also possible to benefit legacy devices with
SCHC by using the Non-IP transmission features of the operator
network.
A Non-IP transmission refers to an L2 transport that is different
from NB-IoT.
5.1. Normative Scenarios
These scenarios do not modify the 3GPP architecture or any of its
components. They only use the architecture as an L2 transmission.
5.1.1. SCHC over Non-IP Data Delivery (NIDD)
This section specifies the use of SCHC over NIDD services of 3GPP.
The NIDD services of 3GPP enable the transmission of SCHC packets
compressed by the application layer. The packets can be delivered
between the NGW-PGW and the Application Server or between the NGW-
SCEF and the Application Server, using IP-tunnels or API calls. In
both cases, as compression occurs before transmission, the network
will not understand the packet, and the network does not have context
information of this compression. Therefore, the network will treat
the packet as Non-IP traffic and deliver it to the other side without
any other protocol stack element, directly over L2.
5.1.1.1. SCHC Entities Placing over NIDD
In the two scenarios using NIDD compression, SCHC entities are
located almost on top of the stack. The NB-IoT connectivity services
implement SCHC in the Dev-UE, an in the Application Server. The IP
tunneling scenario requires that the Application Server send the
compressed packet over an IP connection terminated by the 3GPP core
network. If the transmission uses the NGW-SCEF services, it is
possible to utilize an API call to transfer the SCHC packets between
the core network and the Application Server. Also, an IP tunnel
could be established by the Application Server if negotiated with the
NGW-SCEF.
+---------+ XXXXXXXXXXXXXXXXXXXXXXXX +--------+
| SCHC | XXX XXX | SCHC |
|(Non-IP) +-----XX........................XX....+--*---+(Non-IP)|
+---------+ XX +----+ XX | | +--------+
| | XX |SCEF+-------+ | | |
| | XXX 3GPP RAN & +----+ XXX +---+ UDP |
| | XXX CORE NETWORK XXX | | |
| L2 +---+XX +------------+ | +--------+
| | XX |IP TUNNELING+--+ | |
| | XXX +------------+ +---+ IP |
+---------+ XXXX XXXX | +--------+
| PHY +------+ XXXXXXXXXXXXXXXXXXXXXXX +---+ PHY |
+---------+ +--------+
Dev-UE Application
Server
Figure 2: End-to-End Compression: SCHC Entities Placed when Using
Non-IP Delivery (NIDD) 3GPP Services
5.1.1.2. Parameters for Static Context Header Compression and
Fragmentation (SCHC)
These scenarios MAY use the SCHC header compression capability to
improve the transmission of IPv6 packets.
* SCHC Context Initialization
The application layer handles the static context. Consequently,
the context distribution MUST be according to the application's
capabilities, perhaps utilizing IP data transmissions up to
context initialization. Also, the static context delivery may use
the same IP tunneling or NGW-SCEF services used later for the
transport of SCHC packets.
* SCHC Rules
For devices acting as a capillary gateway, several rules match the
diversity of devices and protocols used by the devices associated
with the gateway. Meanwhile, simpler devices may have
predetermined protocols and fixed parameters.
* RuleID
This scenario can dynamically set the RuleID size before the
context delivery, for example, by negotiating between the
applications when choosing a profile according to the type of
traffic and application deployed. Transmission optimization may
require only one Physical Layer transmission. SCHC overhead
SHOULD NOT exceed the available number of effective bits of the
smallest physical Transport Block (TB) available to optimize the
transmission. The packets handled by 3GPP networks are byte-
aligned. Thus, to use the smallest TB, the maximum SCHC header
size is 12 bits. On the other hand, more complex NB-IoT devices
(such as a capillary gateway) might require additional bits to
handle the variety and multiple parameters of higher-layer
protocols deployed. The configuration may be part of the agreed
operation profile and content distribution. The RuleID field size
may range from 2 bits, resulting in 4 rules, to an 8-bit value,
yielding up to 256 rules for use by operators. A 256-rule maximum
limit seems to be quite reasonable, even for a device acting as a
NAT. An application may use a larger RuleID, but it should
consider the byte alignment of the expected Compression Residue.
In the minimum TB size case, 2 bits of RuleID leave only 6 bits
available for Compression Residue.
* SCHC MAX_PACKET_SIZE
In these scenarios, the maximum RECOMMENDED MTU size is 1358 bytes
since the SCHC packets (and fragments) are traversing the whole
3GPP network infrastructure (core and radio), not only the radio
as in the IP transmissions case.
* Fragmentation
Packets larger than 1358 bytes need the SCHC fragmentation
function. Since the 3GPP uses reliability functions, the No-ACK
fragmentation mode MAY be enough in point-to-point connections.
Nevertheless, additional considerations are described below for
more complex cases.
* Fragmentation Modes
A global service assigns a QoS to the packets, e.g., depending on
the billing. Packets with very low QoS may get lost before
arriving in the 3GPP radio network transmission, e.g., in between
the links of a capillary gateway or due to buffer overflow
handling in a backhaul connection. The use of SCHC fragmentation
with the ACK-on-Error mode is RECOMMENDED to secure additional
reliability on the packets transmitted with a small trade-off on
further transmissions to signal the end-to-end arrival of the
packets if no transport protocol takes care of retransmission.
Also, the ACK-on-Error mode could be desirable to keep track of
all the SCHC packets delivered. In that case, the fragmentation
function could be activated for all packets transmitted by the
applications. SCHC ACK-on-Error fragmentation MAY be activated in
transmitting Non-IP packets on the NGW-MME. A Non-IP packet will
use SCHC reserved RuleID for non-compressing packets as [RFC8724]
allows it.
* Fragmentation Parameters
SCHC profile will have specific Rules for the fragmentation modes.
The rule will identify which fragmentation mode is in use, and
Section 5.2.3 defines the RuleID size.
SCHC parametrization considers that NB-IoT aligns the bit and uses
padding and the size of the Transfer Block. SCHC will try to reduce
padding to optimize the compression of the information. The header
size needs to be a multiple of 4. The Tiles MAY keep a fixed value
of 4 or 8 bits to avoid padding, except for when the transfer block
equals 16 bits as the Tiles may be 2 bits. The transfer block size
has a wide range of values. Two configurations are RECOMMENDED for
the fragmentation parameters.
* For Transfer Blocks smaller than or equal to 304 bits using an
8-bit Header_size configuration, with the size of the header
fields as follows:
- RuleID from 1 - 3 bits
- DTag 1 bit
- FCN 3 bits
- W 1 bits
* For Transfer Blocks bigger than 304 bits using a 16-bit
Header_size configuration, with the size of the header fields as
follows:
- RulesID from 8 - 10 bits
- DTag 1 or 2 bits
- FCN 3 bits
- W 2 or 3 bits
* WINDOW_SIZE of (2^N)-1 is RECOMMENDED.
* Reassembly Check Sequence (RCS) will follow the default size
defined in Section 8.2.3 of [RFC8724], with a length equal to the
L2 Word.
* MAX_ACK_REQ is RECOMMENDED to be 2, but applications MAY change
this value based on transmission conditions.
The IoT devices communicate with small data transfers and use the
Power Save Mode and the Idle Mode Discontinuous Reception (DRX),
which govern how often the device wakes up, stays up, and is
reachable. The use of the different modes allows the battery to last
ten years. Table 10.5.163a in [TS24008] defines the radio timer
values with units incrementing by N. The units of N can be 1 hour or
10 hours. The range used for IoT is of N to 3N, where N increments
by one. The Inactivity Timer and the Retransmission Timer can be set
based on these limits.
5.2. Informational Scenarios
These scenarios show how 3GPP could use SCHC for their transmissions.
5.2.1. Use of SCHC over the Radio Link
Deploying SCHC over the Radio Link only would require placing it as
part of the protocol stack for data transfer between the Dev-UE and
the RGW-eNB. This stack is the functional layer responsible for
transporting data over the wireless connection and managing radio
resources. There is support for features such as reliability,
segmentation, and concatenation. The transmissions use link
adaptation, meaning that the system will optimize the transport
format used according to the radio conditions, the number of bits to
transmit, and the power and interference constraints. That means
that the number of bits transmitted over the air depends on the
selected Modulation and Coding Schemes (MCSs). Transport Block (TB)
transmissions happen in the Physical Layer at network-synchronized
intervals called Transmission Time Interval (TTI). Each TB has a
different MCS and number of bits available to transmit. The MAC
layer [TR36321] defines the characteristics of the TBs. The Radio
Link stack shown in Figure 3 comprises the Packet Data Convergence
Protocol (PDCP) [TS36323], the Radio Link Protocol (RLC) [TS36322],
the Medium Access Control protocol (MAC) [TR36321], and the Physical
Layer [TS36201]. Appendix A gives more details about these
protocols.
+---------+ +---------+ |
|IP/Non-IP+------------------------------+IP/Non-IP+->+
+---------+ | +---------------+ | +---------+ |
| PDCP +-------+ PDCP | GTP|U +------+ GTP-U |->+
| (SCHC) + + (SCHC)| + + | |
+---------+ | +---------------+ | +---------+ |
| RLC +-------+ RLC |UDP/IP +------+ UDP/IP +->+
+---------+ | +---------------+ | +---------+ |
| MAC +-------+ MAC | L2 +------+ L2 +->+
+---------+ | +---------------+ | +---------+ |
| PHY +-------+ PHY | PHY +------+ PHY +->+
+---------+ +---------------+ +---------+ |
C-Uu/ S1-U SGi
Dev-UE RGW-eNB NGW-CSGN
Radio Link
Figure 3: SCHC over the Radio Link
5.2.1.1. Placing SCHC Entities over the Radio Link
The 3GPP architecture supports Robust Header Compression (ROHC)
[RFC5795] in the PDCP layer. Therefore, the architecture can deploy
SCHC header compression entities similarly without the need for
significant changes in the 3GPP specifications.
The RLC layer has three functional modes: Transparent Mode (TM),
Unacknowledged Mode (UM), and Acknowledged Mode (AM). The mode of
operation controls the functionalities of the RLC layer. TM only
applies to signaling packets, while AM or UM carry signaling and data
packets.
The RLC layer takes care of fragmentation except for the TM. In AM
or UM, the SCHC fragmentation is unnecessary and SHOULD NOT be used.
While sending IP packets, the Radio Link does not commonly use the
RLC TM. However, if other protocol overhead optimizations are
targeted for NB-IoT traffic, SCHC fragmentation may be used for TM
transmission in the future.
5.2.2. Use of SCHC over the Non-Access Stratum (NAS)
This section consists of IETF suggestions to the 3GPP. The NGW-MME
conveys mainly signaling between the Dev-UE and the cellular network
[TR24301]. The network transports this traffic on top of the Radio
Link.
This kind of flow supports data transmissions to reduce the overhead
when transmitting infrequent small quantities of data. This
transmission is known as Data over Non-Access Stratum (DoNAS) or
Control Plane CIoT EPS optimizations. In DoNAS, the Dev-UE uses the
pre-established security, can piggyback small uplink data into the
initial uplink message, and uses an additional message to receive a
downlink small data response.
The NGW-MME performs the data encryption from the network side in a
DoNAS PDU. Depending on the data type signaled indication (IP or
Non-IP data), the network allocates an IP address or establishes a
direct forwarding path. DoNAS is regulated under rate control upon
previous agreement, meaning that a maximum number of bits per unit of
time is agreed upon per device subscription beforehand and configured
in the device.
The system will use DoNAS when a terminal in a power-saving state
requires a short transmission and receives an acknowledgment or short
feedback from the network. Depending on the size of the buffered
data to be transmitted, the Dev-UE might deploy the connected mode
transmission instead. The connected mode would limit and control the
DoNAS transmissions to predefined thresholds, and it would be a good
resource optimization balance for the terminal and the network. The
support for mobility of DoNAS is present but produces additional
overhead. Appendix B gives additional details of DoNAS.
5.2.2.1. Placing SCHC Entities over DoNAS
SCHC resides in this scenario's Non-Access Stratum (NAS) protocol
layer. The same principles as for Section 5.2.1 apply here as well.
Because the NAS protocol already uses ROHC [RFC5795], it can also
adapt SCHC for header compression. The main difference compared to
the Radio Link (Section 5.2.1) is the physical placing of the SCHC
entities. On the network side, the NGW-MME resides in the core
network and is the terminating node for NAS instead of the RGW-eNB.
+--------+ +--------+--------+ + +--------+
| IP/ +--+-----------------+--+ IP/ | IP/ +-----+ IP/ |
| Non-IP | | | | Non-IP | Non-IP | | | Non-IP |
+--------+ | | +-----------------+ | +--------+
| NAS +-----------------------+ NAS |GTP-C/U +-----+GTP-C/U |
|(SCHC) | | | | (SCHC) | | | | |
+--------+ | +-----------+ | +-----------------+ | +--------+
| RRC +-----+RRC |S1|AP+-----+ S1|AP | | | | |
+--------+ | +-----------+ | +--------+ UDP +-----+ UDP |
| PDCP* +-----+PDCP*|SCTP +-----+ SCTP | | | | |
+--------+ | +-----------+ | +-----------------+ | +--------+
| RLC +-----+ RLC | IP +-----+ IP | IP +-----+ IP |
+--------+ | +-----------+ | +-----------------+ | +--------+
| MAC +-----+ MAC | L2 +-----+ L2 | L2 +-----+ L2 |
+--------+ | +-----------+ | +-----------------+ | +--------+
| PHY +--+--+ PHY | PHY +--+--+ PHY | PHY +-----+ PHY |
+--------+ +-----+-----+ +--------+--------+ | +--------+
C-Uu/ S1 SGi
Dev-UE RGW-eNB NGW-MME NGW-PGW
*PDCP is bypassed until AS security is activated TGPP36300.
Figure 4: SCHC Entities Placement in the 3GPP CIOT Radio Protocol
Architecture for DoNAS Transmissions
5.2.3. Parameters for Static Context Header Compression and
Fragmentation (SCHC) for the Radio Link and DoNAS Use Cases
If 3GPP incorporates SCHC, it is recommended that these scenarios use
the SCHC header compression [RFC8724] capability to optimize the data
transmission.
* SCHC Context Initialization
The Radio Resource Control (RRC) protocol is the main tool used to
configure the parameters of the Radio Link. It will configure
SCHC and the static context distribution as it has been made for
ROHC operation [RFC5795] [TS36323].
* SCHC Rules
The network operator defines the number of rules in these
scenarios. For this, the network operator must know the IP
traffic the device will carry. The operator might supply rules
compatible with the device's use case. For devices acting as a
capillary gateway, several rules match the diversity of devices
and protocols used by the devices associated with the gateway.
Meanwhile, simpler devices may have predetermined protocols and
fixed parameters. The use of IPv6 and IPv4 may force the operator
to develop more rules to deal with each case.
* RuleID
There is a reasonable assumption of 9 bytes of radio protocol
overhead for these transmission scenarios in NB-IoT, where PDCP
uses 5 bytes due to header and integrity protection and where RLC
and MAC use 4 bytes. The minimum physical TBs that can withhold
this overhead value, according to the 3GPP Release 15
specification [R15-3GPP], are 88, 104, 120, and 144 bits. As for
Section 5.1.1.2, these scenarios must optimize the Physical Layer
where the smallest TB is 12 bits. These 12 bits must include the
Compression Residue in addition to the RuleID. On the other hand,
more complex NB-IoT devices (such as a capillary gateway) might
require additional bits to handle the variety and multiple
parameters of higher-layer protocols deployed. In that sense, the
operator may want flexibility on the number and type of rules
independently supported by each device; consequently, these
scenarios require a configurable value. The configuration may be
part of the agreed operation profile with the content
distribution. The RuleID field size may range from 2 bits,
resulting in 4 rules, to an 8-bit value, yielding up to 256 rules
for use with the operators. A 256-rule maximum limit seems to be
quite reasonable, even for a device acting as a NAT. An
application may use a larger RuleID, but it should consider the
byte alignment of the expected Compression Residue. In the
minimum TB size case, 2 bits of RuleID leave only 6 bits available
for Compression Residue.
* SCHC MAX_PACKET_SIZE
The Radio Link can handle the fragmentation of SCHC packets if
needed, including reliability. Hence, the packet size is limited
by the MTU that is handled by the radio protocols, which
corresponds to 1600 bytes for the 3GPP Release 15.
* Fragmentation
For the Radio Link (Section 5.2.1) and DoNAS (Section 5.2.2)
scenarios, the SCHC fragmentation functions are disabled. The RLC
layer of NB-IoT can segment packets into suitable units that fit
the selected TB for transmissions of the Physical Layer. The
block selection is made according to the link adaptation input
function in the MAC layer and the quantity of data in the buffer.
The link adaptation layer may produce different results at each
TTI, resulting in varying physical TBs that depend on the network
load, interference, number of bits transmitted, and QoS. Even if
setting a value that allows the construction of data units
following the SCHC tiles principle, the protocol overhead may be
greater or equal to allowing the Radio Link protocols to take care
of the fragmentation intrinsically.
* Fragmentation in RLC TM
The RLC TM mostly applies to control signaling transmissions.
When RLC operates in TM, the MAC layer mechanisms ensure
reliability and generate overhead. This additional reliability
implies sending repetitions or automatic retransmissions.
The ACK-Always fragmentation mode of SCHC may reduce this overhead
in future operations when data transmissions may use this mode.
The ACK-Always mode may transmit compressed data with fewer
possible transmissions by using fixed or limited TBs compatible
with the tiling SCHC fragmentation handling. For SCHC
fragmentation parameters, see Section 5.1.1.2.
6. Padding
NB-IoT and 3GPP wireless access, in general, assumes a byte-aligned
payload. Therefore, the L2 Word for NB-IoT MUST be considered 8
bits, and the padding treatment should use this value accordingly.
7. IANA Considerations
This document has no IANA actions.
8. Security Considerations
This document does not add any security considerations and follows
[RFC8724] and the 3GPP access security document specified in
[TS33122].
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8724] Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC.
Zuniga, "SCHC: Generic Framework for Static Context Header
Compression and Fragmentation", RFC 8724,
DOI 10.17487/RFC8724, April 2020,
<https://www.rfc-editor.org/info/rfc8724>.
[RFC8824] Minaburo, A., Toutain, L., and R. Andreasen, "Static
Context Header Compression (SCHC) for the Constrained
Application Protocol (CoAP)", RFC 8824,
DOI 10.17487/RFC8824, June 2021,
<https://www.rfc-editor.org/info/rfc8824>.
9.2. Informative References
[OMA0116] Open Mobile Alliance, "Common definitions for RESTful
Network APIs", Version 1.0, January 2018,
<https://www.openmobilealliance.org/release/
REST_NetAPI_Common/V1_0-20180116-A/OMA-TS-
REST_NetAPI_Common-V1_0-20180116-A.pdf>.
[R15-3GPP] 3GPP, "Release 15", April 2019, <https://www.3gpp.org/
specifications-technologies/releases/release-15>.
[RFC5795] Sandlund, K., Pelletier, G., and L-E. Jonsson, "The RObust
Header Compression (ROHC) Framework", RFC 5795,
DOI 10.17487/RFC5795, March 2010,
<https://www.rfc-editor.org/info/rfc5795>.
[RFC8376] Farrell, S., Ed., "Low-Power Wide Area Network (LPWAN)
Overview", RFC 8376, DOI 10.17487/RFC8376, May 2018,
<https://www.rfc-editor.org/info/rfc8376>.
[TR-0024] OneM2M, "3GPP_Interworking", TR-0024-V4.3.0, March 2020,
<https://ftp.onem2m.org/work%20programme/WI-0037/TR-0024-
3GPP_Interworking-V4_3_0.DOCX>.
[TR23720] 3GPP, "Study on architecture enhancements for Cellular
Internet of Things", 3GPP TR 23.720 V13.0.0, March 2016,
<https://www.3gpp.org/ftp/Specs/
archive/23_series/23.720/23720-d00.zip>.
[TR24301] 3GPP, "Non-Access-Stratum (NAS) protocol for Evolved
Packet System (EPS); Stage 3", 3GPP TS 24.301 V15.8.0,
December 2019, <https://www.3gpp.org/ftp//Specs/
archive/24_series/24.301/24301-f80.zip>.
[TR36321] 3GPP, "Evolved Universal Terrestrial Radio Access
(E-UTRA); Medium Access Control (MAC) protocol
specification", 3GPP TS 36.321 V13.2.0, June 2016,
<https://www.3gpp.org/ftp/Specs/
archive/36_series/36.321/36321-d20.zip>.
[TS23222] 3GPP, "Functional architecture and information flows to
support Common API Framework for 3GPP Northbound APIs;
Stage 2", 3GPP TS 23.222 V15.6.0, September 2022,
<https://www.3gpp.org/ftp/Specs/
archive/23_series/23.222/23222-f60.zip>.
[TS24008] 3GPP, "Mobile radio interface Layer 3 specification; Core
network protocols; Stage 3", 3GPP TS 24.008 V15.5.0,
December 2018, <https://www.3gpp.org/ftp//Specs/
archive/24_series/24.008/24008-f50.zip>.
[TS33122] 3GPP, "Security aspects of Common API Framework (CAPIF)
for 3GPP northbound APIs", 3GPP TS 33.122 V15.3.0, March
2019, <https://www.3gpp.org/ftp//Specs/
archive/33_series/33.122/33122-f30.zip>.
[TS36201] 3GPP, "Evolved Universal Terrestrial Radio Access
(E-UTRA); LTE physical layer; General description", 3GPP
TS 36.201 V15.1.0, June 2018,
<https://www.3gpp.org/ftp/Specs/
archive/36_series/36.201/36201-f10.zip>.
[TS36322] 3GPP, "Evolved Universal Terrestrial Radio Access
(E-UTRA); Radio Link Control (RLC) protocol
specification", 3GPP TS 36.322 V15.0.1, April 2018,
<https://www.3gpp.org/ftp/Specs/
archive/36_series/36.322/36322-f01.zip>.
[TS36323] 3GPP, "Evolved Universal Terrestrial Radio Access
(E-UTRA); Packet Data Convergence Protocol (PDCP)
specification", 3GPP TS 36.323 V13.2.0, June 2016,
<https://www.3gpp.org/ftp/Specs/
archive/36_series/36.323/36323-d20.zip>.
[TS36331] 3GPP, "Evolved Universal Terrestrial Radio Access
(E-UTRA); Radio Resource Control (RRC); Protocol
specification", 3GPP TS 36.331 V15.5.1, April 2019,
<https://www.3gpp.org/ftp//Specs/
archive/36_series/36.331/36331-f51.zip>.
Appendix A. NB-IoT User Plane Protocol Architecture
A.1. Packet Data Convergence Protocol (PDCP)
Each of the Radio Bearers (RBs) is associated with one PDCP entity
[TS36323]. Moreover, a PDCP entity is associated with one or two RLC
entities, depending on the unidirectional or bidirectional
characteristics of the RB and RLC mode used. A PDCP entity is
associated with either a control plane or a user plane with
independent configuration and functions. The maximum supported size
for NB-IoT of a PDCP SDU is 1600 octets. The primary services and
functions of the PDCP sublayer for NB-IoT for the user plane include:
* Header compression and decompression using ROHC [RFC5795]
* Transfer of user and control data to higher and lower layers
* Duplicate detection of lower-layer SDUs when re-establishing
connection (when RLC with Acknowledge Mode is in use for User
Plane only)
* Ciphering and deciphering
* Timer-based SDU discard in uplink
A.2. Radio Link Protocol (RLC)
RLC [TS36322] is an L2 protocol that operates between the User
Equipment (UE) and the base station (eNB). It supports the packet
delivery from higher layers to MAC, creating packets transmitted over
the air, optimizing the TB utilization. RLC flow of data packets is
unidirectional, and it is composed of a transmitter located in the
transmission device and a receiver located in the destination device.
Therefore, to configure bidirectional flows, two sets of entities,
one in each direction (downlink and uplink), must be configured and
effectively peered to each other. The peering allows the
transmission of control packets (e.g., status reports) between
entities. RLC can be configured for a data transfer in one of the
following modes:
* Transparent Mode (TM)
RLC does not segment or concatenate SDUs from higher layers in
this mode and does not include any header with the payload. RLC
receives SDUs from upper layers when acting as a transmitter and
transmits directly to its flow RLC receiver via lower layers.
Similarly, upon reception, a TM RLC receiver would not process the
packets and only deliver them to higher layers.
* Unacknowledged Mode (UM)
This mode provides support for segmentation and concatenation of
payload. The RLC packet's size depends on the indication given at
a particular transmission opportunity by the lower layer (MAC) and
is octet-aligned. The packet delivery to the receiver does not
include reliability support, and the loss of a segment from a
packet means a complete packet loss. Also, in lower-layer
retransmissions, there is no support for re-segmentation in case
the radio conditions change and trigger the selection of a smaller
TB. Additionally, it provides PDU duplication detection and
discards, out-of-sequence reordering, and loss detection.
* Acknowledged Mode (AM)
In addition to the same functions supported by UM, this mode also
adds a moving windows-based reliability service on top of the
lower-layer services. It also supports re-segmentation, and it
requires bidirectional communication to exchange acknowledgment
reports, called RLC Status Reports, and to trigger
retransmissions. This model also supports protocol-error
detection. The mode used depends on the operator configuration
for the type of data to be transmitted. For example, data
transmissions supporting mobility or requiring high reliability
would be most likely configured using AM. Meanwhile, streaming
and real-time data would be mapped to a UM configuration.
A.3. Medium Access Control (MAC)
MAC [TR36321] provides a mapping between the higher layers
abstraction called Logical Channels (which are comprised by the
previously described protocols) and the Physical Layer channels
(transport channels). Additionally, MAC may multiplex packets from
different Logical Channels and prioritize which ones to fit into one
TB if there is data and space available to maximize data transmission
efficiency. MAC also provides error correction and reliability
support through Hybrid Automatic Repeat reQuest (HARQ), transport
format selection, and scheduling information reported from the
terminal to the network. MAC also adds the necessary padding and
piggyback control elements, when possible, as well as the higher
layers data.
<Max. 1600 bytes>
+---+ +---+ +------+
Application |AP1| |AP1| | AP2 |
(IP/Non-IP) |PDU| |PDU| | PDU |
+---+ +---+ +------+
| | | | | |
PDCP +--------+ +-------- +-----------+
|PDCP|AP1| |PDCP|AP1| |PDCP| AP2 |
|Head|PDU| |Head|PDU| |Head| PDU |
+--------+ +--------+ +--------+--\
| | | | | | | | |\ `--------\
+---------------------------+ | |(1)| `-------\(2)\
RLC |RLC |PDCP|AP1|RLC |PDCP|AP1| +-------------+ +----|---+
|Head|Head|PDU|Head|Head|PDU| |RLC |PDCP|AP2| |RLC |AP2|
+-------------|-------------+ |Head|Head|PDU| |Head|PDU|
| | | | | +---------|---+ +--------+
| | | LCID1 | | / / / / /
/ / / _/ _// _/ _/ / LCID2 /
| | | | | / _/ _/ / ___/
| | | | || | | / /
+------------------------------------------+ +-----------+---+
MAC |MAC|RLC|PDCP|AP1|RLC|PDCP|AP1|RLC|PDCP|AP2| |MAC|RLC|AP2|Pad|
|Hea|Hea|Hea |PDU|Hea|Hea |PDU|Hea|Hea |PDU| |Hea|Hea|PDU|din|
|der|der|der | |der|der | |der|der | | |der|der| |g |
+------------------------------------------+ +-----------+---+
TB1 TB2
(1) Segment One
(2) Segment Two
Figure 5: Example of User Plane Packet Encapsulation for Two
Transport Blocks
Appendix B. NB-IoT Data over NAS (DoNAS)
The Access Stratum (AS) protocol stack used by DoNAS is specific
because the radio network still needs to establish the security
associations and reduce the protocol overhead so that the PDCP is
bypassed until the AS security is activated. By default, RLC uses
the AM. However, depending on the network's features and the
terminal, RLC may change to other modes by the network operator. For
example, the TM does not add any header nor process the payload to
reduce the overhead, but the MTU would be limited by the TB used to
transmit the data, which is a couple of thousand bits maximum. If UM
(only terminals compatible with 3GPP Release 15 [R15-3GPP]) is used,
the RLC mechanisms of reliability are disabled, and only the
reliability provided by the MAC layer by HARQ is available. In this
case, the protocol overhead might be smaller than the AM case because
of the lack of status reporting, but the overhead would have the same
support for segmentation up to 1600 bytes. NAS packets are
encapsulated within an RRC [TS36331] message.
Depending on the data type indication signaled (IP or Non-IP data),
the network allocates an IP address or establishes a direct
forwarding path. DoNAS is regulated under rate control upon previous
agreement, meaning that a maximum number of bits per unit of time is
agreed upon per device subscription beforehand and configured in the
device. The use of DoNAS is typically expected when a terminal in a
power-saving state requires a short transmission and is receiving an
acknowledgment or short feedback from the network. Depending on the
size of buffered data to be transmitted, the UE might be instructed
to deploy the connected mode transmissions instead, limiting and
controlling the DoNAS transmissions to predefined thresholds and a
good resource optimization balance for the terminal and the network.
The support for mobility of DoNAS is present but produces additional
overhead.
+--------+ +--------+ +--------+
| | | | | | +-----------------+
| UE | | C-BS | | C-SGN | |Roaming Scenarios|
+----|---+ +--------+ +--------+ | +--------+ |
| | | | | | |
+----------------|------------|+ | | P-GW | |
| Attach | | +--------+ |
+------------------------------+ | | |
| | | | | |
+------|------------|--------+ | | | |
|RRC connection establishment| | | | |
|with NAS PDU transmission | | | | |
|& Ack Rsp | | | | |
+----------------------------+ | | | |
| | | | | |
| |Initial UE | | | |
| |message | | | |
| |----------->| | | |
| | | | | |
| | +---------------------+| | |
| | |Checks Integrity || | |
| | |protection, decrypts || | |
| | |data || | |
| | +---------------------+| | |
| | | Small data packet |
| | |------------------------------->
| | | Small data packet |
| | |<-------------------------------
| | +----------|---------+ | | |
| | Integrity protection,| | | |
| | encrypts data | | | |
| | +--------------------+ | | |
| | | | | |
| |Downlink NAS| | | |
| |message | | | |
| |<-----------| | | |
+-----------------------+ | | | |
|Small data delivery, | | | | |
|RRC connection release | | | | |
+-----------------------+ | | | |
| |
| |
+-----------------+
Figure 6: DoNAS Transmission Sequence from an Uplink Initiated Access
+---+ +---+ +---+ +----+
Application |AP1| |AP1| |AP2| |AP2 |
(IP/Non-IP) |PDU| |PDU| |PDU| ............... |PDU |
+---+ +---+ +---+ +----+
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| |/ / | \ | |
NAS /RRC +--------+---|---+----+ +---------+
|NAS/|AP1|AP1|AP2|NAS/| |NAS/|AP2 |
|RRC |PDU|PDU|PDU|RRC | |RRC |PDU |
+--------+-|-+---+----+ +---------|
| | | | |
| |\ | | |
|<--Max. 1600 bytes-->|__ |_ |
| | \__ \___ \_ \
| | \ \ \__ \
| | \ | | \_
+---------------|+-----|----------+ \ \
RLC |RLC | NAS/RRC ||RLC | NAS/RRC | +----|-------+
|Head| PDU(1/2)||Head | PDU (2/2)| |RLC |NAS/RRC|
+---------------++----------------+ |Head|PDU |
| | | \ | +------------+
| | LCID1 | \ | | /
| | | \ \ | |
| | | \ \ | |
| | | \ \ \ |
+----+----+----------++-----|----+---------++----+---------|---+
MAC |MAC |RLC | RLC ||MAC |RLC | RLC ||MAC | RLC |Pad|
|Head|Head| PAYLOAD ||Head |Head| PAYLOAD ||Head| PDU | |
+----+----+----------++-----+----+---------++----+---------+---+
TB1 TB2 TB3
Figure 7: Example of User Plane Packet Encapsulation for Data
over NAS
Acknowledgements
The authors would like to thank (in alphabetic order): Carles Gomez,
Antti Ratilainen, Pascal Thubert, Tuomas Tirronen, and Éric Vyncke.
Authors' Addresses
Edgar Ramos
Ericsson
Hirsalantie 11
FI-02420 Jorvas, Kirkkonummi
Finland
Email: edgar.ramos@ericsson.com
Ana Minaburo
Acklio
1137A Avenue des Champs Blancs
35510 Cesson-Sevigne Cedex
France
Email: ana@ackl.io
|