1.OSPF概述: OSPF属于链路状态路由协议、也就是说不像距离矢量那样只考虑“我到那个目标要多远?要多少跳?”而是考虑的更多,不如你现在的链路状态是怎样的,负载怎么样?该怎么走合适? 这就是链路状态。
OSPF在共同的管理域下运行着一组相同的路由协议的集合称之为一个自制系统 (Autonomous System ,AS)
可以是一个企业或者一个运营商等等。
OSPF分为内部网关路由协议和外部网关路由协议如下所述:
内部网关路由协议(IGP):用于单一的自制系统(AS)内决策路由。
外部网关路由协议(EGP): 用于在多个自制系统之间执行路由! 他、用于连接不同的AS
OSPF名词解析
邻居路由器: |
为同一条物理链路上的路由器,或者网段。 |
链路状态数据库: |
也称之为拓扑数据库,记录了所有路由器的状态以及到所有网段的路径。 |
邻接关系: |
两台运行OSPF路由协议的路由器的链路状态数据库一致时他们就是完全邻接了。 |
2.OSPF工作过程
OSPF与RIP的一个不同之处,RIP保存一张路由表,而OSPF是保存着3张表。
邻居列表: |
列出每台路由器已经建立邻接关系的全部邻居路由器。 |
链路状态数据库:(LSDB) |
列出了网络中全部的路由器信息,由此判断整个网络拓扑状态。 |
路由表: |
列出用SPF算法算出的到达每个相连网络的最佳路径。 |
运行着OSPF的路由器试图与邻居路由器建立关系,然后同步数据库,最后根据最短路径算法(SPF)算出最短路径写入路由表。
SPF:是Edsger Wybe Dijkstra (艾兹格.迪克斯彻) 是Dijkstra最短路径算法的创造者。
3.OSPF基本概念:
OSPF将自制系统分为很多区域,路由器只用学习自己区域内的路由。
区域为骨干区域,他用来连接资质系统内部所有其他区域。用来连接骨干区域和其他区域的路由器叫做区域边界路由器, 他了解所连接的连个区域的完整链路状态信息,并且连接状态信息汇总后发给区域内的其他路由器,减小了每台路由器都 要保存两路状态数据库所占用的空间。 |
2)routeID
标识在整个网络中的唯一路由器
思科路由器通过下面的方法得到了路由ID。
1.路由器选举所有Lookback接口上树枝最高的IP地址。 2.如果没有配置lookback IP,那么就选所有活动的物理口IP最大的。 |
4.DR与BDR
网络中如果路由器有很多,如果所有路由器和其他路由器全部建立连接关系,不仅浪费时间而且浪费带宽,
所以为了防止这些问题,路由器会选举DR和BDR。
DR:指定路由器。 BDR:备份指定路由器。 只要网络拓扑中所有路由器全部都与DR和BDR相连,这样就不会出现上述情况。 所有路由器与DR和BDR形成邻接关系,然后DR和BDR形成邻接关系。 |
DR的选举:
1)自动选举:ID最大的是DR第二大的是BDR。 不合理之处:如果cisco7200和3800两台路由器,3800的大怎么办? 2)手动选举:设置优先级:1-255 (越大优先级越高)默认1
如果优先级0 则不参加选举 如果想用就比较RouteID 选举过程:
3)ospf的组播地址 一旦DR和BDR选举成功以后,其他路由(称之为DRother)将只与DR和BDR建立关系。 组播地址:224.0.0.5代表所有参加OSPF的路由器,而组播地址224.0.0.6只有DR和BDR去侦听这个地址,但是BDR只侦听,不响应。 在广播多路访问网络上,链路更新信息先发到224.0.0.6然后在有DR路由器使用组播地址224.0.0.5泛洪更新报文到其他所有路由器上。 |
5.OSPF的度量值
OSPF的度量值:COST(开销)
指的是从这台路由器发出去的出站接口开销。
ip ospf cost //用于开销 |
默认10的8次方/接口带宽 就是接口开销。
现在的网络中已经不用这个标准了(10的8次方)。因为如果带宽大于100M算出的数据会小于1.
在IOS11.2以后解决了
用auto-cost reference-bandwidth 修正了这个问题 允许管理员改默认参考值。
OSPF建立邻接关系:
OSPF使用TCP或者UDP 它承载在IP数据包内,使用协议号89. OSPF的五中状态:
过程:
然后使用最短路径算法SPF算出到目的网络的最短路径。 |
6.OSPF的网络类型
|
7.OSPF特点
适应大型网络 |
路由收敛快 |
无环路 |
支持可变长子网掩码VLSM |
支持区域划分 |
支持组播发送报文 |
OSPF VS RIP
1)RIP适用于小型企业网络低于10台R,最大条数15跳、 OSPF适应大型拓扑,智能选择带宽。 2)RIP 首先发送自己的报文,其他收到后马上回复,没收到报文30秒广播自己路由表。 RIP用Hello包建立关系,建立迅速,hello包10秒一次,若在发4次hello没回复,认为对方死了。 删掉路由表。 但是数据库里没删 1小时候就真删了。 OSPF的LSA也重发 30分钟一次。 3)OSPF占用带宽较少,占用CPU时间少,但是占用内部存储空间大,后期主要发hello包,但RIP是发路由表。hello包要比路由表小的多、 |
OSPF |
RIP |
链路状态 |
距离矢量 |
没有距离限制 |
有跳数限制 |
收敛快 |
慢 |
支持可变长子网掩码 |
不支持 但是 RIPV2支持 |
链路状态变化才更新 | 周期性更新占带宽 |