幀同步
兩個工作站間傳輸信息的方法
幀同步,指的是接收方應當能從接收到的二進位比特流中區分出幀的起始與終止。
概念
幀同步
數據鏈路層所以要把比特組合成以幀為單位傳送,是為了在出錯時,可只將有錯的幀重發,而不必將全部數據重新發送,從而提高了效率。通常為每個幀計算校驗和(Checksum)。當一幀到達目的地時,校驗和再被計算一遍,若與原校驗和不同,就可發現差錯了。
常用的幀同步方法有:使用字元填充的首尾定界符法、使用比特填充的首尾標誌法、違法編碼法和位元組計數法。下面我們介紹四種方法:
1、位元組計數法
這種方法首先用一個特殊欄位來表示一幀的開始,然後使用一個欄位來標明本幀內的位元組數。當目標機的數據鏈路層讀到位元組計數值時,就知道了後面跟隨的位元組數,從而可確定幀結束的位置(面向位元組計數的同步規程)
2、使用字元填充的首尾定界符方法
這種方法用一些特定的字元來定界一幀的開始和結束。為了不將信息位中出現的特殊字元被誤碼判為幀的首尾定界符,可以在前面填充一個轉義符(DLE)來區分。(面向字元的同步規程--BSC)
ü 用DLE STX標示幀的開始
ü 用DLE ETX標示幀的結束
ü 用DLE DLE標示傳送數據信息中的DLE
ü例如:信息DLE STX A DLE B DLE ETX在網路中傳送時表示為:
DLE STX DLE DLE STX A DLE DLE B DLE DLE ETX DLE ETX
3、使用比特填充的首尾標誌方法
這種方法用一組特定的比特模式(如,01111110)來標誌一幀的開頭和結束。為了不使信息位中出現的該特定模式被誤判為幀的首尾標誌,可以採用比特填充的方法來解決。(面向比特的同步規程--HDLC)
ü“0”比特插入刪除技術,在傳送的數據信息中每遇到5個連續的1在其後加0
ü例如: 0110111111011111001在網路中傳送時表示為:
0111111001101111101011111000101111110
4、違例編碼法
這在物理層採用特定的比特編碼方法時採用。比如說,採用曼徹斯特編碼方法時,將數據比特1編碼成高——低電平對,而將數據比特0編碼成低——高電平對。高——高或低——低電平對在數據比特的編碼中都是違例的,可以借用這些違例編碼的序列來定界幀的開始和結束。
概論
使用字元填充的首尾定界符法使用一些特定的字元來定界幀的首尾,但所用的特定字元領帶於所採用的字元編碼集,兼容性比較差,使用麻煩。使用比特填充的首尾標誌法用一組特定的比特模式來標誌幀的起始與終止。違法編碼法用違法編碼序列來定界幀的超始與終止。位元組計數法以一個特殊字元表徵一帆的起始,並以一個專門欄位來標明幀內的位元組數。
使用較普遍的是后兩種方法。在位元組計數法中,“位元組計數”欄位是十分重要的,必須採取措施來保證它不會出錯。因為它一旦出錯,就會失去幀尾的位置,特別是其錯誤值變大時不但會影響本幀,而且會影響隨後的幀,造成災難性的後果。比特填充的方法優於字元填充的方法。違例編碼法不需要任何填充技術,但它只適於採用了冗餘編碼的特殊編碼方法。