静态缺点
1、中大型复杂网络----配置量大
2、不能实时收敛
动态-----可以实时收敛
IGP----内部网关路由协议 RIP OSPF EIGRP ISIS
EGP----外部网关路由协议 BGP
IGP (选路佳 占用资源 收敛快)----一个协议好需满足这三个
距离矢量 DV RIP 共享路由 (优:邻居间交互信息少)
链路状态 LS OSPF 共享拓扑 (优:防环能力强)
OSPF
Ospf:开放式最短路径优先协议 -----更新量大
无类别链路状态型路由协议;邻居间基于拓扑信息进行交互,更新量很大;故为了能在中大型复杂网络中工作,需要结构化的部署 --- 良好的ip地址规划 区域划分(区域内传拓扑,区域间传路由)
更新方式 --- 触发更新 -- 224.0.0.5/6 周期更新 --30min:相当于ospf的保底,因为信息量大,触发更新可能出现问题,此时周期更新能够进行兜底(rip也有周期更新----rip缺少hello包和确认包(ack))
- OSPF的数据包类型 --- 跨层封装于3层报头(没有四层) 协议号89
5种包都是这样通过type区分
Hello --- 周期收发,用于邻居的发现、关系的建立、周期的保活-- 10s或30s
DBD-数据库描述包 用于携带数据库目录
LSR 链路状态请求 基于本地未知的LSA信息进行查询
LSU 链路状态更新 用于传递具体的LSA信息
LSack 链路状态确认 可靠性,确认包
(LSA --链路状态通告 --- 具体的每一条的拓扑或路由信息;)
OSPF的状态机 -- 邻居间的邻居关系的不同阶段
Down 一旦接收到hello包进入下一个状态
Init 初始化 收到的hello包中若存在本地的RID,进入下一状态
2way双向通讯 邻居关系建立的标志
条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举(默认一个dead time),非DR/BDR间不能进入下一状态;
Exstart 预启动 使用不携带数据库目录信息的DBD包进行主从关系的选举,RID数值大为主,优先进入下一个状态 --- 排序(避免同时更新,导致网络拥塞)
Exchange 准交换 使用携带目录信息的DBD包,进行交互
Loading 加载 查看完其他邻接发送过来的DBD后,基于当中本地未知的LSA信息,使用LSR查询,对端使用LSU来共享这些LSA信息,本地收到后需要ACK确认;最终完成邻接间的数据库一致
Full 转发 邻接关系建立的标志
OSPF的工作过程
启动配置完成后,邻居间组播收发hello包,获取对端的RID,建立邻居关系,生成邻居表;
邻居关系建立后,关注条件;条件不匹配的邻居间,将维持邻居关系,仅hello包周期保活即可;
条件匹配:可以建立邻接(毗邻)关系
将使用DBD/LSR/LSU/LSack来进行交互、共享,同步数据库,获取未知的LSA信息;最终生成与邻接一致的数据库表;
当数据库表同步完成后,本地使用SPF算法,将数据库表转换为有向图,再将有向图计算成为最短路径树,然后以本地为起点,计算到达所有未知网段的最短路径,然后将这些路由加载于本地的路由表中;收敛完成。
拓扑结构突变(3种情况):
- 新增网段 直连新增网段的设备,使用LSU直接向本地所有邻接进行触发更新,对端需要确认
- 断开网段 直连断开网段的设备,使用LSU直接向本地所有邻接进行触发更新,对端需要确认
- 无法沟通 --- 没有周期的hello包;dead time为hello time的4倍--倒计时,正常被每一个新的hello包刷新,归0时断开邻居关系,删除该邻接共享的信息
OSPF协议的基础配置
[r1]ospf 1 router-id 1.1.1.1 启动时可以定义进程号,仅具有本地意义,默认为1;
可以定义RID --- 手工 -- 环回上最大数值ip地址-- 物理接口上最大数值ip地址
宣告:1、区域划分 2、激活接口OSPF协议 3、共享接口信息
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
OSPF区域划分规则:
- 必须为星型结构 区域0为骨干,大于0为非骨干,非骨干必须连接骨干区域
- 区域间必须使用ABR来互联 -- ABR区域边界路由器
宣告配置全部完成后,邻居间周期组播收发hello包,建立邻居关系;生成邻居表;
OSPF协议的hello包为周期收发;邻居间hello包中必须完全一致的参数:否则无法建立邻居关系
Hello、dead time;区域编号;认证字段;末梢区域标记;在华为设备中邻居间hello包还将携带建邻的接口ip地址子网掩码,也必须和邻居一致;
<r2>display ospf peer 查看邻居表
<r2>display ospf peer brief 查看邻居简表
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full
0.0.0.1 GigabitEthernet0/0/1 3.3.3.3 Full
----------------------------------------------------------------------------
邻居关系建立后,邻居间进行条件的匹配;匹配失败维持邻居关系,仅hello包周期保活;
匹配成功,可以建立邻接关系;使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;实现邻接关系间设备的数据库一致;
数据库表:
<r1>display ospf lsdb 查看数据库表 LSDB--链路状态数据库
DBD包:DBD包中携带接口的MTU值,要求两端接口MTU一致,否则将卡在exstart状态机;华为设备默认不携带MTU值,MTU默认值为1500
若要携带则需手动开启:
[r1]interface g0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable 两端直连接口均需开启
当MTU值不一样,数据有可能会拆开(若一边为1400另一边接口为1300则包会拆分为一个1300和一个大于(多出来的数据会出现合成一个完整的包)100的数据)
DBD包中的描述位:
I 为1表示本地发出的第一个DBD
M 为0表示本地发出的最后一个DBD
MS 为1表示本地为主(master),为0表示本地为从(slave
DBD使用序列号来进行隐性确认,从(slave)基于主(master)的序列号进行;
当邻接关系间数据库同步完成后,本地基于数据库中的所有LSA;生成 有向图 --> 最短路径树-->将本地作为起点,计算到达所有未知网段的最短路径,然后将其加载到路由表中:
在华为设备中,默认的优先级为10;使用cost作为度量;
(Cost=开销值=参考带宽/接口带宽)
默认参考带宽100M;cost值向上取整数;故当接口带宽大于参考带宽时,cost值为1;可能导致选路不佳;可以手工修改默认的参考带宽:
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
切记:一旦修改,全网所有设备需一致;
ospf协议默认将选择cost值之和最小的路径,为最短路径加表;
OSFP邻居关系建立成为邻接关的条件
从邻居关系建立成为邻接关系,关注网络类型;点到点 MA(BMA、NBMA)
在点到点网络中,邻居直接全部建立为邻接关系(不进行DR/BDR选举);
在MA网络中若两两间均建立邻接关系,将可能出现大量的重复更新;
(1给2和3,因为邻居之间互相传递2又给3)
DV距离矢量路由协议可以使用接口水平分割来解决,由于OSPF协议邻接需要数据库比对,故不能设计接口水平分割;只能进行DR/BDR选举来解决;所有非DR/BDR之间为邻居关系,不进行数据库同步;DR选举是避免在一个MA网段内出现重复更新
选举规则:
- 先比较参选接口优先级,默认1;越大越优 为0标识不参选
- 若优先级相同,比较参选设备的RID数值,越大越优
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 0 将接口优先级改为0,不进行玄选举
OSPF的接口网络类型 --- ospf协议在不同网络类型的接口上,不同的工作方式
[r1]display ospf interface g0/0/1 查看OSPF协议在接口具体的工作方式名称
Interface: 12.1.1.1 (GigabitEthernet0/0/1)
Cost: 1 State: BDR Type: Broadcast ;
接口类型 OSPF工作方式
LoopBack 华为显示p2p,实为环回专用工作方式 无hello包 以32位主机路由传递
点到点类型(HDLC/PPP/GRE) p2p hello time10s ,死亡时间为Hellotime的4倍,不选DR,邻居直接建立为邻接
BMA(以太网) Broadcast(广播) hello time10s ,死亡时间为Hellotime的4倍, 选DR/BDR 非DR/BDR间仅建立邻居关系
NBMA(MGRE) 默认和普通GRE一样接口工作方式为p2p,该工作方式在华为设备上仅和最先收到的hello包建立邻居关系(只允许建一个邻居);
故在MGRE环境(MA)需要手工修改接口工作方式:
[r1-Tunnel0/0/0]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp (不选DR但谁给路由谁就是下一跳) Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
注:p2p 和broadcast 两种工作方式的hello time均为10s,故可以建立邻居关系,但在DR选举上不同,故无法正常交流LSA;
切记:邻居间ospf接口工作方式必须一致,才能正常建邻和正常收敛;
若将MGRE下所有接口的工作方式修改为broadcast,需要关注拓扑结构:
- 全连网状结构,可以正常工作,正常选举DR/BDR
- 非全连 ---管理员手工合理安排DR位置
- 星型结构-- 仅中心站点为DR,无BDR