相關(guān)概念
-
節(jié)點(diǎn):
主機(jī)埂奈,路由器 -
鏈路:
節(jié)點(diǎn)之間的物理通道,雙絞線定躏,光纖账磺,微波; -
數(shù)據(jù)鏈路:
節(jié)點(diǎn)之間的邏輯通道痊远,數(shù)據(jù)傳輸?shù)挠布?軟件 -
幀:
鏈路層的數(shù)據(jù)單元绑谣,封裝網(wǎng)絡(luò)層的ip數(shù)據(jù)報(bào); -
網(wǎng)絡(luò)適配器(網(wǎng)卡):
網(wǎng)卡擁有自己的處理器和內(nèi)存拗引,是一個(gè)半自治設(shè)備
借宵,介于計(jì)算機(jī)和網(wǎng)線之間,通過(guò)操作系統(tǒng)內(nèi)核的網(wǎng)卡驅(qū)動(dòng)和計(jì)算機(jī)交互矾削,并且使用自己的處理器和內(nèi)存接收和發(fā)送數(shù)據(jù)幀壤玫,不會(huì)占用計(jì)算機(jī)資源,收到數(shù)據(jù)會(huì)觸發(fā)中斷
讓CPU去執(zhí)行網(wǎng)卡驅(qū)動(dòng); -
mac地址:
用于介質(zhì)訪問(wèn)控制哼凯,在網(wǎng)絡(luò)適配器中固化的地址欲间,ip地址是在計(jì)算機(jī)中,而mac地址是在網(wǎng)絡(luò)適配器中
數(shù)據(jù)鏈路層功能:
數(shù)據(jù)鏈路層
負(fù)責(zé)通過(guò)一條鏈路將數(shù)據(jù)報(bào)幀從一個(gè)節(jié)點(diǎn)傳給與其物理相連的另一個(gè)節(jié)點(diǎn)断部,其最基本的服務(wù)是將源自網(wǎng)絡(luò)層的數(shù)據(jù)可靠的傳遞給相連鏈路節(jié)點(diǎn)的網(wǎng)絡(luò)層猎贴,加強(qiáng)物理層的傳輸功能,改進(jìn)物理層的可能出錯(cuò)的物理連接,使之對(duì)網(wǎng)絡(luò)層表現(xiàn)為一條無(wú)差錯(cuò)的鏈路
分裝成幀:
數(shù)據(jù)鏈路層以幀為單位傳輸和處理數(shù)據(jù)她渴,所以數(shù)據(jù)鏈路層必須將網(wǎng)絡(luò)層
傳給它的ip數(shù)據(jù)報(bào)
封裝成幀
,封裝成幀就是在數(shù)據(jù)報(bào)的頭和尾添加幀首部和幀尾部达址,幀首部和幀尾部的作用是進(jìn)行幀定界
為了提高傳輸?shù)男剩瑤瑪?shù)據(jù)部分的大小應(yīng)該盡可能大于幀首和幀尾的大小趁耗,但是數(shù)據(jù)鏈路層對(duì)幀數(shù)據(jù)的大小進(jìn)行了限制沉唠,即:最大傳送單元MTU
組幀的方式:
1. 字符計(jì)數(shù)法:
在幀首部設(shè)置一個(gè)幀長(zhǎng)度字符
問(wèn)題:
如果一個(gè)幀出現(xiàn)問(wèn)題,那么后面的所有幀都會(huì)無(wú)法確定
2. 字符填充法:
為幀設(shè)置一個(gè)幀首和幀尾字符苛败,在幀的數(shù)據(jù)部分如果出現(xiàn)幀首和幀尾字符相同的數(shù)據(jù)满葛,會(huì)影響幀定界
的判定,就為它添加一個(gè)轉(zhuǎn)義字符,這是實(shí)現(xiàn)透明傳輸
的一個(gè)操作
3. 零比特填充法:
5110
,在數(shù)據(jù)部分如果遇到五個(gè)連續(xù)的1罢屈,那么就在后面加上一個(gè)0嘀韧,幀的首部和尾部都0111110
4. 違規(guī)編碼法:
正常的編碼方式使用的高低,低高代表1缠捌,0乳蛾,我們可以使用違規(guī)編碼方式,高高鄙币,低低用來(lái)給幀進(jìn)行定界肃叶;
差錯(cuò)檢測(cè):
差錯(cuò)類型:
-
位錯(cuò):
比特位出錯(cuò),1變成0十嘿,0變成1 -
幀錯(cuò):
幀丟失因惭,幀重復(fù),幀失序
差錯(cuò)控制措施:
1. 檢錯(cuò)編碼:
-
奇偶校驗(yàn)碼
為數(shù)據(jù)加上一個(gè)校驗(yàn)位绩衷,使1的數(shù)量是奇數(shù)或者偶數(shù)蹦魔,數(shù)據(jù)接收的時(shí)候判斷1的個(gè)數(shù)的奇偶性是否改變;
特點(diǎn):
只能檢測(cè)出奇數(shù)個(gè)比特錯(cuò)誤咳燕,如果兩個(gè)比特位發(fā)生錯(cuò)誤勿决,那么1的個(gè)數(shù)不會(huì)改變,錯(cuò)誤將無(wú)法檢測(cè)招盲,檢錯(cuò)能力為50%低缩;
-
循環(huán)冗余碼CRC
需要發(fā)送的數(shù)據(jù)和生成多項(xiàng)式計(jì)算,得到冗余碼曹货,實(shí)際發(fā)送的數(shù)據(jù)是需要發(fā)送的數(shù)據(jù)+冗余碼咆繁;數(shù)據(jù)在接收時(shí),將接收的數(shù)據(jù)和生成多項(xiàng)式相除顶籽,如果余數(shù)為0玩般,說(shuō)明沒(méi)有發(fā)生改變
實(shí)際傳輸?shù)臄?shù)據(jù) = 需要發(fā)送的數(shù)據(jù) + 幀檢驗(yàn)序列FCS(冗余碼)
FCS冗余碼的計(jì)算:
- 加0:計(jì)算多項(xiàng)式的
階
;多項(xiàng)式N位,階為N-1,在數(shù)據(jù)的后面加上階
個(gè)0 - 模2除法:數(shù)據(jù)加0后除以多項(xiàng)式礼饱,余數(shù)為
冗余碼
;
FCS的生成和接收端CRC檢測(cè)都是由硬件實(shí)現(xiàn)的坏为,所以速度很快究驴;CRC循環(huán)冗余技術(shù)只能做到對(duì)幀的無(wú)差錯(cuò)接收,錯(cuò)誤的幀都會(huì)被丟棄匀伏;
2. 糾錯(cuò)編碼:
- 海明碼
海明碼工作流程:
-
確定校驗(yàn)碼位數(shù)r
通過(guò)海明不等式求出校驗(yàn)碼位數(shù)
- 確定校驗(yàn)碼和數(shù)據(jù)的位置
校驗(yàn)碼只能放在2的幾次方的位置洒忧,剩下的數(shù)據(jù)按順序放好
- 求出校驗(yàn)碼的值
- 首先要找到校驗(yàn)碼需要校驗(yàn)的數(shù)據(jù),校驗(yàn)碼位置的二進(jìn)制數(shù)的1如果數(shù)據(jù)在這個(gè)位置上也是1帘撰,那么這個(gè)校驗(yàn)碼就校驗(yàn)這個(gè)數(shù)據(jù)跑慕,舉個(gè)例子:
如果校驗(yàn)碼的位置的二進(jìn)制表示為0001万皿,現(xiàn)在有多個(gè)數(shù)據(jù)摧找,他們的位置表示為0011,0101,1000,1010,在數(shù)據(jù)中找和校驗(yàn)碼相同位置同為1的數(shù)據(jù)牢硅,當(dāng)前校驗(yàn)碼校驗(yàn)的數(shù)據(jù)為0011,0101蹬耘,因?yàn)樗麄兊淖畹臀煌r?yàn)碼都為1
- 找到校驗(yàn)碼需要校驗(yàn)的數(shù)據(jù)后,在將他們的值(校驗(yàn)碼和所有它校驗(yàn)的數(shù)據(jù))一起異或等于0减余,就能通過(guò)這個(gè)等式得到校驗(yàn)碼的值综苔;
- 檢錯(cuò)并糾錯(cuò)
讓所有的校驗(yàn)碼,和自己校驗(yàn)的數(shù)據(jù)異或位岔,然后從最后一個(gè)校驗(yàn)碼開(kāi)始算如筛,得到的這個(gè)二進(jìn)制數(shù)就是出錯(cuò)的那個(gè)數(shù)據(jù)的位置,比如:有四個(gè)校驗(yàn)碼p1抒抬,p2杨刨,p3,p4擦剑;他們跟自己的數(shù)據(jù)異或得到1010妖胀,那么出錯(cuò)的數(shù)據(jù)就是0101這個(gè)位置,即第五個(gè)數(shù)據(jù)位惠勒;
冗余編碼:
在數(shù)據(jù)發(fā)送前赚抡,按照某種關(guān)系為數(shù)據(jù)附加上一定的冗余位,構(gòu)成一定規(guī)則的碼字纠屋,當(dāng)數(shù)據(jù)發(fā)生變化時(shí)涂臣,冗余位也會(huì)變化,使碼字保持不變售担,接收的時(shí)候會(huì)判斷碼字是否符合原規(guī)則肉康,從而判斷是否出錯(cuò);
流量控制
停止 - 等待協(xié)議:
發(fā)送方在發(fā)出了一個(gè)分組后灼舍,會(huì)停下來(lái)等待接收方的確認(rèn)吼和,才會(huì)發(fā)送下一個(gè)分組;
超時(shí)重傳:如果經(jīng)過(guò)一段時(shí)間(一個(gè)RTT)
還沒(méi)有收到確認(rèn)骑素,就重傳這個(gè)分組炫乓;
缺點(diǎn):信道利用率低
回退N幀協(xié)議:GBN Go-back-N
發(fā)送窗口:發(fā)送方維持著一組連續(xù)的允許發(fā)送的幀序號(hào)刚夺;每收到一個(gè)確認(rèn),就會(huì)將滑動(dòng)窗口前移末捣,
接收窗口:接收方維持著一組允許接收的幀序號(hào)侠姑;
GBN特點(diǎn):
- 接收方只按序接收幀,如果幀2丟失箩做,收到了幀3莽红,幀4,那么幀3邦邦,幀4會(huì)被丟棄安吁;
- 發(fā)送方會(huì)采用超時(shí)重傳機(jī)制,一旦某個(gè)分組出錯(cuò)燃辖,就重傳后面所有的分組鬼店,這也是GBN名字的由來(lái),一旦出錯(cuò)黔龟,退回去重傳所有已經(jīng)發(fā)送的N個(gè)分組妇智;
- 接收方采用累計(jì)確認(rèn)的方式,接收方不一定要對(duì)每一個(gè)分組進(jìn)行逐個(gè)確認(rèn)氏身,而是在接收了幾個(gè)分組后巍棱,對(duì)最后一個(gè)分組進(jìn)行確認(rèn);
缺點(diǎn):一個(gè)分組的丟失會(huì)造成大量分組的重傳蛋欣,而這些分組可能是被接收方正常接收的分組航徙,影響傳輸?shù)男剩?/h6>
由此看來(lái)GBN只是在SW的基礎(chǔ)上修改了發(fā)送方算法,沒(méi)有改變接收方算法豁状,接收窗口仍然為1捉偏,這樣會(huì)導(dǎo)致大量分組重傳
選擇重傳協(xié)議:SR Selective Repeat
改進(jìn)了接收窗口的大小,方便接收失序但正確到達(dá)的分組泻红,等所缺分組收集全了再交給上層夭禽;
傳輸數(shù)據(jù)使用的兩種鏈路
- 點(diǎn)對(duì)點(diǎn)鏈路
PPP point-to-point protocol
(廣域網(wǎng)) - 廣播式鏈路(局域網(wǎng))
PPP協(xié)議特點(diǎn):
1. 簡(jiǎn)單:
使用PPP協(xié)議的數(shù)據(jù)鏈路層不需要糾錯(cuò),不需要提供可靠服務(wù)谊路,如需可靠傳輸讹躯,則由傳輸層實(shí)現(xiàn)
2. 封裝成幀
3. 透明傳輸
4. 支持多種網(wǎng)絡(luò)層協(xié)議:
網(wǎng)絡(luò)層傳來(lái)的ip數(shù)據(jù)報(bào)可以采用多種協(xié)議
5. 支持多種類型鏈路:
串行/并行,同步/異步缠劝,電/光
6. 差錯(cuò)檢測(cè)
7. 檢測(cè)鏈接狀態(tài)
8. 最大傳輸單元:
MTU
9. 網(wǎng)絡(luò)層地址協(xié)商:
PPP提供了一種機(jī)制使通信雙方能知道彼此的網(wǎng)絡(luò)層ip地址潮梯;
PPP協(xié)議的三個(gè)組成:
1. 一個(gè)將IP數(shù)據(jù)報(bào)封裝到串行鏈路的方法
PPP既支持面向字符的異步鏈路,又支持面向比特的同步鏈路惨恭;
2. 鏈路控制協(xié)議 LCP協(xié)議 link-control-protocol
用來(lái)建立秉馏,配置和測(cè)試數(shù)據(jù)鏈路鏈接,身份驗(yàn)證
3. 網(wǎng)絡(luò)控制協(xié)議 NCP協(xié)議 network-control-protocol
用來(lái)支持不同的網(wǎng)絡(luò)層協(xié)議脱羡,每一個(gè)網(wǎng)絡(luò)層協(xié)議都需要一個(gè)對(duì)應(yīng)的NCP協(xié)議來(lái)配置萝究,為網(wǎng)絡(luò)層協(xié)議建立和配置邏輯鏈接
PPP協(xié)議的幀格式:
- F:幀首和幀尾
- A免都,C:預(yù)留字段,最初考慮留這兩個(gè)字段進(jìn)行其他定義帆竹,但是至今都沒(méi)有給出
- 協(xié)議:標(biāo)識(shí)信息部分的內(nèi)容绕娘,IP數(shù)據(jù)報(bào),LCP數(shù)據(jù)栽连,網(wǎng)絡(luò)層控制數(shù)據(jù)
- FCS:CRC循環(huán)冗余碼的幀檢驗(yàn)序列
PPP協(xié)議的工作流程:
這里以撥號(hào)接入為例:
- 當(dāng)用戶撥號(hào)接通
ISP撥號(hào)服務(wù)器
后险领,就建立了一條從用戶PC到ISP的物理連接
, - 此時(shí)PC向ISP發(fā)送多個(gè)LCP分組(多個(gè)PPP幀形式)建立LCP連接;
- 網(wǎng)絡(luò)層配置
- NCP為PC分配一個(gè)臨時(shí)的IP地址
廣播式鏈路(局域網(wǎng)):
所有主機(jī)共享通信介質(zhì)秒紧,當(dāng)一個(gè)站點(diǎn)發(fā)送數(shù)據(jù)時(shí)绢陌,總線上的所有站點(diǎn)都能檢測(cè)和接受這個(gè)數(shù)據(jù),應(yīng)用于早期的以太網(wǎng)噩茄,無(wú)線局域網(wǎng)下面,常用于局域網(wǎng)
介質(zhì)訪問(wèn)控制技術(shù):
介質(zhì)訪問(wèn)的目的是采取一定措施复颈,使兩節(jié)點(diǎn)之間的通信不會(huì)發(fā)生干擾绩聘,介質(zhì)訪問(wèn)控制主要有兩種實(shí)現(xiàn)方式:
1. 靜態(tài)劃分信道
-
頻分多路復(fù)用FDM:
給用戶分配不同頻率的頻帶,在通信過(guò)程中耗啦,用戶始終都占用這個(gè)頻帶凿菩,在各自的頻帶通信
-
時(shí)分多路復(fù)用TDM:
將介質(zhì)的使用分成多個(gè)時(shí)間片,用戶輪流占用信道帜讲,類似進(jìn)程并發(fā)占用CPU的時(shí)間片
TDM幀標(biāo)志著一個(gè)周期
碼分多路復(fù)用CDM:
先了解一下CDM中的新概念
1. 芯片/碼片:
1個(gè)比特被分為m個(gè)更小的時(shí)間槽衅谷,稱為碼片,通常1比特被分成64或128個(gè)碼片
2. 芯片序列:
每一個(gè)站點(diǎn)被指定一個(gè)唯一的m位的碼片
CDM規(guī)定發(fā)送1比特就發(fā)送芯片序列似将,發(fā)送0比特就發(fā)送芯片序列的反碼获黔,為了站點(diǎn)發(fā)送的數(shù)據(jù)可以共享信道,CDM還規(guī)定了站點(diǎn)的芯片序列必須相互正交
在验,相互正交就是規(guī)格內(nèi)積化
為0玷氏;規(guī)格化內(nèi)積就是對(duì)應(yīng)數(shù)據(jù)相乘再相加再除以數(shù)據(jù)的個(gè)數(shù);
數(shù)據(jù)的合并:
各數(shù)據(jù)在信道中線性相加
數(shù)據(jù)的分離:
合并的數(shù)據(jù)和接受端的芯片序列規(guī)格化內(nèi)積腋舌,規(guī)格化內(nèi)積就是對(duì)應(yīng)數(shù)據(jù)相乘再相加再除以數(shù)據(jù)的個(gè)數(shù)盏触;
(101011)和(110011)規(guī)格內(nèi)積化:(11+01+10+00+11+11)/ 6 = 0.5 , 這里的規(guī)格內(nèi)積化不為0,所以不滿足芯片序列的要求块饺,這里是舉例赞辩,正常的芯片序列為64或128位;
2. 動(dòng)態(tài)劃分信道
CSMA/CD協(xié)議:載波監(jiān)聽(tīng)多點(diǎn)接入碰撞檢測(cè)(carrier Sense multiple access with Collision detection)授艰!考研重點(diǎn)辨嗽!
- CS:Carrier Sense,載波監(jiān)聽(tīng)淮腾,每個(gè)站在
發(fā)送數(shù)據(jù)前
以及發(fā)送數(shù)據(jù)時(shí)
都要檢測(cè)當(dāng)前總線是否有其他計(jì)算機(jī)在發(fā)送數(shù)據(jù) - MA:multiple access,多點(diǎn)接入糟需,許多計(jì)算機(jī)(站點(diǎn))以多點(diǎn)接入的方式連接在一根總線上岛心,總線型網(wǎng)絡(luò)
- CD:collision detection,碰撞檢測(cè)篮灼,
邊發(fā)送邊檢測(cè)
網(wǎng)絡(luò)適配器一邊發(fā)送數(shù)據(jù)同時(shí)一邊檢測(cè)信道上電壓的變化忘古,以便判斷自己在發(fā)送數(shù)據(jù)時(shí)其他站是否也在發(fā)送數(shù)據(jù)。
傳播延時(shí)對(duì)載波監(jiān)聽(tīng)的影響
重傳機(jī)制
(十二點(diǎn)了诅诱,明天早上還要起來(lái)看操作系統(tǒng)髓堪,記一下,以后有時(shí)間再盤(pán)吧)
// 2020. 7.23
局域網(wǎng):
在某一區(qū)域內(nèi)由多態(tài)計(jì)算機(jī)使用廣播信道
互聯(lián)成的計(jì)算機(jī)組娘荡;
局域網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):
-
星型拓?fù)?/p>
- 傳輸速度快干旁,網(wǎng)絡(luò)構(gòu)建簡(jiǎn)單,便于控制和管理
- 網(wǎng)絡(luò)可靠性低炮沐,如果集線器出現(xiàn)問(wèn)題争群,所有站點(diǎn)都無(wú)法通信
-
總線型拓?fù)?/p>
- 可靠性高,一個(gè)站點(diǎn)出現(xiàn)問(wèn)題不會(huì)影響其他站點(diǎn)
- 設(shè)備成本低大年,使用方便
-
環(huán)形拓?fù)?/p>
- 最蠢的拓?fù)浞绞交槐。徽f(shuō)了
局域網(wǎng)傳輸介質(zhì):
-
有線:
雙絞線,光纖 -
無(wú)線:
電磁波
數(shù)據(jù)鏈路層的組成:
- 邏輯鏈路控制子層
LLC子層
:
LLC負(fù)責(zé)和網(wǎng)絡(luò)層交互翔试,為網(wǎng)絡(luò)層提供服務(wù):無(wú)確認(rèn)無(wú)連接轻要,確認(rèn)無(wú)連接,確認(rèn)連接 - 介質(zhì)訪問(wèn)控制子層
MAC子層
:
MAC負(fù)責(zé)和物理層交互:數(shù)據(jù)幀的封裝和拆分垦缅,幀的尋址和識(shí)別冲泥,差錯(cuò)控制
以太網(wǎng):
以太網(wǎng)是局域網(wǎng)的一種,采用CSMA/CD介質(zhì)訪問(wèn)控制技術(shù)壁涎,是當(dāng)今局域網(wǎng)最廣泛的應(yīng)用
特點(diǎn):
- 成本低
- 是應(yīng)用最廣泛的局域網(wǎng)技術(shù)
- 滿足網(wǎng)絡(luò)速率的需求凡恍,10m/s~10Gb/s
無(wú)差錯(cuò)接收,不實(shí)現(xiàn)可靠傳輸
10BASE-T以太網(wǎng)
- 物理上采用
星型拓?fù)浣Y(jié)構(gòu)
怔球,邏輯上采用總線型拓?fù)?/code>
- 采用
曼切斯特編碼
- 采用CSMA/CD介質(zhì)訪問(wèn)控制協(xié)議
以太網(wǎng)的MAC幀:
- 類型:用于描述上層的協(xié)議
- 46-1500:46保證了以太網(wǎng)最小幀不能小于64b嚼酝,因?yàn)镃MSA/CD協(xié)議規(guī)定最遠(yuǎn)兩端數(shù)據(jù)往返是征用期,為了在征用期內(nèi)能檢測(cè)到碰撞庞溜,規(guī)定最小不能小于64b革半;1500是MTU
- 數(shù)據(jù)幀尾是通過(guò)曼切斯特編碼的電信號(hào)是否變化來(lái)判斷的,幀和幀之間會(huì)有時(shí)間間隔
網(wǎng)橋和交換機(jī)
網(wǎng)橋:
網(wǎng)橋是數(shù)據(jù)鏈路層的設(shè)備流码,采用存儲(chǔ)轉(zhuǎn)發(fā)方式又官,根據(jù)MAC幀的目的地址對(duì)接收到的幀進(jìn)行轉(zhuǎn)發(fā)和過(guò)濾
兩個(gè)以太網(wǎng)通過(guò)網(wǎng)橋連接起來(lái)后,成為一個(gè)覆蓋范圍更大的以太網(wǎng)漫试,原來(lái)的以太網(wǎng)稱為網(wǎng)段
網(wǎng)橋的優(yōu)點(diǎn):
- 過(guò)濾數(shù)據(jù)六敬,選擇轉(zhuǎn)發(fā),提高吞吐量
- 擴(kuò)大通信范圍
- 提高可靠性:網(wǎng)橋不會(huì)轉(zhuǎn)發(fā)錯(cuò)誤的幀驾荣,網(wǎng)絡(luò)出現(xiàn)故障只會(huì)影響個(gè)別網(wǎng)段
- 可以連接不同物理層外构,不同mac層普泡,不同速率的以太網(wǎng)
透明網(wǎng)橋:
局域網(wǎng)上的站點(diǎn)不知道所發(fā)送的幀將經(jīng)過(guò)哪幾個(gè)網(wǎng)橋,透明網(wǎng)橋即插即用审编,通過(guò)自學(xué)習(xí)算法逐步建立自己的轉(zhuǎn)發(fā)表
源路由網(wǎng)橋:
在發(fā)送幀時(shí)撼班,會(huì)將最佳路由信息放在幀首部,源站通過(guò)廣播的方式向目的站發(fā)送一個(gè)發(fā)現(xiàn)幀
實(shí)踐證明垒酬,即插即用的透明網(wǎng)橋最終取得了市場(chǎng)競(jìng)爭(zhēng)的勝利砰嘁,源路由網(wǎng)橋現(xiàn)在已經(jīng)很少使用
交換機(jī)(多接口網(wǎng)橋):
直通式交換機(jī):接收到幀的時(shí)候立刻根據(jù)幀的MAC地址決定該幀的轉(zhuǎn)發(fā)接口,
轉(zhuǎn)發(fā)延遲小勘究,可靠性低矮湘,無(wú)法支持不同速率端口的交換
存儲(chǔ)轉(zhuǎn)發(fā)式交換機(jī):將幀放入高速緩存,檢查是否正確口糕,錯(cuò)誤則丟棄缅阳,
延遲大,可靠性高景描,支持不同速率的端口交換