來源 20世紀70年代初,IBM公司率先提出了面向比特的同步數據鏈路控制規程SDLC(Synchronous Data Link Control)。隨後,ANSI和ISO均採納並發展了SDLC,並分別提出了自己的標準:ANSI的高級通信控制過程ADCCP(Advanced Data Control Procedure)、ISO的高級數據鏈路控制規程HDLC(High-level Data Link Control)。
作用 鏈路控制協定 著重於對分段成物理塊或包的數據的邏輯傳輸,塊或包由起始標誌引導並由終止標誌結束,也稱為幀。幀是每個控制、每個回響以及用協定傳輸的所有信息的媒體的工具。所有面向比特的
數據鏈路 控制協定均採用統一的幀格式,不論是數據還是單獨的控制信息均以幀為單位傳送。
hdlc執行數據傳輸控制功能 每個幀前、後均有一標誌碼01111110,用作幀的起始、終止指示及幀的同步。標誌碼不允許在幀的內部出現,以免引起歧義。為保證標誌碼的唯一性但又兼顧幀內數據的透明性,可以採用“0比特插入法”來解決。該法在傳送端監視除標誌碼以外的所有欄位,當發現有連續5 個“1”出現時,便在其後添插一個“0”,然後繼續發後繼的比特流。在接收端,同樣監除起始標誌碼以外的所有欄位。當連續發現5 個“1”出現後,若其後一個比特“0”則自動刪除它,以恢復原來的比特流;若發現連續6 個“1”,則可能是插入的“0”發生差錯變成的“1”,也可能是收到了幀的終止標誌碼。後兩種情況,可以進一步通過幀中的幀檢驗序列來加以區分。“0比特插入法”原理簡單,很適合於硬體實現。
在面向比特的協定的幀格式中,有一個8比特的控制欄位,可以用它以
編碼方式 定義 豐富的控制命令和應答,相當於起到了BSC協定中眾多傳輸控制 字元和轉義序列的功能。
作為面向比特的數據
鏈路控制協定 的典型,HDLC具有如下特點:協定不依賴於任何一種
字元編碼 集;數據
報文 可
透明傳輸 ,用於實現透明傳輸的“0比特插入法”易於硬體實現;全雙工通信,不必等待確認便可連續傳送數據,有較高的數據鏈路傳輸
效率 ;所有幀均採用CRC校驗,對
信息幀 進行編號,可防止漏收或重發,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性和較完善的控制功能。由於以上特點,使得網路設計普遍使用HDLC作為
數據鏈路 管制協定。
特點 1. HDLC是面向比特的數據鏈路控制協定的典型代表,該協定不依賴於任何一種字元編碼集;
2. 數據報文可透明傳輸,用於實現透明傳輸的“0比特插入法”易於硬體實現;
4. 所有幀採用CRC檢驗,對信息幀進行順序編號,可防止漏收或重發,傳輸可靠性高;
5. 傳輸控制功能與處理功能分離,具有較大靈活性。
高級數據鏈路規程(HDLC),是位於數據鏈路層的協定之一,其工作方式可以支持半雙工、全雙工傳送,支持點到點、多點結構,支持交換型、非交換型信道,它的主要特點包括以下幾個方面:
1. 透明性:為實現透明傳輸,HDLC定義了一個特殊標誌,這個標誌是一個8位的比特序列,(01111110),用它來指明幀的開始和結束。同時,為保證標誌的唯一性,在數據傳送時,除標誌位外,採取了0比特插入法,以區別標誌符,即傳送端監視比特流,每當傳送了連續5個1時,就插入一個附加的0,接收站同樣按此方法監視接收的比特流,當發現連續5個1時而第六位為0時,即刪除這位0。
2. 幀格式:HDLC幀格式包括地址域、控制域、信息域和幀校驗序列。
3. 規程種類:HDLC支持的規程種類包括異步回響方式下的不平衡操作、正常回響方式下的不平衡操作、異步回響方式下的平衡操作。
操作方式 HDLC是通用的數據
鏈路控制協定 ,當開始建立數據鏈路時,允許選用特定的操作方式。所謂鏈路操作方式,通俗地講就是某站點以主站方式操作,還是以從站方式操作,或者是二者兼備。
在鏈路上用於控制
目的 站稱為主站,其它的受主站控制的站稱為從站。主站負責對
數據流 進行組織,並且對鏈路上的差錯實施恢復。由主站發往從站的幀稱為命令幀,而由從站返回主站的幀稱回響幀。
連有多個站點的鏈路通常使用
輪詢 技術,輪詢其它站的站稱為主站,而在點到點鏈路中每個站均可為主站。主站需要比從站有更多的邏輯功能,所以當
終端 與
主機 相連時,主機一般總是主站。
在一個站連線多條鏈路的情況下,該站對於一些鏈路而言可能是主站,而對另外一些鏈路而言又可能是從站。
有些可兼備主站和從站的功能,這站稱為組合站,用於組合站之間信息傳輸的協定是對稱的,即在鏈路上主、從站具有同樣的傳輸控制功能,這又稱作平衡操作,在
計算機網路 中這是一個非常重要的概念。相對的,那種操作時有主站、從站之分的,且各自功能不同的操作,稱非平衡操作。
HDLC中常用的操作方式有以下三種:
NRM (Normal Responses Mode)是一種非平衡
數據鏈路 操作方式,有時也稱非平衡正常回響方式。該操作方式適用於面向
終端 的點到點或一點與多點的鏈路。在這種操作方式,傳輸過程由主站啟動,從站只有收到主站某個命令幀後,才能作為回響向主站傳輸信息。回響信息可以由一個或多個幀組成,若信息 由多個幀組成,則應指出哪一個是最後一幀。主站負責管理整個鏈路,且具有
輪詢 、選擇從站及向從站傳送命令的權利,同時也負責對逾時、重發及各類恢復 操作的控制。NRM操作方式見圖3.7(a)。
ARM 異步回響方式ARM(Asynchronous Responses Mode)也是一種非平衡數據鏈路操作方式,與NRM不同的是,ARM下的傳輸過程由從站啟動。從站主動傳送給主站的一個或一組幀中可包含有信息,也可以是僅以控制為
目的 而發的幀。在這種操作方式下,由從站來控制逾時和重發。該方式對採用
輪詢 方式的多站鏈路來說是必不可少的。ARM操作方式見圖3.7(b)。
ABM 異步平衡方式 ABM(Asynchronous Balanced Mode)是一種允許任何
節點 來啟動傳輸的操作方式。為了提高鏈路
傳輸效率 ,
節點 之間在兩個方向上都需要的較高的信息傳輸量。在這種操作方式下任何時候任何站都能啟動傳輸操作,每個站既可作為主站又可作為從站,每個站都是組合站。各站都有相同的一組協定,任何站都可以傳送或接收命令,也可以給出應答,並且各站對差錯恢復過程都負有相同的責任。
幀格式 在HDLC中,數據和控制
報文 均以幀的標準格式傳送。HDLC中的幀類似於BSC的字元塊,但BSC協定中的數據
報文 和控制報文是獨立傳輸的,而HDLC中的命令應以統一的格式按幀傳輸。HDLC的完整的幀由標誌欄位(F)、地址欄位(A)、控制欄位(C)、信息欄位(I)、
幀校驗序列 欄位(FCS)等組成。
hdlc幀格式 標誌欄位(F) 標誌欄位為01111110的比特模式,用以標誌幀的起始和前一幀的終止。標誌欄位也可以作為幀與幀之間的填充字元。通常,在不進行幀傳送的時刻,信道仍處於激活狀態,在這種狀態下,發方不斷地傳送標誌欄位,便可認為一個新的幀傳送已經開始。採用“0比特插入法”可以實現數據的
透明傳輸 。
地址欄位(A) 地址欄位的內容取決於所採用的操作方式。在操作方式中,有主站、從站、組合站之分。每一個從站和組合站都被分配一個唯一的地址。命令幀中的地址欄位攜帶的是對方站的地址,而回響幀中的地址欄位所攜帶的地址是本站的地址。某一地址也可分配給不止一個站,這種地址稱為組地址,利用一個組地址傳輸的幀能被組內所有擁有該組的站一一接收。但當一個站或組合站傳送回響時,它仍應當用它唯一的地址。還可用全“1”地址來表示包含所有站的地址,稱為
廣播地址 ,含有廣播地址的幀傳送給鏈路上所有的站。另外,還規定全“0”地址為無站地址,這種地址不分配給任何站,僅作作測試。
控制欄位(C) 控制欄位用於構成各種命令和回響,以便對鏈路進行監視和控制。傳送方主站或組合站利用控制欄位來通知被
定址 的從站或組合站執行約定的操作;相反,從站用該欄位作對命令的回響,報告已完成的操作或狀態的變化。該欄位是HDLC的關鍵。控制欄位中的第一位或第一、第二位表示傳送幀的類型,HDLC中有
信息幀 (I幀)、監控幀(S幀)和無編號幀(U幀)三種不同類型的幀。控制欄位的第五位是P/F位,即
輪詢 /終止(Poll/Final)位。
控制欄位中第1或第1、2位表示傳送幀的類型,第1位為“0”表示是
信息幀 ,第1、2位為“10”是監控幀,“11”是無編號幀。
信息幀 中,234位為存放傳送幀序號,5位為
輪詢 位,當為1時,要求被輪詢的從站給出回響,678位為下個預期要接收的幀的序號。
監控幀中,34位為S
幀類型 編碼。第5位為
輪詢 /終止位,當為1時,表示接收方確認結束。
無編號幀,提供對鏈路的建立、拆除以及多種控制功能,用34678這五個M位來
定義 ,可以定義32種附加的命令或應答功能。
信息欄位(I) 信息欄位可以是任意的二進制比特串。比特串
長度 未作限定,其上限由FCS欄位或通信站的緩衝器
容量 來決定,國際上用得較多的是1000~2000比特;而下限可以為0,即無信息欄位。但是,監控幀(S幀)中規定不可有信息欄位。
幀校欄位(FCS) 幀校驗序列欄位可以使用16位CRC,對兩個標誌欄位之間的整個幀的內容進行校驗。FCS的生成多項式CCITT V4.1建議規定的X16+X12+X5+1。
幀類型 信息幀(I幀) 信息幀用於傳送有效信息或數據,通常簡稱I幀。I幀以控制字第一位為“0”來標誌。
信息幀 的控制欄位中的N(S)用於存放傳送幀序號,以使傳送方不必等待確認而連續傳送多幀。N(R)用於存放接收方下一個預期要接收的幀的序號,N(R)=5,即表示接收方下一幀要接收5號幀,換言之,5號幀前的各幀接收到。N(S)和N(R)均為3位
二進制編碼 ,可取值0~7。
監控幀(S幀) 監控幀用於
差錯控制 和
流量 控制,通常簡稱S幀。S幀以控制欄位第一、二位為“10”來標誌。S幀不帶信息欄位,只有6個位元組即48個比特。S幀的控制欄位的第三、四位為S
幀類型 編碼,共有四種不同編碼,分別表示:
00——接收就緒(RR),由主站或從站傳送。主站可以使用RR型S幀來
輪詢 從站,即希望從站傳輸編號為N(R)的I幀,若存在這樣的幀,便進行傳輸;從站也可用RR型S幀來作回響,表示從站希望從主站那裡接收的下一個I幀的編號是N(R)。
01——拒絕(REJ),由主站或從站傳送,用以要求傳送方對從編號為N(R)開始的幀及其以後所有的幀進行重發,這也暗示N(R)以前的I幀已被正確接收。
10——接收未就緒(RNR),表示編號小於N(R)的I幀已被收到,但當前正處於忙狀態,尚未準備好接收編號為N(R)的I幀,這可用來對鏈路
流量 進行控制。
11——選擇拒絕(SREJ),它要求傳送方傳送編號為N(R)單個I幀,並暗示其它編號的I幀已全部確認。
可以看出,接收就緒RR型S幀和接收未就緒RNR型S幀有兩個主要功能:首先,這兩種類型的S幀用來表示從站已準備好或未準備好接收信息;其次,確認編號小於N(R)的所有接收到的I幀。拒絕REJ和選擇拒絕SREJ型S幀,用於向對方站指出發生了差錯。REJ幀用於GO-back-N策略,用以請求重發N(R)以前的幀已被確認,當收到一個N(S)等於REJ型S幀的N(R)的I幀後,REJ狀態即可清除。SREJ幀用於
選擇重發策略 ,當收到一個N(S)等SREJ幀的N(R)的I幀時,SREJ狀態即應消除。
無編號幀(U幀) 無編號幀因其控制欄位中不包含編號N(S)和N(R)而得名,簡稱U幀。U幀用於提供對鏈路的建立、拆除以及多種控制功能,但是當要求提供不可靠的無連線服務時,它有時也可以承載數據。這些控制功能5個M位(M1、M2、M3、M4、M5,也稱修正位)來
定義 。5個M位可以
定義 32種附加的命令功能或32種應答功能,但現在許多是空缺的。
工作原理 HDLC如何保證數據的透明傳輸
HDLC通過採用“0比特插入法”來保證數據的透明傳輸。即:在傳送端,只要發現有5個連續“1”,便在其後插入一個“0”。在接收一個幀時,每當發現5個連續“1”後是“0”,則將其刪除以恢複比特流的原貌。
數據傳輸HDLC 常見問題 1)什麼是HDLC 高級數據鏈路控制 (High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸數據、面向比特的
數據鏈路層 協定。思科
路由器 上的默認WAN接口封裝協定,是思科私有協定,如果同不同廠商的設備連線需要改成其他的封裝協定進行通信。
2) 什麼是 DCE Data Communications Equipment(數據通信設備)的首字母縮略詞。它在DTE和傳輸線路之間提供信號變換和編碼功能,並負責建立、保持和釋放鏈路的連線,如Modem。在思科
路由器 上作為DCE端的接口需要提供時鐘,才能使兩端協定協商成功。使用show controller 命令可以查看接口是否屬於DCE
3) clock rate 命令 如果本連線埠連線的是DCE線纜,則要設同步時鐘,單位bps ,默認情況下接口上不配置 clock rate 。
eg. Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface serial 5/0
Router(config-if)# clock rate 1234567
%clock rate rounded to nearest value that your hardware can support.
%Use Exec Command 'more system:running-config' to see the value rounded to.
Router(config-if)# exit
Router(config)#
Router# more system:running-config
Building configuration...
...
!
interface Serial5/0
no ip address
clock rate 1151526
!
...