CCNA学习笔记之OSPF(理论篇)

本次博文的主题是OSPF理论基础哈,Let's GO!~~

 

1、OSPF是什么?

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协?议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的dijkstra算法被用来计算最短路径树。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。不同厂商管理距离不同,思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是150。

OSPF协议具有下列特性:

  • 由区域和自治系统组成 

  • 最小化的路由更新的流量 

  • 允许可缩放性 

  • 支持VLSM和CIDR 

  • 拥有不受限的跳数 

  • 允许多销售商的设备集成(开放的标准) 

  • 度量值是带宽 

链路状态算法(SPF)的基本思想:

  • 每台路由器在启动时首先获得链路状态元素(创建邻居关系); 

  • 每台路由器定期用多播的方式向互联网上的路由器发送路由状态通告(LSA); 

  • 每台路由器累积LSA后形成拓扑数据库,并以此算出本路由器去目的网络的最佳路径(周期性触发更新路由表) 

2、OSPF报文类型:

image

说明: 

(1)Hello包:用于邻居路由器之间建立和维护邻接关系

(2)数据库描述包(DBD):描述每台OSPF路由器的链路状态数据库的内容(不是具体内容而是LSA的摘要信息)

(3)链路状态请求包(LSR):请求链路状态数据库的部分内容(请求的是路由器LSDB中所没有的LSA )

(4)链路状态更新包(LSU):传送链路状态数据通告LSA给邻居路由器(包含具体的LSA信息) 

(5)链路状态确认包(LSAck):确认邻居发过来的LSA已经收到(只确认更新包)

3、OSPF的包结构(如下图所示):

image

IP包头:

EIGRP的协议号是88,OSPF的协议号是89

OSPF的PDU格式(各字段含义如下):

(1)Version Number:OSPF的版本号(IPv4--版本2,IPv6--版本3)

(2)Type:Hello/DBD/LSR/LSU/LSAck

(3)Packet Length:OSPF数据包的长度

(4)Router ID:始发OSPF数据包的路由器的Router-ID

    Router ID的选择方法如下:

  • 手工指定(建议)

  • 如果路由器存在回环接口, 则从回环接口中选择最高的IP作为RouterID 

  • 如果路由器不存在回环, 则从物理接口中选择最高的IP作为RouterID(接口必须处于激活状态) 

(5)Area ID:区域ID,始发OSPF数据包的路由器的接口所在的区域

(6)Checksum:OSPF数据包的校验和

(7)Authentication Type(AuType):OSPF认证类型,一共有3种:

AuType Authentication Type
0 Null(没有认证)
1 明文密码认证
2 密文(MD5)认证

(8)Authentication:存放认证信息

(9)数据部分

Tips:

  • OSPF 使用IP数据包进行路由通告和学习, Protocol Number : 89

  • OSPF的更新包里包含的不是具体的路由信息,而是包含可以算出路由的LSA信息

4、OSPF中的数据库类型(三张表):

(1)邻居表  => 所有的邻居

    列出每台路由器全部已经建立邻接关系的路由器

(2)拓扑表(LSDB) => 网络的地图

    列出网络中其他路由器的信息,由此显示了全网的网络拓扑

(3)路由表  => 最佳的路由:

    列出通过SPF算法计算出的到达每个相连接网络的最佳路径 

5、OSPF的网络类型:

image

6、OSPF的Hello协议:

OSPF用Hello包建立及维护邻居关系,Hello包通过组播地址224.0.0.5发送;

它的PDU包含的主要内容如下图所示:

image

各字段含义:

  • Router ID:始发OSPF数据包的路由器的Router-ID 

  • Hello and dead intervals:接口上发送Hello包的时间间隔以及将邻居视为down前等待Hello包的时间间隔(默认为Hello Interval的4倍) 

  • Neighbors:列出了始发路由器保存的邻居列表 

  • Area ID:区域ID,始发OSPF数据包的路由器的接口所在的区域 

  • Router Priority: 接口优先级,用于选举DR/BDR.为0将不参与选举,默认接口优先级为1. 

  • DR IP address:NBMA网络中的DR接口的IP地址,如果不存在将设置为0.0.0.0. 

  • BDR IP address:NBMA网络中的BDR接口的IP地址,如果不存在将设置为0.0.0.0. 

  • Authentication Password:认证密码 

  • Stub area flag:末梢区域标记 

注:带有“*”的条目必须匹配才可建立OSPF邻居关系,即:

      两个路由器之间如果不满足下列条件,则他们就不能成为邻居:

  • Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网 

  • 验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居 

  • Hello Interval and Dead Interval: OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。 

  • stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居

补充知识:

(1)DR/BDR--为什么需要DR/BDR?

image

image

image

(2)DR/BDR的选举方式:

image

7、OSPF创建路由表的过程:

image

8、OSPF的区域:

(1)传输区域(骨干区域) 

(2)常规区域(非骨干区域)

03dfae6e-6b39-42b9-a6e4-03dd93cdd356

说明:

  • OSPF的区域形状为一花朵,花蕊部分是骨干区域,花瓣是常规区域; 

  • OSPF的区域是一种二层结构的区域,常规区域必须与骨干区域相连; 

经验之谈:运行OSPF时,一个区域里的路由器最好不要超过50台,否则影响路由器性能。

划分区域的好处:

  • 减小路由表里的路由信息

  • 当网络发生变化时,只影响本区域内的路由表;

  • 路由更新包的泛洪只在本区域内;

9、OSPF建立邻接关系的过程:  

(1)Down状态-->Init状态:

image

(2)Two-Way状态(邻居关系):此状态下需要选举DR/BDR

 

image

(3)EXStart状态:选主/从

image

(4)Exchange状态:交互DBD信息

image

(4)Loading状态:从向主发送LSR报文,主向从发送LSU报文(同步LSDB数据库)

image

(5)FULL状态:建立邻接关系

image

小结:总结邻接关系的建立过程:

image

10、OSPF维护路由信息的方法:

image

11、OSPF的度量方法:

image

12、OSPF与RIP的比较:

image

 本次博文的内容就这些哈,下次我们来具体配置OSPF!~~

本文出自 “技术日志” 博客,谢绝转载!

你可能感兴趣的:(id,DR,router,BDR,ospf,距离矢量,链路状态)