OSPF: 一、OSPF是什么?OSPF的特点 1、open shortest path first开放式最短路径优先,是一种链路状态的IGP协议,基于IP协议号89 2、无环路:防环机制 3、收敛速度快 4、扩展性强多区域划分,普通区域必须和骨干区域直接相连 5、*支持认证:按照认证方式分为接口认证和区域认证,接口认证优于区域认证 按照认证类型分为空认证,明文认证和MD5密文认证 认证的类型和信息放在OSPF的报头部分,需要对OSPF所有报文都做认证 *区域0认证需要注意哪些问题:也需要对v-link穿越的区域做区域0认证(开启一个area0然后做认证,在v-peer后直接认证) 6、支持四种网络类型:Broadcast,NBMA,P2P,P2MP 二、OSPF报文类型,邻居状态机 1、hello:发现,建立,维护邻居关系 影响邻居关系建立的因素: (1)Router-id必须不一致:同区域直连;同区域非直连;不同区域其中一台是ASBR (2)area id必须一致 (3)认证类型和认证密码 (4)在MA的网络掩码要一致 (5)hello时间和dead时间要一致 (6)option字段e和np要一致:E bit:支持五类LSA;NP bit:支持七类LSA 普通区域:E=1,NP=0 Stub区域:E=0,NP=0 NSSA:E=0,NP=1 2、DBD:描述LSDB的摘要信息,包含LSA的头部:LSA type,link state id,adv router,checksum,seq,age 3、LSR:请求相应的LSA,包含LSA三要素 4、LSU:更新LSA,包含LSA的完整信息 5、LSAck:确认收到的LSA,包含LSA的头部 *在广播和NBMA网络需要选举DR/BDR,用来减少邻接关系数量,首先比较优先级,然后比较router-id大的取胜 默认优先级为1,0~255,如果优先级为0则不能参与DR/BDR选举,d-other之间需要建立2-way的邻居关系,d-other和DR/BDR之间建立full的邻接关系 三、OSPF的LSA类型以及作用 1、router-LSA:描述路由器的链路状态信息,(mertic:描述到达这个网络的开销),每台路由器都会产生,在所在区域泛洪 2、network-LSA:描述广播/NBMA伪节点信息,掩码长度和这个伪节点包含哪些路由器,不包含开销,DR产生,在产生区域泛洪 3、summary-LSA:描述区域间的路由信息,掩码长度和开销值,由本区域ABR产生,在产生区域泛洪,每经过一个区域改变一次adv 4、ASBR-summary LSA:描述ASBR的信息,开销值,由本区域ABR产生,在产生区域泛洪,每经过一个区域改变一次adv,在ASBR所在区域没有此LSA 5、ASE LSA:描述区域外的路由信息,掩码,开销,开销值类型,转发地址,在整个OSPF域内泛洪 6、NSSA LSA:描述NSSA引入的外部路由信息,掩码,开销,开销值类型,必须携带转发地址,在NSSA泛洪,NSSA的ABR会将7类转成5类泛洪进其他区域,由router-id大的做7转5 开销值类型:type1计算外部路由开销加上自身到达ASBR的开销;type2只计算外部路由开销,默认是type2 携带5类的FA:ASBR去往外部路由的出接口宣告进OSPF;这个出接口不是silent-interface;这个出接口是b/NBMA 优化路径 七类的FA:必须携带,优化路径 四、OSPF选路原则 区域内(1类2类)优于区域间(3类)优于区域外(5类7类) 对于区域外的lsa:type 1的优于type 2, 都是type 1的,比较开销,开销一样负载分担 都是type 2的,先比外部路由开销,如果一样比较到达asbr或FA开销,如果一样负载分担 五、OSPF的防环机制 区域内:SPF算法 区域间:非骨干区域必须和骨干区域直接相连 非ABR不能泛洪三类LSA 从骨干区域传来的三类LSA不会再传回骨干区域(骨干区域的三类优于非骨干区域的三类) 区域外:五类LSA防环基于四类LSA 四类LSA 六、OSPF虚链路特性 1、虚链路的应用场景: 用于不存在骨干区域的场景 用于连接没有和骨干区域直接相连的非骨干区域 用于被分割的骨干区域的连接 用于骨干区域的备份 用于优化路径 2、虚链路的缺点: 易产生环路 不能做汇总 3、在做虚链路需要注意的问题: 属于骨干区域的,如果对骨干区域认证,也需要对虚链路认证 属于临时修复网络的特性,不宜在网络规划的时候就引入 4、虚链路检测机制: (1)单播周期hello报文, 如何得到报文的源目IP:以自己为根计算出到达对端的SPF树,出接口IP就是源IP 也会以对端为根计算到达自己的SPF树,出接口就是目的IP (2)直接接口的up/down 七、OSPF特殊区域特性 可以减小OSPF的LSDB的大小,使得性能一般的设备或性能较差的设备可以配置特殊区域 缺点:可能导致次优路径 1、stub区域:末节区域,不允许5类LSA的存在 存在1/2/3 不存在4/5----->缺省3类 不允许引入外部路由不存在ASBR 不能将骨干区域配置为stub(虚链路穿越的区域也是) 2、total stub区域:完全末节区域,不允许5类LSA 存在1/2/缺省3类 不存在3/4/5----->缺省三类 不允许存在ASBR,使用缺省三类访问区域间路由 不能将骨干区域配置为total stub(虚链路穿越的区域也是) 3、NSSA:不允许5类,但是存在7类 存在1/2/3 不存在4/5(其他区域引入)------>缺省7类 不存在4/5(NSSA区域引入)------->7类 允许存在ASBR 不能将骨干区域配置为NSSA(虚链路穿越的区域也是) 4、total NSSA:不允许5类,但是存在7类 存在1/2/缺省3类 不存在3类------>缺省3类 不存在4/5(其他区域引入)------>缺省7类 不存在4/5(NSSA区域引入)------->7类 允许存在ASBR 不能将骨干区域配置为total NSSA(虚链路穿越的区域也是)