不同VLAN之間通信的原理
在劃分VLAN后,不同VLAN之間不能直接進行二層通信。如果要實現VLAN間通信,可以采取以下3種方案之一。
1.三層VLANIF接口方案
這是一種通過計算機網絡體系結構中第三層(網絡層)來實現VLAN間通信的解決方案。每個VLAN都可以配置一個三層VLANIF邏輯接口,而這些VLANIF接口就作為對應VLAN內部用戶主機的缺省網關,通過三層交換機內部的IP路由功能可以實現同一交換機上不同VLAN的三層互通,不同交換機上不同VLAN間的三層互通需要配置各VLANIF接口所在網段間的路由。
該方案除S1700系列外,其他所有華為S系列交換機均支持。
在圖6-20所示的網絡中,Device交換機上劃分了兩個VLAN:VLAN2和VLAN3??赏ㄟ^如下配置實現VLAN間互通。
?。?)在Device上創建兩個VLANIF接口并配置VLANIF接口的IP地址,但這兩個VLANIF接口對應的IP地址不能在同一網段。
?。?)將各VLAN中的用戶設備缺省網關設置為所屬VLAN對應VLANIF接口的IP地址。
現在僅以位于VLAN 2中的主機A向位于VLAN 3中的主機C發起通信為例,介紹通過VLANIF接口進行VLAN間三層互通的基本原理。具體通信流程如下。
?。?)在主機A向主機C發送的數據包到了網絡層后,主機A先將包中的目的IP地址-主機C的IP地址和自己所在網段進行比較。
?。?)發現主機C和自己不在同一個子網,于是主機A以廣播方式在本子網內發送一個ARP請求幀,其目的是查尋自己的網關-VLANIF2接口的MAC地址。
(3)VLANIF2接口經過與ARP請求幀中的目的IP地址進行比較,發現自己的IP地址與其一致,接收該ARP請求幀,然后以單播方式向主機A返回一個ARP應答幀,幀中的源MAC地址即為VLANIF2的MAC地址。
?。?)在主機A接收由VLANIF2接口返回的ARP應答幀后從中學習到了VLANIF2接口的MAC地址。
?。?)主機A利用所獲得的網關VLANIF2接口的MAC地址,重新進行數據幀封裝,把幀中的目的MAC改為VLANIF2接口MAC地址,目的IP仍為主機C的IP地址,然后發送給網關-VLANIF2接口。
(6)Device交換機在收到該數據幀后進行三層轉發,發現幀中的目的IP地址--主機C的IP地址為直連路由,數據幀直接通過該主機的網關-VLANIF3接口進行轉發。
?。?)VLANIF3接口作為VLAN 3內主機的網關,在收到數據幀后如果已有主機C的IP地址與MAC地址映射表,則直接發送給主機C,否則VLANIF3接口先在VLAN 3內以廣播方式發送一個ARP請求幀,查尋主機C的MAC地址。
(8)主機C在收到ARP廣播幀后向VLANIF3接口返回一個ARP應答幀。
?。?)VLANIF3接口在收到主機C發來的ARP應答幀后再次進行數據幀封裝,把幀中的目的MAC地址改為主機C的真實MAC地址(其他不變),然后把主機A發來的數據幀發送給主機C。這樣主機A之后要發給C的數據幀都先發送給網關,由網關-VLANIF3接口做三層轉發。
主機C與主機A之間的通信原理一樣,最終實現VLAN間的三層互通。
2.三層以太網子接口方案
三層以太網子接口是一種同時具備三層以太網物理接口和二層以太網物理接口雙重特性的邏輯接口。即它具有三層以太網物理接口的三層路由功能,同時又具有二層以太網物理接口封裝VLAN標簽的特性。通過三層以太網子接口就可以實現不同VLAN間的三層互通,也就是我們通常所說的“單臂路由”,在三層交換機和路由器中均可實現。
該方案僅5700HI和5710EI子系列、S7700、S9300和S9700系列華為交換機支持。
如圖6-21所示,DeviceA為支持配置子接口的三層設備,DeviceB為二層交換設備。LAN通過DeviceB的二層以太網接口與DeviceA的三層以太網接口相連。連接在DeviceB上的用戶主機被劃分到兩個VLAN:VLAN2和VLAN3。這時可通過如下配置實現VLAN間互通。
(1)在DeviceA與DeviceB相連的三層以太網接口上創建兩個子接口Port1.1和Port1.2,并配置802.1Q封裝與VLAN2和VLAN3分別對應。
?。?)為以上這兩個子接口配置與各自所屬VLAN對應網段的IP地址。
(3)將DeviceB與DeviceA相連的二層以太網接口類型配置為Trunk或Hybrid類型,并同時允許VLAN2和VLAN3的幀通過。
?。?)將VLAN 2和VLAN 3中的用戶設備的缺省網關設置為所屬VLAN對應三層以太網子接口的IP地址。
現在同樣以主機A向主機C發起通信為例介紹三層以太網子接口的VLAN間通信方案的基本原理(其實基本過程與前面介紹的VLANIF接口VLAN間通信方案是一樣的,只不過這里的網關是各VLAN所對應的子接口)。具體流程如下。
?。?)在主機A向主機C發送的數據包到了網絡層后,主機A先將包中的目的IP地址-主機C的IP地址和自己所在網段進行比較。
(2)發現主機C和自己不在同一個子網,于是主機A以廣播方式在本子網內發送一個ARP請求幀,其目的是查尋自己的網關VLAN 2對應的Port1.1子接口的MAC地址。
?。?)Port1.1子接口經過與ARP請求幀中的目的IP地址進行比較,發現自己的IP地址與其一致,接收該ARP請求幀,然后以單播方式向主機A返回一個ARP應答幀,幀中的源MAC地址即為Port1.1子接口的MAC地址。
?。?)主機A接收由Port1.1子接口返回的ARP應答幀后從中學習到該子接口的MAC地址。
(5)主機A利用所獲得的網關Port1.1子接口的MAC地址,重新封裝數據幀,把目的MAC地址改為Port1.1子接口MAC,目的IP仍為主機C的IP地址,然后發送給網關Port1.1子接口。
(6)DeviceA交換機在收到該數據幀后進行三層轉發,發現其目的IP地址-主機C的IP地址為直連路由,數據幀直接通過該主機的網關-VLAN 3對應Port1.2子接口進行轉發。
(7)Port1.2子接口作為VLAN 3內主機的網關,在收到數據幀后如果已有主機C的IP地址與MAC地址映射表,則直接發送給主機C,否則Port1.2子接口先在VLAN 3內以廣播方式發送一個ARP請求幀,查尋主機C的MAC地址。
?。?)主機C在收到ARP廣播幀后向Port1.2子接口返回一個ARP應答幀。
(9)Port1.2子接口在收到主機C的ARP應答幀后,再次進行數據幀封裝,把幀中的目的MAC地址改為主機C的真實MAC地址(其他不變),然后就把主機A發來的數據幀發送給主機C。這樣主機A之后要發給C的數據幀都先發送給網關,由網關-Port1.2子接口做三層轉發。
主機C與主機A之間的通信原理一樣,最終實現VLAN間的三層互通。
3.VLAN Switch方案
通過VLAN Switch(VLAN交換)也可以實現不同VLAN間的通信。VLAN交換是一種按照VLAN標簽進行數據轉發的技術,需要預先在網絡中的各交換機上建立一條靜態轉發路徑。當交換機接收到符合轉發條件的VLAN數據后,根據VLAN交換表將報文直接轉發到相應的出接口,無需查看MAC地址表,提高了轉發效率及安全性,可有效地避免MAC地址攻擊及廣播風暴。
該方案僅在S7700、S9300、S9300E和S9700等華為高端S系列交換機中支持。
VLAN交換功能如下。
?。?)添加外層VLAN標簽功能,即VLAN Switch stack-vlan功能。
?。?)在不同接口之間轉換外層VLAN標簽,即VLAN Switch switch-vlan功能。
VLAN Switch stack-vlan功能與VLAN Stacking(VLAN堆疊,將在下章介紹)功能類似,也是一種針對用戶不同VLAN封裝外層VLAN標簽的二層技術。與VLAN Stacking功能的差異如表6-11所示。
表6-11 VLAN Switch功能與VLAN Stacking功能比較
VLAN Switch switch-vlan功能與VLAN Mapping(VLAN映射,將在下章具體介紹)功能類似,也可以實現不同VLAN間的通信。與VLAN Mapping功能的差異如表6-12所示。
表6-12 VLAN Switch功能與VLAN Mapping功能比較
評論
查看更多