OSPF:开放最短路径优先协议
属于无类别链路状态路由协议,组播更新地址224.0.0.5/6;
跨层封装到3层,协议号89;基于拓扑工作,更新量大,故需要区域划分。
触发更新,周期更新30min。
一、Ospf的基本原理与实现
1、宣告ospf的路由器从所有启动ospf的接口上发出hello包,当双方收到对方的hello包,并成功的协商hello包中的参数(hello time,dead interval,area ID,认证,掩码等)的时候,那么他们就形成了邻居关系。
2、进行条件匹配:点到点网络,必然形成邻接关系;MA网络要进行DR/BDR的选举,所有非DR/BDR仅与DR/BDR建立邻接关系,非DR/BDR之间保持为邻居关系。
3、每一台路由器都会在所有形成邻接关系的邻居之间发送链路状态通告LSA,路由器会把收到的这些LSA记录在他们的链路状态数据库中,并且复制一份LSA给自己所有的邻居。
4、当所有的路由器都形成了同样的链路状态数据库,即LSDB同步的时候,路由器启动SPF算法。第一次启用SPF算法,生成以自己为根的最优路径树,之后启用第二次SPF算法,生成到达未知网段的最佳路径。最后,每台路由器根据自己的SPF算法树生成自己的路由表。
二、ospf的5中数据包
1、hello包(type1)
2、DBD——数据库描述包(type2)
3、LSR——链路状态请求(type3)
4、LSU——链路状态更新(type4)
5、LSack——链路状态确认(type5)
三、ospf的7中状态机
1、down 该状态还未发生信息交换,首先从ospf接口发送hello包,使用组播地址 224.0.0.5;
2、Init初始化 本地收到hello包,进入下一状态;
3、2Way 双向通信 进行条件匹配:点到点网络直接进入下一状态;MA网络进行 DR/BDR的选举,非DR/BDR间不得进入下一状态;
4、Exstart预启动 使用类似hello的DBD包进行主从关系选举,RID大为主, 主 优先进入下一状态;
5、Exchange准交换 使用真是的DBD包进行数据库目录共享,需要ack;
6、Loading加载 使用LSR/LSU/LSack来获取未知的LSA信息;
7、Full转发 邻接关系建立。
四、ospf定义的5种网络类型
1、点到点网络
2、广播型网络
3、非广播型多路网络
4、点到多点网络
5、虚链路
注意:
1、在tunnel接口上,ospf默认的工作方式为点到点,这种工作方式在mgre环境下,将无 法正常建立邻居关系,因为点到点工作方式只能和一个邻居建邻,此时,可以将接口的 工作方式改为broadcast。
2、Broadcast和point-topoint工作方式的hello time均为10s,所以能够建立邻居关系,但由 于前者选举DR/BDR,而后者不选,故不能正常收敛路由。
五、ospf的LSA类型
Ospf的类型一共有11种
LSA1 路由器LSA(Router LSA)
LSA2 网路LSA(Network LSA)
LSA3 网路汇总LSA(Network summary LSA)
LSA4 ASBR汇总LSA(ASBR summary LSA)
LSA5 自治系统外部LSA(Autonomous system external LSA)
LSA6 组成员LSA(Group membership LSA)目前不支持组播OSPF(MOSPF协议)
LSA7 NSSA外部LSA(NSSA External LSA)
LSA8 BGP的外部属性LSA(External attributes LSA for BGP)
LSA9 不透明LSA(本地链路范围)(opaque LSA)目前主要用于MPLS多协议标签交换
LSA10 不透明LSA(本地区域范围)(opaque LSA)目前主要用于MPLS多协议标签交换
LSA11 不透明LSA(AS范围)(opaque LSA)目前主要用于MPLS多协议标签交换技术
这11种LSA中,我们主要研究其中的LSA1、2、3、4、5、7。
注意:
1、LSA 3每穿越一个ABR,其ADV Router都会发生改变,ADV Router转变为最后一次穿越的ABR路由器;
2、LSA 5的通告路由器在穿越ABR的时候是不会改变的。
六、OSPF的特殊区域
1、不存在ASBR
1)、stub area 末梢区域,拒绝4/5类的LSA,由ABR自动产生一条3类的缺省指向骨干
2)、total stub area 完全末梢区域,拒绝3/4/5类LSA,仅保留一条自动产生的3类缺省
2、存在ASBR
3)、NSSA area次末梢区域,本区域ASBR产生的5类使用7类传输,7类LSA在离开本 区域时被ABR修改为5类;接收3类,但不会自动产生3类缺省
作用:拒绝网络中其他区域的ASBR产生的4/5的信息,但为了避免环路产生,故不自 动产生3类缺省,在管理员确定无环的情况下可以手动添加7类缺省路由
4)、Total NSSA area完全次末梢区域,拒绝3/4/5类LSA,自动产生3类缺省指向骨干
七、OSPF的不规则区域
1、远离骨干的非骨干
2、不连续骨干
解决办法:
1)Tunnel——在两台ABR路由器上建立tunnel,然后将其宣告到ospf中;
缺点:选路不佳,对中间区域周期、触发占用
2)虚链路——在两台ABR上配置,然后骨干区域的ABR为非骨干区域的ABR授权
注意:a、虚链路经过的区域不能带有末梢特性(stub或nssa),tunnel是万能的
b、通过虚链路传输的LSA都是不老化的
c、虚链路一旦建立邻居关系,不在进行hello计时
3)多进程双向重发布——在一台设备上启动多个进程时,每个进程为独立协议,仅将 计算所得路径加载到同一张路由表