动态路由的配置 距离向量路由协议 -RIP
动态路由的配置 动态路由协议能够动态地反映网络的状态, 当网络发生变化时, 网络中的路由器会把这个消息通告给其他的路由器, 最终所有的路由器将知道网络的变化, 及时调整路由表, 从而保证数据包的正常传输 动态路由协议包括距离向量路由协议和链路状态路由协议 RIP 协议 OSPF 协议
距离向量路由协议原理 距离向量算法的优点是算法的开销较小, 缺点是算法的收敛较慢 可能传播错误的路由信息从而造成路由环路问题
距离向量路由协议的工作原理 1. 收集直连网络信息 在距离向量路由协议工作过程中, 路由器首先会收集直连路由信息, 这样在路由表中, 会首先出现直连路由条目 RTA 路由表 目的网络 出站接口 度量值 10.0.0.0 F0 0 20.0.0.0 S0 0 RTB 路由表 目的网络 出站接口 度量值 20.0.0.0 S0 0 30.0.0.0 F0 0
2. 定时向邻近设备发送自己的路由表 在收集了路由信息后, 路由器会定时把路由更新信息通过广播或组播传送给邻近的设备, 让其他路由器知道自己的网络情况 RTA 路由表 目的网络 出站接口 度量值 10.0.0.0 F0 0 20.0.0.0 S0 0 RTB 路由表 目的网络 出站接口 度量值 20.0.0.0 S0 0 30.0.0.0 F0 0
3. 更新路由表 从邻近设备获得路由表 ( 路由信息 ) 后路由器进行简单的向量叠加后 ( 如加 1 跳 ) 更新自己的路由表 RTA 路由表 目的网络 出站接口 度量值 10.0.0.0 F0 0 20.0.0.0 S0 0 30.0.0.0 S0 1 RTB 路由表 目的网络 出站接口 度量值 20.0.0.0 S0 0 30.0.0.0 F0 0 10.0.0.0 S0 1
由三个路由器组成的网络 :
1. 环路的产生 路由环路和解决方法 距离向量路由协议自身有一个严重的问题, 就是会形成路由环路
无穷大计算 问题 : 第一阶段各路由器路由信息 RTA 路由表 RTB 路由表 10.0.0.0 S0 2 20.0.0.0 S0 0 20.0.0.0 S0 0 30.0.0.0 F0 0 30.0.0.0 S0 1 40.0.0.0 S1 0 40.0.0.0 S0 1 10.0.0.0 S0 3 50.0.0.0 S0 2 50.0.0.0 S1 1 RTC 路由表 40.0.0.0 S0 0 50.0.0.0 F0 0 20.0.0.0 S0 1 30.0.0.0 S0 1 10.0.0.0 S0 2 第二阶段各路由器路由信息 RTA 路由表 RTB 路由表 10.0.0.0 S0 4 20.0.0.0 S0 0 20.0.0.0 S0 0 30.0.0.0 F0 0 30.0.0.0 S0 1 40.0.0.0 S1 0 40.0.0.0 S0 1 10.0.0.0 S0 3 50.0.0.0 S0 2 50.0.0.0 S1 1 RTC 路由表 40.0.0.0 S0 0 50.0.0.0 F0 0 20.0.0.0 S0 1 30.0.0.0 S0 1 10.0.0.0 S0 2
2. 解决方法 (1) 定义最大度量值 定义一个最大度量值作为无穷大, 当到达这个值时, 路由器就认为这条路径不可到达, 自然也就不会再向外广播不可达的路由更新信息了
(2) 水平分割 每个路由器都不能将从某个接口获得的路由信息再从该接口发出去
(3) 路由中毒 当路由器的某个接口失效后, 不是简单地将所连接网段的路由信息从路由表中删除, 而是将其标记为无穷大 ( 如 RIP 中可标记为 16), 使路由不可达, 即让 10.0.0.0 路由信息中毒, 然后再将中毒的路由信息发布出去, 使相邻的设备中毒 第一阶段各路由器路由信息 RTA 路由表 RTB 路由表 10.0.0.0 F0 16 20.0.0.0 S0 0 20.0.0.0 S0 0 30.0.0.0 F0 0 30.0.0.0 S0 1 40.0.0.0 S1 0 40.0.0.0 S0 1 10.0.0.0 S0 16 50.0.0.0 S0 2 50.0.0.0 S1 1 RTC 路由表 40.0.0.0 S0 0 50.0.0.0 F0 0 20.0.0.0 S0 1 30.0.0.0 S0 1 10.0.0.0 S0 2 第二阶段各路由器路由信息 RTA 路由表 RTB 路由表 10.0.0.0 F0 16 20.0.0.0 S0 0 20.0.0.0 S0 0 30.0.0.0 F0 0 30.0.0.0 S0 1 40.0.0.0 S1 0 40.0.0.0 S0 1 10.0.0.0 S0 16 50.0.0.0 S0 2 50.0.0.0 S1 1 RTC 路由表 40.0.0.0 S0 0 50.0.0.0 F0 0 20.0.0.0 S0 1 30.0.0.0 S0 1 10.0.0.0 S0 16
(4) 毒性反转 带有毒性反转的水平分割是是对简单水平分割的改进 允许从某个接口学到路由后, 将该路由的度量值设置为无穷大 ( 如 16), 并从原接口发回邻接路由器
(5) 触发更新 触发更新的思想是当路由器检测到某个接口失效后, 不等更新计时器到时, 就立即对有问题的路由信息更新 10.0.0.0 不可达 10.0.0.0 不可达
(6) 抑制定时器 在网络中, 有时路由会发生 不断翻动 的情况, 即时而可达, 时而不可达 在这种情况下, 如果路由信息还定时更新, 就会造成路由表不断震荡而无法收敛的情况发生 为了解决这种问题, 可以采取抑制定时器方法, 就是当路由器从邻近设备收到原先可达的网络变为不可达时, 启动一个抑制定时器, 如果在定时内从邻近路由器收到了比原先度量值更好 ( 更小 ) 的路由更新时, 则关闭定时, 向外更新这个路由信息 如果在定时内收到了度量值相同或更坏 ( 更大 ) 的路由更新时 ( 如原来失效的路由又可用了 ), 则不予理睬
RIP 协议及配置 RIP(Routing Information Protocol, 路由信息协议 ) 是使用最广泛的距离向量路由协议 RIP 协议有以下特点 : (1)RIP 是自治系统内部使用的协议即内部网关协议, 使用的是距离向量算法 (2)RIP 使用 UDP 的 520 端口进行 RIP 进程之间的通信 (3)RIP 主要有两个版本 :RIPv1 和 RIPv2 RIPv1 协议的具体描述在 RFC1058 中,RIPv2 是对 RIPv1 协议的改进, 其协议的具体描述在 RFC1723 中 (4)RIP 协议以跳数作为网络度量值
(5)RIP 协议采用广播或组播进行通信, 其中 RIPv1 只支持广播, 而 RIPv2 除支持广播外还支持组播 (6)RIP 协议支持主机被动模式, 即 RIP 协议允许主机只接收和更新路由信息而不发送信息 (7)RIP 协议支持默认路由传播 (8)RIP 协议的网络直径不超过 15 跳, 适合于中小型网络 16 跳时认为网络不可达 (9)RIPv1 是有类路由协议,RIPv2 是无类路由协议, 即 RIPv2 的报文中含有掩码信息
1.RIP 中的定时器 思科路由器 RIP 协议的配置 (1) 更新定时器 : 用于设置路由信息的更新时间,RIP 的默认值是 30 秒 (2) 失效定时器 : 如果路由器在实效定时到达后, 没有收到某个路由的任何信息, 则认为该路由失效,RIP 的默认值是 180 秒 (3) 保持定时器 : 就是抑制定时器 在某条路由被告知为不可达时, 启动定时器 RIP 默认值是 180 秒 (4) 清除定时器 : 当某条路由成为无效路由后, 从路由表中删除这条路由所需等待的时间 RIP 默认值是 240 秒
RIP 配置 Router(config)#router rip 激活 RIP 协议 Router(config-router)#network network-number 选择需要激活的接口所在的网段
RIP 配置举例 E0 S2 S2 S3 S3 E0 172.16.1.0 A B C 172.16.1.1 10.1.1.1 10.1.1.2 10.2.2.2 10.2.2.3 192.168.1.1 192.168.1.0 router rip 2.3.0.0 network 172.16.0.0 network 10.0.0.0 router rip 2.3.0.0 network 192.168.1.0 network 10.0.0.0 router rip network 10.0.0.0
2. RIP 配置中的常用命令 (1) 启用 RIP 命令 Router(config)#router rip Router(config-router)# (2) 启用通告 RIP 的网段 Router(config-router)#network network (3) 指定 RIP 版本 Router(config-router)#version [1 2] (4) 在某个接口上启用或禁用水平分割 Router(config-if)#ip split-horizon (5) 指定 RIP 邻居路由器 Router(config-router)#neighber ipaddress
(6) 指定接口发送 RIP 保文版本 Router(config-if)#ip rip send version <[1] [2]> (7) 指定接口接收 RIP 保文版本 Router(config-if)#ip rip receive version <[1] [2]> (8) 禁止接口转发路由更新信息 Router(config-router)#passive-interface iftype ifnumber (9) 修改更新时间 Router(config-router)#update-time seconds (10) 修改保持时间 Router(config-router)#holdown-time seconds (11) 关闭自动汇总功能 Router(config-router)#no auto-summary
3. RIP 配置示例 通过三台路由器互连的网络中, 每个路由器的局域网段通过一台交换机连接了两台计算机, 通过配置路由器 RTA RTB 和 RTC 的动态路由协议 RIP, 使全网可以通讯
网络设备的 TCP/IP 参数 设备 接口 IP 地址 子网掩码 网关 PCA NIC 192.168.1.2 255.255.255.0 192.168.1.1 PCB NIC 192.168.1.3 255.255.255.0 192.168.1.1 PCC NIC 192.168.2.2 255.255.255.0 192.168.2.1 PCD NIC 192.168.2.3 255.255.255.0 192.168.2.1 PCE NIC 192.168.3.2 255.255.255.0 192.168.3.1 PCF NIC 192.168.3.3 255.255.255.0 192.168.3.1 RTA F0/0 192.168.1.1 255.255.255.0 S0/0/0 10.0.0.1 255.255.255.252 RTB F0/0 192.168.2.1 255.255.255.0 S0/0/0 10.0.0.2 255.255.255.252 S0/0/1 20.0.0.1 255.255.255.252 RTC F0/0 192.168.3.1 255.255.255.0 S0/0/0 20.0.0.2 255.255.255.252
配置步骤如下 : (1)) 配置每台设备的网络接口卡 (NIC) 的 IP 地址 子网掩码和网关 (2) 配置每台路由器的接口的时钟速率 IP 地址和子网掩码 (3)) 配置每台路由器的 RIP 路由 (4) 使用 copy running-config startup-config 保存路由器配置
(1)RTA 路由器的配置 Router>enable Router#configure terminal Router(config)#hostname RTA RTA(config)#interface FastEthernet0/0 RTA(config-if)#ip address 192.168.1.1 255.255.255.0 RTA(config-if)#no shutdown RTA(config-if)#interface Serial0/0/0 RTA(config-if)#clock rate 2000000 RTA(config-if)#ip address 10.0.0.1 255.255.255.252 RTA(config-if)#no shutdown RTA(config-if)#exit RTA(config)#router rip RTA(config-router)#version 2 RTA(config-router)#network 192.168.1.0 RTA(config-router)#network 10.0.0.0 RTA(config-router)#^Z RTA#copy running-config startup-config
(2)RTB 路由器的配置 Router>enable Router#configure terminal Router(config)#hostname RTB RTB(config)#interface FastEthernet0/0 RTB(config-if)#ip address 192.168.2.1 255.255.255.0 RTB(config-if)#no shutdown RTB(config-if)#interface Serial0/0/0 RTB(config-if)#ip address 10.0.0.2 255.255.255.252 RTB(config-if)#no shutdown RTB(config-if)#interface Serial0/0/1 RTB(config-if)#clock rate 2000000 RTB(config-if)#ip address 20.0.0.1 255.255.255.252 RTB(config-if)#no shutdown RTB(config-if)#exit RTB(config)#router rip RTB(config-router)#version 2 RTB(config-router)#network 192.168.2.0 RTB(config-router)#network 10.0.0.0 RTB(config-router)#network 20.0.0.0 RTB(config-router)#^Z RTB#copy running-config startup-config
(3) RTC 路由器的配置 Router>enable Router#configure terminal Router(config)#hostname RTC RTC(config)#interface FastEthernet0/0 RTC(config-if)#ip address 192.168.3.1 255.255.255.0 RTC(config-if)#no shutdown RTC(config-if)#interface Serial0/0/0 RTC(config-if)#ip address 20.0.0.2 255.255.255.252 RTC(config-if)#no shutdown RTC(config-if)#exit RTC(config)#router rip RTC(config-router)#version 2 RTC(config-router)#network 192.168.3.0 RTC(config-router)#network 20.0.0.0 RTC(config-router)#^Z RTC#copy running-config startup-config
4. RIP 的验证命令 (1) 显示路由表命令 命令和语法 :Router# show ip 1 显示路由器 RTA 的路由表 RTA#show ip route route [rip prefix] 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 Gateway of last resort is not set C R C R 10.0.0.0/30 is subnetted, 1 subnets 10.0.0.0 is directly connected, Serial0/0/0 20.0.0.0/30 is subnetted, 1 subnets 20.0.0.0 [120/1] via 10.0.0.2, 00:00:02, Serial0/0/0 192.168.1.0/24 is directly connected, FastEthernet0/0 192.168.2.0/24 [120/1] via 10.0.0.2, 00:00:02, Serial0/0/0 R 192.168.3.0/24 [120/2] via 10.0.0.2, 00:00:02, Serial0/0/0
2 显示路由器 RTA 的 RIP 路由 RTA#show ip route rip R 20.0.0.0/30 [120/1] via 10.0.0.2, Serial0/0/0 R 192.168.2.0/24 [120/1] via 10.0.0.2, Serial0/0/0 R 192.168.3.0/24 [120/2] via 10.0.0.2, Serial0/0/0 3 显示路由器 RTA 的 20.0.0.0 网络的路由 RTA#show ip route 20.0.0.0 Routing entry for 20.0.0.0/30, 1 known subnets Redistributing via rip R 20.0.0.0 [120/1] via 10.0.0.2, 00:00:02, Serial0/0/0
(2) 显示 IP 路由协议信息 Router>show ip protocols RTA#show ip protocols Routing Protocol is "rip" Sending updates every 30 seconds, next due in 2 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 2, receive 2 Interface Send Recv Triggered RIP Key-chain FastEthernet0/0 2 2 Serial0/0/0 2 2 Automatic network summarization is not 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 10.0.0.2 120 00:00:22 Distance: (default is 120)
(3) 显示 RIP 路由数据库信息 Router>show ip rip database RTA#show ip rip database 10.0.0.0/30 directly connected, Serial0/0/0 20.0.0.0/30 [1] via 10.0.0.2, 00:00:10, Serial0/0/0 192.168.1.0/24 directly connected, FastEthernet0/0 192.168.2.0/24 [1] via 10.0.0.2, 00:00:10, Serial0/0/0 192.168.3.0/24 [2] via 10.0.0.2, 00:00:10, Serial0/0/0 此外, 还可以通过之前学习的 show running-config show interface show ip interface 等命令对 RIP 路由进行验证和调试