6 Elements of procedures and formats of fields for Data Link Layer peer-to-peer communication
3GPP44.006Data Link (DL) layer specificationMobile Station - Base Station System (MS - BSS) interfaceRelease 17TS
6.1 General
The elements of procedures define the commands and responses that are used on the data link connections carried on the Dm channel.
Procedures are derived from these elements of procedures and are described in clause 8.
If a bit position is marked as "spare", it shall be coded as "0". For future compatibility reasons, an entity receiving frames, where spare bit positions are coded otherwise, shall ignore those values without notification of any error.
6.2 Address field format
The field consists of:
‑ the address field extension bit EA;
‑ the command/response bit C/R;
‑ the SAPI;
‑ and the Link Protocol Discriminator LPD.
The format of the address field for control channels is shown in figure 4.
The address field extension bit, EA, enables extension of the field to span more than one octet. The value "0" is used to indicate an extension, the value "1" shall be used for the final address field octet.
The Link Protocol Discriminator (LPD) corresponding to the use in this Technical Specification shall take the value "0 0", all other values are reserved.
NOTE: LPD = "0 1" corresponds to the data link protocol used for SMSCB (see 3GPP TS 44.012).
Bit |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Spare |
LPD |
SAPI |
C/R |
EA |
Figure 4: Address field format
6.3 Address field variables
6.3.1 Address field extension bit (EA)
The address field range is extended by reserving the first transmitted bit of the address field octets to indicate the final octet of the address field. The presence of a "1" in the first bit of an address field octet signals that it is the final octet of the address field. Figure 4 shows the case where the field consists of one octet.
6.3.2 Command/response field bit (C/R)
The C/R bit identifies a frame as either a command or a response. The MS side shall send commands with the C/R bit set to "0", and responses with the C/R bit set to "1". The BS side shall do the opposite; that is commands are sent with C/R set to "1", and responses are sent with C/R set to "0". The combinations for the BS side and MS side are shown in table 1.
Table 1: C/R field bit usage
Type |
Direction |
C/R value |
Command |
BS side to MS side |
1 |
MS side to BS side |
0 |
|
Response |
BS side to MS side |
0 |
MS side to BS side |
1 |
6.3.3 Service access point identifier (SAPI)
The service access point identifier (SAPI) identifies a point at which data link layer services are provided by the data link layer to a layer 3 entity (see 3GPP TS 44.005). The SAPI allows 8 service access points to be specified initially, where bit 3 of the address field octet containing the SAPI is the least significant binary digit and bit 5 is the most significant.
The SAPI values are allocated as shown in table 2.
Table 2: Allocation of SAPI values
SAPI value |
Related entity |
0 |
Call control signalling, mobility management signalling and radio resource management signalling (see 3GPP TS 44.018 and 24.010) |
3 |
Short message service |
All others |
Reserved for future standardization |
6.4 Control field formats
The control field identifies the type of frame, which will be either a command or a response. The control field will contain sequence numbers, where applicable.
Three types of control field formats are specified: numbered information transfer (I format), supervisory functions (S format), and unnumbered information transfer and control functions (U format). The control field formats for LAPDm are shown in table 3.
6.4.1 Information transfer format – I
The I format shall be used to perform an information transfer between layer 3 entities. The functions of N(S), N(R) and P are independent; that is, each I frame has an N(S) sequence number, an N(R) sequence number which may or may not acknowledge additional I frames received by the data link layer entity, and a P bit that may be set to "0" or "1". The use of N(S), N(R) and P is defined in sub-clause 8.
6.4.2 Supervisory format – S
The S format shall be used to perform data link supervisory control functions such as: acknowledge I frames, request retransmission of I frames, and request a temporary suspension of transmission of I frames. The functions of N(R) and P/F are independent; that is, each supervisory frame has an N(R) sequence number which may or may not acknowledge additional I frames received by the data link layer entity, and a P/F bit that may be set to "0" or "1".
The use of N(R) and the P/F bit is described in sub-clause 8.
6.4.3 Unnumbered format – U
The U format shall be used to provide additional data link control functions and unacknowledged information transfer.
This format does not contain sequence numbers. It does include a P/F bit that may be set to "0" or "1".
Table 3: Control field format
Control field bits |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
I format |
N(R) |
P |
N(S) |
0 |
||||
S format |
N(R) |
P/F |
S |
S |
0 |
1 |
||
U format |
U |
U |
U |
P/F |
U |
U |
1 |
1 |
N(S) Transmitter send sequence number. N(R) Transmitter receive sequence number. S Supervisory function bit. U Unnumbered function bit. P/F Poll bit, when issued as a command, final bit, when issued as a response. |
For definition of values for supervisory function bits and unnumbered function bits, see table 4.
6.4a Short L2 header type 1
The short L2 header type 1 field is used in format Bter frames, see sub-clause 5.1. It consists of 2 bits, both shall take value 0.
NOTE: Introduction of further short L2 header types (longer than 2 bits, setting bit 2 to "1" and bit 1 to "0") is for further study.
The short L2 header type 1 implicitly defines a UI command frame belonging to SAPI=0, with length N201. All other parameters of a L2 frame header are irrelevant.
6.5 Control field parameters and associated state variables
The various parameters associated with the control field formats are described in this sub-clause. The coding of the bits within these parameters is such that the lowest numbered bit within the parameter field is the least significant bit.
6.5.1 Poll/Final bit
All frames contain P/F, the Poll/Final bit. The Poll/Final (P/F) bit serves a function in both command frames and response frames. In command frames the P/F bit is referred to as the P bit. In response frames it is referred to as the F bit.
The P bit set to "1" is used by a data link layer entity to create (poll) a response frame from the peer data link layer entity. The F bit set to "1" is used by a data link layer entity to indicate the response frame transmitted as a result of a soliciting (poll) command.
The use of the P/F bit is described in sub-clause 8.
6.5.2 Multiple frame operation – variables and sequence numbers
6.5.2.1 Modulus
Each I frame is sequentially numbered by a sequence number which may have the value 0 through 7.
Arithmetics acting on variables which are related to such sequence numbers (i.e. N(S), N(R), V(S), V(R), V(A); see following sub-clauses) operate modulo 8.
NOTE: Modulo 8 operation on negative numbers is performed by adding multiples of 8 to the negative number until the result becomes nonnegative. Then common modulo 8 operation is applied.
6.5.2.2 Send state variable V(S)
Each point‑to‑point data link connection endpoint shall have an associated send state variable (V(S)) when using I frame commands. The send state variable denotes the sequence number of the next in‑sequence I frame to be transmitted.
The send state variable can take on the value 0 through 7.
The value of the send state variable shall be incremented by 1 with each successive I frame transmission, and shall not exceed V(A) by more than the maximum number of outstanding I frames k (The window size k is defined in sub-clause 8.8.4.). The value of k may be in the range of 1=<k=<7.
6.5.2.3 Acknowledge state variable V(A)
Each point‑to‑point data link connection endpoint shall have an associated acknowledge state variable (V(A)) when using I frame commands and supervisory frame commands/responses.
The acknowledge state variable identifies the last frame that has been acknowledged by its peer (V(A) ‑ 1 equals the N(S) of the last acknowledged I frame). The acknowledge state variable can take on the value 0 through 7. The value of the acknowledge state variable shall be updated by the valid N(R) values received from its peer (see 6.5.2.6). A valid N(R) value is one that is in the range V(A)=<N(R)=<V(S).
NOTE: These inequalities shall be interpreted in the following way:
N(R) is called valid, if and only if (N(R)‑V(A)) mod 8 <= (V(S)‑V(A)) mod 8.
Furthermore, from sub-clause 6.5.2.2., it is obvious that (V(S)‑V(A)) mod 8 <= k.
6.5.2.4 Send sequence number N(S)
Only I frames contain N(S), the send sequence number of transmitted I frames. At the time that an in‑sequence I frame is designated for transmission, the value of N(S) is set equal to the value of the send state variable V(S).
6.5.2.5 Receive state variable V(R)
Each point‑to‑point data link connection endpoint shall have an associated receive state variable (V(R)) when using I frame commands and supervisory frame commands/responses. The receive state variable denotes the sequence number of the next in‑sequence I frame expected to be received. The receive state variable can take on the value 0 through 7.
The value of the receive state variable shall be incremented by one with the receipt of an error‑free, in‑sequence I frame whose send sequence number N(S) equals the receive state variable V(R).
6.5.2.6 Receive sequence number N(R)
All I frames and supervisory frames contain N(R), the expected send sequence number of the next received I frame.
At the time that a frame of the above types is designated for transmission, the value of N(R) is set equal to the current value of the receive state variable V(R). N(R) indicates that the data link layer entity transmitting the N(R) has correctly received all I frames numbered up to and including N(R) ‑ 1.
6.5.2.7 Other parameters and variables
For definition and values of parameters and variables such as timer T200, maximum number of retransmissions (N200), window size (k) and the maximum number of octets in an information field (N201), see sub-clause 8.8.
6.5.3 Unacknowledged operation variables and parameters
The only parameter defined for unacknowledged operation is the number of octets (N201) in the information field of the UI frame. See sub-clause 8.8.3.
6.6 Length indicator field format
The format of the length indicator field for control channels is shown in figure 5.
The length indicator field extension bit, EL, enables extension of the field to span more than one octet.
Bit |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
L |
M |
EL |
Figure 5: Length indicator field format
The field consists of the field extension bit, EL, the more data bit, M, and the length indicator, L.
6.7 Length indicator field variables
6.7.1 Length indicator field extension bit (EL)
The length indicator field is extended by reserving the first transmitted bit of the length indicator field octets to indicate the final octet of the field. Presence of a "1" in the first bit of a length indicator field octet signals that it is the final octet of the field. Figure 5 shows the case where the field consists of one octet.
6.7.2 More data bit (M)
The more data bit, M, is used to indicate segmentation of layer 3 message units on data link layer frames. Layer 3 messages, which need to be segmented, shall only be transported by I‑frames.
When the M bit is set to "1", it indicates that the information field of the frame contains only a segment of the layer 3 message unit.
The M bit set to "0" indicates:
i) that the information field contains a complete layer 3 message unit provided that the M bit of the previous frame was set to "0";
ii) that the information field contains the last segment of a layer 3 message unit if the M bit of the previous frame was set to "1".
When the M bit is set to "1", the information field shall contain the maximum number of octets, N201, that an information frame can contain, see sub-clause 8.8.3 for the value of N201.
In frames other than information (I) frames the M bit shall be set to "0".
6.7.3 Length indicator (L)
The length indicator consists of 6 bits and is used to indicate the number of octets contained in the information field of UI, SABM, UA or I frames, i e any value from 0 to N201 inclusive.
The L = 0 shall be used in frames not containing an information field.
6.8 Commands and responses
The following commands and responses are used by either the MS or the BS data link layer entities and are represented in table 4. Each data link connection supports the appropriate set of commands and responses for the type of operation desired (see sub-clause 8).
For purposes of the LAPDm procedures, frames with the supervisory function bit encoding "11" and those encodings of the unnumbered function bits in table 3 not identified in table 4 are identified as "invalid or not implemented" command and response control fields and shall be treated as defined in sub-clause 8.7.3.
The commands and responses in table 4 are defined as follows.
6.8.1 Information (I) commands
The function of the information (I) command is to transfer, across a data link connection, sequentially numbered frames containing information fields provided by layer 3. This command is used in the multiple frame operation.
Table 4: Commands and responses – unacknowledged
and multiple frame acknowledged operation
Format |
Commands |
Responses |
8 7 6 5 4 3 2 1 |
||||
Information transfer |
I (infor-mation) |
N ( R ) |
P |
N ( S ) |
0 |
||
RR |
RR |
N ( R ) |
P/F |
0 0 |
0 1 |
||
Supervisory |
RNR |
RNR |
N ( R ) |
P/F |
0 1 |
0 1 |
|
REJ |
REJ |
N ( R ) |
P/F |
1 0 |
0 1 |
||
SABM |
0 0 1 |
P |
1 1 |
1 1 |
|||
Unnumbered |
DM |
0 0 0 |
F |
1 1 |
1 1 |
||
UI (un- |
0 0 0 |
P |
0 0 |
1 1 |
|||
DISC |
0 1 0 |
P |
0 0 |
1 1 |
|||
UA (un- |
0 1 1 |
F |
0 0 |
1 1 |
6.8.2 Set asynchronous balanced mode (SABM) command
The SABM unnumbered command is used to place the addressed user side or network side into the modulo 8 multiple frame acknowledged operation.
An information field is permitted with the SABM command only if it is used in the MS to BSS direction in order to establish a SAPI 0 data link (for contention resolution after having transmitted a random access frame on the RACH or in response to a PACKET CS COMMAND message). Layer 3 will indicate when an information field is to be included (see sub-clause 8.4.1 for procedures).
A data link layer entity confirms acceptance of a SABM command by the transmission at the first opportunity of a UA response. Upon acceptance of this command, the data link layer entity’s send state variable V(S), acknowledge state variable V(A), and receive state variable V(R), are set to 0. The transmission of an SABM command indicates the clearance of any exception condition, in particular a busy condition that was reported by the earlier transmission of an RNR frame by that same data link layer entity.
Previously transmitted I frames that are unacknowledged when this command is actioned remain unacknowledged and shall be discarded. It is the responsibility of a higher layer (for example, layer 3) to recover from the possible loss of the contents of such I frames.
NOTE: SABM frames cannot contain layer 3 message units which have to be segmented.
6.8.3 Disconnect (DISC) command
The DISC unnumbered command is transmitted in order to terminate the multiple frame operation.
NOTE: See sub-clause 8.4.4.4 for local end release where the multiple frame operation is terminated without transmitting a DISC command frame.
No information field is permitted with the DISC command.
Prior to actioning the command, the data link layer entity receiving the DISC command confirms the acceptance of a DISC command by the transmission of a UA response. The data link layer entity sending the DISC command terminates the multiple frame operation when it receives the acknowledging UA or DM response.
Previously transmitted I frames that are unacknowledged when this command is actioned remain unacknowledged and shall be discarded. It is the responsibility of a higher layer (for example, layer 3) to recover from the possible loss of the contents of such I frames.
6.8.4 Unnumbered information (UI) command
When a layer 3 entity requests unacknowledged information transfer, the UI unnumbered command shall be used to send information to its peer without affecting data link layer variables. UI command frames do not carry a sequence number. Therefore, the UI frame may be lost without notification to the layer 3 entity if a data link exception occurs during transmission of the command.
The request of unacknowledged information transfer may require short L2 header type 1. If the layer 2 entity does not support short L2 header type 1, it shall report an MDL‑ERROR‑INDICATION with error cause "short L2 header type 1 not supported". If short L2 header type 1 is not applicable for the intended information transfer, it shall report an MDL‑ERROR‑INDICATION with error cause "short L2 header type 1 not applicable". If the request is not erroneous, it shall transfer the information as specified in a format Bter frame.
6.8.5 Receive ready (RR) command/response
The receive ready (RR) supervisory frame is used by a data link layer entity to:
a) indicate it is ready to receive an I frame;
b) acknowledge previously received I frames numbered up to and including N(R) ‑ 1 (as defined in sub-clause 8);
c) clear a busy condition that was indicated by the earlier transmission of an RNR frame by that same data link layer entity.
In addition to indicating the status of a data link layer entity, the RR command with the P bit set to "1" may be used by the data link layer entity to ask for the status of its peer data link layer entity.
No information field is permitted with the RR command/response.
6.8.6 Reject (REJ) command/response
The reject (REJ) supervisory frame is used by a data link layer entity to request retransmission of I frames starting with the frame numbered N(R). The value of N(R) in the REJ frame acknowledges I frames numbered up to and including N(R) ‑ 1. New I frames pending initial transmission shall be transmitted following the retransmitted I frames.
Only one REJ exception condition for a given direction of information transfer shall be established at a time. The REJ exception condition is cleared (reset) upon the receipt of an I frame with an N(S) equal to the N(R) of the REJ frame.
The transmission of an REJ frame shall also indicate the clearance of any busy condition within the sending data link layer entity that was reported by the earlier transmission of an RNR frame by that same data link layer entity.
In addition to indicating the status of a data link layer entity, the REJ command with the P bit set to "1" may be used by the data link layer entity to ask for the status of its peer data link layer entity.
No information field is permitted with the REJ command/response.
6.8.7 Receive not ready (RNR) command/response
The receive not ready (RNR) supervisory frame shall be used by a data link layer entity to indicate a busy condition; that is, a temporary inability to accept additional incoming I frames. The value of N(R) in the RNR frame acknowledges I frames numbered up to and including N(R) ‑ 1.
Acknowledgement of subsequent I frames transmitted before the indication of the peer receiver busy is received, will be made in subsequent exchanges if they arrive after the peer receiver busy condition has been cleared.
In addition to indicating the status of a data link layer entity, the RNR command with the P bit set to "1" may be used by the data link layer entity to ask for the status of its peer data link layer entity.
No information field is permitted with the RNR command/ response.
NOTE: The protocol operation used on control channels with SAPI=0 or SAPI=3 shall not utilize the RNR frame type and related procedures. Therefore RNR frames received in those cases can be ignored.
6.8.8 Unnumbered acknowledgement (UA) response
The UA unnumbered response is used by a data link layer entity to acknowledge the receipt and acceptance of the mode setting commands (SABM or DISC). Received mode setting commands are not actioned until the UA response is transmitted.
An information field is permitted with the UA response, i e if an SABM command with an information field is received and the SABM is to be acknowledged, the UA response to that command shall contain the same information field as received in the SABM command.
The transmission of the UA response indicates the clearance of any busy condition that was reported by the earlier transmission of an RNR frame by that same data link layer entity.
6.8.9 Disconnected mode (DM) response
The DM unnumbered response is used by a data link layer entity to report to its peer that the data link layer is in a state such that multiple frame operation cannot be performed. A data link layer entity shall transmit a DM response to any valid command received which it cannot action.
No information field is permitted with the DM response.