Chap07 sndcp 03t_kh

14
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

description

 

Transcript of Chap07 sndcp 03t_kh

Page 1: 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

Page 2: Chap07 sndcp 03t_kh

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

Page 3: Chap07 sndcp 03t_kh

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).

Page 4: Chap07 sndcp 03t_kh

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

Page 5: Chap07 sndcp 03t_kh

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

Page 6: Chap07 sndcp 03t_kh

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

Page 7: Chap07 sndcp 03t_kh

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

Page 8: Chap07 sndcp 03t_kh

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

Page 9: Chap07 sndcp 03t_kh

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!

Page 10: Chap07 sndcp 03t_kh

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!!

Page 11: Chap07 sndcp 03t_kh

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

Page 12: Chap07 sndcp 03t_kh

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.

Page 13: Chap07 sndcp 03t_kh

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

Page 14: Chap07 sndcp 03t_kh

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