X.25

 
X.25 protocols described here include:
   
ADCCP  
HDLC  
LAPB  
MLP  
X.25  
X.29  
X.75  

For information on X.25 simulation and analysis

View this file in pdf format.

ITU-X.25 http://www.itu.int/itudoc/itu-t/rec/x/x1-199/x25_23040.html

X.25 is the CCITT’s recommendation for the interface between a DTE and DCE over a Public Data Network. Generally, X.25 covers layers 1 to 3 of the ISO communication model, but the term is used here to refer specifically to packet layer 3. X.25 is carried within the Information Field of LAPB frames.

 

The X.25 is illustrated here in relation to the OSI model:
Click the protocols on the map to see more details.

Command
LAPB frame types are defined as commands or responses depending on the address field and the direction of the frame. A command frame from the DTE has an address of 1; a command frame from the DCE has an address of 3.

Control frames
All LAPB frame types except for information frames.

Control packets
All X.25 packet types except for DATA packets.

D bit
Delivery confirmation bit of the X.25 packet header. Used to indicate whether packet layer acknowledgements have local (0) or global (1) significance between the DTE and DCE. This is not a universally accepted bit and is generally set to 0.

Information frame
A specific LAPB frame type that is used to transport data across the link, inside the information field of the frame. The information field contains the X.25 packet header and data according to the standards in the X.25 layer 3 protocol.

LAPB
Link Access Procedure-Balanced protocol. The CCITT’s adaptation of the layer 2 HDLC protocol for the X.25 interface. The LAPB address field, in contrast to HDLC, only has two permissible values.

LCN
Logical Channel Number. Together with the LGN (in the X.25 packet header), identifies the actual logical channel number of the DTE-DCE link. The LCN is an 8-bit field and consequently represents a number between 0 and 255.

LGN
Logical Channel Group Number. Together with the LCN (in the X.25 packet header), identifies the actual logical channel number of the DTE-DCE link. The LGN is a 4-bit field and consequently represents a number between 0 and 15, inclusive.

M bit
More data bit. A bit contained within the X.25 data packet which is set by layers higher than layer 3 to inform the destination DTE that more data will follow in the next packet. Using the M bit, packets can be logically grouped together to convey a large block of related information.

Modulo
Window Size. Represents the maximum number of frames (layer 2) or packets (layer 3) that can be left outstanding and unacknowledged for a DTE after transmission. In Modulo 8, sequence numbers can be represented by the digits 0 to 7 and are encoded in 3 bits of information. In Modulo 128, sequence numbers can be represented by the digits 0 to 127 and are encoded in 7 bits of information.

N(R)
A frame sequence number used in both LAPB information and supervisory frames in order to indicate to the transmitter the status of sent information frames. The meaning of N(R) is dependent on the type of the frame and can include acknowledgements, missed frames or a busy state. A 3-bit N(R) field is used to identify sequence numbers for a modulo 8 transmission; a 7-bit field is used for modulo 128.

N(S)
A frame sequence number used only within an LAPB information frame to identify each frame sent to the receiver. A 3-bit N(S) field is used to identify sequence numbers for a modulo 8 transmission; a 7-bit field is used for modulo 128.

P(R)
A packet sequence number used in the X.25 data packets in order to indicate to the transmitter the status of sent data packets. The meaning of P(R) is dependent on the type of the packet and can include acknowledgements, missed frames or a busy state. A 3-bit P(R) field is used to identify sequence number of modulo 8 transmission; a 7-bit field is used for modulo 128.

P(S)
A packet sequence number used only within an X.25 data packet in order to identify each packet sent to the receiver. A 3-bit P(R) field is used to identify the sequence number of modulo 8 transmission; a 7-bit field is used for modulo 128.

P/F bit
The Poll/Final bit is set within the LAPB information frame by the transmitter to insist on an immediate response from the receiver. The receiver always turns on the bit in its response to a command from the sender with a poll bit set.

Q bit
A bit within the X.25 packet header used to signify X.25 control packets used by asynchronous PADs. Mainly used as a "qualified" proprietary protocol within the packet.

Response
LAPB frame types are defined as commands or responses, depending on the address field and the direction of the frame. A response frame is specified as a frame with either an address of 1, (from the DCE), or an address of 3 (from the DTE).

Sequence number
A unique number given to specific frames and packets to ensure that they are received and interpreted in the correct order. The bit size of the sequence number field is dependent on the respective modulo (maximum window size) of the layer and determines the maximum number of frames or packets that can be outstanding by the transmitter at any given time.

Supervisory frames
A collection of LAPB frames used to control information flow, request retransmissions and acknowledge information frames. Receive Ready (RR) and Reject (REJ) are two examples.

Unnumbered frame
A collection of LAPB frames used to provide additional data-link control functions such as link initialization and disconnection, link reset after unrecoverable errors, and rejection of invalid frames. They are called unnumbered because they do not contain frame sequence numbers. Disconnect (DISC) and Unnumbered Acknowledgement (UA) are two examples.

X.25
The CCITT’s recommendation for the interface between a DTE and DEC over a Public Switched Telephone Network (PSTN). Generally, X.25 covers layers 1 to 3 of the ISO model, but the term is used in this document to refer specifically to packet layer 3.

 

ADCCP

www.ansi.org Ansi X3.66 1979

The Advanced Data Communication Control Procedures (ADCCP) defines a method of data link control in terms of the various combinations of primary link control function, secondary link control functions, and balanced link control that make up the control functions and protocols at three types of logical data link control stations:

  1. Primary station.
  2. Secondary station.
  3. Combined station.

In particular, the logical functions and protocols of secondary stations and combined stations are specified identically with respect to the action taken and the response frames. The primary station and combined station procedures for managing and scheduling the data link, via the transmission of command frames, are the responsibility of the system designer.
The header appears as follows:

Flag

Address field

Control field

Information

FCS

Flag

ADCCP frame structure

Flag
The value of the flag is always (0x7E). In order to ensure that the bit pattern of the frame delimiter flag does not appear in the data field of the frame (and therefore cause frame misalignment), a technique known as Bit Stuffing is used by both the transmitter and the receiver.

Address field
The first byte of the frame after the header flag is known as the Address Field. ADCCP is used on multipoint lines and it can support as many as 256 terminal control units or secondary stations per line. The address field defines the address of the secondary station which is sending the frame or the destination of the frame sent by the primary station.

Control field
The field following the Address Field is called the Control Field and serves to identify the type of the frame. In addition, it includes sequence numbers, control features and error tracking according to the frame type.

Every frame holds a one bit field called the Poll/Final bit. In the NRM mode of ADCCP this bit signals which side is ‘talking’, and provides control over who will speak next and when. When a primary station has finished transmitting a series of frames, it sets the Poll bit, thus giving control to the secondary station. At this time the secondary station may reply to the primary station. When the secondary station finishes transmitting its frames, it sets the Final bit and control returns to the primary station.

Modes of operation
ADCCP has 3 modes of operation according to the strength of the master/slave relationship. This is determined by a unique frame type specifier:

  • Normal Response Mode (NRM): This mode is totally master/slave and is signified by the SNRM(E) frame. The primary station initiates the session and full polling is used for all frame transmissions.
  • Asynchronous Response Mode (ARM): This mode is similar to NRM and is signified by the SARM(E) frame. The difference, however, is that secondary stations can transmit freely without waiting for a poll.
  • Asynchronous Balanced Mode (ABM): This mode is totally balanced (i.e., no master/slave relationship) and is signified by the SABM(E) frame. Each station can initialize, supervise, recover from errors and send frames at any time.

FCS
The Frame Check Sequence (FCS) enables a high level of physical error control by allowing the integrity of the transmitted frame data to be checked. The sequence is first calculated by the transmitter using an algorithm based on the values of all the bits in the frame. The receiver then performs the same calculation on the received frame and compares its value to the CRC.

Window size
ADCCP supports an extended window size (modulo 128) where the number of possible outstanding frames for acknowledgement is raised from 8 to 128. This extension is generally used for satellite transmissions where the acknowledgement delay is significantly greater than the frame transmission times. The type of the link initialization frame determines the modulo of the session and an "E" is added to the basic frame type name (e.g., SABM becomes SABME).

Extended address
ADCCP provides another type of extension to the basic format. The address field may be extended to more than one byte by agreement between the involved parties. When an address extension is used, the presence of a 1 bit in the first bit of an address byte indicates that the following byte is also an address byte. The last byte of the string of address bytes is signalled by a 0 bit in the first position of the byte.

