X.25

From Wikipedia, the free encyclopedia

X.25 is an ITU-T standard network layer protocol for packet switched wide area network (WAN) communication. An X.25 WAN consists of packet-switching exchange (PSE) nodes as the networking hardware, and leased lines, the phone or ISDN connections as physical links. X.25 is part of the OSI protocol suite, a family of protocols that was used especially during the 1980s by telecommunication operators and in financial systems such as automated teller machines. X.25 is today to a large extent replaced by less complex and less secure protocols, especially the Internet protocol (IP) although some telephone operators offer X.25-based communication via the signalling (D) channel of ISDN lines.

Contents

[edit] History

X.25 is the oldest packet-switched service available. It was developed before the OSI Reference Model or the equivalent Network Access Layer of the DoD protocol model, and its functionality does not map precisely to either model: it supports some functionality found in layer 3 but doesn't cover all of layer 3.

The Packet switched network was the common name given to the international collection of X.25 providers, typically the various national telephone companies. Their combined network had large global coverage during the 1980s and into the 1990s.

X.25 remains in use for certain applications and for some marginal transmission media performance conditions. Its major application is in transaction processing for credit card authorization and for automatic teller machines.

X.25 was developed in the ITU-T (formerly CCITT) Study Group VII based upon a number of emerging data network projects. Various updates and additions were worked into the standard, eventually recorded in the ITU series of technical books describing the telecom systems. These books were published every fourth year with different colored covers.

[edit] Architecture

The general concept of X.25 was to create a universal and global packet-switched network on what was then the bit-error prone analog phone system. Much of the X.25 system is a description of the rigorous error correction needed to achieve this, as well as more efficient sharing of capital-intensive physical resources.

The X.25 specification defines only the interface between a subscriber (DTE) and an X.25 network (DCE). X.75, a very similar protocol to X.25, defines the interface between two X.25 networks to make connections traversing two or even more networks possible. X.25 does not specify how the network operates internally—many X.25 network implementations used something very similar to X.25 or X.75 internally, but others used quite different protocols internally; but for the users this was not important due to both X.25 and X.75. Interoperability problems only occurred because not all networks supported the latest set of rules from the CCITT or ITU-T. The ISO equivalent protocol to X.25, ISO 8208, is the same as X.25, but additionally includes provision for two X.25 DTEs to be directly connected to each other with no network in between.

The X.25 model was based on the traditional telephony concept of establishing reliable circuits through a shared network, but using software to create "virtual calls" through the network. These calls interconnect "data terminal equipment" (DTE) providing endpoints to users, which looked like point-to-point connections. Each endpoint can establish many separate virtual calls to different endpoints.

For a brief period, the specification also included a connectionless datagram service, but this was dropped in the next revision. The "fast select facility" is intermediate between full call establishment and connectionless communication. Fast select is widely used in query-response transaction applications such as credit card authorization; the credit request is in an extended field of the call request packet, and the acceptance or declining of the charge is in an extended field of the call clearing packet.

