很多人在聊路由器,然後就神話一些路由器的性能,電子產品、數碼產品別弄這麼多玄學的事情,玄學的東西太多了,除了給窮人或者是乍富的土豪一點安慰感,也就沒太多的實質意義。
今天咱們來聊聊什麼是路由器。
很多人對路由器的概念僅僅是家裡寬帶商贈送的光貓,其實這是一個複合設備,並不能算作傳統意義上的路由器。
傳統意義上的路由器只有路由功能,什麼交換功能、網橋功能、Wi-Fi功能等等的我們能用到的功能也就一概不包括。
大多數情況下談到路由,我們都會從因特網開始聊起,再有水準的一些作者會提到阿帕網。概念上沒太大問題,畢竟ARPANET是最早實施TCP/IP體系的完整網絡,隨著它的擴展和發展最後形成了我們現在用的因特網(Internet)。這也就是大家現在口中說的“上網”了。
這是世界上第一臺路由器的設計,但當時叫了一個更樸實無華的名字Gateway(門路、網關),這也是為什麼我們在手動配置網絡的時候,填寫這個網絡的路由器IP地址的位置上出現 Default gateway(默認網關)的由來了。
這就是一個網絡上的歷史遺留名詞,從上世紀六十年代一直叫到了現在。當然了,後期“網關”、“路由器”兩者都有各自的更細化的發展,這些詞彙也都不是當初的意思了。現在的“網關”主要作用是彙集離散網絡中的數據到另外一個離散網絡中。在家裡最常見的就是ITO網關了,例如飛利浦hue的橋接器:
這就是典型網關設備,將Zigbee網絡和TCP/IP網絡做了跨接。
當然,現在很多代理網關、存儲網關是可以工作在ISO網絡的第七層的,這些也是網關設備。
路由則向著另一個更專精的方向發展,它起到的作用就是進行流量引導。
這就是大家對路由器的一個誤解點了,路由——是流量引導的工具,並不是網絡接入設備。當然了,現在很多人的家裡只有一條寬帶入戶,也就難怪會有人覺得路由器是一個“接入設備”了。
真正的路由器是指在網絡上連通兩個不同網絡的設備:
在大部分情況下,路由器是成對出現的,也就是一個路由器連接到另外一個路由器,在路由器一側是一個網絡,在路由器的另一側是一個路由,這樣兩個不同的子網就可以被路由器所連接起來。
而我們如果從電腦應用上看,路由器、鏈路其實是透明的,我們所見的也就是應用程序對應用程序端到端的數據流動或者是主機對主機的數據傳輸。
在路由表中我們可以根據最基本的網絡劃分來決定數據流向哪個端口,這是最早路由器就已經實現的設計。
當我們在IP網絡上所請求的目標地址並不是在子網之內,這個數據包就會發送到路由器所在的IP地址上(默認網關)。然後路由器在接到這個數據包的時候根據路由表來確定數據是發往哪個網絡端口。
例如在我的路由器上,出現了172.16、10.10.10、10.10.20、10.10.30、10.0.100……這些地址段,172.16這個子網是內網,主要是iN家裡的設備;“10.”的網絡是接入到家中的路由器中其他路由器的地址;路由表中還有0.0.0.0/0的地址這是指家裡網絡之外的任何IP地址。
路由器在接收到數據包的時候就會按照數據包中的目的地址信息將數據流引流到相應的網絡端口中。
例如一個目的地址是202.99.96.68的數據包就會引流到PPPOE的端口上進行正常的Internet訪問。或者一個目的地址為10.0.100.1的數據包就會引流到Internet-WAN的端口上對光貓進行控制。
所以說,你看到的路由器真正的功能僅僅是基於路由規則對數據進行分流。
在家裡的千兆路由器和在企業機房裡面的千兆路由器雖然都提供千兆端口,但是價格可能相差幾十倍。原因則在於你家裡的路由器運算速度不高,很難處理大型的路由表(當然一般家裡也用不著);而企業路由器本身的處理性能很高,可以快速地處理大量數據包,降低數據傳輸延遲。這是家用設備很難企及的高度。
那麼如何加快家裡的網絡速度呢?這裡就得說一下網絡設備的功能分離的操作了。
一個簡單的企業網絡拓撲圖是上面的畫法,路由器是一個獨立設備,下聯一個交換機,再從交換機連接到企業中的電腦上。
對比企業,家用的寬帶路由器承載了光纖網關、橋接器、路由器、交換機、Wi-Fi等一系列的功能。
原本就比較羸弱的CPU要處理大量的和路由無關的功能,這種情況下網速不慢才怪。但是要說罪魁禍首並不是在路由一邊,而是在家用路由器集成的“交換機”上。
和路由器查路由表一樣,又是一個“查表”的過程。
地址解析協議(Address Resolution Protocol,ARP)是一個通過解析網絡層地址來找尋數據鏈路層地址的網絡傳輸協議,它在IPv4中極其重要!
你訪問家裡的NAS,你知道NAS的IP地址是 192.168.1.250,但以太網並不知道,需要從IP(網絡層)到MAC(數據鏈路層)再做一個轉化,這就是ARP協議,在以太網上工作的交換機就是依據MAC地址將數據轉入到合適的交換機端口上。如果在MAC地址表中沒有記錄,就會全網廣播一下,看看那個設備會迴應這個MAC地址。交換機處理MAC地址的轉換是基於數據包的,每個數據包都要查表-傳輸。尤其是你內網流量比較大的時候,這種任務就相當繁重了。
回頭看家用路由,所有繁重的任務都是由一個設備來完成的——這不好吧???
如果是千兆帶寬,不如將路由器下面的一個千兆接口再接入一個交換機,來處理家中內部的通訊。這時候家裡的內網數據根本不會觸及到上一層的路由器上,也就不會加重路由器的工作負擔,你的網速自然而然就可以提高了。
當然了,你有更多的設備,有更大的內網數據傳輸需求那麼你就需要更精確地規劃你的“網絡系統”。“網絡系統”——網絡並不是牽幾根網線加上幾個無線就可以叫“網絡系統”的。你的規劃、分層最終都會決定你的網絡使用體驗。
例如這樣接,路由器性能再高也就僅僅是一個路由器,剩下的任務還是讓交換機來做,各司其職;從另外一個角度來說,內網數據又不出屋子,幹嘛到路由器上去轉悠呢?
明白這個道理,你再去看那麼多口的軟路由,是不是瞬間就覺得香了?
人家軟路由上的那麼多網口,你以為真的是用來接入局域網設備的嗎?
話說,真正正經的路由器,那可能有那麼多的局域網口呢?
#路由器的工作原理你知道嗎?#