虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由协议:动态路由协议。
动态路由是网络中路由器之间进行相互通信,互相传递路由信息,利用收到的路由信息更新路由表的过程,它能实时的适应网络结构的变化。
动态路由适用于网络规模较大、网络拓补复杂的网络中。
动态路由的优点:减少了管理员的管理任务;缺点:占用了网络的带宽。
动态路由是基于某种路由协议来实现的,路由协议定义了路由器在与其他路由器通信时的一些规则;
动态路由协议就像路由器之间用来交流信息的语言,通过它、路由器之间可以共享网路连接信息和状态信息。
一个路由选择算法至少要具备一下步骤;
1.像其他路由器传递路由信息;
2.接受其他路由器的路由信息;
3.根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由表;
4.根据网络拓补的变化及时作出反应,调整路由生成新的路由表,同时把拓补变化以路由信息的形式像其他路由器宣告。
不同的路由协议使用不同的度量,有时可能会使用多个度量。
跳数度量:见得记录路由器的跳数;
带宽度量:将会选择高带宽路径,而不是低带宽路径;
负载度量:反映了占用沿途链路的流量大小。最优选择的是负载最低的路径;
时延度量:反映了数据包经过一条路径所花费的时间;
可靠性度量:用来度量链路在某种情况下发生故障的可能性;
收敛:使所有路由器的路由表达到一致的过程称为收敛;全网的信息共享机所有路由器计算最优路径所花费的时间的总和就是收敛时间。
动态路由协议可以自动检测并随着网络拓补的变幻自动更新路由表,比如
静态路由协议对于大中型网络来说管理是困难的,但是在小型网络中配置静态路由是很有必要的,比如
静态路由和动态路由都有各自的特点和适用范围,在网络中相互补充。
常见的路由协议可以分为距离矢量路由协议和链路状态路由协议。
距离矢量路由协议:依据从源网络到目标网络所经过的路由器个数吧来选择路由,典型的协议有RIP和IGRP;
链路状态路由协议:综合考虑从源网络到目标网络的各条路径的情况来选择路由,典型的协议有OSPF和IS-IS。
今天我们简单介绍一下RIP,工作原理:
定期更新;邻居;广播更新;全路由表更新。
RIP路由协议使用跳数作为唯一的度量值,在RIP中规定了跳数的最大值为15,16跳视为不可达。因此并不适用于大型的广域网。
RIP使用UDP协议,端口号是520.
路由器启动后,平均每隔30s就会从每隔启动RIP协议的接口不断地发送出路由更新的信息。
网络收敛后,路由器仍以30s的时间间隔向外发送整个路由表。
RIP进行路由更新的过程:
判断是否是已存在的路由
如果不是已存在的路由;则学习;
如果已存在则判断:度量值,是否比已存在的优
如果是,则学习;
如果没有已存在的优,则判断:是否是同一源地址发来的
如果不是:则丢弃;
如果是:则更新。
这样路由器之间就会形成路由环路,占用网络带宽。
执行水平分割可以阻止路由环路的发生。
水平分割的规则是:从一个接口学习到的路由信息,不再从这个接口发送出去。
水平分割不仅能够阻止路由环路的产生,同时能够减少路由更新占用的链路带宽资源,但是水平分割只能抑制路由环路产生,而不能彻底的避免(比如物理上就是环路的路由器)
RIP的配置特别简单:
1.启动RIP进程
`Router(config)#router rip #启动RIP进程
Router(config-router)#network 192.168.1.0 #宣告主网络号
Router#show ip route #查看路由表
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
- candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
- candidate default, U - per-user static route, o - ODR
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0 #C表示直连网络
R 20.0.0.0/8 [120/1] via 192.168.1.2, 00:00:11, FastEthernet0/1 #R表示通过RIP协议学到的路由
(120表示管理距离,1表示跳数)管理距离表示路由的可信度,越低可信度越高(直连路由是0;静态路由是1;RIP是120;SOPF是110)
C 192.168.1.0/24 is directly connected, FastEthernet0/1
Router#show ip protocols #查看路由协议信息
Routing Protocol is "rip" #这一条表示启用RIP协议
Sending updates every 30 seconds, next due in 24 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/1 1 2 1
FastEthernet0/0 1 2 1
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
10.0.0.0
192.168.1.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
192.168.1.2 120 00:00:00
Distance: (default is 120)<br/>这是默认使用RIP版本1的配置。<br/>我们接下来介绍一下使用RIP版本2的简单配置<br/>
Router(config)#router rip #启用RIP协议
Router(config-router)#version 2 #启用RIP协议版本2
Router(config-router)#no auto-summary #关闭地址自动汇总
Router(config-router)#network 10.0.0.0
Router(config-router)#network 192.168.1.0 #声明主网络号`
RIP版本1和版本2的区别
RIP路由协议大概就这么多,介绍完毕!
愿我们在学习的道路上共同进步