交換基礎之VLAN基礎以及相關VLAN擴展技術

VLAN介紹

主要介紹VLAN的802.1Q報文、VLAN的二層通信以及三層通信原理、VLAN相關技術等

802.1Q幀格式以及VLAN的劃分方式

802.1Q報文結構信息

報文字段 說明
前導符 由0101…交替組成,用於是PLS(物理層信號)子層與收到的幀進行時鐘同步;
幀起始 數值爲10101011,表示一個幀的開始部分;
SMac 源MAC地址
DMac 目的MAC地址
長度/類型 在Ethernet I和II中表示類型,802.3表示長度;
TPID 標籤協議標識符字段,表明這是一個802.1q協議,用於與未添加VLAN的數據幀進行區分;固定值爲0x8100;
PRI 優先級字段,數值範圍爲0-7(越大越優),用於QoS服務;
CFI 標準格式化兼容器字段,用於兼容令牌網和以太網,0表示以太網,1表示令牌網,默認爲0;
VID VLAN標識字段,表明VLAN的ID,範圍爲0-4095,可用範圍爲1-4094;
數據 數據字段
FCS 校驗序列字段,用於校驗整個數據幀的完整性和可靠性;

VLAN的劃分方式:

  • 基於端口劃分VLAN:最常見的VLAN劃分方式,將物理端口劃分進固定的VLAN裏,當主機接入改端口就會劃分進相應的VLAN裏,配置簡單;
  • 基於MAC劃分VLAN:手動配置好MAC地址與VLAN的對應關係,MAC地址有48位,手動配置好每個MAC地址與VLAN的對應關係,工作量大;
  • 基於IP子網劃分VLAN:手動配置好IP地址與VLAN間的對應關係,每次都需要解析IP協議,反響速度慢;
  • 基於協議劃分VLAN:手動配置好IP報文中的“協議號”字段與VLAN的對應關係,次都需要解析IP協議,反響速度慢;
  • 基於策略劃分VLAN:按照安全策略劃分(MAC地址+IP地址策略和MAC地址+IP地址+端口號策略),手動配置每一條策略與VLAN的對應關係工作量大;

VLAN擴展技術

  • 管理VLAN:是一種特殊的VLAN,爲用戶提供遠程訪問,該VLAN中不能有業務流量,只能是管理流量
  • VLAN聚合:又稱爲Super VLAN,用於解決不同VLAN所處同一網段之間的通信(正常情況下,不同VLAN所處的網段是不同的);包含兩種VLAN,Super-VLAN(主VLAN,只需配置VLANIF IP地址作爲從VLAN的缺省網關,不加入任何物理接口)和Sub-vlan(從VLAN,不能配置IP地址,劃分物理接口進入該端口);
  • MUX VLAN實現VLAN間各成員的二層隔離。可以使得同一VLAN同一網段的成員間不能相互訪問,分爲三種VLAN,Principal VLAN(主VLAN)、Subordinate VLAN(Separate VLAN,隔離型從VLAN;Group VLAN,互通型從VLAN);
  • VLAN 映射:在物理接口上將數據幀的VLAN ID替換爲其他的VLAN ID,使得用戶能夠在公網VLAN裏傳遞;
  • Voice VLAN:語音VLAN,用於語音通信環境,提高語音通信質量和傳輸速率;
  • VLAN 透傳:使交換機直接透明傳輸指定的VLAN,不用上報CPU,也不用識別數據幀的VLAN標籤,提高了傳輸速率;
  • QinQ:簡單的二層隧道技術,在帶有標籤或未帶標籤的數據幀中再添加一個公網tag標籤,提高了VLAN的使用數量(4094x4094);
  • QinQ映射:在路由子接口上將VLAN ID替換爲其他VLAN ID;

