數(shù)據(jù)鏈路層的功能
差錯(cuò)控制一個(gè)實(shí)用的通信系統(tǒng)必須具備發(fā)現(xiàn)(即檢測(cè))這種差錯(cuò)的能力,并采取某種措施糾正之,使差錯(cuò)被控制在所能允許的盡可能小的范圍內(nèi),這就是差錯(cuò)控制過(guò)程,也是數(shù)據(jù)鏈路層的主要功能之一。對(duì)差錯(cuò)編碼(如奇偶校驗(yàn)碼,檢查和或CRC)的檢查,可以判定一幀在傳輸過(guò)程中是否發(fā)生了錯(cuò)誤。一旦發(fā)現(xiàn)錯(cuò)誤,一般可以采用反饋重發(fā)的方法來(lái)糾正。這就要求接收方收完一幀后,向發(fā)送方反饋一個(gè)接收是否正確的信息,使發(fā)送方所在此作出是不需要重新發(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ā)送多次。為了防止發(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ò)層一次。
流量控制流量控制并不是數(shù)據(jù)鏈路層所特有的功能,許多高層協(xié)議中也提供流時(shí)控功能,只不過(guò)流量控制的對(duì)象不同而已。比如,對(duì)于數(shù)據(jù)鏈路層來(lái)說(shuō),控制的是相鄰兩節(jié)點(diǎn)之間數(shù)據(jù)鏈路上的流量,而對(duì)于傳輸層來(lái)說(shuō),控制的則是從源到最終目的之間端的流量。由于收發(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ā)送。
鏈路管理功能主要用于面向連接的服務(wù)。當(dāng)鏈路兩端的節(jié)點(diǎn)要進(jìn)行通信前,必須首先確認(rèn)對(duì)方已處于就緒狀態(tài),并交換一些必要的信息以對(duì)幀序號(hào)初始化,然后才能建立連接,在傳輸過(guò)程中則要能維持該連接。如果出現(xiàn)差錯(cuò),需要重新初始化,重新自動(dòng)建立連接。傳輸完畢后則要釋放連接。數(shù)據(jù)連路層連接的建立維持和釋放就稱作鏈路管理。在多個(gè)站點(diǎn)共享同一物理信道的情況下(例如在LAN中)如何在要求通信的站點(diǎn)間分配和管理信道也屬于數(shù)據(jù)鏈路層管理的范疇。
異步協(xié)議以字符為獨(dú)立的信息傳輸單位,在每個(gè)字符的起始處開(kāi)始對(duì)字符內(nèi)的比特實(shí)現(xiàn)同步,但字符與字符之間的間隔時(shí)間是不固定的(即字符之間是異步的)。由于發(fā)送器和接收器中近似于同 一頻率的兩個(gè)約定時(shí)鐘,能夠在一段較短的時(shí)間內(nèi)保持同步,所以可以用字符起始處同步的時(shí)鐘來(lái)采樣該字符中的各比特,而不需要每個(gè)比特再用其它方法同步。異步協(xié)議中因?yàn)槊總€(gè)傳輸字符都要添加諸如起始位、校驗(yàn)位及停止位等冗余位,故信道利用率很低,一般用于數(shù)據(jù)速率較低的場(chǎng)合。
同步協(xié)議同步協(xié)議是以許多字符或許多比特組織成的數(shù)據(jù)塊——幀為傳輸單位,在幀的起始處同步,使幀內(nèi)維持固定的時(shí)鐘。實(shí)際上該固定時(shí)鐘是發(fā)送端通過(guò)某種技術(shù)將其混合在數(shù)據(jù)中一并發(fā)送出去的,供接收端從輸入數(shù)據(jù)中分離出時(shí)鐘來(lái),實(shí)現(xiàn)起來(lái)比較復(fù)雜,這個(gè)功能通常是由解調(diào)器來(lái)完成。由于采用幀為傳輸單位,所以同步協(xié)議能更有效地利用信道,也便于實(shí)現(xiàn)差錯(cuò)控制、流量控制等功能。同步協(xié)議又可分為面向字符的同步協(xié)議、面向比特的同步協(xié)議及面向字節(jié)計(jì)數(shù)的同步協(xié)議三種類型。