您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>數(shù)據(jù)通信>

什么是OSI模型數(shù)據(jù)鏈路層

2010年03月18日 15:11 wenjunhu.com 作者:佚名 用戶評(píng)論(0

什么是OSI模型數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層最基本的服務(wù)是將源機(jī)網(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ù)鏈路層中將這種數(shù)據(jù)塊稱為幀(Fram),幀是數(shù)據(jù)鏈路層的傳送單位;如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯(cuò),如何調(diào)節(jié)發(fā)送速率以使之與接收方相匹配;在兩個(gè)網(wǎng)絡(luò)實(shí)體之間提供數(shù)據(jù)鏈路通路的建立、維持和釋放管理。

1.幀同步功能

為了使傳輸中發(fā)生差錯(cuò)后只將出錯(cuò)的有限數(shù)據(jù)進(jìn)行重發(fā),數(shù)據(jù)鏈路層將比特流組織成以幀為單位傳送。幀的組織結(jié)構(gòu)必須設(shè)計(jì)成使接收方能夠明確地從物理層收到的比特流中對(duì)其進(jìn)行識(shí)別,也即能從比特流中區(qū)分出幀的起始與終止,這就是幀同步要解決的問(wèn)題。由于網(wǎng)絡(luò)傳輸中很難保證計(jì)時(shí)的正確和一致,所以不能采用依靠時(shí)間間隔關(guān)系來(lái)確定一幀的起始與終止的方法。下面介紹幾種常用的幀同步法。

(1)字節(jié)計(jì)數(shù)法。這種幀同步方法以一個(gè)特殊字符表征一幀的起始,并以一個(gè)專門(mén)字段來(lái)標(biāo)明幀內(nèi)的字節(jié)數(shù)。接收方可以通過(guò)對(duì)該特殊字符的識(shí)別從比特流中區(qū)分出幀的起始,并從專門(mén)字段中獲知該幀中隨后跟隨的數(shù)據(jù)字節(jié)數(shù),從而可確定出幀的終止位置。

面向字節(jié)計(jì)數(shù)的同步規(guī)程的典型實(shí)例是DEC公司的數(shù)字?jǐn)?shù)據(jù)通信報(bào)文協(xié)議DDcmp(Digital Data Communications Message Protocol)o DDcmP采用的幀格式如下:

格式中控制字符SOH標(biāo)志數(shù)據(jù)幀的起始。 Count字段共有14位,用以指示幀中數(shù)據(jù)段中數(shù)據(jù)的字節(jié)數(shù),數(shù)據(jù)段最大長(zhǎng)度為8×(214-1)=131064位,長(zhǎng)度必須為字節(jié)(EP 8位)的整倍數(shù),DDCMP協(xié)議就是靠這個(gè)字節(jié)計(jì)數(shù)來(lái)確定幀的終止位置的。 DDCMP幀格式中的Ack、seg、addr及Flag中的第2位,它們的功能分別類似于本節(jié)稍后要詳細(xì)介紹的hdlC中的N(R)、N(S)、Addr字段及P/F位。 CRC1、CRC2分別對(duì)標(biāo)題部分和數(shù)據(jù)部分進(jìn)行雙重校驗(yàn),強(qiáng)調(diào)標(biāo)題部分單獨(dú)校驗(yàn)的原因是,一旦標(biāo)題部分中的Count字段出錯(cuò),即失卻了幀邊界劃分的依據(jù),將造成災(zāi)難性的后果。

由于采用字符計(jì)數(shù)方法來(lái)確定幀的終止邊界不會(huì)引起數(shù)據(jù)及其它信息的混淆,因而不必采用任何措施便可實(shí)現(xiàn)數(shù)據(jù)的透明性,即任何數(shù)據(jù)均可不受限制地傳輸。