VLAN端口類型

  • Access端口:剝離或打上標籤,常用於與終端相連的端口,當收到一個沒有標籤的數據幀,就會打上一個數值爲PVID的tag標籤;當收到一個帶有標籤的數據幀,查看數據幀的VID是否與該接口的PVID相同,相同就剝離,不相同就丟棄;
  • Trunk端口:帶標籤傳輸的通道,常用於與其他二層設備或三層設備相連的端口,當收到一個沒有標籤的數據幀,就會打上一個數值爲PVID的tag標籤(默認爲1);當收到一個帶有標籤的數據幀,查看數據幀的VID是否與端口的PVID相同,相同就剝離,不相同就查看該VLAN ID是否在允許轉發表裏,在就保留標籤轉發,不在就丟棄;
  • Hybrid端口:Access與Trunk的混合型,既可用於既可用於終端,也可用於網絡設備。該端口有兩種形式,untagged(不帶標籤的)和tagged(帶標籤的),在這兩種形式的端口後面都可以配置允許通過的VLAN ID(允許轉發表中的允許VLAN是包含untagged和tagged);當收到一個不帶tag標籤的數據幀,就會打上一個數值爲PVID的tag標籤,然後查看允許轉發表中是否包含此VLAN,包含就發送,不包含就丟棄;當收到一個帶標籤的數據幀,查看該標籤是否在轉發表裏,在就發送,不在就丟棄;當發送一個帶有標籤的數據幀,會查看該數據幀是否在untagged允許轉發表裏,在就剝離後發送,不在就查看是否在tagged轉發表中,在就直接發送,不在就丟棄;所有的端口默認處於hybrid端口1;

二層VLAN內通信以及三層VLAN間通信

VLAN間設備能夠實現二層隔離,VLAN內設備能夠直接進行二層通信;不同VLAN間是不能直接通信的,但有些時候需要實現不同VLAN間的通信,這是就需要使用相關三層技術進而使得VLAN間能夠通信,常用的有:配置三層路由子接口(子接口是虛擬接口)和VLANIF接口(三層交換機)

二層VLAN內通信過程

二層VLAN內通信過程示意圖

  1. PC1訪問PC2。PC1會從接口上發送一個數據幀。當SW1從接口G0/0/0收到一個沒有tag標籤的數據幀後,會打上一個數值爲PVID(此處爲10)的Tag,然後查看MAC地址表,發現發送端口爲G0/0/1;
  2. SW1的trunk口收到帶有tag的數據幀後,就會查看該數據幀的VLAN ID是否與存在允許轉發VLAN表裏,在就轉發;
  3. SW2的trunk口g0/0/1收到該數據幀後,就會查看MAC地址表,然後從accessG0/0/0端口發送出去;
  4. SW2的G0/0/0Access口收到數據幀就會剝離tag標籤發送給PC2;

三層VLAN間通信過程(三層路由子接口)

三層VLAN間通信過程示意圖

  1. PC1向PC2發送數據幀,PC1發送源IP地址與目的IP地址不同(不同VLAN的網段不同),就會將數據包發給網關設備(網關設備就是Router,客戶端的網關地址爲相應VLAN的路由子接口的IP地址)。
  2. Switch的g0/0/0Access端口收到後,就會給該數據幀打上一個數值爲PVID(10)的tag標籤,然後發給G0/0/1Trunk口;
  3. Switch的trunk口收到數據幀後,查看允許轉發VLAN表,然後保留tag發送出去;
  4. Router的g0/0/0.10子接口(屬於VLAN10)收到該數據幀後,查看路由表,然後修改數據幀的VLAN值爲20,從G0/0/0.20子接口(所屬VLAN20)發送出去;
  5. Switch的G0/0/1trunk口收到該數據幀後,將其發送給G0/0/2access口;G0/0/2剝離tag發送給PC2;

注:路由子接口方式與三層交換機實現VLAN間通信的基本原理是相同的;

VLAN聚合

VLAN聚合又稱爲Super-vlan技術,是用於解決普通VLAN部署下,很多IP地址被子網地址、子網定向廣播地址、子網缺省網關地址(VLANIF接口IP地址)所消耗掉,不能用於VLAN內的主機,降低了IP地址編址的靈活性的問題;

