Router
區域網路中的路由器與交換機
如果我有一個 LAN 並將其與交換機連接,我知道它使用 CAM 表在第 2 層路由數據包(通過將 mac 保存到埠關係)。到目前為止一切都很好。
但是,當將路由器用於 LAN(僅用於 LAN,而不是將其連接到“外部”WAN/網際網路/等)時,我對它如何在內部處理數據包感到有些困惑。我首先將其分為兩個路由器場景:
帶內置開關的路由器
在這種情況下,我希望它在內部完全充當帶有 CAM 表的開關。與下一個選項相比,這可能會在速度上有所幫助(在這裡猜測?)。
沒有內置交換機的路由器
這是我感到困惑的地方。如果hostA想向hostB發送一個數據包,它會通過ARP找到hostB的MAC地址並將其發送到那裡。現在,如果我們有一個開關(上面的場景),這將很容易。但是它現在如何在沒有交換機的路由器中工作?
如果我猜的話,hostA 會向線路發送一個帶有 hostB 的 MAC 地址的乙太網幀。路由器會獲取數據包(即使路由器有另一個 MAC 地址,它仍然會獲取這個數據包,即使它只包含主機 B 的 MAC 地址)。它將剝離乙太網幀頭並檢查 IP,然後再次檢查自己的內部 ARP 表以獲取 MAC 地址。
現在,與帶有內置交換機的路由器相比,這似乎是一種資源浪費。但也許它根本不會那樣工作。它是否還包含 CAM 表?如果這是真的,那麼這兩個路由器之間的真正區別是什麼?
- LAN 不是物理實體。LAN 是通過將 2 個或更多網路主機連接到公共網路基礎設施而創建的邏輯結構,該網路基礎設施允許這些主機通過所述網路基礎設施相互通信。
- 交換機不路由網路流量,它們轉發(或交換)網路流量。路由意味著第 3 層。交換機在執行交換功能時,僅在第 2 層執行,不路由流量。當第 3 層交換機執行路由功能時,它充當的是路由器,而不是交換機。當您談論第 2 層操作時,您將其稱為交換或轉發,當您談論第 3 層功能時,您將其稱為路由。第 3 層交換機可以同時執行這兩種功能,但必須區分交換功能和路由功能,因為它們發生在 OSI/DOD 模型的不同層(分別是交換與路由)。
- 在您的“沒有交換機的路由器”場景中:假設路由器有兩個或多個介面,並且 hostA 和 hostB 分別連接到不同的介面,路由器會將流量從 hostA 路由到 hostB。路由器不會像交換機那樣交換/轉發流量(暫時忽略關於路由器橋接的任何討論)。這意味著 hostA 的 ARP 為其預設網關,即路由器,然後將流量發送到那裡。然後路由器為 hostB 進行 ARP,然後將流量從一個介面(連接到 hostA 的介面)路由到另一個介面(連接到 hostB 的介面)。hostB 然後為它的 DG(路由器)進行 ARP,並在那裡發送返回流量。因為路由器在第 3 層執行,所以它具有 ARP 記憶體但沒有 CAM 表。
- 帶有內置交換機的路由器同時執行第 2 層交換和第 3 層路由。當它根據其 CAM 表將其從一個埠轉發到另一個埠時。當它路由它時,它會根據其路由表將流量從一個網路路由到另一個網路。