王莉軍
【摘 要】交換機是以太網的一種連接設備,可以擴大以太網的覆蓋范圍。交換機是計算機網絡課程中的一個非常重要的知識,本論文介紹了基于思科Packet Tracer軟件搭建交換機網絡,并通過軟件仿真過程使同學們更容易理解交換機的工作原理。
【關鍵詞】交換機;Packet Tracer;MAC地址
中圖分類號: TP393.05 文獻標識碼: A 文章編號: 2095-2457(2018)28-0150-002
DOI:10.19694/j.cnki.issn2095-2457.2018.28.068
【Abstract】Switch is a connecting device of Ethernet,which can expand the coverage of Ethernet.Switch is a very important knowledge in computer network course.This paper introduces the construction of switch network based on Cisco Packet Tracer software,and makes it easier for students to understand the working principle of switch through software simulation process.
【Key words】Switch;Packet Tracer;Mac Address
1 原理說明
按照OSI參考模型,交換機工作在第二層數據鏈路層,數據鏈路層的數據幀里有兩個關鍵字段,目的MAC地址和源MAC地址[1]。目的MAC地址指的是最終數據站點的MAC地址,源MAC地址是指起始發送站點的MAC地址。交換機的工作過程可以分為兩大部分,一部分是建立轉發表,一部分是轉發數據。交換機里有一個地址轉發表,記錄的是站點的MAC地址與進入交換機的接口之間的對應關系,一天新的交換機里面的轉發表是空的。當交換機接收到數據幀,先是判斷轉發表中是否有與源MAC地址匹配的表項,如果沒有,就會將源MAC地址與交換機接收端口之間的對應關系添加入交換機的轉發表中,這個就是基于源MAC地址的轉發表的建立過程。然后交換機判斷轉發表中是否有與目的MAC匹配的表項,沒有匹配的表項,則洪泛轉發,即除輸入端口以外的所有端口都轉發;如果有匹配的表項,找到的轉發口與接收端口不相同,則直接從找到的轉發口發送數據;如果有匹配的表項,但找到的轉發口與接收端口一樣則將數據丟棄;,上面3種情況,就是基于目的MAC地址的查表轉發數據過程。交換機的工作過程流程圖如下圖1所示[2]:
2 案例分析
下面以一個案例的三種場景來說明交換機的工作過程。在思科的Packet Tracer模擬仿真器中搭建如下圖2所示的網絡拓撲[3]。仿真前先在清除分別清空三臺交換機的MAC地址表,在特權模式下使用clear mac-address-table命令,清除后再用show mac-address-table命令查看確認。然后在三臺PC機的“Command Prompt”的命令行中輸入ipconfig/all命令查看3臺PC機的MAC地址和IP地址在圖2中有顯示[3]。
2.1 PC0向PC2發送數據
2.1.1 PC0發送請求報文給PC2
第1個場景是PC0向PC2發送數據,PC0先發送請求報文給PC2,SW0交換機先收到數據報文,查看MAC地址表沒有源MAC地址即PC0的MAC地址,所以將PC0的MAC地址和輸入端口F0/1添加進入MAC地址轉發表中,再查看MAC地址表中沒有目標MAC地址即PC2的MAC地址,所以從除輸入端口F0/1以外的F0/3端口洪泛轉發數據。SW1收到數據報文,查看MAC地址表沒有源MAC地址即PC0的MAC地址,所以將PC0的MAC地址和輸入端口F0/1添加進入MAC地址轉發表中,再查看MAC地址表中沒有目標MAC地址即PC2的MAC地址,所以從除輸入端口F0/1以外的F0/3端口和F0/2端口洪泛轉發數據。PC1收到數據檢測目標MAC地址和自己的MAC地址不一樣就將數據丟棄。SW2收到數據報文,查看MAC地址表沒有源MAC地址即PC0的MAC地址,所以將PC0的MAC地址和輸入端口F0/1添加進入MAC地址轉發表中,再查看MAC地址表中沒有目標MAC地址即PC2的MAC地址,所以從除輸入端口F0/1以外的F0/3端口洪泛轉發數據。PC2收到數據后檢測目標MAC地址與自己的MAC地址一樣所以接收數據
2.1.1 PC2發送響應報文給PC0
接下來PC2發送一個響應數據報文給PC0,這時源MAC地址為PC2的MAC地址,目標MAC地址為PC0的MAC地址。PC2先將數據發給SW2,SW2查看MAC地址表沒有源MAC地址即PC2的MAC地址,所以將PC2的MAC地址和輸入端口F0/3添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC0的MAC地址對應的端口為F0/1,所以直接從F0/1端口轉發數據。SW1查看MAC地址表沒有源MAC地址即PC2的MAC地址,所以將PC2的MAC地址和輸入端口F0/2添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC0的MAC地址對應的端口為F0/1,所以直接從F0/1端口轉發數據。SW0查看MAC地址表沒有源MAC地址即PC2的MAC地址,所以將PC2的MAC地址和輸入端口F0/2添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC0的MAC地址對應的端口為F0/1,所以直接從F0/1端口轉發數據。PC0收到數據,檢測目標MAC地址就是自己的MAC地址,所以接收該數據,則從PC0發送數據給PC2,以及PC2返回響應數據的整個過程就結束了。
2.2 PC1向PC0發送數據
2.2.1 PC1發送請求報文給PC0
第2個場景是PC1向PC0發送數據,PC1先發送請求報文給PC0,SW1交換機先收到數據報文,查看MAC地址表沒有源MAC地址即PC1的MAC地址,所以將PC1的MAC地址和輸入端口F0/3添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC0的MAC地址對應的端口為F0/1,所以直接從F0/1端口轉發數據。SW0收到數據報文,查看MAC地址表沒有源MAC地址即PC1的MAC地址,所以將PC1的MAC地址和輸入端口F0/3添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC0的MAC地址對應的端口為F0/1,所以直接從F0/1端口轉發數據。PC0收到數據后檢測目標MAC地址與自己的MAC地址一樣所以接收數據
2.2.2 PC0發送響應報文給PC1
接下來PC0發送響應報文給PC1,SW0先收到數據報文,查看MAC地址表有源MAC地址即PC0的MAC地址,所以MAC地址轉發表不變,再查看MAC地址表中目標MAC地址即PC1的MAC地址對應的端口為F0/3,所以直接從F0/3端口轉發數據。SW1收到數據報文,查看MAC地址表有源MAC地址即PC0的MAC地址,所以MAC地址轉發表不變,再查看MAC地址表中目標MAC地址即PC1的MAC地址對應的端口為F0/3,所以直接從F0/3端口轉發數據。
2.3 刪除SW1的地址轉發表后PC1向PC0發送數據
2.3.1 PC1發送請求報文給PC0
第3個場景是刪除SW1的地址轉發表后PC1向PC0發送數據,PC1先發送請求報文給PC0,SW1交換機里的MAC地址轉發表已經用clear mac-address-table命令刪除MAC地址轉發表,用show mac-address-table命令查看轉發表內容為空。SW1先收到數據報文,查看MAC地址表沒有源MAC地址即PC1的MAC地址,所以將PC1的MAC地址和輸入端口F0/3添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC0的MAC地址,發現沒有則從除輸入端口F0/3,以外的F0/1和F0/2端口洪泛轉發數據。SW2交換機查看MAC地址表沒有源MAC地址即PC1的MAC地址,所以將PC1的MAC地址和輸入端口F0/1添加進入MAC地址轉發表中,再查目標MAC地址即PC0的MAC地址對應的端口為F0/1與輸入端口一樣,所以丟棄該數據報文。SW0收到數據報文,查看MAC地址表有源MAC地址即PC1的MAC地址,所以MAC地址轉發表不變,再查看MAC地址表中目標MAC地址即PC0的MAC地址對應的端口為F0/1,所以直接從F0/1端口轉發數據。PC0收到數據后檢測目標MAC地址與自己的MAC地址一樣所以接收數據。
2.3.2 PC0發送響應報文給PC1
接下來PC0發送響應報文給PC1。SW0收到數據報文,查看MAC地址表有源MAC地址即PC0的MAC地址,所以MAC地址轉發表不變,再查看MAC地址表中目標MAC地址即PC1的MAC地址對應的端口為F0/3,所以直接從F0/3端口轉發數據。SW1收到數據報文,查看MAC地址表沒有源MAC地址即PC0的MAC地址,所以將PC0的MAC地址和輸入端口F0/1添加進入MAC地址轉發表中,再查看MAC地址表中目標MAC地址即PC1的MAC地址對應的端口為F0/3,所以直接從F0/3端口轉發數據。PC1收到數據后檢測目標MAC地址與自己的MAC地址一樣所以接收數據。
3 結語
本文介紹了基于思科Packet Tracer仿真軟件搭建交換機網絡說明交換機工作原理的一種方法[4]。這個仿真實驗方法讓同學們在沒有交換機硬件設備的情況下,也可以搭建網絡,從而很好的理解交換機的工作原理。
【參考文獻】
[1]謝希仁.計算機網絡.第6版[M].北京:電子工業出版社,2013:89-93.
[2]張純容,施曉秋,劉軍.網絡互連技術[M].北京:清華大學出版社,2015:221-222.
[3]葉阿勇,賴會霞,張楨霞,陳秋玲,許力.計算機網絡實驗與學習指導-基于Cisco Packet Tracer模擬器.第2版[M].北京:電子工業出版社,2017:46-51.
[4]姜恩華,張亞萍,侯俊欽.Packet Tracer軟件在計算機網絡實驗教學中的應用[J].實驗科學與技術,2011.9:30-33.