什么是OSI模型數(shù)據(jù)鏈路層
什么是OSI模型數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層最基本的服務是將源機網絡層來的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點的目標機網絡層。為達到這一目的,數(shù)據(jù)鏈路層必須具備一系列相應的功能,它們主要有:如何將數(shù)據(jù)組合成數(shù)據(jù)塊,在數(shù)據(jù)鏈路層中將這種數(shù)據(jù)塊稱為幀(Fram),幀是數(shù)據(jù)鏈路層的傳送單位;如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯,如何調節(jié)發(fā)送速率以使之與接收方相匹配;在兩個網絡實體之間提供數(shù)據(jù)鏈路通路的建立、維持和釋放管理。
1.幀同步功能
為了使傳輸中發(fā)生差錯后只將出錯的有限數(shù)據(jù)進行重發(fā),數(shù)據(jù)鏈路層將比特流組織成以幀為單位傳送。幀的組織結構必須設計成使接收方能夠明確地從物理層收到的比特流中對其進行識別,也即能從比特流中區(qū)分出幀的起始與終止,這就是幀同步要解決的問題。由于網絡傳輸中很難保證計時的正確和一致,所以不能采用依靠時間間隔關系來確定一幀的起始與終止的方法。下面介紹幾種常用的幀同步法。
(1)字節(jié)計數(shù)法。這種幀同步方法以一個特殊字符表征一幀的起始,并以一個專門字段來標明幀內的字節(jié)數(shù)。接收方可以通過對該特殊字符的識別從比特流中區(qū)分出幀的起始,并從專門字段中獲知該幀中隨后跟隨的數(shù)據(jù)字節(jié)數(shù),從而可確定出幀的終止位置。
面向字節(jié)計數(shù)的同步規(guī)程的典型實例是DEC公司的數(shù)字數(shù)據(jù)通信報文協(xié)議DDcmp(Digital Data Communications Message Protocol)o DDcmP采用的幀格式如下:
格式中控制字符SOH標志數(shù)據(jù)幀的起始。 Count字段共有14位,用以指示幀中數(shù)據(jù)段中數(shù)據(jù)的字節(jié)數(shù),數(shù)據(jù)段最大長度為8×(214-1)=131064位,長度必須為字節(jié)(EP 8位)的整倍數(shù),DDCMP協(xié)議就是靠這個字節(jié)計數(shù)來確定幀的終止位置的。 DDCMP幀格式中的Ack、seg、addr及Flag中的第2位,它們的功能分別類似于本節(jié)稍后要詳細介紹的hdlC中的N(R)、N(S)、Addr字段及P/F位。 CRC1、CRC2分別對標題部分和數(shù)據(jù)部分進行雙重校驗,強調標題部分單獨校驗的原因是,一旦標題部分中的Count字段出錯,即失卻了幀邊界劃分的依據(jù),將造成災難性的后果。
由于采用字符計數(shù)方法來確定幀的終止邊界不會引起數(shù)據(jù)及其它信息的混淆,因而不必采用任何措施便可實現(xiàn)數(shù)據(jù)的透明性,即任何數(shù)據(jù)均可不受限制地傳輸。
(2)使用字符填充的首尾定界符法。該法用一些特定的字符來定界一幀的起始與終止,本節(jié)稍后要介紹的部C規(guī)程便是典型例子。為了不使數(shù)據(jù)信息位中出現(xiàn)的與特定字符相同的字符被誤判為幀的首尾定界符,可以在這種數(shù)據(jù)字符前填充一個轉義控制字符(DLE)以示區(qū)別,從而達到數(shù)據(jù)的透明性。但這種方法使用起來比較麻煩,而且所用的特定字符依賴于所采用的字符編碼集,兼容性比較差。
(3)使用比特填充的首尾標志法。該法以一組特定的比特模式(如01111110)來標志一幀的起始與終止。本節(jié)稍后要詳細介紹的E由LC規(guī)程即采用該法。為了不使信息位中出現(xiàn)的與該特定比特模式相似的比特串被誤判為幀的首尾標志,可以采用比特填充的方法。比如,采用特定模式01111110,則對信息位中的任何連續(xù)出現(xiàn)的5個"1",發(fā)送方自動在其后插入一個"0",而接收方則做該過程的逆操作,即每接收到連續(xù)5個"1",則自動刪去其后所跟的"0",以此恢復原始信息,實現(xiàn)數(shù)據(jù)傳輸?shù)耐该餍?。比特填充很容易?a target="_blank">硬件來實現(xiàn),性能優(yōu)于字符填充方法。
(4)違法編碼法。該法在物理層采用特定的比特編碼方法時采用。例如,曼徹斯特編碼方法,是將數(shù)據(jù)比特"1"編碼成"高一低"電平對,將數(shù)據(jù)比特"0"編碼成"低一高"電平對。而"高一高"電平對和"低低"電平對在數(shù)據(jù)比特中是違法的??梢越栌眠@些違法編碼序列來定界幀的起始與終止。局域IEEE802標準中就采用了這種方法。違法編碼法不需要任何填充技術,便能實現(xiàn)數(shù)據(jù)的透明性,但它只適用于采用冗余編碼的特殊編碼環(huán)境。
由于字節(jié)計數(shù)法中Count字段的脆弱性(其值若有差錯將導致災難性后果)以及字符填充法實現(xiàn)上的復雜性和不兼容性,目前較普遍使用的幀同步法是比特填充法和違法編碼法。
2.差錯控制功能
通信系統(tǒng)必須具備發(fā)現(xiàn)(即檢測)差錯的能力,并采取措施糾正之,使差錯控制在所能:允許的盡可能小的范圍內,這就是差錯控制過程,也是數(shù)據(jù)鏈路層的主要功能之一。
接收方通過對差錯編碼(如奇偶校驗碼或αC碼)的檢查,可以判定一幀在傳輸過程中是否發(fā)生了差錯。一旦發(fā)現(xiàn)差錯,一般可以采用反饋重發(fā)的方法來糾正。這就要求接收方收完一幀后,向發(fā)送方反饋一個接收是否正確的信息,使發(fā)送方據(jù)此做出是否需要重新發(fā)送的決定。發(fā)送方僅當收到接收方已正確接收的反饋信號后才能認為該幀已經正確發(fā)送完畢,否則需重發(fā)直至正確為止。
物理信道的突發(fā)噪聲可能完全"淹沒"一幀,即使得整個數(shù)據(jù)幀或反饋信息幀丟失,這將導致發(fā)送方永遠收不到接收方發(fā)來的反饋信息,從而使傳輸過程停滯。為了避免出現(xiàn)這種情況,通常引人計時器(Timer)來限定接收方發(fā)回反饋信息的時間間隔,當發(fā)送方發(fā)送一幀的同時也啟動計時器,若在限定時間間隔內未能收到接收方的反饋信息,即計時器超時(Timeout,則可認為傳出的幀已出錯或丟失,就要重新發(fā)送。
由于同一幀數(shù)據(jù)可能被重復發(fā)送多次,就可能引起接收方多次收到同一幀并將其遞交給網絡層的危險。為了防止發(fā)生這種危險,可以采用對發(fā)送的幀編號的方法,即賦予每幀一個序號,從而使接收方能從該序號來區(qū)分是新發(fā)送來的幀還是已經接收但又重新發(fā)送來的幀,以此來確定要不要將接收到的幀遞交給網絡層。數(shù)據(jù)鏈路層通過使用計數(shù)器和序號來保證每幀最終都能被正確地遞交給目標網絡層一次。
3.流量控制功能
首先需要說明一下,流量控制并不是數(shù)據(jù)鏈路層特有的功能,許多高層協(xié)議中也提供流量控制功能,只不過流量控制的對象不同而已。比如,對于數(shù)據(jù)鏈路層來說,控制的是相鄰兩節(jié)點之間數(shù)據(jù)鏈路上的流量,而對于運輸層來說,控制的則是從源到最終目的之間端對端的流量。
由于收發(fā)雙方各自使用的設備工作速率和緩沖存儲空間的差異,可能出現(xiàn)發(fā)送方發(fā)送能力大于接收方接收能力的現(xiàn)象,若此時不對發(fā)送方的發(fā)送速率(也即鏈路上的信息流量)做適當?shù)南拗?前面來不及接收的幀將被后面不斷發(fā)送來的幀"淹沒",從而造成幀的丟失而出錯。由此可見,流量控制實際上是對發(fā)送方數(shù)據(jù)流量的控制,使其發(fā)送速率不致超過接收方所能承受的能力。這個過程需要通過某種反饋機制使發(fā)送方知道接收方是否能跟得上發(fā)送方的速率。也即需要有一些規(guī)則使得發(fā)送方知道在什么情況下可以接著發(fā)送下一幀,而在什么情況下必須暫停發(fā)送,以等待收到某種反饋信息后再繼續(xù)發(fā)送。本節(jié)稍后將要介紹的XON/XOFF方案和窗口機制就是兩種常用的流量控制方法。
4.鏈路管理功能
鏈路管理功能主要用于面向連接的服務。在鏈路兩端的節(jié)點要進行通信前,必須首先確認對方已處于就緒狀態(tài),并交換一些必要的信息以對幀序號初始化,然后才能建立連接。在傳輸過程中則要維持該連接。如果出現(xiàn)差錯,需要重新初始化,重新自動建立連接。傳輸完畢后則要釋放連接。數(shù)據(jù)鏈路層連接的建立,維持和釋放就稱做鏈路管理。在多個站點共享同一物理信道的情況下(例如在局域網中),如何在要求通信的站點間分配和管理信道也屬于數(shù)據(jù)鏈路層鏈路管理的范疇。
非常好我支持^.^
(4) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 思爾芯出席Arm Tech Symposia,創(chuàng)新解決方案助力Arm架構前端驗證 2023-10-18
- [電子說] SIMATIC S7-1500 PLC的通信及其應用—OSI參考模型 2023-10-17
- [電子說] 構建企業(yè)可持續(xù)發(fā)展生態(tài),中易騰達與Atmosic達成戰(zhàn)略合作 2023-10-16
- [電子說] serialX的posix接口測試 2023-10-13
- [電子說] 面試官:你背誦一下,OSI七層網絡模型 2023-10-09
- [電子說] DoIP系統(tǒng)物理層和數(shù)據(jù)鏈路層 2023-10-07
- [接口/總線/驅動] POSIX接口標準示例指南筆記 2023-09-27
- [電子說] 誠邀報名|GOSIM Workshop重磅來襲,60+熱點議題點燃開源新時代 2023-09-19
( 發(fā)表人:admin )