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(虚链路穿越的区域也是)

http://blog.51cto.com/11555417/2044275