交換機的工作原理?
12-29
交換機能同時連通許多對埠,使每一對相互通信的主機都能像獨佔通信媒體那樣,進行無衝突地傳輸數據。宿舍只有一個網路介面,但我們四個人通過一個交換機都能上網,這是為什麼?
哈哈,首先我想說抱歉,因為我沒有能用語言表達出我內心的真實意思。我就是想問,比如我們宿舍四人都在玩英雄聯盟,這四台電腦與遊戲伺服器之間產生的數據在通過一個交換機連接在一根網線上後,就彷彿各台電腦是獨佔通信線路,沒有衝突。我想強調的是交換機一頭連著四台電腦(四根網線),而另一頭連入網際網路(一根網線),這四根網線上的數據融入一根網線還不混亂,交換機怎麼做到的?這樣我就說得差不多了。這位大哥 @ygb8745已經給了我一些靈感,就是分組交換! 底下各位即使有回答不是很對題的,也是由於我表達不清,但你們的回答都讓我學到了一些東西,謝謝!
交換機中有一張MAC地址轉發表,記錄了MAC地址和交換機埠的對應關係,一個埠可以對應多個MAC地址,但一個MAC地址不能對應多個埠。這就使得交換機具備多級級聯的能力,每個交換機在轉發報文的時候只需要知道這個目的MAC可以從我的哪一個埠到達就行了,然後就把幀往這個埠發,至於後面的設備怎麼處理他並不關心。就這樣一級一級轉發,知道電腦的網卡實際連接的交換機把幀發到網卡以後,網卡一看目的MAC就是自己,然後就解封裝,交由三層協議棧進行處理。
以上是轉發表和轉發的過程,那麼另外一個關鍵的問題是交換機的這張MAC地址表是怎麼建立的,部分是根據主動發起請求的報文,把源MAC和從哪一個埠收到的建立對應,另一部分在收到報文的時候如果MAC表裡還沒有這個目的MAC,那麼就在除了收到這個報文的埠以外的其他埠進行一次洪泛,等待目的MAC的終端響應。
@沈萬馬隨便瞎找了張圖差不多這個意思
能讓你們宿舍四個人通過一個網路介面和一個交換機就能同時上網的是分組交換機制.交換機是實現這個機制的一環.在分組交換機制下兩台設備之間的通訊像寄郵件一樣.每個設備寫上自己和對方的地址(MAC,IP),然後都交給郵局(交換機和路由器),郵局負責將信件一封封收集起來,並排隊一封封寄出去.收件時一封封收到郵局,然後按地址分發給你們.
由於速度很快,所以每個人都感覺自己像獨佔了這一條線路.
你們宿舍每個人要買的套餐都寫在自己身份證上,然後通過宿舍窗戶扔出去,老闆收到後把各自的菜拴在身份證上再扔回來,一個窗口足夠你們用了。
當然,這個過程是足夠快的。呵呵,回答你的問題首先介紹一下分層概念。計算機網路通信是分層進行的,交換機是較低層的東東。打個比方,當你們四個同時在打遊戲,從高層次來看,就是應用層上來看,有一個伺服器在為四個客戶端提供服務。就是你能看到的層次。那麼四個客戶端和伺服器的數據怎麼被穩定的,傳送的呢?這個屬於網路層和傳輸層乾的事,這個比應用層又低一個層次。簡單來說,我們僅看網路層,給五個節點每個節點一個地址,就是ip地址。然後,數據就像平時郵局裡的郵件一樣按照目的地址投遞過去。在這一層上,我們能看到的就是五個地址之間相互傳數據。這就是互聯網。交換機的工作比上面說的層次更低,因為按照ip地址找主機是個技術活,難度大,價格高。因此,我們希望那些離得近的主機,盡量內部解決,不用互聯網設備。因此,我們就把離得近的主機放在一個圈子裡面,用mac地址來相互通信。這就像你要給隔壁老王送個蛋,就自己上門跑一趟就好。交換機就是完成這事的。在交換機看來,它僅知道,按照mac地址和埠進行數據交換。比如你們四台機器連在1,2,3,4口上,外網連8口。你們打遊戲的時候,交換機知道的是,1,2,3,4口都有數據發到8口,8口也有數據發到1,2,3,4口。具體是哪口看mac地址。當然,交換機只能完成近端通信,當目的地遠的時候就仍然需要通過網關來通信了。
正在學習相關方面知識,鍛煉一下自己,歡迎大家指正
交換機的工作原理可以用四個詞語概括:學習,直接轉發,泛洪方式,更新。
- 學習:交換機內部有一個MAC地址表,一個MAC地址對應一個介面,一個介面可以對應多個MAC地址,與介面相對應的MAC地址是指通過這個介面,交換機所能達到的所有MAC地址,當交換機一端有一個主機通過交換機發送數據,交換機首先查看數據幀的源MAC地址,如果有的話更新記錄,如果本身MAC地址中沒有相關記錄,就將源地址與其進入的介面相關記錄寫在MAC地址表中。
- 直接轉發:然後再來查看目的MAC地址,如果本身MAC地址表中有關於目的MAC地址與相應介面的記錄,就從記錄的介面轉發出去。
- 泛洪方式:如果沒有記錄,交換機就向其他所有介面轉發這個幀(除這個數據幀的入口),等到相應的主機單播回復之後,交換機記下回應數據幀的源MAC地址與對應介面,以方便下次轉發。
- 更新:同時,交換機內部的MAC地址表只有300S的存在時間,定時五分鐘會更新一次
正在學習網路運維方面知識,大家多多指教了。。。。
這裡的獨佔是指在一個交換機內不同埠之間的通信,不會影響到其他埠。
正在看書,順便答一下。理解交換機的工作原理,必須知道交換機裡面存著一個表,叫CAM結構表,這個表裡有MAC地址,埠,VLAN ID和定時器。一個MAC地址對應1個或多個埠。工作流程:當交換機接收到一個數據幀,在表中查找是否存在MAC地址和對口的對應關係的表項,如果存在,就向改對口轉發,否則像所有對口轉發。當向埠轉發的時候,CAM就添加一條終端MAC地址和埠的對應關係。一段時間後,該表項就添加了所有對口和其他的終端MAC地址。再收到一個數據幀的時候,就根據埠對應關係發送。
每一個對應關係的表項,都有一個定時器。每執行該表項一次,就重置計時器。如果很長時間沒有使用,即超時,MAC表會把該表項刪除。
推薦閱讀: