获取未知网段路由信息的方法:
静态路由 --- 由网络管理员手工配置的路由信息
动态路由 --- 所有路由器运行相同的路由协议,由路由器之间彼此沟通交流,最终计算出到达未知网段的路由信息
AS --- 自治系统
IGP --- 内部网关协议 --- RIP,OSPF,EIGRP,ISIS
EGP --- 外部网关协议 --- BGP
IGP协议根据算法进行划分:
距离矢量型协议:路由器之间直接传递路由条目信息 --- "贝尔曼·福特算法" --- "依据传闻的路由" ---RIP
链路状态型协议:路由器彼此之间交换LSA(链路状态通告)信息,之后将收集到的拓扑信息形成图形结构,再使用SPF算法,将图形结构转换为树形结构,计算到达位置网段的路由信息 --- OSPF
IGP的评判标准:
选路佳,收敛快,占用资源少
1.OSPF因为是链路状态型协议,所以,从选路的角度,不会出现环路,并且,使用带宽作为开销的评判标准,相较于RIP而言,会更加合理一些
2.因为OSPF的计时器时间比RIP跟短,所以,收敛速度优于RIP
3.从占用资源的角度,因为RIP单个数据包中携带的路由信息占用资源量并不大,而OSPF单个数据包中携带LSA信息资源占用量会高于RIP,但是,从整体的角度看,OSPF并不存在像RIP这样高频的周期更新,并且,OSPF存在很多针对资源占用的优化机制,所以,从整体的角度看,OSPF的资源占用量略优于RIP
RIP的版本:RIPV1,RIPV2 --- IPV4
RIPNG --- IPV6
OSPF的版本:OSPFV1(实验室夭折),OSPFV2 --- IPV4
OSPFV3 --- IPV6
RIPV2和OSPFV2的相同点:
1.RIPV2和OSPFV2一样,都是无类别的路由协议
2.RIPV2和OSPFV2一样,都使用组播传递信息
RIPV2:224.0.0.9
OSPFV2:224.0.0.5和224.0.0.6
3.RIPV2和OSPFV2都支持负载均衡
RIPV2和OSPFV2的不同点:
RIP只能应用在小型网络环境中,而OSPF协议可以应用中大型网络环境中 --- OSPF支持结构化部署 --- 区域划分
如果整个网络只有一个OSPF区域,我们称之为单区域OSPF网络,如果一个网络规模较大,我们可以划分出多个OSPF区域,则这样的网络我们称为多区域OSPF网络
区域划分的目的:区域内部传递拓扑信息,区域之间传递路由信息
ABR --- 区域边界设备 --- 同时属于多个区域,一个接口对应一个区域,并且其中一个接口连接在骨干区域
一个ABR设备可以对应多个区域,区域之间也可以存在多个ABR设备
区域划分的要求:
1.区域之间必须存在ABR设备
2.区域划分必须按照星型拓扑结构进行划分 --- 星型拓扑中间区域我们称为骨干区域,其他的区域称为非骨干区域 --- 为了区分和标识不同的区域,我们需要给每一个区域设置一个区域ID(area ID)--- 由32位二进制构成 --- 可以直接使用十进制来表达,也可以使用点分十进制来表达 --- 骨干区域的区域ID被定义为区域0
1.OSPF的数据包
hello报文 --- 周期性的发现,建立和保活邻居关系
hello时间 --- 默认10S(30S)
Dead time --- 死亡时间 --- 4倍的hello时间
RID --- 路由器的ID --- 32位二进制构成
1.全网唯一;2.必须使用IP地址的格式进行配置
手工配置:由网络管理员直接配置给设备,手工配置仅需满足以上两点要求即可
自动生成:首先设备会选择自身环回接口的IP地址作为本地的RID,如果环回接口存在多个,则选择这些IP地址中数值最大的作为RID;如果设备并不存在环回接口,则使用物理接口的IP地址作为本地的RID,如果存在多个物理接口,则选择这些IP地址中数值最大的作为RID
DBD报文 --- 数据库描述报文 --- 链路状态数据库(LSDB)--- 里面携带的是LSA的摘要信息 --- 菜单
LSR报文 --- 链路状态请求报文 --- 基于DBD包请求未知的LSA信息
LSU报文 --- 链路状态更新报文 --- 真正携带LSA的数据包 --- 基于LSR的请求内容发送对端需要的LSA信息
LSACK报文 --- 链路状态确认报文 --- 确认包
OSPF存在每30分钟一次的周期更新
2.OSPF的状态机

Two-Way状态 --- 双向通信状态 --- 标志着邻居关系的建立
(条件匹配)条件匹配成功,则进入到后续的状态中,条件匹配失败,则将停留在邻居关系中,使用hello包进行周期保活

主从关系选举 --- 在Exstart状态下,使用未携带数据的DBD包,通过比较RID进行主从关系选举,RID大的为主,为主的可以优先挑选LSA
主从关系选举一方面为了避免同一时间进行数据交换而造成大量的链路资源浪费,另一方面是为了完成隐性确认 --- 为主的设备可以主导隐性确认

