计算机网路【2】数据链路层
結(jié)點(diǎn):主機(jī)、路由器
鏈路:兩個(gè)節(jié)點(diǎn)的物理通道
數(shù)據(jù)鏈路:邏輯通道,把實(shí)現(xiàn) 控制數(shù)據(jù)傳輸協(xié)議的硬件和軟件加到鏈路上就構(gòu)成數(shù)據(jù)鏈路
幀:鏈路層的協(xié)議數(shù)據(jù)單元,封裝網(wǎng)絡(luò)層數(shù)據(jù)報(bào)
數(shù)據(jù)鏈路層在物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的功能是將源自網(wǎng)絡(luò)層來(lái)的數(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ò)的鏈路。
功能:
- 為網(wǎng)絡(luò)層提供服務(wù)。無(wú)確認(rèn)無(wú)連接服務(wù),有確認(rèn)無(wú)連接服務(wù),有確認(rèn)有面向連接服務(wù)。有連接一定有確認(rèn)
- 鏈路管理,即連接的建立、維持、釋放(用于面向連接的服務(wù))
- 組幀
- 流量控制
- 差錯(cuò)控制(幀錯(cuò)/位錯(cuò))
封裝成幀和透明傳輸
封裝成幀:在首部和尾部添加幀定界符,確定幀的界限
幀同步:接收方能從接收的二進(jìn)制比特流中區(qū)分出幀的起始和終止
最大傳送單元MTU:數(shù)據(jù)部分不能超過(guò)MTU
組幀的四種方法:
透明傳輸:不管數(shù)據(jù)是什么樣的比特組合都應(yīng)當(dāng)能夠在鏈路上傳送。
字符計(jì)數(shù)法
幀首部使用一個(gè)計(jì)數(shù)字段(第一個(gè)字節(jié),八位)來(lái)標(biāo)明幀內(nèi)字符數(shù)
缺點(diǎn):如果計(jì)數(shù)字段發(fā)生錯(cuò)誤,那么全部都會(huì)出錯(cuò)
字符填充法
零比特填充法
違規(guī)編碼法
差錯(cuò)控制
奇偶校驗(yàn)碼
CRC循環(huán)冗余碼
使用循環(huán)冗余碼保證(幾乎)無(wú)比特差錯(cuò)接收,不能實(shí)現(xiàn)可靠傳輸
可靠傳輸:保證發(fā)送的數(shù)據(jù)都能夠被接收到
海明碼
發(fā)現(xiàn)雙比特錯(cuò),糾正單比特錯(cuò)
海明不等式:2k?k+r+12^k \geqslant k+r+12k?k+r+1,其中r是冗余碼位數(shù),k是信息位數(shù)
流量控制、可靠傳輸機(jī)制
流量控制:較高的發(fā)送速度和較低的接受能力的不匹配會(huì)造成傳輸出錯(cuò),因此需要進(jìn)行控制。
鏈路層的流量控制是點(diǎn)對(duì)點(diǎn)的,而傳輸層的流量控制是端到端的。
數(shù)據(jù)鏈鏈路層流量控制的手段:接收方收不下就不回復(fù)確認(rèn)幀。
傳輸層流量控制手段:接收端發(fā)送一個(gè)窗口公告,告訴發(fā)送方應(yīng)該發(fā)送的窗口的大小
流量控制的方法:
- 停止-等待協(xié)議:每發(fā)送一個(gè)幀就停止發(fā)送,等待對(duì)方的確認(rèn),收到確認(rèn)之后再發(fā)送下一個(gè)幀。
- 滑動(dòng)窗口協(xié)議:后退N幀協(xié)議(GBN)、選擇重傳協(xié)議(SR)
停止-等待協(xié)議是一種特殊的滑動(dòng)窗口協(xié)議
窗口大小都是固定的,在傳輸層的窗口大小是變化的。
可靠傳輸:發(fā)送端發(fā)啥,接收端收啥
流量控制:控制發(fā)送速率,使接收方有足夠的緩沖空間來(lái)接收每一個(gè)幀
停止-等待協(xié)議
信道利用率:發(fā)送方在一個(gè)發(fā)送周期內(nèi),有效地發(fā)送數(shù)據(jù)所需要時(shí)間占 整個(gè)發(fā)送周期的比率。
如果沒(méi)有說(shuō)明確認(rèn)幀的發(fā)送時(shí)延就忽略不計(jì)。
浪費(fèi)資源
后退N幀(GBN)協(xié)議
GBN協(xié)議中,對(duì)n號(hào)幀的確認(rèn)采用累積確認(rèn)的方式,標(biāo)明接收方已經(jīng)收到n號(hào)幀和它之前的全部幀。
發(fā)送方:
如果超時(shí)會(huì)重發(fā)所有已經(jīng)發(fā)送但是沒(méi)有確定的幀。
接收方
滑動(dòng)窗口長(zhǎng)度
滑動(dòng)窗口長(zhǎng)度不能過(guò)大,如果采用n個(gè)比特對(duì)幀編號(hào)(即窗口中最多有2n2^n2n個(gè)幀),則發(fā)送窗口的尺寸W應(yīng)該1?W?2n?11\leqslant W \leqslant 2^n-11?W?2n?1。因?yàn)榘l(fā)送窗口尺寸過(guò)大會(huì)導(dǎo)致接收方無(wú)法區(qū)別新幀和舊幀。無(wú)法確定是因?yàn)榕f幀的ACK丟失導(dǎo)致發(fā)送方又發(fā)送了一遍舊幀還是發(fā)送方正常收到了ACK正常發(fā)送新幀。
重點(diǎn):
- 累計(jì)確認(rèn)(偶爾捎帶確認(rèn),如果接收方也發(fā)送數(shù)據(jù)的話可以將確認(rèn)幀放在需要發(fā)送的數(shù)據(jù)中)
- 接收方只按順序接收幀,不按序無(wú)情丟棄。(如果接收的幀不是想要的那個(gè)就扔掉)
- 確認(rèn)序列號(hào)最大的、按序到達(dá)的幀
- 發(fā)送窗口最大為2n?12^n-12n?1,接收窗口為1.是固定的(和傳輸層的不同)
性能分析
優(yōu)點(diǎn):因連續(xù)發(fā)送數(shù)據(jù)幀而提高了信道利用率
缺點(diǎn):在重傳時(shí)必須把原來(lái)已經(jīng)正確傳送的數(shù)據(jù)幀重傳,降低傳送效率
選擇重傳(SR)協(xié)議
發(fā)送方
接收方
滑動(dòng)窗口長(zhǎng)度
發(fā)送窗口最好等于接收窗口,最大為2n?12^{n-1}2n?1
重點(diǎn):
- 對(duì)數(shù)據(jù)幀逐一確認(rèn),接收一個(gè)確認(rèn)一個(gè)
- 只重傳出錯(cuò)幀
- 接收方有緩存
介質(zhì)訪問(wèn)控制
- 點(diǎn)對(duì)點(diǎn)鏈路:兩個(gè)相鄰節(jié)點(diǎn)通過(guò)一個(gè)鏈路相連,沒(méi)有第三者。應(yīng)用:PPP協(xié)議,常用于廣域網(wǎng)
- 廣播式鏈路:所有主機(jī)共享通信介質(zhì)。應(yīng)用:早期的總線以太網(wǎng)、無(wú)線局域網(wǎng)
典型拓?fù)浣Y(jié)構(gòu):總線型、星型(邏輯總線型)
介質(zhì)訪問(wèn)控制:采取一定的措施,使得兩對(duì)節(jié)點(diǎn)之間的通信不會(huì)相互干擾
信道劃分介質(zhì)訪問(wèn)控制(靜態(tài)劃分信道)
將使用介質(zhì)的每個(gè)設(shè)備與來(lái)自同一信道上的其他設(shè)備的通信隔離開(kāi),把時(shí)域和頻域資源合理地分配給網(wǎng)絡(luò)上的設(shè)備
多路復(fù)用技術(shù):把多個(gè)信號(hào)組合再一條物理信道上進(jìn)行傳輸,使得多個(gè)計(jì)算機(jī)或中斷共享信道資源,實(shí)際就是把廣播信道轉(zhuǎn)變成點(diǎn)對(duì)點(diǎn)通信。
頻分多路復(fù)用FDM
時(shí)分多路復(fù)用TDM
改進(jìn)的時(shí)分復(fù)用:統(tǒng)計(jì)時(shí)分復(fù)用STDM
波分多路復(fù)用WDM
就是光的頻分多路復(fù)用
碼分多路復(fù)用CDM
碼分多址(CDMA)是碼分多路復(fù)用的一種方式
每一個(gè)站點(diǎn)被指定一個(gè)唯一的m位芯片序列,就是1代表的序列,0是1的反碼。
為了避免沖突,要求各個(gè)站點(diǎn)的芯片序列的規(guī)格化內(nèi)積為0.
發(fā)送數(shù)據(jù)的時(shí)候?qū)⒏鱾€(gè)站點(diǎn)的數(shù)據(jù)線性相加
等發(fā)送到目的站點(diǎn)以后,再求相加后的向量和對(duì)應(yīng)站點(diǎn)的芯片序列的規(guī)格化內(nèi)積。1表示1,-1表示0
動(dòng)態(tài)分配信道(動(dòng)態(tài)媒體接入控制/多點(diǎn)接入)
特點(diǎn):信道并非在用戶通信時(shí)固定分配給用戶
隨機(jī)訪問(wèn)介質(zhì)訪問(wèn)控制
所有用戶可隨機(jī)發(fā)送信息,發(fā)送信息時(shí)占用全部帶寬
ALOHA協(xié)議
- 純ALOHA協(xié)議:不監(jiān)聽(tīng)信道,不按時(shí)間槽發(fā)送,隨機(jī)重發(fā)。
T0=發(fā)送時(shí)間+傳輸時(shí)間
- 時(shí)隙ALOHA協(xié)議
吞吐量:單位時(shí)間內(nèi)發(fā)送成功的幀數(shù) - 純ALOHA協(xié)議比時(shí)隙ALOHA協(xié)議吞吐量更低,效率更低
- 純ALOHA協(xié)議想發(fā)就發(fā),時(shí)隙ALOHA協(xié)議只有在時(shí)間片開(kāi)始才能發(fā)送
CSMA協(xié)議(載波監(jiān)聽(tīng)多路訪問(wèn)協(xié)議)
主要的問(wèn)題就是沒(méi)法立即檢測(cè)到是否沖突,需要根據(jù)是否收到ACK判斷是否發(fā)生了沖突
CSMA/CD(載波監(jiān)聽(tīng)多點(diǎn)接入/碰撞檢測(cè))協(xié)議
發(fā)送數(shù)據(jù)前以及發(fā)送數(shù)據(jù)時(shí)都要檢測(cè)一下總線上是否有其他計(jì)算機(jī)在發(fā)送數(shù)據(jù)。
應(yīng)用于半雙工網(wǎng)絡(luò)
單程端到端傳播時(shí)延τ\tauτ
可能會(huì)產(chǎn)生監(jiān)聽(tīng)失誤,從而產(chǎn)生沖突
最多經(jīng)過(guò)兩倍的端到端傳播時(shí)延2τ2\tau2τ發(fā)現(xiàn)沖突
重傳時(shí)機(jī)
最小幀長(zhǎng)
最小幀長(zhǎng) = 總線傳播時(shí)延 ?*? 數(shù)據(jù)傳輸速率 ?*? 2 = 數(shù)據(jù)傳輸速率 ?2τ* 2\tau?2τ
CSMA/CA(載波監(jiān)聽(tīng)多點(diǎn)接入/碰撞避免)協(xié)議
應(yīng)用于無(wú)線局域網(wǎng)
不使用CSMA/CD協(xié)議的原因
輪詢?cè)L問(wèn)MAC協(xié)議
輪詢協(xié)議
令牌傳遞協(xié)議
局域網(wǎng)基本結(jié)構(gòu)
常用的時(shí)總線型拓?fù)?/p>
以太網(wǎng)
以太網(wǎng)提供無(wú)連接、不可靠的服務(wù)
10Base-T以太網(wǎng)
適配器與MAC地址
廣域網(wǎng)
PPP協(xié)議
點(diǎn)對(duì)點(diǎn)協(xié)議PPP協(xié)議是目前使用最廣泛的數(shù)據(jù)鏈路層協(xié)議,用戶使用撥號(hào)電話接入因特網(wǎng)時(shí)一般都是用PPP協(xié)議
只支持全雙工鏈路
不支持:糾錯(cuò)、流量控制、序號(hào)、多點(diǎn)線路
PPP協(xié)議面向字節(jié),使用全雙工通信方式
HDLC協(xié)議
鏈路層設(shè)備
總結(jié)
以上是生活随笔為你收集整理的计算机网路【2】数据链路层的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: laravel队列常驻运行问题 财
- 下一篇: 计算机网络【5】应用层