VLAN聚合初接觸

VLAN聚合筆記

目錄

  1. VLAN聚合簡介
  2. 原理描述
  3. Sub-VLAN之間的通信
  4. Sub_VLAN與其他網絡的三層通信
  5. Sub-VLAN與其他設備的二層通信

VLAN聚合簡介:

VLAN聚合(VLAN Aggregation,也稱Super VLAN)指在一個物理網絡內,用多個VLAN(稱爲Sub-VLAN)隔離廣播域,並將這些Sub-VLAN聚合成一個邏輯的VLAN(稱爲Super-VLAN),這些Sub-VLAN使用同一個IP子網和缺省網關。

通過引入Super-VLAN和Sub-VLAN的概念,使每個Sub-VLAN對應一個廣播域,並讓多個Sub-VLAN和一個Super-VLAN關聯,只給Super-VLAN分配一個IP子網,所有Sub-VLAN都使用Super-VLAN的IP子網和缺省網關進行三層通信。

這樣,多個Sub-VLAN共享一個網關地址,節約了子網號、子網定向廣播地址、子網缺省網關地址,且各Sub-VLAN間的界線也不再是從前的子網界線了,它們可以根據各自主機的需求數目在Super-VLAN對應子網內靈活的劃分地址範圍,從而即保證了各個Sub-VLAN作爲一個獨立廣播域實現廣播隔離,又節省了IP地址資源(主),提高了編址的靈活性

原理描述:

VLAN聚合通過定義Super-VLAN和Sub-VLAN,使Sub-VLAN只包含物理接口,負責保留各自獨立的廣播域;Super-VLAN不包含物理接口,只用來建立三層VLANIF接口。然後再通過建立Super-VLAN和Sub-VLAN間的映射關係,把三層VLANIF接口和物理接口兩部分有機的結合起來,實現所有Sub-VLAN共用一個網關與外部網絡通信,並用ARP Proxy實現Sub-VLAN間的三層通信,從而在實現普通VLAN的隔離廣播域的同時,達到節省IP地址的目的。

  • Sub-VLAN:只包含物理接口,不能建立三層VLANIF接口,用於隔離廣播域。每個Sub-VLAN內的主機與外部的三層通信是靠Super-VLAN的三層VLANIF接口來實現的。
  • Super-VLAN:只建立三層VLANIF接口,不包含物理接口,與子網網關對應。與普通VLAN不同的是,它的VLANIF接口的Up不依賴於自身物理接口的Up,而是隻要它所含Sub-VLAN中存在Up的物理接口就Up。

一個Super-VLAN可以包含一個或多個Sub-VLAN。Sub-VLAN不再佔用一個獨立的子網網段。在同一個Super-VLAN中,無論主機屬於哪一個Sub-VLAN,它的IP地址都在Super-VLAN對應的子網網段內。

這樣,Sub-VLAN間共用同一個網關,既減少了一部分子網號、子網缺省網關地址和子網定向廣播地址的消耗,又實現了不同廣播域使用同一子網網段地址的目的,消除了子網差異,增加了編址的靈活性,減少了閒置地址浪費。

三、Sub-VLAN之間的通信:

VLAN聚合在實現不同VLAN共用同一子網網段地址的同時,也給Sub-VLAN間的三層轉發帶來了問題。普通VLAN中,不同VLAN內的主機可以通過各自不同的網關進行三層互通。但是Super-VLAN中,所有Sub-VLAN內的主機使用的是同一個網段的地址,共用同一個網關地址,主機只會做二層轉發,而不會送網關進行三層轉發。即實際上,不同Sub-VLAN的主機在二層是相互隔離的,這就造成了Sub-VLAN間無法通信的問題。

解決這一問題的方法就是使用Proxy ARP。
示列:

如下圖所示,假設Sub-VLAN2內的主機Host_1與Sub-VLAN3內的主機Host_2要通信,在Super-VLAN10的VLANIF接口上啓用Proxy
ARP。

在這裏插入圖片描述
Host_1與Host_2的通信過程如下(假設Host_1的ARP表中無Host_2的對應表項):

  1. Host_1將Host_2的IP地址(10.1.1.12)和自己所在網段10.1.1.0/24進行比較,發現Host_2和自己在同一個子網,但是Host_1的ARP表中無Host_2的對應表項。
  2. Host_1發送ARP廣播報文,請求Host_2的MAC地址,目的IP爲10.1.1.12。
  3. 網關Router收到Host_1的ARP請求,由於網關上使能Sub-VLAN間的Proxy ARP,開始使用報文中的目的IP地址在路由表中查找,發現匹配了一條路由,下一跳爲直連網段(VLANIF10的10.1.1.0/24),VLANIF10對應Super-VLAN10,則向Super-VLAN10的所有Sub-VLAN接口發送一個ARP廣播,請求Host_2的MAC地址。
  4. Host_2收到網關發送的ARP廣播後,對此請求進行ARP應答。
  5. 網關收到Host_2的應答後,就把自己的MAC地址迴應給Host_1。
  6. Host_1之後要發給Host_2的報文都先發送給網關,由網關做三層轉發。

Host_2發送報文給Host_1的過程和上述的Host_1發送報文給Host_2的過程類似,不再贅述。

四、Sub_VLAN與其他網絡的三層通信:

以所示組網爲例,介紹Sub-VLAN內主機與其他網絡內的主機間通信過程。

如下圖,用戶主機與服務器處於不同的網段中,Router_1上配置了Sub-VLAN2、Sub-VLAN3、Super-VLAN4和VLAN10,Router_2上配置了VLAN10和VLAN20。
在這裏插入圖片描述
假設Sub-VLAN2下的主機Host_1想訪問與Router_2相連的Server,報文轉發流程如下(假設Router_1上已配置了去往10.1.2.0/24網段的路由,Router_2上已配置了去往10.1.1.0/24網段的路由,但兩設備沒有任何三層轉發表項):

  1. Host_1將Server的IP地址(10.1.2.2)和自己所在網段10.1.1.0/24進行比較,發現和自己不在同一個子網,發送ARP請求給自己的網關,請求網關的MAC地址,目的MAC爲全F,目的IP爲10.1.1.1。
  2. Router_1收到該請求報文後,查找Sub-VLAN和Super-VLAN的對應關係,知道應該回應Super-VLAN4對應的VLANIF4的MAC地址,並知道從Sub-VLAN2的接口迴應給Host_1。
  3. Host_1學習到網關的MAC地址後,開始發送目的MAC爲Super-VLAN4對應的VLANIF4的MAC地址、目的IP爲10.1.2.2的報文。
  4. Router_1收到該報文後,根據Sub-VLAN和Super-VLAN的對應關係以及目的MAC判斷進行三層轉發,查三層轉發表項沒有找到匹配項,上送CPU查找路由表,得到下一跳地址爲10.1.10.2,出接口爲VLANIF10.
  5. Router_1會在下一跳IP地址對應的VLAN10的所有接口發送ARP請求報文,目的IP是10.1.10.2。報文從Router_1的接口發出前,根據接口配置,直接透傳該報文到Router_2的接口,不剝除報文的Tag。
  6. ARP請求報文到達Router_2後,發現目的IP爲VLANIF10接口的IP地址,給Router_1迴應,填寫VLANIF10接口的MAC地址。
  7. Router_2的ARP響應報文從其接口直接透傳到Router_1,Router_1接收後,記錄VLANIF10的MAC地址與IP地址的對應關係到ARP表項。
  8. Router_1將Host_1的報文轉發給Router_2,報文的目的MAC修改爲Router_2的VLANIF10接口的MAC地址,源MAC地址修改自己的VLANIF10接口的MAC地址,並將剛用到的轉發信息記錄在三層轉發表中(10.1.10.0/24,下一跳IP的MAC地址, 出口VLAN, 出接口)。同樣,報文是直接透傳到Router_2的接口。
  9. Router_2根據正常的三層轉發流程把報文發送給Server。

Server收到Host_1的報文後給Host_1迴應,迴應報文的目的IP爲10.1.1.2,目的MAC爲Router_2上VLANIF20接口的MAC地址,迴應報文的轉發流程如下:

  1. Server給Host_1的迴應報文按照正常的三層轉發流程到達Router_1。到達Router_1時,報文的目的MAC地址爲Router_1上VLANIF10接口的MAC地址。
  2. Router_1收到該報文後根據目的MAC地址判斷進行三層轉發,查三層轉發表項沒有找到匹配項,上送CPU,CPU查路由表,發現目的IP爲10.1.1.2對應的出接口爲VLANIF4,查找Sub-VLAN和Super-VLAN的對應關係,並通過ARP表項和MAC表項,知道報文應該從Sub-VLAN2的接口發送給Host_1。
  3. 迴應報文到達Host_1。

五、Sub-VLAN與其他設備的二層通信:

如下圖所示組網爲例,介紹Sub-VLAN內主機與其他設備的二層通信情況。Router_1上配置了Sub-VLAN2、Sub-VLAN3和Super-VLAN4,_Router_1的_IF_1和IF_2配置爲Access接口,IF_3接口配置爲Trunk接口,並允許VLAN2和VLAN3通過;Router_2連接Router_1的接口配置爲Trunk接口,並允許VLAN2和VLAN3通過。
在這裏插入圖片描述

從Host_1進入Router_1的報文會被打上VLAN2的Tag。在Router_1中這個Tag不會因爲VLAN2是VLAN4的Sub-VLAN而變爲VLAN4的Tag。該報文從Router_1的Trunk接口IF_3出去時,依然是攜帶VLAN2的Tag。

也就是說,Router_1本身不會發出VLAN4的報文。就算其他設備有VLAN4的報文發送到該設備上,這些報文也會因爲Router_1上沒有VLAN4對應的物理接口而被丟棄。因爲Router_1的IF_3接口上根本就不允許Super-VLAN4通過。對於其他設備而言,有效的VLAN只有Sub-VLAN2和Sub-VLAN3,所有的報文都是在這些VLAN中交互的。

Router_1上雖然配置了VLAN聚合,但與其他設備的二層通信,不會涉及到Super-VLAN,與正常的二層通信流程一樣。

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