天天看點

​路由器是如何工作的?

什麼叫路由?

路由器的英文是 Router,也就是「找路的工具」。找什麼路?尋找各個網絡節點之間的路。

換句話說,路由器就像是快遞中轉站,包裹會經過一個個的中轉站,從遙遠的地方寄到你家附近,資料包也是一樣。

​路由器是如何工作的?

路由器是連接配接兩個網絡的硬體裝置,承擔尋路功能,是網絡的大門,是以,路由器又叫做網關裝置(Gateway)。

路由表

路由器和交換機一樣,也有自己的小本本,這個路由表上記載了到各個網絡節點之間的路,會記錄資料來源、相應的路由條目以及下一跳。

​路由器是如何工作的?

路由表就相當于路由器的導航,路由器隻需要按照路由表的訓示走就可以了。當然前提是,路由表中存在比對該資料包目的 IP 位址的路由條目。路由表會周期性更新,當網絡拓撲發生變化時也會更新,不用擔心走錯路。

​路由器是如何工作的?

路由器收發資料包的流程

路由器在收發資料包的時候會先檢視路由表,如果路由表裡有比對項,就會把資料包交給下一跳。如果沒有比對項,就會直接丢棄資料包,然後告訴主機,這個目的地不可達。

直連、靜态路由、動态路由

路由條目的擷取來源有很多種,比如說直連、靜态路由和動态路由。

直連,也就是路由器的直接鄰居。路由器會自己去認識鄰居,然後記錄下來。

當然,也可以通過手動添加的方式告訴路由器目的網段的路徑,也就是靜态路由,适合網絡規模比較小的場景。但是當網絡拓撲發生變化,或是規模擴大的時候,配置和維護的成本就會很高。

這時候就需要結合動态路由,讓路由器通過動态的方式來學習。在大型網絡中,往往采用這種動、靜路由相結合的方式進行部署。

三層尋址

上期講解的「二層尋址」,大家還記得嗎?二層尋址就是交換機根據 MAC 位址,在實體層進行尋址。

三層尋址就是指路由器根據 IP 位址,在網絡層進行尋址。

​路由器是如何工作的?

路由器三層尋址流程

當主機想要發送資料的時候,首先會檢視目的地是否和自己在同一個網段,如果在同一個網段就會讓交換機進行二層轉發。

如下圖所示,PC1 要給 PC2 發送資料,就會通過交換機來完成。

​路由器是如何工作的?

如果不在同一個網段,主機會把資料包交給自己的路由器,路由器再根據目的 IP 查詢自己的路由表,如果有比對的條目,則交給下一跳,沒有就丢棄。

如下圖所示,PC1 要給 PC3 發送資料,發現 PC3 和自己不在同一個網段,就會把資料包交給路由器 A,再根據路由表的條目轉發給路由器 B -> C,最後通過交換機 C 送達 PC3。

​路由器是如何工作的?

尋路原則

既然路由器是負責找路的,那條條大路通羅馬,哪條大路最近呢?

​路由器是如何工作的?

預設情況下,路由的查詢遵循最長比對原則,也就是掩碼越長、越精确,路由器就會優先選擇那條路。

然後考慮路徑開銷,比如說帶寬、管理距離、路徑成本等。也就是如果從這條路走,要花上多少時間和金錢。絕大部分資料通信行為是雙向的,考慮流量的時候,還要關注流量的往返,從這條路去,也得從這條路回來,回來的時候沒路了,這也不行。

​路由器是如何工作的?

路由查詢的行為是逐跳的,到目标網絡沿途的每個路由器都必須有關于該目标網段的路由資訊。簡單來說,資料包每經過一個路由器,路由器就會告訴它下一跳是誰,該往哪個方向走。

如何選擇路由器?

路由器選型可以考慮這幾個因素:帶寬需求/轉發性能、端口數量、帶機量。

比如說家裡拉了千兆寬帶,那麼路由器一定得是千兆路由器,還要滿足千兆 NAT 轉發的性能。順帶一提,營運商配的光貓是自帶路由功能的,如果沒有特殊需求,普通家庭一般夠用了。

一般家用場景,路由端口用的不太多,可以通過交換機補充。大部分商用場景,4-12 口也就夠了,再多的話,相信大部分企業會選擇三層交換機。

帶機量是一個很重要的名額,我們一般會考慮并發使用者,還有使用者的業務類型。

繼續閱讀