A 70-es években, mikor a csomagkapcsolt WAN hálózatok már bizonyos sikerre tettek szert, úgy látszott, hogy a szabványosítás elôsegítené ezen hálózatok elterjedését, mind a kompatibilitás megteremtése, mind pedig az alacsonyabb költségek miatt. Ezen szabványosítási erôfeszítések eredményeképp született egy sereg protokoll, melyek közül a legnépszerûbb az X.25. Az X.25 csoportmunka eredménye, formálisan az ITU-T szabványa; széles nemzetközi elterjedtségnek örvend.
Mûködése egyszerû: egy számítógép a hálózaton keresztül felhív egy másikat, az válaszol a hívásra vagy megtagadja azt. Ha válaszol, a kapcsolat kiépül és mindkét irányban megindulhat az adattovábbítás. A kapcsolatot bármely fél megszakíthatja.
Az X.25 lerögzíti a felhasználói végberendezés (Data Terminal Equipment, DTE) és a hálózati végpont (Data Circuit-termination Equipment, DCE) közötti kommunikáció protokolljait. A DTE hozzákapcsolódik a DCE-hez, amely az X.25 hálózaton belül más DCE-khez és/vagy kapcsolóberendezésekhez kapcsolódik.
Az a DTE, amelyik nem valósítja meg az X.25 funkcionalitást (például egy közönséges terminál), egy fordítóberendezésen keresztül kapcsolódhat a DCE-hez (packet assembler/disassembler, PAD), ami felelôs az X.25 kapcsolat kiépítéséért és a végberendezéstôl (példánkban a termináltól) kapott karaktereket csomagokká állítja össze és elküldi az X.25 hálózaton. Hasonlóképp a vett csomagokat karaktersorozattá alakítja és elküldi a végberendezésnek. A PAD funckióit és a végberendezéssel való kapcsolatát szintén az ITU-T ajánlásai definiálják. (X.3, X.28 és X.29.)
Az X.25 specifikáció az OSI modell alsó 3 rétegére terjed ki.
A harmadik réteg (ISO 8208) specifikálja a csomagformátumot
és a hálózati szintû entitások
közötti kommunikáció módjait. A második
réteg a LAPB (Link Access Procedure, Balanced), az IBM által
kifejlesztett SDLC (Synchronous Data Link Control), HDLC néven (High-level
Data Link Control) az ISO által, LAP néven pedig az ITU-T
által szabványosított protokollok módosított
változata, ami a DCE és a DTE közötti link
keretformátumát írja le és, felelôs a
hibadetektációért valamint a hibás keretek
újraküldéséért. Az elsô réteg
definiálja a DCE-DTE link mechanikai és elektromos
paramétereit.
Az X.25 hálózati rétegének a csomag elejére helyezett fejléce tartalmazza a 12 bites LCI mezôt (logical channel identfier), ami azt a VC-t azonosítja, amin a csomag halad. Ez az érték lokális az X.25 kapcsológépek portjaira nézve, tehát csupán két kapcsológép között azonosítja a VC-t. Ugyanazt a VC-t egy másik szakaszon már más LCI jelölhet. Ez azért hasznos, mert ha az LCI az egész VC-n ugyanaz volna, akkor a világ összes VC-jének különbözô LCI-t kellene adni, amihez kevés lenne a 12 bit. Így viszont csak az egy linken áthaladó VC-k között tesz különbséget az LCI, amihez elegendô a 12 bit.
Az alábbi ábrán látható 2 VC-nek 1 közös szakasza van, ahol különbözô LCI-k tartoznak hozzájuk. Ám például mindkét VC-re az egyik végberendezés a 109 számon hivatkozik; azon a két különbözô link-en ugyanaz a szám más-más VC-t jelöl.
A kapcsolat felépítéséhez használatos csomagokban található meg a hívott fél címe, ez alapján épül ki a VC. Az X.25 az ITU-T X.121 nevû ajánlásában definiált címformátumot használja. Az X.121 címek változó hosszúak, maximum 14 számjegybôl állnak és a telefonszámokra emlékeztetnek. Az elsô 3 jegy az országot azonosítja, a negyedik az országon belüli X.25 hálózatot (szolgáltatót) a maradék maximum 10 jegyen található a hívott fél száma.
A hívott fél címére azonban csak híváskor
van szükség, a VC kiépülése után már
csak a hálózattól kapott LCI szükséges a
VC azonosításához, az elküldött csomagokba
már csak ez kerül be. PVC használatakor (mivel a kapcsolat
eleve kiépültnek tekinthetô) nincs szükség
hívásra és így a cím használatára
sem.
A LAPB felel a szomszédos kapcsológépek közötti kapcsolattartásért. Minden a link-en elküldött keretet sorszámoz, a másik fél pedig idônként nyugtázza, hogy melyik a legnagyobb sorszámú keret, amit megkapott. Ha valamely keret kimarad, vagy megsérül (ezt a keret végére írt ellenôrzô összeg hibás volta jelzi), az adott keretig való visszaugrást kér a szomszédos kapcsológéptôl, aki a hibás kerettôl kezdve mindent újraad. Ehhez természetesen szükséges az, hogy a már elküldött kereteket is megôrizzük a memóriában, míg a nyugta meg nem érkezik.
A LAPB ezenfelül lehetôvé teszi, hogy a vevô visszafogja az adót, azaz, ha túl gyorsan érkeznek a keretek, akkor lassítást kérhet. Erre akkor lehet szükség, ha esetleg a VC következô szakasza zsúfolt vagy kisebb kapacitású link-en vezet és így a kereteket nem lehet olyan sebességgel továbbítani, ahogy a megelôzô szakaszon. Torlódást okozhat ezenfelül, ha a következô szakaszon nagyobb a bithiba-arány és több újraküldés szükséges vagy magának a kapcsológépnek az elôzônél kisebb kapacitása.
A LAPB háromféle keretet különböztet meg:
Az X.25 fizikai rétege eredetileg az X.21bis protokollt
használta, ami nagy vonalakban megegyezik az EIA/TIA-232-C-vel
(korábban RS-232-C), azaz a soros porthoz hasonló. 4
vezetéken létesíthetünk vele full-duplex kapcsolatot
egészen 19.2 kbit/s sebességig. Manapság azonban szinte
bármilyen digitális interface alkalmas lehet, ennél
jelentôsen nagyobb sebességû X.25 szolgáltatás
is elterjedten létezik.
Mindent egybevetve az X.25 meglehetôsen lassú. A tipikus fizikai sebesség 64 kbit/s körül mozog, gyakran ennek töredéke (akár csak 9600 bit/s) néha többszöröse. Ám a protokoll nagy overhead-je miatt (minden kapcsológépben, minden kapcsolatra külön forgalomszabályozás) a gyakorlati sebesség általában a fizikai sebességnek csak harmada.