交換機和路由器


1、交換機網絡

常見的以太網設備包括Hub、交換機等。交換機工作在數據鏈路層,有效地隔離了以太網中的沖突域,極大地提升了以太網的性能。

交換機工作在數據鏈路層,對數據幀進行操作。在收到數據幀后,交換機會根據數據幀的頭部信息對數據幀進行轉發

1.1 交換機的轉發行為

 

交換機中有一個MAC地址表,里面存放了MAC地址與交換機端口的映射關系。MAC地址表也稱為CAM(Content Addressable Memory)表。

如圖所示,交換機對幀的轉發操作行為分為:泛洪(Flooding),轉發(Forwarding),丟棄(Discarding)

  • 泛洪:交換機把從某一端口進來的幀通過所有其它的端口轉發出去(注意,“所有其它的端口”是指除了這個幀進入交換機的那個端口以外的所有端口)。
  • 轉發:交換機把從某一端口進來的幀通過另一個端口轉發出去(注意,“另一個端口”不能是這個幀進入交換機的那個端口)。
  • 丟棄:交換機把從某一端口進來的幀直接丟棄

1.2 交換機的基本工作原理

交換機的基本工作原理可以概括地描述如下:

  1. 如果進入交換機的是一個單播幀,則交換機會MAC地址表中查找這個幀的目的MAC地址
    • 如果查不到這個MAC地址,則交換機執行泛洪操作。
    • 如果查到了這個MAC地址,則比較這個MAC地址在MAC地址表中對應的端口是不是這個幀進入交換機的那個端口。如果不是,則交換機執行轉發操作。如果是,則交換機執行丟棄操作。
  1. 如果進入交換機的是一個廣播幀,則交換機不會去查MAC地址表,而是直接執行泛洪操作
  2. 如果進入交換機的是一個組播幀,則交換機的處理行為比較復雜,以后再做詳細解釋。

