1. 程式人生 > >趣談網路協議(五)路由協議

趣談網路協議(五)路由協議

如何配置路由

(1)路由器就是一臺網路裝置,它有多張網絡卡。當一個入口的網路包送到路由器時,它會根據一個本地的轉發資訊庫,來決定如何正確地轉發流量。這個轉發資訊庫通常稱為路由表

(2)一張路由表包含多條路由規則。每一條路由規則至少包含這三項資訊

  • 目的網路:這個包想去哪?
  • 出口裝置:將包從哪個口扔出去?
  • 下一跳閘道器:下一個路由器的地址

(3)設定 ip route add 10.176.48.0/20 via 10.173.32.1 dev eth0,就說明要去10.176.48.0/20這個目標網路,要從eth0端口出去,經過10.173.32.1,這種配置方式的一個核心思想是:根據目的IP地址來配置路由


如何配置策略路由

(1)在真實複雜的網路環境中,除了可以根據目的IP地址配置路由外,還可以根據多個引數配置路由,這就被稱為策略路由

(2)可以配置多個路由表,可以根據源IP地址、入口裝置、TOS等選擇路由表,然後在路由表中查詢路由。這樣使得來自不同來源的包走不同的路由

(3)例如,我們配置

ip rule add from 192.168.1.0/24 table 10 
ip rule add from 192.168.2.0/24 table 20


動態路由演算法
距離向量路由演算法

基於Bellman-Ford演算法,基本思路是:每個路由器都儲存一個路由表,包含多行,每行對應網路中的一個路由器,每一行包含兩部分資訊,一個是要到目標路由器,從哪條線出去,另一個是到目標路由器的距離


鏈路狀態路由演算法

基於Dijkstra演算法,基本思路:當一個路由器啟動的時候,首先發現鄰居,向鄰居say hello,鄰居都回復。然後計算和鄰居的距離,傳送一個eth0,要求馬上返回,除以二就是距離。然後將自己和鄰居之間的鏈路狀態包廣播出去,傳送到整個網路的每個路由器。這樣每個路由器都能收到它和鄰居之間的關係的資訊。因而,每個路由器都能在自己本地構建一個完整的圖,然後針對這個圖使用Dijkstra演算法,找到兩點之間的最短路徑。


動態路由協議

(1)基於鏈路狀態路由演算法的OSPF(開放式最短路徑優先),就是這樣一個基於鏈路狀態路由協議,廣泛應用在資料中心中的協議。由於主要用在資料中心內部,用於路由決策,因而稱為內部閘道器協議(簡稱IGP)

(2)基於距離向量路由演算法的BGP,但是外網的路由協議,也即國家之間的,又有所不同。我們稱之為外網路由協議(簡稱BGP)