本實驗的目的在於驗證集線器和交換機的區別。
我們事先構建了 4 個乙太網,上面兩個乙太網使用的網路互聯裝置為集線器,下面兩個乙太網使用的網路互聯裝置為交換機,如果您構建了拓撲後,交換機的各個介面的指示燈不是綠色的,請在實時和這模擬模式下多切換幾次,直到交換機的各介面的指示燈都變為綠色即可。
為了防止 ARP 廣播請求對本實驗效果的影響,我們需要在實時模式下,讓各乙太網上面的主機之間先相互傳送一遍資料包:
之後我們選擇右下角的箭頭在我們之前互相發包的那些場景呢給它刪除掉,然後我們從實時模式切換到模擬模式,我們先將這個事件列表過濾器中的所有協議給它隱藏掉,然後我們只選擇 ICMP 的協議:
我們先來看看左上角使用集線機互聯起來的匯流排型的乙太網,我們要讓左邊這臺主機給下面這臺主機傳送一個 ICMP 的詢問報文,當下面這段主機收到詢問報文後,會給傳送方的回一個響應。那麼我們下面具體來看一下,我們進行單步操作,資料包傳送到集線器以後,集線器會讓它廣播出來,那麼上面這臺計算機收到了 ICMP 的詢問報文以後,檢查報文的目的 MAC 地址和上面這臺計算機的網路卡的 MAC 地址是不相同的,所以上面這臺計算機是拒絕接收這個資料包的:
而下面這臺計算機經過比對以後,發現這個資料包確實給他自己的,因此他解析完這個內容以後,發現需要給發作方回去一個響應,那麼我們在讓它發回響應,當響應到達了集線器以後,集線器也會把它廣播出來。同樣的道理上面這臺計算機是不會接受響應的,而左邊這臺計算機又接收了響應:
那麼同樣的操作,在左下方下面使用交換機互聯的交換式乙太網上又會出現什麼樣的情況?我們來看一下。我們讓左邊的計算機給下面的計算機傳送一個 ICMP 的詢問報文,當資料包到達交換機以後,我們可以看到交換機會把它明確的轉發出來,而不是廣播出來:
下面這臺計算機發迴響應,響應資料包到達交換機以後,交換機也會把它明確的轉發出來,而不是廣播出來,這樣我們就驗證了交換機具有過濾功能,也就是說它可以明確的轉發幀或者明確的不轉發幀:
而集線器的話,他在收到資料幀以後它會廣播出來,不管幀到底是廣播的還是單播的,它都會廣播出來。
集線器互聯
接下來我們將上面兩個匯流排型的乙太網,透過他們的集線器互聯起來,我們選擇自動連線互聯就可以了。會將原來兩個獨立的匯流排型區域網連成了一個更大的匯流排型的區域網,並且在擴大了它的覆蓋範圍的同時,我們也擴大了它的碰撞域。
然後我們再將下面這兩個使用交換機構成的交換式乙太網,透過他們交換機也互聯起來,這樣也變成了一個更大的一個交換式乙太網。注意現在這個介面是黃色的指示燈,那麼我們把它切換幾下,這時候我們看到指示燈變為綠色就可以了。
那麼現在我們在上面匯流排型的乙太網做一個實驗,我們讓 192.168.0.1 給 192.168.0.3 傳送一個 ICMP 的詢問請求,然後這臺計算機收到詢問請求後,會發回一個 ICMP 的響應,
下面來演示一下,資料包到達第一個集線器會是什麼樣,它會廣播出來,然後上面這臺計算機肯定是不會收了,那麼下面的這臺計算機是應該會接收的:
然後資料包還從介面傳遞到了這邊的集線器上,仍然是廣播出來。這三臺都不會收,而之前這邊這臺計算機在同時會把 ICMP 響應的發出來,到達了集線器以後,他又是廣播出來,這樣我們可以看到響應也被傳遞到整個匯流排上的每個主機的地方。然後我們把這個場景刪掉:
那麼同樣的操作,在下面交換式的乙太網上又會出現什麼樣的情況呢?請您想象一下會出現怎樣的傳輸情景。不知您的想象和我們的驗證是否是一致的。
碰撞模擬
下面我們再來看看這種情況,在上面的乙太網中讓最左邊的主機給左下方的主機傳送一個 ICMP 的請求,同時讓最右側的主機給最右下方的主機傳送一個 ICMP 的請求,我們看看會是什麼樣的結果。
我們可以看到當集線器在轉發這邊的 ICMP 請求的時候,以及集線器在轉發來自於這臺計算機來 ICMP 請求的時候,他們就會必然產生碰撞,最後碰撞的訊號就會傳遍整個的匯流排,每一臺計算機都會檢測到這樣的一個碰撞的訊號。
那麼同樣操作在下面交換式乙太網上又會出現什麼樣的情況,我們來進行一下模擬
廣播幀
下面我們再來看一下傳送廣播幀的情況。對於上面匯流排型乙太網來說,由於它是匯流排型的,所以即便是單播幀,它都以廣播形式傳送,那更不用說廣播幀了,所以我們只需看一下下面交換式的乙太網,那麼尤其是他的交換機,當他收到廣播幀時他是怎麼處理的?
那麼我們選擇這個地方的新增複雜的 PDU:
然後我們讓這臺主機 192.168.0.1 進行傳送,這裡目的 IP 地址我們填成 255.255.255.255,源地址自己的 IP 地址也就是 192.168.0.1,然後再加上序號填個 1 就可以了,那麼模擬設定時間的單次為 1 秒就可以了,然後點選建立 PDU:
然後我們點選這個地方的前進按鈕,那麼廣播幀的到了交換機以後,應該說它會從這上面這個介面,下面這個介面,還有右面介面把這個幀轉發出來。
當然左邊這個介面是幀的輸入介面,他不應該從這反向的把它轉發出來,我們看一下是不是這個情況那麼廣播幀就從交換機的除輸入介面外的其他介面全部給它轉發出來了。
交換機隔離碰撞域
下面我們再來看一下交換機可以隔離碰撞域或者是衝突的情況。那麼我們看一下上面匯流排型的乙太網,我們把它們之間的這兩個集線器之間的現有的斷開,這樣原來一個大的衝突域被我們分割成了兩個小的衝突域,但是現在這兩個小的衝突域很顯然他們是沒辦法通訊的,如果我給他們放一臺交換機的話,然後我們把它們互聯起來,那麼這到底是形成了一個更大的碰撞域,還是說這兩個還是獨立的碰撞域,我們在理論講解的時候已經講過,用交換機把獨立的碰撞域互聯起來以後,通訊的範圍可以擴大,但是各自還是各自的衝突域,它不會合併成一個大的衝突域。我們可以看到交換機的兩個介面還是橙色的,那麼我們把它這右下角反攻和切換多點選幾次,直到它成為全部是綠燈,這個指示可以正常工作了。
下面我們來看一下怎麼看這個地方是一個獨立的碰撞域,而這邊是一個獨立的碰撞域呢?那麼我們就發一個簡單的資料包,就我們可以看到我們如果把這個資料包讓左邊主機發給下面這臺主機,想象一下會是什麼情況,資料包到了集線器以後,實際上是廣播出來的,上面也走,右面也走,下面也會傳送出來。我們看一下是不是這個情況,但是資料包到達交換機以後,想象一下它會被從介面轉發出來嗎?應該不會,我們來看一下是不是這樣的情況,為什麼會傳送出來的?跟我們想象當中的不一樣,這裡需要說明一下的是,由於交換機是我們新接入的,它的幀交換表或者叫做轉發表是空的,它收到這樣一個幀呢,它其實並不知道這個幀應該怎麼轉發,所以他就要其實是用洪範的方法,也就是除了進口他不發,他收到這個幀是哪個口進來的,他不會再把它反向打出去,但是它剩餘的介面都會發出來,所以就從這邊打出來了。
那麼當經歷了這樣一個過程之後,那麼下面我們把這個情況給它刪除掉,那麼實際上就經過剛才的那麼一個過程,他轉發了一次以後,交換機進行自學習,它的交換表已經有一條記錄了,所以之後我們再來看看同樣的操作。這個時候我們就看到了對交換機收到這樣的一個資料包以後,他查了他的轉發表,認為這個資料包不應該從右面介面把它再轉發出去,所以這個幀就不會發到右面這個地方了。這個就可以說明我們的交換機其實是可以隔離不同的碰撞域的。