- RIP【距离矢量路由协议】在大型网络中存在的问题
- 逐跳收敛的特性造成收敛缓慢的问题。
- 计算路由时,缺少对全局路由的了解。
- 以“跳数”为度量,存在选择次优路径的风险。
- 优化或解决的方法
- 触发更新:将“收到更新”、“计算路由”、“发送更新”调整为“收到更新”、“发送更新”、“计算路由”。
- 收集全网信息,独立计算路由。
- 将基于跳数的选路方式改为以累计带宽作为选路依据。
- OSPF【链路状态路由协议】:
路由信息传递与路由计算分离
基于SPF【最短路由】算法
以累计链路开销作为选路参考值(出接口)
- OSPF的工作工程:
邻居建立->同步链路状态数据库LSDB->计算最短路由SPT
Router ID:标识路由器,32位,类似于IP。
1、发现并建立邻居路由:hello报文。
【组播形式发送HELLO报文/手动配置实现邻居的发现与维护】
hello报文的作用:邻居发现、邻居建立、邻居保持。
2、同步链路状态数据库
链路状态信息:链路类型、接口IP及子网掩码、链路上连接的邻居路由器、链路带宽。
【转发的是最原始的链路状态信息,对邻居路由器发来的链路状态信息仅做转发】
网络类型:P2P网络、广播型网络、NBMA网络、P2MP网络
- P2P网络:两台路由器相连,支持广播、组播。
实例:两台通过PPP链路相连的路由器网络。
- 广播型网络:两台及以上的路由器通过共享介质互连;支持广播、组播。
实例:通过 以太网链路相连的网络。
- 两台及以上路由器通过VC互联,不支持广播、组播。
实例:通过全互联的帧中继链路相连的路由器网络。
- P2MP网络:多个点到点网络的集合,支持广播、组播。
OSPF的度量方式:接口开销=参考带宽(默认100M)/实际带宽,结果只取整数,小于1时取1.
- 报文类型及作用:
- RIP路由器之间是基于UDP 520的报文进行通信
- OSPF使用IP承载其报文,协议号为89
- OSPF报文类型:hello报文,建立和维护邻居关系;数据库描述报文DD,交互链路状态数据库的摘要;链路状态请求报文LSR,请求特定的链路状态信息;链路状态更新报文LSU,发送详细的链路状态信息;链路状态确认报文LSACK,发送确认报文。Type分别为1、2、3、4、5
- OSPF的LSDB同步:
八个报文、四个状态。
- LSA是路由器之间链路状态信息的载体。LSA是LADB的最小组成单位。它们拥有相同的头部。
- MA网络中的问题:
- n个路由器时,行成nx(n-1)/2个邻接关系,管理复杂。
- 重复的LSA泛洪,造成资源浪费。
- OSPF相应解决方案:
选举指定路由器DR【其功能用某台路由器承载,其他路由器都与DR通信,相互之间不通信】和备份指定路由器BDR。
作用:减少了邻接关系、降低了OSPF协议流量。
问题:容易引起单点故障问题。
- 邻居与邻接关系:
建立连接之前---------邻居关系
建立连接之后---------邻接关系
P2P网络和P2MP网络是完全可以有邻居关系建立到临界关系的。
- 总结:OSPF报文类型:Hello报文、DD(数据库描述)报文、LSR(链路状态请求)报文、LSU(链路状态更新)报文、LSACK(链路状态确认)报文。