陳潮
(浙江警察學院計算機與信息安全系,杭州310053)
交換機和路由器是計算機網絡中使用最廣泛的兩類網絡設備,交換機用來組建局域網,路由器用來實現網絡之間的互聯,理解交換機的工作原理,掌握交換機的配置方法,是學習計算機網絡知識的基本要求之一。以太網早已經成為局域網的主流標準,日常使用交換機一般都是以太網交換機,以太網交換機的工作原理是《計算機網絡》課程的重要教學內容之一,由于計算機網絡知識抽象、前后知識點緊密關聯、網絡數據包轉發過程難以觀察和缺少實驗室支持等原因,常常導致學生對計算機網絡的工作原理難以理解、學習積極性低和開展實驗項目較少等情況,在一定程度上影響教學工作的開展,從而導致教學效果一般。在《計算機網絡》課程的實踐教學中,采用真實網絡設備進行實驗教學,存在實驗室投入大、場地要求高、網絡設備容易損壞和網絡實驗環境管理復雜等問題,特別是疫情期間,學生無法到校在實驗室開展實驗的情況下,開展仿真實驗教學具有重大意義,因此通過仿真軟件來仿真計算機網絡的工作原理,仿真軟件模擬真實數據包的轉發過程,從而加深學生對計算機網絡工作原理的理解。本文設計與實現一個基于Packet Tracer 軟件的以太網交換機工作原理仿真實驗,學生通過該仿真實驗,明顯提高了學生對以太網交換機工作原理的理解。
以太網交換機的核心功能是轉發數據幀,數據幀的轉發依靠交換機中的轉發表,而交換機的轉發表是交換機通過自學習算法自動生成和維護的,因此交換機的工作主要包括自學習生成轉發表記錄(即登記數據幀)和根據轉發表中的記錄轉發數據幀,交換機的轉發表主要由MAC 地址和交換機接口兩個字段構成,其他還包括所屬VLAN 和記錄類型等字段,交換機的工作原理示意圖如圖1 所示,主要包括登記數據幀和轉發數據幀兩部分[1-3]。
轉發表的生成過程,即登記數據幀過程如下:當交換機每接收一個數據幀時,將記錄數據幀的源MAC 地址和接收該數據幀的交換機接口編號,并在轉發表查找源MAC 地址,根據查找結果分為兩種情況:①若查找成功,說明轉發表中存在該MAC 地址,則更新該記錄的有效時間;②若查找不到,說明轉發表中不存在該MAC 地址,則在轉發表中增加一條新的記錄。
轉發數據幀過程如下:根據數據幀的目的MAC 地址,在轉發表中進行查尋,根據查找結果分為兩種情況:①若未查到,則進行廣播,向除數據幀到達交換機接口外的所有交換機接口轉發;②若查到,則需要根據查到的接口是否是數據幀到達接口相同分為兩種情況:若相同,則是丟棄數據幀;若不同,則向查到的接口轉發數據幀[4-6]。

圖1 交換機工作原理示意圖
實驗使用Packet Tracer 進行仿真與實現,實驗設計中需要規劃實驗網絡拓撲和編制計算機的IP 地址,實驗設備配置中設置計算機的IP 地址、子網掩碼等信息,并將交換機的IP 地址與MAC 地址標注在實驗拓撲中,實驗準備中需要在通信雙方計算機的ARP 緩存中生成對方的記錄,解決ARP 協議對本實驗的干擾,并清空交換機的轉發表,實驗過程與分析中認真觀察數據幀的發送過程,重點觀察交換機轉發表記錄的變化和交換機對數據幀的轉發處理。
實驗拓撲如圖2 所示,由1 臺思科2960 交換機Switch1、4 臺計算機PC1、PC2、PC3 和PC4 和4 根直通雙絞線組成,4 臺計算機依次連接交換機的Fa0/1、Fa0/2、Fa0/3 和Fa0/4 接口,構成一個局域網。

圖2 實驗拓撲
實驗中計算機的IP 地址編址如表1 所示,4 臺計算機屬于192.168.1.0 網絡,子網掩碼為255.255.255.0,4 臺計算機的IP 地址和MAC 地址標注在實驗拓撲中。

表1 計算機IP 編址
由于ARP 協議會對實驗產生干擾,在實驗進行前,確保通信雙方計算機的ARP 緩存中存在對方計算機的ARP 記錄,同時清空交換機的轉發表。
在實時模式下,添加一個從PC1 到PC2 的簡單PDU 數據幀,結果如圖3 所示,在場景區域顯示通信成功。

圖3 簡單PDU數據幀通信場景
在PC1 和PC2 計算機中分別運行查看ARP 緩存記錄命令:arp-a,結果分別如圖4 和圖5 所示,分別存儲對方計算機的ARP 記錄。

圖4 PC1的ARP緩存表

圖5 PC2的ARP緩存表
在交換機的特權模式下運行命令:show macaddress-table,結果如圖6 所示,存在2 條記錄,該記錄是PC1 與PC2 的通信時,交換機對到達的數據幀進行登記,通過自學習算法生成的。

圖6 交換機的轉發表
在交換機的特權模式下運行命令:clear mac-ad?dress-table,清除交換機的轉發表,再通過命令:show mac-address-table,確認交換機的轉發表已經清空。
經過以上兩步操作,至此已經完成實驗前的準備。
本實驗設計重復發送兩個對PC1 到PC2 的簡單PDU 數據包,重點觀察第1 個數據包的傳輸過程中交換機轉發表的變化和交換機對數據幀的轉發處理,并與第2 個數據包的傳輸過各進行對比分析,整個上實驗過程分為六個步驟。
步驟一:仿真模式配置
將Packet Tracer 軟件切換到仿真模式,本實驗中使用ICMP 協議,在事件過濾器中只選擇ICMP 協議,確保只顯示ICMP 協議的數據幀,防止其他數據幀的傳輸到影響實驗過程中的觀察,同時通過工具欄的觀察工具,打開交換機的轉發表,配置結果如圖7 所示,交換機的轉發表已經清空。

圖7 工作界面
步驟二:添加一個從PC1 到PC2 的簡單PDU 數據幀。
從工具欄選擇添加簡單PDU 數據幀工具,分別單擊PC1 和PC2 計算機,生成一個從PC1 發送數據幀到PC2 的場景,并在事件列表中產生第1 個事件,數據幀在PC1 計算機,類型是ICMP 數據幀。
步驟三:觀察交換機登記數據幀的過程。
在仿真模式的播放控制中,單擊下一步,觀察數據幀從PC1 發送到交換機的過程,如圖8 所示,交換機的轉發表增加1 條記錄:MAC 地址為0001.9708.961B,即為PC1 的MAC 地址,對應接口為FastEthernet0/1,單擊交換機上的信封圖標,打開PDU 詳細信息窗口,查看入站詳細信息如圖9 所示,交換機接收到的數據幀的源MAC 地址為0001.9708.961B,與交換機在轉發表中添加記錄的MAC 地址一致,證明交換機通過自學習算法完成轉發表記錄的添加。

圖8 交換機轉發添加記錄

圖9 交換機接收數據幀入站詳細信息
步驟四:觀察交換機轉發數據幀的過程。
交換機接收到PC1 發送的數據幀,目的MAC 地址為0060.4713.56D2,即PC2 的MAC 地址,交換機根據該MAC 地址在轉發表中進行查詢,由于當前轉發表中只有PC1 的MAC 地址,因此未查到匹配的記錄,交換機進行廣播,將數據幀發送到PC2、PC3 和PC4 計算機,如圖10 所示,其中PC3 和PC4 對收到的數據幀進行檢查,發現目的MAC 地址不是本計算機的MAC,則丟棄該數據幀,而PC2 的MAC 地址與數據幀中的目的MAC 地址相同,則收下該數據幀。

圖10 交換機廣播數據幀
步驟五:觀察PC2 響應PC1 的數據幀到交換機的過程。
PC2 計算機接收PC1 計算機發送的數據幀后,將產生一個應答數據幀,該數據幀的源MAC 地址為0060.4713.56D2,即PC2 的MAC 地址,目的MAC 地址為0001.9708.961B,即PC1 的MAC 地址,交換機接收該數據幀后,首先將源MAC 地址和接收該數據幀的交換機接口Fa0/2 添加到轉發表中,增加1 條記錄,完成登記,如圖11 所示,同時交換機根據接收數據幀的目的MAC 地址在轉發表中進行查找,目的MAC 為PC1計算機的MAC 地址,該MAC 地址在步驟二中已經添加到交換機轉發表中,因此查找到該MAC 地址對應的接口為Fa0/1,交換機從接口Fa0/1 轉發該數據幀到PC1 計算機,至此完成PC1 計算機和PC2 計算機的通信,在交換機的轉發表中成功添加PC1 和PC2 計算機的MAC 與交換機接口的映射記錄。

圖11 交換機轉發表添加記錄
步驟六:重復添加一個從PC1 到PC2 的簡單PDU數據幀,觀察交換機對數據幀的處理。
兩次數據幀的傳輸過程的事件列表如圖12 所示,對比發現,當第2 次從PC1 計算機向交換機發送數據幀,交換機的轉發表中已經存在PC2 計算機的MAC 地址,因此交換機在轉發時,能夠在轉發表中查找到記錄,不必再次進行廣播。

圖12 數據幀事件列表對比
交換機是計算機網絡中最重要的網絡設備之一,交換機的工作依靠轉發表,轉發表中記錄的生成和更新是關鍵,本文設計了一個交換機工作原理實驗,通過仿真軟件,模擬交換機轉發表的生成過程和交換機轉發數據幀的處理過程,并對同一數據幀的前后兩次傳輸進行對比分析交換機的工作原理。實踐教學表明,通過交換機工作原理仿真實驗的教學,直觀展示交換機的工作原理,加深對學生對交換機工作原理的理解,提高了學生對交換機工作原理的認識,增強了學生的學習興趣和積極性,取得較好教學效果。