linux ip路由子系统学习思路整理

2630阅读 0评论2013-06-21 指尖上的幽灵
分类:LINUX

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

参考文档:http://jasonccie.blog.51cto.com/2143955/391021


(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 

参考文档:http://blog.chinaunix.net/uid-20779306-id-1845690.html
http://blog.csdn.net/bin323/article/details/642192
上一篇:没有了
下一篇:SCP传输文件的错误