以太網CSMA/CD算法&&交換機自學習/轉發簡述

一、以太網CSMA/CD算法

  1. NIC從網絡層接收數據報,創建數據幀。
  2. 監聽信道(1-堅持):如果NIC監聽到信道空閒,則開始發送幀;如果NIC監聽到信道忙,則一直等待到信道空閒,然後發送幀。
  3. NIC發送完整個幀,而沒有檢測到其他結點的數據發送,則NIC確認幀發送成功。
  4. 如果NIC檢測到其他結點傳送數據,則中止發送,併發送阻塞信號。
  5. 中止發送後,NIC進入二進制指數退避
    第m次連續衝突後,取n=Min(m, 10)
    NIC從{0, 1, 2, …, 2n-1}中隨機選擇一個數K
    NIC等待K·512比特的傳輸延遲時間,再返回第2步
    (連續衝突次數越多,平均等待時間越長)

二、以太網交換機

特點:

  • 鏈路層設備:存儲-轉發以太網幀;檢驗到達幀的目的MAC地址,選擇性向一個或多個輸出鏈路轉發幀;利用CSMA/CD訪問鏈路,發送幀
  • 透明:主機感知不到交換機的存在
  • 即插即用
  • 自學習:交換機無需配置

在這裏插入圖片描述
主機利用共享鏈路直接連接交換機,交換機緩存幀,並在每段鏈路上利用CSMA/CD收發幀。由於每段鏈路是一個獨立的衝突域,故交換機可以多端口間同時傳輸,無衝突存在。
如圖,A-A’和B-B’的傳輸可以同時進行,沒有衝突

Q:交換機怎麼知道A’可以通過接口4到達,而B’可以通過接口5到達?
A:每個交換機有一個交換表,其中包括主機MAC地址、到達主機的接口、時間戳。

交換機:自學習

在這裏插入圖片描述
交換機通過自學習,獲知到達主機的接口信息

  • 當收到幀時,交換機“學習”到發送幀的主機(通過幀的源MAC地址),位於收到該幀的接口所連接的LAN網段
  • 將發送主機MAC地址/接口信息記錄到交換表中
    在這裏插入圖片描述

交換機:幀過濾/轉發

當交換機收到幀:

  1. 記錄幀的源MAC地址與輸入鏈路接口
  2. 利用目的MAC地址檢索交換表
  3. if 在交換表中檢索到與目的MAC地址匹配的入口
    then {
    if 目的主機位於收到幀的網段 then 丟棄幀
    else 將幀轉發到該入口指向的接口
    }
    else 泛洪 /* 向除收到該幀的接口之外的所有接口轉發 */

在這裏插入圖片描述
如上圖,例如A要發送數據幀到G,假設此時S1,S2,S3,S4中交換表都爲空。S1接受到A發送的數據幀,記錄A的MAC地址及端口,由於S1不知道G的MAC地址及端口,故S1泛洪,則有一份數據傳送到S4,S4記錄A的MAC地址及端口後也泛洪,有一份數據到S3,S3同理記錄A的MAC地址及端口並泛洪,將一份數據傳送到G,此時G回傳確認數據,交換機進行選擇性轉發,不再泛洪,此時S1,S3,S4學習到G的MAC地址及端口。

交換機 VS. 路由器

兩者均爲存儲轉發設備:
路由器:網絡層設備(檢測網絡層分組首部)
交換機:鏈路層設備(檢測鏈路層幀的首部)

兩者均使用轉發表:
路由器:理由路由算法(路由協議)計算(設置),依據IP地址
交換機:利用自學習、泛洪構建轉發表,依據MAC地址

網絡設備對比

在這裏插入圖片描述

參考文獻:
哈爾濱工業大學網課《計算機網絡之探賾索隱》李全龍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章