zoukankan      html  css  js  c++  java
  • 多路由表(multiple Routing Tables) 的一篇文章

    很早以前收藏的文章,来源给忘记标注了,实在是不好意思


    多路由表(multiple Routing Tables)

         传统的路由算法是仅使用一张路由表的。但是在有些情形底下,我们是需要使用多路由表的。例如一个子网通过一个路由器与外界相连,路由器与外界有两条线路相连,其中一条的速度比较快,一条的速度比较慢。对于子网内的大多数用户来说对速度并没有特殊的要求,所以可以让他们用比较慢的路由;但是子网内有一些特殊的用户却是对速度的要求比较苛刻,所以他们需要使用速度比较快的路由。如果使用一张路由表上述要求是无法实现的,而如果根据源地址或其它参数,对不同的用户使用不同的路由表,这样就可以大大提高路由器的性能。

         规则(rule)

         规则是策略性的关键性的新的概念。我们可以用自然语言这样描述规则,例如我门可以指定这样的规则:

         规则一:“所有来自192.16.152.24的IP包,使用路由表10, 本规则的优先级别是1500”

         规则二:“所有的包,使用路由表253,本规则的优先级别是32767”

         我们可以看到,规则包含3个要素:

         什么样的包,将应用本规则(所谓的SELECTOR,可能是filter更能反映其作用);

         符合本规则的包将对其采取什么动作(ACTION),例如用那个表;

         本规则的优先级别。优先级别越高的规则越先匹配(数值越小优先级别越高)。

         策略性路由的配置方法

         传统的linux下配置路由的工具是route,而实现策略性路由配置的工具是iproute2工具包。这个软件包是由Alexey Kuznetsov开发的,软件包所在的主要网址为ftp://ftp.inr.ac.ru/ip-routing/。
    这里简单介绍策略性路由的配置方法,以便能更好理解第二部分的内容。详细的使用方法请参考Alexey Kuznetsov写的 ip-cfref文档。策略性路由的配置主要包括接口地址的配置、路由的配置、规则的配置。

         接口地址的配置IP Addr

         对于接口的配置可以用下面的命令进行:

    Usage: ip addr [ add| del ] IFADDR dev STRING

         例如:

    router># ip addradd 192.168.0.1/24 broadcast 192.168.0.255 label eth0 dev eth0

         上面表示,给接口eth0赋予地址192.168.0.1 掩码是255.255.255.0(24代表掩码中1的个数),广播地址是192.168.0.255

         路由的配置IP Route

         Linux最多可以支持255张路由表,其中有3张表是内置的:

         表255 本地路由表(Local table) 本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。

         表254 主路由表(Main table) 如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如route)所添加的路由都会加到这个表。一般是普通的路由。

         表253 默认路由表 (Default table) 一般来说默认的路由都放在这张表,但是如果特别指明放的也可以是所有的网关路由。

         表 0 保留

         路由配置命令的格式如下:

    Usage: ip route list SELECTOR
    ip route { change | del | add | append | replace | monitor } ROUTE

         如果想查看路由表的内容,可以通过命令:

         ip route list table table_number

         对于路由的操作包括change、del、add 、append 、replace 、 monitor这些。例如添加路由可以用:

    router># ip route add 0/0 via 192.168.0.4 table main
    router># ip route add 192.168.3.0/24 via 192.168.0.3 table 1

    第一条命令是向主路由表(maintable)即表254添加一条路由,路由的内容是设置192.168.0.4成为网关。

         第二条命令代表向路由表1添加一条路由,子网192.168.3.0(子网掩码是255.255.255.0)的网关是192.168.0.3。

         在多路由表的路由体系里,所有的路由的操作,例如网路由表添加路由,或者在路由表里寻找特定的路由,需要指明要操作的路由表,所有没有指明路由表,默认是对主路由表(表254)进行操作。而在单表体系里,路由的操作是不用指明路由表的。

  • 相关阅读:
    Spring AOP概念及作用
    Spring IOC 概念及作用
    Spring基本介绍
    Mybatis注解开发
    Mybatis缓存及延迟加载策略
    认识各种内存地址
    认识/proc/[pid]/
    进程查看命令ps和top
    认识进程
    认识多处理器架构
  • 原文地址:https://www.cnblogs.com/fengty90/p/3768874.html
Copyright © 2011-2022 走看看