常見的以太網裝置包括HUB、交換機等,交換機工作在資料鍊路層,它有效地隔離了以太網的沖突域,極大地提升了以太網的性能。
學習目标:
1. 掌握交換機的基本工作原理
2. 掌握交換機的基本配置
随着企業網絡的發展,越來越多的使用者需要接入到網絡,交換機提供的大量的接入端口能夠很好地滿足這種需求。同時,交換機也徹底解決了困擾早期以太網的沖突問題,極大地提升了以太網的性能,同時也提高了以太網的安全性。
交換機工作在資料鍊路層,對資料幀進行操作。在收到資料幀後,交換機會根據資料幀的頭部資訊對資料幀進行轉發。
接下來我們以小型交換網絡為例,講解交換機的基本工作原理。
交換機中有一個MAC位址表,裡面存放了MAC位址與交換機端口的映射關系。MAC位址表也稱為CAM(Content Addressable Memory)表。
如圖所示,交換機對幀的轉發操作行為一共有三種:泛洪(Flooding), 轉發(Forwarding),丢棄(Discarding)。
1. 泛洪:交換機把從某一端口進來的幀通過所有其它的端口轉發出去 (注意,“所有其它的端口”是指除了這個幀進入交換機的那個端口以外的所有端口)。
2. 轉發:交換機把從某一端口進來的幀通過另一個端口轉發出去(注意,“另一個端口”不能是這個幀進入交換機的那個端口)。
3. 丢棄:交換機把從某一端口進來的幀直接丢棄。
交換機的基本工作原理可以概括地描述如下:
1. 如果進入交換機的是一個單點傳播幀,則交換機會去MAC位址表中查找這個幀的目的MAC位址。
1)如果查不到這個MAC位址,則交換機執行泛洪操作。
2)如果查到了這個MAC位址,則比較這個MAC位址在MAC位址表 中對應的端口是不是這個幀進入交換機的那個端口。如果不是,
則交換機執行轉發操作。如果是,則交換機執行丢棄操作。
2. 如果進入交換機的是一個廣播幀,則交換機不會去查MAC位址表, 而是直接執行泛洪操作。
3. 如果進入交換機的是一個多點傳播幀,則交換機的處理行為比較複雜, 超出了這裡的學習範圍,是以略去不講。
另外,交換機還具有學習能力。當一個幀進入交換機後,交換機會檢查這個幀的源MAC位址,并将該源MAC位址與這個幀進入交換機的那個端口進行映射,然後将這個映射關系存放進MAC位址表。
初始狀态下,交換機并不知道所連接配接主機的MAC位址,是以MAC位址表為空。本例中,SWA為初始狀态,在收到主機A發送的資料幀之前, MAC位址表中沒有任何表項。
主機A發送資料給主機C時,一般會首先發送ARP請求來擷取主機C的MAC位址,此ARP請求幀中的目的MAC位址是廣播位址,源MAC位址是自己的MAC位址。SWA收到該幀後,會将源MAC位址和接收端口的映射關系添加到MAC位址表中。預設情況下,X7系列交換機學習到的 MAC位址表項的老化時間為300秒。如果在老化時間内再次收到主機A 發送的資料幀,SWA中儲存的主機A的MAC位址和G0/0/1的映射的老化時間會被重新整理。此後,如果交換機收到目标MAC位址為00-01-02-03- 04-AA的資料幀時,都将通過G0/0/1端口轉發。
本例中主機A發送的資料幀的目的MAC位址為廣播位址,是以交換機會将此資料幀通過G0/0/2和G0/0/3端口廣播到主機B和主機C。
主機B和主機C接收到此資料幀後,都會檢視該ARP資料幀。但是主機B不會回複該幀,主機C會處理該幀并發送ARP回應,此回複資料幀的目的MAC位址為主機A的MAC位址,源MAC位址為主機C的MAC位址。 SWA收到回複資料幀時,會将該幀的源MAC位址和接口的映射關系添加到MAC位址表中。如果此映射關系在MAC位址表已經存在,則會被重新整理。然後SWA查詢MAC位址表,根據幀的目的MAC位址找到對應的轉發端口後,從G0/0/1轉發此資料幀。
早期的以太網的工作模式都是10M半雙工的。随着技術的發展,出現了全雙工模式,接着又出現了百兆和千兆以太網。采用不同工作模式的裝置無法直接互相通信;自協商技術的出現解決了不同以太網工作模式之間的相容性問題。自協商的内容主要包括雙工模式和運作速率。一旦協商通過,鍊路兩端的裝置就具有相同的工作參數。
negotiation auto指令用來設定以太網端口的自協商功能。端口是否應該使能自協商模式,要考慮對接雙方裝置的端口是否都支援自動協商。 如果對端裝置的以太網端口不支援自協商模式,則需要在本端端口上先使用undo negotiation auto指令配置為非自協商模式。之後,修改本端端口的速率和雙工模式保持與對端一緻,確定通信正常。
duplex指令用來設定以太網端口的雙工模式。GE電口工作速率為 1000Mbit/s時,隻支援全雙工模式,不需要與鍊路對端的端口共同協商雙工模式。
speed指令用來設定端口的工作速率。配置端口的速率和雙工模式之前需要先配置端口為非自協商模式。
display interface [ interface-type [ interface-number [.subnumber ] ] ] 指令用來檢視端口目前運作狀态和統計資訊。
current state表示端口的實體狀态,如果為UP,表示端口處于打開狀态 。
Line protocol current state表示端口的鍊路協定狀态,如果為UP,表示端口的鍊路協定處于正常的啟動狀态。
Speed表示端口的工作速率,SWA的G0/0/1端口工作速率為100Mbit/s 。
Duplex表示端口的雙工模式,SWA的G0/0/1端口雙工模式為全雙工。
總結:
當一台主機從交換機的一個端口移動到另外一個端口時,交換機MAC位址表會發生什麼變化?
答:
當一台主機從交換機的一個端口移除時,交換機檢測到實體鍊路 Down,是以會從MAC位址表中清除對應主機的MAC表項。一旦主機連接配接到交換機另外一個端口,交換機會檢測到新端口對應的實體鍊路UP。主機發送封包後,交換機就會學習到主機的MAC位址和新端口的映射關系,并且添加到MAC位址表中。