OSPF协议是一种常见的IGP协议,封装在IP层,IP协议号89,默认管理距离为110。
OSPF LSA类型
类型1:路由器链路信息
内容包括:路由器链路Router-id、接口地址、接口网络、接口Cost
可使用show ospf database router命令查看
类型2:网络链路信息
由DR通告,如果是点对点的网络类型,没有LSA2
类型3、4:汇总链路(ABR通告)
类型3通告OSPF区域间信息
类型4通告asbr的router-id信息(通告nssa区域的abr)
类型5:通告外部路由
类型7:nssa区域外部路由
类型11:用于打标签
OSPF支持网络类型
1.广播
2.非广播
3.点对点(若MTU不匹配,将停留在EX-START状态)
4.点对多点
5.虚电路(虚电路的网络类型是点对点)
虚链路必须配置在ABR上,虚链路的配置使用命令是area transit-area-id virtual-link router-id
虚链路的metric等同于所经过的全部链路开销之和。
DR/BDR选举:
1.优先级(0〜255,0代表不参加选举,默认为1);
2.比较Router-id。
次者为BDR。
在Point-to-Point、Point-to-Multipoint(广播与非广播)这三种网络类型不选取DR与BDR;Broadcast,NBMA选取DR与BDR。
先启动OSPF进程的路由器会等待一段时间,这个时间内你没有启动其它路由的OSPF进程的话,第一台路由就认为自己是DR,之后再加进来的也不能在选举了,这个等待时间叫做Wait Timer计时器,CISCO规定的Wait Timer是40秒。这个时间内你启动的路由是参与选举的,所以真实工作环境中,40秒你大概只启动了两台,DR会再前两台启动的路由中产生,工作一段时间以后,活的最久的路由最有可能成为DR。
OSPF over FRAME-RELAY 的配置:
(1)NBMA : 在HUB上指定邻居;SPOKE上设置优先级为0。
(2)P-TO-P: 接口下配置命令 ip ospf network point-to-point。
(3)P-TO-MULT P:接口下配置命令 ip ospf network point-to-multipoint。
按需电路配置:
接口下配置命令 ip ospf demand-cricuit。
孤立区域问题解决:
1.虚电路 (虚电路穿过的区域一定是标准区域,标准区域一定是全路由的)
2.隧道
3.多进程重分发
注:如果中间间隔区域为stub区域,则只能用隧道解决。
OSPF分区域的原因:
1.LSA数据过大,造成带宽负载过大。
2.计算全网拓扑,对cup要求过高。
3.数据库过大,对内存要求过高。
OSPF五个包:
1.Heelo:9项内容,4个必要
2.DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部LSA信息),主要包括接口的MTU,主从位MS,数据库描述序列号等)。
3.LSR:链路状态请求数据包(查看收到的LSA是否在自己的数据库,或是更新的LSA,如果是将向邻居发送请求)。
4.LSU:链路状态更新数据包(用于LSA的泛洪扩散和发送LSA去响应链路状态请求数据包)。
5.LSACK:链路状态确认数据包(用来进行LSA可靠的泛洪扩散,即对可靠包的确认)。
Hello包作用:
1.发现邻居;
2.建立邻居关系;
3.维持邻居关系;
4.选举DR,BDR
5.确保双向通信
Hello包包含的内容有:路由器id、Hello&Dead间隔、区域id*、邻居、DR、BDR、优先级、验证*、末节区域*
注:1.“*”部分全部匹配才能建立邻居关系。
2.邻居关系为Full状态;而邻居关系是处于TWO-WAY状态。
Hello时间间隔:
在点对点网络与广播网络中为10秒;
在NBMA网络与点对多点网络中为30秒。
注:
保持时间为hello时间4倍。
虚电路传送的LSA为DNA,时间抑制,永不老化。
OSPF的组播地址:
DR将使用组播地址224.0.0.5泛洪扩散更新的数据包到DRothers
DRothers使用组播地址224.0.0.6发送更新数据包
组播的MAC地址分别为:0100.5E00.0005,0100.5E00.0006