2014-03-04 57 views
-1

考慮一下,我有一個連接到多個終端設備的交換機,例如X,Y,Z,其中X在Vlan_X中,Y在Vlan_Y中,Z在Vlan_Z中。路由器如何將數據包發送回PC?

該交換機通過路由器連接到外部網絡,用於路由數據。同樣在這裏每個Vlan都被指定一個唯一的IP,因爲每個Vlan代表一個子網。

現在X和Y都通過網絡發送TCP/UDP請求,該請求通過路由器路由。

我的問題是路由器在路由迴應他們時如何識別X和Y的MAC地址?

由於路由器和交換機之間的線路已啓用中繼,因此路由器如何在對應於X或Y的802.1q中添加正確的VLAN ID?

感謝 查蘭

回答

0

忽略VLAN的片刻的存在 - 假設你有三個獨立的設備

switch_VXswitch_VYswitch_VZ與主機X,Y, Z連接到它們。

現在假設你的路由器有一條不同的以太網電纜連接到每個交換機。

在你的路由器上你將有三個不同的以太網端口。 eth_VXeth_VYeth_VZ

在此設置應該清楚它是如何工作的。

  • 每個交換機有它自己的3層爲所使用的任何協議協議地址子網(IPv4中,IPv6的協議,AppleTalk,IPX等)
  • 路由器需要具有從同一個地址的每個接口上的配置交換機正在使用的地址範圍。
  • 然後,路由器通過查看協議地址,找到匹配的接口,然後使用正確的協議 - > mac轉換機制與最終主機進行通信,從而到達主機。
    • 對於IPv4,這意味着路由器在其路由表中查找,找到eth_?,然後在ARP表中查找它正在查找的主機的MAC地址。
  • 每臺主機都配置了一個來自其正在使用的交換機上的子網的地址,並且每臺主機都配置爲使用路由器的地址作爲其默認網關。

邏輯上,這正是它的工作原理 - 總是。 但是,限制人們爲每個子網使用不同的交換機組效率並不高。爲每個交換機需要單獨的以太網電纜和路由器端口效率不高。當你想要做適當的服務並添加冗餘電纜和路由器等時,它會變得更加昂貴。

因此,製造商稍微改變了物理拓撲結構,並將一些物理內容轉移到配置的軟件中。但是這些設備仍然在做完全相同的工作。

因此,不是單獨的交換機,而是在設備(或一組設備)上分開設置vlans。 在上面的解釋中,替換switch_VXswitch_vlan_X。交換機上的VLAN配置有效地實現了完全獨立的交換機。它運行自己的MAC地址表,它有自己的生成樹運行副本。在交換機內部,它必須在每個以太網幀內記錄VLANID - 以確保它始終不會被髮送到錯誤的端口。交換機在收到幀時添加VLANID,並在發送之前將其剝離。所以最終主機不知道它發生了。這一切都隱藏起來。

因此,刪除多個交換機,我們可以在一臺交換機上配置我們的vlans。

但我們仍然有多條電纜連接到我們的路由器。因此,讓我們通過配置交換引擎來修復連接到路由器的端口。而不是剝離所有幀的VLANID - 而是將幀發送到路由器,VLANID仍保留在路由器上。我們需要就幀的通用格式達成一致,所以路由器知道在哪裏尋找。 802.1Q是行業標準,但還有其他一些選項。大多數供應商在將其配置爲保留VLANID時將該端口稱爲「中繼」端口。

現在,路由器在單個接口上獲取一幀幀流,但它們中有需要刪除的VLAN標識符。讓我們讓路由器用軟件來做到這一點。因此,在上面的描述中,不是不同的以太網接口;我們將擁有一個瞭解VLAN的軟件界面。用eth_vlan_X替換所有提到的eth_VX。 現在,路由器知道它何時獲得屬於VLAN X的幀,它與接口eth_vlan_x關聯,並且可以刪除VLANID並對其進行適當處理。 如果路由器想要從接口eth_vlan_x發送一個幀,它知道它需要將VLANID X插入到每個虛擬機中。

因此,我們從邏輯設置開始,將物理佈局更改爲更靈活,更高效。然而,從邏輯上來說,使用獨立獨立設備的設置完全沒有區別。

相關問題