路由器的工作原理
主要知識點:路由器的路由功能,路由器的路由/轉發功能
路由器是一種用於網路互連的專用計算機設備,在網路建設中有著重要的地位.路由器工作在OSI參考模型的第三層(網路層),主要的作用是為收到的報文尋找正確的路徑,並把他們轉發出去.在這個過程中,路由器被認為執行了兩個最重要的基本功能:路由功能和交換功能.
(1) 路由功能是指路由器通過運行動態路由協議或其他方法來學習和維護網路拓撲結構知識的機制,產生和維護路由表.為了完成路由功能,路由器需要學習和維護以下幾個基本信息:首先要知道被路由的協議是什麼,一旦在介面上配置了IP地址,子網掩碼,即在介面上啟動了IP協議(預設情況下IP路由是打開的),而且路由介面狀態正常的話,就可以利用這個介面轉發數據包;其次,目的網路地址是否已存在,通常IP數據包的轉發依據是目的網路地址,路由表中必須有能夠匹配得上的路由條目才能夠轉發此數據包,否則此IP數據包將被路由器丟棄;再次,路由器還包含將數據包轉發至目的網路需要將此數據包從哪個埠發送出和應轉發到哪一個下一跳地址等信息.
(2) 路由器的交換/轉發功能與乙太網交換機所執行的交換功能概念不同,指的是數據在路由器內部移動與處理的過程:從路由器一個介面接收,然後選擇合適窗口轉發,其間做幀的解封裝與封裝,並對包做相應處理,如下圖所示,
首先當一個數據幀到達某一埠,埠對幀進行CRC校驗並檢查其目的數據鏈路層地址是否與本埠符合.如果通過檢查,則去掉幀的封裝並讀出IP數據包中的目的地址信息,查詢路由表,決定轉發介面與下一跳地址.
獲得了轉發介面與下一跳地址信息後路由器將緩存中是否已經有了在外出介面上進行數據鏈路層封裝所需的信息,如果沒有這些信息路由器將通過適當的進程獲得這些信息:外出介面如果是乙太網,則將通過ARP協議獲得下一跳IP地址所對應的MAC地址;而如果外出介面是廣域網介面,則將通過手工配置或自動實現的映射過程獲得相應的2層地址信息,然後做新的數據鏈路層封裝,並依據外出介面上所做的QOS策略入相應的隊列,等待埠空閑進行數據轉發.
(3) 路由器工作過程總結:對於一個特定的路由協議,可以發現到達目的網路的所有路徑,根據選路演算法賦予每一條路徑metric值,比較metric值,選擇metric值最小的路徑為最佳路徑;在路由器的交換過程中查找路由時可能會發現能匹配上多條路由條目.此時路由器將根據最長匹配原則進行數據的轉發.路由器會進行匹配最深的,也就是說可以匹配的掩碼長度最長的一條路由進行轉發.
推薦閱讀:
※《計算機網路》學習隨想
※802.11物理層模擬1:WLAN System Toolbox介紹
※迅雷可以如何改進糟糕的會員體驗並優化下載演算法?
※內網穿透工具的原理與開發實戰