VLAN聚合分爲兩種VLAN:

  • Super-VLAN:作爲所有成員Sub-VLAN的缺省網關,Super-vlan在三層交換機上才能配置,該VLAN中不能包含任何的端口,只用來配置IP地址(VLANIF)作爲所有Sub-VLAN的缺省網關;
    注:不管是Trunk口還是Super-VLAN口都不能包含Super-VLAN;先配置Super-vlan,再配置Trunk允許所有VLAN,設備會自動過濾Super-vlan;先配置Trunk允許所有VLAN,就無法配置super-vlan;
  • Sub-VlAN:是Super-VLAN的成員,一個Super-vlan可以包含一個或多個Sub-VLAN成員,所有成員都處於同一個IP網段。Sub-VLAN可以添加端口,但不能配置IP地址,所有Sub-VLAN中用戶的缺省網關都是Super-vlan的IP地址,以便實現Sub-VLAN成員之間互通及與外部三層的通信;

VLAN聚合示意圖

Sub-VLAN間的通信原理:開啓ARP代理

Sub-VLAN間通信原理示意圖

  1. PC1訪問PC2。PC1將PC2的IP地址進行比較,發現PC1與PC2處於同一網段,就會在本VLAN中發送ARP報文,請求獲取PC2的MAC地址;
  2. 由於PC1與PC2處於不同的VLAN,故PC1不能直接獲取到PC2的MAC地址。但在Switch網關設備上開啓了Sub-VLAN間的ARP代理功能,所以當Switch網關收到ARP報文後,就會查看路由表,發現ARP請求的目的IP地址就是自己直連接口IP地址,就會向PC1發送ARP回覆報文,並向其他Sub-VLAM發送ARP請求報文,代替PC1獲取PC2的MAC地址並建立相關ARP表項;
  3. PC1收到網關發送的ARP請求報文後建立相關ARP表項,就會開始發送數據報文(目的MA地址爲Super-VLAN的MAC地址),然後發送給Switch;
  4. Switch網關收到數據幀後,會打上一個數值爲PVID(10)的tag,然後根據路由表和之前創建的ARP表項修改數據幀的Tag爲20,源MAC爲網關MAC(VLANIF 4的MAC地址),目的MAC爲PC2的MAC地址,最終從G0/0/2剝離tag後將數據幀發送給PC2;

Sub-VLAN與外部的三層設備通信原理:

Sub-VLAN與外部的三層設備通信原理示意圖

  1. PC1訪問PC3。PC1比較PC3的IP地址,發現PC1和PC3的IP地址處於不同網段。PC1就發送ARP請求報文,請求網關的MAC地址;
  2. Switch1網關收到ARP請求報文之後,就會查看Super-vlan和Sub-VLAN對應關係,然後將Super-vlan的MAC地址通過ARP迴應報文發送給PC1;
  3. PC1收到ARP報文後建立ARP表項,然後將數據幀發送給網關設備(目的MA地址爲Super-VLAN的MAC地址,目的IP地址爲172.16.1);
  4. Switch網關設備收到從G0/0/0接口數據幀後,會給數據幀打上VLAN 4標籤,然後查看路由表,發現下一跳爲172.16.1.254,出接口爲VLANIF30;最終數據幀會從G0/0/3接口發送給Switch2(VLAN ID爲30,源MAC地址爲VLANIF30的MAC地址);
  5. Switch2收到後,會將數據幀發送給PC3;
  6. PC3向PC1發送回覆報文。最終發送到Switch1設備,該設備收到報文後(VLAN ID爲30,源MAC地址爲PC3的MAC地址),查看路由表,發現目的IP地址對應Sub-VLAN 10,出接口爲G0/0/0,最後將報文封裝爲VLAN 10,從G0/0/0接口發送給PC1。

MUX VLAN介紹

MUX VLAN是用於解決同VLAN內的成員之間不能相互通信的問題。同一MUX的所有VLANIP網段都相同;

