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