OSPF:开放式最短路径优先 pre=10
IGP中的链路状态路由协议
特点:扩展性强、收敛速度快,适用于多变的网络,无环路。
数据包基于IP封装,端口号:89
配置方法:
1.network 192.168.1.0 0.0.0.255 //网段宣告
2.network 192.168.1.1 0.0.0.0 //精确宣告
3.inter g0/0/1
ospf enable 1 area 0 //接口宣告
1.ospf工作原理
- 通过发送hello数据报文建立邻居关系 --- 发送 hello报文
- 泛红LSA(链路状态通告),形成同一的LSDB (链路状态数据库) ---发送 DBD、LSR、LSU、LSACK
- 以自身为起点,通过SPF算法算出最优路径
2.OSPF数据报文
- Hello:建立、维持邻居关系(周期性发送10s/40s),选举DR/BDR。224.0.0.5
字段
1.OSPF Header(OSPF头部):
OSPF version:版本
Message Type:消息类型
Packet Length:数据包长度
Source OSPF Router:自己的router id
Area ID:区域ID
Packet Checksum:校验和
Auth Type:认证类型
Auth Data:认证类型
2.OSPF Hello Packet (OSPF hello数据包):
Network Mask:子网掩码
hello interval:hello时间
Options(选项字段):
Router Priority:路由器优先级
Router Dead Interval:死亡时间
Designated Router:指定路由器;作用防止LSA过度泛红
Backup Designated Router:备份指定路由器
Active Neighbor:活动邻居的router id
- DBD(数据库描述报文):描述自己的LSDB有哪些LSA;选举主从(RID大的为主,小的为从),确定序列号,确保数据可靠性;携带是LSA的头部信息。
字段:
1.ospf 头部
2.DBD内容:
Interface mtu:最大传输单元
Options(选项字段):
DB Description:置位字段(I(是否是第一个DBD报文,“1”是第一个),M(是否 是最后一个DBD报文,“0”是最后一个),MS(是否是主路由器))
DD Sequence:序列号
- LSR(链路状态请求):Link state Request 请求需要的LSA信息 携带少量的LSA头部信息
- LSU(链路状态更新):Link state update 发送LSA的详细信息给邻居(详细的链路状态信息:网段信息) 携带完整的LSA
1.OSPF头部
2.LSU信息:存放完整的LSA
LSA的头部:
Link State ID:链路状态ID --- 标识该条LSA
Link-State Advertisement Type:LSA类型 --- 标识这条LSA属于几类
Advertising Router:通告路由器 --- 发送LSA的路由器标识
LS Age:标识LSA新旧 --- 最大值3600s/1800s更新一次
LS Sequence Number:序列号
LS Checksum:校验和
Length:长度
- LSACK(链路状态确认):对收到的LSA做确认 携带完整的LSA头部
3.DR/BDR
- 什么环境下需要选举DR/BDR?
MA(多路访问的环境:当数据报文发出,可能有多个接收者),广播网络
- 为什么选DR/BDR?
选DR:减少了Full数量,减少LSA交互,节省资源
选举BDR:DR的备份
选举原则:
- 接口优先级:非0(为0放弃选举),优先级最大DR,次之BDR
- 优先级一样,比较Router-ID。RID最大DR,次之BDR
- DR和BDR、DRother建立Full,需要主从关系
- DRother之间2-way,不需要选举主从
修改优先级:
在接口模式下:
ospf dr-priority
DR不可被抢占,DR选举是有时间的。
4.建立邻居关系的前提条件
- router-id 必须唯一
- Area ID必须一致
- 认证类型/数据必须一致
- 子网掩码必须一致
- hello时间和死亡时间必须一致
- options必须一致
5.邻居状态机
- Down:初始状态,刚启动OSPF的时候,还没有收到对方的Hello报文
- Init:收到了对方的Hello报文,但收到的报文中不包含自己
- Attempt:NBMA,现网看不到,不需要研究。
- 2-way:收到了对方的Hello报文,收到的报文中包含自己,邻居关系建立,完成DR/BDR的选举
- Exstart:发送空的DBD报文(不带LSA头部信息)选举主从路由器(比较router-id),确定序列号,保证DBD可靠
- Exchange:进行真实的DBD(带LSA头部信息)报文的交互,可能同时有LSA更新的交互
- loading:发送LSR、LSU
- Full:LSA交互完成 邻接状态
6.OSPF的cost计算方式
- 开销 = 路由入方向接口开销之和
- 接口开销 = 参考带宽(100M) / 接口带宽
修改参考带宽:bandwidth-reference <1-2147483648>
7.LSA分类:
- 一类LSA:Router 每台路由器都会发送一条一类LSA
Link State ID(链路状态ID):router-id
Link-State Advertisement Type(LSA类型):router
Advertising Router(通告路由器):自己的router-id
------------------------------------------------------------------------------------------------
Link type(链路类型):transent 传输网络
Link id(链路ID):DR的接口ip
Link data(链路数据):自己的接口ip
------------------------------------------------------------------------------------------------
Link type(链路类型):stubnet 末节网路
Link id(链路ID):网络地址
Link data(链路数据):子网掩码
------------------------------------------------------------------------------------------------
Link type(链路类型):P2P 点到点
Link id(链路ID):对端的router-id
Link data(链路数据):本端的接口id
作用:描述每台路由器的链路信息
- 二类LSA:Network
LS ID:DR的接口IP
Adv rtr:DR
------------------------------------------------------------------------------------------------
Net mask:掩码
路由器列表
作用:描述广播环境中的掩码和路由器
一类LSA、二类LSA完成域内拓扑计算
- 三类LSA:Summary-Network (具有距离矢量特性)
LS ID:网络地址
Adv rtr:ABR
------------------------------------------------------------------------------------------------
子网掩码
Metric 度量
作用:描述域间路由信息
ABR不会学习从非骨干区域传来的三类LSA
- 四类LSA:ASBR-summary
LS ID:ASBR的router-id
Adv rtr:ABR
作用:描述ASBR的位置
- 五类LSA:AS-External
LS ID:网络地址
Adv rtr:ASBR
------------------------------------------------------------------------------------------------
子网掩码
Metric 度量
E type = 2 取值为 1 、2 (默认为2)
为2时:只计算外部开销
为1时:计算到达ASBR的开销+外部开销
Forwarding Address(转发地址):解决次优路径
Tag
四类LSA和五类LSA用来完成域外路由。
- 七类LSA:nssa
LS ID:网络地址
Adv rtr:ASBR
------------------------------------------------------------------------------------------------
子网掩码
Metric 度量
E type = 2
Forwarding Address(转发地址):解决次优路径
Tag
路由引入:
在OSPF中引入RIP:
[R1-ospf-1]import-route rip
在RIP中引入OSPF:
[R1-rip-1]import-route ospf 1
O_ASE:ospf自治系统外部路由 pre=150
路由聚合:
[R2-ospf-1-area-0.0.0.1]abr-summary IP_ADDR<X.X.X.X> IP address //三类LSA聚合
[R1-ospf-1]asbr-summary IP_ADDR<X.X.X.X> //五类LSA聚合
引入直连:
[R1-ospf-1]import-route direct
8.OSPF特殊区域
- Stub区域(末节区域) 配置:stub
不接收四类、五类LSA,ABR会自动下发一条三类的缺省
- Totally Stub (完全末节区域) 配置:在ABR路由器上 stub-no summary
不接收三类、四类、五类LSA,ABR会自动下发一条三类的缺省
- NSSA (次末节) 配置:nssa
不接受其他区域传来的五类LSA,ABR会自动下发一条七类的缺省,自己区域的 ASBR通告的五类将会变成七类在NSSA区域内传递。
- Totally NSSA (完全次末节)配置:nssa no-summary
不接受其他区域传来的三类、四类、五类LSA,ABR会自动下发一条三类和一条七 类的缺省,自己区域的ASBR通告的五类将会变成七类在NSSA区域内传递
虚连接:v-link
9.OSPF网络类型:
- broadcast:BMA 广播类型 --- 底层链路:以太网,选举DR/BDR;Hello时间:10s/40s
- P2P:点到点 --- 底层链路:PPP、HDLC;不选举DR;Hello时间:10s/40s
- P2MP:点到多点 --- 底层链路:手动指定(一般在FR);不选举DR;Hello时间:30s/120s
- NBMA:非广播多路访问 --- 底层链路:FR;手动指定邻居;选举DR;Hello时间:30s/120s