MUX VLAN VLAN類型 通信權限
Principal VLAN(主VLAN) —— Principal VLAN內的主機能夠和任何類型的MUX VLAN進行二層通信;
Subordinate VLAN(從VLAN) Separate VLAN(隔離型VLAN) Separate VLAN內的主機之間不能進行二層通信,也不能與其他Separate VLAN和Group VLAN進行二層通信,只能和Principal VLAN二層通信;
Subordinate VLAN(從VLAN) Group VLAN(互通型VLAN) Group VLAN內的主機之間能夠進行二層通信,也能和Principal VLAN進行二層通信,但不能與其他Group VLAN和Separate VLAN進行二層通信;

VLAN映射

VLAN映射就是在物理接口上將數據幀中的標籤進行替換;

VLAN映射的兩種處理方式:

  • 數據幀帶有VLAN標籤:按照用戶配置的VLAN映射,決定替換單層、雙層或雙層的外層VLAN標籤;
  • 數據幀沒有VLAN標籤:按照用戶配置的VLAN映射,決定是否爲數據幀添加VLAN標籤,對於不能添加VLAN的數據幀直接丟棄,否則添加數據幀

VLAN映射的方式

VLAN映射的實現方法:

VLAN映射的實現方法 映射原理
基於VLAN映射 依據數據幀的VLAN ID進行映射,將數據幀的VLAN ID映射爲公網VLAN ID;
基於VLAN映射的可以替換單層、雙層或雙層的外層VLAN標籤;
基於802.1Q優先級映射 基於數據幀的tag標籤的優先級(PRI),將不同優先級的VLAN ID映射爲不同公網VLAN ID;
基於802.1q優先級映射的可以替換單層的VLAN標籤;
基於VLAN+802.1Q優先級映射 依據數據幀中的VLAN ID和tag標籤的優先級(PRI),將其VLAN ID替換爲不同的VLAN;
基於VLAN+802.1q映射的可以替換單層的VLAN標籤;
基於流策略映射 通過配置流策略,對數據幀的VLAN ID進行流分類,不同的流替換爲不同的VLAN ID;
基於流策略映射的可以替換單層、雙層或雙層的外層VLAN標籤;

VLAN的映射方法:

VLAN映射方式 說明
1 to 1映射 對帶有單層標籤數據幀的VLAN ID進行替換;
2 to 1映射 對帶有雙層標籤數據幀的外層VLAN ID進行替換;
2 to 2映射 對帶有雙層標籤數據幀的內外雙層BLAN ID替換爲相應的VLAN ID

QinQ介紹

QinQ是爲了解決VLAN不夠用的問題,在802.1Q數據幀中再添加一個802.1q tag標籤(相當於有兩層tag標籤),從而實現數據幀能夠在公網VLAN中傳輸,是一種簡單的二層隧道技術。VLAN被劃分爲私網VLAN和公網VLAN。

QinQ解決了用戶VLAN ID的安全性問題和由用戶自己規劃私網VLAN ID的需求,也解決了ISP的VLAN不夠用問題;

QinQ封裝形式分爲兩種形式:

  • 基本QinQ的封裝:將進入一個端口的所有流量全部封裝爲一個相同的VLAN標籤;
  • 靈活QinQ的封裝:基於端口封裝與基於VLAN封裝方式結合。形式有基於VLAN ID、基於8021q的優先級、基於流策略;

注:QinQ外層標籤的剝離,是需要使用hybrid untagged接口和路由子接口(dot1Q);

QinQ映射

QinQ映射是作用在路由子接口上,VLAN映射是作用於物理接口上;QinQ映射的子接口在向外發送本地VLAN的數據幀時,將數據幀中的VLAN替換爲外部VLAN;在接收到外部VLAN的數據幀後,會將數據幀中的VLAN替換內部VLAN;

QinQ的映射方式:

  • 1 to 1映射:子接口發送一個數據幀時,將數據幀的最外層tag標籤的VLAN ID替換爲用戶指定的VLAN ID,接收時將其替換回來;
  • 1 to 2映射:子接口發送一個帶有兩層標籤的數據幀時,將數據幀的兩層標籤都替換爲用戶指定VLAN ID;

注:QinQ映射相當於VLAN映射的簡略版。QinQ映射主要應用於QinQ場景,VLAN映射主要應用於非QinQ場景

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章