开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情
OSPF属于网络层协议,可以防止路由环路。属于链路状态路由协议
特性:
1.传递链路和状态,形成有向拓扑图,利用SPF算法,得到路由表;
2.运行在IP上,协议号89,组播地址224.0.0.5和224.0.0.6;3.OSPF占用CPU资源。
OSPF的优势:
1.支持大型异构网络互连,不容易出现错误;
2.支持路由验证,提高网络安全性;
3.cost相同的多条链路上的负载均衡;
4.不受跳数限制,减少子网分离问题;
5.支持VLSM和CIDR,方便进行网络地址有效管理;
6.区域分层,减少CPU的处理时间和内存的需求。
链路状态路由协议:
只有在路由发生变化时,发送更新链路状态通告LSA。通过多播地址,传输给邻接设备,邻接设备学习,同时转发给其他邻接设备,实现全网传输。邻接设备会形成一个完整链路状态数据库LSDB(link-state database)。LSDB可被看成一个地图,每台设备都有,用于生成全网的最佳路径。LSDB中通过SPF算法,生成最佳路径,形成路由表。
特征:
1.快速适应网络变化;
2,及时发送更新;
3.链路状态刷新时间频率低(每隔30分钟)更新
链路状态路由协议每台路由器记录信息:
1.直接相邻的邻接路由器:存储在邻接关系数据库;
2.网络或区域内其他路由器机器连接的网络:LSDB(链路状态数据库)
3.路由表:算法:SPF;存储在LSDB,最终信息存放在路由表中。
OSPF不同表的叫法:
OSPF邻居表=邻接关系数据库
OSPF拓扑表=OSPF拓扑数据库=LSDB
路由表=转发数据库
链路状态路由协议
缺点:保存表,占用内存资源
每台路由器都完全了解网络拓扑, 能根据准确的网络拓扑信息独立作出决策。
距离矢量路由协议缺点:根据流言选择路由
距离矢量路由协议的路由器依赖于邻居的路由决策。路由器不完全知道网络拓扑
SPF算法:
步骤:
1.网关测试相邻网关状态;周期性发送HELLO报文,如果可以链接则表示UP,否则为DOWN。
2.周期性的广播LSA3.刷新LSDB,通过SPF算法,更新路径
OSPF度量值:计算公式:100/以Mbit/s为单位的带宽
常见链路默认开销(见PPT)
T1(1.544Mbit/s的串行链路)
E1(2.048Mbit/s的串行链路)
OSPF基本概念
随着区域扩大,需要解决问题:最短路径优先(SPF)算法的频繁计算;路由表庞大;链路状态数据库(LSDB)庞大
自治区域AREA
主干区域(区域0):快速有效移动数据包;与非主干区域连接;没有终端用户
非主干区(常规区域):连接用户和资源;根据功能或地理分组进行设定。常规区域之间不能进行连接,不许使用主干区域进行中转。类型:标准区域,末节区域等。
为避免OSPF计算让路由器不堪重负,思科建议:
1.任意一台路由器的邻居不应该超过60台;
2.每个区域包含的路由器数量不应超过50台;
3.每台路由器所属的区域数最多不超过3个。
区域ID:可以用十进制数或者点分十进制数描述。比如:14,用点分十进制方法为0.0.0.14;300,用点分十进制方法为0.0.1.44
主干路由器:在AREA0 中的路由器
内部路由器:一个区域中的所有接口属于同一个区域都为内部路由器;每一台路由器的LSDB都是相同的;
ABR:区域边界路由器。用于连接骨干区域和非骨干区域,用于将常规区域路由告诉主干区域。并且限制泛洪。ABR连接区域不超过三台
ASBR:自治系统边界路由器。连接其他AS。将其他AS的路由信息重分发路由信息
在广播类网络中,邻接关系步骤:
1.使用多播地址(224.0.0.5)发送HELLO分组报文;
2.交换HELLO分组,确认邻居是否在同一区域等,确认邻居处于正常状态;
3.发送LSA同步LSDB,完成邻接状态;
4.链路状态信息同步,形成邻接关系,two-way状态。
点到点串行链路:建立链接关系,只要封装上HDLC或者PPP协议,就可以直接形成邻接关系。
DR:指定路由器
DR功能:1.产生DR代表,宣告链接到网络的路由器,包括DR自己。2.DR建立星型邻接关系,同步LSDB。
DR属于链路级别
BDR:备用指定路由器
BDR功能:当DR发送故障时,接替DR工作。BDR不生成网络链路广播消息。
DROTHER:其他路由器。
DR和BDR的选举方式:
1.优先级最高的路由器成为DR
2.优先级次高的路由器成为BDR
3.接口的OSPF优先级默认为1。优先级相同情况下,将根据路由器ID来做出决定:路由器ID最大的路由器成为DR,次大的路由器成为BDR。
4.优先级为0的路由器不能成为DR或BDR,不是DR和BDR的路由器是DROTHER。
5.优先级更高的路由器进入网络时,不会抢占DR或BDR。仅当DR或BDR出现故障时,才更换DR或BDR。
LSA类型:
1.路由器LSA:每个路由器都为其所属的每个区域生成路由器链路通告。路由器链路通告说明到该区域的路由器链路状态,并仅在该特定区域内泛洪。
2.网络LSA:由DR生成,在包含该网络的区域内泛洪。
3.汇总LSA:ABR保存它从一个区域获取的信息,并为另一区域汇总该信息。默认情况下不启用汇总。
4.ASBR汇总LSA:通知OSPF域的其他部分如何到达ASBR。
5.自治系统LSA:由ASBR生成外部链路通告。 除了特殊区域,它们可在任何地方泛洪。
LSA工作原理:通过发送LSU,核实链路是否存在。
链路状态数据库中是否有条目,如果没有就放到数据库中,发送LSACK,泛洪LSA,运行SPF,计算新的路由表。
如果有,判断序列号,如果序列号相同,则忽略;
如果序列号更大,则表示为更新信息,则更新数据,生成新的LSDB和路由表;
OSPF协议包:
版本号:3个
OSPF类型:1.HELLO 2.数据库描述DBD;3.链路状态请求LSR;4.链路状态更新信息LSU;5.链路状态信息确认LSACK
包长度:用字节表述
路由器IP地址:ID
区域ID
校验和:用于分组报头分组检测,确保分组不受损
验证类型:1.路由器不进行身份验证;2.明文验证;密文形式验证;3.MD5验证
OSPF协议的运行:
1.Hello协议的运行 :10S发送一次;LSA是30分钟;初始时INIT状态,完成邻居关系形成TWO-WAY状态
2.DR和BDR的产生 :exstart状态(预启动状态)用于交换协议;
3.链路状态数据库的同步 :同步后会进入FULL状态;
4.路由表的产生和查找 :通过SPF算法形成路由表
符合路由决策规则
OSPF配置
进程ID号:范围:1-65535;
AREAID:点分十进制或者十进制表述
路由器ID:
设置方式如下:
1.默认情况下,在OSPF启动时,将路由器ID设置为最大的活动物理接口IP地址。
2.如果有环回接口,其IP地址总是优于物理接口地址,因为环回接口永远不会关闭。如果有多个环回接口地址,则将路由器ID设置为最大的活动环回接口地址。
路由器ID一旦被设置便不会改变,即使其地址被用作路由器ID的几口关闭。仅当路由器重新启动或OSPF路由进程重新启动后,路由器ID才可能改变。
OSPF安全设置,默认是明文,也可以自己设定。