1.HICA-OSPF:
-
OSPF:开放式最短路径优先协议,无类别(带掩码)链路状态igp协议,周期更新(30min)+触发更新
-
跨四层封装,协议号89
-
版本:v1(实验室阶段夭折),v2(IPv4),v3(IPv6)
-
链路状态协议的更新量随着网络范围的扩展指数性的上升,因此OSFP协议为了在中大型网络中工作,需要结构化的部署(区域之内传递拓扑,区域传递路由)
-
为什么需要结构化部署:
因为OSPF是无类别链路状态IGP协议,而链路状态最大的特点就是共享拓扑,而共享拓扑;而共享拓扑的话就会产生大量的更新这样不利于网络的流通,因此需要合理的流畅,因此需要合理的IP规划,进行结构化部署。区域之内是LSA的拓扑数据交换:区域之内传递拓扑,区域传递路由
-
区域划分的目的或链路状态协议的距离矢量特征:区域之内传递拓扑,区域传递路由
-
更新方式:组播更新(224.0.0.5(all),224.0.0.6(DR/BDR))
-
算法:SPF(最短路径优先算法)
-
OSPF所有报文头部:
字段名 说明 版本(8bit) OSPF协议的版本,v1:1,v2:2,v3:3 类型(8bit) OSPF数据包的类型,Hello:1,DBD:2,LSR:3,LSU:4,LSACK:5 报文长度(bit) OSPF中整个报文的长度 路由器ID(32bit) 携带的发出数据包设备的RID 区域ID(32bit) 发出数据包的接口所在区域的ID 效验和(16bit) 确保数据的完整性 验证类型(16bit) 做数据认证,分为三种 NULL(不认证):0,simple明文认证:1,MD5:2 认证数据(32bit) 做数据认证
-
OSPF的五种数据包:
-
Hello:1.邻居的发现,关系的建立;2.周期(以太网10s)的保活;3.携带rid(IP地址格式),4.DR / BDR 选举
字段名 说明 网络掩码 邻居双方这个参数必须相同才能正常建立邻居关系(但是,这个参数在点到点网络中是不生效的) hello间隔 hello time,dead time 如果不相同,则邻居关系无法建立可选项 可选项 每一个标记位都代表设备遵循OSPF的某一种特性,其中包含特殊区域的标记位。这个标记位不同,则邻居关系无法正常建立 路由器优先级 路由器接口参选的优先级 指定路由器,备份指定路由器 在没选出来之前,使用0.0.0.0进行填充,选出来之后,将对应接口的IP地址进行携带 影响邻居关系建立的参数:1.网络掩码,2.hello时间,3.dead time,4.特殊区域标记位,5.认证
-
0. Dbd:数据库描述报文(本地数据库目录(发送链路状态中自身知道的)),LSDB:链路状态数据库,存储LSA信息的数据库
- 使用未携带数据的DBD包进行主从关系选举
- 使用携带数据的DBD包共享数据库摘要信息
| 字段名 | 说明 |
| ----------- | --------------------------------------- |
| 最大传输单元(MTU) | 发送接口所支持的MTU值,华为设备默认不检测MTU值 |
| I | init,该位置为1,是一个进行主从选举的数据包 |
| M | more,该位置为1,则代表这个DBD包后面还有其他的DBD包需要发送 |
| MS | master,该位置为1,则代表发送这个数据包的设备为主 |
| DD 序列号 | 在DBD报文中,会逐次加1,用于确保DBD报文传输的有序性和可靠性(隐形确认) |
```
ospf mtu-enable # 在接口中配置, 如果两边均开启MTU的检测,并且两边MTU值设定不同,则OSPF的邻居关系将卡在EXSTRAT状态
```
0. Lsr:链路状态请求报文(请求对方我不知道的)
| 字段名 | 说明 |
| ------------------- | ------------------------------------ |
| 链路状态类型,链路状态ID,通告路由器 | 被称为是LSA的“三元组”,因为这三个参数可以标识出一条唯一的LSA信息 |
0. Lsu:链路状态更新报文(返回我不知道的拓扑或者路由)
0. Lsack:链路状态确认报文(保证可靠性)
-
OSPF的7个状态机:(两个路由器的关系)
-
Down:双方都不认识对方(A与B)
-
init初始化:,B接收到hello包中(不包含自己的名字),B知道了A,B进入init状态
-
2way双向通讯:B接收到hello包中(包含自己的名字),邻居关系建立的标志
- 匹配条件:DR(一个路由器)/BDR(备份路由器)选举
- 条件匹配成功进入下一个状态,如果条件匹配失败,则停留在邻居关系,仅使用hello进行周期保活
-
0. **Exstart预启动**:使用不携带目录信息的DBD包,1.进行主从关系的选举;**rid大为主**,为主的可以优先获取LSA信息,解决了目录共享时的无序,避免了它们的同时更新;2.主方可以住到隐形确认,可以定义隐形确认中的序列号。
0. **Exchange准交换**:使用携带目标信息的dbd包(谁的rid大先发送dbd包),共享本地数据库目录
0. **loading加载**:查看完邻接的dbd信息后,对比本地,然后基于本地未知的Lsa进行查询;使用lsr向对端查询,对端使**用lsu来传输这些lsa信息**,本地**收到后需要lsack来进去确认**
0. **Full**:**邻接关系建立**标志;意味着邻接间,数据库同步(一致);邻接关系的设定是为了和之前邻居关系进行区分,邻居关系只是单纯的使用hello包进行保活,而只有邻接关系,才会发LSA信息
-
名词解释:
- 邻居关系:邻居关系就是只交互过hello报文,并不知道邻居具体的Lsa
- 邻接关系:就是两个邻居之间完成交互过各种报文,两台路由器拥有各自的明细拓扑信息Lsdb完全同步
- Lsdb:链路状态数据库,所有lsa的集合
- Lsa【货物】:链路状态通告,具体的一条一条拓扑或路由信息,基于LSU包进行共享(LSU运输)
-
结构突变:
- 新增网段:触发更新-- LSU和LSack 直接告知
- 断开网段:触发更新-- LSU和LSack 直接告知
- 无法沟通:dead time为hello包的4倍;在4次周期内未收到对端的hello包,将断开与其邻居关系,删除通过该邻居计算所得路由
-
OSPF的工作过程:
- 启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,(包含本地的RID以及自己已知的邻居的RID);之后,将收集到的邻居关系记录在一张表 --- 邻居表
- 之后需要关注条件,若不能建立为邻接,将保持为邻居关系,仅hello包周期保活
- 若条件匹配可以建立邻接关系,先使用未携带数据库目录信息的DBD包来进行主从关系的选举,之后由主引导先后顺序使用携带目录信息的DBD包共享数据库目录
- 之后本地基于其他设备的目录,判断由本地未知的LSA信息,再使用LSR/LSU/LSACK来通过邻接获取具体的LSA信息,完成本地的数据库表(LSDB链路状态数据库)
- 本地数据库完整后,本地将基于数据库中的内容启动SPF算法,将数据库整理为有向图-->最短路径树---->将本地到达所有未知网段的最短路径加载于本地的路由表中
- 路由表建立完成,收敛结束,之后每10S使用hello包周期保活;每30min邻接间进行一次数据库目录核对
-
区域划分规则:
- 星型结构:编号0骨干区域(中心),大于0为非骨干区域(分支),非骨干区域必须直连骨干区域
- 必须存在ABR:区域边界路由器,骨干区域0与非骨干区域相连>0的设备;区域之间可以存在多个ABR设备;一个ABR也可以连接多个区域
-
区域ID:用来区分和标识OSPF的不同区域,32位二进制构成;也可以使用点分十进制表示,还可以直接使用十进制表示;其中,骨干区域的ID、必须设置为0。
-
RID(路由器id):
-
格式IPv4地址,可以区分和标定不同的路由器
-
32位二进制构成,全网唯一,格式统一(采用点分十进制的方式表示)
-
RID的获取方式:
- 手工配置:
- 自动生成:1.优先选择环回接口中IP地址最大的作为RID,2.如果没有环回,则选择物理接口中IP地址最大的作为RID
-
-
基础配置:
-
启动时定义进程号(配置模式,默认进程1)
ospf [num] router-id [路由器id]
-
宣告接口地址(激活(可以收发OSPF的信息),被选中接口的拓扑信息可以共享给邻接,区域划分):
area 0 # 先定义区域 network [接口IP地址] [反子网掩码]
-
查询ospf:
display ospf peer # 查看邻居关系表 display ospf peer brief # 查看邻居简表 display ospf routing # 查看路由器宣告的路由和学到路由
display ospf lsdb # 查看LSDB
display ip routing-table protocol ospf # 查看ospf路由
bandwidth-reference 1000 # 若修改带宽,全网需要一致(单位MB/s),先进入ospf
-
-
OSPF的开销值:
- OSPF cost=参考带宽 / 接口带宽,----- 华为体系下,默认参考带宽为100M
- 注意:开销值如果算出来是个小数,如果是大于1的小数,则直接取整数部分;如果是小于1的小数,直接取1。
- OSPF优先cost值之和最小,为最佳路径;
- 若两条链路cost值之和相同,等开销负载均衡;若接口带宽大于参考带宽,cost为1,将可能导致选路不佳,建议修改默认的参考带宽
-
扩展配置:
-
DR(一个路由器)/BDR(备份路由器)选举(有DR才有拓扑交换和lsa信息,才有路由):
-
在MA网络中,若所有的设备均为邻接关系,将出现大量的重复更新;所以,需要进行DR/BDR的选举
-
邻居成为邻接关系的条件,与网络类型有关
-
网络类型:
- 点到点:在一个网段内只能存在两个节点(串线链路)
- MA-多路访问:在一个网段内的节点数量不限制;不是当下连接了几个节点;而是该网络类型允许最终连接多个节点(以太网)
-
点到点网络邻居关系必成为邻接关系;
-
在MA网络中,将进行DR/BDR选举;在一个网段中仅DR(大哥)/BDR(二哥)与DRother其他路由器(小弟)为邻接关系,非DR/BDR之间(小弟与小弟之间)为邻居关系
-
选举规则:
- 先比较一个网段所有参选接口的优先级,默认优先级为1,取值范围0-255,越大越优;0标识不参选
- 若优先级相同,比较参选设备的RID,数值大优
-
干涉选举:
ospf dr-priority 1 # 先进入这个参选接口
注:由于一个网段DR/BDR选举需要消耗40S(选举时间 == 死亡时间),故为保障网络的稳定性,选举是非抢占的;一旦一个网段选举完成后,再修改优先级除非设备重启,否则无法干涉到结果;若需要干涉选举时,可以重启所有设备的OSPF
reset opsf process # 重启ospf进程
最终的方法时修改非DR/BDR设备的优先级为0,代表不参选;不用重启进程
ospf dr-priority 0 # 先进入这个参选接口
-
-
-
区域汇总:OSPF协议不支持接口汇总,只能在将A区域拓扑计算所得路由共享给B区域时进行汇总
ospf [num] area [num] # 进入区域的边界路由器配置 abr-summary [汇总后的IP地址] [子网掩码] display ip routing-table protocol ospf # 在另一个区域的路由器查看是否汇总
-
被动接口:仅接收不发送路由协议信息,用于连接用户终端的接口,不得用于建立邻接关系
silent-interface g0/0/0
-
认证:在直连邻居或者邻接的接口上配置,保障更新的安全
ospf authentication-mode [加密算法] [编号] cipher [具体密码] # 模式,编号,密码要求邻居间一致
-
加快收敛:
ospf timer hello [num] # 先进入接口
- 邻居间计时器 10s hello time,40s dead time
- ospf要求直连邻居间hello time和dead time必须完全一致,否则无法建立邻居关系
- 修改本地的hello time,本地的dead time自动4倍关系匹配
-
缺省路由:边界路由器上配置后,将自动向内网下方一条缺省路由,之后内网设备将自动生成缺省路由边界
ospf [num] default-route-advertise always
-
2.HICP-OSPF:
-
OSPF的接口网络类型指:OSPF接口,在不同网络类型下,不同的工作方式
-
OSPF的接口网络类型:
网络类型 OSPF接口的网络类型(工作方式) 虚拟接口(环回) 默认p2p,只是华为定义为P2P类型,实际没有数据收发,环回接口的开销值定义为0,环回接口默认学习32位的主机路由 P2P(HDLC,PPP,GRE,MGRE) 默认P2P,只能建立一个邻居关系,不选DR / BDR;hello10S,dead time 40S BMA(以太网) 默认Broadcast,可以建立多个邻居关系,需要进行DR和BDR选举,hello10S,dead time 40S 没有真实网络环境对应 默认P2MP(人工建立的),可以建立多个邻居关系,不需要进行DR和BDR选举,hello 30S,dead time 120S,可以学习邻居接口的主机路由(真实接口);针对的是NBMA网络。 NBMA(帧中继) NBMA ,可以建立多个邻居关系,需要进行DR和BDR选举,hello 30S,dead time 120S,只能手工建立邻居关系 Virtual,只有在 -
在OSPF中,如果双方的接口工作类型不一致,能否建立邻居关系取决于
- 网络掩码
- hello时间
- dead time
- 特殊区域标记位
- 认证
-
查询接口的网络类型:
display ospf interface [接口号]
-
修改接口网络工作类型(中心站点和全连网状拓扑都需修改)
ospf network-type broadcast # 先进入接口
-
注意:
- 华为体系下,隧道接口的传输速率被定义为64K(COST=100M / 64K = 1562),实际无数据收发,其目的是为了让接口的开销值变得非常大,能不走就不走。
- 走隧道接口实际还是需要从物理接口发出,但是会额外增加复杂的封装过程,造成资源浪费
-
拓扑结构:
-
中心到站点(轴辐状,星型结构):DR必须定在中心站点,没有BDR(修改分支站点优先级为0)
ospf dr-priority 0 # 先进入这个参选接口
-
部分网状结构,基于实际环境关注是否固定DR
-
全连网状结构:一种全连的MGRE环境(MESH),所有节点既是中心,也是分支;所有站点都将开启伪广播,这样将所有节点接口的网络类型改为 Broadcast 之后,所有节点在进行DR和BDR选举,将共同进行,则不会出现DR和BDR认知不统一的情况
# 分支站点之间互相注册 nhrp entry [Tunnel接口IP地址] [物理接口IP地址] register # 配置其他分支站点的Tunnel地址,物理地址
# 分支站点都开启 nhrp entry multicast dynamic
-
-
在NBMA环境下,双方都指定单播邻居来建立邻居关系
peer [对方接口IP地址] # 先进入OSPF
-
OPSF的第八个状态机:
- Attempt(尝试 ,过渡状态):出现在NBMA网络中,在 DOWN和INIT状态 之间,等待对端指定自己成为单播邻居,一旦指定后,将立即进入下一个状态
-
不规则区域:
- 远离骨干的非骨干区域
- 不直连骨干的区域
-
不规则区域的解决方法:
-
Tunnel:合法ABR和非法ABR间S建立Tunnel隧道,然后将Tunnel宣告在OSPF
- R2和R4直接需要建立邻居关系,所以,需要发送周期性的数据进行维护,造成中间通过链路的负担加重
- 可能造成重复更新
- 选路不佳(在OSPF中,路由器优先选择拓扑信息计算的路由)
-
OSPF虚链路:非法ABR获取合法ABR的授权后,具有区域间路由共享的功能;合法ABR与非法ABR
-
虚链路永远属于区域0
-
优点:没有新生链路,不存在选路问题
-
缺点:
- 虚拟路只能穿越一个区域
- R2和R4直接需要建立邻居关系,所以,需要发送周期性的数据进行维护,造成中间通过链路的负担加重
-
非法ABR获取合法ABR的授权:双方路由器都需要配置
# 在配置完成后,非法ABR将成为合法 vink-peer [对方路由器ID] # 先进入合法ABR和非法ABR的区域
-
查看虚链路的详情
display ospf vlink
-
-
多进程双向重发布:
-
因为不同的路由协议之间,堆路由的理解及运行逻辑都不相同,所以,不同的路由协议之间是存在信息隔离的
-
重发布:将一种协议按照另一种协议的规则发布出去
-
ASBR设备(自治系统边界路由器):在同时运行两种协议(重发布)的设备
-
导入其他进程的路由信息(先将不规则区域写入另一个进程并导入)
import-route [其他协议名称] [其他进程号] # 先进入协议进程
-
导入的路由信息标记(代表域外的路由信息):O_ASE
- 路由信息的可控性较低,信任程度较低
- 优先级默认设置为150
-
-
3.LSA头部内容:
-
LSA链路状态通告:是OSPF在不同网络环境下用于携带和传递不同的信息
-
LSDB: 链路状态据库
-
查看LSDB
display ospf lsdb display ospf lsdb [LSA类型] [LinkState ID] # 精准查看
-
LSA头部内容:
链路状态类型,链路状态ID,通告路由器 被称为是LSA的三元组,因为这三个参数可以标识出一条唯一的LSA信息
字段名 说明 Type LSA的类型, 在 OSPFV2 当中,需要具体掌握6中LSA LinkState ID 链路状态标识符,是一个LSA的名称,这个参数在不同的LSA类型中将携带不同的信息 AdvRouter 通告路由器,发出的LSA的路由器RID LS AGE LSA的老化时间1800s=周期更新时间30min,当一条LSA被始发路由器产生时置为0,之后该LSA在网络种传播,老化时间也会持续累加;当一条LSA的老化时间到达3600s时(最大老化时间)则将会从LSDB数据库中删除 LEN 长度 ,表示LSA的内容所占的字节数 Options 标记位,Virtual:代表该路由器是V-LINK(虚链路)的一个端点;ASBR:代表该路由器为ASBR设备;ABR:代表该路由为ABR设备;E:代表特殊区域 SEQ 序列号,本质是由32位二进制构成,一台路由器每发送同一条LSA时都会携带一个序列号,且逐次加1 CHKsum 效验盒,也会参与新旧关系的比较,如果两条相同的LSA其序列号也相同,则将比较效验和,效验和大的判定为新 -
序列号空间:(SEQ序列号内容)
-
直线型空间:从最小值到最大值逐次加1
- 优点:新旧关系容易区分,数字大绝对比数字小的新
- 缺点:一旦序列号空间用尽,新旧关系不好区分
-
循环型空间:从最小值到最大值在继续循环
- 优点:序列号可以一致使用
- 缺点:当两个序列号差值较大时,新旧关系不好区分
-
棒棒糖型空间:
- OSPF采用的就是这种序列号空间
- 为了避免循环型空间的缺点OSPF要求不能进入循环部分(还是直线),所以,取值为 0X80000001 - 0X7FFFFFFX
- 当序列号达到最大值时,始发设备会将该LSA的老化时间设置为最大老化时间,之后发出,其他收到该LSA的设备因为其序列号值最大,将刷新本地LSDB数据库,之后,又因为该LSA老化时间为最大老化时间,将把该LSA信息删除。同时,始发设备会再发送一条相同的LSA,其序列号为0X80000001,之后,其他设备将该LSA信息收集入库,起到刷新序列号空间的效果
-
-
4.LSA的6种分类:
类 | 分类 | LinkState ID | 通告路由器 | 传播范围 | 携带信息 |
---|---|---|---|---|---|
1 | Router | 通告者的RID | 本区域内运行通告者的RID | 单区域 | 通告者路由器接口直连的拓扑信息 |
2 | Network | DR的IP地址 | MA网络中DR所在的路由器的RID | 单区域 | 单个网络网段的拓扑补充信息 |
3 | Sum-Net(summary) | 目标路由网洛 | ABR边界路由器RID,在通过下一个ABR时,将修改为新的ABR | ABR相邻的单区域 | 域间路由信息 |
4 | Sum-Asbr(asbr) | ASBR的RID | ASBR所在区域的ABR设备,在通过下一个ABR设备时,将修改为新的ABR | 除了ASBR所在区域的单区域 | ASBR的位置 |
5 | External(ase) | 目标路由网洛 | ASBR-RID | 整个OSPF区域 | 域外路由信息(不规则区域路由) |
7 | NSSA | 目标路由网洛 | ASBR-RID,离开NSSA区域后将被转换成5类LSA | 单个NSSA区域 | 域外路由信息 |
-
Router类型:
-
每一条LINK都是在描述路由器接口的连接情况,一个接口可以使用多个LINK来进行描述
-
区域内的启动OSPF的路由器只发一条Router类型的LSA
-
字段和对应的属性值:
Link Type Link ID Date metric Point-to-Point 邻居的Router ID 该网络上本地接口的IP地址 开销值 TransNet(DR与本设备) DR的接口IP地址 该网段上本地接口的IP地址 开销值 StubNet(网络末端) 该Stub网段的IP网络地址 该Stub网段的网络掩码 开销值 Virtual 虚连接邻居的Router ID 去往该虚连接邻居的本地接口的IP地址 开销值
-
报文格式:
字段名 说明 V 置1,代表该路由器是V-LINK的一个端点 E 置1,代表该路由器为ASBR设备 B 置1,代表该路由为ABR设备
-
Network类型:
- 在MA网络环境下,仅依靠1类LSA无法获取完整的拓扑信息,所以,我们引入了2类LSA,对拓扑信息进行补充说明
- 二类LSA所补充的都是一些公共信息,所以一个MA网络中只需要一台设备发送就可以了(DR发出)。
- 补充内容:MA网段的子网掩码,MA网段中所连接的设备RID
-
注意:
- 1类和2类LSA传递的是拓扑信息,而其余的LSA传递的是路由信息
- 传递路由信息的LSA需要经过1类和2类LSA的验算才能使用。 例:需要通过1类和2类LSA找到通告者的位置
-
Sum-Net类型:(域内路由信息,不规则区域路由)
-
传递的是路由信息,由ABR设备通告,使用目标网络号作为LS ID
-
携带内容:
- 目标网段的子网掩码
- 开销值是通告者到达目标网段的开销值
-
Sum-Asbr类型(ASBR的位置):
-
External类型(域外路由信息):
-
Metric字段的值因为不同路由协议对开销值的评判标准不同,所以在进行重发布时,无法直接使用其原先的开销值
-
我们在重发布后将舍弃原先的开销值,而重新赋予其一个规定的初始值seed metric(种子度量值,默认为1)
-
在重发布过程中修改种子度量值:
import-route [其他协议名称] [进程号] cost [开销值] # 先进入协议进程
-
参数E type:标志位,标志着开销值的类型
字段取值 说明 1 所有OSPF网络内设备到达域外目标网段的开销值都 == 种子度量值加沿途累加开销值 2 5类LSA默认的开销值,所有OSPF网络内设备到达域外目标网段的开销值都 == 种子度量值 -
在重发布过程中修改开销值类型:(E type)
import-route [其他协议名称] [进程号] type [类型号] # 先进入协议进程
display ip routing-table protocol ospf # 通过查看路由表查看域外路由网段到本设备的开销
-
参数Forwarding Address: 转发地址
- 主要是为了应对选路不佳的情况
- 不存在选路不佳的情况:则将使用0.0.0.0进行填充,无实质性作用
- 存在选路不佳的情况,则将会把最佳选路填写在本字段,之后设备到达目标网段会查找到达FA地址的路径,而不会按照算法再去找通告路由器
-
参数Tag:路由标记
-
主要是给路由信息打标记,方便后面流量的抓取,默认取值为1
-
配置:
import-route [其他协议名称] [进程号] tag [num] # 先进入协议进程
-
-
NSSA类型(域外路由信息):
-
参数Forwarding Address: 转发地址
- 默认使用ASBR设备环回接口的IP地址作为转发地址
- 不存在环回接口,则将使用ASBR的物理接口的IP地址作为转发地址
- 收到这条LSA的设备,访问目标网段将直接将数据包发送到转发地址上
-
参数options:
options字段取值 说明 E 置1:代表支持5类LSA;置0:代表特殊区域 N 置0:不在NSSA区域中;置1:在NSSA区域中 P 置1:代表该LSA支持7转5 -
7类LSA生成的路由信息其标记为O_NSSA,优先级也是150。
5.OSPF的优化:
-
主要指减少OSPF中的LSA更新量
-
汇总:为了减少骨干区域的更新量
-
OSPF协议不支持接口汇总,只能在将A区域拓扑计算所得路由共享给B区域时进行汇总
-
域内汇总:区域之间在传递三类LSA时进行汇总,减少3类LSA的更新量
-
配置:(在ABR设备上)
abr-summary [汇总后的IP地址] [子网掩码] # 先进入汇总前的区域
-
注意:域间路由汇总只能是一台ABR设备将自己通过1类和2类LSA学习到的路由信息汇总成一条3类LSA发送
-
-
域外汇总(汇总不规则区域路由):主要针对5类 / 7类LSA进行汇总
-
配置:
asbr-summary [汇总后的IP地址] [子网掩码] # 先进入在ASRB上的ospf进程,传递汇总路由的进程
-
域外汇总网段的度量值:
External分类中E type字段取值 说明 1 将选择所有明细路由中开销值最大的作为汇总网段的度量值(metric) 2 将选择所有明细路由中开销值最大+1 作为汇总网段的度量值(metric)
-
-
-
做特殊区域:为了减少非骨干区域的LSA更新量
-
第一大类的特殊区域(末梢区域 stub):
-
特点:
- 不能是骨干区域(0区域)
- 不能存在虚链路
- 不能存在ASBR设备(自治系统边界路由器)
-
如果将一个区域配置成为末梢区域,则这个区域将拒绝学习4类和5类LSA(拒绝学习域外信息)
-
为了保证可以正常访问到域外的网段,末梢区域会自动生成一条指向骨干的3类缺省(通过3类LSA生成的缺省路由)。
stub # 先进入本区域,区域内所有设备都必须配置;约等于缺省路由
-
普通的末梢区域改变成 完全末梢区域(Totally stub) :在拒绝4类和5类LSA的基础上,进一步拒绝3类LSA但是保留3类缺省
stub no-summary # 先进入本区域,只需要在ABR设备上配置即可;约等于缺省路由
-
-
第二大类特殊区域(非完全末梢区域 NSSA):
-
特点:
- 不能是骨干区域(0区域)
- 不能存在虚链路
- 必须存在ASBR设备(自治系统边界路由器)
-
如果将一个区域配置成为NSSA,则这个区域将拒绝学习4类和5类LSA(拒绝学习域外信息)
-
7类LSA(NSSA):为了实现导入域外路由信息,NSSA区域又拒绝学习其他方向的4类和5类LSA的效果
-
为了保证可以正常访问到域外的网段,所以,NSSA区域会自动生成一条指向骨干的七类缺省(通过7类LSA生成的缺省,指向其他方向的域外路由)
nssa # 先进入本区域,区域内所有设备都必须配置;约等于缺省路由
-
普通非完全末梢区域改变成 完全的非完全末梢区域 (Totally NSSA) :在拒绝4类和5类LSA的基础上,进一步拒绝三类LSA。并自动生成一条指向骨干区域的3类缺省
nssa no-summary # 先进入本区域,仅需在ABR设备上配置即可;约等于缺省路由
-
-
-
OSPF的附录E:OSPF针对3类或5类/7类在某些特定情况下的解决方案
- 图示:
- 图中20.1.0.0/16网段和20.1.0.1/24网段在通过R3传递三类LSA(Sum-Net)时,他们的链路状态类型,链路状态ID,通告路由器完全相同
- 因为链路状态类型,链路状态ID,通告路由器 被称为是LSA的**三元组**,因为这三个参数可以标识出一条唯一的LSA信息
- 所以,为了避免三元组完全相同,导致无法区分两条不同的LSA,则附录E要求,**掩码长度较长**网段的LSA信息将使用**目标网段的直接广播**地址作为LS ID;例:20.1.0.255/24。
6.HICP-OSPF扩展配置:
-
缺省路由:
-
3类缺省:只能通过特殊区域(普通STUB,完全STUB,完全NSSA)的配置完成
-
5类缺省:通过配置命令生成,将域外的路由信息重发布到OSPF中
ospf [num] default-route-advertise # 将设备上其他途径获取的缺省信息重发布到OSPF网络上,一般在区域的边界路由器上
ospf [num] # 一般在区域的边界路由器上 default-route-advertise always # 如果设备本身不存在缺省信息,则可以通过后面增加always参数来强制下发一条缺省
-
7类缺省:可以通过配置特殊区域(普通的NSSA)自动生成,也可以通过配置手工配置
nssa deafult-route-advertise # 先进入本区域,在区域的NSDR路由器上配置,区域中的路由器全生成一条指向NSDR的缺省
-
-
手工认证:OSPF邻居间发送数据包中携带口令,两边如果口令相同,则身份合法
-
接口认证: 模式,编号,密码要求邻居间一致,否则影响邻居的建立
ospf authentication-mode [加密算法] [编号] [cipher/plain] [具体密码] # 先进入接口 # 双端的密钥存储形式可以不同[cipher/plain]
-
区域认证:本质还是接口认证,在一个区域中配置区域认证,效果等于同时在这个区域中所有激活的接口上配置了接口认证
authentication-mode [加密算法] [编号] [cipher/plain] [具体密码] # 先进入本区域,问题配置
-
虚链路认证:虚链路建立过程中的认证
# 进入合法ABR和非法ABR的区域,再建立虚链路的同时配置 vlink-peer [对方路由器ID] [加密算法] [编号] [cipher/plain] [具体密码]
-
-
加快收敛:减少计时器的时间
-
查看计时器时间
display ospf interface [接口号]
-
修改hello时间:
ospf timer hello [num] # 先进入接口 # 邻居间计时器 10s hello time,40s dead time # ospf要求直连邻居间hello time和dead time必须完全一致,否则无法建立邻居关系 # 修改本地的hello time,本地的dead time自动4倍关系匹配
-
修改死亡时间:
ospf timer dead [num] # 先进入接口 # 邻居间计时器 10s hello time,40s dead time # ospf要求直连邻居间hello time和dead time必须完全一致,否则无法建立邻居关系 # 修改本地的dead time,本地的hello time不会改变,会改变等待时间(wait time)
-
Waiting time:
- 等待时间 == 死亡时间,DR/BDR选举时间。
- 修改死亡时间:该计时器时间会同步修改。
- 注意,两个计时器分开计时,只是数值长短相同
-
Poll:轮询时间120S,与状态为DOWN的邻居关系发送hello包的间隔时间
-
NBMA环境下单方面指定邻居后,将邻居置为Attempt状态,等待对方指定自己。如果对方一直没有指定(120S,这个时间内会以30S为周期发送hello包)会将邻居的状态改为down状态,之后,将按照poll时间为周期发送hello包。
-
修改轮询时间:
ospf timer poll [num] # 先进入接口,单位分钟second
-
Retransmit:重传时间 5S,发送信息时需要确认;如果重传时间内没有收到确认信息,则将重传
ospf timer retransmit [num] # 先进入接口,单位分钟second
-
Transmit Delay:传输延迟1S ,主要是附加在LSA的老化时间上的,为了补偿传输过程中消耗的时间
ospf trans-delay [num] # 先进入接口,单位分钟second
-
沉默接口:将一个接口设置称为沉默接口,他将只接受不发送OSPF的数据包
silent-interface g0/0/0 # 先进入ospf
-
路由过滤:主要是针对3类,5类,7类LSA进行过滤
# 过滤3类LSA,先进入需要过滤网段的区域,不让此网段发网其他区域 abr-summary [需要过滤掉的IP网段] [子网掩码] not-advertise #过滤5类/7类LSA,先进入NSSA区域 asbr-summary [需要过滤掉的IP网段] [子网掩码] not-advertise
-
-
路由控制:
-
优先级:
-
修改类型为OSPF路由(通过1类,2类和3类LSA学到的)的默认优先级
preference [num] # 先进入OSPF进程
-
修改类型为O_ASE / O_NSSA的路由(通过5类和7类学到的)的默认优先级
preference ase [num] # 先进入OSPF进程
-
注意:这条命令在修改的只能影响本设备,并且将本设备上所有对应协议类型的路由条目优先级统一修改
-
-
开销值COST:参考带宽 / 真实带宽,华为体系下,默认参考带宽为100M
-
通过修改参考带宽达到修改开销值得目的
bandwidth-reference [num] # 全网需要一致(单位MB/s),先进入ospf
-
通过修改真实带宽达到修改开销值得目的(修改后需要重启接口后生效)
spend [10/100/1000] # 修改接口得传输速率,先进入接口
undo negotiation auto # 关闭自动协商,先进入接口
注意:这种方法确实可以起到控制选路的效果,但是,因为只能把接口的传输速率改低,所以,会影响链路的传输效率,不建议使用
-
直接修改接口的开销值:
ospf cost [num] # 先进入接口
注意:如果一条链路两端接口的开销值大小不一样,则我们将按照路由传递方向的入接口(数据传输的出接口)的开销值来计算
-
查看接口开销值:
display ospf interface [接口号]
注意:
- 如果一条链路两端接口的开销值大小不一样,则我们将按照路由传递方向的入接口(数据传输的出接口)的开销值来计算
- 如果想要改变到达某一个末梢网段的开销值,建议直接在这个修改这个末梢网段接口的开销值,而不要修改沿途骨干链路的开销值。因为沿途修改则经过的路由的开销都会影响。
- 路由层面(控制层面):路由协议传递路由信息产生的流量
- 数据层面:设备访问目标地址时产生的数据流量
-
-
7.OSPF的选路原则:
-
域内:1类LSA,2类LSA
- 两条到达相同目标的路由,直接比较开销值,若两边开销值相同,则负载均衡
-
域间:3类LSA
- 两条到达相同目标的路由,直接比较开销值,若两边开销值相同,则负载均衡
-
域外:5类LSA,7类LSA
-
类型1选路原则:直接比较总度量值(种子度量+沿途累加开销值),优选总度量小的;如果总度量相同,则负载均衡
-
类型2选路原则:先比较种子度量值,优选种子度量值小的;如果种子度量值相同,则比较沿途累加开销值,优先选择沿途累加开销值小的;如果都相同,则负载均衡
-
类型1永远优于类型2
-
图示:Meteic为种子值
-
- 参数E type:标志位,标志着开销值的类型
| 字段取值 | 说明 |
| ---- | ------------------------------------------------- |
| 1 | 所有OSPF网络内设备到达域外目标网段的开销值都 == 种子度量值加沿途累加开销值 |
| 2 | **5类LSA默认的开销值**,所有OSPF网络内设备到达域外目标网段的开销值都 == 种子度量值 |
- 同时查看所有5类LS
```
display ospf lsdb ase
```
-
域内和域间:域内路由优于域间路由
-
域间和域外:域间优于域外
-
5类和7类LSA:在华为体系中,5类和7类LSA生成的路由信息在优先级比较方面没有区别
8.OSPF的防环:
-
域内防环:
- 星型区域划分本身就是一种防环的手段
- 区域之间需要遵循区域水平分割机制。 --- 从哪个区域学来的就不再发回到那个区域
-
域间防环:SPF最短路径优先算法