深入理解iputils网络工具-第8篇 rdisk:路由表更新程序

8.1       引言

    初始化路由表有很多种方法,其中使用ICMP路由器发现报文就是一种方法。rdisc程序正是使用ICMP路由器发现报文来完成路由表的初始化和更新。

    rdisc程序根据编译的不同可以程序可以编译成具有或没有服务器功能。如果设置了RDISC_SERVER宏,则会有服务器的功能,也就是会对ICMP报文路由器请求报文进行回复。否则,不会对ICMP报文路由器请求报文进行回复。

    ICMP路由器发现报文格式可以参看RFC 1256。

8.2       rdisc程序的使用

    ICMP路由发现报文目前使用的并不多,对rdisc的测试也并不方便。

    rdisc程序的选项的解释如下:

    -a

        将所有路由加入内核路由项,不管优先级是多大。

    -b

        与-a选项相反,在接受ICMP路由通告报文时,只将优先级最高的路由加入内核路由项,而删除那些低优先级的路由。

    -d

        设置为debug模式。

    -f

        即使没有发现任何路由也永远运行程序。一般情况下,如果程序在发送3个请求报文之后仍然没有接受到通告报文就退出运行,并返回非零值。

        注意:-f参数能够覆盖-s参数的效果。

    -p <preference>

        在发送ICMP路由器通告报文是,需要在对应路由器地址字段后面设置4字节的优先级字段。这个字段就是本地接口地址的优先级。

        在初始化的时候,会将所有存储的本机接口的优先级设置为<preference>。

    -s

        程序快速发送3个请求报文,以快速找出路由。如果此后没有接收到报文就退出运行,并返回非零值。

        注意:-f参数能够覆盖-s参数的效果。

    -t

        测试模式。

        设置这个选项使得程序不退居后台运行。

    -T <interval>

        将在网络接口发送ICMP路由器通告报文的最大的时间间隔设置为<interval>。单位是秒。

        注意:RFC 1256协议里规定此时间间隔不得小于4秒,不得超过1800妙,默认值是MAX_ADV_INT(600)。

    -v

        冗余输出模式,也就是向log中输出很多debug信息。

    -V

        打印出版本信息,然后退出。

8.3       rdisc程序的流程图

   这里画出的流程图是具有服务器功能的程序的流程图,如下所示:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值