6-30网络学习笔记
OSPF
静态路由:小型网络,网络出口
OSPF 用在大型网络
OSPF 开放式最短路径优先OSPF
1.链路状态的 2.内部网关
链路状态:感知网络状态,自动选择最优路径
内部网关:仅仅在内部网络使用
外部网关
原理
1.当路由器运行了OSPF协议后,建立邻居关系,hello数据包,建立邻居表
2.通过LSA(链路状态通告)泛洪更新LSDB(链路状态数据库),建立LSDB表
3.通过算法得出路由表
Hello报文 建立邻居关系
DD (Database Description)报文 路由器表述自己的信息 LSA (链路状态宣告)
LSR 链路状态请求(Link State Request)报文 LSR 请求信息(请求的是简略信息)
LSU (Link State Update)报文 LSU (更新的是详细的信息)
LSACK ( Link State Acknowledgment)报文 确认报文
OSPF的配置
首选进入OSPF
OSPF区域 OSPF有两种区域,骨干区域,非骨干区域
当区域为0那么叫做骨干区域,当区域不等于0叫做非骨干区域
如果建立邻居关系,两个区域号必须相同
作宣告 网段+反掩码 network 10.1.1.0 0.0.0.255
255.255.255.255 - 255.255.255.0=0.0.0.255
hello包结构
当运行了OSPF并宣告,立即发送hello包
hello包发送的目的地址为224.0.0.5
好处:1.只有运行了OSPF协议才能接收
2.优化网络,减少带宽消耗
OSPF包:ospf头部和hello包
hello包结构:
1.network mask 子网掩码
2.hello interval 发送hello时间 10s
3.dead interval 40s
4.router priority 默认情况下是1 范围在0-255
系统视图下面 OSPF 就进入了协议视图
配置OSPF时候,需要有进程号以及router-id,也可以省略,一般不建议省略。如果省略会自动分配
建立邻居的规则
1.区域要一致 area
2.掩码要相同
3.相邻路由器的router-id不能相同
构建邻居,宣告网络,宣告的是直连路由
OSPF邻居状态机
Down 进程未启动,OSPF还未启动
Init 初始化状态,就是发送hello包
2-way 看到了,就说明进入了邻居状态,在对方发送的hello包里看到自己的router-id就代表进入了2-way状态
发送hello包 init 2-way
Exstart 描述自己的数据库(lsdb),主从选举,进行隐式确认,从DD报文开
在DD报文里面,有三个字段,I,M,MS
I:是否第一个DD报文
M:后面有无DD报文
MS:主从位,当MS=1代表自己是主,0代表自己从。
主从选举规则
根据router-id比较,越大为主,越小为从。
隐式确认,除了第一个DD报文发送不同的DD sequence 接下来序列号使用主序列号。
主要原因,OSPF封装在网络层,TCP三次握手有确认机制,网络层没有确认机制
exstart状态,发送的是DD报文,仅仅是主从选举,空报文。
Exchange 交互DD报文里面LSA,当DD报文里携带了LSA信息,表示进入了exchange状态
Loading 主要进行 LSR LSU LSACK
FULL 邻接状态,LSDB更新完毕
DR 指定路由器
BDR 备份指定路由器
BR和BDR 和其他的路由器建立邻接关系
DR other 和其他路由器建立邻居关系
DR与BDR的选举规则
1.根据优先级进行选举,优先级越大越优
2.优先级相同比较router-id 越大越优
3.采用非抢占原则,即使有更高优先级的路由器加入到网络中,也不会取代现有的DR,除非重启 OSPF,才会重新选举
如果DR other出现一个新的网段 1.1.1.1/32
1.当DR other更新路由的时候,向224.0.0.6发送LSU
OSPF使用两个组播地址
224.0.0.6 只有DR和BDR监听
224.0.0.5 所有的路由器都能监听
2.当DR收到更新之后,通过224.0.0.5将更新的信息发送给其他的DR other
3.DR other收到DR发送的更新,通过224.0.0.6来去确认
OSPD支持的类型有广播类型和点对点类型
广播类型(MA) 10 40
点对点类型 10 40
非广播多路访问(NBMA)30 120
点到多点 30 120
COST值是路由传递方向入站
接口开销=带宽参考值(默认情况下为100M)/带宽 E带宽100M