Frame types
The following are the Supervisory Frame Types in ADCCP:

RR Information frame acknowledgement and indication to receive more.
REJ Request for retransmission of all frames after a given sequence number.
RNR Indicates a state of temporary occupation of station (e.g., window full).
SREJ Request for retransmission of one given frame sequence number.
 
The following are the Unnumbered Frame Types in ADCCP:
   
DISC Request disconnection.
UA Acknowledgement frame.
DM Response to DISC indicating disconnected mode.
FRMR Frame reject.
SABM Initiator for asynchronous balanced mode. No master/slave relationship.
SABME SABM in extended mode.
SARM Initiator for asynchronous response mode. Semi master/slave relationship.
SARME SAMR in extended mode.
REST Reset sequence numbers.
CMDR Command reject.
SNRM Initiator for normal response mode. Full master/slave relationship.
SNRME SNRM in extended mode.
RD Request disconnect.
RIM Secondary station request for initialization after disconnection.
SIM Set initialization mode.
UP Unnumbered poll.
UI Unnumbered information. Sends state information/data.
XID Identification exchange command.
 
There is one Information Frame Type in ADCCP:
   
Info Information frame.

Interested in more details about testing this protocol? click here

 

HDLC

ISO-3309 http://www.iso.ch/cate/d8561.html

The High Level Data Link Control (HDLC) protocol was developed by ISO and is based primarily on the pioneering work done by IBM on SDLC.

The format of a standard HDLC frame is as follows:

Flag

Address field

Control field

Information

FCS

Flag

HDLC frame structure

Flag
The value of the flag is always (0x7E). In order to ensure that the bit pattern of the frame delimiter flag does not appear in the data field of the frame (and therefore cause frame misalignment), a technique known as Bit Stuffing is used by both the transmitter and the receiver.

Address field
The first byte of the frame after the header flag is known as the Address Field. HDLC is used on multipoint lines and it can support as many as 256 terminal control units or secondary stations per line. The address field defines the address of the secondary station which is sending the frame or the destination of the frame sent by the primary station.

Control field
The field following the Address Field is called the Control Field and serves to identify the type of the frame. In addition, it includes sequence numbers, control features and error tracking according to the frame type.

Every frame holds a one bit field called the Poll/Final bit. In the NRM mode of HDLC this bit signals which side is ‘talking’, and provides control over who will speak next and when. When a primary station has finished transmitting a series of frames, it sets the Poll bit, thus giving control to the secondary station. At this time the secondary station may reply to the primary station. When the secondary station finishes transmitting its frames, it sets the Final bit and control returns to the primary station.

Modes of operation
HDLC has 3 modes of operation according to the strength of the master/slave relationship. This is determined by a unique frame type specifier:

  • Normal Response Mode (NRM): This mode is totally master/slave and is signified by the SNRM(E) frame. The primary station initiates the session and full polling is used for all frame transmissions.
  • Asynchronous Response Mode (ARM): This mode is similar to NRM and is signified by the SARM(E) frame. The difference, however, is that secondary stations can transmit freely without waiting for a poll.
  • Asynchronous Balanced Mode (ABM): This mode is totally balanced (i.e., no master/slave relationship) and is signified by the SABM(E) frame. Each station can initialize, supervise, recover from errors and send frames at any time.

FCS
The Frame Check Sequence (FCS) enables a high level of physical error control by allowing the integrity of the transmitted frame data to be checked. The sequence is first calculated by the transmitter using an algorithm based on the values of all the bits in the frame. The receiver then performs the same calculation on the received frame and compares its value to the CRC.

Window size
HDLC supports an extended window size (modulo 128) where the number of possible outstanding frames for acknowledgement is raised from 8 to 128. This extension is generally used for satellite transmissions where the acknowledgement delay is significantly greater than the frame transmission times. The type of the link initialization frame determines the modulo of the session and an "E" is added to the basic frame type name (e.g., SABM becomes SABME).

Extended address
HDLC provides another type of extension to the basic format. The address field may be extended to more than one byte by agreement between the involved parties. When an address extension is used, the presence of a 1 bit in the first bit of an address byte indicates that the following byte is also an address byte. The last byte of the string of address bytes is signalled by a 0 bit in the first position of the byte.

Frame types
The following are the Supervisory Frame Types in HDLC:

