0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)鏈路層的三個基本問題

工程師 ? 來源:未知 ? 作者:姚遠(yuǎn)香 ? 2019-02-27 15:10 ? 次閱讀

一、封裝成幀

封裝成幀就是在一段數(shù)據(jù)的前后分別添加首部和尾部,這樣就構(gòu)成了一個幀。接收端在收到物理層上交的比特流后,就能根據(jù)首部和尾部的標(biāo)記,從比特流中識別幀的開始和結(jié)束。

數(shù)據(jù)鏈路層的三個基本問題

首部和尾部的一個重要作用就是進行幀定界(即確定幀的界限)。此外,首部和尾部還包括許多必要的控制信息。 為了提高幀的傳輸效率,應(yīng)當(dāng)使幀的數(shù)據(jù)部分長度盡量大于首部和尾部的長度。最大傳輸單元MTU:幀數(shù)據(jù)部分長度上限。

當(dāng)數(shù)據(jù)是由可打印的ASCII碼組成的文本文件時,幀定界可以使用特殊的幀定界符。ASCII碼是7位編碼,一共可以組合成128個不同的ASCII碼,其中可打印的有95個,而不可打印的控制字符有33個。(可打印的字符就是可以在鍵盤上輸入的字符,我們使用的標(biāo)準(zhǔn)鍵盤有47個鍵可輸入94個字符,包括使用shift鍵,加上空格鍵,一共可以輸入95個可打印字符)

控制字符SOH放在一幀的最前面,表示幀的首部開始。另一個控制字符EOT表示幀的結(jié)束。注意:SOH和EOT都只是控制字符的名稱,他們的十六進制編碼分別是01(二進制是00000001)和04(二進制是00000100)。SOH,EOT 并不是S O H E O T這幾個字符,只是名字而已。當(dāng)傳輸中出現(xiàn)差錯,幀定界符的作用更加明顯。假設(shè)未發(fā)送完一個幀而發(fā)生故障,接收端就知道收到的數(shù)據(jù)是不完整的幀(只有首部),必須丟棄。

二、透明傳輸

當(dāng)傳送的幀是用文本文件組成的幀時(文本文件中的字都是從鍵盤上輸入的),其數(shù)據(jù)部分顯然不會出現(xiàn)像SOH或EOT這樣的幀定界控制字符。可見不管從鍵盤上輸入什么字符都可以放在這樣的幀中傳輸過去,因此這樣的傳輸就是透明傳輸。

數(shù)據(jù)鏈路層的三個基本問題

但當(dāng)數(shù)據(jù)部分是非ASCII碼的文本文件時(如二進制代碼的計算機程序或者圖像等),情況就不同了。如果數(shù)據(jù)中的某個字節(jié)的二進制代碼恰好和SOH或EOT這種控制字符一樣,數(shù)據(jù)鏈路層就好錯誤地“找到幀的邊界”,把部分幀收下(誤以為是個完整的幀),而把剩下的那部分?jǐn)?shù)據(jù)丟棄(這部分找不到幀定界控制字符SOH)。這種情況就不是透明傳輸,因為當(dāng)遇到書中碰巧出現(xiàn)字符“EOT”時就傳不過去了,而其后面的數(shù)據(jù)因找不到“SOH”被接收端當(dāng)做無效幀而丟棄。但實際上數(shù)據(jù)中出現(xiàn)的字符“EOT”并非控制字符而僅僅是二進制數(shù)據(jù)00000100 。

為了解決透明傳輸問題,字節(jié)填充法或字符填充:在控制字符SOH、EOT的前面插入一個轉(zhuǎn)義字符ESC(其十六進制編碼是1B,二進制是00011011)。而接收端的數(shù)據(jù)鏈路層在把數(shù)據(jù)送往網(wǎng)絡(luò)層之前刪除這個插入的轉(zhuǎn)義字符。

三、差錯檢測

現(xiàn)實的通信鏈路都不會是理想的。傳輸過程中,1可能變成0, 0 可能變成1 。這就叫比特差錯——誤碼率。 誤碼率和信噪比有很大的關(guān)系。因此,在計算機網(wǎng)絡(luò)傳輸數(shù)據(jù)時,必須采用各種差錯控制技術(shù)。目前在數(shù)據(jù)鏈路層廣泛使用了循環(huán)冗余檢驗(CRC)的檢錯技術(shù)。

