首頁 >運維 >linux運維 >交換器自主學習的實作過程-更新交換表

交換器自主學習的實作過程-更新交換表

齐天大圣
齐天大圣原創
2020-12-10 21:18:467552瀏覽

我們知道,交換器不像集線器那麼傻,對一個連接埠收到的每個位元組都傳送到其他所有連接埠。交換器能夠透過自主學習能力,認識自己的每一個連接埠上連接的主機。所以,當交換器收到一個mac訊框時,它透過查看該訊框的目的位址,知道了該封包要傳送到的目的主機後,就將該封包透過另一個連接目的主機連接埠傳送給目的主機。

那麼交換器是如何認識和自​​己連結的主機的呢?這就是交換器一個智慧的地方,它是透過自主學習能力,將每一個主機的資訊儲存在交換錶中,來認識每一台主機的。

我們來透過一個簡單的例子來說明交換器是如何進行自主學習。如圖,有四台主機,MAC位址分別是ABCD,分別透過介面1、2、3、4和交換器連接起來。

交換器自主學習的實作過程-更新交換表

首先,當主機A向主機B傳送資料。當交換器收到主機A的資料時,剛開始交換表是空的,所以向除了連接埠1之外所有連接埠廣播此資料。除了主機B之外,其他主機都會丟棄收到的資料包。除外之外,將主機A資訊記錄到交換錶中,此時交換表如下

交換器自主學習的實作過程-更新交換表

#當主機B向主機A發送數據,交換器查找交換錶知道A主機在自己的1埠上,直接透過連接埠1傳送到主機A,而不用廣播了。然後,也將主機B的資訊記錄下,此時交換表如下

交換器自主學習的實作過程-更新交換表

只要主機C和D也向其他主機發送數據,那麼它們的資訊也會被記錄到交換表,所以最終交換機會認識所有主機。

想想這樣一種情況,如果交換器介面1的更換了主機,那麼交換器的交換表不就含錯誤的項目了麼?所以阿,交換表它是有生存時間的,過期的項目會自動刪除,防止連接埠更換主機或主機更換網路卡的情況。

以上是交換器自主學習的實作過程-更新交換表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn