OSPF是链路状态路由协议
OSPF的工作过程(三张表)
邻居列表
链路状态数据库
路由表
OSPF的三种通信量
- 域内通信量(Intra-Area Traffic)
- 单个区域内的路由器之间交换数据包构成的通信量
- 域间通信量(Inter-Area Traffic)
- 不同区域的路由器之间交换数据包构成的通信量
- 外部通信量(External Traffic)
- OSPF域内的路由器与OSPF区域外或另一个自治系统内的路由器之间交换数据包构成的通信量
OSPF的路由器类型
邻居状态机
- (1) Down:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有收到对方的He1lo报文或OSPF没启动时。
- (1-2) Attempt:只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送HELLO报文。
- (2) Init:本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的Router
ID(对方并没有收到我发的HELLO报文)。 - (3)
2-Way:本状态表示双方互相收到了对端发送的HELLO报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DROther的路由器之间将停留在此状态。 - 其他情况状态机将继续转入高级状态。
- (4)ExStart:在此状态下,路由器和它的邻居之间通过互相交换DD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送。
- (5) Exchange:路由器将本地的LSDB用DD报文来描述,并发给邻居。
- (6) Loading:路由器发送LSR报文向邻居请求对方的DD报文。
- (7) Full:在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。即,本路由器和邻居建立了邻接(adjacency)状态。
OSPF的基本概念
1:OSPF区域
- 为了适应大型的网络,OSPF在AS内划分多个区域
- 每个OSPF路由器只维护所在区域的完整链路状态信息
区域ID
- 区域ID可以表示成一个十进制的数字
- 也可以表示成一个IP
骨干区域Area 0
- 负责区域间路由信息传播
非骨干区域
2:Router ID
- OSPF区域内唯标识路由器的IP地址
Router ID选取规则
- 选取路由器loopback接口上数值最高的IP地址
- 如果没有loopback接口,在物理端口中选取IP地址最高的
- 也可以使用router-id命令指定Router lD
3:DR和BDR
4:指定路由器(DR)
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODU0NTM3,size_16,color_FFFFFF,t_70#pic_center)
5:其他路由器(DRothers)只和DR及BDR形成邻接关系
6:DR和BDR的选举方法
自动选举DR和BDR
- 网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
- 优先级范围是0~255,数值越大,优先级越高,默认为1
- ·如果优先级相同,则需要比较Router ID
- 如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
DR和BDR的选举过程
- 路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
OSPF的组播地址
- 224.0.0.5(DR)
- 224.0.0.6(DR、BDR)
DR和BDR的选举方法
自动选举DR和BDR
- 网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
- 优先级范围是0~255,数值越大,优先级越高,默认为1
- 如果优先级相同,则需要比较Router ID
- 如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
7:OSPF的度量值为COST
OSPF的应用环境
从以下几方面考虑OSPF的使用
- 网络规模
- 网络拓扑
- 其他特殊要求
- 路由器自身要求
OSPF的特点
- 可适应大规模网络
- 路由变化收敛速度快
- 无路由环
- 支持变长子网掩码VLSM
- 支持区域划分
- 支持以组播地址发送协议报
OSPF与RIP的比较
OSPF邻接关系的建立
(1)OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程
(2)OSPF启动的第二个阶段是建立完全邻接关系
- COST= 10的8次方/BW
- 最短路径是基于接口指定的代价(cost)计算的
OSPF的数据包类型
OSPF数据包
- 承载在lP数据包内,使用协议号89
OSPF的包类型
OSPF建立邻居的条件
- 1、ROUTER ID不能相同;
- 2、HELLO时间必须一致;
- 3、DEAD时间必须一致;
- 4、区域lD必须相同;
- 5、认证必须相同;
- 6、STUB标志位必须相同(直连路由器特殊区域要求一致);
- 7、三层MTU不匹配无法形成邻接关系(一边是EXSTART,一边是EXCHANGE);
- 8、OSPF版本号不同(目前版本为2);
- 9、当OSPF网络类型是MA时,要求掩码一定一致(两个邻居)。因为会出现DR和LSA-2,无法描述网段。
OSPF的网络类型
OSPF将网络划分为四种类型
- 点到点网络(Point-to-Point)
- 广播多路访问网络(Broadcast MultiAccess,BMA)
- 非广播多路访问网络(None Broadcast MultiAccess,NBMA)
- 点到多点网络(Point-to-Multipoint)
OSPF的区域类型
1:骨干区域Area 0
2:非骨干区域–根据能够学习的路由种类来区分
3:标准区域
- 末梢区域(stub)
- 完全末梢(Totally.stubby)区域
- 非纯末梢区域(NSSA)
链路状态数据库的组成
- 每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库
- 链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型
第一类LSA: Router-LSA - 由每个路由器生成,描述了路由器的链路状态和花费,传递到整个区域
第二类LSA: Network-LSA
- 由指定路由器DR生成,描述了本网段的链路状态,传递到整个区域
第三类LSA: Net-Summary-LSA
- 由ABR生成,描述了区域内某一网段的路由,传递到相关区域
第四类LSA: ASBR summary LSA
- 由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由
第五类LSA:自治系统外部LSA(Autonomous system external LSA)
-
由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径
-
自治系统外部LSA是唯一不和具体的区域相关联的LSA通告,将在整个自治系统中进行洪泛
第六类LSA:组成员LSA(Group membership LSA)
- 目前不支持组播OSPF (MOSPF 协议)
第七类LSA: NSSA外部 LSA(NSSA External LSA)
- 由 ASBR产生,几乎和第五类LSA通告是相同的,但 NSSA外部 LSA通告仅仅在始发这个
NSSA外部LSA通告的非纯末梢区域内部进行泛洪