OSPF路由协议
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等
内部网关协议和外部网关协议
1:自治系统(AS)
2:内部网关协议(IGP)
3:内部网关协议(EGP)
OSPF是链路状态路由协议
OSPF的工作过程
学习链路信息
Dijkstra算法
建立邻居关系
链路状态数据库
最短路径树
路由表
OSPF区域
*为了适应大型的网络,OSPF在AS内划分多个区域
*每个OSPF路由器只维护所在区域的完整链路状态信息(LSA)
Areao 0(骨干区域)
Areao 1 (非骨干区域)
Areao 2 (非骨干区域)
…
区域ID
1:区域ID可以表示为一个十进制的数字
2:也可以表示为一个IP
Ronter ID
OSPF区域内唯一标识路由器的IP地址
Ronter ID选取规则
1:选取路由器loopback接口数值最高的IP地址
2:如果没有loopback接口,在物理接口中选取IP地址最高的
3:也可以使用router-id命令指定router id
其他路由器(DRothers)只和DR及BDR形成命令关系
DR和BDR选举方法
一:自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选为BDR.
二:手动选举DR和BDR
1:优先级范围为0~255,数值越大,优先级越高,默认为1
2:如果优先级相同,则需要比较Router ID
3:如果路由器的优先级被设置为0,他将不参与DR和BDR的选举
DR和BDR的选举过程
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器、
OSPF的组播地址
224.0.0.5
224.0.0.6
OSPF的密度值为COST
*COST=10^8/BW
*最短路径是基于接口的代价(cost)计算的
OSPF数据包
承载在IP 数据包内,使用协议号89
OSPF的包类型
邻居状态机
(1) Down: 邻居状态机的初始状态,是指在过去的Dead- Interval时间内没有收到对方的Hello报文。
(1-2) Attempt: 只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送HELLO报文。
(2) Init: 本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的RouterID(对方并没有收到我发的HELLO报文)。
(3) 2 -Way: 本状态表示双方互相收到了对端发送的HELL0报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DROther的路由器之间将停留在此状态,其他情况状态机将继续转入高级状态。
(3)
ExStart:在此状态下,路由器和它的邻居之间通过互相交换DBD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DBD报文交换中能够有序的发送。
(5) Exchange: 路由器将本地的LSDB用DBD报文来描述,并发给邻居。
(6) Loading:路由器发送LSR报文向邻居请求对方的DBD报文。
(7) Full:在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。即,本路由器和邻居建立了邻接(adjacency) 状态。
OSPF的网络类型
从以下几个方面考虑OSPF的使用
1:网络规模
2:网络拓扑
3:其他特殊需求
4:路由器的自身需求
OSPF的特点
1:可适应大规模的网络
2:路由变化收敛速度快
3: 无路由环
4:支持变长子网掩码VLSM
5:支持区域划分
6:支持以组播地址发送协议报文