• No results found

Subnetwork-dependent convergence protocol (SNDCP)

General Packet Radio Service

4.5 GPRS AIR INTERFACE

4.6.2 Subnetwork-dependent convergence protocol (SNDCP)

The SNDCP is only used in the user plane to indicate a specific PDP context and not used by the mobility and session management. A subscriber may have a number of PDP contexts open and each one of these is associated at this layer to a network services access point identifier (NSAPI). The main functions of the SNDCP layer are to provide:

• multiplexing of PDPs;

• compression of user data (including IP header compression);

• segmentation of data packets to be passed to the LLC layer.

The LLC stipulates the maximum size of protocol data unit (PDU) it can carry within a single segment. If the Layer 3 packet (e.g. IP packet), referred to as a network layer PDU (N-PDU), cannot fit into this size then it is a requirement of the SNDCP layer to break the Layer 3 packet into smaller segments (SN-PDU) that can be carried within one LLC frame and then at the receiving end reassemble the N-PDU packet. The SNDCP layer compression capability for the IP header conforms to the IETF header compression RFCs: RFC 1144 and RFC 2507. It is also possible to compress the data in compliance with ITU-T V.42bis. Although compressing the user data reduces the number of data bytes transmitted over the air, it does have the negative effect of increasing the processing power required by the MS and the SGSN.

Figure 4.12 illustrates how two different data connections can be active on a single mobile device, both of these active connections sharing the same logical link between the mobile device and the SGSN. The PDP connection types do not have to be the same; for example, one session may be an IPv4 connection to the Internet while the other may be a PPP or IPv6 connection to the home network. They are identified by their different NSAPI identifiers. If a number of PDP contexts require the same QoS, they will have

Signalling SMS Packet Data Packet Data

SNDCP Logical Link Control

RLC over BSS or BSSGP over Gb Mobility and

session control SMS traffic

User data for pdp context 1

User data for pdp context 2

NSAPI SAPI

TLLI

different NSAPIs; however, it is possible for them to be associated with a single SAPI at the LLC layer.

As can be seen from Figure 4.13, there are two separate frame formats, Figure 4.13(a) shows the frame for the acknowledged mode transfer while Figure 4.13(b) shows the frame for the unacknowledged mode. When using acknowledged mode the SNDCP layer will buffer network layer N-PDU packets and keep them until all segments (SN-PDU) of the N-PDU packet have been acknowledged by the receiving entity. In unacknowledged mode, as soon as the N-PDU packets have been passed to the LLC layer for transmission the packet is immediately discarded. The SNDCP will request the lower LLC layer to transfer acknowledged data using the acknowledged frame format; it is the responsibil- ity of the LLC to ensure that the data arrives in the correct order. During this request the SNDCP can request QoS requirements such as precedence class, peak throughput and the delay class in the SGSN as well as indicate the peak throughput of the mobile device. A radio priority class can also be established for the mobile device, which will be used by the RLC/MAC layer for data transfer. When unacknowledged data transfer is requested, the QoS parameters at both the SGSN and mobile device will also include a reliability classification which indicates whether the LLC layer should use protected or unprotected mode2 and whether the RLC/MAC layer should use acknowledged or

unacknowledged mode.

The fields of the frames shown in Figure 4.13 are defined as follows:

Spare bit (X): this is set to 0 by the transmitting SNDCP entity and ignored at the receiver.

First segment indicator (F): this bit is 1 if this is the first segment part of the N-PDU. It indicates that the DCOMP, PCOMP and N-PDU number fields are included in the packet. It also indicates that there are more segments to follow. If this bit is 0 it indicates that this is not the first segment part of the N-PDU and that data is to follow directly, i.e. there are no DCOMP, PCOMP and N-PDU number fields.

byte 1

DCOMP PCOMP

N-PDU No. - Unacknowledged mode

Data segment byte 2 byte 3 byte n NSAPI M X F T

Segment No. N-PDU No. Unack mode

byte 4 byte 1

DCOMP PCOMP

N-PDU No. - Acknowledged mode

Data segment byte 2 byte 3 byte n NSAPI M X F T a) b)

Figure 4.13 SNDCP frame formats

2The LLC layer can detect errors in frames and depending on whether protected or unprotected

SN-PDU type (T): a 0 indicates that this is an SN-DATA (acknowledged) frame while a 1 indicates that this is an SN-UNITDATA (unacknowledged) frame.

More bit (M): since an N-PDU may consist of a number of SN-PDUs (segments), the last one of these segments has to be indicated so that the N-PDU can be reassembled. A 0 indicates that this segment is the last one of the N-PDU, while a 1 indicates that there are more segments to follow.

NSAPI: indicates which PDP context the SN-PDU is associated with since a number of PDP contexts may share the same logical link connection.

0 This is an escape mechanism for future extensions 1 Point-to-multipoint multicast (PTM-M) information 2–4 Reserved for future use

5–15 Dynamically allocated NSAPI values, allowing for a maximum of 11 contexts.

Data compression coding (DCOMP): this is only present in the first segment. 0 No compression

1–14 This points to the data compression identifier that has been dynamically negotiated 15 Reserved for future extensions.

Protocol control information compression coding (PCOMP): this is only present in the first segment.

1 No compression

1–14 This points to the protocol control information compression identifier that has been dynamically negotiated

15 Reserved for future extensions.

Segment number: only required in unacknowledged mode. Since the LLC mechanism will ensure delivery order in ack mode

0–15 Sequence number for segments carrying an N-PDU.

N-PDU number – acknowledged mode

0–255 number of the N-PDU.

N-PDU number – unacknowledged mode

0–255 number of the N-PDU.