码迷,mamicode.com
首页 > 其他好文 > 详细

TCP/IP详解之:IP选路 动态选路协议

时间:2015-11-29 22:59:15      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

第九章 IP选路

netstat -rn 显示路由表

 

初始化路由表的两种方法:

  方法1:在配置文件中指定静态路由(不常用)

  方法2:运行路由守护程序 或者 使用ICMP路由器发现报文

 

没有到达目的地的路由的处理:

  此时的结果取决于该IP数据报是由主机产生的还是被转发的。

    若是由本地主机产生的,那么就给发送该数据报的应用程序返回一个差错(“主机不可达差错”或“网络不可达差错”);

    若是被转发的IP数据报,那么就给原始发送端发送一份ICMP主机不可达差错报文

 

ICMP主机与网络不可达差错

  当路由器收到一份IP数据报但又不能转发时,就要发送该报文

 

ICMP重定向差错

当IP数据报应该被发送到另一个路由器时,收到数据报的路由器就要发送ICMP重定向差错报文给IP数据报的发送端。

如下图:
1) 我们假定主机发送一份IP数据报给R1。这种选路决策经常发生,因为R1是该主机的默认路由。

2) R1收到数据报并且检查它的路由表,发现R2是发送该数据报的下一站。当它把数据报发送给R2时,R1检测到它正在发送的接口与数据报到达接口是相同的(即主机和两个路由器所在的LAN)。这样就给路由器发送重定向报文给原始发送端提供了线索。

3) R1发送一份ICMP重定向报文给主机,告诉它以后把数据报发送给R2而不是R1。

技术分享

ICMP重定向例子

ICMP重定向可以帮助主机来动态学习,逐步建立更完善的路由表

 

ICMP路由器发现报文

这是一种较好的初始化路由表的方法!

 

一般认为,主机在引导以后要广播或多播传送一份路由器请求报文。一台或更多台路由器响应一份路由器通告报文。另外,路由器定期地广播或多播传送它们的路由器通告报文,允许每个正在监听的主机相应地更新它们的路由表

 

(1) 路由器操作

  当路由器启动时,它定期在所有广播或多播传送接口上发送通告报文。准确地说,这些通告报文不是定期发送的,而是随机传送的,以减小与子网上其他路由器发生冲突的概率。一般每两次通告间隔450秒和600秒。一份给定的通告报文默认生命周期是30分钟。

  使用生命周期域的另一个时机是当路由器上的某个接口被关闭时。在这种情况下,路由器可以在该接口上发送最后一份通告报文,并把生命周期值设为0.除了定期发送主动提供的通告报文以外,路由器还要监听来自主机的请求报文,并发送路由器通告报文以响应这些请求报文。如果子网上有多台路由器,由系统管理员为每个路由器设置优先等级。例如,主默认路由器就要比备份路由器具有更高的优先级。

 

(2) 主机操作

  主机在引导期间一般发送三份路由器请求报文,每三秒钟发送一次。一旦接收到一个有效的通告报文,就停止发送请求报文。主机也监听来自相邻路由器的请求报文。这些通告报文可以改变主机的默认路由器。另外,如果没有接收到来自当前默认路由器的通告报文,那么默认路由器会超时。只要有一般的默认路由器,该路由器就会每隔10分钟发送通告报文,报文的生命周期是30分钟。这说明主机的默认表项是不会超时的,即使错过一份或两份通告报文。

 

(3) 实现

  路由器发现报文一般由用户进程(守护程序)创建和处理。这样,就有另一个修改路由表的程序,尽管它只增加或删除默认表项。守护程序必须把它配置成一台路由器或主机来使用。

 

第十章 动态选路协议

 

TCP/IP详解之:IP选路 动态选路协议

标签:

原文地址:http://www.cnblogs.com/hansonwang99/p/5005680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!