使用SVI實現VLAN間互訪的思想是什麼?
網路工程實驗課產生的疑問:使用SVI實現VLAN間互訪的思想是什麼?使用SVI實現的不同VLAN下的主機ping通的思想與單臂路由、三層交換機的實現過程有何不同? 劃分VLAN的目的就是通信隔離,現在又通過技術手段實現不同VLAN間通信,這不就破壞了當初劃分VLAN的目的嗎?若想VLAN間互訪,直接破壞VLAN劃分不就可以了嗎,為什麼要提出SVI等技術來實現呢?
實現SVI的部分配置命令如下:
CopyCopyS2(config)#int vlan 20
%LINK-5-CHANGED: Interface Vlan20, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan20, changed state to up
CopyCopyS2(config-if)#ip address 192.168.20.1 255.255.0.0 //設置VLAN20虛擬介面(網關)地址
CopyCopyS2(config-if)#no shutdown //啟用SVI虛擬介面從命令中實在看不出來SVI的思想即VLAN間互訪的實現過程。
(題外話)另外,不依靠三層設備也能實現VLAN通信,參見鏈接:誰說不同VLAN之間通信一定需要三層設備? - 小麥 - 51CTO技術博客,請問此種實現方法與使用三層設備的實現方法有何不同呢?此種方法又有何具體應用呢?
凡是帶V的事物都不太好理解,這個SVI介面也不例外,哈哈,讓我嘗試讓大家走出這個困境…
如果有三個VLAN,10、20、30,分別對應的網段為10.1.1.0/24、10.1.2.0/24、10.1.3.0/24,如果這三個VLAN要實現通信,最淺顯易懂的方式為:
一個路由器三個物理介面E0、E1、E2,分別連接在VLAN 10、20、30,這三個介面配置分別為:
Interface E0
IP Address 10.1.1.1 255.255.255.0
Interface E1
IP Address 10.1.2.1 255.255.255.0
Interface E2
IP Address 10.1.3.1 255.255.255.0
讓E0、E1、E2分別充當各個VLAN的網關,這個應該很好理解吧?
但是以上擴展性太差,一個VLAN對應一個物理介面,於是發明了子介面,可以這樣來配置:
Interface E1.10
Encapsulation 802.1Q 10
IP Address 10.1.1.1 255.255.255.0
Interface E1.20
Encapsulation 802.1Q 20
IP Address 10.1.2.1 255.255.255.0
Interface E1.30
Encapsulation 802.1Q 30
IP Address 10.1.3.1 255.255.255.0
以上就是單臂路由,這個也容易理解吧?
但以上還是需要一個外接的路由器,能否把這個外接的路由器,做在交換機的內部,不是可以節省一台路由器了嗎?
如果不好理解,你可以將路由器與交換機的連接無限縮小,最後成為一體,那就是一個三層交換機,三層交換機 = 二層交換機 + 路由器,既然路由器做在交換機內部了,那如何來識別這三個介面呢?就使用SVI介面 (Software Virtual Interface),配置非常簡單:
Interface vlan 10
IP Address 10.1.1.1 255.255.255.0
Interface vlan 20
IP Address 10.1.2.1 255.255.255.0
Interface vlan 30
IP Address 10.1.3.1 255.255.255.0
這樣解釋會不會好理解一點?
至於為何要劃分VLAN,這個已經寫了很多文章,就不再解釋了。
最後一個問題,我要強調一點,不同網段的主機通信,必須經過三層設備的轉發,可以是三層交換機、也可以是路由器、也可以是多網卡主機,除此之外絕無可能。
在現實網路里,有時為了實現流量的深度檢測、或流量的備份,希望流量必須經過某個設備,一般會這樣來實現。
一個例子:
主機A (10.1.100.2),位於 VLAN 100里
伺服器B(10.1.100.4),位於 VLAN 100里
監控設備C(10.1.100.3),位於 VLAN 100里
如果按照以上配置,A與B之間的通信,不會經過C,不是嗎?那怎樣可以讓A與B之間的通信,流經C呢?很簡單,這樣來配置:
主機A (10.1.100.2),位於 VLAN 100里
伺服器B(10.1.100.4),位於 VLAN 200里
監控設備C(10.1.100.3),監控設備有兩個物理介面,一個位於 VLAN 100里,另外一個位於VLAN 200里
通信過程如下:
主機A認為B和自己一個網段,於是發ARP廣播,C的位於VLAN 100的介面可以接收到,橋接到VLAN 200的介面,於是伺服器可以接收並響應ARP廣播,接下來就很好理解了吧?
路由和三層交換隻是名字不一樣.本質是一樣的.
What is the difference between a layer 3 switch and a router?
引用tony li大神的原話.
The only difference is marketing terminology. Functionally, they are identical.
千言萬語不如一張圖,直接上圖。
1. SVI實現VLAN通信核心思想就是: 三層交換機內部相當於就集成了一個路由器(如上圖,路由模塊)。
2. 你提到的劃VLAN是為了隔離,那為什麼需要實現不同VLAN通信?
舉個例子,古時候城市都有城牆,是為了防禦敵人進攻,但又有城門,為了老百姓進出。如果為了絕對安全,沒有城門肯定是最好的,但是老百姓出城怎麼辦?
3. 跨VLAN通信還真不一定需要三層設備,如下圖,直接可以通信。 主要兩個作用:
A. 作為一個經典案例,讓人理解VLAN TAG。(如:數據進入SW1 F0/0,打上VLAN TAG 10,出交換機SW1又去掉TAG 10,恢復成純乙太網幀;再到SW2 F0/1,打上TAG 20,出去再恢復成純乙太網幀,所以10.22收到的純凈乙太網幀,回程數據傳送過程一樣,則可以實現通信)
B. 學過思科交換機安全可能知道,黑客可能利用這種方式,竊取用戶數據。(估計也沒黑客用這個)
其實本質上,SVI和單臂路由,三層交換機要到達的目的都是一樣的,都是為了實現多個VLAN之間的通信。而為什麼需要多個VLAN呢?這個就是一個基本的網路概念問題。
當初為了解決在共享帶寬下多個主機競爭帶寬造成性能下降的問題,搞出了交換機這樣的設備來替代HUB,網橋這類一層的網路設備,隔離了衝突域,提高了單個網段內的網路效率。
接下來隨著網路規模的繼續增加,面對的就是廣播域隔離的問題了,一個網段內的主機數量過多的時候,廣播包會大量佔用帶寬,造成網路傳輸效率下降,要解決廣播域主機過多的問題,思路跟解決HUB之類的模式是一樣的,控制每個網段內的主機數量,增加網路數量,但是由於受到當時硬體能力的限制,交換機的ASIC晶元性能還不行,多個網路之間的互聯互通,只能通過路由器來做,同樣的,受制於當年硬體能力,路由器上的介面卡也很貴,每一個埠都是寶貴的,為每個網段提供一個埠,代價太大,所以才會提出單臂路由這種思路,就是通過一個埠,來處理全部網段的數據交換,具體的實現就是利用了802.1q的標籤機制。這樣做其實也是考慮到成本而做出的一種過渡方案,畢竟全部的數據都通過一個埠來做交換,很容易就成為瓶頸了,但是也是一種性價折中的方案。
隨著硬體技術的提高,對三層數據的處理,這個區域網最迫切的需求,被引入到交換機上了。目的也很明確,就是減少使用路由器來做跨網段的數據交換,降低成本,減少單臂路由這樣的性能瓶頸以及單一故障點。
SVI的目的就是在交換機上實現跨網段交換數據的一個技術。本質上跟單臂路由是一樣的,都是通過802.1q的標籤來實現不同網段的識別的。
然後直接解釋一下你提的問題,使用SVI實現VLAN互通的思想跟使用路由器單臂路由技術,或者純粹用多個路由器的乙太網介面直接連多個網段是一個目的,就是為了實現跨網段的數據轉發。
ping是一個應用層程序,網路層的配置對它是透明的,所以不知道你所謂的思想指什麼,但是我認為在應用層來看,沒區別,跟你用什麼方法把網路連通沒有關係。
首先,說小麥那個,那個環境其實不是兩個VLAN,而是一個,不過在不同的交換機用了不同的VLAN號,所以小麥的那個說法是錯誤的。請仔細體會。還有,這種環境沒有應用,因為交換機會一直報錯,那個環境是nothing
瀉藥,這個是源於實際場景。
讓你設計一個5層樓f1-f5每層100個人p1-p500分10部門的網路d1-d10。
請嘗試設計這樣的網路,每個部門的人10 20 30 40 60 70 80 90 50 50,這50的兩個部門不在一個樓層。一個VLAN,全部部門大boss在5樓,出口在非5樓的樓層。請設計一下就知道了。要求適應部門大boss跨部門跳,就是財務部門boss變成銷售老大,不用搬他辦公室。
如果沒有svi,用單臂路由,12到15台交換機單臂路由,三層交換瓶頸全部到路由器上。
三層介面有個特性,只對本埠下聯有效,這個特性導致三層介面對區域網配置無效,在這個交換機下聯的交換機?根本無法設計。
只有svi,你才可以在任何地方設置網關,人員隨意搬遷無憂。
謝邀,這個上面小胖的回答已經很完善,這裡不在累述,只是大概講下為啥會出現這些東西。
首先三層交換的概念(或者二三層混合交換)的本質其實就是路由子介面,簡單說就是一個物理口劃分為多個邏輯介面後同事完成了原來的trunk口和多個路由介面的功能,好處就是節省物理介面數量。這個也不是什麼新鮮概念,現代路由器交換機支持這個東西已經10年8年不止了,為什麼,很簡單,節省成本。
無論是SVI還是路由或者三層交換,本質上其實都是路由+邏輯介面的組合,因為現代網路設備的內部實現基本上大同小異,簡單說就是各種查表,所以邏輯上實現3層交換(路由)或者2層交換(VLAN)對於同樣具有軟硬體的交換機或者路由來說只是演算法不同而已,所以現在設備2或者3層設備單純實現2或者3層功能的話其實已經意義不大,交換機可以路由,路由器可以交換已經是基本配置了。
所以無論那種技術來說目的其實是一樣的,就是在盡量少的硬體成本下做盡量多的功能,這樣你的網路硬體成本才能降低下來。最好的例子就是UTM,這東西什麼都能幹,你說他是路由器也好防火牆也罷,交換機也有人拿他那這麼用,另外他還可以是IPS,IDS,殺毒牆,等等等等。就為了一個目的降低成本。當然了,也有人說這東西什麼都能幹,但是什麼都干不好。。。
類似集成的例子還有很多,現代網路設備大部分支持VR(虛擬路由),那麼多個VR之間互聯也有類似SVI的VRI。VR不夠還可以有VSYS,VDOM,你買一台可以當多台用。那麼多個VD之間就可以有VDI。原理其實都一樣。搞這麼多就是為了一點,你原來買一堆交機路由器都不用了,它一台就給你搞定。
首先,三層交換機就是基於svi進行轉發的,你甚至可以直接理解二層交換機和三層交換機的差別就是三層交換機有svi,二層沒有。所謂的三層交換機就是在svi之間實現數據轉發。至於單臂路由,就是把svi換成子介面了,一個子介面一個vlan,數據在子介面間轉發。
第二,劃分vlan的目的僅僅是通信隔離嗎?想隔離的話不連在一起不就行了?何苦做vlan?vlan的最主要目的是分割廣播域,防止廣播泛洪,而不是隔離通信。但它確實隔離了通信,所以我們使用三層轉發來打破這種隔離。
至於最後那個技術博客上說的……我看了看時間,嗯,原來是09年的帖子……
首先,他的實驗是沒問題的,這個配置一定是可以通信的。
可實際中沒有這麼配的,誰特么用access口來進行交換機間的通信??這和不配vlan有啥區別??廣播包照樣全網跑。首先簡單說一下,使用vlan技術的好處很多,隔離只是其中一個,除此之外,還有安全、方便等諸多原因。
再來說說vlan的隔離,所謂隔離,只是隔離廣播域,一個廣播域對應的就是一個ip子網,不同的廣播域就是不同的子網,即不同的vlan要與不同的子網一一對應,不應該讓不同vlan內的設備配置相同的子網地址,這就好比正常應該是一年一班的所有同學在第一個教室上課,一年二班的同學在第二個教室上課。你不能讓兩個班級的同學在同一個教室里同時各自上各自的課,也不能讓一年一班的同學分到兩個不同的教室里上同一節課。類比不是太恰當,意會吧。
基於此,小麥的實驗把不同的vlan配成同一個子網,沒有實際意義。
劃分vlan是為了各vlan內部更好的通訊,而不是讓各vlan成為孤島,老死不相往來,所以各vlan間肯定會有互相通訊的實際需求。那怎麼實現呢?既然不同的vlan對應不同的ip網路,那麼就只能在不同的ip網路間轉發ip包來實現vlan間通訊了。
轉發ip包基本就是路由器的功能啦。
如果路由器與交換機是分離的兩個設備,就使用單臂路由來實現vlan間通訊。如果把路由器的功能做到交換機內,就是三層交換機,三層交換機使用svi技術來實現vlan間通訊。svi就是交換機虛擬介面的簡稱。我們知道三層交換機上有很多物理介面,每個物理介面可以配置不同的vlan id,配成相同vlan id的物理介面就在同一個vlan里,那這個vlan與該三層交換機內的路由器連接的介面就是這個vlan的svi,所以每個vlan都有自己的svi。
svi的地址就是這個vlan內其他各個設備的默認網關。
三層交換機在各svi間進行三層轉發。這就是用svi實現vlan間通訊的思想 。
首先vlan的作用主要是網路的隔離,眾所周知的原由二層廣播域過大,二層交換機在收到廣播幀會將其從處收到的介面除外的其他介面進行泛洪。造成帶寬的浪費以及造成不安全因素等等。我們也可以使用vlan來劃分邏輯工作組,如財務部主機一個vlan,業務部門一個vlan,這樣在接入交換機在處理未知單播幀,會根據vlan去查對應的mac地址表,這樣就不會在其他的vlan介面中泛洪了。若想VLAN間互訪,直接破壞VLAN劃分不就可以了嗎?要知道我們的本意是隔離二層的廣播域
上面很容易理解,但是也引出一個問題,就是如果我有這個需求,要讓不同vlan中的兩台主機之間通信怎麼辦(網路工程師的作用就是滿足不同的業務需求啊)?
那麼就需要讓vlan進行路由了,因為一旦通過三層的路由,那麼vlan幀信息將會丟失。而二層交換機只具備交換的功能,所以最最傳統的做法是讓交換機屬於某個vlan的一個介面接入到一個路由器上,通過路由器和路由器之間連接來進行路由,從而進行通信,那麼假如我只有一台路由器,而下接的交換機上有三個vlan,那麼想這麼做的話,就需要讓每個交換機的vlan都佔用一個路由器的介面,也就是需要三個路由器介面去接入屬於不同vlan的交換機的介面,這樣大大浪費了路由器的介面數量,眾所周知,路由器的介面數量是十分寶貴的,一般的低端的路由器只有2-4的eth介面。所以就衍生出了單臂路由這種形式。
單臂路由是在一個二層交換機實現跨vlan通信的最好的方式,它的做法是讓一個交換機的介面打成trunk和路由器對接,其中trunk可以實現將vlan信息傳遞到其他的設備上,你應該知道單臂路由的做法是在路由器的對接的介面上開啟了子介面,並且子介面上綁定對應了希望通信的vlan信息,這樣路由器只需要一個介面就可以。
而使用了SVI實現vlan之間的互訪,那是最方便的做法了,上面說了,單臂路由是用於我的交換機是純二層的,那麼如果我有三層交換機那就很方便了。
關於小麥的那個其實是玩的一個小把戲,你需要知道交換機對vlan信息的處理是要對主機透明的,也就是說access口是用於連接終端主機的,而trunk口的本意是用於交換機的級聯埠。交換機對vlan標籤的處理是:進access口打上對應的vlan標籤,出access口去掉vlan標籤,在通過trunk口不對標籤進行操作(不考慮PVID)。只要理解這個流程就可以看穿它的把戲了
為什麼叫virtual interface? 非物理埠。
誰實現了跨vlan訪問? 路由。
答案: 三層埠svi上的路由功能實現了跨vlan訪問。
反問題主:
二層設備能配int vlan嗎? 為什麼不能跨vlan呢? 能明白51cto博客扯淡在哪兒了嗎?
p.s. 樓上說 路由 == 三層交換 的我只能說圖拿衣服了。
實驗的連接我看了,兩個主機根本不是不同vlan.都在193.168.1.0/24,不需要三層技術。不通vlan一定需要三層技術:單臂路由或者SVI.你沒有搞清二層和三層,vlan,trunk是二層技術。
推薦閱讀:
※無線路由器是否可以作為無線交換機使用?
※子網掩碼為255.255.255.255是什麼情況?
※TCP/IP 的鏈路層是可靠的嗎?
※TCP/IP 協議棧中,為什麼選擇 IP 層負責分片?
※網橋工作在數據鏈路層,屬於二層設備,但卻能連接不同網段的區域網,相當於三層交換機的功能,有點讓人費解?