路由器的工作原理
1. 什么叫路由?
本文引用地址:http://dyxdggzs.com/article/202410/464172.htm路由器的英文是 Router,也就是「找路的工具」。找什么路?尋找各個(gè)網(wǎng)絡(luò )節點(diǎn)之間的路。換句話(huà)說(shuō),路由器就像是快遞中轉站,包裹會(huì )經(jīng)過(guò)一個(gè)個(gè)的中轉站,從遙遠的地方寄到你家附近,數據包也是一樣。
路由器是連接兩個(gè)網(wǎng)絡(luò )的硬件設備,承擔尋路功能,是網(wǎng)絡(luò )的大門(mén),因此,路由器又叫做網(wǎng)關(guān)設備(Gateway)。
2. 路由表
路由器和交換機一樣,也有自己的小本本,這個(gè)路由表上記載了到各個(gè)網(wǎng)絡(luò )節點(diǎn)之間的路,會(huì )記錄數據來(lái)源、相應的路由條目以及下一跳。
路由表就相當于路由器的導航,路由器只需要按照路由表的指示走就可以了。當然前提是,路由表中存在匹配該數據包目的 IP 地址的路由條目。路由表會(huì )周期性更新,當網(wǎng)絡(luò )拓撲發(fā)生變化時(shí)也會(huì )更新,不用擔心走錯路。
路由器收發(fā)數據包的流程
路由器在收發(fā)數據包的時(shí)候會(huì )先查看路由表,如果路由表里有匹配項,就會(huì )把數據包交給下一跳。如果沒(méi)有匹配項,就會(huì )直接丟棄數據包,然后告訴主機,這個(gè)目的地不可達。
3. 直連、靜態(tài)路由、動(dòng)態(tài)路由
路由條目的獲取來(lái)源有很多種,比如說(shuō)直連、靜態(tài)路由和動(dòng)態(tài)路由。
· 直連,也就是路由器的直接鄰居。路由器會(huì )自己去認識鄰居,然后記錄下來(lái)。
· 當然,也可以通過(guò)手動(dòng)添加的方式告訴路由器目的網(wǎng)段的路徑,也就是靜態(tài)路由,適合網(wǎng)絡(luò )規模比較小的場(chǎng)景。但是當網(wǎng)絡(luò )拓撲發(fā)生變化,或是規模擴大的時(shí)候,配置和維護的成本就會(huì )很高。
· 這時(shí)候就需要結合動(dòng)態(tài)路由,讓路由器通過(guò)動(dòng)態(tài)的方式來(lái)學(xué)習。在大型網(wǎng)絡(luò )中,往往采用這種動(dòng)、靜路由相結合的方式進(jìn)行部署。
4. 三層尋址
二層尋址是交換機根據 MAC 地址,在物理層進(jìn)行尋址。三層尋址就是指路由器根據 IP 地址,在網(wǎng)絡(luò )層進(jìn)行尋址。
路由器三層尋址流程
當主機想要發(fā)送數據的時(shí)候,首先會(huì )查看目的地是否和自己在同一個(gè)網(wǎng)段,如果在同一個(gè)網(wǎng)段就會(huì )讓交換機進(jìn)行二層轉發(fā)。如下圖所示,PC1 要給 PC2 發(fā)送數據,就會(huì )通過(guò)交換機來(lái)完成。
如果不在同一個(gè)網(wǎng)段,主機會(huì )把數據包交給自己的路由器,路由器再根據目的 IP 查詢(xún)自己的路由表,如果有匹配的條目,則交給下一跳,沒(méi)有就丟棄。
如下圖所示,PC1 要給 PC3 發(fā)送數據,發(fā)現 PC3 和自己不在同一個(gè)網(wǎng)段,就會(huì )把數據包交給路由器 A,再根據路由表的條目轉發(fā)給路由器 B -> C,最后通過(guò)交換機 C 送達 PC3。
5. 尋路原則
既然路由器是負責找路的,那條條大路通羅馬,哪條大路最近呢?
來(lái)源:Giphy
默認情況下,路由的查詢(xún)遵循最長(cháng)匹配原則,也就是掩碼越長(cháng)、越精確,路由器就會(huì )優(yōu)先選擇那條路。
然后考慮路徑開(kāi)銷(xiāo),比如說(shuō)帶寬、管理距離、度量值等。也就是如果從這條路走,要花上多少時(shí)間和金錢(qián)。絕大部分數據通信行為是雙向的,考慮流量的時(shí)候,還要關(guān)注流量的往返,從這條路去,也得從這條路回來(lái),回來(lái)的時(shí)候沒(méi)路了,這也不行。
路由查詢(xún)的行為是逐跳的,到目標網(wǎng)絡(luò )沿途的每個(gè)路由器都必須有關(guān)于該目標網(wǎng)段的路由信息。簡(jiǎn)單來(lái)說(shuō),數據包每經(jīng)過(guò)一個(gè)路由器,路由器就會(huì )告訴它下一跳是誰(shuí),該往哪個(gè)方向走。
6. 如何選擇路由器?
路由器選型可以考慮這幾個(gè)因素:帶寬需求/轉發(fā)性能、端口數量、帶機量。比如說(shuō)家里拉了千兆寬帶,那么路由器一定得是千兆路由器,還要滿(mǎn)足千兆 NAT 轉發(fā)的性能。順帶一提,運營(yíng)商配的光貓是自帶路由功能的,如果沒(méi)有特殊需求,普通家庭一般夠用了。一般家用場(chǎng)景,路由端口用的不太多,可以通過(guò)交換機補充。
大部分商用場(chǎng)景,4-12 人也就夠了,再多的話(huà),相信大部分企業(yè)會(huì )選擇三層交換機。帶機量是一個(gè)很重要的指標,我們一般會(huì )考慮并發(fā)用戶(hù),還有用戶(hù)的業(yè)務(wù)類(lèi)型。以 UniFi 的網(wǎng)關(guān)設備為例:USG 可以到 100 并發(fā),普通家庭或小微企業(yè),都足夠用了;USG-Pro-4 帶機量可以到 1000 并發(fā),中小企業(yè)需求基本可以滿(mǎn)足;如果還有更高需求,可以使用 UDM-Pro。
來(lái)源 | Ubiquiti優(yōu)倍快
評論