「作者主頁(yè)」:士別三日wyx
「作者簡(jiǎn)介」:CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
「專欄簡(jiǎn)介」:此文章已錄入專欄《計(jì)算機(jī)網(wǎng)絡(luò)零基礎(chǔ)快速入門》
本章重點(diǎn)
- 了解封裝成幀的原理
- 掌握PPP協(xié)議的作用及實(shí)現(xiàn)原理
- 熟悉鏈路層的網(wǎng)絡(luò)設(shè)備和工作原理
數(shù)據(jù)鏈路層負(fù)責(zé)將物理層數(shù)據(jù) 「透明」且 「可靠」的傳輸?shù)骄W(wǎng)絡(luò)層。
透明傳輸
透明是指,鏈路層傳輸數(shù)據(jù)的方式是透明的,也就是透明傳輸。
這個(gè)透明相對(duì)的,從上層的角度看,鏈路層只是一個(gè)「通道」,「只傳輸」數(shù)據(jù),而「不處理」數(shù)據(jù)。
但實(shí)際上,鏈路層會(huì)處理數(shù)據(jù),只是處理的過(guò)程,不向上層展示(上層并不在乎你怎么處理,上層只希望你把數(shù)據(jù)傳輸過(guò)來(lái))。
一、封裝成幀
鏈路層處理數(shù)據(jù)的第一步,就是封裝成幀。封裝成幀是指,將傳輸?shù)臄?shù)據(jù)「分隔」成多組數(shù)據(jù),每一組數(shù)據(jù)稱為一個(gè)數(shù)據(jù)幀,當(dāng)傳輸出現(xiàn)差錯(cuò)時(shí),只需要重發(fā)數(shù)據(jù)幀,而不再重傳所有的數(shù)據(jù)。
鏈路層的差錯(cuò)控制和流量處理功能,都是在組幀的基礎(chǔ)上實(shí)現(xiàn)的。
點(diǎn)擊此連接深入了解什么是透明傳輸以及封裝成幀的方式。
二、鏈路層的功能
數(shù)據(jù)傳輸過(guò)程中,由于外界不可控因素造成的沖擊噪聲,會(huì)使數(shù)據(jù)的傳輸出現(xiàn)差錯(cuò)。
1. 差錯(cuò)控制
這種差錯(cuò)可以分為兩種:「位錯(cuò)」和「幀錯(cuò)」。
位錯(cuò)就是比特位出現(xiàn)差錯(cuò),比如1變成0,或0變成1。
幀錯(cuò)就是數(shù)據(jù)幀出現(xiàn)差錯(cuò),比如幀丟失、幀重復(fù)、幀失序。
這種差錯(cuò)通常會(huì)用編碼技術(shù)來(lái)解決,比如:奇偶校驗(yàn)碼和海明碼。
1.1 奇偶校驗(yàn)碼
奇偶校驗(yàn)碼根據(jù)二進(jìn)制數(shù)據(jù)中「1的個(gè)數(shù)」來(lái)判斷數(shù)據(jù)的完整性。
比如,數(shù)據(jù)傳輸前有奇數(shù)個(gè)1,傳輸后卻變成了偶數(shù)個(gè)1,就判定數(shù)據(jù)傳輸出現(xiàn)了差錯(cuò),重新發(fā)送這個(gè)數(shù)據(jù)幀。
點(diǎn)擊此連接了解奇偶校驗(yàn)碼的檢錯(cuò)原理。
1.2 海明碼
海明碼算是奇偶校驗(yàn)碼的升級(jí)版,是一種「多重校驗(yàn)」。
他將數(shù)據(jù)幀分為多個(gè)小組,每個(gè)小組都進(jìn)行一次奇偶校驗(yàn),從而指出具體的差錯(cuò)位置,進(jìn)而糾錯(cuò)。
2. 流量控制
當(dāng)發(fā)送數(shù)據(jù)「過(guò)快」時(shí),接收方就會(huì)發(fā)生「阻塞」,導(dǎo)致數(shù)據(jù)幀的「丟失」。
因此,我們需要對(duì)發(fā)送的數(shù)據(jù)流量進(jìn)行管控,也就是流量控制;
流量控制的協(xié)議有很多,我們來(lái)一個(gè)一個(gè)了解。
2.1 停止等待協(xié)議
停止等待協(xié)議很簡(jiǎn)單,每發(fā)送完一個(gè)幀就停止發(fā)送,等待對(duì)方「確認(rèn)」;
收到對(duì)方的確認(rèn)幀后再發(fā)送下一個(gè)幀。
停止等待協(xié)議可以保證數(shù)據(jù)不丟包或包亂序,但利用率不高。
2.2 滑動(dòng)窗口協(xié)議
滑動(dòng)窗口是指,在「窗口」允許的范圍內(nèi),可以「同時(shí)發(fā)送多個(gè)數(shù)據(jù)」。
比如,窗口的大小設(shè)置為6個(gè),發(fā)送方發(fā)送一個(gè)數(shù)據(jù),在沒有收到確認(rèn)幀的情況下,仍然可以發(fā)送第二個(gè)、第三個(gè)數(shù)據(jù),以此類推,可以同時(shí)發(fā)送五個(gè)數(shù)據(jù)。
當(dāng)同時(shí)有6個(gè)數(shù)據(jù)沒有收到確認(rèn)幀時(shí),就到達(dá)了窗口的數(shù)量上限,發(fā)送方將停止發(fā)送數(shù)據(jù),等待接收方的確認(rèn)幀,每收到一個(gè)確認(rèn)幀,就可以再發(fā)送一個(gè)數(shù)據(jù)。
需要注意的是:滑動(dòng)窗口的大小最好等于接收窗口的大?。ù罅藭?huì)溢出,小了沒意義)
2.2.1 后退N幀協(xié)議(GBN)
GBN協(xié)議是滑動(dòng)窗口機(jī)制的一種應(yīng)用協(xié)議。采用「累積確認(rèn)機(jī)制」,如果某一個(gè)幀未收到確認(rèn),則重新發(fā)送窗口內(nèi)這個(gè)幀以及前面的所有幀。
GBN協(xié)議有一個(gè)「缺點(diǎn)」,如果某個(gè)幀超時(shí),即使之前的幀已經(jīng)成功被接收,仍然會(huì)被重新發(fā)送,從而造成「資源浪費(fèi)」。而選擇重傳協(xié)議可以解決這個(gè)問題。
2.2.2 選擇重傳協(xié)議(SR)
選擇重傳協(xié)議是滑動(dòng)窗口機(jī)制的另一個(gè)應(yīng)用協(xié)議,他在GBN協(xié)議的基礎(chǔ)上取消了累積確認(rèn)的機(jī)制,采用「一個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)確認(rèn)幀」的方式,在窗口大小允許的范圍內(nèi)同時(shí)傳遞多個(gè)數(shù)據(jù),只有超時(shí)的數(shù)據(jù)才會(huì)重傳,未超時(shí)的數(shù)據(jù)不會(huì)重傳。
三、鏈路層的協(xié)議
1. PPP協(xié)議
PPP協(xié)議(Point to Point Protocol),翻譯成中文是「點(diǎn)對(duì)點(diǎn)協(xié)議」,是鏈路層的數(shù)據(jù)通信協(xié)議,檢錯(cuò)但不糾錯(cuò),是一種不可靠的傳輸協(xié)議。
1)通信開始時(shí),調(diào)制解調(diào)器確認(rèn)撥號(hào),并建立物理連接。
2)而后鏈路控制協(xié)議(LCP)建立通信鏈路,發(fā)送數(shù)據(jù)幀。
3)網(wǎng)絡(luò)控制協(xié)議(NCP)給接入的主機(jī)分配臨時(shí)IP地址。
4)通信完畢時(shí),網(wǎng)絡(luò)控制協(xié)議(NCP)回收IP地址。
5)鏈路控制協(xié)議(LCP)斷開通信鏈路。
6)最后釋放物理層的連接。
四、鏈路層設(shè)備
物理層的集線器可擴(kuò)展的「網(wǎng)絡(luò)距離」有限,想要實(shí)現(xiàn)遠(yuǎn)距離的網(wǎng)絡(luò)通信,需要借助鏈路層的網(wǎng)橋或交換機(jī)。
1. 網(wǎng)橋
網(wǎng)橋是早期的「兩端口」二層網(wǎng)絡(luò)設(shè)備,后來(lái)被更多端口的交換機(jī)取代。
網(wǎng)橋也叫橋接器,可以連接兩個(gè)局域網(wǎng),一個(gè)端口連接一個(gè)網(wǎng)段,根據(jù)數(shù)據(jù)幀的目的MAC地址轉(zhuǎn)發(fā)到對(duì)應(yīng)接口的網(wǎng)絡(luò)。
1.1 工作原理
1)網(wǎng)橋中有一個(gè)「網(wǎng)橋表」,保存「MAC地址」和「接口」的對(duì)應(yīng)關(guān)系。
2)數(shù)據(jù)幀經(jīng)過(guò)網(wǎng)橋時(shí),先在網(wǎng)橋表中搜索「源MAC地址」:
- 如果不存在,就學(xué)習(xí)新MAC地址,將地址與對(duì)應(yīng)的接口保存到表中;
3)然后再搜索「目的MAC地址」:
- ? 如果存在,就轉(zhuǎn)發(fā)到地址對(duì)應(yīng)的接口; ?
- 如果不存在,就轉(zhuǎn)發(fā)到其他所有的網(wǎng)絡(luò)。
1.2 網(wǎng)橋和路由器的區(qū)別
網(wǎng)橋和路由器都是連接兩個(gè)網(wǎng)絡(luò)的設(shè)備。但網(wǎng)橋是「存儲(chǔ)轉(zhuǎn)發(fā)」設(shè)備,路由器是「路徑選擇」設(shè)備。
他們的區(qū)別主要體現(xiàn)在四個(gè)方面:
1)端口方面:網(wǎng)橋只有兩個(gè)端口,而路由器最少16個(gè)端口,最多48個(gè)端口。
2)網(wǎng)絡(luò)方面:網(wǎng)橋只能連接兩個(gè)相同網(wǎng)絡(luò),而路由器可以連接多個(gè)不同的網(wǎng)絡(luò)。
3)廣播方面:網(wǎng)橋不隔離廣播,而路由器可以隔離廣播
4)工作層次方面:網(wǎng)橋是二層設(shè)備,不考慮使用的協(xié)議報(bào)文;而路由器是三層設(shè)備,需要處理協(xié)議和報(bào)文。
2. 交換機(jī)
交換機(jī)相當(dāng)于「多端口網(wǎng)橋」,每個(gè)端口都具有橋接功能,根據(jù)MAC地址在多個(gè)網(wǎng)絡(luò)間交換數(shù)據(jù)幀。
交換機(jī)可以“學(xué)習(xí)”新的MAC地址,并存儲(chǔ)在內(nèi)部的地址表中,在發(fā)送者和接受者之間建立臨時(shí)路徑,完成數(shù)據(jù)的交換。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-779632.html
交換機(jī)的工作原理與網(wǎng)橋大同小異,這里不再闡述。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-779632.html
到了這里,關(guān)于數(shù)據(jù)鏈路層 ,數(shù)據(jù)鏈路層的主要功能,數(shù)據(jù)鏈路層的協(xié)議,數(shù)據(jù)鏈路層的設(shè)備。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!