2 路由器( 四 )


 201.66.37.0255.255.255.0 201.66.37.74 U eth0
 201.66.39.0255.255.255.0 201.66.39.21 U eth1
 default0.0.0.0201.66.39.254 UGeth1
 73.0.0.0 255.0.0.0 201.66.37.254 UGeth0
 91.32.74.21255.255.255.255201.66.37.254 UGHeth0
该网络图示如下:
这些表项分别是怎么得到的呢?第一个是当路由表初始化时由路由软件加入的,第二、三个是当网卡绑定IP地址时自动创建的,其余三个必须手动加入,在UNIX系统中,这是通过命令route来做的,可以由用户手工执行,也可以通过rc脚本在启动时执行 。上述方法涉及的是静态路由,通常在启动时创建,并且没有手工干预的话将不再改变 。
4、路由协议
主机和网关都可以使用称作动态路由的技术,这使路由表可以动态改变 。动态路由需要路由协议来增加和删除路由表项,路由表还是和静态路由一样地工作,只是其增添和删除是自动的 。
有两种路由协议:内部的和外部的 。内部协议在自制系统(AS)内部路由,而外部协议则在自制系统间路由 。自制系统通常在统一的控制治理之下,例如大的公司或大学 。小的站点经常是其因特网服务提供商自制系统的一部分 。
这里只讨论内部协议,很少有人涉及到甚至听说外部协议 。最常见的外部协议是外部网关协议EGP(External Gateway Protocol)和边缘网关协议BGP(Border Gateway Protocol),BGP是较新的协议,在逐渐地取代EGP 。
5、ICMP重定向
ICMP通常不被看作路由协议,但是ICMP重定向却与路由协议的工作方式很类似,所以将在这里讨论一下 。假设现在有上面所给的六个表项的路由表,分组被送往201.66.43.33,看看路由表,除了缺省路由外,这并不能匹配任何路由 。静态路由将其通过路由器201.66.39.254发送(trip 1),但是,该路由器知道所有发向子网201.66.43.0的分组应该通过201.66.39.253,因此,它把分组转发到适当的路由器(trip 2) 。但是假如主机直接把分组发到201.66.39.253就会提高效率(trip 3) 。如下图:
因为路由器把分组从同一接口发回了分组,所以它知道有更好的路由,路由器可以通过ICMP重定向指示主机使用新的路由 。虽然路由器知道所有发向201.66.43.0子网的分组应该通过201.66.39.253,它通常只发送特定的主机的ICMP重定向(此例中是201.66.43.33) 。主机将在路由表中创建一个新的表项:
目的掩码网关 标志接口
 ------------------------------------------ -----
 201.66.43.33 255.255.255.255 201.66.39.253UGHDeth1
注重标志D,对所有由ICMP重定向创建的路由设置此标志 。将来此类分组将通过新路由发送(trip 3) 。
6、RIP
RIP是一种简单的内部路由协议,已经存在很久,被广泛地实现(UNIX的routed就使用RIP) 。它使用距离向量算法,所以其路由选择只是基于两点间的“跳(hop)”数,穿过一个路由器认为是一跳 。主机和网关都可以运行RIP,但是主机只是接收信息,而并不发送 。路由信息可以从指定网关请求,但通常是每隔30秒广播一次以保持正确性 。RIP使用UDP通过端口520在主机和网关间通信 。网关间传送的信息用于建立路由表,由RIP选定的路由总是具有距离目的跳数最少的 。RIP版本1在简单、较小的网络中工作得不错,但是在较大的网络中,就出现一些问题,有些问题在RIP版本2中已纠正,但有些是由于其设计产生的限制 。
在下面的讨论中,适用于两种版本时简单称为RIP,RIP v1和RIP v2则指特定的版本 。
RIP并没有任何链接质量的概念,所有的链路都被认为是相同的,低速的串行链路被认为与高速的光纤链路是同样的 。RIP以最小的跳数来选择路由,因此当在下面两个路由中选择时:

推荐阅读