RR Information frame acknowledgement and indication to receive more.
REJ Request for retransmission of all frames after a given sequence number.
RNR Indicates a state of temporary occupation of station (e.g., window full).
SREJ Request for retransmission of one given frame sequence number.
The following are the Unnumbered Frame Types in HDLC:
DISC Request disconnection.
UA Acknowledgement frame.
DM Response to DISC indicating disconnected mode.
FRMR Frame reject.
SABM Initiator for asynchronous balanced mode. No master/slave relationship.
SABME SABM in extended mode.
SARM Initiator for asynchronous response mode. Semi master/slave relationship.
SARME SAMR in extended mode.
REST Reset sequence numbers.
CMDR Command reject.
SNRM Initiator for normal response mode. Full master/slave relationship.
SNRME SNRM in extended mode.
RD Request disconnect.
RIM Secondary station request for initialization after disconnection.
SIM Set initialization mode.
UP Unnumbered poll.
UI Unnumbered information. Sends state information/data.
XID Identification exchange command.
There is one Information Frame Type in HDLC:
Info Information frame.

Interested in more details about testing this protocol? click here

 

LAPB

ITU-X.25 http://www.itu.int/itudoc/itu-t/rec/x/x1-199/x25_23040.html

LAPB is the layer 2 protocol used to carry X.25 packets. The format of a standard LAPB frame is as follows:

Flag

Address field

Control field

Information

FCS

Flag

LAPB frame structure

Flag
The value of the flag is always (0x7E). In order to ensure that the bit pattern of the frame delimiter flag does not appear in the data field of the frame (and therefore cause frame misalignment), a technique known as Bit Stuffing is used by both the transmitter and the receiver.

Address field
The first byte of the frame after the header flag is known as the Address Field. In LAPB, however, this field has no meaning since the protocol works in a point to point mode and the DTE network address is represented in the layer 3 packets. This byte is therefore put to a different use; it separates the link commands from the responses and can have only two values: 0x01 and 0x03. 01 identifies frames containing commands from DTE to DCE and responses to these commands from DCE to DTE. 03 is used for frames containing commands from DCE to DTE and for responses from DTE to DCE.

Control field
The field following the Address Field is called the Control Field and serves to identify the type of the frame. In addition, it includes sequence numbers, control features and error tracking according to the frame type.

In LAPB, since there is no master/slave relationship, the sender uses the Poll bit to insist on an immediate response. In the response frame this same bit becomes the receivers Final bit. The receiver always turns on the Final bit in its response to a command from the sender with the Poll bit set. The P/F bit is generally used when either end becomes unsure about proper frame sequencing because of a possible missing acknowledgement, and it is necessary to re-establish a point of reference.

Modes of operation
LAPB works in the Asynchronous Balanced Mode (ABM). This mode is totally balanced (i.e., no master/slave relationship) and is signified by the SABM(E) frame. Each station may initialize, supervise, recover from errors, and send frames at any time. The DTE and DCE are treated as equals.

FCS
The Frame Check Sequence (FCS) enables a high level of physical error control by allowing the integrity of the transmitted frame data to be checked. The sequence is first calculated by the transmitter using an algorithm based on the values of all the bits in the frame. The receiver then performs the same calculation on the received frame and compares its value to the CRC.

Window size
LAPB supports an extended window size (modulo 128) where the number of possible outstanding frames for acknowledgement is raised from 8 to 128. This extension is generally used for satellite transmissions where the acknowledgement delay is significantly greater than the frame transmission times. The type of the link initialization frame determines the modulo of the session and an "E" is added to the basic frame type name (e.g., SABM becomes SABME).

Frame types
The following are the Supervisory Frame Types in LAPB:

RR Information frame acknowledgement and indication to receive more.
REJ Request for retransmission of all frames after a given sequence number.
RNR Indicates a state of temporary occupation of station (e.g., window full).

The following are the Unnumbered Frame Types in LAPB:

DISC Request disconnection.
UA Acknowledgement frame.
DM Response to DISC indicating disconnected mode.
FRMR Frame reject.
SABM Initiator for asynchronous balanced mode. No master/slave.
SABME SABM in extended mode.
There is one Information Frame Type in LAPB:
Info Information frame.

Interested in more details about testing this protocol? click here

 

MLP

Multilink procedure (MLP) exists as an added upper sublayer of the data link layer (LAPB), operating between the packet layer and a multiplicity of single data link protocol functions (SLPs) in the data link layer.

When specified in the LAPB frame, the MLP frame is inserted before the LAPB information field. The contents of the MLC (multilink control field) are as follows:

4

5

6

7

8

16

MNH(S)

V

S

R

C

MNL(S)

MLC frame structure

MNH(S)
Bits 9-12 of 12-bit multilink send sequence number MN(S).

MNL(S)
Bits 1-8 of 12-bit multilink send sequence number MN(S).

V
Void sequencing bit.

S
Sequence check option bit.

R
MLP reset request bit.

C
MLP reset confirmation bit.

Decode of MLP in LAPB

Interested in more details about testing this protocol? click here

 

X.25

The structure of the X.25 packet is as follows for Modulo 8:

 
8
7
6
5
4
3
2
1
GFI
Q
D
S
S
LGN
 
LCN
Pkt. Type
P(R)
M
P(S)
0
  
User data
.
.
.
.
X.25 packet structure for Modulo 8

The structure of the X.25 packet is as follows for Modulo 128:

 
8
7
6
5
4
3
2
1
GFI
Q
D
S
S
LGN
 
LCN
Packet
P(S)
0
Type
P(R)
M
  
User data
.
.
.
.
X.25 packet structure for Modulo 128

GFI
General format identifier which indicates the layout of the remainder of the packet header.

Q Q bit.
D D bit.
s Sequence scheme - specifies whether the frame is modulo 8 (ss=1) or module 128 (ss=2).

LGN
Logical channel group number is a 4-bit field which together with the LCN identifies the actual logical channel number.

LCN
Logical channel number is an 8-bit field which identifies the actual logical channel number of the DTE-DCE link.

Packet type
8-bit field which identifies the packet type (in Modulo 128 the packet type is 16 bits). See below for a list of all available packet types.

P(R) Packet receive sequence number which appears in data and flow control packets or the called DTE address which may appear in call setup, clearing and registration packets.
P(S) Packet send sequence number which appears in data packets or the calling DTE address field which may appear in call setup, clearing, and registration packets.
M More data bit which appears only in data packets. The field is set to 1 to indicate that the packet is part of a sequence of packets that should be treated as a logical whole.

Packet types may be as follows:

CALL ACC Call Accept
CALL REQ Call Request
CLR CNF Clear Confirmation
CLR REQ Clear Request
DATA Data Packet
DIAG Diagnostic
INT CNF Interrupt Confirmation
INT REQ Interrupt Request
REJ Reject
RES CNF Reset Confirmation
RES REQ Reset Request
RNR Receive Not Ready
RR Receive Ready
RSTR CNF Restart Confirmation
RSTR REQ Restart Request
REG REQ Registration Request
REG CNF Registration Confirmation

Interested in more details about testing this protocol? click here

 

X.29

ITU-T X.29 (12/97).
http://www.itu.int/ITU-T/


The X.29 protocol provides procedures for the exchange of control information and user data between a packet assembly/disassembly (PAD) facility and a packet mode DTE or another PAD. The protocol header structure is as follows:

1
2
3
4
5
6
7
8
Octet
Control Identifier
Message Code
1

Control Identifier
Used to identify the facility such as PAD to be controlled

Message Code

The message code field: Possible message codes can be
2    Set PAD message
4    Read PAD message
6    Set and read PAD message
0    Parameter indication PAD message
1    Invitation to clear PAD message
3    Indication of break PAD message 0 0 1 1
7    Reselection PAD message
5    Reselection PAD message
8    Reselection with TOA/NPI

Interested in more details about testing this protocol? click here

 

X.75

ITU-X.25 http://www.itu.int/itudoc/itu-t/rec/x/x1-199/x75_23053.html

X.75 is a signalling system which is used to connect packet switched networks (such as X.25) on international circuits. It permits the transfer of call control and network control information and user traffic.

On layer 2, X.75 uses LAPB in the same way as X.25. On layer 3, X.75 is identical to X.25 with one exception. X.25 has a field (of variable length) for facilities, while X.75 has a field (of variable length) for network utilities followed by facilities.

X.75 decode

Interested in more details about testing this protocol? click here

 

X.25 Family Protocol Information
HDLC | LAPB | MLP | X.25 | X.25 Terminology | X.29 | X.75

 
Additional Information