設計錯誤引來的思考

       
   今天工作不忙,閒來無事,正好同事問我一個vlan的問題:局域網裏面有VLAN,然後一臺2960做接入交換機,每個口接一臺PC,比如F0/1,屬於vlan2,接PC1,現在,問題來了,辦公室多來了一個人,要用PC2和網絡,也屬於vlan2,問我,能不能在F0/1下掛一個傻瓜交換機,PC1PC2連接這個傻瓜交換機,都用vlan2段的地址。這顯然是可以的,之前也碰到過這個問題,他一試,確實可以。
我忽然有一個想法:假如把這個傻瓜交換機換成一臺2960,然後2960什麼配置也不做,可不可以?
之前我並沒有考慮過傻瓜交換機的通信原理,以爲是很簡單的事情。現在換成是2960了,確實值得去考慮一下。
爲什麼換成2960了要考慮一下?我是這麼想的:默認cisco交換機端口全部是access,且屬於vlan1,而上面是一個access vlan2的接口,vlan信息根本不同步,那麼就不能通信,不能用2960
可是一個傻瓜交換機都能做到的事情,cisco就不能做到了?這是什麼道理??
我決定做實驗去研究一下,先用模擬器再用真機,模擬器就用ciscoPacket Tracert 5.2
第一個實驗:請看附件圖片1
圖片1.JPG (20.88 KB)
3PC網關均爲192.168.1.1,然後都去ping 192.168.1.1,發現,是能ping通的
這就說明,我的猜測是錯誤的,用2960代替傻瓜交換機是可以的
至於原因,下面再來研究
三層交換在這裏沒什麼用嘛,換成2層的來看看
第二個實驗:請看附件圖片2

 
圖片2.JPG (20.61 KB)
這裏3PC的網關仍然爲192.168.1.1,然後去ping 192.168.1.1,也是能通的,這跟預想的情況是一樣的。
下面的交換機全部接口爲vlan1,那我改成其他的vlan,比如vlan3,那結果如何?
第三個實驗:請看附件圖片3

圖片3.JPG (25.28 KB)

 

這裏3PC的網關仍然爲192.168.1.1,所改變的是下面交換機的端口全部access vlan 3,還有個vlan 3的地址
那麼,現在在pcping 192.168.1.10這肯定是通的
那在pcping 192.168.1.1通不通呢?
有點小興奮,居然通了!!!
百思不得其解啊百思不得其解
爲什麼?爲什麼?如果我在兩個交換機上劃不同的vlan,能不能通?對,2層交換,不是3
請看最後一個實驗
第四個實驗:請看附件圖片4

圖片4.JPG (22.1 KB)

 
圖中4PC均未設置網關,掩碼爲24
我們用4PC互相去ping,看看會是什麼結果
結果如何?
交換機0上的主機0  192.168.1.2(屬於vlan10)能夠ping通交換機1上的主機3  192.168.1.5(屬於vlan20
其他的均ping不通
哈哈,是不是很神奇,2層交換,不同vlan間能互通
可是爲什麼?爲什麼會這樣?這好像跟我所學的衝突啊,本來不應該是這樣的,這。。這。。太不可思議了
難道是模擬器出了問題?用真機去試試
事實上,用真機是一樣的效果
這,就是vlan的祕密
 
 
  這樣的情況,如果你是的經驗十足的工程師的話,可能你就不會這樣設計網絡,因爲這樣的網絡設計是沒有什麼意思的,在實際環境中。因爲我們會選擇兩個交換機間使用TRUNK來傳遞不同VLAN之間的信息。爲什麼我在這裏會將此博文提一下呢,因爲它說明了一個VLAN之間的小知識點哦。
   不知道你想透了沒有。呵呵……是什麼原因會出現上面的那種情況,主機0只能與主機3通信。其它都不可以?
  
   它們之間就在於一個tag與untag。
   對於ACCESS接口,個人PC上的數據到達交換機之後,交換機就會給它打上一個VLAN TAG,然而在離開交換機的時候交換機又會將這個VLAN TAG 剝掉,所以出現上面4的情況。
   如主機0發一個報文到交換機0的時候,交換機0將它打上VLAN 10的TAG,但是當它從接口FA0/0出來的時候,這個VLAN TAG就被剝掉了,然而數據到達交換機1的時候,接口又給它打上的VLAN 20的TAG,所以到達對端之後就只能與VLAN 20網段的PC進行通信了。
 


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