OSPF

开放式最短路径优先协议:

目前使用范围最广泛的IGP协议;无类别链路状态路由协议;

OSPF协议最大的缺点,在于基于拓扑收敛产生巨大的更新量;

故设计者在设计ospf协议过程中,使用了很多的机制来减少更新量-----结构的部署

  1. 区域划分—单区域内传递拓扑 用于每台路由器本地计算到达所有未知网段的最短路径 区域间传递计算完成后的路由条目信息
  2. 合理的IP地址规划—一个区域可以汇总成一个网段为最佳
  3. 特殊区域
  4. 30min周期的更新

数据包类型

  • hallo包:发现、建立、周期保活邻居、邻接关系
  • DBD包 – 数据库描述包:本地数据库的目录(照耀)
  • LSR包 – 链路状态查询:基于DBD包中的位置信息进行查询
  • LSU包 – 链路状态更新:用于答复对端的LSR,携带各种LSA
  • LSAck – 链路状态确认:确认包,保证可靠性

状态机

  • down:一旦进行hello的手法,进入下一状态
  • Init初始化:接收到的hello包中存在本地的route-id,进入下一状态
  • 2way双向通信:邻居关系建立的标志
  • 条件匹配:
    1. 若匹配失败保持为邻居关系,仅hello包周期保活即可;
    2. 若匹配成功,则进入下一状态
  • exstart预启动:使用类似hello包的DBD进行主从选举,利用HELLO报文中的ID和优先权来进行选举,不允许抢占,DR没了,DBDR才能上;DR优先进入下一状态
  • exchange准交换:使用真正的DBD包进行数据库目录的共享;
  • loading 加载:使用LSR/LSU/LSack来获取未知的LSA信息;
  • full转发:邻接关系建立的标志

LSA

Router-LSA(一类LSA):

TypeLink IDData
P2P邻居的Router ID该网段上本地接口的IP地址
TransNetDR的接口IP该网段上本地接口的IP地址
StubNet该Stub网段的IP地址该Stub网段的网络掩码
Virtual虚链路邻居的Router ID始发路由器的虚链路接口的IP地址

Network-LSA(二类LSA):

  • 功能:藐视MA网络中所存在的所有路由器,该MA网络的网络掩码是多少。
  • 范围:在本区域内传输,终止于ABR
  • Link ID:MA网络中DR的接口地址
  • ADV:DR接口所属路由器的router-id
  • Mask:该网络上使用的地址或者子网的掩码

Network-Summary-LSA(三类LSA):由ABR产生

  • 功能:用于在不同区域内传递路由信息,不含拓扑信息
  • 传播范围:在区域内传递(进入其他区域市必须由新的ABR重新产生)
  • Link-ID:传递路由的网络号
  • ADV:默认为本区域ABR的router-id,在穿越不同区域时改变
  • Mask:所通告的网络的子网掩码

ASBR-Summary-LSA(四类LSA):外部LSA

  • 功能:用于宣告ASBR的位置
  • 传播范围:整个OSPF域间传递(进行重发布路由器所在的区域除外)
  • link-id:ASBR-router-id
  • ADV:ASBR所属区域的ABR的router-id(穿越不同区域是发生改变)
  • Mask:0.0.0.0,无实际意义

External-LSA(五类LSA):外部LSA

  • 功能:将外部路由引入OSPF域中
  • 传播范围:整个OSPF域
  • link-id:通告的外部路由网络号
  • ADV:ASBR router-id
  • mask:通告网络的子网掩码
  • E:指定该条路由使用的外部度量的类型。E=1,则是E2;E=0,则是E1
  • FA地址:达到所通告的目的地的数据包应该被转发到的地址。若FA为0.0.0.0,则会被默认转发到ASBR上

汇总

LSA类别传播范围通告者携带信息link-id通告者
LSA-1 router本地设备所在区域该区域每台设备的RID每台设备本地所在区域的直连拓扑通告者的RID本区域内每台设备必须发送
LSA-2 Network本地设备所在区域DR单个MA网段的拓扑DR的接口ip地址每个MA网段中的DR
LSA-3 summary整个OSPF域ABR域间路由域间路由目标网络号ABR,在经过下一台ABR时,修改为新的ABR的RID
LSA-4 asbr除ASBR所在的区域外的整个ospf域; asbr所在区域基于1类交代位置ABRASBR位置ASBR的RID和ASBR同一区域的ABR,在经过下一台ABR时,修改为新的ABR的RID
LSA-5 external整个OSPF域ASBR域外路由域外路由目标网络号ASBR
LSA-7 NSSA本地的NSSA区域ASBR域外路由域外路由目标网络号ASBR; 离开本地NSSA区域时转换为5类

特殊区域

