導讀
當前園區網大多使用交換機組網,使用交換機組建的網絡管理非常靈活,可以根據同一部門或者具有相同管理要求的需要創建虛擬局域網(Vlan)。那么園區內的交換機是如何進行數據包交換的?不同部門之間是如何進行隔離的?今天這篇文章,將通過對以太網幀、MAC地址、Vlan等的介紹來講解以太網交換技術。
作者:李培杰
單位:中國移動智慧家庭運營中心
Part 01 ●以太網基礎●
1.1MAC地址
MAC地址又稱為物理地址,是制造商為網卡分配的地址,MAC地址是唯一的,如同我們每個人都有一個身份證號碼來標識自己一樣,網卡就用MAC地址來標識自己。一個MAC地址有48位,一般采用十六進制數的方式來表示。如圖為MAC地址的表示方式:
圖1 MAC地址
1.2 以太網幀格式
以太網技術所使用的幀稱為以太網幀,簡稱以太幀,以太幀一般使用Ethernet Ⅱ格式,下圖為Ethernet Ⅱ格式的以太幀:
圖2 EthernetⅡ以太幀
(1)目標MAC地址:該字段表示的是幀的接收者,可以是一個單播地址,也可以是組播或者廣播地址。
(2)源MAC地址:該字段表示的是該幀的發送者。源MAC地址只能是一個單播MAC地址。
(3)類型:表示載荷數據的類型,該字段2字節。若是是一個IPv4包,則為是0x0800。
(4)載荷數據:表示數據幀的有效載荷,它的長度可變。
(5)CRC字段:循環冗余校驗,它是用來對幀進行檢錯校驗的。
Part 02 ●以太網交換機●
2.1交換機轉發操作
交換機有一張MAC地址表,交換機會基于此表進行幀的轉發。交換機的轉發操作一般有三種:轉發、丟棄、泛洪。轉發即為收到幀之后,從另一個接口轉發出去;丟棄即為收到幀之后將其丟棄,不進行轉發;泛洪是指將從某一接口收到的幀通過其他所有的接口轉發出去。下圖為交換機的三種轉發方式示意圖:
圖3 交換機轉發操作
圖4 交換機泛洪操作
圖5 交換機丟棄操作
2.2 交換機轉發流程
前面已經介紹,交換機是基于MAC地址表進行幀轉發的,而一開始交換機的MAC地址表是空的,交換機能夠通過收到的幀的源MAC地址自動構建MAC地址表。如圖所示,PC1給PC2發送一個幀x,當幀到達交換機的時候,交換機就會在MAC地址表中添加源MAC地址和對應接口的映射條目。交換機會在MAC地址表中查找該幀的目的MAC對應的接口,假如在MAC地址表中查找到了就會進行轉發,假如沒有找到,交換機就會將此幀x進行泛洪。其中PC3收到此幀時會將其丟棄。PC2收到此幀之后就會回應一個源MAC為PC2 MAC地址,目的地址為PC1 MAC地址的幀y,交換機收到之后,就會查詢MAC地址表,此時,會查到MAC對應的接口,然后從此接口轉發出去。同時會在MAC地址表中添加PC2 MAC地址和對應接口的映射條目。
圖6 交換機轉發流程
Part 03 ●Vlan●
3.1什么是Vlan
一臺交換機就是一個廣播域,整臺交換機的所有端口均屬于同一個廣播域。通常一個廣播域就是一個邏輯子網。當一個網絡中有多個交換機的時候,網絡會變得特別大,此時,網絡中的設備有可能被大量的廣播損耗資源,而且也無法根據業務需求靈活的規劃網絡結構。虛擬局域網(Vlan)可以解決上述問題。通過將交換機的端口劃入特定的Vlan,可以起到隔離廣播域的作用。不同的Vlan是不同的廣播域,就算兩個Vlan之間的PC的IP地址在同一網段也無法進行通信。不同的Vlan之間無法進行二層互訪。可根據業務需求靈活的進行Vlan的規劃。如圖所示,PC1、PC2、PC3屬于Vlan 1,PC4、PC5、PC6屬于Vlan 2,當PC1發送一幀x的時候,交換機剛開始MAC地址表查不到進行泛洪,此時,只有同一Vlan的PC2、PC3才能收到此幀,PC4發送的幀y同理。
圖7 交換機上不同Vlan通信過程
3.2 Vlan的劃分方式
在一個支持Vlan的網絡中,計算機發出的幀是不帶tag的幀,當這個幀到達交換機的時候,交換機就會根據劃分方式將其劃分到某個Vlan中,一般主要有以下四種劃分方式:
基于接口劃分的Vlan:將Vlan id映射到交換機的物理接口上,pc發送的數據幀都是沒有tag的,都會被劃分到該接口的vlan id 所表明的Vlan。
基于MAC地址的Vlan:通過查詢并記錄端口所連PC上網卡的MAC地址來決定數據幀屬于哪個Vlan。
基于子網的Vlan:通過所連計算機的IP地址,來決定端口所屬Vlan的。
基于用戶的Vlan:根據交換機各端口所連的計算機上當前登錄的用戶,來決定該端口屬于哪個Vlan。
3.3 交換機的接口類型
普通交換機的二層接口一般分為以下三種類型:access、trunk、hybird。一般常用的為access接口和trunk接口,下面通過對Vlan tag的處理過程分別來介紹這access和trunk端口類型:
(1)Access:通常用于直連終端,常用于連接PC、服務器或其他終端,交換機連路由器一般也用Access。Access接口只能加入一個Vlan,一旦加入特定的Vlan后,該接口所連接的設備也就加入了該Vlan。缺省的話默認加入Vlan 1。Access接口收數據時如果收的是untag數據,會打上此接口的vlan id進行接收,如果是tag數據,比較tag數據vlan id與此接口vlan id是否一致,一致則接收,否則丟棄。發數據時首先比較待發數據的vlan id ,如果和此接口vlan id一致,則剝離標簽,并以untag形式發送;如果和此接口vlan id不一致,則不發。如下圖所示:A、B、C、D屬于Vlan 1, E、F、H、G屬于Vlan 2。計算機A 給 D 發送一個幀,進入交換機接口加上Vlan 1標記,從接口出去,去掉Vlan 1標記。計算機發送和接收的幀不帶 Vlan標記。
圖8 交換機access接口收發數據過程圖
(2)trunk:當一條鏈路,需要承載多Vlan信息的時候,需要使用trunk來實現。trunk一般用于交換機之間或者交換機和防火墻之間。trunk端口可以屬于多個Vlan。trunk接口在收數據時如果收的是untag數據,會打上此接口的vlan id進行接收,如果是tag數據,首先查看接口的列表是否存在此vlan id,如果存在,則接收,否則丟棄。發數據時首先查看接口的列表,如果待發數據的vlan id在此列表中,則允許發送,否則不會從此接口發送。其次如果數據允許發送,則比較此待發數據的tag是否和此接口vlan id是否一致,一致則發untag數據,否則發tag數據。如下圖所示:A、B、C、D屬于Vlan 1,E、F、H、G屬于Vlan 2,它們分別連在兩個交換機上。計算機C給D 發送一個幀,進入交換機接口加上Vlan 1標記,從trunk接口出去的時候仍然帶有Vlan tag。
圖9 交換機trunk接口收發數據過程圖
Part 04 ● 總結●
綜上所述,二層交換機主要通過MAC地址進行數據幀的轉發,使用交換機搭建組網管理非常靈活,而且可以增加網絡的吞吐量,通過使用Vlan技術來隔離廣播域可以減少大量廣播帶來的資源損耗,過濾一部分不需要轉發的報文。
審核編輯:湯梓紅
-
以太網
+關注
關注
40文章
5419瀏覽量
171598 -
交換機
+關注
關注
21文章
2637瀏覽量
99528 -
VLAN
+關注
關注
1文章
277瀏覽量
35634 -
Mac
+關注
關注
0文章
1104瀏覽量
51458 -
交換技術
+關注
關注
1文章
23瀏覽量
8505
原文標題:技術 | 一文讀懂以太網交換技術
文章出處:【微信號:5G通信,微信公眾號:5G通信】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論