# X.25
Bilgisayarların genellikle geniş coğrafi alanlarda birbirleriyle bağlanmalarında kullanılan teknik kurallar topluluğundan birisi. Bu kuralları uygulayarak oluşturulan bilgisayar ağlarına "X.25 ağları" ya da "Kutu Yönlendirmeli Ağlar" denir..
X.25 tanımlaması Uluslararası Uziletişim Birliği (ITU - International Telecommunication Union)tarafından OSI (Open Systems Interconnection -Açık Dizge Bağlantısı) tanımlamasının en alttaki üç katmanı kullanılarak oluşturulmuştur.
X.25 ağının içindeki her bir ağ bilgisayarına "Düğüm" adı verilir. Bu düğümler iletileri diğer düğümlere aktararak kaynak bilgisayardan varış bilgisayarına ulaşmalarını sağlarlar. X.25 ağlarında iletiler bir bütün olarak değil, belirli uzunluklardaki parçalara ("Kutu") bölünerek gönderirlirler. Bu kutular sonra varış bilgisayarında sıralanıp, birleştirilirler.
X.25 ağlarının en büyük yararı, güvenli olmalarıdır. Bunun nedeni, ağdaki her bir düğüm birden çok düğüme bağlı olduğu için, iki düğüm arasındaki bağlantı kopsa bile kutuların öteki düğümler üzerinden yollarını bulmalarıdır. O yüzden ilk uygulama alanları askeri ağlar ile hava yollarının yer ayırtma dizge ağlarıdır. Türkiye'de ilk bilinen uygulaması (olası NATO ağları dışında) "TURPAK" adı verilen Türk Telekom'ca işletilen ağdır.
Bu standart, fiziksel katman, bağlantı katmanı ve paket katmanı olmak üzere 3 düzeyli bir protokol gerektirir.
Fiziksel katman paket anahtarlamalı düğüm ile ona iliştirilen bilgisayar arasındaki fiziksel bağlantıyla ilgilidir. X.21 ve EIA-232 standartlarını kullanır. Kullanıcı ağ arabirimi (user network ınterface- UNI) ile ağ arasındaki gerçek veri bağlantısını tanımlar.
 Bağlantı katmanı, veriyi bir çerçeve dizisi şeklinde gönderirken verinin güvenli aktarımını da sağlar. Bağlantı katmanı standartları LAP-B (Link Access Protocol Blanced) adıyla anılır. Bu yazılım protokolleri, çerçevelerin çözümlenmesini ya da ikili bilgilerinin alınmasını sağlar.
 Paket katmanı'nda Paket katmanı protokolü (Packet Layer Protocol- PLP) kullanır. Bu protokol, ikinci katmandan gelen çerçevelerin bir araya getirilip paketlenmesini sağlar. Paketin önüne ve arkasına denetim bilgileri eklenir. Denetim amaçlı ek ikiller şu amaçla kullanılır. Paket içinde hata denetimi yapmak; paketleri numaralandırıp sıralamak; gelen pakette bir hata olduğunu bildirmek. Bu amaçlarla kullanılan ek ikiller, iletim hızını önemli ölçüde düşürür. Başka bir deyişle, X.25'in her düzeyde denetim uygulaması, fazladan çok sayıda ikilin de gönderilmesine neden olur.
X.25, bilgisayarların, gelen verinin hatalı olup olmadığını anlayacak kadar gelişkin olmadıkları ve telefon hatları düşük kaliteli olduğu için hatalı gönderme olasılığının yüksek olduğu varsayımlarına dayanmaktadır. Bu varsayımlar, günümüzde pek geçerli değildir.
Bu varsayımlara dayanarak X.25, bir paketin hatasız iletilmesi sorumluğunu üzerine alır. Her X.25 düğümü, hata denetimi uygular. Pakette herhangi bir hata varsa, bir önceki düğüme olumsuz doğrulama (NAK) gönderir ve paket doğru olarak iletilene kadar gönderim tekrarlanır. X.25'te paketler sırayla iletildiğinden, hatalı gönderilen paketten sonra gelen paketler de beklemeye alır. Bu hata ve akış denetimi mekanizmaları ise X.25'in iletim hızını önemli ölçüde düşürür.
X.25 sanal devre yaklaşımı kullanır. Bilgisayarlar arasındaki paket gelişimini sağlayan bu sanal devre, dahili sanal devre'ye karşılık gelir. Dahili sanal devre, paketlerin ağ üzerinde aldığı gerçek yoldur.


## X.25 Uygulama örnekleri.
X.25 için en tipik uygulama, veritabanın tutulduğu ana bilgisayara(host, mainframe) uzaktaki terminallerden veya terminal emülasyonu yapan PC'lerden erişimlerin yapılmasını sağlamaktır. Uzaktan sipariş verme, kredi kartı ile alış veriş, çevrimiçi bilgi hizmetleri uygulaması vb. birçok uygulamada kullanılmıştır. Aralarında yoğun trafik olmayan LAN'ların birbirine bağlanması içinde kullanılabilir.
X.25, tek bir fiziksel hat üzerinden aynı anda birden çok sanal kanal oluşturulmasını destekler. Bu durum aynı anda birden fazla kullanıcı tarafından erişilmek istenen ana bilgisayara bağlanmak için iyi bir çözüm sunar .