The document describes the Subnetwork Dependent Convergence Protocol (SNDCP) layer in GPRS networks. It discusses the functional description and services of SNDCP including compression of headers and data, segmentation and reassembly. It also describes SNDCP message flows for data transfer and XID negotiation, SNDCP header formats and fields, and provides an example SNDCP header.
1 of 14
Downloaded 167 times
More Related Content
Chap07 sndcp 03t_kh
1. Chapter 7
SNDCP
Contents:
7.1 Functional description of the SNDCP layer
1. Functions of the SNDCP layer
2. SNDCP services
3. Compression of header
4. Data compression Segmentation
7.2 Messages and message flows
1. SNDCP message flows for data transfer
2. SNDCP message flows: XID negotiation
3. SNDCP header formats
4. SNDCP header fields
5. SNDCP Header example
2. Chapter 7
SNDCP
7.1 Functional description of the SNDCP layer
1. Functions of the SNDCP layer
2. SNDCP services
3. Compression of header
4. Data compression Segmentation
3. Subnetwork Dependant Convergence Protocol
Transparent transfer of N-PDUs
Transparent transfer of N-PDUs Network layer protocols like e.g. IP v4 or v6 (until Rel 98 for X 25)
are intended to be capable of operating over services derived from a
wide variety of subnetworks and data links. GPRS supports several network layer protocols providing protocol
transparency for the users of the service. Introduction of new network layer protocols to be transferred over GPRS
must be possible without any changes to GPRS. Therefore, all functions related to transfer of Network layer
Protocol Data Units (N-PDUs) are carried out in a transparent way by the GPRS network entities.
A compression technique as an optional function of the
Datacompression/decompression
Data compression/decompressionSNDCP improves the channel efficiency. The compression /
Application
TCP/UDP - -of user data
of user data decompression is done for the user data as well as for the protocol
- -of protocol control information
of protocol control information
control information (e. g. TCP/IP header). Compression parameters
IP v 4/6
are negotiated between the MS and the SGSN (XID parameters).
SNDCP SNDCP
Segmentation and Re-assembly This task comprises
Segmentation and Re-assembly
the segmentation of a
LLC LLC
Network Protocol Data Unit (N-PDU) into a Logical Link Control
Relay Protocol Data Units (LL-PDUs) and the reassemble of a LL-PDUs into
RLC RLC BSSGP BSSGP a N-PDU.
Multiplexing of PDPs
Multiplexing of PDPs
NS NS
MAC MAC
FR FR
This includes the multiplexing of N-PDUs from e.g. several network
GSM RF GSM RF L1 L1 layer entities onto the appropriate LLC connection
Um Gb
Buffering
Buffering
MS BSS SGSN
at the SNDCP for acknowledged service.
4. SNDCP services
N-PDU
Service primitives used for communication between header data
the SNDCP layer and other layers:
SN-DATA.Request
Control
MBMS PDP PDP SNDCP users SN-UNITDATA.Request
Entity
control info control info
1 5 6 15 NSAPI compression decompression
SNDCP layer SNDCP entity
SNDCP data data
management SNDCP entity compression decompression
entity
SNSM
segmentation reassembly
Session LL3 LL5 LL9 LL11 SAPI
Management entity
LL-DATA.Request LL-DATA .Confirm
LLC layer
LL-UNITDATA.Request
SN-PDU
SNSM - SNDCP Session Management LLC
MBMS - Multimedia Broadcast/Multicast Service
5. Compression of header
The protocol control information compression/decompression is an optional SNDCP
control info features. Up to now, only TCP/IP-header compression has been specified for protocol
compression control information compression. The compression applies to both SN-DATA
(acknowledged mode) and SN-UNITDATA (unacknowledged mode) primitives. Negotiation
of the supported algorithms and their parameters is carried out between MS and SGSN
using the XID-parameter.
header data
compressed header
compression algorithms defined in Rel 6:
TCP/IP header compression (RFC1144)
TCP/IP (IPv4) header compression
or
header
TCP/IP and UDP/IP header compression (RFC 2507)
or header compression for IPv4 and IPv6
Robust Header Compression (ROHC, RFC 3095)
in RFC 3095 for RTP/UDP/IP, UDP/IP, ESP/IP and uncompressed
6. Data compression
Data compression is an optional SNDCP feature. Data compression applies to both SN DATA
data and SNUNITDATA primitives.
Data compression, if used, shall be performed on the entire N PDU, including the possibly
compression
compressed protocol control information.
Several NSAPIs may use a common data compression entity, i.e. the same compression
algorithm and the same dictionary. Separate data compression entities shall be used for
acknowledged (SNDATA) and unacknowledged (SN UNITDATA).The negotiation of the
supported algorithms and their parameters shall be carried out using the XID parameter.
header data
Compressed header + data
Compressed (Compressed header + data)
Compression may work in UL, DL, or UL + DL or not at all
compression algorithms defined in Rel 6:
V.42 bis data compression
or
V.44 data compression
V.42 bis and V.44 data compression are ITUT Recommendations
7. Segmentation
A (possibly compressed) N-PDU is segmented into one or more SN-PDUs. The length of each
SN-PDU is not greater than N201-I (for acknowledged mode) or N201-U (for unacknowledged
segmentation
mode).
The F bit in the SNDCP header is set to 1 for the first segment, and 0 for all subsequent
segments. For unacknowledged peer-to-peer LLC operations, DCOMP and PCOMP are included
in the header when the F bit is set to 1, and are not included when the F bit is set to 0. For
acknowledged peer-to-peer LLC operation, DCOMP, PCOMP and N-PDU number (#1, #2, ...) are
included in the header when the F bit is set to 1, and are not included when the F bit is set to 0.
The M bit in the SNDCP header is set to 0 for the last segment, and 1 for all previous segments. If
only one SN-PDU is generated for an N-PDU, the F bit is set to 1 and the M bit set to 0.
Compressed N-PDU: Next Compressed N-PDU:
1. Segment 2. Segment 3. Segment
N201 N201
N201
N201
N201
SNDCP header
F=1, M=1
F=0, M=1
F=0, M=0
8. Chapter 7
SNDCP
7.2 Messages and message flows
1. SNDCP message flows for data transfer
2. SNDCP message flows: XID negotiation
3. SNDCP header formats
4. SNDCP header fields
5. SNDCP Header example
9. SNDCP message flows for data transfer
Unacknowledged mode
SNDCP SNDCP
SNDCP LLC LLC SNDCP
Unser User
SN-UNITDATA
.req LL-UNITDATA
.req UI (SN-UNITDATA
LL-UNITDATA
PDU) SN-UNITDATA
.ind
.ind
Acknowledged Mode
SNDCP LLC LLC SNDCP SNDCP
SNDCP
User User
SN-DATA.req
LL-DATA.req
I (SN-DATA PDU)
SN-Data PDUs LL-DATA.ind
are buffered! SN-DATA.ind
Ackn LL-DATA.res
LL-DATA.conf
10. SNDCP message flows: XID negotiation
Negotiation of XID parameters between peer SNDCP entities is carried out to ensure optimized information
transfer. The parameters are called SNDCP exchange identity (XID) parameters. SNDCP XID parameter
negotiation can be initiated by the SNDCP entity at the MS or at the SGSN. If SNDCP XID parameters are to be
changed, SNDCP XID negotiation is initiated prior to data transfer - the MS initiates SNDCP XID negotiation
upon receipt of SNSM-ACTIVATE.indication; the SGSN initiates SNDCP XID negotiation upon receipt of the
SNSM-MODIFY.indication primitive if an NSAPI has been created (in case of an Inter-SGSN Routing Area
Update), or if the change in QoS profile to an existing NSAPI results in a change in compressor(s) used by the
NSAPI.
SNDCP LLC LLC SNDCP SNDCP
SNDCP
Unser User
SN-XID.req
LL-XID.req
XID (SN-XID par.)
Currently not LL-XID.ind
applicable SN-XID.ind
only one SN-XID.res
LL-XID.res
version!! XID (SN-XID par.)
LL-XID.conf
SN-XID.conf
XID Parameter Parameter Sense of
Length Format Range Default value Units
name Type negotiation
SNDCP Version
0 1 0000bbbb 0-15 0 - down
number
Data Compression 1 variable Depends on type of data compression: V.42 bis or V.44
Protocol Control
Information 2 variable Depends on type of header compression: RFC 1144, RFC 2507 or ROHC
Compression
11. SNDCP header formats
Unacknowledged mode Acknowledged mode
SN-PDU Type (T):
T=0 SN-DATA PDU
T=1 SN-UNITDATA PDU
F= 1 first Segment of N-PDU: F= 1 first Segment of N-PDU:
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
X F=1 T=1 M NSAPI 1 1
X F=1 T=0 M NSAPI
2 2
DCOMP PCOMP DCOMP PCOMP
3 3
Segment number First segment
First segment N PDU number N-PDU number
4 4
Indicator bit (F) Indicator bit (F)
5
Data segment
n
Data segment
n
:
F= 0 not first Segment of N-PDU: F= 0 not first Segment of N-PDU:
1 1
X F=0 T=1 M NSAPI X F=0 T=0 M NSAPI
2 2
Seg. number=2
N PDU number 3
Data segment
n
4
Data segment
n
The M -bit indicates if there are more SN PDUs to come M=0 last segment of that N-PDU
M=1 more segments to follow
12. SNDCP header fields II
X -spare bit .Is set to 0. If SN-PDU is received with the Spare bit set to 1, the field is ignored without error
notification.
NSAPI
0 Escape mechanism for future extensions
1 Point-to-Multipoint Multicast (PTM-M) information
Network
Service 2-4 Reserved for future use
Access 5-15 Dynamically allocated NSAPI value
Point SN-PDU with an unallocated NSAPI value are ignored by the receiving SNDCP entity without error
Identifier notification.
DCOMP 0 no compression
Data 1-14 Points to the data compression identifier negotiated dynamically
compression 15 Reserved for future extensions
coding SN-PDUs with an unallocated DCOMP value are ignored by the receiving SNDCP entity without
error notification.
PCOMP 0 no compression
Protocol control 1-14 Points to the protocol control information compression identifier negotiated dynamically
information
compression 15 Reserved for future extensions
coding
SN-PDUs with an unallocated PCOMP value are ignored by the receiving SNDCP entity
without error notification.
13. SNDCP header fields II
Segmentation and reassembly in acknowledged mode
The transmitting SNDCP entity segments an N-PDU into an ordered sequence of one or more SN-PDUs. The
More bit (M) is used to identify the last segment.
N PDU number 0-255 N-PDU number of the N-PDU.
Segmentation and reassembly in unacknowledged mode
A segment number is a sequence number assigned to each SN-UNITDATA PDU. The sequence number is set to
0 in the first SN-UNITDATA PDU of an N-PDU, and incremented by 1 for each subsequent SN-UNITDATA PDU.
The value range for the sequence number is from 0...15.
The received segments belonging to the same N-PDU are re-ordered, if possible. If a timer (implementation
dependent) elapses before all segments are received, the segments are discarded.
N PDU number 0-4095 N-PDU number of the N-PDU
0-15 Sequence number for segments carrying a N-PDU
Segment number
N-PDU 202 N-PDU 203 N-PDU 204
Seg 0 Seg 1 Seg 2 Seg 0 Seg 1
14. SNDCP Header example
|GPRS SNDCP, SMG#31, 04.65 V6.7.0 (TS 101 297) (SNDCP670) UDT (= SN UNITDATA)
|SN UNITDATA
|----0101 |NSAPI |dynamically allocated NSAPI 5
|---1---- |More bit |More segments to follow
|--1----- |SN-PDU type |SN-UNITDATA PDU
|-0------ |First segment indicator |Not first segment
|0------- |Spare |0
|N-PDU Number
|----0000 |N-PDU number |0
|0010---- |Segment number |2
|11110101 |N-PDU number continued |245