數(shù)據(jù)鏈路層簡(jiǎn)介及其功能

數(shù)據(jù)鏈路層主要有兩個(gè)功能 :幀編碼和誤差糾正控制。幀編碼意味著定義一個(gè)包含信息頻率、位同步、源地址、目標(biāo)地址以及其他控制信息的數(shù)據(jù)包。數(shù)據(jù)鏈路層協(xié)議又被分為兩個(gè)子層 :邏輯鏈路控制(LLC)協(xié)議和媒體訪問控制(MAC)協(xié)議。
數(shù)據(jù)鏈路層的最基本的功能是向該層用戶提供透明的和可靠的數(shù)據(jù)傳送基本服務(wù)。透明性是指該層上傳輸?shù)臄?shù)據(jù)的內(nèi)容、格式及編碼沒有限制,也沒有必要解釋信息結(jié)構(gòu)的意義;可靠的傳輸使用戶免去對(duì)丟失信息、干擾信息及順序不正確等的擔(dān)心。在物理層中這些情況都可能發(fā)生,在數(shù)據(jù)鏈路層中必須用糾錯(cuò)碼來檢錯(cuò)與糾錯(cuò)。數(shù)據(jù)鏈路層是對(duì)物理層傳輸原始比特流的功能的加強(qiáng),將物理層提供的可能出錯(cuò)的物理連接改造成為邏輯上無差錯(cuò)的數(shù)據(jù)鏈路,使之對(duì)網(wǎng)絡(luò)層表現(xiàn)為一無差錯(cuò)的線路。
為了使傳輸中發(fā)生差錯(cuò)后只將有錯(cuò)的有限數(shù)據(jù)進(jìn)行重發(fā),數(shù)據(jù)鏈路層將比特流組合成以太幀為單位傳送。每個(gè)幀除了要傳送的數(shù)據(jù)外,還包括校驗(yàn)碼,以使接收方能發(fā)現(xiàn)傳輸中的差錯(cuò)。幀的組織結(jié)構(gòu)必須設(shè)計(jì)成使接收方能夠 明確地從物理層收到的比特流中對(duì)其進(jìn)行識(shí)別,也即能從比特流中區(qū)分出幀的起始與終止,這就是幀同步要解決的問題。(1)字節(jié)計(jì)數(shù)法:這是一種以一個(gè)特殊字符表示一幀的起始并以一個(gè)專門字段來標(biāo)明幀內(nèi)字節(jié)數(shù)的幀同步方法。接收方可以通過對(duì)該特殊字符的識(shí)別從比特流中區(qū)分出幀的起始并從專門字段中獲知該幀中隨后跟隨的數(shù)據(jù)字節(jié)數(shù),從而可確定出幀的終止位置。面向字節(jié)計(jì)數(shù)的同步規(guī)程的典型代表是DEC公司的數(shù)字?jǐn)?shù)據(jù)通信報(bào)文協(xié)議DDCMP(Digital Data Communications Message Protocol)??刂谱址鸖OH標(biāo)志數(shù)據(jù)幀的起始。實(shí)際傳輸中,SOH前還要以兩個(gè)或更多個(gè)同步字符來確定一幀的起始,有時(shí)也允許本幀的頭緊接著上幀的尾,此時(shí)兩幀間就不必再加同步字符。count字段共有14位,用以指示幀中數(shù)據(jù)段中數(shù)據(jù)的字節(jié)數(shù),14位二進(jìn)制數(shù)的最大值為16383,所以數(shù)據(jù)最大長度為131064。DDCMP協(xié)議就是靠這個(gè)字節(jié)計(jì)數(shù)來確定幀的終止位置的。DDCMP幀格式中的ACK、SEG、ADDR及FLAG中的第2位CRC1、CRC2分別對(duì)標(biāo)題部分和數(shù)據(jù)部分進(jìn)行雙重校驗(yàn),強(qiáng)調(diào)標(biāo)題部分單獨(dú)校驗(yàn)的原因是,一旦標(biāo)題部分中的CONUT字段出錯(cuò),即失卻了幀邊界劃分的依據(jù)。由于采用字符計(jì)數(shù)方法來確定幀的終止邊界不會(huì)引起數(shù)據(jù)及其它信息的混淆,因而不必采用任何措施便可實(shí)現(xiàn)數(shù)據(jù)的透明性(即任何數(shù)據(jù)均可不受限制地傳輸)。(2)使用字符填充的首尾定界符法:該法用一些特定的字符來定界一幀的起始與終止,為了不使數(shù)據(jù)信息位中出現(xiàn)的與特定字符相同的字符被誤判為幀的首尾定界符,可以在這種數(shù)據(jù)字符前填充一個(gè)轉(zhuǎn)義控制字符(DLE)以示區(qū)別,從而達(dá)到數(shù)據(jù)的透明性。但這種方法使用起來比較麻煩,而且所用的特定字符過份依賴于所采用的字符編碼集,兼容性比較差。(3)使用比特填充的首尾標(biāo)志法:該法以一組特定的比特模式來標(biāo)志一幀的起始與終止。(4)違法編碼法:該法在物理層采用特定的比特編碼方法時(shí)采用。例如,一種被稱作曼徹斯特編碼的方法,是將數(shù)據(jù)比特“1”編碼成“高-低”電平對(duì),而將數(shù)據(jù)比特“0”編碼成“低-高”電平對(duì)。而“高-高”電平對(duì)和“低-低”電平對(duì)在數(shù)據(jù)比特中是違法的??梢越栌眠@些違法編碼序列來定界幀的起始與終止。局域網(wǎng)IEEE 802標(biāo)準(zhǔn)中就采用了這種方法。違法編碼法不需要任何填充技術(shù),便能實(shí)現(xiàn)數(shù)據(jù)的透明性,但它只適用于采用冗余編碼的特殊編碼環(huán)境。由于字節(jié)計(jì)數(shù)法中COUNT字段的脆弱性以及字符填充法實(shí)現(xiàn)上的復(fù)雜性和不兼容性,較普遍使用的幀同步法是比特填充和違法編碼法。