目录
OSPF:开放式最短路径优先协议
一、数据包—5种基本数据包
二、OSPF的状态机
三、OSPF的工作过程
四、区域划分规则:
五、数据包
六、各类LSA:
七.OSPF 邻居状态机制
八.OSPF基本配置
OSPF三张表:
十、不规则区域:
十一、OSPF网络类型:
OSPF 认证: 链路认证、区域认证、虚链路认证
OSPF 路由控制:
特点:
无类别链路状态路由协议—组播更新协议:224.0.0.5/6
触发更新、周期更新(30min);跨层封装到网络层–协议号89
协议算法特点: 链路状态型路由协议,SPF算法
基于LSA更新导致更新量很大-----需要为中大型网络服务—周期的维护—结构化部署
结构化部署–区域划分、地址规划
使用范围:IGP
支持路由认证
支持手工汇总
支持区域划分
.OSPF 比较消耗设备资源,一个路由器上最多支持31个OSPF 进程
HELLO | 邻居的发现、建立、保活 |
DBD | 数据库描述包 – 数据库目录信息 |
LSR | 链路状态请求 |
LSU | 链路状态更新—携带各种LSA |
LSack | 链路状态确认 |
Down 本地一旦发出hello包,进入下一状态
Init初始化 本地接收到的hello包中若存在本地的RID,进入下一状态
2way双向通信 邻居关系建立标志
条件匹配 点到点网络直接进入下一状态;MA网络将进行DR/BDR选举(40S),
非DR/BDR间不能进入下一状态;
Exstart预启动 使用类hello 的DBD包进行主从关系选举,RID数值大为主,主优先进入 下一状态
Exchange准交换 使用真正的DBD进行数据库目录的共享,需要ACK;
Loading 加载 使用LSR/LSU/LSack来获取未知的LSA信息;
Full转发 邻接关系建立的标志;
启动配置完成后,本地收发hello包,建立邻居关系,生成邻居表;
再进行条件的匹配,匹配失败将停留于邻居关系,仅hello包周期保活即可;
匹配成功者间可以建立邻接(毗邻)关系,需要DBD共享数据库目录,LSR/LSU/LSack来获取未知的LSA信息,当收集完网络中所有的LSA后,生成数据表–LSDB
LSDB建立完成后,本地基于SPF选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;完成收敛,
收敛完成后–hello包周期保活 30min周期的DBD比对,若不一致将使用LSR/LSU/LSack重新获取
结构突变:
1、新增网段—直连新增网段的设备使用DBD告知邻居,邻居再使用LSR/LSU/LSack来获取
2、断开网段—直连断开网段的设备使用DBD告知邻居,邻居再使用LSR/LSU/LSack来获取
3、无法沟通—dead time 计时到后,邻居关系断开,删除所有从该邻接处学习到的所有LSA信息;
LSA链路状态通告–在不同条件下产生不同的拓扑或路由信息,被分为各种类别;
LSDB链路状态数据库–所有的LSA的集合
OSPF收敛LSA洪泛 LSDB同步
全网唯一;手工;环回接口上最大数值的ip地址;物理接口最大数值;无进程
宣告:1、激活 2、拓扑 3、区域划分
1、星型结构------所有非骨干必须直连到骨干区域 区域0为骨干 大于0为非骨干
2、ABR–区域边界路由器
区域划分的意义: 1.减少LSA的数量 2.减少LSA的传播范围
区域的划分是基于接口的(链路的)
区域的标记:使用了32个二进制 1.十进制 2.类似于IP地址 A.B.C.D
区域的分类:
骨干区域: 区域标记为0或0.0.0.0
非骨干区域:区域标记不等于0或0.0.0.0
区域设计原则: 向日葵型网络结构
1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
OSPF中路由器的角色:
骨干路由器:
非骨干路由器:
ABR:区域边界路由器,能够产生3类LSA的路由器
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器
邻居间hello包中必须有4个参数完成一致,否则无法建立邻居关系:
1、hello 和dead time
2、区域ID
3、认证字段
4、末梢区域标记
启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表:
Hello包:用于邻居的发现、关系的建立和保活
Hello :DBD LSR LSU LSACK
hello: 周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)
目的:建立并维持OSPF 邻居关系(邻居关系建立之后重当保活包功能)
发Hello包,down状态到init(初始化)状态
Hello包目标地址224.0.0.5,所有运行OSPF的路由器都会监听的组播地址,(本地链路组播)
Ttl值为1
Network Mask:发出数据包的接口的网络掩码;
Hello Interval:接口上发送的Hello包的时间间隔,默认BMA和P2P网络为10S,NBMA网络中是30S;
Options:DN—位MPLS VPN使用,O位—用于Opaque LSA,DC—需按链路上使用,L—接受和转发具有外部属性的LSA的能力,N—是否支持NSSA LSA,MC—MOSPF中使用,E—是否支持五类LSA,MT—MT-OSPF中使用;
Router Priority:接口优先级,用于选举DR/BDR,默认为1;
Router Dead Interval:死亡时间,默认为Hello时间的4倍;
Designated Router:MA网络中DR接口的IP地址,若不存在则为0.0.0.0;
Backup Designated Router:MA网络中的BDR接口的IP地址,若不存在则为0.0.0.0;
Active Neighbor:发出路由器的所有有效邻居的Router-ID
DBD数据包
首部中Type字段为1
功能:描述数据库的目录信息
DBD包:exstart和exchange均出现; exstart状态时,没有携带目录信息,
仅用于主从关系选举;
1、DBD包中携带MTU,强制要求邻接间MTU值必须一致,否则将卡在该状态
2、在exstart状态的DBD时,使用隐型确认;—基于序列号
从使用主的DBD序号来确认主的信息
3、标记位 I 为1标识本地发出的第一个DBD 包
M为0标识本地的发出最后一个DBD包
MS为1标识主,为0标识从
当LSDB同步完成后,本地基于数据库最短选路规则,计算到达所有未知网段的最短路径,然后将其加载到路由表中:
Interface MTU:发送DBD包的路由器接口的MTU值;
Options:同Hello包的Options;
DB Description:Init(I)—发送第一个DBD时置为1,后续为0;More(M)—发送不是最后一个DBD包时置为1,最后一个DBD包置为0;Master(M)—置为1代表时Mater路由器,为0代表是Slave路由器;
DD Sequence:DBD包的序列号;
LSR数据包
首部中Type字段为3
功能:请求在DBD交换过程中发现的本路由器中没有的或已过时的LSA包细节
链路状态请求数据包时OSPF数据包的第3种类型,在部分路由数据库信息“遗失”或“过时”的情况下发送。LSR数据包用来重新取回“遗失”的路由数据库中的精确信息。DBD交换过程完毕后,邻居双方(主/从路由器)还会互发LSR数据包,请求对方发送DBD交换过程中通告过的LSA。
LS Type:指出LSA的类型;
Link State ID:LSA描述的内容
Advertising Router:包含生成LSA的路由器的Router-ID。
LSU数据包
首部中Type字段为4
功能:用于LSA的洪泛和响应LSR
链路状态更新数据包是OSPF数据包第4种类型,OSPF路由器会发此类数据包来实施LSA的泛洪。单个LSU数据包内会包含多条LSA。OSPF路由器也会发送LSU数据包,来回应(邻居路由器发出的)LSU数据包。以泛洪方式发出的LSA由LSA确认数据包进行确认。只要有一条未经确认的LSA,(OSPF路由器就会)每隔重传间隔时间重传一次。
LSA:1.LSA 类型 2.link-ID 链路标识符 3.ADV router 产生路由器
Number of LSAs:数据包内的LSA的数量;
LSA:携带的LSA;
LSAck数据包
首部中Type字段为5
功能:对LSU的确认
链路状态确认数据包是OSPF数据包的第5种类型,用来对每条LSA进行确认。OSPF路由器也会发送LSack数据包,来应答LSU数据包。可用单个LSack数据包一次性确认收到的多条LSA。LSack数据包负责LSU数据包的可靠传输。
链路状态确认数据包以组播的方式发送。若(发送LSack数据包的)路由器为DR/BDR,则IP包头的组播目的IP地址为224.0.0.5(所有SPF路由器地址)。否则,LSack数据包IP包头的组播目的IP地址为226.0.0.6(DR/BDR地址)。
包内是确认的LSA;
1类LSA:router -LSA
功能: 产生本路由器针对某个区域的路由信息和拓信息
传播范围:本区域内传输
Link ID : 产生者的router-id
ADV router: 产生者的router-id
特性: 在单个区域中分别产生一条1类LSA,若存在MA网络,1类LSA不完整,需要配合二类
LSA生成路由信息以及拓扑信息。
1类LSA 内容类型: 1.stubnet(末节网络) 2.transnet(传输网络 仅限于MA网络) 3.point[1]to-point 4.virtual link (虚链路)
2类LSA ,network LSA ,网络LSA
功能: 用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
Link ID:DR接口的IP地址
ADV router:DR所在路由器的router-ID
特性: 只会出现在MA网络,用于补充1类LSA(1.MA网络的掩码 2.MA网络路由器的数量)
3类LSA :summary LSA 汇总LSA
功能:用于在区域之间传递路由信息
link-id :传递路由的网络号
ADV router:默认为所在区域ABR的router-id
特性: 在穿越不同区域时,有其他的ABR重新产生(ADV router 是变化的)
4类LSA: summary ASBR LSA
功能:除了产生5类LSA所在区域,用于通告ASBR位置
Link id:ASBR的router-id
ADV router: 默认ASBR所在区域的ABR的 router-id
特点:在穿越不同区域时,有新的ABR重新产生。(与3类LSA一致)
5类LSA: 外部LSA
功能: 用于在整个OSPF中传递外部路由(原本不属于OSPF域)
5类LSA有两种类型: 类型1 类型2(区别:)
Link id :传递外部路由的网络号
ADV router : 产生该LSA的 router-id
传播范围:在整个OSPF域中传输
7类LSA : NSSA LSA
功能: 在NSSA区域中,传递外部路由。
Link id :传递路由网络号
ADV router:产生该LSA的 router-id
特性:默认为类型2 ,度量值为1 。 携带了FA地址(转发地址)
FA: 转发地址,当5类或7类LSA中携带了FA地址,则计算路径开销值时计算的是当前路由器到达FA地址的开销值之和+种子度量值。(若FA地址不可达,则路由不能加表)
FA 地址:
1.默认7类LSA 产生FA地址,5类LSA不产生的(7转5 的5类LSA 携带FA地址 )
2.7类LSA 产生规则:默认产生的FA地址为产生7类LSA 的ASBR 最大的环回接口地址 ;若连接
其他协议的接口也运行了OSPF协议,网络类型为BMA,则产生的7类LSA中FA地址为连接其他
接口对应的下一跳地址;若网络类型为P2P,则FA地址依然为环回接口中IP地址最大的
3.5类LSA FA地址规则: 默认不产生,若连接其他协议的接口运行了OSPF 协议并且网络类型为BMA则FA地址为重发布之前路由的下一跳地址,若网络类型为P2P,则不会产生FA地址。
Ls age : 1073
seq# : 80000006
chksum : 0x9dca
组步调计时器:默认5分钟。
LSA中存在3个参数用于LSA的新旧比较:3600s的LSA 都是最优的.
1.序列号
2.校验和
3.LSA老化时间(若以上都相同,LSA age 之差小于15 ,越小越有,若大于15分钟,则无法比较 认为都是最新的。)
数据链路层面: 针对不同的物理链路定义不同的封装
局域网封装: Ethernet 2,IEEE802.3
广域网封装: PPP HDLC FR ATM
HDLC: 高级数据链路控制协议,默认思科的串行链路封装为HDLC,分为工业
标准的HDLC和思科私有的HDLC,两者不同通用,思科私有的HDLC中加入一- 些
控制字符,识别上层协议,已经三层的传输方式
定义接口封装为HDLC :
PPP:点对 点封装协议,华为串行链路默认封装为PP,PPP链路 需要建立一
条端到端的链路,PPP 会话建立分为: 1.LCP 2.PP认证3.NCP
LCP:链路控制协议,通过发送LCP数据进行物理链路和封装的确认
PPP认证:增加PPP会话的安全性,PAPCHAP
NCP:网络控制协议,通过发送NCP针对上层协议进行封装,IPCP 协商,在
NCP协商过程中,会自动将自己本端IP地址以路由方式发送给对方,当PPP会
话建立之后,会产生到达对方接口IP地址的32位主机路由
PAP : 密码认证协议,是一种一次性的简单的明文认证
CHAP :质检挑战握手认证协议,通过三次握手的方式进行安全的MD5认证 , 在认证过程中需要发送挑战信息(类似HMAC 密钥化哈希)。
Down、 init 、 attempt(过渡) 、 two-way 、 exstart 、 exchange 、loading 、full
Init ---初始化状态,一旦开始发送hello报文,进入初始化状态。
Two-way---双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报文。
邻居关系建立条件:
1.router-id 必须不同
2.area ID 相同
3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据
4.hello时间,dead时间
5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)
6.MA网络中,网络掩码必须一致
7.必须同时使用单播或组播更新
8.更新源检测(双方的IP地址必须在同一网段)
邻居状态下(two-way): MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)
2.比较各自的router-id,越大越优
注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围0-255,数字为0代表不参与选举 4.先 选举BDR ,再升级为DR
主从选举:发生在exstart状态, 通过双方的router-id进行比较,router-id大的一方为主。 发送的 主从选举DBD,DBD中包含了MTU值(默认思科直接启用,华为中默认不包含MTU,可以使用命令 激活传递MTU值的功能,若双方的MTU值不值则卡在exstart 状态)。
Exstart---预启动状态,一旦开始发送主从DBD,则进入预启动状态。
Exchange ---预交换,主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR 数据包。(但是没有LSU)
Loading ---加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习。
Full ---邻接状态。双方LSA同步(双方LSA全部学习)
启用OSPF 并指定router-id
Router-id : 路由器标识符,用于标识本路由器在OSPF网络中的唯一性
OSPF router-id 选举规则:1.手工指定最优先 2.选举所有逻辑中IP地址最大的 3.选举所有物理接口IP 地址最大的
华为中: 若以上三点都不满足,则可以创建router-id 为0.0.0.0 ;在使用逻辑或物理接口IP地址时, 接口可以是关闭状态;若一台路由器启用了多个OSPF进程,不同进程可以使用相同的router-id(不 推荐);
思科中:若以上三点都不满足,则无法启用OSPF;在使用逻辑或物理接口时,接口必须双 up ,该 接口可以不通过在OSPF中;同一路由器上多个OSPF进程必须router-id必须不同;
全局模式下可以选择针对所有的OSPF进程修改router-id ;(若同时在接口部署时,接口优先生效)
查看:
Network通告:
1.
2.必须先创建OSPF 进程并开启需用使用的区域ID,再进入接口启用:
激活DBD中携带MTU值功能:
修改接口MTU值: (同时修改3层和2层的MTU值)
查看二层接口信息:
查看三层信息:
1.OSPF 邻居表
查看OSPF邻居表:
查看OSPF邻居表的摘要信息:
2.LSDB表(链路状态数据库)
查看LSBD的摘要信息:
查看LSDB详细信息:
3.OSPF 路由表
1.存在多个area 0 2.非骨干没有直接挂靠在骨干区 域之上
解决办法:
1.OSPF 双进程重发布
2.virtual link ---虚链路
注意: 1.虚链路只能穿越一个区域 2.穿越的区域不能为特殊区域 3.虚链路的两端必须至少存在一个ABR 4.虚链路属于area 0
支持虚链路认证: 明文认证 MD5 认证
特性:
1.虚链路默认的网络类型为Virtual
2.hello时间10s dead时间40s ,自动建立邻居,不选举DR
查看:
3.Tunnel 隧道方式
创建GRE 隧道:
查看 :
测试:
将隧道接口激活在OSPF 的area 0 或 非骨干上
OSPF 100
查看 :
查看:
1.P2P
2.BMA---广播多路访问网络
3.NBMA---非广播型多路访问网络
4.P2MP
1.P2P
物理接口:HDLC(高级数据链路控制协议) PPP (点对点协议) GRE MGRE FR点对点子接口
hello时间:10s
是否选举DR:不选举
是否自动建立邻居:自动建立
特性:
2.BMA----广播型多路访问
物理接口:以太网
hello时间:10 s
是否选举DR:选举
是否自动建立邻居:是
特性:产生的1类LSA不完整,需要2类LSA补充
3.NBMA
物理接口:FR-帧中继(物理接口、多点子接口) ATM-异步传输网络
hello时间:30s
是否选举DR:选举DR
网络部署类型:1.full-mesh 2.part-mesh 3.hub-spoke
4.P2MP
物理接口:无
hello时间:30s
是否选举DR:不选举
是否自动建立邻居:自动
特点:将物理接口IP地址以32位主机路由的形式传递进入OSPF
1.链路认证
2.区域认证
查看 :
默认: 1 3 类LSA AD值为10 ,5类 7类 LSA AD值为150
修改AD值:
1.OSPF 进程直接修改AD值,仅仅针对 1 3 类LSA。
2.修改5 7类LSA AD值
查看:
3.修改metric (cost)
a.修改参考带宽:
查看:
2.修改接口cost值
查看: