路由协议 :是用来计算、维护路由信息的协议。路由协议通常采用一定的算法计算出路由,以及用一定的方法确定路由的正确性、有效性并维护之。路由协议一般工作在OSI参考模型的传输层或者应用层,常见的路由协议有RIP、OSPF、BGP(Border Gateway Protocol,边界网关协议)等。
可路由协议:又称为被路由协议,指可以被路由器在不同逻辑网段间路由的协议。可路由协议通常工作在OSI参考模型的网络层,定义数据包内各字段的格式和用途,其中包括网络地址等,路由器可根据数据包内的网络地址对数据包进行转发。常见的可路由协议有:IP协议和IPX协议。
邻居发现:运行了某种路由协议的路由器会主动把自己获得的路由信息介绍给网段内的其他路由器。
交换路由信息:发现邻居后,每台路由器将自己已知的路由相关信息发给相邻的路由器,相邻路由器又发送给下一台路由器。
计算路由:每台路由器都会运行某种算法(取决于使用哪种路由协议),并计算出最终的路由。实际上需要计算的是该条路由信息的下一跳和度量值 。
维护路由:为了能够感知突然发生的网络故障(如设备故障或线路中断),路由协议规定两台路由器之间的协议报文应该周期性地发送。
距离矢量路由协议(内部网关协议) | 链路状态路由协议 |
---|---|
从网邻居的角度了解网络拓扑 | 有整个网络的拓扑信息 |
复制完整路由表到邻居路由器 | 仅更新有变化的路由信息到其他路由器 |
频繁,定时发送路由信息,数据包多,收敛慢 | 事件触发发送路由信息,数据包小,收敛快 |
相对简单,占用较小的CPU;RAM资源 | 复杂,占用较多CPU;RAM资源 |
RIP 属于 距离矢量路由协议;而OSPF属于链路状态路由协议
路由表的初始化 。
路由表的更新 。
对于本路由表中已有的路由项,当发送响应报文的RIP邻居相同时,不论响应报文中携带的路由项度量值是大还是小,都更新该路由项(度量值相同时只将其老化定时器清零)。
对于本路由表中已有的路由项,当发送响应报文的RIP邻居不同时,只在路由项度量值减少时,更新该路由项。
对于本路由表中不存在的路由项,在度量值小于协议规定的最大值时,在路由表中增加该路由项。
路由表的维护
rip的特性:最多 15 跳;30s一次刷新;保存25条路由信息;使用UDP协议的520端口。
路由环路的产生 :是指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。
rip通过最大跳数限制;水平分割;路由毒化逆转来防止回路。
有类(Classful)路由协议,它们在宣告路由信息时不携带网络掩码
无类(Classless)路由协议,它们在宣告路由信息时携带网络掩码。
有类路由协议发送路由更新规则 。
rip 默认 v1 版本不支持变长子网掩码 v2 版本支持;除此 v2 还支持 关闭路由汇总,v1 不支持。
OSPF是一种典型的链路状态路由协议,运行OSPF的每一台路由器都维护一个描述AS拓扑结构的数据库,该数据库由每一个路由器的链路状态信息、路由器相连的网络状态信息、该AS的外部状态信息等组成。
所有的路由器运行相同的SPF算法,根据该路由器的拓扑数据库,构造出以自己为根节点的最短路径树,该最短路径树的叶子节点是AS内部的其他路由器。
当到达同一目的地存在多条相同等价路由时,OSPF能够在多条路径上实现负载均衡。
OSPF协议的协议号和进程号 。
Router ID(路由器标识) 。
Cost(链路开销) 。
Neighbor(邻居) 。
Adjacency(邻接) 。
OSPF的三张表(也称数据库) 。
OSPF中的5类包 。
区域就是连续逻辑网络内路由器划分为不同的组,每个组用区域号(Area ID)来标识。区域的边界是路由器,而不是链路,一个网段(链路)只能是一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域,
在AS中划分多个区域能够实现在区域边界做路由汇总,减小了路由表规模;控制LSA只在区域内洪泛,有效地把拓扑变化控制在区域内,拓扑的变化影响限制在本区域;使得网络更加易于管理并减少路由流量。
OSPF把大型网络划分为骨干区域和非骨干区域。骨干区域只有一个,并且被固定地称为区域0,负责区域之间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发。对此OSPF有两个规定:所有骨干区域必须与非骨干区域保持连通和骨干区域自身也必须保持连通。
OSPF使用4种不同类型的路由器来构建分层路由结构。在这种分层结构中,每一台路由器都拥有相应的角色和一系列定义的特点。
和距离矢量(如RIP)不同,OSPF并不向其他路由器发送路由表条目。相反,OSPF的路由表是通过LSA数据库计算得到的。OSPF中对路由信息的描述都是封装在LSA中发布出去的,常用的LSA类型有6种类型。对每种类型的LSA,应当了解其由谁产生、传播范围和主要功能。
当一台路由器接收到一条LSA,它将立即检查自身的链路状态数据库。如果接收到的LSA是最新的,那么路由器便向其邻居泛洪这条LSA。当新的LSA被添加进入LSA数据库后,路由器开始重新运行SPF算法。
环境配置:设定好各个网段的节点IP地址。
实验1:按照拓扑图要求配置各设备的IP地址,并配置RIP V2动态路由协议,R1开启路由汇总,其他关闭。
测试PC1到PC3的路由路径,检查R0l路由表,检查R1左侧是否汇总为192.168.0.0/24网络。
实验2:配置OSPF动态路由协议,R0左侧是区域1,R0右侧是区域0,192.168.101.12网络不加入区域。
检查R0和R3的路由表,检查从PC0到PC3的路由路径。
实验1:按照拓扑图要求配置各设备的IP地址,并配置RIP V2动态路由协议,R1开启路由汇总,其他关闭。
PC0;PC1
R1
2R1(config)#interface gigabitEthernet 0/0
2R1(config-if)#ip address 192.168.0.126 255.255.255.128
2R1(config-if)#no shutdown
2R1(config)#interface gigabitEthernet 0/2
2R1(config-if)#ip address 192.168.0.254 255.255.255.128
2R1(config-if)#no shutdown
2R1(config)#interface gigabitEthernet 0/1
2R1(config-if)#ip address 192.168.101.1 255.255.255.252
2R1(config-if)#no shutdown
R0
2R0(config)#interface gigabitEthernet 0/0
2R0(config-if)#ip address 192.168.101.2 255.255.255.252
2R0(config-if)#no shutdown
2R0(config)#interface gigabitEthernet 0/1
2R0(config-if)#ip address 192.168.101.13 255.255.255.252
2R0(config-if)#no shutdown
2R0(config)#interface gigabitEthernet 0/2
2R0(config-if)#ip address 192.168.101.5 255.255.255.252
2R0(config-if)#no shutdown
R2
2R2(config)#interface gigabitEthernet 0/2
2R2(config-if)#ip address 192.168.101.6 255.255.255.252
2R2(config-if)#no shutdown
2R2(config)#interface gigabitEthernet 0/1
2R2(config-if)#ip address 192.168.101.10 255.255.255.252
2R2(config-if)#no shutdown
2R2(config)#interface gigabitEthernet 0/0
2R2(config-if)#ip address 192.168.2.254 255.255.255.0
2R2(config-if)#no shutdown
R3
2R3(config)#interface gigabitEthernet 0/2
2R3(config-if)#ip address 192.168.101.14 255.255.255.252
2R3(config-if)#no shutdown
2R3(config)#interface gigabitEthernet 0/1
2R3(config-if)#ip address 192.168.101.9 255.255.255.252
2R3(config-if)#no shutdown
2R3(config)#interface gigabitEthernet 0/0
2R3(config-if)#ip address 192.168.1.254 255.255.255.0
2R3(config-if)#no shutdown
R1:
2R1(config)#router rip
2R1(config-router)#version 2
2R1(config-router)#network 192.168.0.0
2R1(config-router)#auto-summary
2R1(config-router)#network 192.168.101.0
R0:
2R0(config)#router rip
2R0(config-router)#version 2
2R0(config-router)#network 192.168.101.0
2R0(config-router)#no auto-summary
R3:
2R3(config)#router rip
2R3(config-router)#version 2
2R3(config-router)#network 192.168.101.0
2R3(config-router)#network 192.168.1.0
2R3(config-router)#no auto-summary
R2:
2R2(config)#route rip
2R2(config-router)#version 2
2R2(config-router)#network 192.168.101.0
2R2(config-router)#no auto-summary
测试PC1到PC3的路由路径,检查R0l路由表,检查R1左侧是否汇总为192.168.0.0/24网络。
实验2:配置OSPF动态路由协议,R0左侧是区域1,R0右侧是区域0,192.168.101.12网络不加入区域。
R1:
2R1(config)#router ospf 1
2R1(config-router)#network 192.168.0.0 0.0.0.255 area 1
2R1(config-router)#network 192.168.101.0 0.0.0.3 area 1
2R1(config-router)#exit
R0:
2R0(config)#route ospf 1
2R0(config-router)#network 192.168.101.4 0.0.0.3 area 0
2R0(config-router)#network 192.168.101.0 0.0.0.3 area 1
R2:
2R2(config)#route ospf 1
2R2(config-router)#network 192.168.2.0 0.0.0.255 area 0
2R2(config-router)#network 192.168.101.4 0.0.0.3 area 0
2R2(config-router)#network 192.168.101.8 0.0.0.3 area 0
R3:
2R3(config)#route ospf 1
2R3(config-router)#network 192.168.1.0 0.0.0.255 area 0
2R3(config-router)#network 192.168.101.8 0.0.0.3 area 0
检查R0和R3的路由表,检查从PC0到PC3的路由路径。