VLAN簡介
定義:
VLAN(Virtual Local Area Network)即虛擬局域網,是將一個物理的LAN在邏輯上劃分成多個廣播域的通信技術。VLAN內的主機間可以直接通信,而VLAN間不能直接通信,從而將廣播報文限制在一個VLAN內。
目的:
以太網是一種基於CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通訊介質的數據網絡通訊技術。當主機數目較多時會導致衝突嚴重、廣播氾濫、性能顯著下降甚至造成網絡不可用等問題。通過交換機實現LAN互連雖然可以解決衝突嚴重的問題,但仍然不能隔離廣播報文和提升網絡質量。
在這種情況下出現了VLAN技術,這種技術可以把一個LAN劃分成多個邏輯的VLAN,每個VLAN是一個廣播域,VLAN內的主機間通信就和在一個LAN內一樣,而VLAN間則不能直接互通,這樣,廣播報文就被限制在一個VLAN內。
作用:
- 限制廣播域:廣播域被限制在一個VLAN內,節省了帶寬,提高了網絡處理能力。
- 增強局域網的安全性:不同VLAN內的報文在傳輸時是相互隔離的,即一個VLAN內的用戶不能和其它VLAN內的用戶直接通信。
- 提高了網絡的健壯性:故障被限制在一個VLAN內,本VLAN內的故障不會影響其他VLAN的正常工作。
- 靈活構建虛擬工作組:用VLAN可以劃分不同的用戶到不同的工作組,同一工作組的用戶也不必侷限於某一固定的物理範圍,網絡構建和維護更方便靈活。
劃分:
劃分vlan是網絡技術應用中必不可少,很多的網絡都需要進行vlan的劃分,今天就一起了解下這方面的內容。
VLAN的定義:
VLAN是英文Virtual Local Area Network的簡稱,又叫虛擬局域網,是一種通過將局域網內的設備邏輯地而不是物理地劃分成一個個網段從而實現虛擬工作組的技術。要想劃分VLAN,必須購買支持VLAN功能的網絡設備。
劃分VLAN的作用:
VLAN是爲解決以太網的廣播問題和安全性而提出的,一個VLAN內部的廣播和單播流量都不會轉發到其他VLAN中。即使是處在同一網段的兩臺計算機,如果不在同一VLAN中,它們各自的廣播流也不會相互轉發。
劃分VLAN有助於控制流量、減少設備投資、簡化網絡管理、提高網絡的安全性。由於VLAN隔離了廣播風暴,也隔離了不同VLAN之間的通訊,因此,不同VLAN之間的通訊必須依靠路由器或者三層交換機來實現。
VLAN的劃分方法:
劃分VLAN有四種方法,每種方法各有長短。在對網絡劃分VLAN時,必須根據網絡的實際情況,選擇一種合適的劃分方法。
- 根據端口的劃分VLAN:許多網絡廠商都利用交換機的端口來劃分VLAN成員。顧名思義,基於端口劃分VLAN就是將交換機的某些端口定義爲一個VLAN。
- 根據MAC地址劃分VLAN:每塊網卡在全球都擁有唯一的一個物理地址,即MAC地址,根據網卡的MAC地址可以將若干臺計算機劃分在同一個VLAN中。
- 根據網絡層劃分VLAN:這種劃分VLAN的方法是根據每個主機的網絡層地址或協議類型劃分,而不是根據路由劃分。注:這種VLAN劃分方式適合廣域網,基本不用在局域網。
- 根據IP組播劃分VLAN:IP組播實際上也是一種VLAN的定義,即認爲一個組播組就是一個VLAN。這種劃分方法將VLAN擴大到了廣域網,不適合局域網,因爲企業網絡的規模尚未達到如此大的規模。
根據端口劃分VLAN是最常用的一種VLAN劃分方法。根據端口劃分VLAN優點是簡單明瞭,管理也非常方便,缺點是維護相對繁瑣。
這種方式的最大優點就是當用戶物理位置移動時,即從一個交換機換到其他的交換機時,VLAN不用重新配置;缺點是某一VLAN初始化時,所有的用戶都必須進行配置,操作人員的負擔比較重。
顯而易見,所有的VLAN技術並不是完全適合一個網絡使用。對VLAN有了一個全面的認識之後,我們應該能夠根據自己所處的網絡環境做出是否需要劃分VLAN的準確判斷。
VLAN的基本概念
VLAN標籤:
要使設備能夠分辨不同VLAN的報文,需要在報文中添加標識VLAN信息的字段。IEEE 802.1Q協議規定,在以太網數據幀的目的MAC地址和源MAC地址字段之後、協議類型字段之前加入4個字節的VLAN標籤(又稱VLAN Tag,簡稱Tag),用以標識VLAN信息。
VLAN幀格式:
字段解釋:
字段 | 長度 | 含義 | 取值 |
---|---|---|---|
TPID | 2Byte | Tag Protocol Identifier(標籤協議標識符),表示數據幀類型。 | 表示幀類型,取值爲0x8100時表示IEEE 802.1Q的VLAN數據幀。如果不支持802.1Q的設備收到這樣的幀,會將其丟棄。 各設備廠商可以自定義該字段的值。當鄰居設備將TPID值配置爲非0x8100時, 爲了能夠識別這樣的報文,實現互通,必須在本設備上修改TPID值,確保和鄰居設備的TPID值配置一致。 |
PRI | 3bit | Priority,表示數據幀的802.1p優先級。 | 取值範圍爲0~7,值越大優先級越高。當網絡阻塞時,設備優先發送優先級高的數據幀。 |
CFI | 1bit | Canonical Format Indicator(標準格式指示位),表示MAC地址在不同的傳輸介質中是否以標準格式進行封裝,用於兼容以太網和令牌環網。 | CFI取值爲0表示MAC地址以標準格式進行封裝,爲1表示以非標準格式封裝。在以太網中,CFI的值爲0。 |
VID | 12bit | VLAN ID,表示該數據幀所屬VLAN的編號。 | VLAN ID取值範圍是0~4095。由於0和4095爲協議保留取值,所以VLAN ID的有效取值範圍是1~4094。 |
設備利用VLAN標籤中的VID來識別數據幀所屬的VLAN,廣播幀只在同一VLAN內轉發,這就將廣播域限制在一個VLAN內。
常用設備收發數據幀的VLAN標籤情況:
在一個VLAN交換網絡中,以太網幀主要有以下兩種格式:
- 有標記幀(Tagged幀):加入了4字節VLAN標籤的幀。
- 無標記幀(Untagged幀):原始的、未加入4字節VLAN標籤的幀。
常用設備中:
- 用戶主機、服務器、Hub只能收發Untagged幀。
- 交換機、路由器和AC既能收發Tagged幀,也能收發Untagged幀。
- 語音終端、AP等設備可以同時收發一個Tagged幀和一個Untagged幀。
爲了提高處理效率,設備內部處理的數據幀一律都是Tagged幀。
鏈路類型和接口類型:
設備內部處理的數據幀一律都帶有VLAN標籤,而現網中的設備有些只會收發Untagged幀,要與這些設備交互,就需要接口能夠識別Untagged幀並在收發時給幀添加、剝除VLAN標籤。同時,現網中屬於同一個VLAN的用戶可能會被連接在不同的設備上,且跨越設備的VLAN可能不止一個,如果需要用戶間的互通,就需要設備間的接口能夠同時識別和發送多個VLAN的數據幀。
爲了適應不同的連接和組網,設備定義了Access接口、Trunk接口和Hybrid接口3種接口類型,以及接入鏈路(Access Link)和幹道鏈路(Trunk Link)兩種鏈路類型。
鏈路類型:
根據鏈路中需要承載的VLAN數目的不同,以太網鏈路分爲:
-
接入鏈路
接入鏈路只可以承載1個VLAN的數據幀,用於連接設備和用戶終端(如用戶主機、服務器等)。通常情況下,用戶終端並不需要知道自己屬於哪個VLAN,也不能識別帶有Tag的幀,所以在接入鏈路上傳輸的幀都是Untagged幀。
-
幹道鏈路
幹道鏈路可以承載多個不同VLAN的數據幀,用於設備間互連。爲了保證其它網絡設備能夠正確識別數據幀中的VLAN信息,在幹道鏈路上傳輸的數據幀必須都打上Tag。
接口類型:
根據接口連接對象以及對收發數據幀處理的不同,以太網接口分爲:
-
Access接口
Access接口一般用於和不能識別Tag的用戶終端(如用戶主機、服務器等)相連,或者不需要區分不同VLAN成員時使用。它只能收發Untagged幀,且只能爲Untagged幀添加唯一VLAN的Tag。
-
Trunk接口
Trunk接口一般用於連接交換機、路由器、AP以及可同時收發Tagged幀和Untagged幀的語音終端。它可以允許多個VLAN的幀帶Tag通過,但只允許一個VLAN的幀從該類接口上發出時不帶Tag(即剝除Tag)。
-
Hybrid接口
Hybrid接口既可以用於連接不能識別Tag的用戶終端(如用戶主機、服務器等)和網絡設備(如Hub),也可以用於連接交換機、路由器以及可同時收發Tagged幀和Untagged幀的語音終端、AP。它可以允許多個VLAN的幀帶Tag通過,且允許從該類接口發出的幀根據需要配置某些VLAN的幀帶Tag(即不剝除Tag)、某些VLAN的幀不帶Tag(即剝除Tag)。
Hybrid接口和Trunk接口在很多應用場景下可以通用,但在某些應用場景下,必須使用Hybrid接口。比如一個接口連接不同VLAN網段的場景中,因爲一個接口需要給多個Untagged報文添加Tag,所以必須使用Hybrid接口。
缺省VLAN:
缺省VLAN又稱PVID(Port Default VLAN ID)。前面提到,設備處理的數據幀都帶Tag,當設備收到Untagged幀時,就需要給該幀添加Tag,添加什麼Tag,就由接口上的缺省VLAN決定。
接口收發數據幀時,對Tag的添加或剝除過程。
- 對於Access接口,缺省VLAN就是它允許通過的VLAN,修改缺省VLAN即可更改接口允許通過的VLAN。
- 對於Trunk接口和Hybrid接口,一個接口可以允許多個VLAN通過,但是只能有一個缺省VLAN。接口的缺省VLAN和允許通過的VLAN需要分別配置,互不影響。
同類型接口添加或剝除VLAN標籤的比較:
接口類型 | 對接收不帶Tag的報文處理 | 對接收帶Tag的報文處理 | 發送幀處理過程 |
---|---|---|---|
Access接口 | 接收該報文,並打上缺省的VLAN ID。 | 當VLAN ID與缺省VLAN ID相同時,接收該報文。當VLAN ID與缺省VLAN ID不同時,丟棄該報文。 | 先剝離幀的PVID Tag,然後再發送。 |
Trunk接口 | 打上缺省的VLAN ID,當缺省VLAN ID在允許通過的VLAN ID列表裏時,接收該報文。打上缺省的VLAN ID,當缺省VLAN ID不在允許通過的VLAN ID列表裏時,丟棄該報文。 | 當VLAN ID在接口允許通過的VLAN ID列表裏時,接收該報文。當VLAN ID不在接口允許通過的VLAN ID列表裏時,丟棄該報文。 | 當VLAN ID與缺省VLAN ID相同,且是該接口允許通過的VLAN ID時,去掉Tag,發送該報文。當VLAN ID與缺省VLAN ID不同,且是該接口允許通過的VLAN ID時,保持原有Tag,發送該報文。 |
Hybrid接口 | 打上缺省的VLAN ID,當缺省VLAN ID在允許通過的VLAN ID列表裏時,接收該報文。打上缺省的VLAN ID,當缺省VLAN ID不在允許通過的VLAN ID列表裏時,丟棄該報文。 | 當VLAN ID在接口允許通過的VLAN ID列表裏時,接收該報文。當VLAN ID不在接口允許通過的VLAN ID列表裏時,丟棄該報文。 | 當VLAN ID是該接口允許通過的VLAN ID時,發送該報文。可以通過命令設置發送時是否攜帶Tag。 |
-
當接收到不帶VLAN標籤的數據幀時,Access接口、Trunk接口、Hybrid接口都會給數據幀打上VLAN標籤,但Trunk接口、Hybrid接口會根據數據幀的VID是否爲其允許通過的VLAN來判斷是否接收,而Access接口則無條件接收。
-
當接收到帶VLAN標籤的數據幀時,Access接口、Trunk接口、Hybrid接口都會根據數據幀的VID是否爲其允許通過的VLAN(Access接口允許通過的VLAN就是缺省VLAN)來判斷是否接收。
-
當發送數據幀時:
- Access接口直接剝離數據幀中的VLAN標籤。
- Trunk接口只有在數據幀中的VID與接口的PVID相等時纔會剝離數據幀中的VLAN標籤。
- Hybrid接口會根據接口上的配置判斷是否剝離數據幀中的VLAN標籤。
因此,Access接口發出的數據幀肯定不帶Tag,Trunk接口發出的數據幀只有一個VLAN的數據幀不帶Tag,其他都帶VLAN標籤,Hybrid接口發出的數據幀可根據需要設置某些VLAN的數據幀帶Tag,某些VLAN的數據幀不帶Tag。
VLAN通信
VLAN內互訪:
同一VLAN內用戶互訪(簡稱VLAN內互訪)會經過如下三個環節。
-
用戶主機的報文轉發
源主機在發起通信之前,會將自己的IP與目的主機的IP進行比較,如果兩者位於同一網段,會獲取目的主機的MAC地址,並將其作爲目的MAC地址封裝進報文;如果兩者位於不同網段,源主機會將報文遞交給網關,獲取網關的MAC地址,並將其作爲目的MAC地址封裝進報文。
-
設備內部的以太網交換
設備
- 如果目的MAC地址+VID匹配自己的MAC表且三層轉發標誌置位,則進行三層交換,會根據報文的目的IP地址查找三層轉發表項,如果沒有找到會將報文上送CPU,由CPU查找路由表實現三層轉發。
- 如果目的MAC地址+VID匹配自己的MAC表但三層轉發標誌未置位,則進行二層交換,會直接將報文根據MAC表的出接口發出去。
- 如果目的MAC地址+VID沒有匹配自己的MAC表,則進行二層交換,此時會向所有允許VID通過的接口廣播該報文,以獲取目的主機的MAC地址。
-
設備之間交互時,VLAN標籤的添加和剝離
設備內部的以太網交換都是帶Tag的,爲了與不同設備進行成功交互,設備需要根據接口的設置添加或剝除Tag。不同接口VLAN標籤添加和剝離情況不同。
從以太網交換原理可以看出,劃分VLAN後,廣播報文只在同一VLAN內二層轉發,因此同一VLAN內的用戶可以直接二層互訪。根據屬於同一VLAN的主機是否連接在不同的設備,VLAN內互訪有兩種場景:同設備VLAN內互訪和跨設備VLAN內互訪。
同設備VLAN內互訪:
如下圖所示,用戶主機Host_1和Host_2連接在同臺設備上,屬於同一VLAN2,且位於相同網段,連接接口均設置爲Access接口。
(假設Router上還未建立任何轉發表項)。
- Host_1判斷目的IP地址跟自己的IP地址在同一網段,於是發送ARP廣播請求報文獲取目的主機Host_2的MAC地址,報文目的MAC填寫全F,目的IP爲Host_2的IP地址10.1.1.3。
- 報文到達Router的接口IF_1,發現是Untagged幀,給報文添加VID=2的Tag(Tag的VID=接口的PVID),然後根據報文的源MAC地址、VID和報文入接口(1-1-1, 2, IF_1)生成MAC表。
- 根據報文目的MAC地址+VID查找Router的MAC表,沒有找到,於是在所有允許VLAN2通過的接口(本例中接口爲IF_2)廣播該報文。
- Router的接口IF_2在發出ARP請求報文前,根據接口配置,剝離VID=2的Tag。
- Host_2收到該ARP請求報文,將Host_1的MAC地址和IP地址對應關係記錄ARP表。然後比較目的IP與自己的IP,發現跟自己的相同,就發送ARP響應報文,報文中封裝自己的MAC地址2-2-2,目的IP爲Host_1的IP地址10.1.1.2。
- Router的接口IF_2收到ARP響應報文後,同樣給報文添加VID=2的Tag。
- Router根據報文的源MAC地址、VID和報文入接口(2-2-2, 2, IF_2)生成MAC表,然後根據報文的目的MAC地址+VID(1-1-1, 2)查找MAC地址表,由於前面已記錄,查找成功,向出接口IF_1轉發該ARP響應報文。
- Router向出接口IF_1轉發前,同樣根據接口配置剝離VID=2的Tag。
- Host_1收到Host_2的ARP響應報文,將Host_2的MAC地址和IP地址對應關係記錄ARP表。
後續Host_1與Host_2的互訪,由於彼此已學習到對方的MAC地址,報文中的目的MAC地址直接填寫對方的MAC地址。
此組網場景下,當同一VLAN的用戶處於不同網段時,主機將在報文中封裝網關的MAC地址,可藉助VLANIF技術(需配置主從IP地址)實現互訪。
跨設備VLAN內互訪:
如下圖,用戶主機Host_1和Host_2連接在不同的設備上,屬於同一個VLAN2,且位於相同網段。爲了識別和發送跨越設備的數據幀,設備間通過幹道鏈路連接。
當用戶主機Host_1發送報文給用戶主機Host_2時,報文的發送過程如下(假設Router_1和Router_2上還未建立任何轉發表項)。
- 經過與同設備VLAN內互訪的步驟1~2一樣的過程後,報文被廣播到Router_1的IF_2接口。
- Router_1的IF_2接口在發出ARP請求報文前,因爲接口的PVID=1(缺省值),與報文的VID不相等,直接透傳該報文到Router_2的IF_2接口,不剝除報文的Tag。
- Router_2的IF_2接口收到該報文後,判斷報文的Tag中的VID=2是接口允許通過的VLAN,接收該報文。
- 經過與同設備VLAN內互訪的步驟3~6一樣的過程後,Router_2將向其出接口IF_2轉發Host_2的ARP響應報文,轉發前,因爲接口IF_2爲Trunk接口且PVID=1(缺省值),與報文的VID不相等,直接透傳報文到Router_1的IF_2接口。
- Router_1的IF_2接口收到Host_2的ARP響應報文後,判斷報文的Tag中的VID=2是接口允許通過的VLAN,接收該報文。後續處理同同設備VLAN內互訪的步驟7~9一樣。
可見,幹道鏈路除可傳輸多個VLAN的數據幀外,還起到透傳VLAN的作用,即幹道鏈路上,數據幀只會轉發,不會發生Tag的添加或剝離。
VLAN間互訪:
劃分VLAN後,由於廣播報文只在同VLAN內轉發,所以不同VLAN的用戶間不能二層互訪,這樣能起到隔離廣播的作用。但實際應用中,不同VLAN的用戶又常有互訪的需求,此時就需要實現不同VLAN的用戶互訪,簡稱VLAN間互訪。
同VLAN間互訪一樣,VLAN間互訪也會經過用戶主機的報文轉發、設備內部的以太網交換、設備之間交互時VLAN標籤的添加和剝離三個環節。同樣,根據以太網交換原理,廣播報文只在同一VLAN內轉發,不同VLAN內的用戶則不能直接二層互訪,需要藉助三層路由技術或VLAN轉換技術才能實現互訪。
VLAN間互訪技術:
華爲提供了多種技術實現VLAN間互訪,常用的兩種技術爲VLANIF接口和Dot1q終結子接口。
-
VLANIF接口
VLANIF接口是一種三層的邏輯接口。在VLANIF接口上配置IP地址後,設備會在MAC地址表中添加VLANIF接口的MAC地址+VID表項,並且爲表項的三層轉發標誌位置位。當報文的目的MAC地址匹配該表項後,會進行三層轉發,進而實現VLAN間的三層互通。
VLANIF配置簡單,是實現VLAN間互訪最常用的一種技術。但每個VLAN需要配置一個VLANIF,並在接口上指定一個IP子網網段,比較浪費IP地址。
-
Dot1q終結子接口
子接口也是一種三層的邏輯接口。跟VLANIF接口一樣,在子接口上配置Dot1q終結功能和IP地址後,設備也會添加相應的MAC表項並置位三層轉發標誌位,進而實現VLAN間的三層互通。
Dot1q終結子接口適用於通過一個三層以太網接口下接多個VLAN網絡的環境。由於不同VLAN的數據流會爭用同一個以太網主接口的帶寬,網絡繁忙時,會導致通信瓶頸。
通過VLANIF接口實現VLAN間互訪,必須要求VLAN間的用戶都只能處於不同的網段(因爲相同網段,主機會封裝目的主機的MAC地址,設備判斷進行二層交換,二層交換隻在同VLAN內,廣播報文無法到達不同的VLAN,獲取不到目的主機的MAC地址,也就無法實現互通)。現網中,也存在不同VLAN相同網段的組網需求,此時可通過VLAN聚合實現。
VLAN聚合(又稱Super VLAN)通過引入Super-VLAN和Sub-VLAN,將一個Super-VLAN和多個Sub-VLAN關聯,多個Sub-VLAN共享Super-VLAN的IP地址作爲其網關IP,實現與外部網絡的三層互通;並通過在Sub-VLAN間啓用Proxy ARP,實現Sub-VLAN間的三層互通,進而即節約IP地址資源,又實現VLAN間的三層互通。
VLAN聚合通常用於多個VLAN共用一個網關的組網場景。
同設備VLAN間互訪:
如下圖:互訪的源主機Host_1和目的主機Host_2連接在同一臺設備Router上,分別屬於VLAN2和VLAN3,並位於不同的網段。在Router上分別創建VLANIF2和VLANIF3並配置其IP地址,然後將用戶主機的缺省網關設置爲所屬VLAN對應VLANIF接口的IP地址。
當用戶主機Host_1發送報文給用戶主機Host_2時,報文的發送過程如下(假設Router上還未建立任何轉發表項)。
- Host_1判斷目的IP地址跟自己的IP地址不在同一網段,因此,它發出請求網關MAC地址的ARP請求報文,目的IP爲網關IP 10.1.1.1,目的MAC爲全F。
- 報文到達Router的接口IF_1,Router給報文添加VID=2的Tag(Tag的VID=接口的PVID),然後將報文的源MAC地址+VID與接口的對應關係(1-1-1, 2, IF_1)添加進MAC表。
- Router檢查報文是ARP請求報文,且目的IP是自己VLANIF2接口的IP地址,給Host_1應答,並將VLANIF2接口的MAC地址3-3-3封裝在應答報文中,應答報文從IF_1發出前,剝掉VID=2的Tag。同時,Router會將Host_1的IP地址與MAC地址的對應關係記錄到ARP表。
- Host_1收到Router的應答報文,將Router的VLANIF2接口的IP地址與MAC地址對應關係記錄到自己的ARP表中,並向Router發送目的MAC爲3-3-3、目的IP爲Host_2的IP地址 10.2.2.2的報文。
- 報文到達Router的接口IF_1,同樣給報文添加VID=2的Tag。
- Router根據報文的源MAC地址+VID與接口的對應關係更新MAC表,並比較報文的目的MAC地址與VLANIF2的MAC地址,發現兩者相等,進行三層轉發,根據目的IP查找三層轉發表,沒有找到匹配項,上送CPU查找路由表。
- CPU根據報文的目的IP去找路由表,發現匹配了一個直連網段(VLANIF3對應的網段),於是繼續查找ARP表,沒有找到,Router會在目的網段對應的VLAN3的所有接口發送ARP請求報文,目的IP是10.2.2.2。從接口IF_2發出前,根據接口配置,剝掉VID=2的Tag。
- Host_2收到ARP請求報文,發現請求IP是自己的IP地址,就發送ARP應答報文,將自己的MAC地址包含在其中。同時,將VLANIF3的MAC地址與IP地址的對應關係記錄到自己的ARP表中。
- Router的接口IF_2收到Host_2的ARP應答報文後,給報文添加VID=3的Tag,並將Host_2的MAC和IP的對應關係記錄到自己的ARP表中。然後,將Host_1的報文轉發給Host_2,發送前,同樣剝離報文中的Tag。同時,將Host_2的IP、MAC、VID及出接口的對應關係記錄到三層轉發表中。
至此,Host_1完成對Host_2的單向訪問。Host_2訪問Host_1的過程與此類似。這樣,後續Host_1與Host_2之間的往返報文,都先發送給網關Router,由Router查三層轉發表進行三層轉發。
跨設備VLAN間互訪:
由於VLANIF接口的IP地址只能在設備上生成直連路由,當不同VLAN的用戶跨多臺設備互訪時,除配置VLANIF接口的IP地址外,還需要配置靜態路由或運行動態路由協議。
如下圖所示,互訪的源主機Host_1和目的主機Host_2連接在不同的設備Router_1和Router_2上,分別屬於VLAN2和VLAN3,並位於不同的網段。在Router_1上分別創建VLANIF2和VLANIF4,配置其IP地址爲10.1.1.1和10.1.4.1;在Router_2上分別創建VLANIF3和VLANIF4,配置其IP地址爲10.1.2.1和10.1.4.2,並在Router_1和Router_2上分別配置靜態路由。Router_1上靜態路由的目的網段是10.1.2.0/24,下一跳是10.1.4.2;Router_2上靜態路由的目的網段是10.1.1.0/24,下一跳是10.1.4.1。
當用戶主機Host_1發送報文給用戶主機Host_2時,報文的發送過程如下(假設Router_1和Router_2上還未建立任何轉發表項)。
- 與同設備VLAN間互訪的步驟1~6一樣,經過“Host_1比較目的IP地址—>Host_1查ARP表—>Host_1獲取網關MAC地址—>Host_1將發給Host_2的報文送到Router_1—>Router_1查MAC表—>Router_1查三層轉發表”的過程,Router_1上送CPU查找路由表。
- Router_1的CPU根據報文的目的IP 10.1.2.2去找路由表,發現匹配了一個路由網段10.1.2.0/24(VLANIF3對應的網段),下一跳IP地址爲10.1.4.2,於是繼續查找ARP表,沒有找到,Router_1會在下一跳IP地址對應的VLAN4的所有接口發送ARP請求報文,目的IP是10.1.4.2。報文從Router_1的接口IF_2發出前,根據接口配置,直接透傳該報文到Router_2的IF_2接口,不剝除報文的Tag。
- ARP請求報文到達Router_2後,發現目的IP爲VLANIF4接口的IP地址,給Router_1迴應,填寫VLANIF4接口的MAC地址。
- Router_2的ARP響應報文從其IF_2接口直接透傳到Router_1,Router_1接收後,記錄VLANIF4的MAC地址與IP地址的對應關係到ARP表項。
- Router_1將Host_1的報文轉發給Router_2,報文的目的MAC修改爲Router_2的VLANIF4接口的MAC地址,源MAC地址修改自己的VLANIF4接口的MAC地址,並將剛用到的轉發信息記錄在三層轉發表中(10.1.2.0/24,下一跳IP的MAC地址, 出口VLAN, 出接口)。同樣,報文是直接透傳到Router_2的IF_2接口。
- Router_2收到Router_1轉發的Host_1的報文後,與同設備VLAN間互訪的步驟6~9一樣,經過“查MAC表—>查三層轉發表—>送CPU—>匹配直連路由—>查ARP表並獲取Host_2的MAC地址—>將Host_1的報文轉發給Host_2”的過程,同時將Host_2的IP地址、MAC地址、出口VLAN、出接口記錄到三層轉發表項。
VLAN Damping:
VLAN抑制
如果指定VLAN已經創建對應的VLANIF接口,當VLAN中所有接口狀態變爲Down而引起VLAN狀態變爲Down時,VLAN會向VLANIF接口上報接口Down狀態,從而引起VLANIF接口狀態變化。
爲避免由於VLANIF接口狀態變化引起的網絡震盪,可以在VLANIF接口上啓動VLAN Damping功能,抑制VLANIF接口狀態變爲Down的時間。
當使能VLAN Damping功能,VLAN中最後一個處於Up狀態的接口變爲Down後,會抑制一定時間(抑制時間可配置)再上報給VLANIF接口。如果在抑制時間內VLAN中有接口Up,則VLANIF接口狀態保持Up狀態不變。即VLAN Damping功能可以適當延遲VLAN向VLANIF接口上報接口Down狀態的時間,從而抑制不必要的路由震盪。
VLAN內二層隔離:
爲了實現用戶之間的二層隔離,可以將不同的用戶加入不同的VLAN。但若企業規模很大,擁有大量的用戶,那麼就要爲不能互相訪問的用戶都分配VLAN,這不但需要耗費大量的VLAN,還增加了網絡管理者配置和維護的工作量。
爲此,華爲提供了一些VLAN內二層隔離技術,如端口隔離、MUX VLAN和基於MQC的VLAN內二層隔離等。
端口隔離:
端口隔離可實現同一VLAN內端口之間的隔離。用戶只需要將端口加入到隔離組中,就可以實現隔離組內端口之間的二層隔離,不同隔離組的端口之間或者不屬於任何隔離組的端口與其他端口之間都能進行正常的數據轉發。同時,用戶還可以通過配置實現端口的單向隔離,爲用戶提供更安全、更靈活的組網方案。
MUX VLAN:
MUX VLAN(Multiplex VLAN)提供了一種通過VLAN進行網絡資源控制的機制。它既可實現VLAN間用戶通信,也可實現VLAN內的用戶相互隔離。
比如,企業有如下需求:
- 要求企業內部員工之間可以互相交流,而企業客戶之間是隔離的,不能夠互相訪問。
- 要求企業員工和企業客戶都可以訪問企業的服務器。
此種場景,通過部署MUX-VLAN就可以實現。
基於流策略的VLAN內二層隔離:
流策略是將流分類和流行爲關聯後形成的完整的QoS策略。基於流策略的VLAN內二層隔離指用戶可以根據匹配規則對報文進行流分類,然後通過流策略將流分類與permit/deny動作相關聯,使符合流分類的報文被允許或被禁止通過,從而實現靈活的VLAN內單向或雙向隔離。
VLAN間三層隔離:
VLAN間實現三層互通後,兩VLAN內的所有用戶之間都可以互相訪問,但某些場景中,需要禁止部分用戶之間的互訪或者只允許用戶單向訪問,比如用戶主機和服務器之間一般是單向訪問、企業的訪客一般只允許上網和訪問部分服務器等。此時,就需要配置VLAN間互訪控制。
VLAN間互訪控制一般通過流策略實現。用戶可根據實際需求定義匹配規則對報文進行流分類,然後通過流策略將流分類與permit/deny動作相關聯,使符合流分類的報文被允許或禁止通過,從而實現靈活的VLAN間互訪控制。
管理VLAN:
當用戶通過遠端網管集中管理設備時,需要在設備上通過VLANIF接口配置IP地址作爲設備管理IP,通過管理IP來STelnet到設備上進行管理。若設備上其他接口相連的用戶加入該VLAN,也可以訪問該設備,增加了設備的不安全因素。
這種情況下可以配置VLAN爲管理VLAN(與管理VLAN對應,沒有指定爲管理VLAN的VLAN稱爲業務VLAN),不允許Access類型和Dot1q-tunnel類型接口加入該VLAN。由於Access類型和Dot1q-tunnel類型通常用於連接用戶,限制這兩種類型接口加入管理VLAN後,與該接口相連的用戶就無法訪問該設備,從而增加了設備的安全性。
參考文檔:華爲HedEx文檔