计算机网络---数据链路层HDLC协议
定義:HDLC(High-Level Data Link Control,高級數據鏈路控制),是鏈路層協議的一項國際標準,用以實現遠程用戶間資源共享以及信息交互。HDLC協議用以保證傳送到下一層的數據在傳輸過程中能夠準確地被接收,也就是差錯釋放中沒有任何損失,并且序列正確。HDLC協議的另一個重要功能是流量控制,即一旦接收端收到數據,便能立即進行傳輸。
? ? ?HDLC協議由ISO/IEC13239定義,于2002年修訂,2007年再次討論后定稿。在通信領域中,HDLC協議應用非常廣泛,其工作方式可以支持半雙工、全雙工傳送,支持點到點、多點結構,支持交換型、非交換型信道。
? ? ? ?在通信質量較差的年代,在數據鏈路層使用可靠傳輸協議曾經是一種好的辦法。因此,能實現可靠傳輸的高級數據鏈路控制(HDLC)就成為當時比較流行的數據鏈路層協議。?
? ?HDLC協議的基本特點
? ? ? HDLC協議使用統一的幀格式,運用方便;采用零比特插入法,易于硬件實現,且支持任意的位流傳輸,實現信息的透明傳輸;全雙工通信,吞吐率高,在未收到應答幀的情況下,可連續發送信息幀,提高數據鏈路傳輸的效率;采用CRC幀校驗序列,可防止漏幀,提高信息傳輸的可靠性。?
主要有四個特點:
-
?對于任何一種比特流都可透明傳輸。?
-
較高的數據鏈路傳輸效率。
-
?所有的幀都有幀校驗序列(FCS),傳輸可靠性高。
-
?用統一的幀格式來實現傳輸。
?
? ? ? ?高級數據鏈路控制(HDLC)協議是ISO制定的面向比特(PPP是面向字節的)的數據鏈路控制協議。它可適用于鏈路的兩種基本配置:非平衡配置和平衡配置。
-
?非平衡配置的特點是由一個主站控制整個鏈路的工作。
-
?平衡配置的特點是鏈路兩端的兩個站都是復合站,每個復合站都可以平等地發起數據傳輸,而不需要得到對方復合站的允許。
HDLC基本配置
? ? HDLC協議定義了3種類型的站、2種鏈路配置和3種數據傳輸方式。3種類型的站如下:
-
?主站:主站發出的幀叫命令幀,負責對鏈路進行控制。
-
?從站:從站發出的幀叫響應幀,在主站的控制下進行操作。
-
復合站:既具有主站的功能,也有從站的功能,既可以發送命令幀,也可以發送響應幀。
?2種鏈路配置如下:
(1)非平衡配置。既可用于點對點鏈路也可用于多點鏈路。這種鏈路由一個主站和多個從站組成,可以支持全雙工或半雙工。
(2)平衡配置。只能用于點對點鏈路。這種配置由兩個復合站組成,同樣支持全雙工或半雙工傳輸。
3種數據傳輸方式如下:
? ? ? ?正常響應方式(Normal Response Mode,NRM):這種方式適合不平衡配置,主站啟動數據傳輸過程,從站只有收到命令時才能發送數據。
? ? ? 異步平衡方式(Asynchronous Balanced Mode,ABM):這種方式適合兩端都是復合站的平衡配置,任何一方都可以啟動數據傳輸。
? ? ? ? 異步響應方式(Asynchronous Response Mode,ARM):這種方式適合不平衡配置,從站在沒有收到主站命令時,就可以啟動數據傳輸服務。
?
? HDLC協議的幀格式
? ? ? 當采用HDLC協議時,從網絡層交下來的分組,變成了HDLC協議幀的數據部分,數據鏈路層在信息字段的頭尾各加上24位控制信息,這樣就構成了一個完整的?HDLC協議幀,如圖所示。
?
? ? ?標志字段(F):占?8位,為“01111110”,首尾各有一個“0”作為幀的邊界。為防止在兩個標志字段F之間出現“01111110”,HDLC使用比特填充的首尾標志法。當一串比特流未加上控制信息時,掃描整個幀,只要發現有5個連續“1”,就立即填入一個“0”。
? ? ?地址字段(A):占8位。若使用非平衡方式傳送數據,為次站的地址;若使用平衡方式傳送數據,為確認站的地址。全“1”為廣播方式,全“0”為無效地址。
? ? ? 控制字段(C):占8位,最復雜的字段,HDLC?的許多重要功能都靠控制字段實現。根據其最前面兩位的取值,可將?HDLC?幀劃分為3類:信息幀(I幀)、監督幀(S幀)和無編號幀(U幀)。
? ? ? ? 3類幀的記憶方式,每當看到HDLC幀的分類就想到“無監息”=“無奸細”。
? ? ? 信息幀用來傳輸數據信息,或使用捎帶技術對數據進行確認和應答;監督幀用于流量控制和差錯控制,執行對信息幀的確認、請求重發和請求暫停發送等功能;無編號幀用于提供對鏈路的建立、拆除以及多種控制功能。
? ? ?信息字段(Info):長度任意,存放來自網絡層的協議數據單元。
? ? ?幀檢驗序列(FCS):占16位,即循環冗余碼檢驗中的冗余碼。檢驗區間包括地址字
段、控制字段和信息字段.
? ?補充知識點:PPP的幀格式和HDLC協議的幀格式的區別
解析:① PPP是面向字節的,而HDLC協議是面向比特的。這里也可以看出,PPP
應該使用字節填充,而HDLC協議應該使用比特填充。② PPP幀比?HDLC協議幀多一個2字節的協議字段。當協議字段值為Ox0021時,表示信息字段是IP數據報。
③PPP不使用序號和確認機制,只保證無差錯接收(通過硬件進行循環冗余碼校驗),而端到端差錯檢測由高層協議完成。HDLC協議的信息幀使用了編號和確認機制。?
?PPP協議與HDLC協議的區別
?
總結
以上是生活随笔為你收集整理的计算机网络---数据链路层HDLC协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装Maven和配置阿里云镜像
- 下一篇: java jaas_基于Java JAA