(2)使用字符填充的首尾定界符法。該法用一些特定的字符來(lái)定界一幀的起始與終止,本節(jié)稍后要介紹的部C規(guī)程便是典型例子。為了不使數(shù)據(jù)信息位中出現(xiàn)的與特定字符相同的字符被誤判為幀的首尾定界符,可以在這種數(shù)據(jù)字符前填充一個(gè)轉(zhuǎn)義控制字符(DLE)以示區(qū)別,從而達(dá)到數(shù)據(jù)的透明性。但這種方法使用起來(lái)比較麻煩,而且所用的特定字符依賴于所采用的字符編碼集,兼容性比較差。

(3)使用比特填充的首尾標(biāo)志法。該法以一組特定的比特模式(如01111110)來(lái)標(biāo)志一幀的起始與終止。本節(jié)稍后要詳細(xì)介紹的E由LC規(guī)程即采用該法。為了不使信息位中出現(xiàn)的與該特定比特模式相似的比特串被誤判為幀的首尾標(biāo)志,可以采用比特填充的方法。比如,采用特定模式01111110,則對(duì)信息位中的任何連續(xù)出現(xiàn)的5個(gè)"1",發(fā)送方自動(dòng)在其后插入一個(gè)"0",而接收方則做該過(guò)程的逆操作,即每接收到連續(xù)5個(gè)"1",則自動(dòng)刪去其后所跟的"0",以此恢復(fù)原始信息,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)耐该餍浴1忍靥畛浜苋菀子?a target="_blank">硬件來(lái)實(shí)現(xiàn),性能優(yōu)于字符填充方法。

(4)違法編碼法。該法在物理層采用特定的比特編碼方法時(shí)采用。例如,曼徹斯特編碼方法,是將數(shù)據(jù)比特"1"編碼成"高一低"電平對(duì),將數(shù)據(jù)比特"0"編碼成"低一高"電平對(duì)。而"高一高"電平對(duì)和"低低"電平對(duì)在數(shù)據(jù)比特中是違法的??梢越栌眠@些違法編碼序列來(lái)定界幀的起始與終止。局域IEEE802標(biāo)準(zhǔn)中就采用了這種方法。違法編碼法不需要任何填充技術(shù),便能實(shí)現(xiàn)數(shù)據(jù)的透明性,但它只適用于采用冗余編碼的特殊編碼環(huán)境。

由于字節(jié)計(jì)數(shù)法中Count字段的脆弱性(其值若有差錯(cuò)將導(dǎo)致災(zāi)難性后果)以及字符填充法實(shí)現(xiàn)上的復(fù)雜性和不兼容性,目前較普遍使用的幀同步法是比特填充法和違法編碼法。

2.差錯(cuò)控制功能

通信系統(tǒng)必須具備發(fā)現(xiàn)(即檢測(cè))差錯(cuò)的能力,并采取措施糾正之,使差錯(cuò)控制在所能:允許的盡可能小的范圍內(nèi),這就是差錯(cuò)控制過(guò)程,也是數(shù)據(jù)鏈路層的主要功能之一。

接收方通過(guò)對(duì)差錯(cuò)編碼(如奇偶校驗(yàn)碼或αC碼)的檢查,可以判定一幀在傳輸過(guò)程中是否發(fā)生了差錯(cuò)。一旦發(fā)現(xiàn)差錯(cuò),一般可以采用反饋重發(fā)的方法來(lái)糾正。這就要求接收方收完一幀后,向發(fā)送方反饋一個(gè)接收是否正確的信息,使發(fā)送方據(jù)此做出是否需要重新發(fā)送的決定。發(fā)送方僅當(dāng)收到接收方已正確接收的反饋信號(hào)后才能認(rèn)為該幀已經(jīng)正確發(fā)送完畢,否則需重發(fā)直至正確為止。

物理信道的突發(fā)噪聲可能完全"淹沒(méi)"一幀,即使得整個(gè)數(shù)據(jù)幀或反饋信息幀丟失,這將導(dǎo)致發(fā)送方永遠(yuǎn)收不到接收方發(fā)來(lái)的反饋信息,從而使傳輸過(guò)程停滯。為了避免出現(xiàn)這種情況,通常引人計(jì)時(shí)器(Timer)來(lái)限定接收方發(fā)回反饋信息的時(shí)間間隔,當(dāng)發(fā)送方發(fā)送一幀的同時(shí)也啟動(dòng)計(jì)時(shí)器,若在限定時(shí)間間隔內(nèi)未能收到接收方的反饋信息,即計(jì)時(shí)器超時(shí)(Timeout,則可認(rèn)為傳出的幀已出錯(cuò)或丟失,就要重新發(fā)送。

由于同一幀數(shù)據(jù)可能被重復(fù)發(fā)送多次,就可能引起接收方多次收到同一幀并將其遞交給網(wǎng)絡(luò)層的危險(xiǎn)。為了防止發(fā)生這種危險(xiǎn),可以采用對(duì)發(fā)送的幀編號(hào)的方法,即賦予每幀一個(gè)序號(hào),從而使接收方能從該序號(hào)來(lái)區(qū)分是新發(fā)送來(lái)的幀還是已經(jīng)接收但又重新發(fā)送來(lái)的幀,以此來(lái)確定要不要將接收到的幀遞交給網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層通過(guò)使用計(jì)數(shù)器和序號(hào)來(lái)保證每幀最終都能被正確地遞交給目標(biāo)網(wǎng)絡(luò)層一次。

3.流量控制功能

首先需要說(shuō)明一下,流量控制并不是數(shù)據(jù)鏈路層特有的功能,許多高層協(xié)議中也提供流量控制功能,只不過(guò)流量控制的對(duì)象不同而已。比如,對(duì)于數(shù)據(jù)鏈路層來(lái)說(shuō),控制的是相鄰兩節(jié)點(diǎn)之間數(shù)據(jù)鏈路上的流量,而對(duì)于運(yùn)輸層來(lái)說(shuō),控制的則是從源到最終目的之間端對(duì)端的流量。

由于收發(fā)雙方各自使用的設(shè)備工作速率和緩沖存儲(chǔ)空間的差異,可能出現(xiàn)發(fā)送方發(fā)送能力大于接收方接收能力的現(xiàn)象,若此時(shí)不對(duì)發(fā)送方的發(fā)送速率(也即鏈路上的信息流量)做適當(dāng)?shù)南拗?前面來(lái)不及接收的幀將被后面不斷發(fā)送來(lái)的幀"淹沒(méi)",從而造成幀的丟失而出錯(cuò)。由此可見(jiàn),流量控制實(shí)際上是對(duì)發(fā)送方數(shù)據(jù)流量的控制,使其發(fā)送速率不致超過(guò)接收方所能承受的能力。這個(gè)過(guò)程需要通過(guò)某種反饋機(jī)制使發(fā)送方知道接收方是否能跟得上發(fā)送方的速率。也即需要有一些規(guī)則使得發(fā)送方知道在什么情況下可以接著發(fā)送下一幀,而在什么情況下必須暫停發(fā)送,以等待收到某種反饋信息后再繼續(xù)發(fā)送。本節(jié)稍后將要介紹的XON/XOFF方案和窗口機(jī)制就是兩種常用的流量控制方法。

4.鏈路管理功能

鏈路管理功能主要用于面向連接的服務(wù)。在鏈路兩端的節(jié)點(diǎn)要進(jìn)行通信前,必須首先確認(rèn)對(duì)方已處于就緒狀態(tài),并交換一些必要的信息以對(duì)幀序號(hào)初始化,然后才能建立連接。在傳輸過(guò)程中則要維持該連接。如果出現(xiàn)差錯(cuò),需要重新初始化,重新自動(dòng)建立連接。傳輸完畢后則要釋放連接。數(shù)據(jù)鏈路層連接的建立,維持和釋放就稱做鏈路管理。在多個(gè)站點(diǎn)共享同一物理信道的情況下(例如在局域網(wǎng)中),如何在要求通信的站點(diǎn)間分配和管理信道也屬于數(shù)據(jù)鏈路層鏈路管理的范疇。

非常好我支持^.^

(4) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?