一、信道劃分介質訪問控制
介質訪問控制:多個節點共享同一個“總線型”廣播信道時,可能發生“信號沖突”
應該怎么控制各節點對傳輸介質的訪問,才能減少沖突,甚至避免沖突?
時分復用(TDM)
時分復用:將時間分為等長的“TDM 幀”,每個“TDM 幀”又分為等長的 m 個“時隙”,將 m 個時隙分配給 m 對用戶(節點)使用
TDM 的缺點:
每個節點最多只能分配到信道總帶寬的 1/m
如果某節點暫不發送數據,會導致被分配的“時隙”閑置,信道利用率低
如何解決這個問題呢?
可統計每個節點對信道的使用需求,動態按需分配時隙
統計時分復用(STMD)
統計時分復用:又稱異步時分復用,在TDM 的基礎上,動態按需分配時隙
STDM 的優點:
- 如果需要時,一個節點可以在一段時間內獲得所有的信道帶寬資源
- 如果某節點暫不發送數據,可以不分配“時隙”,信道利用率更高
頻分復用(FDM)
頻分復用(FDM):是將信道的總頻帶劃分為多個子頻帶,每個子頻帶作為一個子信道,每對用戶使用一個子信道進行通信
FDM 的優缺點:
- 優點:各節點可同時發送信號;充分利用了信道帶寬(Hz)
- 缺點:FDM 技術只能用于模擬信號的傳輸
波分復用(WDM):即光的頻分復用:
光信號的頻帶范圍(帶寬)非常大,因此很適合采用波分復用技術,將一根光纖在邏輯上拆分為多個子信道
碼分復用
2G、3G 移動網絡時代,節點和節點之間的通信常使用 CDMA技術,而 CDMA 技術的底層原理就是碼分復用(CDM)
CDM 技術允許信號相互干擾,相互疊加。接收方有辦法將來自各節點的信號值分離”出來
①給各節點分配專屬"碼片序列”
“碼片序列"包含 m 個碼片(信號值),可看作"m 維向量”(m 維向量的分量通常取 1或-1
要求:各節點的"m 維向量"必須相互正交
Tips:相互通信的各節點知道彼此的"碼片序列"
②發送方如何發送數據
節點發出 m 個信號值與"碼片序列"相同,表示比特 1
節點發出 m 個信號值與"碼片序列"相反,表示比特 0
③信號在傳輸過程中"疊加"
當多個發送方同時發送數據時,信號值會疊加(注:本質是多個 m 維向量的加法)
④接收方如何接收數據
接收方收到的是"看加"信號,需要從中"分離"出各發送方的數據
疊加信號與發送方的碼片序列作"規格化內積”
- 結果為 1,表示比特 1
- 結果為-1,表示比特 0
二、隨機訪問介質訪問控制
- 在隨機訪問協議中,不采用集中控制方式解決發送信息的次序問題,所有用戶能根據自己的意愿隨機地發送信息,占用信道全部速率。
- 在總線形網絡中,當有兩個或多個用戶同時發送信息時,就會產生的沖突(碰撞,即前面所說的相互干擾),導致所有沖突用戶的發送均以失敗告終。
- 為了解決隨機接入發生的碰撞,每個用戶需要按照一定的規則反復地重傳它的幀,直到該幀無碰撞地通過。這些規則就是隨機訪問介質訪問控制協議,常用的協議有 ALOHA 協議、CSMA 協議、CSMACD 協議和 CSMA/CA 協議等,它們的核心思想都是:勝利者通過爭用獲得信道,從而獲得信息的發送權。因此,隨機訪問介質訪問控制協議又稱爭用型協議。
- 如果介質訪問控制采用信道劃分機制,那么結點之間的通信要么共享空間,要么共享時間,要么兩者都共享:而如果采用隨機訪問控制機制,那么各結點之間的通信就可既不共享時間,也不共享空間。所以隨機介質訪問控制實質上是一種將廣播信道轉化為點到點信道的行為。
三、ALOHA 協議
ALOHA 協議是由美國夏威夷大學開發的一種網絡協議。處于 OSI 模型中的數據鏈路層。它屬于隨機存取協議中的一種。它分為純 ALOHA 協議和時隙 ALOHA 協議。
純 ALOHA
純 ALOHA 協議思想:不監聽信道,不按時間發送,隨機重發,想發就發
沖突如何檢測?
如果發生沖突,接收方在就會檢測出差錯,然后不予確認,發送方在一定時間內收不到就判斷發生沖突。
沖突如何解決?
超時后等一隨機時間再重傳。
時隙 ALOHA
時隙 ALOHA 協議的思想:把時間分成若干個相同的時間片,所有用戶在時間片開始時刻同步接入網絡信道,若發生沖突,則必須等到下一個時間片開始時刻再發送。
控制想發就發的隨意性
對比純 ALOHA 和時隙 ALOHA
- 純 ALOHA 比時隙 ALOHA 吞吐量更低,效率更低
- 純 ALOHA 想發就發,時隙 ALOHA 只有在時間片段開始時才能發
四、CSMA協議
CSMA 協議:是一種允許多個設備在同一信道發送信號的協議,其中的設備監聽其它設備是否忙碌,只有在線路空閑時才發送。
CS:載波偵聽/監聽,每一個站在發送數據之前要檢測一下總線上是否有其他計算機在發送數據。
當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(互相疊加)。當一個站檢測到的信號電壓擺動值超過一定門限值時,就認為總線上至少有兩個站同時在發送數據,表明產生了碰撞,即發生了沖突。
MA:多點接入,表示許多計算機以多點接入的方式連接在一根總線上
協議思想:發送幀之前,監聽信道
1-堅持 CSMA
堅持:指的是對于監聽信道忙之后的堅持。
1-堅持 CSMA 思想:
如果一個主機要發送消息,那么它先監聽信道。空閑則直接傳輸,不必等待。
忙則一直監聽,直到空閑馬上傳輸。如果有沖突(一段時間內未收到肯定回復),則等待一
個隨機長的時間再監聽,重復上述過程。
優點:只要媒體空閑,站點就馬上發送,避免了媒體利用率的損失,
缺點:假如有兩個或兩個以上的站點有數據要發送,沖突就不可避免。
傳播延遲對 1-堅持 CSMA 協議的性能影響較大。
結點 A開始發送數據時,結點 B也正好有數據要發送,但這時結點 A發出數據的信號還未到達結點 B,結點 B 偵聽到信道空閑,于是立即發送數據,結果必然導致沖突。
即使不考慮延遲,1-堅持 CSMA 協議也可能產生沖突。
例如,結點 A正在發送數據時,結點 B 和 C 也準備發送數據,偵聽到信道忙,于是堅持偵聽,結果當結點 A一發送完畢,結點 B 和 C 就會立即發送數據,同樣導致沖突。
非堅持 CSMA
非堅持: 指的是對于監聽信道忙之后就不繼續監聽,
非堅持 CSMA 思想:如果一個主機要發送消息,那么它先監聽信道。空閑則直接傳輸,不必等待。忙則等待一個隨機的時間之后再進行監聽。
優點:采用隨機的重發延遲時間可以減少沖突發生的可能性。
缺點:可能存在大家都在延遲等待過程中,使得媒體仍可能處于空閑狀態,媒體使用率降低。
非堅持 CSMA 協議在偵聽到信道忙后就放棄偵聽,因此降低了多個結點等待信道空閑后同時發送數據導致沖突的概率,但也會增加數據在網絡中的平均延遲。可見,信道利用率的提高是以增加數據在網絡中的延遲時間為代價的。
p-堅持 CSMA
p-堅持指的是對于監聽信道空閑的處理。
p-堅持 CSMA 思想:
如果一個主機要發送消息,那么它先監聽信道,空閑則以p概率直接傳輸,不必等待;概率1-p 等待到下一個時間槽再傳輸。忙則等待一個隨機的時間之后再進行監聽。
優點:既能像非堅持算法那樣減少沖突,又能像 1-堅持算法那樣減少媒體空閑時間的這種方案。
缺點:發生沖突后還是要堅持把數據幀發送完,造成了浪費。
1-堅持CSMA | 非堅持CSMA | p-堅持CSMA | |
信道空閑 | 馬上發 | 馬上發 | p概率馬上發 1-p概率等到下一個時隙再發送 |
信道忙 | 繼續監聽 | 放棄監聽,等一個隨機時間再監聽 | 繼續堅持監聽 |
五、CSMA/CD協議
協議要點:
先聽后發,邊聽邊發,沖突停發,隨機重發
截斷二進制指數規避算法
確定碰撞后的重傳時機
隨機等待一段時間 = r倍爭用期,其中r是隨機數
爭用期 = 2×最遠單向傳播時延(考慮距離最遠的兩個節點)
k沖突次數
①如果 k≤10,在[0, 2k -1]區間隨機取一個整數r
②如果 k>10,在[0,210 -1]區間隨機取一個整數r
注:
如果爭用期內沒檢測到沖突,本次幀發送就不再可能發生沖突
CSMA/CD 沒有 ACK 機制,若發送過程中未檢測到沖突,就認為幀發送成功
特別注意:
第 10 次沖突,是"隨機重發"的分水嶺
第 16 次沖突,直接躺平,放棄傳幀,報告上級(網絡層)
最短幀長:
最短幀長 = 2×最大單向傳播時延×信道帶寬
若收到的幀小于最短幀長,視為無效幀
CSMA/CD 協議的“沖突停發”規則會導致小于最短幀長的“非法幀”
如果 A節點發送的數據幀長度小于最短幀長,可能會導致 A節點“誤以為”
發送過程中沒有發生沖突,但實際上已經發生了沖突。
如果實際要發送的數據很少,可“填充”至合法長度后再發送
當接收方從信道收到一個幀會做哪些判斷?
① 判斷是否小于“最短幀長”,'是,則丟棄幀
② 判斷是不是發給自己的幀,相當于判定目的地址,"否’,則丟棄幀
③ 使用 CRC 校驗,判定幀是否存在差錯,'是’,則丟棄幀
以上均無問題,則接收幀,并將數據部分交給網絡層
最長幀長:規定最長幀長可防止某些節點一直占用信道
以太網規定:
最短幀長=64B
最長幀長=1518B
六、CSMA/CA協議
協議要點:
若信道空閑,間隔 DIFS 后,再發送幀(一口氣發完,發送過程中不用檢測沖突)
若信道不空閑,則進行“隨機退避"
隨機退避原理:
① 用二進制指數退避算法確定一段隨機退避時間(倒計時)
② 發送方會保持監聽信道,只有信道空閑時才"扣除倒計時"倒計時結束后立即發送幀(此時信道“聽起來"一定空閑)
接收方:(采用停止等待協議)
每收到一個正確數據幀都返回 ACK;若發送方超時未收到 ACK,則進行”隨機退避”
CSMA | CSMA/CD | CSMA/CA | |
原理 | 先監聽,若信道空閑,在發送 | 邊發送邊監聽,檢測到沖突立即停止發送 | 發送過程中不用檢測沖突,發送前想辦法盡量避免沖突(但無法完全避免) |
適用于 | 適用于有線網絡(如:以太網技術) | 適用于無線網絡:(如:IEEE 802.11標準的無線局域網技術,即WIFI) |
無線局域網(WIFI)
AP(Access Point):接入點,也就是你平時連接的無線 WiFi熱點
為什么不采用 CSMAICD 協議?
1)硬件上很難實現“邊聽邊發,沖突檢測”;因為接收信號的強度往往遠小于發送信號的強
度,且在無線介質上信號強度的動態變化范圍很大。
- 存在“隱蔽站”問題;在無線通信中,并非所有站點都能夠聽見對方。發送結點處沒有沖突并不意味著在接收結點處就沒有沖突。
幀間間隔((InterFrame Gap)
DIFS(分布式協調IFS):最長的幀間間隔
SIFS(短 IFS):最短的幀間間隔。預留 SIFS 用于處理收到的幀(如完成差錯控制等)
PIFS(中等長度的IFS),不考察了解即可
時間長度:DIFS > PIFS > SIFS
解決隱蔽站問題
信道預約機制(可選功能)
- 發送方廣播 RTS 控制幀(先聽后發,忙則退避)
- AP 廣播 CTS 控制幀
- 其他無關節點收到 CTS 后自覺"禁言"一段時間(即:虛擬載波監聽機制);發送方收到 CTS 后,就可以發送數據幀
- AP 收到數據幀后,進行 CRC 校驗,若無差錯就返回 ACK 幀
RTS 控制幀(Request ToSend,請求發送):
它包括源地址、目的地址和這次通信所需的持續時間。
CTS 控制幀(Clear To send,允許發送):
它也包括源地址、目的地址和這次通信所需的持續時間。
注 1:如果超時未收到 CTS,說明預約失敗,則“隨機退避”后再次 RTS 預約
注 2:“先預約,再發送”這種模式可以啟用、也可以不啟用。
七、令牌傳遞協議(輪循訪問)
令牌環網技術:IBM 公司于1984 開發的一種局域網技術
核心特點:
環形拓撲結構,各節點“輪詢訪問”信道,不會發生信道沖突。
如何實現“介質訪問控制”:
令牌傳遞協議
- 令牌傳遞又稱“標記傳送”,局部網數據送取的一種控制方法,多用于環形網。
- 令牌由專用的信息塊組成,典型的令牌由連續的8位“1”組成。當網絡所有節點都空閑時,令牌就從一個節點傳送到下一個節點。當某一節點要求發送信息時,它必須獲得令牌并在發送之前把它從網絡上取走。一旦傳送完數據,就把令牌轉送給下一個節點,每個節點都具備有發送/接收令牌的裝置。使用這種傳送方法決不會發生碰撞,這是因為在某一瞬間只有一個節點有可能傳送數據。
最大的問題是令牌在傳送過程中丟失或受到破壞,從而使節點找不到令牌從而無法傳送信息。
- TCU:環接口干線耦合器。它的主要作用是傳遞經過的所有幀,為接入站發送和接收數據提供接口。它的狀態有兩種:收聽狀態和發送狀態
- 沒有人使用令牌時,令牌則在環路中循環。
令牌:一個特殊格式的 MAC 控制幀,不含任何信息
控制信道的使用,確保同一時刻只有一個結點獨占信道。
令牌環網無碰撞(無沖突):
每個結點都可以在一定的時間內(令牌持有時間)獲得發送數據的權利,并不是無限制地持有令牌。
問題:
1.令牌開銷 2.等待延遲 3.單點故障
應用于令牌環網(物理星型拓撲,邏輯環形拓撲)。
采用令牌傳送方式的網絡常用于負載較重、通信量較大的網絡中。
令牌環網中令牌和數據的傳遞過程如下:
1)網絡空閑時,環路中只有令牌幀在循環傳遞。
2)令牌傳遞到有數據要發送的站點處時,該站點就修改令牌中的一個標志位,并在令牌中附加自己需要傳輸的數據,將令牌變成一個數據幀,然后將這個數據幀發送出去。
3)數據幀沿著環路傳輸,接收到的站點一邊轉發數據,一邊查看幀的目的地址。如果目的地址和自己的地址相同,那么接收站就復制該數據幀以便進一步處理。
4)數據幀沿著環路傳輸,直到到達該幀的源站點,源站點接收到自己發出去的數據幀后便不再進行轉發。同時,發送方可以通過檢驗返回的數據幀來查看數據傳輸過程中是否有錯,若有錯則重傳該幀。
5)源站點傳送完數據后,重新產生一個令牌,并將令牌傳遞給下一個站點,以交出對媒體的訪問權限。