目录
RIP的弊端
1.传输的是整张路由表----学习--计算路由--传输--收敛效率慢!
2.学习的信息是通过传闻的方式,不了解全局网络
3.选路的时候是以跳数为度量值----存在次优路径选择
一.OSPF工作过程
1.建立邻居
2.同步数据库
3.计算路由
运行OSPF路由器的身份标识:RID
---手工配置:在启动协议的时候,指定设备名字
自动选择:如果配置loopback接口,接口IP地址最大的作为RID
如果没有配置loopback接口,那么选择物理接口IP地址最大的作为RID
----------------------------------------------
1.建立邻居关系
---hello报文
影响邻居关系建立因素:
OSPF头部信息:
1.RIP必须不同
2.区域必须相同
3.认证必须相同(认证类型、密码)
hello包信息
1.子网掩码必须相同(点到点除外)
2.hello时间必须相同
3.dead时间必须相同
4.router优先级不能全为0(点到点除外)
5.特殊标记位必须相同
2.OSPF邻居建立过程 ----状态
down-----没有邻居状态
int-----没有初始化状态,收到了邻居发来的信息,但是邻居没有收到自己的信息
2-way----邻居状态,双向通信,彼此都知道对方
3.LSDB同步状态
---exstart 交换初始化 发送第一个DD报文,目的确定设备的主从关系,通过对比DD报文里面的 RID,确定主从关系,RID大的为主设备
DD报文: i=1,说明当前是第一个DD报文
M=1 说明后边还有很多DD报文
MS=1 说明此设备是主设备
---exchange 交换状态 交换的是DD报文,从设备发现主设备里面的DD报文有本设备没有的内 容,开始请求交换
----loading 加载状态 加载的是在对端数据库里面存在的信息,本端没有的内容,通过LSR、 LSU、LSACK报文进行加载
---full完全同步状态(邻接)
邻居和邻接状态的区别:
邻居状态数据库没有同步,只是相互认识了,邻接状态是已经同步了数据库
224.0.0.5向邻居发送信息用到的组播地址,每一个启用OSPF的设备都使用此组播地址
224.0.0.6
接口IP及掩码
链路状态信息----接口信息
链路类型
邻居路由器信息
链路带宽
4.网络类型:
1、P2P类型(Point-to-Point)
·当链路层协议是PPP、HDLC时,OSPF会认为网络类型是P2P。·
报文发送地址:以组播(224.0.0.5)发送所有OSPF报文。·
不需要进行DR、BDR选举
. Hello: 10秒; Dead: 40秒
当OSPF接口的网络类型为P2P的时候只能建立一个OSPF邻居。(广播型修改成P2P后也是一样)
2、P2MP类型(Point-to-Multipoint)
·没有任何一种链路层协议被认为是P2MP类型,P2MP是认为手动配置的。
·报文发送地址:以组播(224.0.0.5)发送Hello报文。
单播发送DD、LSR、LSU、LSACK。·不需要进行DR、BDR选举
. Hello: 30秒;Dead: 120秒
3、NBMA类型(Non-Broadcast Multi-Access)
·当链路层协议是帧中继和ATM/FR时,OSPF会认为网络类型为NBMA网络。·报文发送地址:单播发送所有HELLO、DD、LSR、LSU、LSACK。
·需要进行DR、BDR选举
. Hello:30秒;Dead: 120秒
4、广播类型(Broadcast)
当链路层协议是以太网的时候,OSPF会认为网络类型为Broadcast
He1lo: (10秒;Dead:40秒)
广播类型网络用到两个组播地址,224.0.0.5和224.0.0.6。
·所有设备使用单播形式交互DD报文以及LSR报文。
·所有设备固定使用组播(224.0.0.5)交互HELLO报文。
LSU和LSACK的发送地址根据路由器角色有所变化以下将一一列出:
DRother: DRother产生的LSU通过224.0.0.6发送给DR和BDR;DR通过224.0.0.5发送给其他的DRoher和BDR;DRother收到DR的LSU之后通过224.0.0.6发送ACK确认,BDR收到DR的LSU之后通过组播地址224.0.0.5发送ACK向DR确认。
DR:DR产生的LSU通过224.0.0.5发送给其他DRother和BDR;BDR收到之后通过224.0.0.5发送ACK向DR进行确认;DRother收到之后通过224.0.0.6发送ACK向DR确认。
BDR:BDR产生的LSU通过224.0.0.5发送给其他的DRother和DR,DR收到之后通过224.0.0.5发送ACK向BDR确认,DRother收到之后通过224.0.0.6发送ACK向BDR确认。
DR和BDR同时监听224.0.0.5和224.0.0.6两个组播地址,drother只监听在224.0.0.5。需要注意一点在初次建立邻居的时候会产生LSR报文,而LSR是单播发送的报文,在广播网络类型中中无论是DR, BDR还是DRother只要收到了LSR之后,都会以单播的形式发送LSU更新。ACK则正常发送。
DR与BDR的区别在于DR收到DRother的LSU则泛洪,BDR不做任何相应。
OSPF基于IP封装,协议号89
RIP基于UDP,端口号520
5.报文类型
hello报文---建立和维护邻居关系
DD报文---发送数据库简要信息
LSR---链路状态请求报文,当本地设备的DD报文和对端设备DD报文发送之后,发送对端设备信息,我设备有的信息没有,这个时候就需要向对端请求,对端就会发送LSU报文
LSU报文----收到LSR后,发送更新信息给对端设备,用LSU报文发送
LSACK报文---收到LSU之后,用LSACK确认
6.DR和BDR的选举
--------------广播型网络和NBMA
DR和BDR是接口的概念
规则:对比DR优先级,大的作为DR
优先级相同,对比RID,RID大的作为DR,次大的为BDR
DR和BDR是邻接关系,DR或BDR与DRother是邻接关系
DRother之间是邻居关系
默认没有开启抢占功能
7.OSPF的度量方式
某接口cost=参考带宽/实际带宽(参考带宽默认为100)
修改参考带宽所有路由器都得修改,确保选路一致性
二.LSA类型:1/2/3/4/5/7
如何判断一个唯一的LSA呢?使用LSA的三要素:
1、LSA的类型:Type
2、LSA的链路状态ID:Link state ID
3、LSA的通告者:Adv Router
如何判断LSA的新旧状态呢?
1、首先比较的就是LSA的序列号,初始值为ex80000001,每次osPF更新的时候都会+1。
2.当序列号相同,将会比较校验和,越大越优
3、当校验和相同,将会比较LSA的age时间:
首先age等于3600的LSA,用于删除一条LSA
如果两条LSA的age时间相差大于900s,将会选择age数值小的LSA。
如果两条LSA的age时间相差小于900s,将会认为相同,保持原有不变。
OSPF的更新机制:
触发更新:当链路状态发生改变之后OSPF将会触发更新,比如cosT变了,网段变了掩码变了,取消宣告。
周期更新:每个oSPF路由器自身产生的LSA&#x