另外,交換機還具有學習能力。當一個幀進入交換機后,交換機會檢查這個幀的源MAC地址,並將該源MAC地址與這個幀進入交換機的那個端口進行映射,然后將這個映射關系存放進MAC地址表。(根據源MAC地址豐富MAC地址表

1.3 交換機初始狀態

初始狀態下,交換機並不知道所連接主機的MAC地址,所以MAC地址表為空。本例中,SWA為初始狀態,在收到主機A發送的數據幀之前,MAC地址表中沒有任何表項。

1.4 學習MAC地址

主機A發送數據給主機C時,一般會首先發送ARP請求來獲取主機C的MAC地址,此ARP請求幀中的目的MAC地址是廣播地址,源MAC地址是自己的MAC地址。SWA收到該幀后,會將源MAC地址和接收端口的映射關系添加到MAC地址表中。缺省情況下,X7系列交換機學習到的MAC地址表項的老化時間為300秒。如果在老化時間內再次收到主機A發送的數據幀,SWA中保存的主機A的MAC地址和G0/0/1的映射的老化時間會被刷新。此后,如果交換機收到目標MAC地址為00-01-02-03-04-AA的數據幀時,都將通過G0/0/1端口轉發。

1.5 轉發數據幀

本例中主機A發送的數據幀的目的MAC地址為廣播地址,所以交換機會將此數據幀通過G0/0/2和G0/0/3端口廣播到主機B和主機C。

1.6 目標主機回復

主機B和主機C接收到此數據幀后,都會查看該ARP數據幀。但是主機B不會回復該幀,主機C會處理該幀並發送ARP回應,此回復數據幀的目的MAC地址為主機A的MAC地址,源MAC地址為主機C的MAC地址。SWA收到回復數據幀時,會將該幀的源MAC地址和接口的映射關系添加到MAC地址表中。如果此映射關系在MAC地址表已經存在,則會被刷新。然后SWA查詢MAC地址表,根據幀的目的MAC地址找到對應的轉發端口后,從G0/0/1轉發此數據幀。

2、IP路由

以太網交換機工作在數據鏈路層,用於在網絡內進行數據轉發。而企業網絡的拓撲結構一般會比較復雜,不同的部門,或者總部和分支可能處在不同的網絡中,此時就需要使用路由器來連接不同的網絡,實現網絡之間的數據轉發。

2.1 自治系統(Autonomous System)

根據RFC1030的定義,自治系統是由一個單一實體管轄的網絡,這個實體可以是一個互聯網服務提供商,或一個大型組織機構。自治系統內部遵循一個單一且明確的路由策略。最初,自治系統內部只考慮運行單個路由協議;然而,隨着網絡的發展,一個自治系統內現在也可以支持同時運行多種路由協議。

在一個自治系統中的所有路由器必須相互連接,運行相同的路由協議,同時分配同一個自治系統編號。自治系統號由一個16bit的整數標示,是NIC統一分配和管理的

2.2 LAN和廣播域

路由器工作在網絡層,隔離了廣播域,並可以作為每個局域網的網關,發現到達目的網絡的最優路徑,最終實現報文在不同網絡間的轉發。

此例中,RTA和RTB把整個網絡分成了三個不同的局域網,每個局域網為一個廣播域。LAN1內部的主機直接可以通過交換機實現相互通信,LAN2內部的主機之間也是如此。但是,LAN1內部的主機與LAN2內部的主機之間則必須要通過路由器才能實現相互通信。

2.3 路由選路

路由器收到數據包后,會根據數據包中的目的IP地址選擇一條最優的路徑,並將數據包轉發到下一個路由器,路徑上最后的路由器負責將數據包送交目的主機。

數據包在網絡上的傳輸就好像是體育運動中的接力賽一樣,每一個路由器負責將數據包按照最優的路徑向下一跳路由器進行轉發,通過多個路由器一站一站的接力,最終將數據包通過最優路徑轉發到目的地。當然有時候由於實施了一些特別的路由策略,數據包通過的路徑可能並不一定是最佳的。

路由器能夠決定數據報文的轉發路徑。如果有多條路徑可以到達目的地,則路由器會通過進行計算來決定最佳下一跳。計算的原則會隨實際使用的路由協議不同而不同。

2.4 IP路由表

路由器轉發數據包的關鍵是路由表。路由表中包含了路由器可以到達的目的網絡。目的網絡在路由表中不存在的數據包會被丟棄。

每個路由器中都保存着一張路由表,表中每條路由表項都指明了數據包要到達某網絡或某主機應通過路由器的哪個物理接口發送,以及可到達該路徑的哪個下一跳路由器,或者不再經過別的路由器而直接可以到達目的地。

路由表中包含了下列關鍵項:

  • 目的地址(Destination):用來標識IP數據包的目的地址或目的網絡。
  • 網絡掩碼(Mask):在路由表中網絡掩碼也具有重要的意義。IP地址和網絡掩碼進行“邏輯與”便可得到相應的網段信息。網絡掩碼的另一個作用還表現在當路由表中有多條目的地址相同的路由信息時,路由器將選擇其掩碼最長的一項作為匹配項。
  • 路由協議(Proto)
  • 路由優先級(Pre)
  • 路由度量(Cost)
  • 輸出接口(Interface):指明IP數據包將從該路由器的哪個接口轉發出去。
  • 下一跳IP地址(NextHop):指明IP數據包所經由的下一跳路由器的接口地址。

2.5 路由優先級

路由器可以通過多種不同協議學習到去往同一目的網絡的路由,當這些路由都符合最長匹配原則時,必須決定哪個路由優先。也就是說路由優先級由路由協議決定。

每個路由協議都有一個協議優先級(取值越小、優先級越高)。當有多個路由信息時,選擇最高優先級的路由作為最佳路由。

如圖所示,路由器通過兩種路由協議學習到了網段10.1.1.0的路由。雖然RIP協議提供了一條看起來更加近的路線,但是由於OSPF具有更高的優先級,因而成為優選路由,並被加入路由表中。

2.6 路由度量

如果路由器無法用優先級來判斷最優路由(路徑的協議相同),則使用度量值(metric)來決定需要加入路由表的路由。metric值越小,路由越優先;

一些常用的度量值有:跳數,帶寬,時延,代價,負載,可靠性等。跳數是指到達目的地所通過的路由器數目。帶寬是指鏈路的容量,高速鏈路開銷(度量值)較小。

因此,圖示中metric=1+1=2的路由是到達目的地的最優路由,其表項可以在路由表中找到。

根據比較“路由優先級”和“路由度量”,設備可以產生最優路徑的IP路由表。根據來源的不同,路由表中的路由通常可分為以下三類:

  • 鏈路層協議發現的路由(也稱為接口路由或直連路由)。Direct
  • 由網絡管理員手工配置的靜態路由。Static
  • 動態路由協議發現的路由。OSPF

2.7 最長匹配原則

路由器在轉發數據時,需要選擇路由表中的最優路由。

當數據報文到達路由器時,路由器首先提取出報文的目的IP地址,然后查找路由表,將報文的目的IP地址與路由表中某表項的掩碼字段做“與”操作,“與”操作后的結果跟路由表該表項的目的IP地址比較,相同則匹配上,否則就沒有匹配上。 當與所有的路由表項都進行匹配后,路由器會選擇一個掩碼最長的匹配項

如圖所示,路由表中有兩個表項到達目的網段10.1.1.0,下一跳地址都是20.1.1.2。如果要將報文轉發至網段10.1.1.1,則10.1.1.0/30符合最長匹配原則。

路由器轉發數據包過程:路由器收到一個數據包后,會檢查其目的IP地址,然后查找路由表。查找到匹配的路由表項之后,路由器會根據該表項所指示的出接口信息和下一跳信息將數據包轉發出去。

路由器選擇最優路由的順序是什么?

路由器在選擇最優路由時,會首先根據路由的優先級選擇哪些路由可以放入路由表中;如果優先級相等,再比較metric數值,決定哪些路由放入路由表;

最后在查路由表時根據最長掩碼匹配原則選擇路由表項指導數據報文轉發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM