X.25協議是DTE(Data Terminal Equipment,數據終端設備)和DCE(Data Circuit-terminating Equipment,數據電路終接設備)之間的接口規程。
1974年,CCITT頒布了X.25的第一稿,它的最初文件取材於美國的Telenet、Tymnet和加拿大的Datapac分組交換網的經驗和建議。之後進行了多次修改,增添了許多可選業務功能和設施。
X.25使得兩台DTE可以通過現有的電話網絡進行通信。為了進行一次通信,通信的一端必須首先呼叫另一端,請求在它們之間建立一個會話連接;被呼叫的一端可以根據自己的情況接收或拒絕這個連接請求。一旦這個連接建立,兩端的設備可以全雙工地進行信息傳輸,並且任何一端在任何時候均有權拆除這個連接。
X.25是DTE與DCE進行點到點交互的規程。DTE通常指的是用戶側的主機或終端等,DCE則常指同步調製解調器等設備;DTE與DCE直接連接,DCE連接至分組交換機的某個端口,分組交換機之間建立若幹連接,這樣,便形成了DTE與DTE之間的通路。在一個X.25網絡中,各實體之間的關係如圖1所示:
DTE數據終端設備 | Data Terminal Equipment |
DCE數據電路終結設備 | Data Circuit-terminating Equipment |
PSE分組交換設備 | Packet Switching Equipment |
PSN分組交換網 | Packet Switching Network |
圖1 X.25網絡模型
X.25協議為兩台通信的DTE之間建立的連接被稱為虛電路,這種“電路”隻在邏輯上存在,與電路交換中的物理電路有著質的區別。
虛電路分為PVC(Permanent Virtual Circuit,永久虛電路)和SVC(Switched Virtual Circuit,交換虛電路)兩種,顧名思義,PVC用於兩端之間頻繁的、流量穩定的數據傳輸,而突發性的數據傳輸多用SVC。
一旦在一對DTE之間建立一條虛電路,這條虛電路便被賦予一個唯一的虛電路號,當其中的一台DTE要向另一台DTE發送一個分組時,它便給這個分組標上號(虛電路號)交給DCE設備。DCE就是根據分組所攜帶的這個號來決定如何在交換網內部交換這個數據分組,使其正確到達目的地。
X.25協議按照OSI參考模型的結構,定義了從物理層到分組層一共三層的內容。關係如圖2所示。
l 第一層(物理層):定義了DTE與DCE之間進行連接時的物理電氣特性
l 第二層(鏈路層):定義了DTE與DCE之間交互的幀的格式和規程,即平衡型鏈路接入規程LAPB(Link Access Procedure,Balanced)
l 第三層(分組層):描述了分組層所使用分組的格式,以及兩個三層實體之間進行分組交換的規則
X.25第三層複用第二層在DTE/DCE間建立的鏈路,最終提供給用戶若幹條虛電路。
X.25各層之間分組與幀的關係如圖3所示。
圖3 X.25的分組與LAPB幀
X.25的鏈路層規定了在DTE和DCE之間的線路上交換幀的過程。從分層的觀點來看,鏈路層好像是給DTE的分組層接口和DCE的分組層接口之間架設了一道橋梁。DTE的分組層和DCE的分組層之間可以通過這座橋梁不斷傳送分組。鏈路層的主要功能如下:
l 在DTE和DCE之間有效地傳輸數據
l 確保接收器和發送器之間信息的同步
l 檢測和糾正傳輸中產生的差錯
l 識別並向高層協議報告規程性錯誤
l 向分組層通知鏈路層的狀態
國際標準規定的X.25鏈路層協議LAPB,采用了HDLC(High-level Data Link Control,高級數據鏈路控製規程)的幀結構,並且是它的一個子集。它通過SABM(Set Asynchronous Balanced Mode,置異步平衡方式)命令要求建立鏈路。建立鏈路時隻需要由兩個設備中的任意一個設備發送SABM命令,另一設備發送UA響應即可以完成雙向鏈路的建立。
雖然LAPB是作為X.25的第二層被定義的,但是,作為獨立的鏈路層協議,它可以直接承載非X.25的上層協議進行數據傳輸。可以配置串口的鏈路層協議為LAPB,進行簡單的本地數據傳輸。
設備支持X.25交換功能,可以將設備當作一台小型X.25分組交換機使用,保護用戶在X.25之上的投資。圖4描述了LAPB、X.25、X.25交換三者之間的關係:
圖4 LAPB、X.25與X.25交換關係
簡單地說,在X.25網絡中,正常情況下,設備作為DTE或DCE;如果使用X.25交換功能,則設備是作為PSE。