HDLC是一個在同步網上傳輸數據、面向比特的數據鏈路控制協(xié)議,由國際標準化組織(ISO)提出。在通信領域中,HDLC協(xié)議是應用最廣泛的協(xié)議之一,其工作方式可以支持半雙工、全雙工傳送,支持點到點、多點結構,支持交換型、非交換型信道。1
HDLC基本配置HDLC協(xié)議定義了3種類型的站、2種鏈路配置和3種數據傳輸方式。3種類型的站如下:
(1)主站。主站發(fā)出的幀叫命令幀,負責對鏈路進行控制。
(2)從站。從站發(fā)出的幀叫響應幀,在主站的控制下進行操作。
(3)復合站。既具有主站的功能,也有從站的功能,既可以發(fā)送命令幀,也可以發(fā)送響應幀。
2種鏈路配置如下:
(1)非平衡配置。既可用于點對點鏈路也可用于多點鏈路。這種鏈路由一個主站和多個從站組成,可以支持全雙工或半雙工。
(2)平衡配置。只能用于點對點鏈路。這種配置由兩個復合站組成,同樣支持全雙工或半雙工傳輸。
3種數據傳輸方式如下:
(1)正常響應方式(Normal Response Mode,NRM):這種方式適合不平衡配置,主站啟動數據傳輸過程,從站只有收到命令時才能發(fā)送數據。
(2)異步平衡方式(Asynchronous Balanced Mode,ABM):這種方式適合兩端都是復合站的平衡配置,任何一方都可以啟動數據傳輸。
(3)異步響應方式(Asynchronous Response Mode,ARM):這種方式適合不平衡配置,從站在沒有收到主站命令時,就可以啟動數據傳輸服務。2
HDLC幀結構HDLC幀是由6個字段組成的。幀的兩端都是以標志字段(F)結束,傳輸的數據包含在信息字段(INFO),幀結構如圖1所示。下面對HDLC幀結構做詳細的介紹:
(1)幀標志F。HDLC采用固定的標志字段01111110作為幀的邊界。當接收端檢測到一個F標志時就開始接收幀,在接收的過程中如果發(fā)現F標志就認為該幀結束了。在傳輸的數據中可能會含有和標志字段相同的字段,而導致接收端誤以為數據傳輸結束,為了防止這種情況的發(fā)生,引入了位填充技術。發(fā)送站在發(fā)送的數據比特序列中一旦發(fā)現0后有5個1,就在第7位插入一個0。接收端要進行相反的操作,如果在接收端發(fā)現0后面有5個1,則檢查第7位,如果是0,則將0刪除;如果是1并且第8位是0,則認為是標志字段F,這樣就保證了數據比特位中不會有和標志字段相同的字段。
(2)地址字段A。地址字段用在多點鏈路中,它是用來存放從站的地址的。一般的地址字段是8位長,也可以擴展采用更長的地址,但是都是8的整數倍。每一個8位組的最低位表示該8位是否是地址字段的末尾:1表示是最后的8位組;0表示后面還有地址組,其余的7位表示整個擴展字段。
(3)控制字段C。HDLC定義了3種不同的幀,可以根據控制字段區(qū)分,信息幀(l幀)不僅用來傳送數據,而且捎帶流量控制和差錯控制的應答信號。管理幀(S幀)是在不使用捎帶機制的情況下管理幀控制的傳輸過程。無編號幀(U幀)具有各種鏈路的控制功能??刂谱侄问褂们?位或前2位用來區(qū)別不同格式的幀,基本控制字段長度是8位。擴展控制字段是16位。
(4)信息字段INFO。I幀和一部分的U幀含有控制字段。這個字段可以包含用戶數據的所有比特序列,長度沒有限制,但在使用時通常限定了長度。
(5)校驗字段FCS。校驗字段包含地址字段、控制字段、信息字段的校驗和,但不包括標志字段。一般校驗字段使用的是16bit的CRCCCITT標準的校驗序列,也可以使用32bit的CRC-32校驗序列。2
HDLC幀類型HDLC的幀類型包括以下3種:
(1)信息幀(l幀)。信息幀包含用戶數據、該幀的編號和捎帶的應答序列N(R)。I幀包含一位PF位,主站發(fā)出的命令幀是P,即詢問(Polling);從站發(fā)出的響應幀是F位,即終止位(Final)。
在正常響應方式(NRM)下,主站發(fā)出的命令幀將PF置l,表示詢問幀,也允許從站發(fā)送數據;從站響應主站的詢問,可以發(fā)送多個響應幀表示,只將最后一個響應幀的PF置1就表示數據發(fā)送完畢。在異步響應方式(ARM)和異步平衡方式(ABM)時,P/F位用于控制U幀和S幀的交換過程。
(2)管理幀(S幀)。管理幀負責流量控制和差錯控制,管理幀有4種,包括接收就緒(RR)、接收未就緒(RNR)、拒絕接收(REJ)和選擇性拒絕接收(SREG)。
(3)無編號幀(U幀)。U幀用于鏈路控制。U幀比較多,按其控制功能可以分為以下幾類:
a)設置數據傳輸方式的命令幀和響應幀。
b)傳輸信息的命令幀和響應幀。
c)鏈路恢復的命令幀和響應幀。
d)其他的命令幀和響應幀。2
協(xié)商過程隨著通信的進步,目前通信信道的可靠性比過去已經有了非常大的改進。已經沒有必要在數據鏈路層使用很復雜的協(xié)議(包括編號、檢錯重傳等技術)來實現數據的可靠傳輸。因此,不可靠傳輸協(xié)議PPP已成為數據鏈路層主流協(xié)議,而可靠傳輸責任落到運輸層TCP協(xié)議身上。
下面來討論其鏈路協(xié)商的過程。
(1)協(xié)商建立過程:HDLC每隔10s后互相發(fā)送鏈路探測的協(xié)商報文,報文的收發(fā)順序是由序號決定的,序號失序則造成鏈路中斷。這種用來探詢點到點鏈路是否激活狀態(tài)的報文稱之為keepalive報文。
(2)傳輸報文過程:將IP報文封裝在HDLC層上,數據傳輸過程中,仍然進行keep-alive的報文協(xié)商以探測鏈路的合法有效。
(3)超時斷連階段:當封裝HDLC的接口連續(xù)3次(當接收包速率超過1000packets/s時為6次),無法收到對方對自己的遞增序號的確認時,HDLC協(xié)議Line Protocol由Up向Down轉變。此時鏈路處于癱瘓狀態(tài),數據無法通信。
簡單的說,鏈路處于Down狀態(tài),當設備檢測到載波或網管配置指示物理層可用時,HDLC發(fā)送一個UP事件,進入Establish階段。啟動鏈路檢測定時器、初始化超時計數器,通過Keepalive報文交互建立連接,當收到對端鏈路檢測幀時,將鏈路協(xié)議UP并進入Maintain階段,鏈路始終處于UP狀態(tài)、可承載網絡層報文。3
特點HDLC協(xié)議有四個特點:
1·對于任何一種比特流都可透明傳輸。
2·較高的數據鏈路傳輸效率。
3·所有的幀都有幀校驗序列(FCS),傳輸可靠性高。
4·用統(tǒng)一的幀格式來實現傳輸。3
使用限制HDLC協(xié)議使用限制有:
1·只支持點到點連接。
2.只能工作于同步方式。
3·不支持驗證,缺乏安全性。
4·不支持IP地址協(xié)商。3
本詞條內容貢獻者為:
孫銳 - 教授 - 合肥工業(yè)大學