路由器是一種連接多個網絡的網絡層設備,它能夠將不同網絡之間的數據信息進行“翻譯”,以使不同網絡主機之間能夠相互“讀懂”對方的數據,從而構成更大的網絡。路由器之所以能在不同網絡之間起到“翻譯”的作用,其最主要的工作原理是路由器會根據生成的路由表實現不同網段之間的通信。這里的路由器我們一般指的是企業級的路由器。

那么,企業級路由器主要有以下三種途徑去構建路由表:
- 直連網絡:路由器自動添加和自己直接連接網絡的路由。
- 靜態路由:管理員手動輸入到路由器的路由。
- 動態路由:由路由協議動態建立的路由。
如下圖,兩臺不同網絡的主機192.168.2.1/24和192.168.1.1/24需要進行通信,此時就得依靠路由器了,當然也可以是三層交換機,這里我們說的交換機一般指二層交換機,而交換機的主要工作原理是根據MAC地址表只能去實現同一局域網主機間的相互通信了。我們以一臺華為路由器為例配置各自接口IP地址作為兩臺主機的網關。
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.2.254 24
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.1.254 24

兩臺主機連接到路由器并設置各自的網關地址,這樣就可以通信了。這是因為當路由器接口IP地址配置完成后,路由器就會自動將這兩個網段的直連路由加入到路由表,路由器就是通過直連路由來轉發不同網段的數據包。

當然,計算機一般都是先接入到交換機的,這是因為一方面路由器不會有太多的連接端口供接入,更重要的原因是路由器的每一個端口都是三層口,即每個口都處于不同網段,起到隔離廣播域的作用。所以計算機一般都是先是接入到交換機上組成一個局域網,然后交換機在連接到路由器,路由器的接口就作為計算機的網關地址。

當局域網的主機需要和其他局域網的主機進行通信時,就得依靠路由器進行連接。如下拓撲,兩個公司獨立的網絡需要相互通信時,我們就得需要依靠路由器去相互進行連接了。

然后我們還要去構建路由器的路由表,路由器才能去幫我們實現轉發通信,我們以思科路由器為例,配置靜態路由的方式實現如下:
R1路由器靜態路由配置:
ip route 192.168.2.0 255.255.255.0 12.1.1.2
R2路由器靜態路由配置:
ip route 192.168.1.0 255.255.255.0 12.1.1.1
查看路由器的路由表如下,可以看到R1路由器通過靜態路由的方式學習到了 “192.168.2.0”的目的網絡,并且要到達目標網絡是通過“via 12.1.1.2”即要通過R2路由器,這樣路由器就幫我們實現了兩個獨立網絡的相互通信。

其實不管中間有多少臺路由器進行連接只要路由器構建正確,路由器就都可以幫我進行數據轉發了。如果網絡拓撲結構十分復雜,手工配置靜態路由方式就不大適用了,配置時工作量大而且容易出錯,另外靜態路由并不能對網絡的改變而做出反應。這時候我們就可以采用動態路由的方式了如配置RIP、OSPF等去實現,動態路由是指網絡設備之間相互通信傳遞路由信息,利用收到的路由信息更新路由表的過程,它能實時地適應網絡結構地變化,通過它們各自的路由算法,讓其自動發現和修改路由,無需人工維護。當鏈路發生故障或存在其它可用路由時,動態路由可以自行選擇最佳的可用路由并繼續轉發報文。

路由器還有一個非常常用的工作場景,我們就以家用路由器來說,家用路由器其實是路由器+交換機的組合模式了,一般是一個WAN口加幾個LAN口。我們說要想上互聯網我們都會向運營商去申請一條寬帶,然后運營商會給你一個寬帶賬號,這個寬帶賬號我們一般會在路由器上進行撥號,其目的是獲取到運營商商分配的一個公網IP地址。那電腦、手機、電視機這些設備要上網通信也是要有IP地址的了,這些設備設置的IP地址我們稱為私有地址。每臺設備的私有IP地址手工設置太麻煩,所以一般路由器就會開啟一個功能叫做DHCP(Dynamic Host Configuration Protoco,動態主機配置協議),只要連接到這臺路由器設備,路由器自動分發給設備私網IP地址了。私有IP地址只是在局域網中使用的IP地址了,就是說這種IP地址只能在你自己家相互進行通信了。所以這些設備訪問互聯網就是需要通過路由器把這些私有IP地址轉換為路由器上的公網IP就可以了,這個過程叫做路由器的NAT(Network Address Translation)網絡地址轉換功能了。

當然路由器還有很多很多功能的了,尤其是企業級路由器在實際的工作運用中,我們是需要豐富的網絡技術知識去進行配置組網實現的,關于更多網絡方面的知識如有興趣歡迎大家關注,但總結路由器的最基本的工作原理還是依據路由表進行數據包的轉發咯~