Closely related to the X.25 protocol are the protocols to connect asynchronous devices (PC's or dumb terminals) to an X.25 network: X.3, X.28 and X.29. This functionality was performed using a Packet Assembler/Disassembler or PAD (also known as a Triple-X device, referring to the three protocols used).

[edit] Relation to the OSI Reference Model

Although X.25 predates the OSI Reference Model (OSIRM), X.25 level 2 covers layer 2 of the model, and X.25 level 3 is generally equivalent to layer 3 of the model. X.25 level 2, LAPB, provides a reliable data path across a data link (or multiple parallel data links, multilink) which may not be reliable itself. X.25 level 3, the Packet-Layer Protocol, provides the virtual call mechanisms, running over X.25 level 2. As long as level 2 does provide reliable data transmission, level 3 will provide error-free virtual calls. However, level 3 also includes mechanisms to maintain virtual calls and to signal data errors in the event that level 2 does not provide reliable data transmission. Most X.25 networks do not include the later level 3 additions which fill in the top part of OSI layer 3 (NSAP addressing, see below), so they operate at the sub-network layer (X.121 addressing) as far as the OSI 7-layer model is concerned.

[edit] User device support

A Televideo terminal model 925 made around 1982
A Televideo terminal model 925 made around 1982

X.25 was developed in the era of dumb terminals connecting to host computers, although it also can be used for communications between computers. Instead of dialing directly “into” the host computer — which would require the host to have its own pool of modems and phone lines, and require non-local callers to make long-distance calls — the host could have an X.25 connection to a network service provider. Now dumb-terminal users could dial into the network's local “PAD” (Packet Assembly/Disassembly facility), a gateway device connecting modems and serial lines to the X.25 link as defined by the ITU-T X.29 and X.3 standards.

Having connected to the PAD, the dumb-terminal user tells the PAD which host to connect to, by giving a phone-number-like address in the X.121 address format (or by giving a host name, if the service provider allows for names that map to X.121 addresses). The PAD then places an X.25 call to the host, establishing a virtual circuit. Note that X.25 provides for virtual circuits, so appears to be a circuit switched network, even though in fact the data itself is packet switched internally, similar to the way TCP provides virtual circuits even though the underlying data is packet switched. Two X.25 hosts could, of course, call one another directly; no PAD is involved in this case. In theory, it doesn't matter whether the X.25 caller and X.25 destination are both connected to the same carrier, but in practice it was not always possible to make calls from one carrier to another.

For the purpose of flow-control, a sliding window protocol is used with the default window size of 2. The acknowledgements may have either local or end to end significance. A D bit (Data Delivery bit) in each data packet indicates if the sender requires end to end acknowledgement. When D=1, it means that the acknowledgement has end to end significance and must take place only after the remote DTE has acknowledged receipt of the data. When D=0, the network is permitted (but not required) to acknowledge before the remote DTE has acknowledged or even received the data.

While the PAD function defined by X.28 and X.29 specifically supported asynchronous character terminals, PAD equivalents were developed to support a wide range of proprietary intelligent communications devices, such as those for IBM System Network Architecture (SNA).

[edit] Error control

Error recovery procedures at the packet level assume that the frame level is responsible for retransmitting data received in error. Packet level error handling focuses on resynchronizing the information flow in calls, as well as clearing calls that have gone into unrecoverable states:

  • Level 3 Reset packets, which re-initializes the flow on a virtual circuit (but does not break the virtual circuit)
  • Restart packet, which clears down all switched virtual circuits on the data link and resets all permanent virtual circuits on the data link

[edit] Addressing and virtual circuits

An X.25 Modem once used to connect to the German Datex-P network.
An X.25 Modem once used to connect to the German Datex-P network.

The X.121 address consists of a three-digit Data Country Code (DCC) plus a network digit, together forming the four-digit Data Network Identification Code (DNIC), followed by the National Terminal Number (NTN) of at most ten digits. Note the use of a single network digit, seemingly allowing for only 10 network carriers per country, but some countries are assigned more than one DCC to avoid this limitation. NSAP addressing was added in the X.25(1984) revision of the specification, and this enabled X.25 to better meet the requirements of OSI Layer 3. Public X.25 networks didn't make use of NSAP addressing, but some carried it transparently.

For much of its history X.25 was used for permanent virtual circuits (PVCs) to connect two host computers in a dedicated link. This was common for applications such as banking, where distant branch offices could be connected to central hosts for a cost that was considerably lower than a permanent long distance telephone call. X.25 was typically billed as a flat monthly service fee depending on link speed, and then a price-per-packet on top of this. Link speeds varied, typically from 2400bit/s up to 2 Mbit/s, although speeds above 64 kbit/s were uncommon in the public networks.

Publicly-accessible X.25 networks (Compuserve, Tymnet, Euronet, PSS, and Telenet) were set up in most countries during the 1970s and 80s, to lower the cost of accessing various online services, in which the user would first interact with the network interface to set up the connection. Known as switched virtual circuits (SVC) or "virtual calls" in public data networks (PDN), this use of X.25 disappeared from most places fairly rapidly as long distance charges fell in the 1990s and today's Internet started to emerge.

A data Terminal Equipment is allowed to establish up to 4095 virtual circuits, which can be both permanent and virtual. For this purpose each packet has a 12 bit virtual circuit identifier made up of an 8 bit Logical Channel Number and a 4 bit Logical Channel Group Number; the latter is rarely used. Virtual circuit identifiers are transient, in that the virtual circuit identifier assigned to a given connection between two persistent X.121 addresses need not be the same on successive calls.

[edit] Obsolescence

With the widespread introduction of "perfect" quality digital phone services and error correction in modems, the overhead of X.25 was no longer worthwhile. The result was called Frame relay, essentially the X.25 protocol with the error correction systems removed, and somewhat better throughput as a result. The concept of virtual circuits is still used within ATM to allow for traffic engineering and network multiplexing.

[edit] X.25 today

X.25 networks are still in use throughout the world, although in dramatic decline, being largely supplanted by newer layer 2 technologies such as frame relay, ISDN, ATM, ADSL, POS, and the ubiquitous layer 3 Internet Protocol. X.25 however remains one of the only available reliable links in many portions of the developing world, where access to a PDN may be the most reliable and low cost way to access the Internet. A variant called AX.25 is also used widely by amateur packet radio, though there has been some movement in recent years to replace it with TCP/IP. Racal Paknet, now known as Widanet, is still in operation in many regions of the world, running on an X.25 protocol base. Used as a secure wireless low rate data transfer platform, Widanet is commonly used for GPS tracking and point-of-sale solutions currently. In some countries, like The Netherlands or Germany, it is possible to use a stripped version of X25 via the D-channel of an ISDN-2 (or ISDN BRI) connection for low volume applications such as point-of-sale terminals. But the future of this service is uncertain.[1]

[edit] X.25 packet types

Packet Type DCE -> DTE DTE -> DCE Service VC PVC
Call setup and Cleaning Incoming Call Call Request X
Call Connected Call Accepted X
Clear Indication Clear Request X
Clear Confirmation Clear Confirmation X
Data and Interrupt Data Data X X
Interrupt Interrupt X X
Interrupt Confirmation Interrupt Confirmation X X
Flow Control and Reset RR RR X X
RNR RNR X X
REJ X X
Reset Indication Reset Request X X
Reset Confirmation Reset Confirmation X X
Restart Restart Indication Restart Request X X
Restart Restart Confirmation Restart Confirmation X X
Diagnostic Diagnostic X X
Registration Registration Confirmation Registration Request X X

[edit] X.25 details

The minimum data field length the network must support is 128 octets per packet. However the network may allow the selection of the maximal length in range 16 to 4096 octets (2n values only) per virtual circuit by negotiation as part of the call setup procedure. The maximal length may be different at the two ends of the virtual circuit.

  • Data terminal equipment constructs control packets which are encapsulated into data packets. The packets are sent to the data center equipment, using LAPB Protocol.
  • Data center equipment strips the layer-2 headers in order to encapsulate packets to the internal network protocol.

[edit] Related technologies

[edit] External links

[edit] Reference to other Wiki

  1. ^ See also the Dutch Wiki on ISDN and the Dutch Wiki on X.25 (preface)

[edit] Bibliography

  • Computer Communications, lecture notes by Prof. Chaim Ziegler PhD, Brooklyn College
  • Motorola Codex (1992). The Basics Book of X.25 Packet Switching, 2nd edition, The Basics Book Series, Reading, MA: Addison-Wesley. ISBN 0-201-56369-X.