計算機網(wǎng)絡(luò)
本文為計算機網(wǎng)絡(luò)相關(guān)考試的書本內(nèi)容詳細總結(jié)
數(shù)據(jù)鏈路層 Data Link Layer之前專欄分享過自頂向下的分析方法,本文采用常規(guī)的自底向上的方法從物理層到應(yīng)用層對計算機網(wǎng)絡(luò)相關(guān)的內(nèi)容、概念進行系統(tǒng)復習,總結(jié);而計算類型題目本文暫不涉及
本文內(nèi)容來自cfeng自我理解,可能有誤,歡迎指正~
物理層的物理鏈路Link是一條點到點的物理線路,中間沒有交換結(jié)點, 一條物理鏈路只是一條物理路徑的組成部分
數(shù)據(jù)鏈路 data Link: 除了物理的鏈路之外,還需要有通信協(xié)議控制物理鏈路的數(shù)據(jù)傳輸,如果把實現(xiàn)這些協(xié)議的硬件和軟件加到倆路上,就構(gòu)成數(shù)據(jù)鏈路
數(shù)據(jù)鏈路層的主要功能: 將不可靠的物理鏈路轉(zhuǎn)為可靠的數(shù)據(jù)鏈路,數(shù)據(jù)鏈路(邏輯鏈路) = 物理鏈路 + 數(shù)據(jù)鏈路層的通信協(xié)議
一般的適配器都是包含了數(shù)據(jù)鏈路層和物理層的功能
鏈路層的主要設(shè)備就是二層交換機、網(wǎng)橋,鏈路層的數(shù)據(jù)PDU為幀F(xiàn)rame
鏈路層的三個基本問題:成幀規(guī)則、 差錯控制(檢錯糾錯)、流量控制
相關(guān)概念術(shù)語 link 鏈路一個結(jié)點到相鄰結(jié)點的物理鏈路
data link 數(shù)據(jù)鏈路把實現(xiàn)控制數(shù)據(jù)傳輸?shù)膮f(xié)議的硬件和軟件加到鏈路上構(gòu)成數(shù)據(jù)鏈路; link + 通信協(xié)議
幀 frame一個數(shù)據(jù)鏈路層的傳輸單元, 由一個數(shù)據(jù)鏈路層的首部和攜帶的數(shù)據(jù)加上尾部構(gòu)成的協(xié)議數(shù)據(jù)單元
MTU maximum transfer Unit 大傳送單元幀的數(shù)據(jù)部分的長度上限 【移動通信中針對MAC層數(shù)據(jù)分布占比不到一半,有相關(guān)幀聚合和塊確認技術(shù)】
PPP point to point Protcol 點對點協(xié)議用戶計算機和ISP進行通信時,使用的數(shù)據(jù)鏈路層協(xié)議,PPP規(guī)定的數(shù)據(jù)幀結(jié)構(gòu):首部、數(shù)據(jù)部分、尾部
只是檢錯,不糾錯,不進行流量控制,可以支持多種網(wǎng)絡(luò)層協(xié)議,PPPoE為寬帶上網(wǎng)的主機使用的鏈路層協(xié)議
媒體訪問控制,設(shè)備的物理地址,硬件地址, 定義網(wǎng)絡(luò)設(shè)備的位置,網(wǎng)絡(luò)層負責管理IP地址,鏈路層管理的就是MAC地址,一個主機只會有一個MAC地址, 每個網(wǎng)絡(luò)位置有一個專屬IP地址 【所以主從架構(gòu)時,clone虛擬機后,需要修改網(wǎng)卡,其中除了IP,最主要就是MAC地址需要重新NAT分配】
網(wǎng)橋 bridge物理層應(yīng)對信號衰減使用中繼器,網(wǎng)橋就是在鏈路層實現(xiàn)中繼的設(shè)備,連接兩個及以上的局域網(wǎng)的網(wǎng)絡(luò)互聯(lián)設(shè)備
交換機 switch廣義上的交換機指的是通信系統(tǒng)中完成信息交換的設(shè)備,在這里二層交換機時工作在數(shù)據(jù)鏈路層的集線器, 實質(zhì)就是一個多接口的網(wǎng)橋 【 物理層的設(shè)備為集線器】; 三層交換機可以工作在網(wǎng)絡(luò)層
成幀 規(guī)則成幀規(guī)則是數(shù)據(jù)鏈路層需要研究的問題,封裝成幀framing: 在IP分組前后分別添加首部后尾部,構(gòu)成一個幀,例如PPP協(xié)議定義的
成幀定界構(gòu)成幀之后需要考慮幀如何定界,也就是幀開始和幀結(jié)束,常用的定界方法:
字符計數(shù)法發(fā)送放利用首部的一個字段作為幀長字段,按字符計數(shù), 幀長字段 = 幀包含的字符數(shù) + 1
接收方利用幀長字段接收,計算得知結(jié)束位置
如果幀長字段出現(xiàn)錯誤,造成后面所有的數(shù)據(jù)都接收錯誤,無法檢錯,無法糾錯; 只是適合高可靠鏈路
字符填充分界符法面向字符同步傳輸, 一次發(fā)送一個數(shù)據(jù)塊幀, 每一幀**使用兩個不同的特殊字符作為開始和結(jié)束的標志
如果數(shù)據(jù)幀丟失了標志字符,下一個幀還是可以正確接收, PPP協(xié)議的簡化
數(shù)據(jù)部分不會出現(xiàn)SOH和EOH等定界控制字符, 但是如果出現(xiàn)了非文本文件數(shù)據(jù),可能會出現(xiàn)SOH和EOH的字符,造成定界錯誤
解決辦法就是數(shù)據(jù)部分的SOH和EOH字符前面都統(tǒng)一加上ESC轉(zhuǎn)義字符【和java中處理一樣】
零比特填充分界符法面向bit流的同步傳阿叔,數(shù)據(jù)庫包含任意長度和組合的bit流, 和上面的字符填充分界法類似,只需要在開始和結(jié)束填充特殊的位模式(01111110), 通過該模式識別邊界
兩個數(shù)據(jù)幀只需要一個位模式, 如果丟失,只需要在數(shù)據(jù)流中掃描下一個位模式
物理層編碼違例法數(shù)據(jù)為不可能出現(xiàn)bit編碼作為幀起始或者結(jié)束定界符
比如曼徹斯特編碼,一個碼元中間電平跳變表示0,正向跳變; 1 負向跳變; 差分曼徹斯特編碼: 中間比跳變, 0表示開始有跳變,1表示開始無跳變
比如 4B/5B 編碼方案: 4bit映射為5bit, 剩余的一半16bit可以作為幀定界符
差錯控制通信的任務(wù)是高效無差錯傳送數(shù)據(jù),但是任何通信線路都不可避免出現(xiàn)噪聲
信道中的比特差錯: 隨機差錯(隨機熱噪聲)、 突發(fā)差錯(沖擊噪聲)
突發(fā)差錯的長度: 差錯發(fā)生的第一個碼元到有錯的最后一個碼元間所有碼元個數(shù);
誤碼率P = 錯誤bit數(shù)/ 總bit數(shù) 【碼元數(shù)】
差錯檢查差錯控制編碼: 數(shù)據(jù)位k + 校驗位r, 數(shù)據(jù)幀中有校驗字段
校驗碼分為檢錯碼和糾錯碼
編碼效率R = k / k + r; 也就是編碼中數(shù)據(jù)位所占的比例
漏檢率: 某bit位出錯但接收者無法檢測到的概率
常見的檢錯碼:
奇偶校驗: 1位奇偶校驗
增加1位 校驗位, 使數(shù)據(jù) + 校驗位的1的個數(shù)為奇數(shù)或者偶數(shù)
簡單校驗和: 主要用于TCP/IP的網(wǎng)絡(luò)層和傳輸層
發(fā)送方進行16位二進制補碼求和運算,計算結(jié)果取反, 隨數(shù)據(jù)一同發(fā)送,接收方也會16位二進制補碼求和運算(包含校驗和), 結(jié)果不是全1,那么錯誤【正負得0】
循環(huán)冗余校驗 CRC: 數(shù)據(jù)鏈路層廣泛使用
發(fā)送方將要方式弄個得數(shù)據(jù)位被除數(shù)(左移m位),選擇一個預定的二進制數(shù)(m + 1位)作為除數(shù), 利用二進制模2除法運算得到一個余數(shù),作為CRC校驗碼,一起發(fā)送給接收方, 接收方以發(fā)送的數(shù)據(jù) - CRC校驗碼位被除數(shù),選同樣的二進制碼作為除數(shù),余數(shù)為0,表明無錯,注意CRC運算 模2除法3規(guī)則就可以快速計算
預定的二進制碼(除數(shù)),國際編碼,不是任意的,最高位和最低位為1,以多項式表示,G(x), 發(fā)送數(shù)據(jù)長度大于生成多項式表示的二進制碼長度
CRC-8 : G(x) = X^8 + X^2 + x + 1 ----- 100000111
除數(shù)的位數(shù)等于最高次冪 + 1; 比如這里就是9位, 然后x^8 x^2 x^0(1),表示從右邊0位開始第幾位為1, 這里就是0,1,2,8位
被除數(shù)移動 最高次 冪位,這里移動8位
CRC計算: D = 1010001101 , M = 5, G = X^5 + X^4 + X^2 + 1, R = ?, 實際傳輸數(shù)據(jù)是?
這里除數(shù)G = 110101
數(shù)據(jù)D 左移M位,就是5位, 101000110100000
CRC 模2 除法:
首先需要注意:
>模2減法: 異或操作, 被除數(shù) 和 商 * 除數(shù) 的減法 是 異或操作 【相同得0,相異得1】
>所得余數(shù)都需要舍棄首位
>若被除數(shù) 以及 之后舍去首位的余數(shù)R 的首位為1 , 商1; 首位為0,商0
1 1 0 1 0 1 0 1 1 0
————————————————————————————————
1 0 1 0 0 0 1 1 0 1 0 0 0 0 0
1 1 0 1 0 1
—————————————————————————————————————— 這里被除數(shù)首位為1,商1,之后異或
1 1 1 0 1 1 1 0 1 0 0 0 0 0 舍去首位,現(xiàn)在的R首位1,商1
1 1 0 1 0 1
————————————————————————————————————
0 1 1 1 0 1 0 1 0 0 0 0 0 異或之后舍去首位,現(xiàn)在R首位0,商0
0 0 0 0 0 0
——————————————————————————————————————
1 1 1 0 1 0 1 0 0 0 0 0 商0之后異或就是被除數(shù)舍去首位即可, 商1
1 1 0 1 0 1
————————————————————————————————————————————
0 1 1 1 1 1 0 0 0 0 0 首位0,商0, 直接去掉首位
👇
1 1 1 1 1 0 0 0 0 0 首位1,商1
1 1 0 1 0 1
——————————————————————————————————————
0 1 0 1 1 0 0 0 0 首位0,商0
↓
1 0 1 1 0 0 0 0 首位1,商1
1 1 0 1 0 1
————————————————————————————————————————
1 1 0 0 1 0 0 首位1,商1
1 1 0 1 0 1
————————————————————————————————————
0 0 1 1 1 0 首位0,商0
↓
0 1 1 1 0 【5位,和M一樣,不需要再除】
所以余數(shù)就是 0 1 1 1 0, 放在D的后面5位替代之前的全0
被除數(shù)首位為1時,商為1;被除數(shù)首位為0時,商為0;
每一步得到的余數(shù)都要拋棄首位;
若新的被除數(shù)首位(即已拋棄首位的余數(shù))為0,除數(shù)為0;
余數(shù)位最高次冪位,M位,不夠前面補0
可以檢測出全部單一位出現(xiàn)差錯, r為生成G(X最高冪次,CRC可以檢測出突發(fā)差錯長度小于等于R的所有突發(fā)性錯誤
糾錯機制為了解決發(fā)送方的發(fā)送速率和接收方交付速率的匹配問題,一般采用: 利用接收方交付速率控制發(fā)送方的發(fā)送速率,鏈路層采用 固定大小的滑動窗口
連續(xù)ARQ協(xié)議: 后退N幀協(xié)議和選擇重發(fā)協(xié)議,實現(xiàn)流量控制 + 差錯控制
固定大小滑動窗口奇數(shù)包括: 停止-等待協(xié)議、后退N幀協(xié)議、選擇重發(fā)協(xié)議
停止-等待協(xié)議 WT = 1 W R = 1不進行流量控制,發(fā)送方將所有數(shù)據(jù)全部發(fā)送給接收方,需要接收隊列足夠大, 進行流量控制之后【隊列有限】, 發(fā)送一個Data后需要返回ACK,再發(fā)送下一個幀
重發(fā)定時器不能設(shè)定時間過短,不然還沒有ACK幀還沒有受到久發(fā)送下一幀數(shù)據(jù), 停止-等待協(xié)議引入1bit 的序號字段解決; 數(shù)據(jù)幀的每一個序號 都是0,1交替出現(xiàn)在數(shù)據(jù)幀中
但是這里的缺點就是效率低, 連續(xù)ARQ協(xié)議: 發(fā)送方在等待接收方返回第一個ACK應(yīng)答前,再連續(xù)發(fā)送7個幀
后退N幀協(xié)議 WT >1 WR = 1 連續(xù)ARQ發(fā)送方可以一次性發(fā)送多個幀,同時等待ACK應(yīng)答,
發(fā)送方發(fā)送一個幀后,不會停下來等待ACK,而是可以連續(xù)再發(fā)送若干數(shù)據(jù),同時啟動重發(fā)定時器;
如果重發(fā)定時器超時前,受到ACK,繼續(xù)發(fā)送后面的數(shù)據(jù)幀, 如果沒有受到,那么從該幀到后面繼續(xù)發(fā)送的所有幀都重發(fā)
就是發(fā)送方和接收方都有一個窗口,發(fā)送方只能發(fā)送窗口內(nèi)的數(shù)據(jù)幀,對發(fā)送端進行速率控制
窗口大?。?在沒有受到ACK之前發(fā)送方最多可以發(fā)送的幀的個數(shù)
接收窗口控制接收方接收哪個數(shù)據(jù)幀, 只有數(shù)據(jù)幀號和接收窗口序號一致才會接收,否則丟棄, 正確處理,交付上層,窗口向前移動,發(fā)送ACK
接收方累計確認: ACKn表示確認n-1號幀,希望下次受到n號幀
接收窗口,就是一個Index從0號幀開始向后移動, 準備接收Index位置的幀
后退N幀協(xié)議中,序號字段為Kbit位, 則幀序號空間為[0, 2^K -1]; 從0開始
比如3bit, 那么窗口序號空間0 ----- 7, 大發(fā)送7個幀保證不出錯
選擇重發(fā)協(xié)議 WT >1 WR >1選擇重發(fā)協(xié)議的發(fā)送窗口和后退N幀協(xié)議一樣,但是接收窗口長度大于1,一次可以接收多個幀
如果接收的4號幀出錯,只是對4號幀重傳, ==選擇重發(fā)協(xié)議,發(fā)送窗口大值<= ^k - 1,和上面的要求一樣,這樣才能保證正確
可以看到上面三種協(xié)議:
停止-等待協(xié)議,序號比特位1, 序號空間[0,1], 發(fā)送窗口和接收窗口大小都是1
而后退N幀協(xié)議,接收
而選擇重發(fā)協(xié)議 K, 2^k -1 ,發(fā)送窗口和接收窗口大小都是2^K -1
HDLC 協(xié)議數(shù)據(jù)鏈路層的協(xié)議需求: 發(fā)送方和接收方的標識,支持可靠性通信,支持點到點,支持半雙工和全雙工操作
停止-等待協(xié)議效率低, 面向bit 型協(xié)議 數(shù)據(jù)幀通用,效率高
HDLC協(xié)議: 高效率、高可靠性,傳輸任意bit
正常響應(yīng)方式NRM: 非平衡式鏈路結(jié)構(gòu),只有得到主站允許,才能傳送數(shù)據(jù),傳送完成之后停止
異步響應(yīng)方式ARM: 適用于非平衡鏈路結(jié)構(gòu),次站不一定在接收到主站允許即可進行數(shù)據(jù)傳輸,次站可以一次發(fā)送多幀,將自己的信息發(fā)送給主站
異步平衡方式ABM: 適用于平衡鏈路結(jié)構(gòu),復合站自主決定數(shù)據(jù)傳輸,不需要得到另外一個復合站的允許,可以發(fā)送狀態(tài)信息和數(shù)據(jù)
HDLC的單位為Frame
組地址(點到多點): 一個地址可以分配給多個站點
廣播地址(點到多點): 全1 , 鏈路所有站點都可以受到
地址全0, 不分配給任何站點,測試使用
語義: 數(shù)據(jù)幀類型HDLC利用控制字段前兩個bit位定義三種類型幀:
I 幀 (信息幀): 可靠通信時數(shù)據(jù)幀,面向連接
S 幀 ( 監(jiān)控幀) : 實現(xiàn)流量控制和差錯控制
U幀 ( 無編號U幀): 設(shè)置鏈路操作方式
同步: 事件順序鏈路的建立和拆除
確認可靠通信服務(wù)
選擇重發(fā)
數(shù)據(jù)幀的封裝/拆封
LAN1 ---->路由器【 以太口 ETH IP HDLC 串口】 ---->WAN --->路由器【...】 ---->LAN2
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁名稱:【計算機網(wǎng)絡(luò)】計算機網(wǎng)絡(luò)復習總結(jié)-----鏈路層-創(chuàng)新互聯(lián)
URL鏈接:http://chinadenli.net/article22/dsgpcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、微信小程序、虛擬主機、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容