WIKI使用導航
站長百科導航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應用
- 美國十大主機
HDLC
來自站長百科
HDLC高級數(shù)據(jù)鏈路控制是一個在同步網(wǎng)上傳輸數(shù)據(jù)、面向比特的數(shù)據(jù)鏈路層協(xié)議,它是由國際標準化組織(ISO)根據(jù)IBM公司的SDLC協(xié)議擴展開發(fā)而成的,七十年代初,IBM公司率先提出了面向比特的同步數(shù)據(jù)鏈路控制規(guī)程SDLC,隨后ANSI和ISO均采納并發(fā)展了SDLC,并分別提出了自己的標準:ANSI的高級通信控制過程ADCP,ISO的高級數(shù)據(jù)鏈路控制規(guī)程HDLC協(xié)議。
HDLC協(xié)議的作用[ ]
- 鏈路控制協(xié)議著重于對分段成物理塊或包的數(shù)據(jù)的邏輯傳輸,塊或包由起始標志引導并由終止標志結束也稱為幀,幀是每個控制、每個響應以及用協(xié)議傳輸?shù)乃行畔⒌?a href="/wiki/%E5%A4%9A%E5%AA%92%E4%BD%93" title="多媒體">多媒體的工具,所有面向比特的數(shù)據(jù)鏈路控制協(xié)議均采用統(tǒng)一的幀格式,不論是數(shù)據(jù)還是單獨的控制信息均以幀為單位傳送。
- HDLC執(zhí)行數(shù)據(jù)傳輸控制功能,每個幀前、后均有一標志碼01111110,用作幀的起始、終止指示及幀的同步。標志碼不允許在幀的內部出現(xiàn)以免引起歧義,為保證標志碼的唯一性但又兼顧幀內數(shù)據(jù)的透明性,可以采用“0比特插入法”來解決。該法在發(fā)送端監(jiān)視除標志碼以外的所有字段,當發(fā)現(xiàn)有連續(xù)5個“1”出現(xiàn)時,便在其后添插一個“0”,然后繼續(xù)發(fā)后繼的比特流。
- 在接收端,同樣監(jiān)除起始標志碼以外的所有字段。當連續(xù)發(fā)現(xiàn)5個“1”出現(xiàn)后,若其后一個比特“0”則自動刪除它,以恢復原來的比特流;若發(fā)現(xiàn)連續(xù)6個“1”,則可能是插入的“0”發(fā)生差錯變成的“1”,也可能是收到了幀的終止標志碼。后兩種情況,可以進一步通過幀中的幀檢驗序列來加以區(qū)分?!?比特插入法”原理簡單,很適合于硬件實現(xiàn)。
- 在面向比特的協(xié)議的幀格式中,有一個8比特的控制字段,可以用它以編碼方式定義豐富的控制命令和應答,相當于起到了BSC協(xié)議中眾多傳輸控制 字符和轉義序列的功能。
HDLC協(xié)議特點[ ]
- HDLC協(xié)議不依賴于任何一種字符編碼集;數(shù)據(jù)報文可透明傳輸,用于實現(xiàn)透明傳輸?shù)摹?比特插入法”易于硬件實現(xiàn);全雙工通信,不必等待確認便可連續(xù)發(fā)送數(shù)據(jù),有較高的數(shù)據(jù)鏈路傳輸效率。所有幀均采用CRC校驗,對信息幀進行編號可防止漏收或重份,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性和較完善的控制功能。
- HDLC是面向比特的數(shù)據(jù)鏈路控制協(xié)議的典型代表,該協(xié)議不依賴于任何一種字符編碼集;數(shù)據(jù)報文可透明傳輸,用于實現(xiàn)透明傳輸?shù)摹?比特插入法”易于硬件實現(xiàn);全雙工通信,有較高的數(shù)據(jù)鏈路傳輸效率;所有幀采用CRC檢驗,對信息幀進行順序編號,可防止漏收或重發(fā),傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性。
由于以上特點,目前網(wǎng)絡設計普遍使用HDLC作為數(shù)據(jù)鏈路管制協(xié)議。
HDLC協(xié)議操作方式[ ]
- HDLC是通用的數(shù)據(jù)鏈路控制協(xié)議,當開始建立數(shù)據(jù)鏈路時,允許選用特定的操作方式。所謂鏈路操作方式,通俗地講就是某站點以主站方式操作,還是以從站方式操作,或者是二者兼?zhèn)洹?/li>
- 在鏈路上用于控制目的站稱為主站,其它的受主站控制的站稱為從站。主站負責對數(shù)據(jù)流進行組織,并且對鏈路上的差錯實施恢復。由主站發(fā)往從站的幀稱為命令幀,而由從站返回主站的幀稱響應幀。
- 連有多個站點的鏈路通常使用輪詢技術,輪詢其它站的站稱為主站,而在點到點鏈路中每個站均可為主站,主站需要比從站有更多的邏輯功能,所以當終端與主機相連時主機一般總是主站。
- 有些可兼?zhèn)渲髡竞蛷恼镜墓δ?,這站稱為組合站,用于組合站之間信息傳輸?shù)膮f(xié)議是對稱的,即在鏈路上主、從站具有同樣的傳輸控制功能,這又稱作平衡操作,在計算機網(wǎng)絡中這是一個非常重要的概念。相對的,那種操作時有主站、從站之分的,且各自功能不同的操作,稱非平衡操作,HDLC中常用的操作方式有以下三種:
- 正常響應方式NRM,(Normal Responses Mode)是一種非平衡數(shù)據(jù)鏈路操作方式,有時也稱非平衡正常響應方式。該操作方式適用于面向終端的點到點或一點與多點的鏈路。在這種操作方式,傳輸過程由主站啟動,從站只有收到主站某個命令幀后,才能作為響應向主站傳輸信息,響應信息可以由一個或多個幀組成,若信息由多個幀組成,則應指出哪一個是最后一幀。主站負責管理整個鏈路,且具有輪詢、選擇從站及向從站發(fā)送命令的權利,同時也負責對超時、重發(fā)及各類恢復 操作的控制
- 異步響應方式ARM,異步響應方式ARM(Asynchronous Responses Mode)也是一種非平衡數(shù)據(jù)鏈路操作方式,與NRM不同的是ARM下的傳輸過程由從站啟動,從站主動發(fā)送給主站的一個或一組幀中可包含有信息,也可以是僅以控制為目的而發(fā)的幀。在這種操作方式下由從站來控制超時和重發(fā),該方式對采用輪詢方式的多站鏈路來說是必不可少的。
- 異步平衡方式ABM,異步平衡方式ABM(Asynchronous Balanced Mode)是一種允許任何節(jié)點來啟動傳輸?shù)牟僮鞣绞?,為了提高鏈路傳輸效率,?jié)點之間在兩個方向上都需要的較高的信息傳輸量。在這種操作方式下任何時候任何站都能啟動傳輸操作,每個站既可作為主站又可作為從站,每個站都是組合站,各站都有相同的一組協(xié)議,任何站都可以發(fā)送或接收命令也可以給出應答,并且各站對差錯恢復過程都負有相同的責任。
HDLC的幀格式[ ]
在HDLC中,數(shù)據(jù)和控制報文均以幀的標準格式傳送。HDLC中的幀類似于BSC的字符塊,但BSC協(xié)議中的數(shù)據(jù)報文和控制報文是獨立傳輸?shù)?,而HDLC中的命令應以統(tǒng)一的格式按幀傳輸。HDLC的完整的幀由標志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、幀校驗序列字段(FCS)等組成.
- 標志字段(F),標志字段為01111110的比特模式,用以標志幀的起始和前一幀的終止。標志字段也可以作為幀與幀之間的填充字符。通常在不進行幀傳送的時刻,信道仍處于激活狀態(tài),在這種狀態(tài)下,發(fā)方不斷地發(fā)送標志字段,便可認為一個新的幀傳送已經開始。采用“0比特插入法”可以實現(xiàn)數(shù)據(jù)的透明傳輸。
- 地址字段(A),地址字段的內容取決于所采用的操作方式。在操作方式中,有主站、從站、組合站之分。每一個從站和組合站都被分配一個唯一的地址。命令幀中的地址字段攜帶的是對方站的地址,而響應幀中的地址字段所攜帶的地址是本站的地址。某一地址也可分配給不止一個站,這種地址稱為組地址,利用一個組地址傳輸?shù)膸鼙唤M內所有擁有該組的站一一接收。
- 控制字段(C),控制字段用于構成各種命令和響應,以便對鏈路進行監(jiān)視和控制。發(fā)送方主站或組合站利用控制字段來通知被尋址的從站或組合站執(zhí)行約定的操作;相反,從站用該字段作對命令的響應,報告已完成的操作或狀態(tài)的變化。該字段是HDLC的關鍵??刂谱侄沃械牡谝晃换虻谝?、第二位表示傳送幀的類型,HDLC中有信息幀(I幀)、監(jiān)控幀(S幀)和無編號幀(U幀)三種不同類型的幀。
- 信息字段(C),信息字段可以是任意的二進制比特串。比特串長度未作限定,其上限由FCS字段或通信站的緩沖器容量來決定,目前國際上用得較多的是1000~2000比特;而下限可以為0,即無信息字段。但是,監(jiān)控幀(S幀)中規(guī)定不可有信息字段。
- 幀校驗序列字段(FCS),幀校驗序列字段可以使用16位CRC,對兩個標志字段之間的整個幀的內容進行校驗,F(xiàn)CS的生成多項式CCITT V4.1建議規(guī)定的X16+X12+X5+1。
HDLC的幀類型[ ]
- 信息幀(I幀),信息幀用于傳送有效信息或數(shù)據(jù),通常簡稱I幀。I幀以控制字第一位為“0”來標志,信息幀的控制字段中的N(S)用于存放發(fā)送幀序號,以使發(fā)送方不必等待確認而連續(xù)發(fā)送多幀。N(R)用于存放接收方下一個預期要接收的幀的序號,N(R)=5,即表示接收方下一幀要接收5號幀,換言之,5號幀前的各幀接收到。
- 監(jiān)控幀(S幀),監(jiān)控幀用于差錯控制和流量控制,通常簡稱S幀。S幀以控制字段第一、二位為“10”來標志。S幀不帶信息字段,只有6個字節(jié)即48個比特。S幀的控制字段的第三、四位為S幀類型編碼,共有四種不同編碼,分別表示:
- 00——接收就緒(RR),由主站或從站發(fā)送。主站可以使用RR型S幀來輪詢從站,即希望從站傳輸編號為N(R)的I幀,若存在這樣的幀,便進行傳輸;從站也可用RR型S幀來作響應,表示從站希望從主站那里接收的下一個I幀的編號是N(R)。
- 01——拒絕(REJ),由主站或從站發(fā)送,用以要求發(fā)送方對從編號為N(R)開始的幀及其以后所有的幀進行重發(fā),這也暗示N(R)以前的I幀已被正確接收。
- 10——接收未就緒(RNR),表示編號小于N(R)的I幀已被收到,但目前正處于忙狀態(tài),尚未準備好接收編號為N(R)的I幀,這可用來對鏈路流量進行控制。
- 11——選擇拒絕(SREJ),它要求發(fā)送方發(fā)送編號為N(R)單個I幀,并暗示其它編號的I幀已全部確認。
從上可以看出接收就緒RR型S幀和接收未就緒RNR型S幀有兩個主要功能:
- 首先這兩種類型的S幀用來表示從站已準備好或未準備好接收信息。
- 其次確認編號小于N(R)的所有接收到的I幀。拒絕REJ和選擇拒絕SREJ型S幀,用于向對方站指出發(fā)生了差錯。REJ幀用于GO-back-N策略,用以請求重發(fā)N(R)以前的幀已被確認,當收到一個N(S)等于REJ型S幀的N(R)的I幀后,REJ狀態(tài)即可清除。