一 HDLC概述
1.1 HDLC的發展歷史
高級數據鏈路控制(High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸數據、面向比特的數據鏈路層協議,它是由國際標準化組織(ISO)根據IBM公司的SDLC(SynchronousData Link Control)協議擴展開發而成的.其最大特點是不需要數據必須是規定字符集,對任何一種比特流,均可以實現透明的傳輸。1974年,IBM公司率先提出了面向比特的同步數據鏈路控制規程SDLC(Synchronous Data Link Control)。
隨后,ANSI和ISO均采納并發展了SDLC,并分別提出了自己的標準:
1* ANSI的高級通信控制過程ADCCP(Advanced DataControl Procedure),
2* ISO的高級數據鏈路控制規程HDLC(High-level Data LinkContl)。
從此,HDLC協議開始得到了人們的廣泛關注,并開始應用于通信領域的各個方面。
1.2 HDLC的特點
HDLC是面向比特的數據鏈路控制協議的典型代表,有著很大的優勢:
1* HDLC協議不依賴于任何一種字符編碼集;
2* 數據報文可透明傳輸,用于實現透明傳輸的“0比特插入法”易于硬件實現;
3*全雙工通信,有較高的數據鏈路傳輸效率;
4*所有幀采用CRC檢驗,對信息幀進行順序編號,可防止漏收或重份,傳輸可靠性高;
5*傳輸控制功能與處理功能分離,具有較大靈活性。
由于以上特點,目前網絡設計及整機內部通訊設計普遍使用HDLC數據鏈路控制協議。HDLC已經成為通信領域額不可缺少的一個重要協議。
二 數據鏈路層的控制規程
2.1數據鏈路結構
數據鏈路結構可以分為兩種:點-點鏈路和點-多點鏈路。
在點-點鏈路中,發送信息和命令的站稱為主站,接收信息和命令而發出確認信息或響應的站稱為從站,兼有主、從功能可發送命令與響應的站稱為復合站。在點-多點鏈路中,往往有一個站為控制站,主管數據鏈路的信息流,并處理鏈路上出現的不可恢復的差錯情況,其余各站則為受控站。
2.2 數據鏈路控制規程功能
數據鏈路層是OSI參考模型的第二層,它在物理層提供的通信接口與電路連接服務的基礎上,將易出錯的數據電路構筑成相對無差錯的數據鏈路,以確保DTE與DTE之間、DTE與網絡之間有效、可靠地傳送數據信息。為了實現這個目標,數據鏈路控制規程的功能應包括以下幾個部分:
1*幀控制
數據鏈路上傳輸的基本單位是幀。幀控制功能要求發送站把網絡送來的數據信息分成若干碼組,在每個碼組中加入地址字段、控制字段、校驗字段以及幀開始和結束標志,組成幀來發送;要求接收端從收到的幀中去掉標志字段,還原成原始數據信息后送到網絡層。
2*幀同步
在傳輸過程中必須實現幀同步,以保證對幀中各個字段的正確識別。
3*差錯控制
當數據信息在物理鏈路中傳輸出現差錯,數據鏈路控制規程要求接收端能檢測出差錯并予以恢復,通常采用的方法有自動請求重發ARQ和前向糾錯兩種。采用ARQ方法時,為了防止幀的重收和漏收,常對幀采用編號發送和接收。當檢測出無法恢復的差錯時,應通知網絡層做相應處理。
4*流量控制
流量控制用于克服鏈路的擁塞。它能對鏈路上信息流量進行調節,確保發送端發送的數據速率與接收端能夠接收的數據速率相容。常用的流量控制方法是滑動窗口控制法。
5*鏈路管理
數據鏈路的建立、維持和終止,控制信息的傳輸方向,顯示站的工作狀態,這些都屬于鏈路管理的范疇。
6*透明傳輸
規程中采用的標志和一些字段必須獨立于要傳輸的信息,這就意味著數據鏈路能夠傳輸各種各樣的數據信息,即傳輸的透明性。
7*尋址
在多點鏈路中,幀必須能到達正確的接收站。
8*異常狀態恢復
當鏈路發生異常情況時,如收到含義不清的序列或超時收不到響應等,能自動重新啟動,恢復到正常工作狀態。