前言:越往后学越发现网络基础的重要性!掌握好网络的底层原理至关重要!更新一个ospf协议的详解!
因为笔记我记在Onenote上了,所以有的是图片,原谅我偷个小懒 ^ - ^
Wireshark很好用,能更好的理解!汉化版的可以看我主页!
1.它是啥?:
ospf使用组播(224.0.0.5和224.0.0.6) 收敛较快 以开销作为度量值 使用SPF算法可以有效避免环路 触发式更新(30分钟发送定期更新,被称为链路泛洪) 区域设计使OSPF能支持更大规模的网络 通过LSA(链路状态)形式发布路由 不支持自动汇总,支持手动汇总 OSPF直接运行在IP协议之上,使用IP协议号89。
2.它是咋工作的?:
1、发现并建立邻居 2、传播LSA(区别于距离矢量的路由表更新) a、Link stat Advertisement,链路状态宣告(路况信息) b、链路:路由器接口 c、状态:描述接口信息(地址、掩码、开销、网络类型、邻居关系等) 3、将LSA泛洪到区域中的所有OSPF路由器,而不仅是直连的路由器 4、收集LSA创建LSDB(链路状态数据库、地图) 5、使用SPF算法计算到每个目标网络的最短距离,并将其置于路由表中
记住三张表 ospf三张表: 邻居表 记录所有邻居关系 链路状态数据库 记录所有链路状态信息 路由表 记录最佳路由
3. 一个小概念:
运行ospf之前必须选取一个RID 用来标识一台ospf路由器 RID可以手动配置,也可以自动生成 选取规则: 1、手动配置 2、活动回环接口上选取IP地址最高的 3、活动物理接口上选取IP地址最高的 PS:RID选举具有非抢占性,除非重启OSPF进程
4. 它的类型都有啥?:
Hello 建立并维护邻居关系 DBD(Database Description) LSDB摘要(仅含LSA头部) LSR(Link State Request)请求LSA LSU(Link State Update)发送LSA LSACK(Link State Acknowledgment)对LSU确认
图文讲解5类数据包:
1、简单模拟ospf过程,用抓包工具进行分析!
5. 它的邻居状态?:
邻居和邻接关系建立的过程如下:
Down:这是邻居的初始状态,表示没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。
Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。
2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。
Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
Loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。
Full:路由器的LSDB已经同步。
6.怎么建立邻居关系呢?
7.老大和老二(DR和BDR)
8.来个综合