登錄

數(shù)據(jù)鏈路層

百科 > 計(jì)算機(jī) > 數(shù)據(jù)鏈路層

1.什么是數(shù)據(jù)鏈路層

  數(shù)據(jù)鏈路層是指OSI參數(shù)模型的第二層,它規(guī)定以太網(wǎng)的幀操作,該傳感器在工藝上將兩個(gè)特征一致的熱電元反向串聯(lián)或接成差動(dòng)平衡電路方式,因而能以非接觸式檢測(cè)出物體放出的紅外線能量變化 ,數(shù)據(jù)鏈路層故障包括由集線器、路由器、網(wǎng)絡(luò)測(cè)試儀提供的關(guān)于幀活動(dòng)和幀錯(cuò)誤的統(tǒng)計(jì)數(shù)據(jù),并將其轉(zhuǎn)換為電信號(hào)輸出。

2.數(shù)據(jù)鏈路層的內(nèi)容

  數(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ù)鏈路控制協(xié)議也稱(chēng)鏈路通信規(guī)程,也就是OSI參考模型中的數(shù)據(jù)鏈路層協(xié)議。鏈路控制協(xié)議可分為異步協(xié)議和同步協(xié)議兩大類(lèi)。數(shù)據(jù)鏈路層的主要協(xié)議有:

  (1)點(diǎn)對(duì)點(diǎn)協(xié)議(Point-to-PointProtocol);

  (2)以太網(wǎng)(Ethernet);

  (3)高級(jí)數(shù)據(jù)鏈路協(xié)議(High-LevelDataLinkProtocol);

  (4)幀中繼(FrameRelay);

  (5)異步傳輸模式(AsynchronousTransferMode)。

3.數(shù)據(jù)鏈路層的分類(lèi)

  數(shù)據(jù)鏈路層包含LLC邏輯鏈路層子層和MAC介質(zhì)訪問(wèn)控制子層兩個(gè)子層

  • 邏輯控制子層

  數(shù)據(jù)鏈路層的LLC子層用于設(shè)備間單個(gè)連接的錯(cuò)誤控制,流量控制。與MAC層不同,LLC和物理媒介全無(wú)關(guān)系。媒介是CSMA/CD的802.3還是802.5的令牌環(huán)都沒(méi)關(guān)系。它在LAN中是獨(dú)立的802.2。在LLC之上的網(wǎng)絡(luò)層可以是無(wú)連接、響應(yīng)的無(wú)連接或面向連接的不同業(yè)務(wù)。LLC用業(yè)務(wù)接入點(diǎn)SAP訪問(wèn)上層協(xié)議,有了SAP,站點(diǎn)就能在LLC層只用一個(gè)接口同時(shí)與幾個(gè)高層協(xié)議玩。一個(gè)SAP是簡(jiǎn)單的地址或協(xié)議ID,內(nèi)容則為空的LLC幀。LLC協(xié)議數(shù)據(jù)單元(LLCPDU)即LPDU。它包括:DSAP(目的SAP)/SSAP(源SAP);一個(gè)定義吞吐量優(yōu)先級(jí)的控制;和含帶數(shù)據(jù)的信息域。在接收方,DSAP例如協(xié)議ID就是消息要被遞送的,通常DSAP和SSAP是一樣的,因?yàn)閮啥酥挥性谕N協(xié)議間才能通信。例如當(dāng)SAP為AA,代表SNAP(子層接入?yún)f(xié)議)。SNAP是個(gè)非標(biāo)準(zhǔn)化的,或廠商特定的協(xié)議,用于接入?yún)f(xié)議的業(yè)務(wù)。例如當(dāng)SAP為06,則代表IP協(xié)議;當(dāng)SAP為FO,代表NetBIOS(網(wǎng)絡(luò)基本輸入/輸出協(xié)議)。SAP為FF表示廣播的Global協(xié)議。

  SNAP機(jī)制:規(guī)范種DSAP都只有一個(gè)字節(jié),那不足夠區(qū)分所有協(xié)議了。SNAP就來(lái)了,而且它支持在LLC幀上傳廠商的協(xié)議。這樣傳遞的協(xié)議就被放入所謂SNAP幀中了。SNAP”ㄍ酚形遄紙冢前三字節(jié)為廠商號(hào),后兩字節(jié)指示協(xié)議。以太網(wǎng)有兩種版本:IEEE(802.2、802.3);DIX(DEC、Intel、Xerox)又稱(chēng)V2以太網(wǎng)。DIX幀在源地址之后是兩字節(jié)的Type,例如IP。IEEE以太網(wǎng)幀,在源地址后是幀長(zhǎng)度指示,在隨后的數(shù)據(jù)域中才是標(biāo)準(zhǔn)的LPDU封裝,包括DSAP/SSAP/控制域/Data。在這個(gè)Data中會(huì)有協(xié)議ID、以太類(lèi)型指示,例如以太類(lèi)型806表示地址解析協(xié)議ARP。以太網(wǎng)卡通過(guò)跳針或軟件可以設(shè)置需要的以太網(wǎng)版本,DIX通常都設(shè)的,因?yàn)榇蠹s90%的網(wǎng)絡(luò)都用此版本。請(qǐng)注意網(wǎng)絡(luò)所有要通信的站點(diǎn)應(yīng)設(shè)成相同版本。

  • 介質(zhì)訪問(wèn)層

  介質(zhì)訪問(wèn)控制是解決當(dāng)局域網(wǎng)中共用信道的使用產(chǎn)生競(jìng)爭(zhēng)時(shí),如何分配信道的使用權(quán)問(wèn)題。邏輯鏈路Logical Links是實(shí)際電路或邏輯電路上交換通信信息的兩個(gè)端系統(tǒng)之間的一種協(xié)議驅(qū)動(dòng)通信會(huì)話。協(xié)議棧定義了兩個(gè)系統(tǒng)在某種介質(zhì)上的通信。在協(xié)議棧低層定義可用的多種不同類(lèi)型的通信協(xié)議,如局域網(wǎng)絡(luò)(LAN)、城域網(wǎng)(MAN)和象X.25或幀中繼這樣的分組交換網(wǎng)絡(luò)。邏輯鏈路在物理鏈路(可以是銅線、光纖或其他介質(zhì))上的兩個(gè)通信系統(tǒng)之間形成。根據(jù)OSI協(xié)議模型,這些邏輯鏈路只在物理層以上存在。你可以認(rèn)為邏輯鏈路是存在于網(wǎng)絡(luò)兩個(gè)末斷系統(tǒng)間的線路。面向連接服務(wù) 為了保證可靠的通信,需要建立邏輯線路,但在兩個(gè)端系統(tǒng)間要維持會(huì)話。面向需要應(yīng)答連接的服務(wù) 分組傳輸并有返回信號(hào)的邏輯線路。這種服務(wù)產(chǎn)生更大的開(kāi)銷(xiāo),但更加可靠。無(wú)應(yīng)答不連接服務(wù) 無(wú)需應(yīng)答和預(yù)先的傳送。在端系統(tǒng)間沒(méi)有會(huì)話。

  OSI協(xié)議棧中的數(shù)據(jù)鏈路層可進(jìn)一步細(xì)分為較低的介質(zhì)訪問(wèn)控制(MAC)子層和較高的邏輯鏈路控制(LLC)子層。當(dāng)它接收到一個(gè)分組后,它從MAC子層向上傳送。如果有多個(gè)網(wǎng)絡(luò)和設(shè)備相連,LLC層可能將分組送給另一個(gè)網(wǎng)絡(luò)。例如,在一個(gè)NetWare服務(wù)器上,你可能既安裝了以太網(wǎng)絡(luò)適配器又安裝了令牌網(wǎng)絡(luò)適配器,NetWare自動(dòng)地在連接到適配器的網(wǎng)絡(luò)間橋接,這樣原來(lái)在以太網(wǎng)上的分組就可以傳送到令牌網(wǎng)上的目的地了,LLC層就象網(wǎng)絡(luò)段間的交換或鏈路中繼,它將以太網(wǎng)的幀重裝成令牌環(huán)網(wǎng)的幀。

