陳濱
(川北醫(yī)學院管理學院,四川 南充 637100)
計算機網(wǎng)絡是由一些看不見的網(wǎng)絡協(xié)議和各種可感知的具體網(wǎng)絡設備組成的,是一門典型的理論和實踐并重的學科[1]。因而針對計算機網(wǎng)絡的學習,我們不能只注重網(wǎng)絡協(xié)議這些理論知識,還應該加強實踐練習以掌握各種網(wǎng)絡設備的原理和操作,這同時可以鞏固和加深對理論知識的理解[2]。交換機作為目前網(wǎng)絡中使用最為廣泛的網(wǎng)絡設備,理解其基本的原理與功能是計算機網(wǎng)絡主要學習的目標之一。但是由于受限于現(xiàn)實的實驗室條件,相應的網(wǎng)絡硬件設備通常都比較缺乏,即使擁有部分實驗環(huán)境,學生可以分組進行實驗,但針對交換機原理與配置這種需要實際操作和驗證的實驗,往往也難以取得較好的教學效果。另一方面,在真實的設備上進行實驗,不能很好地查看和分析數(shù)據(jù)幀的傳輸情況,不能形象化地說明和驗證交換機的功能。因而,本文基于Packet Tracer進行實驗設計,詳細闡述了交換機的原理,通過Packet Tracer的交換機IOS命令以及利用Packet Tracer的仿真模式查看具體數(shù)據(jù)幀在網(wǎng)絡中的傳輸情況[3],逐步分析了交換機建立和維護MAC地址表的過程,同時也形象地展示和說明了交換機的整個工作過程。
Packet Tracer是由思科公司發(fā)布的一個輔助學習工具,為學習思科網(wǎng)絡課程的初學者提供了一個設計、配置、排除網(wǎng)絡故障的網(wǎng)絡模擬環(huán)境。該模擬器可以模擬思科的多種網(wǎng)絡設備,學習者可以通過拖拽的方式方便地建立網(wǎng)絡拓撲;并且它支持諸如HTTP、ARP、DHCP、DNS、RIP、OSPF、VTP、STP、TFTP、Telnet等常用協(xié)議,因此能完成基于ARP、VTP、DHCP等協(xié)議的實驗;此外,還可以使用Packet Tracer查看數(shù)據(jù)包(PDU)在網(wǎng)絡中詳細的處理過程,以便分析數(shù)據(jù)包的組成以及觀察網(wǎng)絡實時運行情況,可以讓學習者更好地理解網(wǎng)絡協(xié)議的工作原理和過程[4-5]。
交換機(Switch)是一種基于MAC地址識別,能完成封裝轉(zhuǎn)發(fā)數(shù)據(jù)包功能的網(wǎng)絡設備。交換機工作于OSI參考模型的數(shù)據(jù)鏈路層,它可以“學習”MAC地址,并把其存放在內(nèi)部地址表中,通過在數(shù)據(jù)幀的始發(fā)者和目標接受者之間建立臨時的交換路徑,使數(shù)據(jù)幀直接由源地址到達目的地址,而不是像集線器(Hub)一樣向所有端口廣播[6]。因此,交換機可用于分割數(shù)據(jù)鏈路層廣播(沖突域),但是不能分割網(wǎng)絡層廣播(廣播域)。
交換機為了根據(jù)MAC地址進行數(shù)據(jù)幀的轉(zhuǎn)發(fā),需要將這些MAC地址與對應的端口記錄在自己內(nèi)部的一個MAC地址表中。其具體的工作流程如下[7-9]:
(1)交換機根據(jù)收到數(shù)據(jù)幀中的源MAC地址建立該地址同交換機端口的映射,并將其寫入MAC地址表,這是交換機的學習功能。
(2)讀取數(shù)據(jù)幀頭中的目的MAC地址,并在地址表中查找相應的端口,如有與該目的MAC地址對應的端口,把數(shù)據(jù)包直接復制到該端口上,這是交換機的轉(zhuǎn)發(fā)功能。同時更新MAC地址表中該記錄的記錄時間,這是交換機的更新功能。
(3)如果數(shù)據(jù)幀中的目的MAC地址不在MAC地址表中,則向所有端口轉(zhuǎn)發(fā),這是交換機的泛洪功能。
(4)如果數(shù)據(jù)幀的目的地址指向的端口與接收數(shù)據(jù)幀的端口是同一個端口,這說明兩臺計算機通過Hub連接到同一端口,不需要交換機作轉(zhuǎn)發(fā)處理,這是交換機的過濾功能。
為了深入理解交換機的原理,熟悉交換機的基本配置命令,本實驗設計的學習目標主要有:
(1)掌握Packet Tracer網(wǎng)絡拓撲圖的繪制方法
(2)掌握交換機的基本配置命令
(3)理解交換機的原理
(4)理解交換機和集線器在工作原理上的差別
(5)熟悉Packet Tracer仿真模式的使用方法
為了達成以上的學習目標,本實驗采用如圖1所示的基于交換機星型網(wǎng)絡結(jié)構(gòu)。在該拓撲圖中,采用了思科2960二層交換機,同時使用了集線器連接PC3和PC4,用來驗證交換機和集線器在工作原理上的差異。
圖1 仿真實驗拓撲結(jié)構(gòu)圖
為了使得整個實驗有針對性和可操作性,實驗步驟之間的關系應該是一個難易度由低到高的遞增的關系。具體步驟和要求如下:
(1)根據(jù)實驗要求在Packet Tracer中畫出網(wǎng)絡拓撲圖。
(2)為各個PC設備配置IP地址、子網(wǎng)掩碼和MAC地址,并驗證各設備的連通性。各PC設備的詳細參數(shù)分配如表1所示。
表1 PC設備參數(shù)分配表
(3)對各交換機做基本的配置,比如設置名字、密碼等。
(4)通過交換機命令查看交換機的MAC地址表。
(5)通過發(fā)送數(shù)據(jù)幀驗證交換機的學習、轉(zhuǎn)發(fā)、泛洪、過濾功能。
(6)通過查看數(shù)據(jù)幀的傳輸情況驗證交換機和集線器的工作原理的差異。
下面依據(jù)實驗設計好的步驟,詳細說明每一步的操作過程。
(1)依照圖1中的網(wǎng)絡拓撲圖,從Packet Tracer的網(wǎng)絡組件區(qū)中選擇對應的網(wǎng)絡設備拖到邏輯工作區(qū)中,并用對應的網(wǎng)絡線纜進行連接。
(2)通過各PC的配置頁面來配置IP地址、掩碼和MAC地址。依照表1中的分配,為PC0配置地址如圖2所示,PC1~PC4依照PC0的配置方式進行。
圖2 PC0設備的參數(shù)配置
(3)對交換機進行基本的配置,比如禁用DNS查找,配置特權(quán)模式口令為admin,將控制臺和vty連接口令配置為hello等。具體的配置命令如下:
Switch(config)#no ip domain-lookup//禁用DNS查找
Switch(config)#enable secret admin//配置特權(quán)模式口令
Switch(config)#line console 0//配置控制臺口令
Switch(config-line)#password admin
Switch(config-line)#login
Switch(config-line)#line vty 015//配置VTY口令
Switch(config-line)#password hello
Switch(config-line)#login
(4)使用ping命令驗證各PC之間的連通性,確保所有PC都可以互通之后點擊Power Cycle Devices重啟整個網(wǎng)絡,這樣可以清空MAC地址表,同時在交換機上執(zhí)行show macaddress-table,以查看MAC地址表,確認其為空,如圖3所示。
圖3 交換機初始MAC地址表
(5)切換Packet Tracer到仿真模式,點擊Edit Filter,只選擇其中的ARP,再點擊Capture/Forward啟動數(shù)據(jù)幀捕獲。然后在PC0上執(zhí)行ping 192.168.10.12,接著通過點擊Capture/Forward來傳遞ARP數(shù)據(jù)幀,如圖4所示。當ARP數(shù)據(jù)幀到達交換機時,通過在交換機上執(zhí)行show mac-address-table,可以查看到交換機的MAC地址表中有了PC0的MAC地址和對應的端口記錄,說明交換機學習了到PC0的MAC和端口記錄。
圖4 交換機的學習功能的驗證
(6)繼續(xù)點擊Capture/Forward按鈕,由于交換機MAC地址表中沒有PC2的MAC地址的記錄,因而交換機向所有其它端口廣播該數(shù)據(jù)幀,如圖5所示,這就是交換機的泛洪功能。這個時候可以選擇點擊Reset Simulation終止仿真過程或者點擊Auto Capture/Play等待整個仿真過程結(jié)束。
圖5 交換機的泛洪功能的驗證
(7)在各PC之間相互執(zhí)行ping操作,使得交換機建立起完整的MAC地址表。這時點擊Edit Filter,只選擇其中的ICMP,再點擊Auto Capture/Forward開啟數(shù)據(jù)幀的自動捕獲,然后在PC0上執(zhí)行ping 192.168.10.12,可以發(fā)現(xiàn)當ICMP數(shù)據(jù)幀到達交換機之后,交換機不是向所有端口轉(zhuǎn)發(fā),而是直接傳遞到交換機的Fa0/3端口,這就是交換機的轉(zhuǎn)發(fā)功能。
(8)當步驟7中的數(shù)據(jù)幀模擬結(jié)束后,在PC3上執(zhí)行ping命令來向PC4發(fā)送數(shù)據(jù)幀,這時可以發(fā)現(xiàn)交換機收到Hub發(fā)送來的數(shù)據(jù)幀后會直接將其丟棄,如圖6所示。因為在交換機的MAC地址表中,PC3和PC4的MAC對應的是同一個端口,所以就不進行轉(zhuǎn)發(fā),這正是交換機的過濾功能。同時,注意到在Hub轉(zhuǎn)發(fā)ICMP數(shù)據(jù)幀的時候,總是向所有端口進行廣播,而交換機在學習到了MAC地址和端口的映射關系之后,只會采取單播的方式向目標端口轉(zhuǎn)發(fā)(如步驟6所示),這正是集線器和交換機工作原理的差異所在。
圖6 交換機的過濾功能的驗證
為了對交換機原理和功能進行深入理解,本文設計了比較合理的實驗流程和步驟,并通過Packet Tracer進行模擬仿真,形象地展示了交換機的工作過程,但由于受限于模擬器的限制,沒有能驗證交換機的更新功能。通過實際的教學反饋,基于Packet Tracer的實驗設計不僅可以降低硬件設備的投資成本,還能增強學生對理論知識的理解,提高實驗效率,達到甚至超過在真機上的實驗效果。