實驗一 虛擬局域網實驗
小組成員:
【實驗目的】
- 完成復雜交換式以太網設計
- 實現跨交換機 VLAN 划分
- 驗證屬於同一個 VLAN 的終端之間的通信過程
- 驗證屬於不同 VLAN 的兩個終端之間不能通信
- 驗證接入端口和標記端口之間的區別
- 驗證 802.1Q 標准 MAC 幀格式
【實驗學時】
建議 2 學時
【實驗環境配置】
圖 1 網絡結構圖
【實驗原理】
一、 創建 VLAN 並為 VLAN 分配交換機端口
網絡結構如圖 1 所示,要求按照表 1 所示的終端和 VLAN 之間關系配置 VLAN。 表 1 終端和 VLAN 之間關系
VLAN |
終端 |
VLAN |
終端 |
VLAN1 |
PC7,PC8 |
VLAN2 |
PC1,PC2,PC9 |
VLAN3 |
PC5,PC6,PC10 |
VLAN4 |
PC3,PC4 |
在交換機配置過程中,如果僅僅只有屬於單個 VLAN 的交換路徑經過某個交換機端口,
將該交換機端口作為接入端口(Access)分配給該 VLAN,如果有屬於不同 VLAN 的多條交換路徑經過某個交換機端口,將該交換機端口配置為被這些 VLAN 共享的共享端口
(Trunk)。
如果某個交換機直接連接屬於某個 VLAN 的終端,該交換機中需要創建該 VLAN。如果某個交換機並沒有直接連接屬於某個 VLAN 的終端,但是只要有屬於該 VLAN 的交換路徑經過該交換機中的端口,該交換機也需要創建該 VLAN。
例如圖 1 中交換機 SW2,雖然沒有直接連接屬於 VLAN4 的終端,但由於屬於 VLAN4 的終端 PC3 到 PC4 的交換路徑有經過交換機 SW2 的端口 1 和端口 2,因此在交換機 SW2 中也需要創建 VLAN4。
根據上述創建 VLAN,為 VLAN 分配交換機端口的原則,為了實現表 1 所示的 VLAN
與終端之間關系,請填寫表 2,確定 VLAN 與交換機端口之間的關系。 圖 2 VLAN 與交換機端口之間的關系
交換機 (型號) |
端口 |
端口類型(打勾即可) |
分配的 VLAN(Access)/ 共享的 VLAN(Trunk) |
|
Access |
Trunk |
|||
SW1 (S3700) |
Ethernet0/0/1 |
☑ |
|
Vlan2 |
Ethernet0/0/2 |
☑ |
|
Vlan2 |
|
Ethernet0/0/3 |
☑ |
|
Vlan4 |
|
Ethernet0/0/4 |
|
☑ |
Vlan2,vlan4 |
|
SW2 (S3700) |
Ethernet0/0/1 |
|
☑ |
Vlan2,vlan4 |
Ethernet0/0/2 |
|
☑ |
Vlan1,vlan3,vlan4 |
|
Ethernet0/0/3 |
☑ |
|
Vlan2 |
|
Ethernet0/0/4 |
☑ |
|
Vlan3 |
|
Ethernet0/0/5 |
☑ |
|
Vlan1 |
|
SW3 (S3700) |
Ethernet0/0/1 |
☑ |
|
Vlan4 |
Ethernet0/0/2 |
☑ |
|
Vlan3 |
|
Ethernet0/0/3 |
☑ |
|
Vlan3 |
|
Ethernet0/0/4 |
|
☑ |
Vlan1,vlan3,vlan4 |
|
Ethernet0/0/5 |
☑ |
|
Vlan1 |
二、 端口模式與 MAC 幀格式之間的關系
從接入端口輸入/輸出的 MAC 幀不攜帶 VLAN ID,是普通的 MAC 幀格式。從共享端口輸入/輸出的 MAC 幀,除屬於本地 VLAN 的 MAC 幀外,其他 MAC 幀攜帶該 MAC 幀所屬VLAN的VLAN ID。本地VLAN可以通過配置確定,默認配置下,VLAN 1是本地VLAN。因此,對於通過共享端口輸出的 MAC 幀,如果該 MAC 幀是兩個屬於 VLAN 1 的終端之間傳輸的 MAC 幀,該 MAC 幀格式是普通的 MAC 幀。如果該 MAC 幀是兩個屬於其他相同
VLAN 的終端之間傳輸的 MAC 幀,該 MAC 幀格式是 802.1Q 標准 MAC 幀格式(攜帶 VLAN
ID 的 MAC 幀格式)。下圖是 802.1Q 的幀格式。
三、 關鍵命令說明
交換機 VLAN 配置過程分為兩個步驟:1)根據需要在交換機上創建多個 VLAN,默認
情況下交換機上只有一個 VLAN,即 VLAN 1;2)將交換機端口分配給不同的 VLAN。
- 創建 VLAN 在交換機上執行 vlan <vlan-id>命令,創建 VLAN。
[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan batch 2 to 3
Info: This operation may take a few seconds. Please wait for a moment...done.
如本例所示,執行 vlan 10 命令后,就創建了 VLAN 10,並進入了 VLAN 10 視圖。VLAN ID 的取值范圍是 1 到 4094。如需創建多個 VLAN,可以在交換機上執行 vlan batch { vlan-id1 [ to vlan-id2 ] } 命令,以創建多個連續的 VLAN 。也可以執行 vlan batch { vlan-id1 vlan-id2 }命令,創建多個不連續的 VLAN,VLAN 號之間需要有空格。 通過 quit 命令退出 VLAN 視圖。
- 配置端口的鏈路類型,並將端口分配給 VLAN
默認的端口類型是 hybrid。配置端口類型的命令是 port link-type <type>,type 可以配置為 Access,Trunk 或 Hybrid。需要注意的是,如果查看端口配置時沒有發現端口類型信息,說明端口使用了默認的 hybrid 端口鏈路類型。當修改端口類型時,必須先恢復端口的默認
VLAN 配置,使端口屬於缺省的 VLAN 1。
1)分配接入端口(Access)
[SWA]interface Ethernet 0/0/5
[SWA-Ethernet0/0/5]port link-type access
[SWA-Ethernet0/0/5]port default vlan 2
interface Ethernet 0/0/5 命令是進入交換機端口 Ethernet 0/0/5 的接口配置模式。 port link-type access 是接口模式下使用的命令,將特定交換機的端口指定為接入端口
(Access),此例中將 SWA 交換機的 Ethernet0/0/5 接口均配置為接入端口。 port default vlan 2 將該端口加入到 VLAN 2 中。 2)分配共享端口(Trunk)
[SWA-GigabitEthernet0/0/1]port link-type trunk
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
配置 Trunk 時,應先使用 port link-type trunk 命令修改端口的類型為 Trunk,然后再配
置 Trunk 端口允許哪些 VLAN 的數據幀通過。執行 port trunk allow-pass
vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令,可以配置端口允許的 VLAN,all 表示允許所有
VLAN 的數據幀通過。 在本示例中,將 SWA 的 G0/0/1 端口配置為 Trunk 端口,該端口 PVID 默認為 1。配置
port trunk allow-pass vlan 2 3 命令之后,該 Trunk 允許 VLAN 2 和 VLAN 3 的數據流量通過。
3. 驗證配置 創建 VLAN 后,可以執行 display vlan 命令查看配置結果。
[SWA]display vlan
The total number of vlans is : 4
------------------------------------------------------------
U:Up; D:Down; TG:Tagged; UT:Untagged; MP:Vlan-mapping; ST:Vlan-stacking; #:
ProtocolTransparent-vlan; *:Management-vlan;
--------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------
1 common UT:GE0/0/1(U) ……
2 common UT:GE0/0/7(D) TG:GE0/0/1(U) common UT:GE0/0/5(U) TG:GE0/0/1(U)
10 common
……
TG 表明該端口在轉發對應 VLAN 的數據幀時,不會剝離標簽,直接進行轉發,該端口可以是 Trunk 端口或帶標簽的 Hybrid 端口。本示例中,GigabitEthernet0/0/1 在轉發 VLAN 2
和 VLAN3 的流量時,不剝離標簽,直接轉發。
還可以使用命令 display port vlan 查看 VLAN 和接口的配置情況。
[SWB]disp port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
Ethernet0/0/1 trunk 1 1-4094
Ethernet0/0/2 trunk 1 1-4094 Ethernet0/0/3 hybrid 1 -
該示例中可以看到 SWB 的 E0/0/1 和 E0/0/2 都已經配置成了 trunk 類型,並運行所有的
VLAN 流量通過(VLAN 1~4094)。
4. 保存配置
在用戶視圖下,使用 save 命令保存當前配置信息。
保存之后,使用 display saved-configuration 顯示配置情況。
【實驗步驟】
練習一:基本聯網操作
1. 按照圖 1 所示網絡結構放置和連接網絡設備后啟動所有設備。 進行如下 ping 實驗,觀察現象,記錄結果,解釋原因。
表 2 練習一 Ping 測試結果
Ping 實驗 |
是否 PING 通 |
原因 |
PC1–PC9(192.168.1.9) |
通 |
在同一個網段 |
PC3–PC4(192.168.1.4) |
通 |
在同一個網段 |
PC5–PC10(192.168.3.10) |
通 |
在同一個網段 |
PC7–PC8(192.168.1.8) |
通 |
在同一個網段 |
PC1 – PC3(192.168.1.3) |
通 |
在同一個網段 |
PC2 – PC6(192.168.3.6) |
不通 |
不在同一個網段 |
PC9-PC7(192.168.1.7) |
通 |
在同一個網段 |
練習二:按照表 2 內容,在各個交換機中創建 VLAN,並分配端口。
- 在交換機 SW1 上,在視圖中輸入“display vlan”查看交換機默認 vlan 配置,可以發現所有端口都被默認加入 VLAN 1。交換機 SW2 和 SW3 也是類似。
- 在交換機 SW1 上配置 Access 端口: (1) 在用戶視圖下輸入“sys”進入系統視圖;
在該視圖下可以輸入如下命令關閉日志信息命令減少設備配置更改的提示信息。示例如下:
<r1>sys
Enter system view, return user view with Ctrl+Z.
[r1]info-center source DS channel 0 log state off trap state off
(2) 使用“vlan batch 2 4”創建兩個 vlan (3) 將 Ethernet0/0/1 端口配置成 Access 類型 進入端口設置界面:interface Ethernet0/0/1 設置端口鏈路類型:port link-type access 將端口加入 vlan:port default vlan 2
(4) 使用 quit 命令退出該接口視圖,回到系統視圖。 對 SW1 上的其他幾個 Access 類型的端口采用類似的方式進行配置。
3. 在交換機 SW1 上配置 Trunk 端口:
(1) 在用戶視圖下輸入“sys”進入系統視圖;
(2) 將 Ethernet0/0/4 端口配置成 Trunk 類型 進入端口設置界面:interface Ethernet0/0/4 設置端口鏈路類型:port link-type trunk 設置允許通過的 vlan 幀:port trunk allow-pass vlan all
(3) 使用 quit 命令退出該接口視圖,回到系統視圖。
4. 在其他交換機 SW2 和 SW3 上也進行 VLAN 的創建和端口的設置。 提醒:默認情況下,所有交換機端口都作為接入端口分配給了 VLAN 1,因此不需要 SW2 的 Ethernet0/0/5 和 SW3 的 Ethernet0/0/5 分配給 VLAN 1。另外 SW2 上的端口並沒有直接連接 VLAN 4 上的主機,但是因為 VLAN4 中的 PC3 和 PC4 通信需要經過 SW2,因此在 SW2 上創建 VLAN 的時候,仍然需要建立 VLAN 2。
正確完成上述操作后,進行如下 ping 實驗,觀察現象,記錄結果,解釋原因。 表 3 練習二 Ping 測試結果
Ping 實驗 |
是否 PING 通 |
原因 |
PC1–PC9(192.168.1.9) |
通 |
兩台終端在同一虛擬網vlan2中 |
PC3–PC4(192.168.1.4) |
通 |
兩台終端在同一虛擬網vlan4中 |
PC5–PC10(192.168.3.10) |
通 |
兩台終端在同一虛擬網vlan3中 |
PC7–PC8(192.168.1.8) |
通 |
兩台終端在同一虛擬網vlan1中 |
PC1 – PC3(192.168.1.3) |
不通 |
兩台終端不在同一虛擬網中 |
PC2 – PC6(192.168.3.6) |
不通 |
兩台終端不在同一虛擬網中 |
PC9-PC7(192.168.1.7) |
不通 |
兩台終端不在同一虛擬網中 |
練習三:觀察各交換機上的 VLAN 配置及 802.1Q 的 MAC 幀格式
- 分別在各個交換機上運行“display vlan”,根據交換機各 VLAN 對於各端口的配置情況,填寫下表:
表 4 交換機上的 VLAN 配置
交換機 |
VLAN |
Tagged 端口 |
Untagged 端口 |
SW1 |
VLAN 2 |
Eth0/0/4 |
Eth0/0/1, Eth0/0/2 |
VLAN 4 |
Eth0/0/4 |
Eth0/0/3 |
|
SW2 |
VLAN 2 |
Eth0/0/1, Eth0/0/2 |
Eth0/0/3 |
VLAN 3 |
Eth0/0/1, Eth0/0/2 |
Eth0/0/4 |
|
VLAN 4 |
Eth0/0/1, Eth0/0/2 |
無 |
|
SW3 |
VLAN 3 |
Eth0/0/4 |
Eth0/0/3, Eth0/0/2 |
VLAN 4 |
Eth0/0/4 |
Eth0/0/1 |
標明為 Tagged 的端口表明該端口在轉發對應 VLAN 的數據幀時,不會剝離標簽,直接
進行轉發。而標明為 Untagged 表明該端口發送數據幀時,會剝離 VLAN 標簽。
- 在 SW3 的 Ethernet0/0/4 端口進行抓包,然后在 PC6 上運行“ping 192.168.3.10”,也即從 PC6 去 ping PC10,查看 Wireshark 的抓包結果。可以發現 PC6 發給 PC10 的 ping 包中含有 802.1Q 標准的 MAC 幀,將其中的字段值填入下表。
表 5 802.1Q 幀
PRI |
CFI |
ID |
Type |
0 |
0 |
3 |
IP(0x0800) |
在 Ping 的過程中,由於 SW3 的 Ethernet0/0/4 口是被 VLAN 1、VLAN 3 和 VLAN 4 共享的共享端口,該 MAC 幀經過交換機 SW3 的 Ethernet0/0/4 口輸出時,會攜帶 VLAN 3 對應的 ID。 繼續在 SW3 的 Ethernet0/0/4 端口進行抓包,然后在 PC7 上運行“ping 192.168.1.8”,也即從 PC7 去 ping PC8,查看 Wireshark 的抓包結果。可以發現 PC7 發給 PC8 的 ping 包中並沒有 802.1Q 標准的 MAC 幀。
練習四:保存各交換機配置,並查看配置情況
1. 分別在各個交換機上運行“save”,然后使用“display saved-configuration”命令,分別查看各交換機上的配置情況。
請分別貼在此處。
交換機 1 的配置:
#
sysname Huawei
#
vlan batch 2 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type access
port default vlan 2
#
interface Ethernet0/0/2
port link-type access
port default vlan 2
#
interface Ethernet0/0/3
port link-type access
port default vlan 4
#
interface Ethernet0/0/4
port link-type trunk
port trunk allow-pass vlan 2 4
#
---- More ----
交換機 2 的配置:
#
sysname Huawei
#
vlan batch 2 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/3
port link-type access
port default vlan 2
#
interface Ethernet0/0/4
port link-type access
port default vlan 3
# ---- More ----
交換機 3 的配置:
#
sysname Huawei
#
vlan batch 3 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type access
port default vlan 4
#
interface Ethernet0/0/2
port link-type access
port default vlan 3
#
interface Ethernet0/0/3
port link-type access
port default vlan 3
#
interface Ethernet0/0/4
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/5
port link-type access
#
---- More ----
【思考問題】
- VLAN 有什么作用?
答:將局域網設備從邏輯上划分成一個個網段。實現廣播域的分割,將連接在物理交換式以太網上的終端按照用戶制定的分配原則分配到個個vlan中。
- 練習 3 中為什么 PC7 ping PC8,並不會攜帶 VLAN ID?
答:PC7和PC8是默認vlan1,默認的vlan是不攜帶VLAN ID的。
- 如果一個 Trunk 鏈路 PVID 是 5,且端口下配置 port trunk allow-pass vlan 2 3,那么哪些 VLAN 的流量可以通過該 Trunk 鏈路進行傳輸?
答:vlan2和vlan3
- PVID 為 2 的 Access 端口收到一個不帶標記的幀會采取什么樣的動作?
答:打上該端口的PVID后繼續轉發(到交換機內部的其他端口)。
- 如果在 SW2 中沒有設置 VLAN 4,也則 PC3 能否 ping 通 PC4?為什么?在 SW2 的 E0/0/1 和 E0/0/2 口分別抓包到的 PC3 發出的報文會含有 VLAN 標識符么?
答:不能。因為SW2 中沒有設置 VLAN 4,發送給vlan4終端的消息SW2找不到vlan4就會丟棄。發送不到PC4。
在E0/0/1口會有VLAN 標識符,在E0/0/2沒有包