數(shù)據(jù)鏈路層基本概念
結(jié)點(diǎn):主機(jī)、路由器儒搭。
鏈路:網(wǎng)絡(luò)中兩個(gè)結(jié)點(diǎn)之間的物理通道,鏈路的傳輸介質(zhì)主要有雙絞線芙贫、光纖和微波搂鲫。分為有線鏈路、無(wú)線鏈路磺平。
數(shù)據(jù)鏈路:網(wǎng)絡(luò)中兩個(gè)結(jié)點(diǎn)之間的邏輯通道魂仍,把實(shí)現(xiàn)控制數(shù)據(jù)傳輸協(xié)議的硬件和軟件加到鏈路上就構(gòu)成數(shù)據(jù)鏈路。
幀:鏈路層的協(xié)議數(shù)據(jù)單元拣挪,封裝網(wǎng)絡(luò)層數(shù)據(jù)報(bào)擦酌。
數(shù)據(jù)鏈路層負(fù)責(zé)通過(guò)一條鏈路從一個(gè)結(jié)點(diǎn)向另一個(gè)物理鏈路直接相連的相鄰結(jié)點(diǎn)傳送數(shù)據(jù)報(bào)
數(shù)據(jù)鏈路層功能
-
數(shù)據(jù)鏈路層在物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的服務(wù)是將源自網(wǎng)絡(luò)層的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層菠劝。其主要作用是加強(qiáng)物理層傳輸原始比特流的功能赊舶,將物理層提供的可能出錯(cuò)的物理連接改造成為邏輯上無(wú)差錯(cuò)的數(shù)據(jù)鏈路,使之對(duì)網(wǎng)絡(luò)層表現(xiàn)為一條無(wú)差錯(cuò)的鏈路赶诊。秘書檢測(cè)物理層保證上層正確接收
功能一:為網(wǎng)絡(luò)層提供服務(wù)笼平。無(wú)確認(rèn)無(wú)連接服務(wù),有確認(rèn)無(wú)連接服務(wù)舔痪,有確認(rèn)面向連接服務(wù)寓调。【有鏈接一定有確認(rèn)】
功能二:鏈路管理锄码,即連接的建立捶牢、維持、釋放(用于面向連接的服務(wù))巍耗。
功能三:組幀。
功能四:流量控制渐排【嫣【限制發(fā)送方】
功能五:差錯(cuò)控制(幀錯(cuò)/位錯(cuò))。
封裝成幀
封裝成幀就是在一段數(shù)據(jù)的前后部分添加首部和尾部驯耻,這樣就構(gòu)成了一個(gè)幀亲族。接收端在收到物理層上交的比特流后炒考,就能根據(jù)首部和尾部標(biāo)記,從收到的比特流中識(shí)別幀的開始和結(jié)束霎迫。首部和尾部包含許多的控制信息斋枢,他們的一個(gè)重要作用:幀定界(確定幀的界限)。
幀同步:接收方應(yīng)當(dāng)能從接收到的二進(jìn)制比特流中區(qū)分出幀的起始和終止知给。
組幀的四種方法
-
字符計(jì)數(shù)法錯(cuò)一個(gè)就基本全錯(cuò)
-
字符(節(jié))填充法 容易誤會(huì)瓤帚,得填充ESC后面直接當(dāng)數(shù)據(jù)接收
-
零比特填充法不錯(cuò)
-
違規(guī)編碼法局域網(wǎng)IEEEE802就采用這個(gè)方法
差錯(cuò)
概括來(lái)說(shuō),傳輸中的差錯(cuò)都是由于噪聲引起的涩赢。
全局性 1.由于線路本身電氣特性所產(chǎn)生的隨機(jī)噪聲(熱噪聲)戈次,是信道固有的,隨機(jī)存在的筒扒。解決辦法:提高信噪比來(lái)減少或避免干擾怯邪。(對(duì)傳感器下手)
局部性:2.外界特定的短暫原因所造成的沖擊噪聲,是產(chǎn)生差錯(cuò)的主要原因花墩。解決方法:通常利用編碼技術(shù)來(lái)解決悬秉。
數(shù)據(jù)鏈路層的差錯(cuò)控制
差錯(cuò)控制
檢錯(cuò)編碼
奇偶校驗(yàn)碼
--若發(fā)送前后1個(gè)數(shù)的奇偶性都變了那說(shuō)明有問(wèn)題冰蘑。
--奇校驗(yàn)保證由奇數(shù)個(gè)1
--偶校驗(yàn)保證由偶數(shù)個(gè)1
也有缺陷- 循環(huán)冗余碼CRC
就是利用余數(shù)和泌,也就是除法,大概驗(yàn)證了每一位懂缕;也可能出錯(cuò)允跑,但是概率會(huì)小一些接收端
糾錯(cuò)碼
海明碼 工作原理:動(dòng)一發(fā)而牽全身
1.確定校驗(yàn)碼位數(shù)r
2.確定校驗(yàn)碼和數(shù)據(jù)位置
3.求出校驗(yàn)碼的值我自己練了,并不難
4.檢錯(cuò)并糾錯(cuò)本應(yīng)異或?yàn)榱愕囊来斡?jì)算還是否為0搪柑,逆序?qū)懗龆M(jìn)制轉(zhuǎn)十進(jìn)制就是出錯(cuò)位數(shù)聋丝,至于原理我只懂個(gè)大概,如果感興趣可以自己研究一下工碾,應(yīng)該并不難弱睦,也可以在評(píng)論區(qū)對(duì)我進(jìn)行指導(dǎo)
編碼VS編碼
數(shù)據(jù)鏈路層編碼和物理層的數(shù)據(jù)編碼與調(diào)制不同。物理層編碼針對(duì)的是單個(gè)比特渊额,解決傳輸過(guò)程中比特的同步等問(wèn)題况木,如曼徹斯特編碼。
而數(shù)據(jù)鏈路層的編碼針對(duì)的是一組比特旬迹,它通過(guò)冗余碼的技術(shù)實(shí)現(xiàn)一組二進(jìn)制比特串在傳輸過(guò)程是否出現(xiàn)了差錯(cuò)火惊。
在數(shù)據(jù)發(fā)送之前,先按某種關(guān)系附加上一定的冗余位奔垦,構(gòu)成一個(gè)符合某一規(guī)則的碼字后再發(fā)送屹耐。當(dāng)要發(fā)送的有效數(shù)據(jù)變化時(shí),相應(yīng)的冗余位也隨之變化椿猎,使碼字遵從不變的規(guī)則惶岭。接收端根據(jù)收到的碼字是否符合原規(guī)則寿弱,從而判斷是否出錯(cuò)。冗余編碼
流量控制與可靠傳輸機(jī)制
數(shù)據(jù)鏈路層的流量控制
- 較高的發(fā)送速度和較低的接受能力的不匹配症革,會(huì)造成傳輸出錯(cuò),因此流量控制也是數(shù)據(jù)鏈路層的一項(xiàng)重要工作鸯旁。
- 數(shù)據(jù)鏈路層的流量控制是點(diǎn)對(duì)點(diǎn)的噪矛,而傳輸層的流量控制是端到端的。
- 數(shù)據(jù)鏈路層流量控制手段:接收方收不下就不回復(fù)確認(rèn)羡亩。
傳輸層流量控制手段:接收端給發(fā)送端一個(gè)窗口公告摩疑。
流量控制的方法
- 停止-等待協(xié)議
每發(fā)送完一個(gè)幀就停止發(fā)送,等待對(duì)方的確認(rèn)畏铆,在收到確認(rèn)后再發(fā)送下一個(gè)幀雷袋。 -
滑動(dòng)窗口協(xié)議123
對(duì)比
可靠傳輸:發(fā)送端發(fā)啥,接收端收啥辞居。
停止等待協(xié)議屬于那一層瓦灶?
1.為什么要有停止等待協(xié)議鸠删?
除了比特差錯(cuò),底層信道還會(huì)出現(xiàn)丟包問(wèn)題贼陶。為了實(shí)現(xiàn)流量控制刃泡。
丟包:物理線路故障括堤、設(shè)備故障宫莱、病毒攻擊菱涤、路由信息錯(cuò)誤等原因黑滴、會(huì)導(dǎo)致數(shù)據(jù)包的丟失。
2.研究停等協(xié)議的前提训措?
雖然現(xiàn)在常用全雙工通信方式掠归,但為了討論問(wèn)題方便掀亩,僅考慮一方發(fā)送數(shù)據(jù)(發(fā)送方)芹啥,一方接收數(shù)據(jù)(接收方)锻离。
因?yàn)槭窃谟懻摽煽總鬏數(shù)脑恚圆⒉豢紤]數(shù)據(jù)是在哪一層上傳輸?shù)摹?/p>
“停止-等待”就是每發(fā)送一個(gè)分組就停止發(fā)送墓怀,等對(duì)方確認(rèn)汽纠,在收到確認(rèn)后再發(fā)送下一個(gè)分組。
3.停等協(xié)議有幾種應(yīng)用情況傀履?
信道利用率:發(fā)送放在一個(gè)發(fā)送周期內(nèi),有效地發(fā)送數(shù)據(jù)所需要的時(shí)間占整個(gè)發(fā)送周期的比率。
信道利用率 :(L/C)/T
信道吞吐率:信道利用率×發(fā)送方的發(fā)送速率傳輸時(shí)延/(傳輸時(shí)延+2傳播時(shí)延)
后退N幀協(xié)議(GBN)中的滑動(dòng)窗口
發(fā)送窗口:發(fā)送方維持一組連續(xù)的允許發(fā)送的幀的序號(hào)卧秘。
GBN發(fā)送方必須響應(yīng)的三件事
- 上層的調(diào)用
上層要發(fā)送數(shù)據(jù)時(shí)翅敌,發(fā)送方先檢查發(fā)送窗口是否已滿,如果未滿惕蹄,則產(chǎn)生一個(gè)幀并將其發(fā)送蚯涮;如果窗口已滿,發(fā)送方只需將數(shù)據(jù)返回給上層卖陵,暗示上層窗口已滿遭顶。上層等一會(huì)再發(fā)送。(實(shí)際實(shí)現(xiàn)中泪蔫,發(fā)送方可以緩存這些數(shù)據(jù)棒旗,窗口不滿時(shí)再發(fā)送幀)- 收到了一個(gè)ACK
GBN協(xié)議中,對(duì)n號(hào)幀的確認(rèn)采用累積確認(rèn)的方式撩荣,標(biāo)明接收方已經(jīng)收到n號(hào)幀和它之前的全部幀铣揉。- 超時(shí)事件
協(xié)議的名字為后退N幀/回退N幀,來(lái)源于出現(xiàn)丟失和時(shí)延過(guò)長(zhǎng)幀時(shí)發(fā)送方的行為餐曹。就像在停等協(xié)議中一樣逛拱,定時(shí)器將再次用于恢復(fù)數(shù)據(jù)幀或確認(rèn)幀的丟失。如果出現(xiàn)超時(shí)台猴,發(fā)送方重傳所有已發(fā)送但未被確認(rèn)的幀朽合。
滑動(dòng)窗口長(zhǎng)度GBN接收方要做的事
- 如果正確收到n號(hào)幀,并且按序饱狂,那么接收方為n幀發(fā)送一個(gè)ACK曹步,并將該幀中的數(shù)據(jù)部分交付給上層。
- 其余情況都丟棄幀嗡官,并為最近按序接收的幀重新發(fā)送ACK箭窜。接收方無(wú)需緩存任何失序幀,只需要維護(hù)一個(gè)信息:expectedseqnum(下一個(gè)按序接收的幀序號(hào))衍腥。
若采用n個(gè)比特對(duì)幀編號(hào)磺樱,那么發(fā)送窗口的尺寸WT應(yīng)滿足:1≤WT≤2^n-1。因?yàn)榘l(fā)送窗口尺寸過(guò)大婆咸,就會(huì)使得接收方無(wú)法區(qū)別新幀和舊幀竹捉。
GBN協(xié)議重點(diǎn)總結(jié)
1.累計(jì)確認(rèn)(偶爾稍待確認(rèn))
2.接收方只按序接收幀,不按序無(wú)情丟棄尚骄。
GBN協(xié)議性能分析
優(yōu)點(diǎn):因連續(xù)發(fā)送數(shù)據(jù)而提高了信道利用率状蜗。
缺點(diǎn):在重傳時(shí)必須把原來(lái)已經(jīng)正確傳送的數(shù)據(jù)幀重傳,使傳送效率降低鹉动。
選擇重傳協(xié)議
對(duì)于GBN的丟棄行為能不能做個(gè)改善轧坎?從而只重傳出錯(cuò)的幀。
解決辦法:設(shè)置單個(gè)確認(rèn)泽示,同時(shí)加大接受窗口缸血,設(shè)置接收緩存,緩存亂序到達(dá)的幀械筛。
SR發(fā)送方必須響應(yīng)的三件事
- 上層的調(diào)用
從上層收到數(shù)據(jù)后捎泻,SR發(fā)送方檢查下一個(gè)可用于該幀的序號(hào),如果序號(hào)位于發(fā)送窗口內(nèi)埋哟,則發(fā)送數(shù)據(jù)幀笆豁;否則就像GBN一樣,要么將數(shù)據(jù)緩存定欧,要么返回給上層之后再傳輸渔呵。收到了一個(gè)ACK
如果收到ACK,加入該幀序號(hào)在窗口內(nèi)砍鸠,則SR發(fā)送方將那個(gè)被確認(rèn)的幀標(biāo)記為已接收扩氢。如果該序號(hào)是窗口的下界(最左邊第一個(gè)窗口對(duì)應(yīng)的序號(hào)),則窗口向前移動(dòng)到具有最小序號(hào)的未確認(rèn)幀處爷辱。如果窗口移動(dòng)了并且有序號(hào)在窗口內(nèi)的未發(fā)送幀录豺,則發(fā)送這些幀。
雖然只收到ACK2饭弓,但是3綠了双饥,窗口直接移到3后面- 超時(shí)事件
每個(gè)幀都有自己的定時(shí)器,一個(gè)超時(shí)事件發(fā)生后只重傳一個(gè)幀弟断。
發(fā)送窗口最好等于接收窗口检碗。(大了會(huì)溢出,小了沒意義)GBN接收方要做的事
來(lái)者不拒(窗口內(nèi)的幀)
SR接收方確認(rèn)一個(gè)正確接收的幀而不管其是否按序咏花。失序的幀將被緩存,并返回給發(fā)送方一個(gè)該幀的確認(rèn)幀【收誰(shuí)確認(rèn)誰(shuí)】阀趴,直到所有幀(即序號(hào)更小的幀)皆被收到為止昏翰,這時(shí)才可以將一批幀按序交付給上層,然后向前移動(dòng)滑動(dòng)窗口刘急。
如果收到了窗口序號(hào)外(小于窗口下界)的幀棚菊,就返回一個(gè)ACK。其他情況叔汁,就忽略該幀统求。動(dòng)態(tài)理解
SR協(xié)議重點(diǎn)
1.對(duì)數(shù)據(jù)幀逐一確認(rèn)码邻,收一個(gè)確認(rèn)一個(gè)折剃。
2.只重傳出錯(cuò)幀。
3.接收方有緩存像屋。
4.WTmax=WRmax=2^(n-1)
傳輸數(shù)據(jù)使用的兩條鏈路
點(diǎn)對(duì)點(diǎn)鏈路:兩個(gè)相鄰節(jié)點(diǎn)通過(guò)一個(gè)鏈路相連微驶,沒有第三者。
應(yīng)用:PPP協(xié)議开睡,常用于廣域網(wǎng)。
廣播式鏈路:所有主機(jī)共享通信介質(zhì)苟耻。
應(yīng)用:早期的總線以太網(wǎng)篇恒、無(wú)線局域網(wǎng),常用于局域網(wǎng)凶杖。
典型拓?fù)浣Y(jié)構(gòu):總線型胁艰、星型(邏輯總線型)
鏈路層設(shè)備
鏈路層擴(kuò)展以太網(wǎng)【網(wǎng)橋和交換機(jī)】
網(wǎng)橋根據(jù)MAC幀的目的地址對(duì)幀進(jìn)行轉(zhuǎn)發(fā)和過(guò)濾腾么,并不向所有接口轉(zhuǎn)發(fā)此幀,而是先檢查此幀的目的MAC地址杈湾,然后再確定將該幀轉(zhuǎn)發(fā)到哪一個(gè)接口解虱,或者是把它丟棄(即過(guò)濾)
網(wǎng)段:一般指一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中使用同一物理層設(shè)備(傳輸介質(zhì)漆撞,中繼器殴泰,集線器等)能夠直接通訊的那一部分。
網(wǎng)橋的優(yōu)點(diǎn):
1.過(guò)濾通信量浮驳,增大吞吐量悍汛。
2.擴(kuò)大了物理范圍。
3.提高了可靠性至会。
4.可互連不同物理層离咐、不同MAC子層和不同速率的以太網(wǎng)。
網(wǎng)橋分類
-
透明網(wǎng)橋:“透明”指以太網(wǎng)上的站點(diǎn)并不知道所發(fā)送的幀將經(jīng)過(guò)哪幾個(gè)網(wǎng)橋奉件,是一種即插即用設(shè)備--自學(xué)習(xí)宵蛀。自學(xué)習(xí)--自己填路由轉(zhuǎn)發(fā)表
- 源路由網(wǎng)橋:在發(fā)送幀時(shí),把詳細(xì)的最佳路由信息(路由最少/時(shí)間最短)放在幀的首部中瓶蚂。
方法:源站以廣播方式向欲通信的目的站發(fā)送一個(gè)發(fā)現(xiàn)幀糖埋。
多接口網(wǎng)橋--以太網(wǎng)交換機(jī)
以太網(wǎng)交換機(jī)的兩種交換方式 - 直通式交換機(jī): 查完目的地址(6B)就立刻轉(zhuǎn)發(fā)。
延遲小窃这,可靠性低瞳别,無(wú)法支持具有不同速率的端口的交換征候。
存儲(chǔ)轉(zhuǎn)發(fā)式交換機(jī):將幀放入高速緩存,并檢查是否正確祟敛,正確則轉(zhuǎn)發(fā)疤坝,錯(cuò)誤則丟棄。
延遲大馆铁,可靠性高跑揉,可以支持具有不同速率的端口的交換。