close
linux路由子系統是學習系統網絡技術的基礎之一,但之前這一塊了解較少,嘗試帶著問題去了解路由子系統。先了解大致原理,再根據實際需求去閱讀文檔和源碼。

先需要了解基本概念:
(1)路由表
可以這樣來理解路由表: 指定發送網絡包時需要遵守的轉發路徑。

查看路由表的方法:
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.21.48.0     0.0.0.0         255.255.248.0   U     0      0        0 bond0
169.254.0.0     0.0.0.0         255.255.0.0     U     1008   0        0 bond0
0.0.0.0         172.21.55.254   0.0.0.0         UG    0      0        0 bond0

Destination:目的IP
Gateway:網關
Genmask:目標網絡的子網掩碼
Flags: 路由標誌,具體含義請man
Metric: 目的IP的跳數
Ref: 路由的應用計數
Use: 路由查詢次數
Iface: 包發送接口

(2)路由cache
路由cache的作用:
當數據包進入網絡層後,根據目的地址是否是本機決定是接收、轉發還是丟棄數據包。如果是轉發的話,需要從哪個接口將包轉發出去需要查找路由表。為了提高路由表的查詢效率,將已經通過路由表查詢得到的結果緩存起來,後續查詢時先查找路由cache,如果cache命中,路由查找工作就完成了,否則,再進入查找路由表的環節。

查看路由cache的方法:
方法1) netstat -rn --cache
Kernel IP routing cache
Source          Destination     Gateway         Flags   MSS Window  irtt Iface
172.24.102.210  172.21.48.6     172.21.48.6     l         0 0          0 lo
172.24.102.210  172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     10.242.252.21   172.21.55.254          1500 0          0 bond0
172.23.197.6    172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     10.207.0.34     172.21.55.254          1500 0          0 bond0
127.0.0.1       127.0.0.1       127.0.0.1       l     16436 0          0 lo
172.21.48.6     10.204.98.36    172.21.55.254          1500 0          0 bond0
10.207.0.13     172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     10.204.98.34    172.21.55.254          1500 0          0 bond0
172.18.252.2    172.21.48.6     172.21.48.6     l         0 0          0 lo
127.0.0.1       127.0.0.1       127.0.0.1       l     16436 0          0 lo
172.21.0.8      172.21.48.6     172.21.48.6     l         0 0          0 lo
10.249.252.42   172.21.48.6     172.21.48.6     l         0 0          0 lo
172.24.6.17     172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.21.0.7      172.21.55.254          1500 0          0 bond0
172.21.48.6     10.207.0.13     172.21.55.254          1500 0          0 bond0
172.21.48.6     172.18.252.2    172.21.55.254          1500 0          0 bond0
172.23.197.2    172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.21.0.8      172.21.55.254          1500 0          0 bond0
172.23.121.10   172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.23.12.32    172.21.55.254          1500 0          0 bond0
10.204.98.34    172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.21.0.19     172.21.55.254          1500 0          0 bond0
172.21.48.6     172.23.121.10   172.21.55.254          1500 0          0 bond0
10.207.0.34     172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.24.102.210  172.21.55.254          1500 0          0 bond0
172.21.48.6     172.24.102.210  172.21.55.254          1500 0          0 bond0
172.21.48.6     172.23.197.6    172.21.55.254          1500 0          0 bond0
172.21.0.19     172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.23.197.7    172.21.55.254          1500 0          0 bond0
172.21.48.200   172.21.55.255   172.21.55.255   ibl       0 0          0 lo
172.23.197.7    172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     10.249.252.42   172.21.55.254          1500 0          0 bond0
10.242.252.21   172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.0.7      172.21.48.6     172.21.48.6     l         0 0          0 lo
172.21.48.6     172.24.6.17     172.21.55.254          1500 0          0 bond0
172.21.48.6     172.23.12.32    172.21.55.254          1500 0          0 bond0

方法2) route -Cn
Kernel IP routing cache
Source          Destination     Gateway         Flags Metric Ref    Use Iface
172.21.48.6     172.23.121.10   172.21.55.254         0      48      47 bond0
10.242.252.8    172.21.48.6     172.21.48.6     l     0      0        0 lo
172.21.48.6     10.207.0.13     172.21.55.254         0      0       18 bond0
172.21.0.8      172.21.48.6     172.21.48.6     l     0      0        0 lo
172.24.6.17     172.21.48.6     172.21.48.6     l     0      0        0 lo
172.21.48.6     172.24.6.17     172.21.55.254         0      0        0 bond0
10.207.0.34     172.21.48.6     172.21.48.6     l     0      0       12 lo
172.21.48.6     172.23.197.7    172.21.55.254         0      0       14 bond0
172.23.121.10   172.21.48.6     172.21.48.6     l     0      0   235803 lo
172.21.48.6     172.21.0.254    172.21.55.254         0      0       45 bond0
172.23.197.6    172.21.48.6     172.21.48.6     l     0      0       26 lo
172.21.48.6     172.23.197.2    172.21.55.254         0      1        0 bond0
172.21.48.6     172.24.102.210  172.21.55.254         0      1        0 bond0
172.21.48.6     172.23.12.32    172.21.55.254         0      0        3 bond0
127.0.0.1       127.0.0.1       127.0.0.1       l     0      0       77 lo
172.21.48.6     172.21.0.8      172.21.55.254         0      0        0 bond0
172.21.48.6     172.21.0.254    172.21.55.254         0      0       45 bond0
172.21.48.6     10.242.252.8    172.21.55.254         0      0        0 bond0
172.24.102.210  172.21.48.6     172.21.48.6     l     0      0      479 lo
127.0.0.1       127.0.0.1       127.0.0.1       l     0      0        2 lo
172.21.48.6     172.23.197.6    172.21.55.254         0      1        0 bond0
10.207.0.13     172.21.48.6     172.21.48.6     l     0      0       26 lo
172.23.197.2    172.21.48.6     172.21.48.6     l     0      0        2 lo
172.21.48.200   172.21.55.255   172.21.55.255   ibl   0      0        0 lo
172.21.0.19     172.21.48.6     172.21.48.6     l     0      0       39 lo
172.21.48.6     172.21.0.19     172.21.55.254         0      1       12 bond0
172.21.48.6     172.23.12.32    172.21.55.254         0      0        1 bond0
172.23.197.7    172.21.48.6     172.21.48.6     l     0      0       14 lo
172.21.0.254    172.21.48.6     172.21.48.6     l     0      0       45 lo

清空路由cache的方法:
ip -s -s ro flush cache


(3)策略路由(Policy-based routing)
一句話描述: 策略路由為管理員提供了比只根據目的IP設置路由策略更為強大和靈活的路由策略設置方法。

查看策略路由的方法:
ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

選擇一個路由表進行查看:
ip route list table 0
172.21.48.0/21 dev bond0  proto kernel  scope link  src 172.21.48.6
169.254.0.0/16 dev bond0  scope link  metric 1008
default via 172.21.55.254 dev bond0
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1
broadcast 172.21.55.255 dev bond0  table local  proto kernel  scope link  src 172.21.48.6
broadcast 172.21.48.0 dev bond0  table local  proto kernel  scope link  src 172.21.48.6
local 172.21.48.6 dev bond0  table local  proto kernel  scope host  src 172.21.48.6
broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1
local 127.0.0.1 dev lo  table local  proto kernel  scope host  src 127.0.0.1
local 127.0.0.0/8 dev lo  table local  proto kernel  scope host  src 127.0.0.1

arrow
arrow
    全站熱搜

    愛在屋簷下 發表在 痞客邦 留言(0) 人氣()