Chap07 sndcp 03t_kh
-
Upload
farzad-ramin -
Category
Documents
-
view
1.132 -
download
0
description
Transcript of Chap07 sndcp 03t_kh
Chapter 7
SNDCP Contents:7.1 Functional description of the SNDCP layer
1. Functions of the SNDCP layer2. SNDCP services3. Compression of header4. Data compression Segmentation
7.2 Messages and message flows 1. SNDCP message flows for data transfer 2. SNDCP message flows: XID negotiation3. SNDCP header formats4. SNDCP header fields 5. SNDCP Header example
Chapter 7
SNDCP 7.1 Functional description of the SNDCP layer
1. Functions of the SNDCP layer2. SNDCP services3. Compression of header4. Data compression Segmentation
Subnetwork Dependant Convergence Protocol
MS BSSUm Gb
MAC
GSM RF
RLC
LLC
SNDCP
MAC
GSM RF
RLC
NSFR
L1
BSSGP
Relay
NSFR
L1
BSSGP
LLC
SNDCP
SGSN
IP v 4/6
ApplicationTCP/UDP
Transparent transfer of N-PDUsTransparent transfer of N-PDUs
Data compression/decompression- of user data- of protocol control information
Data compression/decompression- of user data- of protocol control information
Segmentation and Re-assemblySegmentation and Re-assembly
Multiplexing of PDPsMultiplexing of PDPs
BufferingBuffering
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.
at the SNDCP for acknowledged service.
This includes the multiplexing of N-PDUs from e.g. several network layer entities onto the appropriate LLC connection
This task comprises the segmentation of a Network Protocol Data Unit (N-PDU) into a Logical Link Control Protocol Data Units (LL-PDUs) and the reassemble of a LL-PDUs into a N-PDU.
A compression technique as an optional function of the SNDCP improves the channel efficiency. The compression / decompression is done for the user data as well as for the protocol control information (e. g. TCP/IP header). Compression parameters are negotiated between the MS and the SGSN (XID parameters).
SNDCP services
header data
SNDCP entity
control info
compression
data
compression
segmentation
control info
decompression
data
decompression
reassembly
LLC
LL-DATA.Request
LL-UNITDATA.Request SN-PDU
LL-DATA .Confirm
N-PDU
SN-DATA.Request
SN-UNITDATA.Request
Session Management entity
LL5 LL9LL3 LL11
5 6
PDP
LLC layer
SNDCP management
entity
PDP
15 NSAPI
SAPI
SNDCP layer
ControlEntity
1
MBMS
SNDCP entity
SNSM
Service primitives used for communication betweenthe SNDCP layer and other layers:
SNSM - SNDCP Session ManagementMBMS - Multimedia Broadcast/Multicast Service
SNDCP users
Compression of header
control info
compression
The protocol control information compression/decompression is an optional SNDCP features. Up to now, only TCP/IP-header compression has been specified for protocol 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
header data
compressed header
TCP/IP header compression (RFC1144)
Robust Header Compression (ROHC, RFC 3095)
TCP/IP and UDP/IP header compression (RFC 2507)
compression algorithms defined in Rel 6:
TCP/IP (IPv4) header compression or
header compression for IPv4 and IPv6
in RFC 3095 for RTP/UDP/IP, UDP/IP, ESP/IP and uncompressed
or
Data compression
data
compression
header data
Data compression is an optional SNDCP feature. Data compression applies to both SN‑DATA and SN‑UNITDATA primitives.Data compression, if used, shall be performed on the entire N‑PDU, including the possibly 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 (SN‑DATA) and unacknowledged (SN‑UNITDATA).The negotiation of the supported algorithms and their parameters shall be carried out using the XID parameter.
V.42 bis data compression
V.44 data compression
compression algorithms defined in Rel 6:
or
V.42 bis and V.44 data compression are ITU‑T Recommendations
Compressed header + dataCompressed (Compressed header + data)
Compression may work in UL, DL, or UL + DL or not at all
Segmentation
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 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:
N201N201
N201
1. Segment 2. Segment 3. Segment
Next Compressed N-PDU:
N201
N201
SNDCP header
F=1, M=1
F=0, M=1
F=0, M=0
Chapter 7
SNDCP 7.2 Messages and message flows
1. SNDCP message flows for data transfer2. SNDCP message flows: XID negotiation3. SNDCP header formats4. SNDCP header fields 5. SNDCP Header example
SNDCP message flows for data transfer
LL-DATA.req
I (SN-DATA PDU)
SNDCP SNDCPUser
SN-DATA.req
AcknLL-DATA.conf
LLC LLCSNDCPSNDCPUser
LL-DATA.indSN-DATA.ind
LL-DATA.res
LL-UNITDATA
.req UI (SN-UNITDATA
PDU)
SNDCP SNDCPUser
SN-UNITDATA
.req
LLC LLCSNDCPSNDCPUnser
LL-UNITDATA
.indSN-UNITDATA
.ind
Acknowledged Mode
Unacknowledged mode
SN-Data PDUs are buffered!
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.
LL-XID.reqXID (SN-XID par.)
SNDCP
SN-XID.req
XID (SN-XID par.)LL-XID.conf
LLC LLCSNDCPSNDCPUnser
LL-XID.indSN-XID.ind
LL-XID.resSN-XID.res
SN-XID.conf
SNDCPUser
XID Parameter name
Parameter Type
Length Format RangeDefault value
UnitsSense of
negotiationSNDCP Version
number0 1 0000bbbb 0-15 0 - down
Data Compression 1 variable Depends on type of data compression: V.42 bis or V.44Protocol Control
Information Compression
2 variable Depends on type of header compression: RFC 1144, RFC 2507 or ROHC
Currently not applicable only one version!!
Acknowledged modeUnacknowledged mode
SNDCP header formats
2
1
n
3
4
F=1X T=0 M
67 5 4 3 2 1 0
NSAPI
Data segment
DCOMP PCOMP
N-PDU number
2
1
n
F=0X T=0 M NSAPI
Data segment
1
n
2
3
4
F=0X T=1 M NSAPI
Data segment
Seg. number=2N PDU number
First segment Indicator bit (F)
:
SN-PDU Type (T): T = 0 SN-DATA PDU T = 1 SN-UNITDATA PDU
F= 1 first Segment of N-PDU:
F= 0 not first Segment of N-PDU:
First segment Indicator bit (F)
F= 1 first Segment of N-PDU:
F= 0 not first Segment of N-PDU:
2
1
n
3
4
5
F=1X T=1 M NSAPI
Data segment
DCOMP PCOMP
Segment numberN PDU number
67 5 4 3 2 1 0
MThe -bit indicates if there are more SN PDUs to come M=0 last segment of that N-PDUM=1 more segments to follow
SNDCP header fields II
0 Escape mechanism for future extensions
1 Point-to-Multipoint Multicast (PTM-M) information
2-4 Reserved for future use
5-15 Dynamically allocated NSAPI value
SN-PDU with an unallocated NSAPI value are ignored by the receiving SNDCP entity without error notification.
Data compressioncoding
X
NSAPI
-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.
Network ServiceAccess Point Identifier
DCOMP
0 no compression
1-14 Points to the protocol control information compression identifier negotiated dynamically
15 Reserved for future extensions
SN-PDUs with an unallocated PCOMP value are ignored by the receiving SNDCP entity without error notification.
Protocol control information compression coding
PCOMP
0 no compression
1-14 Points to the data compression identifier negotiated dynamically
15 Reserved for future extensionsSN-PDUs with an unallocated DCOMP value are ignored by the receiving SNDCP entity without error notification.
SNDCP header fields II
0-255 N-PDU number of the N-PDU.
0-4095 N-PDU number of the N-PDUN PDU number
Segment number 0-15 Sequence number for segments carrying a N-PDU
Segmentation and reassembly in unacknowledged modeA 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.
Segmentation and reassembly in acknowledged modeThe 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
Seg 0 Seg 1 Seg 2
N-PDU 203
Seg 0 Seg 1
N-PDU 204N-PDU 202
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