(IA初级)
OSPF:开放式最短路径优先协议
无类别链路状态IGP动态路由协议
- 距离矢量协议:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中;对于网络中的所有路由器而言,路由器并不知道整体网络的结构,知识简单的知道去往某个地方该从哪儿走,距离是多远。 这既是距离矢量协议的本质。
- 链路状态协议:与距离矢量协议不同,链路状态协议由协议通告的是链路状态而不是路由表。运行链路状态路由协议的路由器之间会首先建议一个协议的邻居关系,然后彼此之间开始交互LSA=链路状态通告。每台设备都会产生自己的LSA,路由器将接收到的LSA放进自己的LSDB(链路状态数据库)中。由路由器通过LSDB,掌握全网的拓扑结构信息。 最后,由路由器计算出最优路径,加载进自己的路由表中
流程图总结:
支持等开销的负载均衡
基于组播进行更新-------244.0.0.5 224.0.0.6;
支持触发更新 ; 每30min进行一次周期更新
需要结构化的部署---区域划分 地址规划
相同区域传递LSA不同区域传递路由
区域划分规则:
- 星型结构:骨干区域为0区,大于0为非骨干区域,所有非骨干区域必须接在骨干区域上
- ABR---域间路由器 两个区域互联时,必须存在ABR--同时工作在两个区域的路由器。
- Router-ID 路由器标识符 ,用于在一个OSPF域中唯一的标识一台路由器
Router-ID 的设定可以通过手工配置的方式,或 使用系统自动生成的方式
定义RID值,建议使用IP地址,全需要唯一,手工配置;要是不使用手工配置的方式则会被系统自动配置-------优先配置环回的最大值,如果没有环回地址则选择物理接口最大值。
OSPF使用cost值作为开销,COST=开销值=参考带宽/接口带宽;默认参考带宽为100M,整段路径的cost值之合最小为最佳。
若接口带宽大于参考带宽,则度量值默认为1;将可能导致选路不佳,故在接口带宽大于参考带宽的情况下,可以进行参考带宽的修改。
一:ospf的数据包类型
1.hello包 用于邻居的发现,关系建立和周期保活
2.DBD包 数据库表述包 用于携带本地数据库目录
DBD---主从关系的选举
I---I置为1则代表这个DBD包是主从关系的选举 M--如果置为1则代表后续还有DBD包需要发送
MS---如果置为1,则代表是DR设备发送的DBD包
DBD---需要完成隐性确认---系列号:确保DBD包数据发送的有序性,可靠性
---携带LSA摘要信息
3.LSR包 链路状态请求包 在查看完对端的DBD包后,基于本地位置的LSA进行信息查询,随后索要未知的LSA信息。
4.LSU包 链路状态更新包 用于携带各种LSA
5.LSack包 链路状态确认包 用于确认收到的对端的信息
二:ospf的状态机
Down状态:表示未被激活的状态,一旦本地发出hello包则进入下一个状态机。
Init状态:表示处于初始化状态
Tow-Way状态:双向通讯的建立,表示建立了邻居关系
匹配条件:在点到点的网络类型中直接进入下一个状态机;在MA网络中,将进行DR/BDR的选举;所有非DR/BDR的设备不能进入下一个状态机。
Exstart状态:预启动 使用不携带数据库目录的DBD包进行中主从选举,RID数值大为主,优先进入下一个状态机
Exchange 状态 :准交换状态 携带含有数据库目录的DBD包进行目录交换,需要ack确认。
Loading状态:加载 在查看完对端的DBD包后,基于本地的LSA进行查询 对比,随后通过LSR包去索要自己位置的LSA具体信息,随后通过LSU包进行回复,需要ack包的确认。
Full状态: 转发 邻接关系的建立
三:ospf的工作过程
1.建立邻居:启动配置之后,ospf将向本地所有的运行了ospf协议的端口发送hello(224.0.0.5),hello包中携带自己的RID用来区分不同路由器的身份(不携带路由信息),同时携带自己已知的邻居RID,之后会将这些RID 存储在自己的邻居表中。
2.条件匹配:邻居表建立完成之后,会进行条件匹配,如匹配成功则开始进入下一个状态,如果匹配失败则会停留在邻居关系。---之后仅hello包进行保活。
3.如果匹配成功,则开始建立邻接关系-之后会使用未携带数据DBD包(并没有携带LSDB的摘要信息)进行主从关系的选举。主路由器会优先进入下一个状态,会优先发送摘要进行比对,比对之后,会请求自己本地没有的lsa信息。对端会发送真正携带lsa信息的LSU包,会利用LSACK进行确认。本地的链路状态数据库建立完成,生成本地链路数据库表。---FUll
4.完成收敛----基于本地的链路状态数据库收集的lsa,根据自己的spf算法计算得出最短路径树。生成路由表。
5.收敛完成后,会使用hello包每10s发送一次,用来保活邻居关系。ospf会每30min进行一次周期更新。
结构突变:
- 新增一个网段 直接新增网段的设备,直接使用更新包告知邻接关系,需要ack确认
- 断开一个网段 直接断开网段的设备,直接使用更新包告知邻接关系,需要ack确认
- 无法沟通:hello time 10s ,dead time 40s ,时间到了就会删除邻居信息。
OSPF的数据包---数据报文---跨层封装的协议(跨四层传输层)OSPF设计了一个89 的协议号,代表OSPF协议 OSPF的公共报头
四:OSPF的基础配置
[R1]ospf 1 router-id 1.1.1.1 创建ospf 进程为1 RID为 1.1.1.1
[R1-ospf-1]area 0 定义进入0区域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
反掩码
<R1>display ospf peer 查看详细邻居关系
<R1>display ospf peer brief 查看邻居表
<R1>display ospf lsdb 查看数据库目录
<R1>display ospf lsdb router 2.2.2.2 打开数据库表中的具体路由信息
[R1-ospf-1]bandwidth-reference 1000 修改参考带宽为1000M
注意:一旦修改带宽,全网设备均需修改
五:OSPF的扩展配置
- 从邻居关系---邻接关系的条件
①网络类型
点到点的网络类型:在一个网段内,仅支持存在两个节点
MA:多路访问----在一个网段内,存在的节点数量不限制
OSPF协议在点对点的网络类型中,所有邻居关系将直接建立为邻接关系
在MA网络中,若所有的设备间均为邻接关系,将可能会出现大量的重复更新;故进行DR/BDR的选举;所有非DR/BDR的设备间将维持邻居关系。
选举规则:
- 先比较参选接口的优先级,默认 1 ;0-255;大为优
- 若参选接口的优先级相同,比较参选设备的RID,数值大则优势。
[R1-GigabitEthernet0/0/0]ospf dr-priority 2 更改参选接口优先级
注意:DR/BDR的选举是非抢占性质,故需要内部重新进行选举,则需要重启网段内所有参选的ospf设备;若参选接口为0,则视为放弃选举,一个网段最少应该拥有一台DR设备。
<R1>reset ospf process 重启ospf进程
手工认证 :
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
模式 编号 密码
手工汇总---区域汇总 ; 在ABR(域间路由器)上将A区域的路由共享到B区域时,方可进行路由汇总。
Ospf的汇总和RIP是有本质区别的
[R2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.255.255.0 在域间路由器上,将0区的路由条目进行汇总 发送
被动接口:沉默借口----仅接收 不发送
[R2-ospf-1]silent-interface g 0/0/2 沉默接口
加快收敛:修改计时器
Hello time 10s ; dead time 40s
修改一台设备某个接口的hello time ,该接口将会自动关闭dead time计时。
注意:邻居间直连的接口的hello time 和 dead time 必须一致,若不一致,将不能建立邻居关系 。
[R2-GigabitEthernet0/0/2]ospf timer hello 10 更改该接口的hello time 时间
缺省路由:在连接外网的边界路由器上,配置一条缺省路由,该设备将会向内网的所有设备发送一条指向边界路由器的静态路由。
的[R3-ospf-1]default-route-advertise always 下发缺省路由
(IP高级)
OSPF的不规则区域
OSPF的区域划分规则:
1.区域划分必须按照星形结构部署
2.区域之间必须存在ABR
规定:非法的ABR设备不能共享路由信息(LSA)
1.远离骨干的非骨干区域
2.不连续骨干
解决方案1:
构建VPN隧道
①会额外占用资源
②会造成选路不佳------域内LSA优于域间LSA 3.会造成重复更新的现象
解决方案2:
V-link----虚链路
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2——V-link配置,注意指定必须双向指定,并且需要进入对应的区域配置,V-Link默认属于区域0。
1.只能跨越一个区域
2.也会造成额外占用资源
3.多进程双向重发布
重发布条件:必须存在ASBR设备——协议边界路由器
[r4-ospf-2]import-route ospf 1-----进入需要获取路由信息的协议中,import就是想要获取路由信息的对应协议
域外路由信息
LSA---6类--OSPFV2
LSA---链路状态通告---拓扑信息
LSDB数据库--SPF---计算得出路由
Tpye---OSPFlsa的类型
LinkState ID----可以认为是一条LSA的名字,链路状态标识符 AdvRouter----通告路由器---这条LSA是哪一个路由器发送的,就是哪一个路由器的RID
Ls age---LSA的老化时间,默认的老化时间是1800S---这个时间在LSA传递过程中也会累计---所以设备的老化时间是同步的
Transmit Delay 1 ---当老化时间到达1800s就会由始发路由器重新发送一次该LSA
MAX AGE---最大老化时间默认3600S
Seq---序列号---32位二进制构成-0X8000001-0X7FFFFFFE——OSPF设计用来判断LSA新旧的参数
序列号空间--直线型序列空间
存在序列号上限,新旧判断明显——循环型序列空间
不存在序列号上限,新旧判断不够明显——棒棒糖型序列空间
Chksum----教研LSA的完整性的参数
LSA类型:
[r1]display ospf lsdb
LSA的类型 | LinkState ID | AdvRouter | 传递范围 | 内容 |
TPYE-1 Router | 产生这条LSA 的设备的RID | 发送这条LSA设备 的RID | 单区域 | 设备接口的描述信息 |
Network tpye-2 | 广播域中DR设 备接口的ip地 址 | DR | 单区域 | MA网络环境下 对1类LSA的补充信息 |
SumNet—— TYPE-3 LSA | 其他区域目标 网段信息 | ABR--每经过一 个ABR设备的转发都需要修改RID | 单区域 | 网段信息和掩码 以及Metric |
External——Type 5 | 域外目标网段 信息 | ASBR | 整个 OSPF 网络 | 域外网段信息和 掩码以及Metric |
Sum-Asbr—— yupe 4 | ASBR的RID | ABR--每经过一 个ABR设备的转发都需要修改 RID | 单区域 | ASBR的的RID和metric |
Router----1类LSA:拓扑信息,并且每一台运行了OSPF协议 的设备都会发送一条
display ospf lsdb router 2.2.2.2——查看一条1类LSA详细信息
LINK---描述拓扑信息
LINK的类型和这条LINK描述的接口OSPF网络类型有关
可以多个link同时描述一个接口信息
[r2]display ospf lsdb network 23.0.0.1——查看二类LSA---二类LSA相当于是1类LSA的补充信息,(以太网网络掩码,以及这个以太网环境下连接了多少设备) 二类LSA仅由DR设备发送。
3类LSA---携带目标网段信息
Metric--指的是ABR设备到达该网段的开销,这个开销是通过1类2类LSA获取到的。
三类LSA的数据转发,首先区域内部的设备协议先根据1类2类LSA找 到ABR设备的位置,并通过SPF算法计算到达ABR设备最近的路由, 之后访问其他区域的网段,需要先将数据包发给ABR。
<r3>display ospf lsdb ase 100.0.0.0---展开一条5类LSA
Type-1----所以设备的开销等于种子度量值+到达ASBR的开销
Type-2----所以设备的开销等于种子度量值,默认为1
[r4-ospf-1]import-route rip type 1--修改OSPF开销值类型
Forwarding Address : 0.0.0.0 ——在不是下一跳最优的情况下会自行调整转发地址
Tag : 1 ——针对域外路由去做策略时使用
和ASBR相连区域的设备是不需要4类LSA——作用:辅助找到 ASBR的位置
OSPF的优化:lsa的优化
汇总——减少骨干区域的LSA数量
区域汇总
域间路由汇总——针对OSPF区域之间的路由进行汇总,针对3类LSA 进行汇总
[r1-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.254.0——配置位置在对应区域的ABR设备的区域中,汇总的路由必须经过1类2类LSA计算得出的路由才能被汇总
域外路由汇总---针对OSPF协议之间的路由进行汇总---针对5类和7类LSA进行汇总
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.254.0
特殊区域--减少非骨干区域的LSA数量
Stub----末梢区域---一旦将某个区域配置为STUB,那么该区域将拒绝学习4类和5类LSA,同时生成一条3类缺省
1.不能是骨干区域 2.不能存在虚链路 3.不能存在ASBR
[r6-ospf-1-area-0.0.0.2]stub ----进入区域中配置,所以属于这个区域的设备都需要配置
Totally-Stub——完全末梢区域,一旦将某个区域配置为totally-stub,那么该区域将拒绝学习4类和5类LSA和3类LSA,会保留3类缺省
[r1-ospf-1-area-0.0.0.2]stub no-summary ---只需要在ABR设备的区域中配置
NSSA--非完全末梢区域--一旦将某个区域配置为NSSA区域,那么该区域将拒绝学习4类和5类LSA,同时由该区域的ABR设备会生成一条7类缺省
1.不能是骨干区域 2.不能存在虚链路 3.必须存在ASBR
类型 | LS DB | 通告路由器 | 传递范围 | 携带数据 |
nssa—tapy 7LSA | 域外网段信息 | ASBR | 单区域 | 域外网段信息 |
Totally-NSSA--完全的非完全末梢区域----一旦将某个区域配置为totally-NSSA区域,那么该区域将拒绝学习4类和5类LSA和3类LSA,会同时生成一条3类缺省
[r3-ospf-1-area-0.0.0.1]nssa no-summary ——在该区域的ABR设备的区域中配置。