OSPF 邻居状态机制
Down、 init 、 attempt(过渡) 、 two-way 、 exstart 、 exchange 、loading 、full
hello: 周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)
目的:建立并维持OSPF 邻居关系(邻居关系建立之后重当保活包功能)
DBD:数据库描述数据包;
1.主从选举DBD: 比较双方的router-id ,router-id大的一方为主(master ),小的一方为从(slave);主用于控制LSA的交互
OSPF: 开放式最短路径优先协议 V1/V2/V3 V3为IPv6使用
无类别链路状态路由协议 更新量大,所以需要结构化部署 区域划分 地址规划
触发更新,30min周期更新;组播更新地址 224.0.0.5(任意路由器都能发)和224.0.0.6(只有DR BDR能收到)
OSPF的更新方式是组播和单播 HELLO包是周期性发送 DBD是隐式确认
OSPF中路由器的角色:
骨干路由器:0
非骨干路由器:其他数字
ABR:区域边界路由器,能够产生3类LSA的路由器 连接骨干区域跟非骨干区域的路由器
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器
LSA: 链路状态通告–具体的一条一条拓扑或路由信息
LSDB: 链路状态数据库 本地所有LSA的集合
一、OSPF的数据包类型
Hello: 发现、建立、周期保活邻居关系
DBD: 数据库描述
LSR: 链路状态请求
LSU: 链路状态更新 携带各种LSA
LSack: 链路状态确认
LSA: 链路状态通告–具体的一条一条拓扑或路由信息
LSDB: 链路状态数据库 本地所有LSA的集合
二、OSPF邻居状态机制
两台直连的OSPF邻居路由器之间,双方不同阶段的关系,为不同的状态
Down: 一旦本地发出Hello包,进入下一状态
Init: 初始化 R1收到R2的Hello包中存在R1的route-id 进入下一状态
2way: 双向通信 邻居关系建立的标志,条件匹配 接收到包含自己router-id 的对方 hello报文。选举DR BDR 发送主从选举的DBD报文 进入下一状态
Exstart:预启动 使用没有数据库信息的DBD包进行主从关系的选举(隐式确认 看序列号,大为主),RID数值大的为主 开始发送携带LSA目录信息的DBD报文 进入下一状态
Exchange:预交换 使用携带数据库目录信息的DBD包进行共享,需要ACK确认 一旦开始发送LSU报文 进入下一状态
Loading:加载 查看完对端邻居的DBD包后,使用LSR/LSU/LSack来获取未知的LSA信息 请求列表与重传列表为空 进入下一状态(没有明确指标)
Full: 转发 邻接关系建立的标志
邻居关系建立条件:
1.router-id 必须不同
2.area ID 相同
3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据
4.hello时间,dead时间必须一致
5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)
OSPF DR/BDR选举规则:
1.在点对点链路,是没有DR/BDR的选举
2.在BMA网络中:
(1).OSPF首先通过优先级,控制DR/BDR的选举:
优先级越大,越可能成为DR。OSPF路由器的优先级,默认是1。
如果需要进行DR的人为控制,应该建议,通过OSPF的接口优先级进行控制。
修改特定接口的优先级
R1(config-if)#ip ospf priority 10
OSPF的优先级是针对某个特定的MA接口而言的,不是针对整个路由器的。
优先级为0表示放弃选举
(2).如果OSPF路由器的优先级,全部都是默认值1,路由器默认通过Router-ID,选举DR/BDR,如果Router-ID最大的成为DR,次大的成为BDR。其余的统统都是DR-other。
(3).在Hub&Spoke的NBMA网络中,中心点(HUB)应该成为DR。
(4).同一个路由器的不同MA接口,可能在不同的MA网络中,充当不同的DR/BDR/DR-other.
(5).在一个MA网络中:
DR/BDR与所有的邻居都是Full状态,DR-Other与DR/BDR是Full的,但与别的DR-Other是2way状态。
只有Full状态才能交换路由信息。
(6)在选举DR完成后加入的高优先级路由器,不会进行抢占,当DR Down了后,BDR直接进入DR,然后开始选举BDR,
(7)在不同网段分别选DR,BDR
三、OSPF的工作过程
路由器上OSPF协议的启动配置完成后,本地收发Hello包,在接收到的Hello包中存在本地的RID,建立邻居关系;生成邻居表;
邻居关系建立后,基于条件进行选择
1、条件匹配失败,维持邻居关系,仅维持Hello周期保活
2、条件匹配成功,可以建立邻接关系
使用DBD包来共享本地的LSDB目录,之后本地基于其他邻接共享的DBD,判断本地未知的LSA信息;
再使用LSR向邻接进行查询,邻接返回LSU包来传递具体的LSA信息,同时本地需要ACK确认接收
当本地收到所有的LSA后,本地LSDB数据库建立完成–数据库表
本地基于LSDB生成有向图–>树形结构图–>路由表;收敛完成,Hello继续周期保活
每30min,周期进行一次DBD包比对;
OSPF LSA详解
OSPFV2----LSA 1 2 3 4 5 7
描述一条LSA:1.LSA 类型 2.link-ID 链路标识符 3.ADV router 产生路由器
1类LSA:router -LSA (路由LSA)
功能: 本路由器针对某个区域产生的路由信息和拓扑信息
传播范围:本区域内传输
Link ID : 产生者的router-id
ADV router: 产生者的router-id
特性: 在单个区域中分别产生一条1类LSA,若存在MA网络,1类LSA不完整,需要配合二类
LSA生成路由信息以及拓扑信息。
1类LSA 内容类型:
1.stubnet(末节网络) ------路由信息
2.transnet(传输网络 仅限于MA网络)----拓扑信息
3.point-to-point —拓扑信息
4.virtual link (虚链路)—拓扑信息
2类LSA ,network LSA (网络LSA)
功能: 用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
传播范围:只能在本区域之内传输,终止于ABR
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 是变化的)
5类LSA: 外部LSA
功能: 用于在整个OSPF中传递外部路由(原本不属于OSPF域)
5类LSA有两种类型: 类型1 类型2(区别:)
Link id :传递外部路由的网络号
ADV router : 产生该LSA的 router-id (产生本LSA的ASBR的router-id )
传播范围:在整个OSPF域中传输
4类LSA: summary ASBR LSA
功能:除了ASBR所在区域外,用于通告ASBR位置
Link id:ASBR的router-id
ADV router: 默认ASBR所在区域的ABR的 router-id
特点:在穿越不同区域时,由新的ABR重新产生。(与3类LSA一致)
7类LSA : NSSA LSA
功能: 在NSSA区域中,传递外部路由。
Link id :传递路由网络号
ADV router:产生该LSA的 router-id
特性:默认为类型2 ,度量值为1 。 携带了FA地址(转发地址)
FA: 转发地址,当5类或7类LSA中携带了FA地址,则计算路径开销值时计算的是当前路由器到
达FA地址的开销值之和+种子度量值。(若FA地址不可达,则路由不能加表)
FA 地址:
- 默认7类LSA 产生FA地址,5类LSA不产生的(7转5 的5类LSA 携带FA地址 )
- 7类LSA 产生规则:默认产生的FA地址为产生7类LSA 的ASBR 最大的环回接口地址 ;若连接其他协议的接口也运行了OSPF协议,网络类型为BMA,则产生的7类LSA中FA地址为连接其他接口对应的下一跳地址;若网络类型为P2P,则FA地址依然为环回接口中IP地址最大的3.5类LSA FA地址规则: 默认不产生,若连接其他协议的接口运行了OSPF 协议并且网络类型为BMA,则FA地址为重发布之前路由的下一跳地址,若网络类型为P2P,则不会产生FA地址。
LSA中存在3个参数用于LSA的新旧比较:3600s的LSA 都是最优的.
1.序列号
2.校验和
3.LSA老化时间(若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则无法比较 认为都是最新的。)
Ls age : 1073
seq# : 80000006
chksum : 0x9dca
组步调计时器:默认5分钟。
OSPF 中的计时器:
1.hello时间,默认为10s或30s。dead时间,默认为40s或120s;
修改hello时间,dead时间变化,修改dead时间,hell时间不变,hello时间或dead时间不同,都会影响邻居关系建立。
Waiting time: 等待DR 或BDR的选举时间,永远保持与dead时间一致。
OSPF 默认重传时间5s
transmit delay 传输延时默认为1s
小笔记
骨干路由器:在骨干区域里,所以接口都在里面的路由器
ASBR:1:ospf和其他的协议
2 :把其他协议路由信息导入到ospf协议
24.0.0.6 只有DR和BDR才能收到
24.0.0.5 所有路由器都能收到
点到点网络直接进入full状态
先邻居—后邻接
邻接和邻居的区别:邻居没有交互过LSA,邻居是FULL状态,交互过LSA
hello包:10s或(nbma–非广播型多路访问)30s dead时间:hello包*4
手工汇总>自动汇总
LSDB:链路状态数据库
ABR:区域边界路由器,连接骨干路由器的区域
ACL:通配符 可 0.0.255.0 控制层面 0表示严格匹配 1表示无所谓
例:禁止 192.168.1.1-192.168.1.7 : 192.168.1.0 0.0.0.7
ACL不能对本地始发的流量做过滤,即对自身路由条目不影响
在某个接口的某个特定方向(in,out),针对某种协议,只能应用一个ACL
acl末尾隐含拒绝所有
反掩码,子掩码:连续的0和连续的1
下层标识上层
Retransmit 重传时间
Transmit 延时时间 (为了弥补路由器的时间差)
cost值或metric值是同种路由协议用于选择最优路由的参数,一般值越小越优
cost值的计算方法:10的8次方/带宽
metric值等于每个入接口的cost值之和
在路由器上改cost值:用acl 2000
然后在接口上:rip metricin 2000 5 入接口
rip metricout 2000 5 出接口
表示cost值加了5
cost(开销值)
metric(度量值)
A/B/C为单播地址,D为组播地址,E为保留地址
注:只有单播地址可以作为源目的ip地址
127.0.0.1 本地测试(127.x.x.x 测试地址)
广播地址:主机位全为1
私人地址
10.0.0.0 8
172.(16-31).0.0 16
192.168.(0-255).0 24
mac地址:48位
RIP防环机制
定义最大跳数:最大为15跳,16跳为不可达
水平分割:同一路由从此口进,不从此口出
毒性逆转水平分割:若想路由,将被告知为16跳
机制计时器:30s hello时间,180s等待时间,180s标记位可能down,240s刷新时间
只有trunk才给vlan打标签,access不会
trunk干道—不属于任何一个vlan,承载所有vlan的流量,具有标记和识别不同vlan标签的功能
MA网络中,只有DR和BDR建立邻接关系