ospf的特殊区域是为了减少非骨干区域的更新量 – 不能时骨干区域,不能窜在虚链路

  • 不能存在ASBR

    • 末梢区域 stub:拒绝4/5类的LSA;

      生成一条3类的缺省路由指向骨干区域;

      切记:该区域所有设备均需要定义为末梢区域;

    • 完全末梢区域:在末梢区域的基础上,进一步拒绝3的lsa,仅保留一条3类的缺省;

      先将该区域配置为末梢,区域然后仅在abr上定义完全即可;

  • 存在ASBR

    • NSSA 非完全末梢区域—该区域拒绝其他区域的ASBR产生的4/5LSA;

      本地区域内ASBR产生的5类LSA,以7类在本区域传播,从本区域进入骨干区域时由ABR(新的ASBR)转换为5类;

      同时自动产生一条7的缺省指向骨干区域

      本区域内所有设备均需配置

    • 完全NSSA –在NSSA的基础上,进一步拒绝3的LSA;

      生成一条3类缺省指向骨干区域;先将该区域配置为NSSA区域,然后仅在ABR上定义完全即可

    切记:

    考虑到ISP连接网络后,产生的缺省路由与OSPF特殊区域产生的缺省可能导致环路;

    ISP连接到的哪个区域,那么该区域不能设定为任何的特殊区域;

接口类型

网络类型接口封装OSPF工作方式(接口网络类型)
环回虽然查看为点到点工作方式,但实际没有hello包收发;环回默认传递为32位主机路由;
点到点串行PPP/HDLC点到点工作方式,hello time10s;自动建邻,不选DR/BDR
BMA以太网Broadcast工作方式,hello time 10s;自动建邻,DR/BDR
NBMAMGRE默认和普通GRE一样为点到点的工作方式 该方式仅允许两个节点,故多节点将无法正常通讯; 修改接口工作的方式可以进行解决;

注:若该NBMA网络工作在较小的网络环境下,建议修改为broadcast工作方式;

但若在较大的网络环境中工作,因为所有的数据库同步实际通过了tunnel传递,消耗大量的硬件和带宽资源,建议修改为点到多点工作方式:

  1. hello time 30s
  2. 不选DR/BDR
  3. 分支站点间不再进行LSA同步,所有路由的下一跳和LSA的学习全部指向中心站点;
  4. 管理员还需要将各个分支站点的路由条目进行汇总,最终减少整个网段的更新量;
  5. 还应该进行多中心站点的部署;

切记:在NBMA网络中,若使用broadcast工作方式,必须保证该网段所有设备定义的DR为同一台设备;

选路规则

  • 拓扑优于路由:1/2LSA计算所得路由优于3/4/5/7类计算所得
  • 内部优于外部: 3类优于4/5/7类
  • 类型1优于类型2:E1优于E2,N1优于N2,E1优于N2,N1优于E2;
  • E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
### OSPF 协议概述 开放最短路径优先 (Open Shortest Path First, OSPF) 是一种内部网关协议 (IGP),用于在单一自治系统 (AS) 内部路由数据包。它基于链路状态算法,能够动态计算最佳路径并适应网络拓扑的变化[^1]。 OSPF 的主要特点包括支持可变长度子网掩码 (VLSM) 和无类域间路由 (CIDR),以及通过区域划分来减少路由器内存占用和 CPU 使用率。这些特性使得 OSPF 成为大型企业网络的理想选择[^2]。 ### OSPF 配置示例 以下是 Cisco 路由器上配置基本 OSPF 的示例: ```cisco-ios router ospf 1 network 192.168.1.0 0.0.0.255 area 0 ``` 上述命令中的 `router ospf 1` 表示启动 OSPF 进程号为 1;`network 192.168.1.0 0.0.0.255 area 0` 声明了参与 OSPF网络地址及其对应的反向掩码,并将其分配到区域 0 中[^3]。 对于多区域的配置,则需指定不同的区域编号。例如,在另一个接口上启用 OSPF 并加入非零区域可以这样实现: ```cisco-ios interface GigabitEthernet0/1 ip address 172.16.1.1 255.255.255.0 router ospf 1 network 172.16.1.0 0.0.0.255 area 1 ``` 这里定义了一个新的 IP 地址范围属于区域 1[^4]。 ### OSPF 故障排查指南 当遇到 OSPF 网络无法正常工作的情况时,可以从以下几个方面入手分析问题所在: - **邻居关系建立失败**:检查两台设备之间是否存在物理连接错误或者 MTU 不匹配等问题。可以通过 show ip ospf neighbor 来查看当前邻居状态是否停留在 Init 或 Exstart 状态下[^5]。 - **认证不一致**:如果启用了 MD5 认证机制,则两端设置必须完全相同,否则会阻止邻接形成过程完成[^6]。 - **HELLO 时间间隔与 Dead Interval 参数差异**:确保所有相连节点上的 HELLO 定时器值及时失效时间保持同步,因为任何不同步都将阻碍正常的 adjacencies 形成[^7]。 #### 展示调试信息 利用以下命令可以帮助定位具体原因: ```cisco-ios debug ip ospf adjacency show ip protocols clear ip ospf process ``` 第一条指令开启实时跟踪新形成的邻接事件日志记录功能;第二条显示有关正在运行的各种路由协议的具体参数详情;第三条强制重新加载整个 OSPF 工作流程以便清除可能存在的缓存残留影响[^8]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值