目前在计算机网络中使用的传统路由算法都是根据IP包目的地址进行路由选择.然而在现实应用中经常有这样的需求:进行路由选择时不仅仅根据数据报的目的地址,而且根据数据报的其他一些特性如:源地址、IP协议、传输层端口,甚至是数据包的负载部分内容,这种类型的路由选择被称作基于策略的路由。 对于Linux2.1/2.2,启动时内核将包含一个由三条策略规则组成的默认的RPDB,察看这些默认规则的一个方法是使用命令来列出系统的所有规则:
首先是最高级别的优先级规则,规则策略0: 规则0: 优先级 0 选择器 = 匹配任何数据报 动作=察看本地路由表(routing table local),ID为255。 local表是保留路由表,包含了到本地和广播地址的路由。规则0是特殊的规则,不可被删除或修改。 规则 32766: 优先级 32766 选择器 = 匹配所有数据报 动作 = 察看主路由表(routing table main), ID为254。 main路由表是默认的标准路由表,其包含所有非策略路由,main表是存放旧的路由命令(route命令)创建的路由。而且任何由ip route命令创建的没有明确指定路由表的路由都被加入到该路由表中。该规则不能被删除和被其他规则覆盖。 规则 32767: 优先级 32767 选择器 = 匹配所有数据报 动作 = 察看默认路由表(routing table default),ID为253。 default路由表是空的,为最后处理(post-processing)所预留,若前面的默认规则没有选择该数据报时保留用作最后的处理。该规则可以被删除. |
|