介質(zhì)訪問控制(MAC):采取一定的措施,使得兩對(duì)節(jié)點(diǎn)之間的通信不會(huì)發(fā)生相互干擾的情況。
1 靜態(tài)劃分信道——信道劃分 MAC 協(xié)議
- 信道劃分 MAC:將使用介質(zhì)的每個(gè)設(shè)備與來自同一信道上的其他設(shè)備的通信隔離開,將時(shí)域和頻域資源合理地分配給網(wǎng)絡(luò)上的設(shè)備。
- 特點(diǎn):按集中控制的方式解決發(fā)送信息的次序問題,用戶不能隨意按照自己意愿發(fā)送信息。
-
網(wǎng)絡(luò)負(fù)載情況:
- 網(wǎng)絡(luò)負(fù)載重:共享信道效率高,不會(huì)發(fā)生碰撞,且公平。
- 網(wǎng)絡(luò)負(fù)載輕:共享信道效率低。
- 多路復(fù)用技術(shù):將多個(gè)信號(hào)組合在一條物理信道上進(jìn)行傳輸,使得計(jì)算機(jī)或者終端設(shè)備共享信道資源,提高信道的利用率。
1.1 頻分多路復(fù)用(FDM)——“并行”
- 頻分多路復(fù)用:用戶在分配到一定的頻帶后,在通信的過程中自始至終都占據(jù)著這個(gè)頻帶。頻分復(fù)用的所有用戶在同樣的時(shí)間內(nèi)占用不同的帶寬(頻率帶寬)資源。
- 優(yōu)點(diǎn):充分利用傳輸介質(zhì)帶寬,系統(tǒng)效率較高;由于技術(shù)比較成熟,實(shí)現(xiàn)也比較容易。
1.2 時(shí)分多路復(fù)用(TDM)——“并發(fā)”
- 時(shí)分多路復(fù)用:將時(shí)間劃分為一段段等長(zhǎng)的時(shí)分復(fù)用幀(TDM 幀)。每一個(gè)時(shí)分復(fù)用的用戶在每一個(gè) TDM 幀中占據(jù)固定序號(hào)的時(shí)隙,所有用戶輪流占據(jù)信道。
- TDM 幀:在物理層傳輸比特流所劃分的幀,標(biāo)志著一個(gè)周期。
1.2.1 同步時(shí)分多路復(fù)用
- 同步時(shí)分多路復(fù)用:這種技術(shù)按照信號(hào)的路數(shù)劃分時(shí)間片,每一路信號(hào)具有相同大小的時(shí)間片。時(shí)間片輪流分配給每路信號(hào),該路信號(hào)在時(shí)間片使用完畢以后要停止通信,并把物理信道讓給下一路信號(hào)使用。當(dāng)其他各路信號(hào)把分配到的時(shí)間片都使用完以后,該路信號(hào)再次取得時(shí)間片進(jìn)行數(shù)據(jù)傳輸。
1.2.2 異步時(shí)分多路復(fù)用
異步時(shí)分多路復(fù)用(STDM,又稱為統(tǒng)計(jì)時(shí)分多路復(fù)用):每一個(gè) STDM 幀中的時(shí)隙數(shù)小于集中器上的用戶數(shù)。各個(gè)用戶有了數(shù)據(jù)的時(shí)候就隨時(shí)發(fā)送到集中器的輸入緩存中,然后集中器按照順序依次掃描輸入緩存,將緩存中的輸入數(shù)據(jù)放入 STDM 幀中,一個(gè) STDM 幀滿了以后就發(fā)出。
STDM 幀不是固定分配時(shí)隙,而是按需動(dòng)態(tài)分配時(shí)隙。
1.3 波分多路復(fù)用(WDM)
波分多路復(fù)用:即光的頻分多路復(fù)用,在一根光纖中傳輸不同波長(zhǎng)(頻率)的光信號(hào),由于波長(zhǎng)(頻率)不同,所以各路光信號(hào)互不干擾,最后再用波長(zhǎng)分解復(fù)用器將各路波長(zhǎng)分解出來。
1.4 碼分多路復(fù)用(CDM)
碼分多路復(fù)用:采用不同編碼區(qū)分各路原始信號(hào)的一種復(fù)用方式。
1.4.1 碼分多址(CDMA)
- 碼片(chip):每個(gè)比特時(shí)間再劃分 m 個(gè)短的間隔(通常 m 為 64 或 128)
- 使用 CDMA 的每一個(gè)站被指派一個(gè)唯一的 m bit 碼片序列(碼片向量)
假設(shè) A 站的碼片向量為 S,B 站的碼片向量為 T,則有:
- S 表示 A 站發(fā)送比特 1
- -S 表示 A 站發(fā)送比特 0
- 0 表示 A 站不發(fā)送
- T 表示 B 站發(fā)送比特 1
- -T 表示 B 站發(fā)送比特 0
- 0 表示 B 站不發(fā)送
【注】為了方便,將 0 寫成 -1,1 寫成 +1 的形式。
且 S 和 T 的規(guī)格化內(nèi)積必須滿足:
-
S · T = 0
S · (-T) = 0
(-S) · T = 0
-
S · S = 1
S · (-S) = -1
-
T · T = 1
T · (-T) = -1
【規(guī)格化內(nèi)積】?jī)蓚€(gè)向量的內(nèi)積再除以向量的分量個(gè)數(shù) m,即 X · Y = 1/m * ∑XiYi。特別地,X · X = 1/m * ∑Xi2。
規(guī)格化內(nèi)積滿足乘法交換律:X · (A + B) = X · A + X · B。
現(xiàn)在 A、B 兩站向 C 站發(fā)送數(shù)據(jù),有以下幾種情況:
情況 | A 站 | B 站 | 疊加后在公共信道上 | C 站得到的 A 站數(shù)據(jù) | C 站得到的 B 站數(shù)據(jù) |
---|---|---|---|---|---|
A 站發(fā)送比特 1,B 站發(fā)送比特 1 | S | T | S + T | S · (S+T) = 1,代表比特 1 | T · (S+T) = 1,代表比特 1 |
A 站發(fā)送比特 1,B 站發(fā)送比特 0 | S | -T | S - T | S · (S-T) = 1,代表比特 1 | T · (S-T) = -1,代表比特 0 |
A 站發(fā)送比特 0,B 站發(fā)送比特 1 | -S | T | T - S | S · (T-S) = -1,代表比特 0 | T · (T-S) = 1,代表比特 1 |
A 站發(fā)送比特 0,B 站發(fā)送比特 0 | -S | -T | -S - T | S · (-S-T) = -1,代表比特 0 | T · (-S-T) = -1,代表比特 0 |
A 站不發(fā)送,B 站發(fā)送比特 1 | 0 | T | T | S · T = 0,代表未發(fā)送 | T · T = 1,代表比特 1 |
A 站不發(fā)送,B 站發(fā)送比特 0 | 0 | -T | -T | S · (-T) = 0,代表未發(fā)送 | T · (-T) = -1,代表比特 0 |
A 站發(fā)送比特 1,B 站不發(fā)送 | S | 0 | S | S · S = 1,代表比特 1 | T · S = 0,代表未發(fā)送 |
A 站發(fā)送比特 0,B 站不發(fā)送 | -S | 0 | -S | S · (-S) = -1,代表比特 0 | T · (-S) = 0,代表未發(fā)送 |
A 站不發(fā)送,B 站不發(fā)送 | 0 | 0 | 0 | S · 0 = 0,代表未發(fā)送 | T · 0 = 0,代表未發(fā)送 |
1.4.2 相關(guān)例題
【例 1】共有 4 個(gè)站進(jìn)行碼分多址通信。4 個(gè)站的碼片序列為:
A. (?1 ?1 ?1 +1 +1 ?1 +1 +1)
B. (?1 ?1 +1 ?1 +1 +1 +1 ?1)
C. (?1 +1 ?1 +1 +1 +1 ?1 ?1)
D. (?1 +1 ?1 ?1 ?1 ?1 +1 ?1)
現(xiàn)收到這樣的碼片序列 S = (-1 +1 -3 +1 -1 -3 +1 +1)。問哪個(gè)站發(fā)送數(shù)據(jù)了?發(fā)送數(shù)據(jù)的站發(fā)送的是 0 還是 1?
【解】規(guī)格化內(nèi)積:
- S · A = (-1 +1 -3 +1 -1 -3 +1 +1) * (?1 ?1 ?1 +1 +1 ?1 +1 +1) / 8 = 1,表示 A 站發(fā)送了比特 1
- S · B = (-1 +1 -3 +1 -1 -3 +1 +1) * (?1 ?1 +1 ?1 +1 +1 +1 ?1) / 8 = -1,表示 B 站發(fā)送了比特 0
- S · C = (-1 +1 -3 +1 -1 -3 +1 +1) * (?1 +1 ?1 +1 +1 +1 ?1 ?1) / 8 = 0,表示 C 站未發(fā)送
- S · D = (-1 +1 -3 +1 -1 -3 +1 +1) * (?1 +1 ?1 ?1 ?1 ?1 +1 ?1) / 8 = 1,表示 D 站發(fā)送了比特 1
【例 2】站點(diǎn) A、B、C 通過 CDMA 共享鏈路,A、B、C 的碼片序列分別是 (1,1,1,1)、(1,-1,1-1) 和 (1,1,-1,-1)。若 C 從鏈路上收到的序列是 (2,0,2,0,0,-2,0,-2,0,2,0,2),則 C 收到 A 發(fā)送的數(shù)據(jù)是( )
A. 000
B. 101
C. 110
D. 111
【解】把 C 從鏈路上收到的序列分為三組:S1 = (2,0,2,0),S2 = (0,-2,0,-2),S3 = (0,2,0,2),然后與 A 站的碼片向量進(jìn)行規(guī)格化內(nèi)積:
- S1 · A = (2,0,2,0) * (1,1,1,1) / 4 = 1,表示 A 站發(fā)送了比特 1
- S2 · A = (0,-2,0,-2) * (1,1,1,1) / 4 = -1,表示 A 站發(fā)送了比特 0
- S3 · A = (0,2,0,2) * (1,1,1,1) / 4 = 1,表示 A 站發(fā)送了比特 1
C 收到 A 發(fā)送的數(shù)據(jù)是 101,選 B。
【例 3】一條廣播信道上接有 3 個(gè)站點(diǎn) A、B、C,介質(zhì)訪問控制采用信道劃分方法,采用碼分復(fù)用技術(shù),A、B 要向 C 發(fā)送數(shù)據(jù),設(shè) A 的碼片序列為 (+1,-1,-1,+1,+1,+1,+1,-1),站 B 可以選用的碼片序列為( )
A. (-1,-1,-1,+1,-1,+1,+1,+1)
B. (-1,+1,-1,-1,-1,+1,+1,+1)
C. (-1,+1,-1,+1,-1,+1,-1,+1)
D. (-1,+1,-1,+1,-1,+1,+1,+1)
【解】規(guī)格化內(nèi)積必須為 0。
- A 項(xiàng):A · B = (+1,-1,-1,+1,+1,+1,+1,-1) · (-1,-1,-1,+1,-1,+1,+1,+1) = 0.25
- B 項(xiàng):A · B = (+1,-1,-1,+1,+1,+1,+1,-1) · (-1,+1,-1,-1,-1,+1,+1,+1) = -0.25
- C 項(xiàng):A · B = (+1,-1,-1,+1,+1,+1,+1,-1) · (-1,+1,-1,+1,-1,+1,-1,+1) = -0.25
- D 項(xiàng):A · B = (+1,-1,-1,+1,+1,+1,+1,-1) · (-1,+1,-1,+1,-1,+1,+1,+1) = 0
- 所以選 D。
2 動(dòng)態(tài)劃分信道——隨機(jī)訪問 MAC 協(xié)議
- 特點(diǎn):不同于靜態(tài)劃分信道,動(dòng)態(tài)劃分信道允許所有的用戶隨機(jī)發(fā)送信息,發(fā)送的時(shí)候占據(jù)全部帶寬。
-
網(wǎng)絡(luò)負(fù)載情況:
- 網(wǎng)絡(luò)負(fù)載重:產(chǎn)生沖突開銷。
- 網(wǎng)絡(luò)負(fù)載輕:共享信道效率高,單個(gè)結(jié)點(diǎn)可以利用信道全部帶寬。
若恰巧有兩個(gè)用戶在同一時(shí)刻發(fā)送信息,則在共享媒體上就要產(chǎn)生碰撞,因此必須有解決碰撞的網(wǎng)絡(luò)協(xié)議。這些協(xié)議就是隨機(jī)訪問 MAC 協(xié)議,勝利者通過爭(zhēng)用獲得信道,從而獲得信息的發(fā)送權(quán),所以又稱為爭(zhēng)用型協(xié)議。
2.1 ALOHA 協(xié)議
2.1.1 純 ALHOA 協(xié)議
- 思想(想發(fā)就發(fā)):不監(jiān)聽信道,不按照時(shí)間槽發(fā)送,隨機(jī)重發(fā)。
- 檢測(cè)沖突:如果發(fā)生沖突,接收方就會(huì)檢測(cè)出差錯(cuò),然后不予確認(rèn),發(fā)送方在一定時(shí)間內(nèi)收不到確認(rèn)信息就判定發(fā)生沖突。
- 解決沖突:超時(shí)后等待一段隨機(jī)時(shí)間后重新發(fā)送。
2.1.2 時(shí)隙 ALHOA 協(xié)議
- 思想(控制了想發(fā)就發(fā)的隨意性):將時(shí)間分為若干個(gè)相同的時(shí)間片,所有用戶在時(shí)間片開始時(shí)刻同步接入網(wǎng)絡(luò)信道,如果發(fā)生沖突,則必須等待下一個(gè)時(shí)間片開始的時(shí)刻再發(fā)送。
【注】純 ALOHA 協(xié)議和時(shí)隙 ALOHA 協(xié)議的區(qū)別:
- 純 ALOHA 協(xié)議要比時(shí)隙 ALOHA 的吞吐量更低,效率更低。
- 純 ALOHA 協(xié)議是想發(fā)就發(fā),而時(shí)隙 ALOHA 協(xié)議只有在時(shí)間片段開始的時(shí)候才發(fā)送。
2.2 CSMA 協(xié)議
CSMA 是載波監(jiān)聽多路訪問,全稱 Carrier Sense Multiple Access (CSMA),與 ALOHA 協(xié)議的區(qū)別是多了一個(gè)載波偵聽裝置。
- CS:載波監(jiān)聽/偵聽,每一個(gè)站點(diǎn)在發(fā)送數(shù)據(jù)之前要檢測(cè)一下總線上是否有其他計(jì)算機(jī)在發(fā)送數(shù)據(jù)。
- MA:多點(diǎn)接入,表示計(jì)算機(jī)以多點(diǎn)接入的方式連接在一根總線上。
項(xiàng)目 | 1-堅(jiān)持 CSMA 協(xié)議 | 非堅(jiān)持 CSMA 協(xié)議 | p-堅(jiān)持 CSMA 協(xié)議 |
---|---|---|---|
信道空閑 | 立即發(fā)送數(shù)據(jù) | 立即發(fā)送數(shù)據(jù) | 以概率 p 發(fā)送數(shù)據(jù),以概率 1-p 推遲到下一個(gè)時(shí)隙 |
信道忙 | 繼續(xù)堅(jiān)持偵聽 | 放棄偵聽,隨機(jī)等待一段時(shí)間后再偵聽 | 持續(xù)偵聽,直到信道空閑 |
信道沖突 | 隨機(jī)等待一段時(shí)間后,重新開始偵聽 | ||
優(yōu)點(diǎn) | 只要空閑就發(fā)送,避免媒體使用率損失 | 可以減少?zèng)_突發(fā)生的可能性 | 既能減少?zèng)_突,又能增加媒體使用率 |
缺點(diǎn) | 若有兩個(gè)站點(diǎn)有數(shù)據(jù)發(fā)送,沖突就不可避免 | 可能站點(diǎn)都在等待,使得媒體使用率降低 | 發(fā)生沖突后還是堅(jiān)持要把數(shù)據(jù)幀發(fā)完,造成浪費(fèi) |
2.3 CSMA/CD 協(xié)議(碰撞檢測(cè))
- CS:載波監(jiān)聽/偵聽,每一個(gè)站點(diǎn)在發(fā)送數(shù)據(jù)之前以及在發(fā)送數(shù)據(jù)的時(shí)候要檢測(cè)一下總線上是否有其他計(jì)算機(jī)在發(fā)送數(shù)據(jù)。
- MA:多點(diǎn)接入,表示計(jì)算機(jī)以多點(diǎn)接入的方式連接在一根總線上(總線型網(wǎng)絡(luò))。
- CD:碰撞檢測(cè)(沖突檢測(cè)),邊發(fā)送邊監(jiān)聽,適配器邊發(fā)送數(shù)據(jù)邊檢測(cè)信道上信號(hào)電壓的變化情況,判斷自己在發(fā)送數(shù)據(jù)的時(shí)候其他站點(diǎn)是否也在發(fā)送數(shù)據(jù)(半雙工網(wǎng)絡(luò))。
- 應(yīng)用:有線連接的局域網(wǎng)(總線型局域網(wǎng),即以太網(wǎng))。
【注】以太網(wǎng)和局域網(wǎng)的區(qū)別:
- 分類的區(qū)別:以太網(wǎng)分類歸為總線型局域網(wǎng),而局域網(wǎng)的拓?fù)浣Y(jié)構(gòu)包括星形、樹形、環(huán)形和總線型,局域網(wǎng)是四者的統(tǒng)稱。
- 使用協(xié)議的區(qū)別:以太網(wǎng)通常采用 CSMA/CD 協(xié)議,而局域網(wǎng)的使用協(xié)議多樣,包括 TCP/IP 協(xié)議、IPX/SPX 協(xié)議、NetBEUI 協(xié)議等。
- 以太網(wǎng)是一種局域網(wǎng),但是因?yàn)楝F(xiàn)在大部分的局域網(wǎng)均為以太網(wǎng),因此一般提及局域網(wǎng)都會(huì)默認(rèn)為以太網(wǎng)。
2.3.1 傳播時(shí)延對(duì)載波監(jiān)聽的影響
如上圖所示,A 站和 D 站均需要發(fā)送數(shù)據(jù)。
【注】在局域網(wǎng)分析中,把總線上的單程端到端傳播時(shí)延記為
τ
(即將 A 向 B 發(fā)送數(shù)據(jù)的傳播時(shí)延設(shè)為τ
)。
以下為時(shí)刻表:
時(shí)刻 t | 發(fā)生的情形 |
---|---|
0 | A 發(fā)送數(shù)據(jù),D 檢測(cè)信道為空閑 |
τ-δ | A 發(fā)送的數(shù)據(jù)仍未到 D,而 D 檢測(cè)信道為空閑,所以 D 發(fā)送數(shù)據(jù) |
τ-δ/2 | A 發(fā)送的數(shù)據(jù)和 D 發(fā)送的數(shù)據(jù)發(fā)生了碰撞,但這時(shí) A 和 D 都不知道發(fā)生了碰撞 |
τ | D 檢測(cè)到了碰撞,停止發(fā)送數(shù)據(jù) |
2τ-δ | A 檢測(cè)到了碰撞,停止發(fā)送數(shù)據(jù) |
因此,A 和 D 發(fā)送數(shù)據(jù)失敗。
從圖中可以看出,對(duì)于 A 來說,在發(fā)送數(shù)據(jù)后最多經(jīng)過2τ
時(shí)間后就可以知道所發(fā)送的數(shù)據(jù)是否遇到了碰撞。
爭(zhēng)用期:當(dāng)δ→0
時(shí),2τ-δ → 2τ
,稱2τ
為爭(zhēng)用期。
【注】具體的爭(zhēng)用期時(shí)間為 51.2us。因此對(duì)于 10Mbit/s 的以太網(wǎng),在爭(zhēng)用期內(nèi)可發(fā)送 512 bit,即 64B,也可以說爭(zhēng)用期是 512 比特時(shí)間(1 比特時(shí)間:發(fā)送 1 比特所需的時(shí)間)。
2.3.2 最小幀長(zhǎng)問題
最小幀長(zhǎng)問題:在檢測(cè)到碰撞之前,由于數(shù)據(jù)幀太短,還未來得及停止發(fā)送數(shù)據(jù),數(shù)據(jù)已經(jīng)發(fā)送完畢了。
解決辦法:幀的發(fā)送時(shí)延 ≥ 2 * 總線傳播時(shí)延 = 2τ
幀的發(fā)送時(shí)延 = 幀長(zhǎng) (bit) / 數(shù)據(jù)傳輸速率
- 當(dāng)取等號(hào)時(shí),有
最小幀的發(fā)送時(shí)延 = 2 * 總線傳播時(shí)延 = 2τ
,此時(shí)最小幀長(zhǎng) = 2 * 總線傳播時(shí)延 * 數(shù)據(jù)傳輸速率 = 2τ * 數(shù)據(jù)傳輸速率
【注】以太網(wǎng)規(guī)定的最短幀長(zhǎng)為 64B,凡是長(zhǎng)度小于 64B 的都是由于沖突而異常終止的無(wú)效幀。如果發(fā)送的數(shù)據(jù)小于 64B,則必須加入一些填充字節(jié),使幀長(zhǎng)不小于 64B。這就意味著,在以太網(wǎng)發(fā)送數(shù)據(jù)時(shí),若前 64B 未發(fā)生沖突,那么后續(xù)數(shù)據(jù)也一定不會(huì)發(fā)生沖突。即,如果發(fā)生沖突,一定發(fā)生在發(fā)送前 64B 數(shù)據(jù)的時(shí)刻。
2.3.3 截?cái)喽M(jìn)制指數(shù)退避算法
若檢測(cè)到了碰撞,則需要選擇另一個(gè)時(shí)機(jī)重傳數(shù)據(jù),這就是截?cái)喽M(jìn)制指數(shù)退避算法。
- 確定一個(gè)基本退避(推遲)時(shí)間爭(zhēng)用期
2τ
。 - 令
k = min{10, 重傳次數(shù)}
。 - 從離散的整數(shù)集合
[0, 1, 2,…, 2k-1]
中隨機(jī)取出一個(gè)數(shù) r,重傳所需要的退避時(shí)間 = 2rτ
。 - 當(dāng)重傳達(dá)到 16 次仍不能夠成功時(shí),說明網(wǎng)絡(luò)太過擁擠,此時(shí)認(rèn)為幀永遠(yuǎn)無(wú)法正確發(fā)出,拋棄此幀,并向高層報(bào)告錯(cuò)誤。
過程如下:
重傳次數(shù) | k | 在整數(shù)集合中隨機(jī)選取一個(gè)數(shù) r | 重傳推遲時(shí)間 |
---|---|---|---|
1 | 1 | 0, 1 | 0 或 2τ |
2 | 2 | 0, 1, 2, 3 | 0 或 2τ 或 4τ 或 6τ |
3 | 3 | 0, 1, 2, 3, 4, 5, 6, 7 | 0 或 2τ 或 4τ 或 6τ 或 8τ 或 10τ 或 12τ 或 14τ |
4 | 4 | 0, 1, …, 15 | 0 或 2τ 或 4τ 或 6τ 或 8τ 或 10τ 或 12τ 或 14τ 或…或 30τ |
5 | 5 | 0, 1, …, 31 | 0 或 2τ 或 4τ 或 6τ 或 8τ 或 10τ 或 12τ 或 14τ 或…或 62τ |
… | … | … | … |
10 | 10 | 0, 1, …, 1023 | 0 或 2τ 或 4τ 或 6τ 或 8τ 或 10τ 或 12τ 或 14τ 或…或 2046τ |
11 | 10 | 0, 1, …, 1023 | 0 或 2τ 或 4τ 或 6τ 或 8τ 或 10τ 或 12τ 或 14τ 或…或 2046τ |
… | … | … | … |
16 | 10 | 0, 1, …, 1023 | 0 或 2τ 或 4τ 或 6τ 或 8τ 或 10τ 或 12τ 或 14τ 或…或 2046τ |
2.3.4 CSMA/CD 協(xié)議的內(nèi)容
網(wǎng)絡(luò)適配器的工作如下:
- (1)準(zhǔn)備發(fā)送:適配器從網(wǎng)絡(luò)層獲得一個(gè)分組,加上以太網(wǎng)的首部和尾部,組成以太網(wǎng)幀,放入適配器的緩存中。
- (2)檢測(cè)信道:若檢測(cè)到信道忙,則繼續(xù)不停檢測(cè),一直到信道空閑。此時(shí)若在 96 比特時(shí)間內(nèi)信道保持空閑,則開始發(fā)送數(shù)據(jù)幀。
-
(3)邊發(fā)送邊監(jiān)聽:有兩種可能:
- 發(fā)送成功:爭(zhēng)用期內(nèi)一直未檢測(cè)到碰撞,就認(rèn)為發(fā)送成功。
- 發(fā)送失敗:爭(zhēng)用期內(nèi)檢測(cè)到碰撞,這時(shí)立即停止發(fā)送數(shù)據(jù),并發(fā)送人為干擾信號(hào)。適配器執(zhí)行退避算法,等待 r 倍 512 比特時(shí)間(爭(zhēng)用期時(shí)間)后檢測(cè)信道(回到第 2 步)。
2.3.5 相關(guān)例題
【例 1】長(zhǎng)度為 1km,數(shù)據(jù)傳輸速率為 10Mb/s 的以太網(wǎng),電磁信號(hào)傳播速率為 2×105km/s,則其最短幀長(zhǎng)為?
【解】1km 電纜的單程傳播時(shí)間為 (1km) / (2×105km/s) = 5us,來回路程傳播時(shí)間為 10us。
最短幀長(zhǎng) = 10Mb/s × 10us = (10×106b/s) × (10×10-6s) = 100bit。
【例 2】考慮建立一個(gè) CSMA/CD 網(wǎng),電纜長(zhǎng) 1km,不使用重發(fā)器,運(yùn)行速率為 1Gb/s,電纜中的信號(hào)速度是 2×105km/s,求最小幀長(zhǎng)度是多少?
【解】1km 電纜的單程傳播時(shí)間為 (1km) / (2×105km/s) = 5us,來回路程傳播時(shí)間為 10us。
最短幀長(zhǎng) = 1Gb/s × 10us = (109b/s) × (10×10-6s) = 10000bit。
【例 3】若構(gòu)造一個(gè) CSMA/CD 總線網(wǎng),速率為 100Mbps,信號(hào)在電纜中的傳播速度為 2×105km/s,數(shù)據(jù)幀的最小長(zhǎng)度為 125 字節(jié)。試求總線電纜的最大長(zhǎng)度(假設(shè)總線電纜中無(wú)中繼器)。
【解】長(zhǎng)度為 L 的電纜的單程傳播時(shí)間為 L / (2×105km/s),來回路程傳播時(shí)間為 L / (105km/s)。
最短幀長(zhǎng) = 125 × 8bit = 1000bit = (100×106b/s) × (L / (105km/s)),把 L 解出來即可:L = 1000m。
2.4 CSMA/CA 協(xié)議(碰撞避免)
IEEE 802.11 標(biāo)準(zhǔn)是現(xiàn)今無(wú)線局域網(wǎng)通用的標(biāo)準(zhǔn),它定義了應(yīng)用于無(wú)線局域網(wǎng)的 CSMA/CA 協(xié)議。
- CA:碰撞避免,并不是完全避免碰撞,而是盡量降低碰撞發(fā)生的概率。
- 應(yīng)用:無(wú)線連接的局域網(wǎng)。
【注】無(wú)線局域網(wǎng)不能使用 CSMA/CD 協(xié)議,只能使用改進(jìn)的 CSMA/CA 協(xié)議。原因有兩點(diǎn):
- 接收信號(hào)的強(qiáng)度往往遠(yuǎn)小于發(fā)送信號(hào)的強(qiáng)度,而且無(wú)線介質(zhì)上信號(hào)強(qiáng)度的動(dòng)態(tài)變化范圍很大,硬件上很難實(shí)現(xiàn)碰撞檢測(cè)。
- 隱蔽站問題:對(duì)方發(fā)送的信號(hào)檢測(cè)不到,但能產(chǎn)生碰撞。
2.4.1 處理隱蔽站問題——RTS 和 CTS
隱蔽站問題:站 A 和 B 都在 AP 的覆蓋范圍內(nèi),但 A 和 B 相距較遠(yuǎn),彼此都聽不見對(duì)方。當(dāng) A 和 B 檢測(cè)到信道空閑時(shí),都向 AP 發(fā)送數(shù)據(jù),導(dǎo)致碰撞的發(fā)生。
為了避免該問題,802.11 允許發(fā)送站對(duì)信道進(jìn)行預(yù)約。
源站要發(fā)送數(shù)據(jù)幀之前先廣播一個(gè)很短的請(qǐng)求發(fā)送 RTS(Request To Send)控制幀,它包括源地址、目的地址和這次通信(含相應(yīng)的確認(rèn)幀)所持續(xù)的時(shí)間,該幀能被其范圍內(nèi)包括 AP 在內(nèi)的所有站點(diǎn)聽到。
若信道空閑,則 AP 廣播一個(gè)允許發(fā)送 CTS (Clear To Send)控制幀,它包括這次通信所需的持續(xù)時(shí)間(從 RTS 幀復(fù)制), 該幀也能被其范圍內(nèi)包括 A 和 B 在內(nèi)的所有站點(diǎn)聽到。B 和其他站聽到 CTS 后,在 CTS 幀中指明的時(shí)間內(nèi)將抑制發(fā)送。CTS 幀有兩個(gè)目的:
- 給源站明確的發(fā)送許可。
- 指示其他站點(diǎn)在預(yù)約期內(nèi)不要發(fā)送。
2.4.2 幀間間隔(IFS)
幀間間隔定義了不同種類幀的優(yōu)先級(jí),這樣的好處是進(jìn)一步避免信道使用沖突,避開不同幀的同時(shí)發(fā)送。幀間間隔有三種:
- SIFS(最短的 IFS,最高優(yōu)先級(jí)):長(zhǎng)度為 28us,用于 ACK 幀、CTS 幀、由過長(zhǎng)的 MAC 幀分片后的數(shù)據(jù)幀,以及所有回答 AP 探詢的幀和在 PCF 方式中接入點(diǎn) AP 發(fā)送出的任何幀。
- PIFS(中等長(zhǎng)度 IFS,點(diǎn)協(xié)調(diào) IFS,中等優(yōu)先級(jí)):用于 PCF 時(shí)站點(diǎn)傳送幀所必需等待的時(shí)間。
- DIFS(最長(zhǎng)的 IFS,分布式協(xié)調(diào) IFS,最低優(yōu)先級(jí)):長(zhǎng)度為 128us,用于 DCF 時(shí)站點(diǎn)傳送幀前所必須等待的時(shí)間,以及用來發(fā)送數(shù)據(jù)幀和管理幀。
優(yōu)先級(jí)的作用:
- 高優(yōu)先級(jí)需要等待的時(shí)間較短,因此可優(yōu)先獲得發(fā)送權(quán)。
- 低優(yōu)先級(jí)需要等待的時(shí)間較短,若某個(gè)站的低優(yōu)先級(jí)幀還沒來得及發(fā)送,而其他站的高優(yōu)先級(jí)幀已發(fā)送到信道上,則信道變?yōu)槊Γ蚨蛢?yōu)先級(jí)幀只能推遲發(fā)送,這樣就減少了碰撞的機(jī)會(huì)。
2.4.3 CSMA/CA 協(xié)議的內(nèi)容
- 在發(fā)送數(shù)據(jù)之前,先檢測(cè)信道是否空閑。
- 空閑的話則發(fā)出 RTS(Request to send);信道忙則等待。
- 接收端接收到 RTS 后會(huì)響應(yīng) CTS(Clear to send)。
- 發(fā)送端收到 CTS 后,開始發(fā)送數(shù)據(jù)幀(同時(shí)預(yù)約信道:發(fā)送方告知其他站點(diǎn)自己要傳多久的數(shù)據(jù))。
- 接收端收到數(shù)據(jù)幀后,將用 CRC 來檢驗(yàn)數(shù)據(jù)是否正確,正確的話則響應(yīng) ACK 幀。
- 發(fā)送方收到 ACK 以后就可以進(jìn)行下一個(gè)數(shù)據(jù)幀的發(fā)送,若沒有則一直重傳至規(guī)定重發(fā)次數(shù)為止(采用二進(jìn)制指數(shù)退避算法來確定隨機(jī)的推遲時(shí)間)。
【注】CSMA/CA 協(xié)議的基本思想是在發(fā)送數(shù)據(jù)時(shí)先廣播告知其他結(jié)點(diǎn),讓其他結(jié)點(diǎn)在某段時(shí)間內(nèi)不要發(fā)送數(shù)據(jù),以免出現(xiàn)碰撞。CSMA/CD協(xié)議的基本思想是發(fā)送前偵聽,邊發(fā)送邊偵聽,一旦出現(xiàn)碰撞馬上停止發(fā)送。
3 動(dòng)態(tài)劃分信道——輪詢?cè)L問 MAC 協(xié)議
輪詢?cè)L問 MAC 協(xié)議的特點(diǎn):不產(chǎn)生沖突,且發(fā)送時(shí)占用全部帶寬。文章來源:http://www.zghlxwxcb.cn/news/detail-415430.html
3.1 輪詢協(xié)議
- 輪詢協(xié)議:主結(jié)點(diǎn)會(huì)輪流邀請(qǐng)從屬結(jié)點(diǎn)發(fā)送數(shù)據(jù)。
-
問題:
- 存在輪詢開銷。
- 等待延遲。
- 單點(diǎn)故障:主結(jié)點(diǎn)故障后,從屬結(jié)點(diǎn)無(wú)法發(fā)送信息。
3.2 令牌傳遞協(xié)議
文章來源地址http://www.zghlxwxcb.cn/news/detail-415430.html
- 令牌:一個(gè)特殊格式的MAC控制幀,不包含任何信息,可以控制信道的使用,確保同一時(shí)刻只有一個(gè)結(jié)點(diǎn)獨(dú)占信道。
- 令牌環(huán)網(wǎng):邏輯上是環(huán)形拓?fù)洌锢砩鲜切切屯負(fù)洹?/li>
- 特點(diǎn):常用于負(fù)載較重、通信量較大的網(wǎng)絡(luò)中。
-
數(shù)據(jù)和令牌的傳遞過程:
- 網(wǎng)絡(luò)空閑時(shí),沒有主機(jī)要傳遞信息,令牌在各個(gè)主機(jī)之間循環(huán)傳遞。
- 當(dāng)主機(jī)要發(fā)送信息的時(shí)候,等待令牌傳遞到當(dāng)前主機(jī),修改令牌的標(biāo)志位,使得令牌從空閑的狀態(tài)變成忙碌的狀態(tài),然后再在令牌的控制幀后面加上數(shù)據(jù),構(gòu)成數(shù)據(jù)幀。
- 發(fā)送數(shù)據(jù)幀,接收到的站點(diǎn)一邊轉(zhuǎn)發(fā)數(shù)據(jù),一邊查看幀的目的地址。如果目的地址和自己的地址相同,那么接收站就賦值該數(shù)據(jù)幀以便進(jìn)一步處理。
- 輪轉(zhuǎn)的發(fā)送數(shù)據(jù),當(dāng)數(shù)據(jù)再次回到發(fā)送方的時(shí)候,先檢查數(shù)據(jù)幀是否出錯(cuò),如果數(shù)據(jù)幀出錯(cuò),重新發(fā)送數(shù)據(jù);如果沒有問題,回收數(shù)據(jù)幀,不再對(duì)該令牌進(jìn)行轉(zhuǎn)發(fā),修改標(biāo)志位,然后重新產(chǎn)生一個(gè)令牌。
-
問題:
- 令牌的開銷。
- 等待開銷。
- 單點(diǎn)故障:如果其中一個(gè)計(jì)算機(jī)故障,整個(gè)路可能就斷了。
到了這里,關(guān)于【計(jì)算機(jī)網(wǎng)絡(luò)-數(shù)據(jù)鏈路層】介質(zhì)訪問控制協(xié)議(MAC協(xié)議)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!