路由器、路由表及常用路由選擇協議初識

路由器、路由表及常用路由選擇協議初識

什麼是路由器

路由器是一種具有多個輸入端口和多個輸出端口的專用計算機,其任務是轉發分組。
路由器包含了3(網絡層)、2(數據鏈路層)和1(物理層)三層。

  • 路由器使用隊列來維護輸入端口中接收到的分組,因此會產生一定的時延。
  • 路由器同樣使用隊列來維護輸出端口中等待發出的分組。

若路由器處理分組的速率趕不上分組進入隊列的速率,則隊列的存儲空間很快就會耗盡,後面再進入隊列的分組由於沒有存儲空間而只能被丟棄。路由器中的輸入或輸出隊列產生溢出是造成分組丟失的重要原因。

路由器的功能

網絡核心中起特殊作用的是路由器,它的主要功能是:

  • 網絡互連:它可以連接多個網絡,並轉發他們的報文
  • 數據處理:包括分組過濾、防火牆、分組轉發、壓縮、加密、複用、優先級等
  • 網絡管理:流量控制、容錯、性能管理等

路由器的核心——路由表

路由表的作用?

路由表的主要作用是供路由器查找目標網絡,進而確定轉發接口及下一跳路由,完成數據包的轉發功能。

路由表的結構?

路由表
從上圖可以看到,路由表主要包含以下部分:

  • Destination/Mask:目標地址及網絡掩碼
  • Protocol:使用的路由選擇協議,如RIP、OSPF等
  • Nexthop:下一跳的IP地址
  • Interface:轉發的接口,如Serial1/0
路由表的實現?

在linux系統中,路由表本身不是由一個結構表示,而是由多個結構組合而成。路由表可以說是一個分層的結構組合。

  • 在第一層,它先將所有的路由根據子網掩碼(netmask)的長度(0~32)分成33個部分(struct fn_zone),
  • 然後在同一子網掩碼(同一層)中,再根據子網的不同(如10.1.1.0/24和10.1.2.0/24),劃分爲第二層(struct fib_node),
  • 在同一子網中,有可能由於TOS等屬性的不同而使用不同的路由,這就是第三層(struct fib_alias),第三層結構表示一個路由表項
  • 而每個路由表項又包括一個相應的參數,如協議,下一跳路由地址等等,這就是第四層(struct fib_info)。

分層的好處是顯而易見的,它使路由表的更加優化,邏輯上也更加清淅,並且使數據可以共享(如struct fib_info),從而減少了數據的冗餘。

理由表的分類?

理由表主要分爲靜態路由表和動態路由表。具體信息如下

靜態路由表

靜態路由表是由系統管理員事先設置好的固定的路由表,它默認是私有的,不會傳遞給其他路由器。一般用於比較簡單的網絡環境。

動態路由表

動態路由表是根據網絡運行情況自動調整的路由表,路由器根據路由選擇協議(如RIP)提供的功能,自動學習和記錄網絡運行情況,在需要時自動計算數據傳輸的最佳路徑。

路由選擇協議

常用路由選擇協議有:RIP(Routing Information Protocol路由信息協議)、OSPF(Open Shortest Path First開放式最短路徑優先)、BGP(Border Gateway Protocol,邊界網關協議)。他們的區別如下:

  • RIP(Routing Information Protocol):一種內部網關協議(IGP),它基於距離矢量算法,它使用“跳數”,即metric來衡量到達目標地址的路由距離。使用UDP進行路由信息更新。
  • OSPF(Open Shortest Path First開放最短路徑優先):一種內部網關協議(IGP),它基於鏈路(接口)狀態,使用最短路徑優先算法。運行於IP層,直接使用IP協議發送數據。
  • BGP(Border Gateway Protocol 邊界路由協議),一種外部網關協議(EGP),它基於距離矢量,使用TCP協議更新路由信息。



參考文章:
https://blog.csdn.net/lycb_gz/article/details/1612254
http://www.360doc.com/content/10/1012/14/163747_60356479.shtml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章