4.數(shù)據(jù)鏈路層的功能

  數(shù)據(jù)鏈路層的最基本的功能是向該層用戶(hù)提供透明的和可靠的數(shù)據(jù)傳送基本服務(wù)。透明性是指該層上傳輸?shù)?a href="/wiki/%E6%95%B0%E6%8D%AE" title="數(shù)據(jù)">數(shù)據(jù)的內(nèi)容、格式及編碼沒(méi)有限制,也沒(méi)有必要解釋信息結(jié)構(gòu)的意義;可靠的傳輸使用戶(hù)免去對(duì)丟失信息、干擾信息及順序不正確等的擔(dān)心。在物理層中這些情況都可能發(fā)生,在數(shù)據(jù)鏈路層中必須用糾錯(cuò)碼來(lái)檢錯(cuò)與糾錯(cuò)。數(shù)據(jù)鏈路層是對(duì)物理層傳輸原始比特流的功能的加強(qiáng),將物理層提供的可能出錯(cuò)的物理連接改造成為邏輯上無(wú)差錯(cuò)的數(shù)據(jù)鏈路,使之對(duì)網(wǎng)絡(luò)層表現(xiàn)為一無(wú)差錯(cuò)的線路。如果您想用盡量少的詞來(lái)記住數(shù)據(jù)鏈路層,那就是:“幀和介質(zhì)訪問(wèn)控制”。

  為了使傳輸中發(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ū)分出幀的起始與終止,這就是幀同步要解決的問(wèn)題。由于網(wǎng)絡(luò)傳輸中很難保證計(jì)時(shí)的正確和一致,所以不可采用依靠時(shí)間間隔關(guān)系來(lái)確定一幀的起始與終止的方法。

  (1)字節(jié)計(jì)數(shù)法:這是一種以一個(gè)特殊字符表示一幀的起始并以一個(gè)專(zhuān)門(mén)字段來(lái)標(biāo)明幀內(nèi)字節(jié)數(shù)的幀同步方法。接收方可以通過(guò)對(duì)該特殊字符的識(shí)別從比特流中區(qū)分出幀的起始并從專(zhuān)門(mén)字段中獲知該幀中隨后跟隨的數(shù)據(jù)字節(jié)數(shù),從而可確定出幀的終止位置。面向字節(jié)計(jì)數(shù)的同步規(guī)程的典型代表是DEC公司的數(shù)字?jǐn)?shù)據(jù)通信報(bào)文協(xié)議DDCMP(Digital Data Communications Message Protocol)。

  控制字符SOH標(biāo)志數(shù)據(jù)幀的起始。實(shí)際傳輸中,SOH前還要以?xún)蓚€(gè)或更多個(gè)同步字符來(lái)確定一幀的起始,有時(shí)也允許本幀的頭緊接著上幀的尾,此時(shí)兩幀間就不必再加同步字符。 count字段共有14位,用以指示幀中數(shù)據(jù)段中數(shù)據(jù)的字節(jié)數(shù),14位二進(jìn)制數(shù)的最大值為2-1=16383,所以數(shù)據(jù)最大長(zhǎng)度為8×16383=131064。DDCMP協(xié)議就是靠這個(gè)字節(jié)計(jì)數(shù)來(lái)確定幀的終止位置的。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ù),將造成災(zāi)難性的后果。由于采用字符計(jì)數(shù)方法來(lái)確定幀的終止邊界不會(huì)引起數(shù)據(jù)及其它信息的混淆,因而不必采用任何措施便可實(shí)現(xiàn)數(shù)據(jù)的透明性(即任何數(shù)據(jù)均可不受限制地傳輸)。

 ?。?)使用字符填充的首尾定界符法:該法用一些特定的字符來(lái)定界一幀的起始與終止,為了不使數(shù)據(jù)信息位中出現(xiàn)的與特定字符相同的字符被誤判為幀的首尾定界符,可以在這種數(shù)據(jù)字符前填充一個(gè)轉(zhuǎn)義控制字符(DLE)以示區(qū)別,從而達(dá)到數(shù)據(jù)的透明性。但這種方法使用起來(lái)比較麻煩,而且所用的特定字符過(guò)份依賴(lài)于所采用的字符編碼集,兼容性比較差。

 ?。?)使用比特填充的首尾標(biāo)志法:該法以一組特定的比特模式(如01111110)來(lái)標(biāo)志一幀的起始與終止。本章稍后要詳細(xì)介紹的HDLC規(guī)程即采用該法。為了不使信息位中出現(xiàn)的與特定比特模式相似的比特串被誤判為幀的首尾標(biāo)志,可以采用比特填充的方法。比如,采用特定模式01111110,則對(duì)信息位中的任何連續(xù)出現(xiàn)的五個(gè)“1”,發(fā)送方自動(dòng)在其后插入一個(gè)“0”,而接收則做該過(guò)程的逆操作,即每接收到連續(xù)五個(gè)“1”,則自動(dòng)刪去其后所跟的“0”,以此恢復(fù)原始信息,實(shí)現(xiàn)數(shù)據(jù)傳輸的透明性。比特填充很容易由硬件來(lái)實(shí)現(xiàn),性能優(yōu)于字符填充方法。

 ?。?)違法編碼法:該法在物理層采用特定的比特編碼方法時(shí)采用。例如,一種被稱(chēng)作曼徹斯特編碼的方法,是將數(shù)據(jù)比特“1”編碼成“高-低”電平對(duì),而將數(shù)據(jù)比特“0”編碼成“低-高”電平對(duì)。而“高-高”電平對(duì)和“低-低”電平對(duì)在數(shù)據(jù)比特中是違法的??梢越栌眠@些違法編碼序列來(lái)定界幀的起始與終止。局域網(wǎng)IEEE 802標(biāo)準(zhǔn)中就采用了這種方法。違法編碼法不需要任何填充技術(shù),便能實(shí)現(xiàn)數(shù)據(jù)的透明性,但它只適用于采用冗余編碼的特殊編碼環(huán)境。由于字節(jié)計(jì)數(shù)法中COUNT字段的脆弱性以及字符填充法實(shí)現(xiàn)上的復(fù)雜性和不兼容性,目前較普遍使用的幀同步法是比特填充和違法編碼法。

  • 差錯(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ā)送多次,就可能引起接收方多次收到同一幀并將其遞交給網(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ò)層一次。

  • 流量控制

  流量控制并不是數(shù)據(jù)鏈路層所特有的功能,許多高層協(xié)議中也提供流時(shí)控功能,只不過(guò)流量控制的對(duì)象不同而已。比如,對(duì)于數(shù)據(jù)鏈路層來(lái)說(shuō),控制的是相鄰兩節(jié)點(diǎn)之間數(shù)據(jù)鏈路上的流量,而對(duì)于運(yùn)輸層來(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ù)連路層連接的建立維持和釋放就稱(chēng)作鏈路管理。在多個(gè)站點(diǎn)共享同一物理信道的情況下(例如在LAN中)如何在要求通信的站點(diǎn)間分配和管理信道也屬于數(shù)據(jù)鏈路層管理的范疇。

評(píng)論  |   0條評(píng)論