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