在數(shù)據(jù)鏈路層的CRC檢驗都是用硬件完成的,處理很迅速,因此不會延誤數(shù)據(jù)的傳輸。為什么數(shù)據(jù)鏈路層要以幀為單位來傳送數(shù)據(jù)呢?因為如果不以幀為單位,就無法加入冗余碼來進行差錯檢驗。傳輸差錯分為兩類:一類就是前面所說的最基本的比特差錯。第二類:收到的幀出現(xiàn)了幀丟失、幀重復(fù)和幀失序。(停止等待協(xié)議,ARQ)。數(shù)據(jù)鏈路層并不需要給網(wǎng)絡(luò)層提供“可靠傳輸”的服務(wù)。過去OSI的觀點是:必須讓數(shù)據(jù)鏈路層向上提供可靠傳輸。因此在CRC的基礎(chǔ)上,增加了幀編號、確認(rèn)和重傳機制。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    PCIE數(shù)據(jù)鏈路層架構(gòu)解析

    PCIe的數(shù)據(jù)鏈路層在事務(wù)層和物理層之間,用來負(fù)責(zé)鏈路管理,其主要功能是保證來自事務(wù)層的TLP在PCIe鏈路中的正確傳輸,為此數(shù)據(jù)鏈路層定義了一系列的DLLP報文,數(shù)據(jù)鏈路層使用了容錯和重傳機制保證
    的頭像 發(fā)表于 11-05 17:06 ?407次閱讀
    PCIE<b class='flag-5'>數(shù)據(jù)鏈路層</b>架構(gòu)解析

    CAN總線協(xié)議的數(shù)據(jù)鏈路層有哪些部分

    CAN(Controller Area Network)總線協(xié)議的數(shù)據(jù)鏈路層是CAN通信中至關(guān)重要的一部分,它負(fù)責(zé)在物理層之上實現(xiàn)數(shù)據(jù)的可靠傳輸。數(shù)據(jù)鏈路層不僅管理著幀的同步、差錯控制、流量控制等關(guān)鍵功能,還通過仲裁機制確保多個
    的頭像 發(fā)表于 09-03 14:14 ?710次閱讀

    可調(diào)變阻器三個引腳怎么區(qū)分

    可調(diào)變阻器,也稱為電位器或可變電阻器,是一種可以調(diào)節(jié)電阻值的電子元件。它廣泛應(yīng)用于各種電子設(shè)備中,如音頻設(shè)備、電源管理、電機控制等??烧{(diào)變阻器有三個引腳,分別是固定端、滑動端和可調(diào)端。這三個引腳
    的頭像 發(fā)表于 07-24 11:12 ?1411次閱讀

    求助,wifi的smart config是用802.11的數(shù)據(jù)鏈路層幀實現(xiàn)的嗎?

    請問wifi的smart config是用802.11的數(shù)據(jù)鏈路層幀實現(xiàn)的嗎?
    發(fā)表于 06-19 07:37

    微波測量的三個基本參量是什么

    微波測量是電子工程領(lǐng)域中的一重要分支,它涉及到對微波信號的頻率、幅度、相位等參數(shù)的測量。在微波測量中,有三個基本參量:頻率、幅度和相位。這三個參量是微波信號的基本特征,對于微波系統(tǒng)的設(shè)計、調(diào)試
    的頭像 發(fā)表于 05-28 14:46 ?1484次閱讀

    三個3輸入正與非門CD74AC10 數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《三個3輸入正與非門CD74AC10 數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-22 10:52 ?0次下載
    <b class='flag-5'>三個</b>3輸入正與非門CD74AC10 <b class='flag-5'>數(shù)據(jù)</b>表

    三個3輸入正與非門CD74ACT10 數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《三個3輸入正與非門CD74ACT10 數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-22 10:29 ?0次下載
    <b class='flag-5'>三個</b>3輸入正與非門CD74ACT10 <b class='flag-5'>數(shù)據(jù)</b>表

    三個3輸入正-非門SN54F27數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《三個3輸入正-非門SN54F27數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-16 09:52 ?0次下載
    <b class='flag-5'>三個</b>3輸入正-非門SN54F27<b class='flag-5'>數(shù)據(jù)</b>表

    三個3輸入正與非門數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《三個3輸入正與非門數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-13 10:18 ?0次下載
    <b class='flag-5'>三個</b>3輸入正與非門<b class='flag-5'>數(shù)據(jù)</b>表

    籬笆三個樁——記晶體極管的發(fā)明

    籬笆三個樁——記晶體極管的發(fā)明
    的頭像 發(fā)表于 05-12 08:14 ?832次閱讀
    一<b class='flag-5'>個</b>籬笆<b class='flag-5'>三個</b>樁——記晶體<b class='flag-5'>三</b>極管的發(fā)明

    三個3輸入正與門SN54F11數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《三個3輸入正與門SN54F11數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-11 10:58 ?0次下載
    <b class='flag-5'>三個</b>3輸入正與門SN54F11<b class='flag-5'>數(shù)據(jù)</b>表

    三個3輸入正NAND門數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《三個3輸入正NAND門數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-10 10:09 ?0次下載
    <b class='flag-5'>三個</b>3輸入正NAND門<b class='flag-5'>數(shù)據(jù)</b>表

    在STM32F407官方LWIP例程中,怎樣修改把需要發(fā)送的數(shù)據(jù)直接由應(yīng)用層映射到數(shù)據(jù)鏈路層?

    STM32F407 以太網(wǎng)DMA數(shù)據(jù)發(fā)送問題,最近在做一關(guān)于電網(wǎng)IEC61850通信項目,其中9-2SV協(xié)議要求應(yīng)用層數(shù)據(jù)直接映射到數(shù)據(jù)鏈路層,不需經(jīng)表示層、會話層、傳輸層、網(wǎng)絡(luò)層;
    發(fā)表于 04-29 06:21

    中繼器工作在什么網(wǎng)絡(luò)的什么層?是數(shù)據(jù)鏈路層嗎?

    中繼器工作在什么網(wǎng)絡(luò)的什么層?是數(shù)據(jù)鏈路層嗎? 中繼器是一種網(wǎng)絡(luò)設(shè)備,用于將信號從一網(wǎng)絡(luò)傳輸?shù)搅硪?b class='flag-5'>個網(wǎng)絡(luò)。它工作在物理層,而不是數(shù)據(jù)鏈路層。本文將詳細(xì)介紹中繼器的工作原理、用途以及與
    的頭像 發(fā)表于 02-20 15:08 ?2262次閱讀

    WiFi協(xié)議如何進行數(shù)據(jù)交換和通信

    WiFi協(xié)議棧主要包括三個層次:物理層(PHY)、數(shù)據(jù)鏈路層(DLL)和網(wǎng)絡(luò)層(NET)。每個層次都有其特定的功能和協(xié)議。
    的頭像 發(fā)表于 02-19 17:04 ?1713次閱讀
    WiFi協(xié)議如何進行<b class='flag-5'>數(shù)據(jù)</b>交換和通信