HCNA Routing&Switching之交換技術基礎

1874發表於2021-08-02

  什麼是交換機?顧名思義,交換機就是用來資料包交換的;廣泛用於終端接入;它的前身是hub(集線器),hub是一個古老的裝置,它的作用也是用於終端接入,但hub有一個最大的缺點是它不能隔離衝突域;所謂衝突域就好比我們現實生活中的單行道路;衝突域的特點就是在一個衝突域內的裝置,同一時刻只能允許一個裝置傳送資料;這樣一來就很影響雙方通訊;為了解決衝突域問題,交換機出現了;交換機的出現解決了hub的衝突域問題(其原因是交換機的每個埠都是一個衝突域,而hub的所有埠都屬於一個衝突域,即交換機天生就有隔離衝突域的作用),極大提升網路的效能和安全性;

  衝突域和廣播域

  在乙太網中衝突域是由hub裝置產生的,一個hub就是一個衝突域。而交換機的一個埠屬於一個衝突域,有多少個介面就有多少個衝突域,介面之間的衝突域是相互隔離的;在同一個衝突域中的每個節點都能收到所有被髮送的幀,而在同一廣播域中的每個節點能接收任意一臺裝置發出的廣播幀;我們可以簡單理解同一衝突域中的裝置只能同一時刻一臺裝置傳送,多臺裝置接收;而在同一廣播域中的裝置,可以同一時刻多臺裝置同時傳送和接收;衝突域是基於第一層(物理層,由硬體裝置屬性決定),而廣播域是基於第二層(資料鏈路層,由協議封裝報文決定,不同協議封裝報文,其二層封裝也有所不同,比如乙太網封裝二層就是封裝源mac地址和目標mac地址,而ppp協議封裝就不用mac地址) 。

  交換機工作在資料鏈路層,對資料幀進行操作,在收到資料幀後,交換機會根據資料幀的頭部資訊對資料幀進行轉發;

  交換機的作用功能

  1、終端裝置的接入,因為交換機有很多介面可以供其他裝置接入到網路中來;

  2、乙太網資料幀的交換(資料包),根據目標mac地址轉發資料包;

  3、學習mac地址,並維護mac地址表(交換機核心工作原理,轉發資料包就是根據這張表進行的)

  4、防止二層環路(一般傻瓜交換機沒有這種功能,必須支援執行stp協議的交換機才有該功能)

  交換機的核心工作原理:根據MAC地址表中的MAC地址記錄,做出智慧轉發

  提示:交換機的工作原理很簡單,它就是靠mac地址表來進行轉發資料包;當交換機從一個介面收到一個資料包以後,首先它會檢視該資料包的目標mac地址,看看自己的mac地址表中是否有對應記錄,如果有,就根據對應的mac地址所繫結的介面,將資料包從該介面傳送出去;如果沒有,它將會從其他介面傳送出去(泛洪)

  提示:如上圖所示,當交換機收到一個資料包是傳送給目標mac為2222的主機,此時交換機會檢視自己的mac地址表,一看有對應mac地址為2222的記錄,該mac地址對應的介面為f0/2;那麼此時資料包會從f01轉發至f0/2,從而連線交換機的f0/2口的裝置就會收到連線f0/1口的裝置傳送到資料包;此時f0/3和f0/4口是收不到f0/1口傳送的資料包;

  實驗:根據下面的拓撲圖抓包分析交換機的工作原理

  配置pc1

  提示:我們把pc1的ip地址配置為1.0.0.1/8,和交換機的g0/0/1口連線;

  在檢視交換機的mac地址表,看看對應是否能夠學習到pc的mac地址呢?

  提示:可以看到交換機的mac地址表為空,沒有任何資訊;其實在真機環境中,只要對應的主機配置好ip地址以後,它會傳送免費arp(就是自己問自己,然後自己回答,其主要目的就是想讓區域網中的交換機學習自己的mac);

  在pc1上抓包,然後使用pc1Ping任意一地址(不一定是pc2),看看交換機是否會學習pc11的mac地址?

  提示:首先pc1ping1.1.1.1的時候,在pc1上會封裝1.1.1.1的mac地址,這個mac地址對應在pc1的mac地址表中沒有,此時pc1會傳送arp請求,請求區域網中的ip地址為1.1.1.1的mac地址,如果有裝置回覆這個arp請求,那麼對應pc1就能收到對應裝置的mac地址;然後pc的icmp包就會在二層封裝自己的mac地址為源mac,對方裝置的mac地址為目標mac地址,進行資料包傳送;此時對於交換機來說,在收到pc1傳送到arp請求時,它首先會檢視收到的資料包目標mac地址,一看目標mac地址為全f,此時交換機就知道這是一個廣播,此時它會將該arp請求資料包中的源mac地址和收到該包的介面做繫結並記錄域mac地址表中,然後在把該arp請求從其他介面泛洪出去;此時交換機就通過pc1傳送的arp請求包學習到pc的mac;

  驗證:檢視交換機mac地址表,看看是否學習到pc1的mac地址呢?

  提示:可以看到此時交換機的mac地址表中就記錄了pc1的mac地址和對應的介面;

  驗證:用pc1ping pc2,看看交換機是否會學習pc2的mac地址呢?

  提示:首先我們可以看到pc1ping pc2 通了,在抓包中我們發現,首先抓到了是pc1傳送到arp請求,在pc2收到pc1傳送到arp請求,檢視其地址和自己一樣,此時pc2就回復pc1,然後pc1和pc2就可以正常傳送icmp資料包了;其實在這一過程中交換機會從arp請求中學習到pc1的mac地址,從arp回覆報文中學習到pc2的mac地址,在這同時pc1會收到pc2的mac地址,pc2會收到pc1的mac地址並記錄在自己的mac地址表中;

  驗證:檢視pc1、pc2的mac地址表,看看是否記錄了對方的mac地址呢?

  驗證:檢視交換機的mac地址表,看看是否學習到pc1和pc2的mac地址呢?

  提示:交換機能夠學習到pc1和pc2的mac地址的前提是他倆都是同一vlan;交換機有了這個mac地址表,它就知道去往那個mac地址的資料包,該從那個介面傳送出去;

  交換機工作邏輯圖

  提示:交換機和路由器不同,路由器的工作是依靠路由表,如果收到資料包沒有匹配的路由,則丟包,而交換機不會,交換機收到資料包檢視mac地址表,如果mac地址表中有對應的記錄,那麼就從對應的介面轉發出去,如果沒有對應的記錄則從其他介面防洪出去;

  總結:交換機的工作過程

  1、交換機在初始狀況下mac地址為空

  2、學習mac地址:當從一個介面收到一個幀時,就會把幀內的源MAC與該介面進行繫結,放入MAC地址表;

  3、轉發資料幀:當從一個介面收到廣播幀、組播幀、未知單播幀(目標MAC不存在於MAC地址表中),就會把該幀從所有其它介面轉發出去,除了接收介面;

 

  4、當從一個介面收到已知單播幀,立即從相應的的介面轉發出去;

  交換機的mac地址表更新規則

  1、預設每條記錄儲存300秒;

  2、交換機重啟會清空所有介面學習到的mac記錄,介面關閉後會清空該介面學習到的記錄;

  3、一個源mac出現在另外一個介面上,會刪除老的記錄,新增新的記錄;也就是說一個mac只能關聯在一個介面上;但對於介面來說,一個介面可以關聯多個mac地址;比如交換機和交換機相連線;

  驗證:檢視交換機mac地址表生存時間

  提示:這個生存時間是指沒有對應介面沒有傳送資料,如果300秒鐘都沒有傳送資料,那麼對應介面學習到的mac資訊就會從mac地址表中清除,一旦有資料包傳送,那麼這個時間會重新整理;如果一直有資料包傳送,那麼該介面學習到的mac地址就會一直存放在mac地址表中;

  驗證:檢視交換機的mac地址表,看看是否清空了記錄?

  提示:可以看到現在交換機的mac地址表沒有了記錄,其原因是pc1和pc2超過300秒沒有傳送資料,所以對應學習到的mac資訊就會從該表中刪除;

  乙太網介面工作模式

  1、半雙工(half-duplex):通訊雙方都能傳送和接收資料,但不能同時進行;

  2、全雙工(full-duplex):通訊雙方都能同時接收和傳送資料;

  提示:介面的雙工模式有兩種,一種是半雙工,一種是全雙工;半雙工我們可以理解為現實生活中的單行道路,同一時間只允許一臺主機傳送資料,另外一臺主機只能接受,兩者不可同時傳送資料;而全雙工就好比雙行道路,可以允許同一時間雙發收發資料;預設情況下介面都是全雙工模式;

  3、速率(speed):介面連線時兩端進行協商,協商失敗則無法正常通訊;

  提示:預設情況下介面的速率都是自動協商,只有雙方的速率一樣,才可以實現通訊;

  配置交換機介面為半雙工模式

  提示:修改介面的雙工模式,首先要先關閉自動協商,其次1000M介面不支援半雙工;通常不建議修改雙工模式;

  修改電腦的網路卡雙工模式

  提示:如果修改電腦的速率為10M,而連線的交換機速率為100M,兩者無法實現通訊,只有速率相同的情況下才可正常通行;其次全雙工和半雙工,是建立在兩者都能通訊的前提下;所以通常情況下不建議修改交換機或終端裝置的介面的速率和雙工模式;

相關文章