【计算机网络学习笔记12】交换技术(上)
【計算機網絡學習筆記12】交換技術(上)
經典局域網的交換技術
概念
以太網是由Xerox公司創建并由Xerox、intel和DEC公司聯合開發的基帶局域網規范,是當今現有局域網采用的最通用的通信協議標準。
CSMA/CD協議
CSMA/CD協議是為了解決多個站點共享總線的問題而存在的,其工作主要內容包括:
1. 多址接入
多址接入是指多個站點共享一根總線的傳輸資源,這種方式又稱為多點訪問。
2. 載波監聽
載波監聽是指站點在發送數據前先檢測信道的狀態,是否有其他站點在發送數據信道處于忙碌狀態時無法處理其他站點的數據,則暫時不要發送數據,等待信道變為空閑時再發送。其實信到上并沒有載波,此處是指監聽信道上是否有其他站點發送數據時產生的信號電壓。
3. 碰撞檢測
碰撞檢測是指“邊發送邊監聽”,即適配器邊發送數據邊檢測信道上的信號電壓的變化情況,以判斷自己再發送數據時其他站點是否也在發送數據。當幾個站同時在總線上發送數據時,總線上的信號電壓變化幅度將會增大(互相疊加)。當適配器(網卡)檢測到的信號電壓變化幅度超過一定的門限值時,就認為總線上至少有兩個站點同時在發送數據,即信號發生了碰撞(或沖突),又稱為”沖突檢測”。發生碰撞時,總線上傳輸的信號發生了嚴重的失真,無法從中會恢復出有用的信息來。因此,每一個正在發送數據的站點,一旦發現總線上出現了碰撞,適配器都要立即停止發送,免得繼續浪費網絡資源,然后等待一段隨機時間后再次發送。
4. 延遲重發
延遲重發是指每一個正在發送數據的站點,一旦發現總線上出現了碰撞,適配都要立即停止發送,免得繼續浪費網絡資源,然后等待一段時間后再次發送。
二進制指數退避技術
發生碰撞的站點不能在等待信道變成空閑后馬上再發送數據,因為這樣會導致再次碰撞。以太網采用二進制指數退避算法(Binary Exponential Backoff)來解決碰撞后何時進行重傳的問題。這種算法讓發生碰撞的站點在停止發送數據后,推遲(即退避)一個隨機的時間再監聽信道進行重傳。如果重傳又發生了碰撞,則將隨機選擇的退避時間范圍擴大一倍。這樣做可以使得重傳時再次發生沖突的概率減小。
因為站點確認數據沒有沖突的時間是2τ,即一個爭用期,所以退避的時間范圍以爭用期為單位計算。第i次的碰撞后退避的時間范圍為2^𝑖個爭用期里進行隨機選取:
第一次沖突后,在{0,1}兩個爭用期里隨機選擇一個嘗試重傳;
第二次沖突后,在{0,1,2,3}這4個爭用期里隨機選擇一個嘗試重傳;
第三次沖突后,在{0,1,2,3,4,5,6,7}共8個爭用期里隨機;
……
當沖突次數達到10次后,因為隨機的時間范圍有1024個爭用期,再增大隨機事件范圍會導致平均延時太大,所以不再增大隨機時間范圍;
當沖突次數達到16次時,以太網認為此時打算發送數據的站點太多,以致連續發送沖突,此時丟棄該幀,并向高層報告,由高層處理。
為了保證所有站點在發送完一個幀之前能夠檢測出是否發生了碰撞,幀的發送時延不能小于2τ,即一個爭用期,以太網規定最短有效幀長為64字節。
擴展局域網
使用場景
在物理層擴展以太網
使用多個集線器,可以連接成為覆蓋更大范圍包含更多站點的多級星狀結構的以太網。
例如,將圖(a)中的三個以太網通過一個主干集線器把各部的以太網連接起來,成為一個大的以太網如圖(b)。
這里需要注意的是,在物理層擴展的以太網仍然是一個碰撞域,不能連接過多的站點,否則會導致大量的沖突。在物理層擴展以太網相當于延長了共享的傳輸媒體,由于以太網有爭用期對時延的限制,并不能無限擴大地理覆蓋范圍。
在數據鏈路層擴展以太網
網橋
網橋可以在數據鏈路層擴展以太網。網橋工作在數據鏈路層,采用存儲轉發的方式,它根據MAC幀的目的地址對收到的幀進行轉發和過濾。當網橋收到一個幀時,并不是向所有接口轉發此幀,而是先檢查此幀的目的MAC地址,然后再確定將該幀轉發到哪一個接口,或者是把它丟棄(即過濾)??梢?#xff0c;網橋就是一種數據鏈路層的分組交換機。
1、 網橋的內部結構
圖c所示為一個網橋的內部結構。最簡單的網橋只有兩個接口(常稱為端口,但與傳輸層的端口是兩個不同的概念),可以連接2個LAN。復雜些的網橋可以由多個接口,可以連接多個LAN。多個LAN通過網橋連接起來,擴展為覆蓋更廣的LAN,而原來的每個LAN就可以稱為一個網段。
網橋根據轉發表來轉發數據幀。正常情況下,網橋接收到數據幀,解析數據幀的頭部可以獲得目的主機的MAC地址;接著去查找網橋內的轉發表,當找到匹配項時,即可知道轉發端口;最后將數據幀從該端口發送出去,數據即可到達接收主機。
總的來說交換機對數據幀有兩種操作。
? 若轉發端口與接收端口一致,則丟棄;
? 若轉發端口與接收端口不一致,則按照轉發端口轉發數據幀;
2、 透明網橋
要實現透明網橋,需要兩種算法:一種是后向學習算法(Backward Learning),讓網橋自動學習轉發表;另一種是生成樹(Spaning Tree)算法,解決網絡中的環路問題,將會在下一節進行討論。
后向學習算法(Backward Learning)
轉發信息可以從接收到的數據幀中學習到。因為在數據幀的MAC地址字段,不僅僅有目的主機MAC地址,還有源主機MAC地址。所以當網橋從某個X端口收到一個數據幀時,從幀頭部解析出來源主機MAC地址,就可以學習到一項轉發信息:從這個接收端口X可以到達該源主機!即可把這項信息填寫到網橋的轉發表中,這種方法稱為后向學習算法。
所以根據后向學習算法,網橋在端口X接收到一個數據幀時,解析源主機MAC地址,對照轉發表,如果轉發表中沒有該目的主機MAC地址,則將該源主機地址作為目的主機地址,接收端口X作為轉發端口,填寫進轉發表中;如果轉發表中有對應的目的主機MAC地址,用新的目的地MAC地址和接收端口替代原來的項。
作者: 梁漢榮
排版: 胖虎
初審: 正山小種
復審: 二月二
更多視頻課程請訪問 “CSDN 正月十六工作室講師學院首頁”
總結
以上是生活随笔為你收集整理的【计算机网络学习笔记12】交换技术(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【观察】红点设计博物馆里的“艺术品”
- 下一篇: vue组件间通信方法集