基於端口的虛擬局域網測試

基於端口的虛擬局域網測試

一、什麼是VLAN

VLAN,是英文Virtual Local Area Network的縮寫,中文名爲"虛擬局域網", VLAN是 一種將局域網(LAN)設備從邏輯上劃分(注意,不是從物理上劃分)成一個個網段(或者 說是更小的局域網LAN),從而實現虛擬工作組(單元)的數據交換技術。

VLAN 主要用來解決如何將大型網絡劃分成多個小網絡,隔離原本在同一個物理LAN中的不同主機間的二層通信;

LAN中,各主機之間的通信是物理通信(二層通信);

VLAN中,各主機劃分於不同的VLAN,不同VLAN之間通信是三層通信;

 

二、問題發現:

今天在複習二層網絡設置VLAN的問題的時候,突然想到:如果在VLAN中多加上一個路由器還能否使用的了vlan

這個是我做實驗用的圖:

 

 

 

 

第一步:按照圖中的要求,將所有主機以及路由器上面的IP地址都配置好:現在還沒有配置vlan,所有所有的主機都是能夠互相ping通的;

第二步:LSW1LSW2 的接口上配置相應的鏈路模式,在這裏LSW與主機之間相連的端口設置爲accessLSW12和路由器之間的端口設置爲trunk;設置完之後,發現在同一個二層網絡之間的相同vlan能夠相互的ping通;但是不同的二層網絡之間卻不能ping通(192.168.1.1->192.168.0.1ping不通);

第三步:因此我在LSW1e0/0/3的鏈路上進行抓包;發現:

 

這時候的我認爲:應該是路由器沒有設置arp代理導致的:所以我選擇添加了靜態arp並且在每個端口上都開啓了arp代理;

第四步:繼續用pc1pingpc2,發現任然ping不通;所以我仔細看了下:原來是pc1找不到去往路由器端口的地址:(因爲我在LSW1E0/0/3上設置的是trunk,當pc1的數據包生成發送通過e0/0/3端口到鏈路上的是帶有標籤的幀);路由器的g0/0/0端並不能識別這種帶有標籤的幀,所以直接丟棄,所以在PC1上纔會返回:目標不可達;

當我把LSW1LSW2上和路由器相連接的接口的鏈路狀態模式設置爲了access,這下就能夠從PC1pingPC2;(不過現在只能使VLAN10的主機相互ping通,但是vlan20的並不能;)

現在我關閉了路由器端口的arp代理。看是否還能夠相互ping通;好吧,他果然還是能夠ping通;(下圖是PC1上的arp緩存),其實現在根本沒有用到arp代理功能!

 

所以我吧PC1的默認網關去掉之後,依然能夠ping通,說明了此時纔是利用了arp代理功能;(arp代理就是告訴PC1要去別的網絡可以吧文件發給我);在這裏去的網關值爲(0.0.0.0

 

現在需要解決的問題就是:如何讓VLAN 20也能夠相互ping通;因爲Access端口最主要的特性是僅允許一個VLAN的幀通過,所以Access只能加入一個VLAN,所以這個就是限制了LSW1和路由器只能傳VLAN10幀的主要問題所在;

 

三、問題解決思路

所以爲了能夠前面所提出來的問題

思路有2條:1)在路由器的接口處配置,使他能夠接受並轉發帶有幀的報文;

將鏈路種類換成hybrid;看是否能行得通;

採用單臂路由器的方式完成;

(一)先做第一條:(利用單筆路由器的思路)

 

設置子端口並且配置使子端口能夠接受vidX的標籤;

然後,去掉默認網關,因爲默認網到達。在這裏利用arp廣播;但是爲什麼我ping不通呢,(原因是因爲我設置了靜態arp,在此之前設置的靜態arp時候的ip和現在修改了IP的不一樣啦。因爲要保證不再同一網段;)

然後的然後發現單筆路由器設置不了啊。(先補充一波單筆路由器的資料)

 

先把LSW4上面的接口的鏈路種類設置爲accesstrunk

在這裏:兩臺主機的ip是不在同一個網段下的,(因爲如果兩臺主機在同一個網段下的話,他會認爲PC11和自己是在同一個網絡下,只會進行二層通信,所以他不會選擇發送至路由器;當它需要ping PC11的時候,會在同一個網絡下去用arp請求,但是因爲vlan的存在,所以arp根本不能廣播到PC11,所以會發送失敗;但是如果不在一個網段下的話,PC10會進行三層通信,PC10會選擇訪問默認路由,即能到達路由器上,就會查找IP表,然後查出目標PC11ip然後發送出去;)

接着做,對路由器進行配置:(單臂模式)

[R4-GigabitEthernet0/0/0.1]ip address  10.0.0.10 24

[R4-GigabitEthernet0/0/0.1]dot1q termination vid 10

[R4-GigabitEthernet0/0/0.1]arp broadcast enable

[R4-GigabitEthernet0/0/0.1]ip address  10.0.1.10 24

[R4-GigabitEthernet0/0/0.1]dot1q termination vid 20

[R4-GigabitEthernet0/0/0.1]arp broadcast enable

然後就能ping通了。

 

其實我覺得單臂路由器對於vlan沒有什麼大的作用,畢竟有個路由器就已經能夠達到隔離廣播的作用了。

然後呢,爲了能讓PC1和不同網段的PC3通信,所以同樣要把LSW2和路由器相關的鏈路設置爲單筆路由器的模式。當然,主機PC3pc4 ip地址都要變換,(其實就挺像一個三層通信)。

最後測試:最後都弄通了。不過沒有達到想要的效果。因爲vlan都被路由器的轉發功能破換完了,,,與其花這麼多時間搞vlan,還不如直接使用匹配模式賽選路由;

這個用的是cs1

 

 

 

 

 

(二)然後做第二條思路:(利用hybrid的特性)

Hybrid端口:pvid:這個在hybrid端口中,是連接主機的端口需要設置的,她爲即將到來的數據報文添加一個pvid;(如果沒有對報文進行pvid的命名,它將不會受到後面設置了taggeduntagged端口設置的影響);

Untagged:這個接口主要是用在了主機和交換機之間的;爲了剝離pviduntagged設置的vlan相同的幀,如果值不相同的話就直接丟棄;

Tagged:當收到了一個pvid和設置的tagged所設置的vlan相同時,會剝其報文轉發,當收到了一個pvid和設置的tagged所設置的vlan不相同時,不剝離直接轉發。

 

不過這個思路是完成不了的。

如果我在路由器和交換機之間的端口上設置hybrid端口,並且設置端口爲tagged10,20 ,這樣。。。。。

 

 

在這之前先考慮一個問題:如果當一個hybrid端口設置爲tagged時候,按照定義,如果他收到了一個pvid和設置的tagged相同的幀,就會剝離。那到底是怎麼樣子的剝離呢?如果這樣都可以的話那和untagged又有什麼區別呢?

現在先做個小實驗來驗證:

 

 

1、現在E0/0/1上配置好hybriduntagged

[Huawei-Ethernet0/0/1]port hybrid pvid vlan 10

[Huawei-Ethernet0/0/1]port hybrid untagged

 

e0/0/3上配置好hybridtaggedvlan 10)並shutdown e0/0/2

[Huawei-Ethernet0/0/3]port hybrid  tagged  vlan 10

 

 這個是e0/0/1上抓的包:

 

這個是e0/0/3上抓的包:

 

嘗試用pc15pingpc17肯定是ping不通的,通過在e0/0/3這條鏈路上抓包。發現:每個arp包上面都有一個202.1Q的標籤:

[Huawei-Ethernet0/0/3]undo port hybrid  tagged  vlan  10

[Huawei-Ethernet0/0/3]port hybrid  tagged vlan 20

然後我現在選擇吧taggedvlan值修改爲20(不相同了),然後就直接拒收了好麼;這特麼和定義的不一樣啊

個人理解:

應該是如果taggedvlan值和pvid相同的話—轉發。如果不相同的話,就會丟棄;

          tagged從交換機和交換機的鏈路上接受到了pvid不等於tagged接口的vlan。直接丟棄。當tagged從交換機內部準備向外發出時候:如果標籤的pvid不等於tagged接口的vlan時候,不予轉發。

Pvid用於:收到標籤的幀的時候會打上標籤;標籤的值爲設置的pvid的值;

    Untagged 收到帶有標籤的。判斷和untagged設置的vlan的值是否相同。如果相同的話就去掉標籤變成一個普通的,可以被路由器主機識別的幀;如果不相同。直接扔了。

 

所以。

 

 

對於這張圖來說,我無論在LSW1  0/0/4接口做如何的設置:

如果我設置了tagged並且允許帶有pvid的報文通過的話:如果路由器沒有做帶有可以識別802.1Q幀的設置的話,(單筆路由器);路由器上面的G0/0/0是絕對不能收到該幀的;

如果我現在這個接口上設置了untagged幀的話:雖然該接口是能夠接受該幀並且做出路由選擇,但是對於和路由器相連的LSW2 E0/0/1接口來說:它必須有一個pvid但也只能存在一個pvid、所以也只能傳送一種pvid的幀、並不能達到希望的效果;

 

3/2 2017              by:my-tea


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