Full状态 --- 标志着邻接关系的建立 --- 主要为了和邻居关系进行区分;邻居关系仅能使用hello包进行周期的保活,而只有邻接关系可以交换LSA信息
Down状态:发送hello包后进入到下一个状态
Init(初始化)状态:当收到对方的hello包中包含自己本地的RID时,则可以进入到下一个状态
Tow-way(双向通信)状态:标志着邻居关系的建立
(条件匹配)--- 如果条件匹配通过,则进入到后续的状态中,条件匹配失败,则停留在邻居关系中,使用hello包进行周期保活
Exstart(预启动)状态:使用未携带数据的DBD包进行主从关系选举,为主的可以优先获取LSA信息
Exchange(准交换)状态:使用携带数据的DBD包,交换LSDB的摘要信息
Loading(加载)状态:使用LSR、LSU、LSACK报文交换未知的LSA信息
Full(转发)状态:标志着邻接关系建立
3.OSPF的工作过程
设备将从所有激活OSPF的接口处以组播形式发送hello包,组播地址是224.0.0.5,当收到一个其他设备发送的hello包中包含自己本地的RID时,则将进入到邻居状态,设备会将所有的邻居状态进行记录,生成一张表 ---邻居表 ;之后再进行条件匹配;匹配失败,则将停留在邻居关系,仅使用hello包进行周期保活;匹配成功,则开始建立邻接关系,首先,使用未携带数据的DBD包进行主从关系选举,之后,使用携带数据的DBD包交换本地LSDB的摘要信息;使用LSR、LSU、LSACK这三种数据包基于DBD包获取未知的LSA信息;之后,将所有的LSA信息记录在本地的一张表中 --- 数据库表(LSDB) 之后,根据本地的LSDB数据库表,获取完整的拓扑信息,使用SPF算法,将图形结构转换成树形结构,最终,计算出到达未知网段的路由信息;将这些路由信息加载到路由表中;收敛完成后,依然会使用hello包每隔10S进行一次周期保活;每隔30MIN进行一次周期更新
结构突变:
1.突然新增一个网段 --- 触发更新,在结构变更的第一时间中,将变更信息通过LSU包发送出去,需要LSACK进行确认
2.突然断开一个网段 --- 触发更新,在结构变更的第一时间中,将变更信息通过LSU包发送出去,需要LSACK进行确认
3.无法沟通 --- 40S死亡时间
4.OSPF的基础配置
1.启动进程
R1\]ospf 1 router-id 1.1.1.1
2.创建区域
\[R1-ospf-1\]area 0
3.宣告
宣告的作用:1.激活接口 --- 所有宣告网段范围内的接口将被激活,所有激活的接口可以收发OSPF的数据
2.发布路由 --- 只有激活接口对应的直连网段路由信息才能发布
\[R1-ospf-1-area-0.0.0.0\]network 1.1.1.0 **0.0.0.255 --- 反掩码** --- 由连续的0和连续的1构成,0对应位不可变,1对应位可变

MTU:0 --- 华为设备默认没有开启MTU的检测,所以,这里用0表示,并不代表真实的MTU值为0




在华为设备中,OSPF协议的默认优先级为10
COST = 参考带宽 / 真实带宽 --- 参考带宽默认为100Mbps --- 如果计算的结果是一个小于1的小数,则直接按1来取值;如果是一个大于1的小数,直接取整数部分
\[R1-ospf-1\]bandwidth-reference 1000 --- 修改参考带宽的数值

在运行OSPF的所有设备中必须修改为相同的参考带宽的数值
条件匹配
指定路由器 --- DR --- 在一个广播域中,我们需要拥有一台DR设备,DR设备和其他设备之间保持邻接关系
备份指定路由器 --- BDR --- 在一个广播域中,我们也需要选择一台设备为BDR设备,BDR设备和其他设备之间需要保持邻接关系
在一个广播域中,在DR和BDR都存在的情况下,至少需要四台设备才能看到邻居关系
DR和BDR其实是接口概念
条件匹配:如果在一个广播域中,所有设备都建立邻接关系,则将造成大量的重复更新,所以,需要进行DR/BDR的选举,只有DR和BDR和其他设备之间保持邻接关系,剩余所有DROther之间仅保留邻居关系即可
DR和BDR的选举规则:
1.先比较接口的优先级,接口优先级最大的设备为DR设备,在DR设备选出来后,会在剩余所有设备中选择优先级最大的为BDR设备
优先级默认为1,取值范围0 - 255,如果将一个接口的优先级修改为0,则这个接口将放弃 DR/BDR选举
\[R1-GigabitEthernet0/0/0\]ospf dr-priority ? --- 修改接口的优先级
INTEGER\<0-255\> Router priority value
2.如果接口的优先级相同,则比较RID;优先选择RID大的设备所对应的接口为DR,之后选择BDR设备,在剩余设备中,优先选择RID大的设备所对应的接口为BDR
DR和BDR的选举是非抢占模式的
\