數(shù)據(jù)鏈路層常用成紙法有哪些_數(shù)據(jù)鏈路層的作用
數(shù)據(jù)鏈路層是OSI參考模型中的第二層,介乎于物理層和網(wǎng)絡(luò)層之間。數(shù)據(jù)鏈路層在物理層提供的服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的服務(wù)是將源自網(wǎng)絡(luò)層來(lái)的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層。為達(dá)到這一目的,數(shù)據(jù)鏈路必須具備一系列相應(yīng)的功能,主要有:如何將數(shù)據(jù)組合成數(shù)據(jù)塊,在數(shù)據(jù)鏈路層中稱(chēng)這種數(shù)據(jù)塊為幀(frame),幀是數(shù)據(jù)鏈路層的傳送單位;如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯(cuò),如何調(diào)節(jié)發(fā)送速率以使與接收方相匹配;以及在兩個(gè)網(wǎng)絡(luò)實(shí)體之間提供數(shù)據(jù)鏈路通路的建立、維持和釋放的管理。
數(shù)據(jù)鏈路層的功能或作用
數(shù)據(jù)鏈路層在物理層提供的服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的服務(wù)是將源自網(wǎng)絡(luò)層來(lái)的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層應(yīng)具備如下功能:
?、冁溌愤B接的建立,拆除,分離。
②幀定界和幀同步。鏈路層的數(shù)據(jù)傳輸單元是幀,協(xié)議不同,幀的長(zhǎng)短和界面也有差別,但無(wú)論如何必須對(duì)幀進(jìn)行定界。
③順序控制,指對(duì)幀的收發(fā)順序的控制。
④差錯(cuò)檢測(cè)和恢復(fù)。還有鏈路標(biāo)識(shí),流量控制等等。差錯(cuò)檢測(cè)多用方陣碼校驗(yàn)和循環(huán)碼校驗(yàn)來(lái)檢測(cè)信道上數(shù)據(jù)的誤碼,而幀丟失等用序號(hào)檢測(cè)。各種錯(cuò)誤的恢復(fù)則??糠答佒匕l(fā)技術(shù)來(lái)完成。
數(shù)據(jù)鏈路層的主要協(xié)議
數(shù)據(jù)鏈路層協(xié)議是為發(fā)對(duì)等實(shí)體間保持一致而制定的,也為了順利完成對(duì)網(wǎng)絡(luò)層的服務(wù)。主要協(xié)議如下:
a.ISO1745--1975:“數(shù)據(jù)通信系統(tǒng)的基本型控制規(guī)程”。這是一種面向字符的標(biāo)準(zhǔn),利用10個(gè)控制字符完成鏈路的建立,拆除及數(shù)據(jù)交換。對(duì)幀的收發(fā)情況及差錯(cuò)恢復(fù)也是靠這些字符來(lái)完成.ISO1155,ISO1177,ISO2626,ISO2629等標(biāo)準(zhǔn)的配合使用可形成多種鏈路控制和數(shù)據(jù)傳輸方式。
b.ISO3309--1984:稱(chēng)為“HDLC幀結(jié)構(gòu)”.ISO4335--1984:稱(chēng)為“HDLC規(guī)程要素”。ISO7809--1984:稱(chēng)為“HDLC規(guī)程類(lèi)型匯編”。這3個(gè)標(biāo)準(zhǔn)都是為面向比特的數(shù)據(jù)傳輸控制而制定的。有人習(xí)慣上把這3個(gè)標(biāo)準(zhǔn)組合稱(chēng)為高級(jí)鏈路控制規(guī)程。
c.ISO7776:稱(chēng)為“DTE數(shù)據(jù)鏈路層規(guī)程”。與CCITTX.25LAB“平衡型鏈路訪問(wèn)規(guī)程”相兼容。
數(shù)據(jù)鏈路層常用成紙法有哪些
數(shù)據(jù)鏈路層成紙的方法主要有三個(gè):字符計(jì)數(shù)法,字符填充的首尾界定法和比特填充的首尾界定法。
1、字符計(jì)數(shù)法字符計(jì)數(shù)法用一個(gè)幀的第一字節(jié)來(lái)說(shuō)明幀的總長(zhǎng)度(總長(zhǎng)度包含這個(gè)幀頭)
看這張圖,白色為幀頭,指明了長(zhǎng)度,比如第一幀長(zhǎng)度為5,后面就跟了4個(gè)字節(jié),第二幀的長(zhǎng)度為5,后面也跟了4字節(jié),之后是兩個(gè)8字節(jié)長(zhǎng)度的,所以各自跟了7字節(jié)的正文部分。但是很顯然,如果頭這一個(gè)字節(jié)出了問(wèn)題,影響的就不僅僅是這一幀了,其他的都會(huì)出問(wèn)題。比如:
第二個(gè)幀頭出了問(wèn)題,那么就會(huì)出現(xiàn)大問(wèn)題:后面的全部幀都會(huì)出錯(cuò),連鎖反應(yīng)。所以這種方法不太常用。
2、字符填充的首尾界定法在幀的頭之前和尾之后加一個(gè)特殊的字符,只要讀到這個(gè)字符幀就開(kāi)始了,再次讀到就認(rèn)為這個(gè)幀結(jié)束了,如下圖所示:
這種方法能夠避免上面字符計(jì)數(shù)法的頭出錯(cuò)問(wèn)題,但是他也有問(wèn)題:如果正文里面出現(xiàn)了flag特殊字符怎么辦?解決辦法是在正文里面flag字符前面加上轉(zhuǎn)義字符esc,這樣讀到flag之前如果沒(méi)有轉(zhuǎn)義字符esc,那么認(rèn)為幀結(jié)束,如果有esc那么認(rèn)為他就是普通的數(shù)據(jù)就行。問(wèn)題又來(lái)了,那么正文里面如果有esc字符呢?那么就在esc前面再加一個(gè)esc就行了,這兩個(gè)的處理是一樣的。如下圖:
3、比特填充的字符界定法
這種方法和第二種比較類(lèi)似,區(qū)別是他把flag具體化了,為6個(gè)1。這樣當(dāng)正文讀取的時(shí)候一旦出現(xiàn)了5個(gè)連續(xù)的1,那么在后面填充一個(gè)0,避免出現(xiàn)6個(gè)1造成幀提前結(jié)束。如下圖所示: