正解局域網網關與使用以及將二層lan口做路由器、三層交換機的靜態路由出口的實驗




如上圖,
三層交換機上劃分vlan6並且VLANip:10.1.1.1/24。所有交換機接口都是switch access vlan 6。
假設R_a、R_b都已添加正確的靜態路由。三層交換機沒有添加靜態路由。
那麼將出現下面兩種情況:
host_A:ping 192.168.1.2   不通。
host_B:ping 192.168.1.2    通。 

原因分析:
由於host_A訪問的IP:192.168.1.2不屬於局域網10.1.1.1/24內,是跨網段訪問,所以必須經過IP路由表的路由選擇纔可以到192.168.1.0網段。因host_A的網關是10.1.1.1,所以host_A數據轉成幀,幀裏邊的源MAC爲host_A,目標MAC爲三層交換機f0/1。(這在之前博文已經解釋過,局域網內是使用硬件地址MAC尋址的)
當三層交換機從fa0/1接口收到比特後,並逐層解封裝到網絡層時,三層交換機將分組中的目標IP地址提取出來,並在路由表中搜索,但由於沒有添加靜態路由,所以三層交換機不知道怎麼轉發從而丟棄此數據報。結果host_A無法ping通192.168.1.2。
同樣host_B訪問ip:192.168.1.2也是跨網段,所以必須要將數據交給網關10.1.1.254,在這裏可能會有個疑問,爲什麼網關是10.1.1.254而不是10.1.1.1呢?這個問題的答案之前已經回答了的——局域網內主機(路由、交換機接口占用的IP也算是個主機)之間的訪問是通過硬件地址MAC尋址的,也就是說局域網內任何主機(接口)IP都可以做爲網關,而不是隻有創建IP的路由器(三層交換機)的接口(vlan)的IP纔可以做爲整個局域網的網關(大多數情況下我們遇到的網絡拓撲圖是局域網中只有一個做爲連接外網的路由器(三層交換機)並且此路由器作爲創建IP的設備,從而習慣的將這個路由器接口的IP做爲網關),所以以後要清楚能夠路由選擇的設備的IP都可以作爲整個局域網的網關。最後在R_a接口fa0/1上收到host_B的幀中源mac是host_B,目標mac是R_a接口。結果R_a通過查路由表與arp表將目標ip地址成功轉發出去。
注意:兩個跨網段通信的主機都必須設置默認網關,否則也無法PING通。如上圖host_C沒網關192.168.1.1,那麼host_B ping192.168.1.2時會顯示out time(超時),因爲host_C回覆host_B時由於是跨網段從而要將數據交付網關192.168.1.1處理,因此沒有網關不能找到網關MAC,所有host_C數據發不出去。


又例如下圖再次說明網關的作用:



下例實驗過程說明:路由器、三層交換機上的任何接口(包括二層交換口)都可以作爲靜態路由的出口。路由器上所有LAN口(二層交換口,不包括三層路由口)即都屬於vlan1,功能相當於一個三層交換機所有接口都爲二層且啓動了vlan1,所以這些路由器上的lan口連接到其他路由接口等設備且有其他網段時,帶lan口的路由器上一樣可以做靜態路由指向lan口所連接的設備網段上。有如下圖,
1、網關巧妙選用。即選用局域網中任何能到達目標網絡的局域網IP做網關,不管這個IP是不是在自己所物理直接設備的接口或vlan ip。




由於PC0選用192.168.1.100作爲網關,所以當跨網段通信時,PC0將數據包交給router1處理(幀中目標mac地址爲g0/0,而Router0僅做轉發接口而已。
2、如果pc0想上外網,又想訪問172.16.1.x這網段時,pc0網關必須設置成vlan的IP192.168.1.1。則pc0不能ping通172.16.1.2。如下圖


由於pc0網關爲192.168.1.1,所以數據在router0時沒有指向172.16.1.X的出口,只能使用默認路由出到外網f0/0接口去。
因此我們要在router0上添加一條靜態路由:ip route 172.16.1.0 255.255.255.0 192.168.1.100,這樣當router0接到172.16.1.x時就從192.168.1.100作爲下一條轉發出去。

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