Ospf(开放式最短路径优先)
链路状态协议(LS)(一台路由器先获得一个范围的拓扑链接信息,基于链接信息通过SPF算法来进行计算关于这个范围所有网络的路径信息,最终把路径信息加到路由表,以路由的形式进行转发)…(距离矢量协议——基于传闻的协议——听邻居说)
链路状态--自己判断学习
距离矢量--听说
无类协议(Classless)
lsa报文封装格式
Layer 2|IPv4|OSPF|FCS 89 组播组地址224.0.0.5 224.0.0.6 Tos IPP6(前三位110)(标记类型)
二层帧头|IPV4报头|OSPF载荷|二层帧尾 协议号 组播形式 发送报文使用0.5 选举完毕组播发送报文给DR BDR使用0.6
LSA(链路状态通告)LSDB(链路状态数据库)
hello包(广播类型与P2P10s发送一次 帧中继NBMA与P2MP或P2MP非广播类型30s发送一次)(老化计时器4倍hello时间)
触发更新(30m通告一次,老化计时器60m)
区域内LSDB完全一致则OSPF完成收敛
LSA 1 (区域内扩散式传播)
描述路由信息与接口信息
SPF最短路径算法(基于接口带宽,10的8次方/带宽)
Ispf增量型最短路径优先算法(算拓扑) PRC部分路由计算(算路由)
LSA Types
1 Router LSAs 路由器LSA(描述自身路由信息与拓扑信息) 一个区域内产生1条LSA 泛洪边界为ABR
2 Network LSAs 网络LSA(描述区域内路由信息与拓扑信息) MA网络中的DR会产生
3or4 Summary LSAs 3汇总LSA 4 ASBR汇总LSA (3类只有不同区域路由条目) 3类由ABR产生
5 Autonomous system external LSAs 自治系统外部LSA(包含外部路由条目)
6 Multicast OSPF LSA 组播MOSPF LSA
7 Defined for not-so-stubby areas NSSA外部LSA
8 External attributes LSA for BGP 提供BGP高级属性LSA
9,10,11 Opaque LSAs 不透明LSA
LSA三要素定位LSA
Link ID ADV Router LSA Type
当3类LSA跨越ABR传递的时候 会被转发者ABR修改ADV Router 改变为其自身的RID
LSA 4
Summary ASBR LSAs
向所有区域通告谁是ASBR
LSA 5
Seed Metric (种子度量值) 思科默认为20 BGP为1 华为默认都为1 外部协议引入OSPF产生
Type 2 O E2 (不会累加) 两条2在一起先对比外部度量值大小 再比较内部度量值大小(接收者路由器去往ASBR的内网路径度量值)
Type 1 O E1 (随传输跳数累加) 两条1在一起直接比较内外度量值之和
O E1优于O E2
Tag 路由标记 1 10 20
外部网络
Forward Address FA 转发地址 默认为 0.0.0.0 路由的远程下一跳 FA是否可达 (路由表是否通过ospf学习到去往FA的路由)
ASBR链接该外部路由的出接口宣告进OSPF
该接口OSPF类型不能是P2P
该接口不能被配置为被动接口
全满足三个条件则FA地址为非全零
LSA3 LSA5汇总
始发者ABR上针对LSA3 做汇总
始发者ASBR上针对LSA5 做汇总
邻居表(邻接关系数据库)
LSDB(链路状态数据库)
路由表(转发数据库)
区域边界路由(LAS 3) 路由条目
骨干区域与非骨干区域完成交互依靠ABR
Area 0 传输区(控制层面LSA传输)
ABR 区域边界路由器 生成LSA 3 域间汇总
ASBR 自治边界路由器(不仅仅运行OSPF协议)域外路由生成LSA 5 域外汇总
真ABR,在Area 0 有full的邻居,遵循3类LSA防环机制
伪ABR,在Area 0 无full的邻居,不遵循3类LSA防环机制
3类LSA防环机制(通过非骨干区域收到LSA 3 只能加入LSDB,不能计算路由)
Flapping 路由翻动(up与down之间切换)
Neighbor(只交换过hello报文) Tow-way
Adjacency(所有报文) full
4倍hello时间选举DR,BDR
DR/BDR只存在于接口概念并非路由
ospf报文种类
1 HELLO 建立关系
2 DD (只包含各类lsa报头) 确认方式:隐式确认(DBD序列号x 回应相同序列号x则确认收到,下一次报文发送序列号为x+1)
3 LSR 链路状态请求 请求DD中某条具体lsa
4 LSU 回复LSR请求中具体的lsa
5 LSAck 链路状态确定
报文发送顺序由对比RID确认master/slave (主从关系)RID越大越优先
邻接关系建立条件
1 版本一致
2 RID不冲突
3 认证类型一致
4 认证密钥一致
5 子网掩码一致(p2p网络除外)
6 hello时间一致
7 dead时间一致
8 option字段N位E位一致
9 MTU一致(思科默认开启MTU认证,华为默认关闭)
Hello包option字段
E:1 N:0 常规区域
E:0 N:0 stub
E:0 N:1 Nssa
INIT:邻居的hello包收到,我的hello包邻居没收到(单边)
Tow-way(双边)
ospf中Loopback 接口默认为末节接口(32位)
可以进行更改 思科更改位 p2p 华为更改为Broadcast
Virtual-link 虚链路
逻辑的 点到点的 属于Area 0的链路
使用RID建立
能收到V-Link对端设备的LSA 1 (v-link两端的路由器属于同一个area)
V-Link具有hello抑制 并且计时器不会老化更新(DNA Do Not Age)
ospf非骨干区域
默认区域(常规区域)
末节区域(stub区域) 一个stub区域内建议只有一台边界,stub区域内不能建立v-link stub区域内不能有 ASBR
次末节区域(NSSA区域) 允许存在ASBR
stub 末节区域
过滤区域内从外到内的 4类 5类 LSA,取而代之的为下放默认路由(O IA* 0.0.0.0/0) 的 3类 LSA
Totally stub 完全末节区域
在ABR上关闭汇总则变为Totally stub区域
过滤区域内从外到内的 3类 4类 5类 LSA
NSSA (Not-so-Stubby Areas) 次末节区域
过滤区域内从外到内的 4类 5类 LSA
以7类LSA传递,一条7类LSA包含一条外部路由,7类LSA(携带FA地址)与5类LSA(不携带)一对一对称
区域内所有路由器都要设置为 NSSA 不能建立v-link
ABR 会过滤从内到外 4类 5类 LSA 但不会主动下放默认路由(O IA* 0.0.0.0/0)仅限思科 华为仍会主动下放
ABR(真伪均可)为NSSA区域的转换者来进行LSA的7转5来进行交互
O N2(可理解为等同于O E1,O N1属于LSA 7 O E1属于LSA 5) Seed Metric默认为1
Totally NSSA
过滤区域内从外到内的 3类 4类 5类 LSA
在ABR上关闭汇总则变为Totally NSSA区域
下放一条 3类LSA 默认路由(O IA* 0.0.0.0/0)
OSPF认证
0级认证(不认证) 默认
1级认证(明文认证)防止误配
2级认证(密文认证)基于散列MD5
OSPF三种认证类型
链路级认证 在路由器接口启用认证
区域级认证 针对一个区域启用认证
V-Link认证 在vl两端启用认证
OSPF网络类型
loopback类型 只能对应环回口 通告路由的时候按之际路由形式通告(32位)
Broadcast 10秒一次发送hello(支持组播发送)DR/BDR通过4倍hello时间选举 没有邻接关系数量限制
中央 分支型 Hub Spoke 路由下一跳为始发者路由不会改变 度量值不会叠加
NBMA(非广播多路访问)hello30秒一次不支持组播发送 DR/BDR通过4倍hello时间选举 没有邻接关系数量限制
p-t-mp 30s hello 支持组播 没有邻接关系数量限制 路由每传递一次度量值都会累加 下一跳都会改变 会自动产生去往链路对端的32位主机路由
p-t-mp NBMA 与P-T-MP相似 不支持组播
P-T-P 10秒hello 不支持组播 不选DR/BDR 只能建立一个邻居
网络类型1类LSA描述
Stub link (环回口)
Transnet (广播,NBMA)
P2P +stub (点到点,点到多点,点到多点非广播)