一、OSPF基本概念
OSPF(open shortest path first 开放式最短路径优先 协议)
无类别链路状态路由协议,属于IGP( interior gateway protocol内部网关路由协议);
无类别—更新时携带子网掩码 链路状态—邻居间共享拓扑信息,本地计算路由
IGP-内部网关路由协议—用于AS之内运行
由于其链路状态的特点,故更新量较大;在中、大型网络中需要结构化的设计;
结构化的设计包括:区域划分和 良好的地址规划
更新方式—触发更新 、周期更新(30min)—正常路由协议进行周期更新是为ACK和保活;
但OSPF协议存在hello(保活)、LSack(确认),故理论上不需要周期更新;但该协议更新量较大,为了纠错才设计每30min一次周期更新;
更新方式:组播更新:224.0.0.5 (通用) 224.0.0.6 (DR/BDR专用)
链路状态距离矢量型特征——区域之内传拓扑,区域之间传路由,减少更新量
二、OSPF数据包类型:
OSPF的数据包跨层封装于3层报头; 协议号:89
5种包类型:
Hello包:周期收发,用于邻居、邻接关系的发现、建立、周期保活
DBD包:数据库描述表
LSR 包:链路状态请求
LSU 包:链路状态更新—携带各种具体的LSA(LSA:链路状态通告—携带具体的每条拓扑或路由信息)
LSack 包:链路状态确认
三、OSPF的状态机:
1,自两个路由器连通开始进入Down 状态, 一旦收到对端的hello包进入下一个状态;
2,Init初始化状态 ,一旦接收到的hello包中存在本地的RID,也就是互相都发送了hello包则进入下一个状态;
3,2way 状态,此状态是双向通讯,也是邻居关系建立的标志。
邻接关系建立条件:点到点网络直接进入下一状态(邻接状态) , MA(multiple access多路访问)网络进行40s的DR/BDR选举,非DR/BDR间不能进入下一状态
4,Exstart 预启动状态: 使用不携带数据库目标的DBD包进行主从关系选举,RID数值大为主,优先进入下一个状态;
5,Exchange准交换状态:使用携带信息的DBD进行数据库目录共享;
6,Loading 加载状态:查看完对端的DBD后,基于本地未知的LSA信息,使用LSR(链路状态请求包)查询,对端使用LSU(链路状态更新包)应答,本地使用LSack包确认;来获取所有未知的LSA信息;
7,最后FULL转发,邻接关系建立的标志
四、OSPF的工作过程
启动配置完成后,ospf的邻居开始基于组播224.0.0.5收发hello包;hello包中将携带本地的RID;在接收到的hello包中若存在本地的RID,及代表对端已经认识本端,那么邻居关系建立;生成邻居表;
邻居关系建立后,需要关注网络类型(分为点到点和MA网络);若条件不允许将卡在邻居关系,仅hello包周期保活即可;
若条件允许将可以建立为邻接关系;
邻接关系的建立需要先使用不携带目录信息的DBD进行主从关系选举,RID数值大为主;可以优先进行携带目标信息的DBD收发;在和邻接间收发完DBD后,将基于DBD中本地未知的LSA信息,使用LSR/LSU/LSack来获取具体的LSA信息;
在收集齐整个网络的LSA后,本地数据库表(LSDB链路状态数据库)完成;
当本地的数据库表同步完成后,先将其转换为有向图,再基于图生成最短路径树;最后将本地到达所有未知网段的最短路径加载于本地的路由表中;该计算过程被称为SFP最短路径优先算法;
路由表生成后,邻接关系建立;收敛完成;正常仅hello包周期保活即可;
五、网络结构突变类型及其应对方式:
5.1、新增网段 – 直连新增网段的ospf设备,使用LSU(链路状态更新包)告知本地所有邻接,对端需确认。
5.2、断开网段 -直连断开网段的ospf设备,使用LSU告知本地所有邻接,对端需确认。
5.3、无法沟通 —dead time到时时,断开邻居关系,删除从该邻接学习到的路由信息信息。
下图是Hello包中携带的信息:
Hello包:hello time 10s 或者30s dead time 为hello time 4倍
星号(*)表示:邻居间建立邻居关系时,必须完全一致的参数,否则无法正常建立邻居关系
1、Hello、dead time 2、区域ID 3、认证字段 4、特殊区域标识
5、在华为的设备中,要求邻居间接口配置的子网掩码也必须一致;
六、OSPF的配置
- 首先基础配置,启动ospf协议,宣告各网段或具体宣告
[r1]ospf 1 router-id 1.1.1.1 //启动时需要定义进程号;以及RID
说明:进程号仅具有本地意义;不定义进程,默认为进程1;不定义RID,默认将自动生成—先去环回上最大数值的ip地址→物理接口上最大数值的ip地址;RID必须全网唯一;
network进行宣告的作用:1、区域划分 2、选择接口激活 3、宣告接口的信息
[r1-ospf-1]area 0 //选择进入的区域
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 //宣告具体IP地址,宣告可以具体宣告也可以宣告一个网段
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
- 由于OSPF协议的更新量比较大,所以基于OSPF的链路状态距离矢量型特征——区域之内传拓扑,区域之间传路由,减少更新量;进行区域划分必不可少
区域划分规则:
星型结构拓扑 – 所有非骨干区域必须连接到骨干区域 区域0为骨干,大于0非骨干
区域间必须使用ABR相连 ,ABR—区域边界路由器
- 启动和宣告配置完成后,邻居间基于组播224.0.0.5收发hello包,生成邻居表:
常用查看命令
[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
区域 本地连接该邻接的接口 邻居的RID 状态机
[r2]display ospf lsdb //查看链路状态数据库表
< R > display ospf interface 或者:display ospf peer// 在路由器上查看DR/BDR的选举情况
- 邻居关系建立后,进行条件匹配,匹配失败将维持邻居关系;匹配成功将可以建立为邻接关系;邻接关系间将使用DBD和LSR/LSU/LSack来获取未知的LSA信息; 最终和邻接间同步数据库-LSDB
- LSA洪泛、LSDB同步(OSPF收敛的名词)完成后;本地基于数据库转换为—有向图—最短路径树;最终计算本地到达所有未知网段的最短路径,然后将其加载到本地的路由表中
修改参考带宽,保证选路最佳
在华为体系中,OSPF所得路由默认优先级为10,优于静态路由的60;
在cisco体系中,OSPF所得路由优先级为110,不如静态路由的1;
使用cost值作为选路的度量;
Cost值=开销值=参考带宽/接口带宽 默认参考带宽100M;
若接口带宽大于参考带宽,cost值取1;
故在接口带宽大于参考带宽的网络中,可能导致选路不佳;可以通过修改默认的参考度量来干涉:
[r1]ospf 1
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000 //修改参考带宽
切记:一旦修改,全网需修改的一致;
七、OSPF邻居建立为邻接关系的条件
基于网络类型来确定:
1、点到点网络类型 :串线的PPP/HDLC 虚拟的GRE 因为一个网段只能存在两个节点;故必然从邻居关系成为邻接关系
2、MA多路访问:一个网段中节点的数量不限制:进行DR/BDR选举,非DR/BDR不能进入邻接关系
由于节点数量的不限制,故若两两间皆邻接关系,将可能导致大量的重复更新;
在距离矢量协议中可以使用接口水平分割来解决该问题;但OSPF协议需要邻接间比对数据库,故不能使用接口水平分割;最终进行DR/BDR选举;所有非DR/BDR之间为邻居关系,不进行LSA的同步;来避免大量重复更新;
DR/BDR选举规则:
1) 先比较参选接口的优先级,大优;默认所有接口为1;0-255;
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 2 修改接口优先级
2)若所有接口优先级相同,将比较参选设备的RID,数值大优;
切记:DR/BDR选举是非抢占的,一旦选定,后加入者无论参数如何只能认可之前的选举结果;
因此在修改完接口优先级后,选举结果将不变化,除非人为重启选举;
所有设备全部重启OSPF进程,之后将重选DR/BDR
<r1>reset ospf process //重启ospf协议
Warning: The OSPF process will be reset. Continue? [Y/N]:y
或者将非DR/BDR的优先级修改为0,0代表不参选,不用重启设备的进程;万万不能一个网段所有设备优先级为0,否则将导致无法正常收敛;
- 注意:
OSPF协议要求邻接关系间接口MTU(maximum transmission 最大传输单元)值必须一致,否则将卡在exstart或exchange状态机;默认华为设备不检测邻接间的MTU值
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable //使本地与该接口连接的邻接设备的mtu值一致
八、OSPF接口网络类型
OSPF协议在不同的网络类型下,其不同的工作方案(例如在点到点网络不选举DR,BDR);
[r1]display ospf interface GigabitEthernet 0/0/1 查看OSPF协议在该接口工作方式

说明:
GRE VPN(Generic Routing Encapsulation)即 通用路由封装协议 ,是对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。
HDLC(High-Level Data Link Control,高级数据链路控制),是链路层协议的一项国际标准,用以实现远程用户间资源共享以及信息交互。
非广播-多路访问网络(Non-Broadcast Multiple Access,NBMA)是OSPF通信协议中定义的四种网络类型的其中一种。 NBMA用来描述如X.25和帧中继这类本身并不具有支持广播和多播能力的多路访问网络。
在MGRE接口,由于ospf协议默认为点到点的工作方式,只能建立一个邻居关系;
故将无法全网可达;
解决方法:修改接口的工作方式
[r1-Tunnel0/0/0]ospf network-type broadcast 修改为广播型
注:broadcast工作方式的hello time 为10s,但需进行DR/BDR选举;P2P也是10s,不进行DR/BDR选举,两者若相遇可以建立邻居关系,但无法正常收敛LSA;故在一个网段内所有接口的工作方式应该一致;
修改接口网络类型后,必须关注拓扑的结构;
1、中心到站点(星型、轴辐状)–由于分支站点间不知道其他分支的存在,从而导致整个网段的DR选举错误,最终导致该网络无法正常收敛;——解决方法:中心站点作为DR,无BDR;
2、全连网状(所有路由器都作为中心站点) --在所有接口修改为broadcast后一切正常
3、部分网状(有两个或两个以上的中心站点)—排除星型结构外的非全连结构—结合拓扑的实际情况来干涉DR的位置;
九、网络隧道技术
隧道协议(Tunneling Protocol)是一类网络协议,它是一种数据包封装技术,它是将原始IP包(其报头包含原始发送者和最终目的地)封装在另一个数据包(称为封装的IP包)的数据净荷中进行传输。使用隧道的原因是在不兼容的网络上传输数据,或在不安全网络上提供一个安全路径。隧道协议通常(但并非总是)在一个比负载协议还高的层级,或同一层。
中心到站点的网络类型配置:
[r1]interface tunnel 0/0/0 //进入启用隧道的接口
Ip address 10.1.1.1 24 //配置隧道专用的IP地址,要和其他协议的地址区分
Tunnel-protocol gre p2mp //定义隧道协议的网络类型是GRE,点到多点
Source 16.1.1.1 //隧道源ip16.1.1.1,也就是作为中心站点的路由器接口ip
Nhrp entry multicast dynamic //表明本路由器作为中心站点
Nhrp network-id 100 //定义下一跳解析协议网络ID是100
Nhrp entry 10.1.2.2 46.1.1.1 register //当网络类型为全联网状拓扑时,每个路由器都是中心站点,他们互相注册,所以每个路由器后面都要写注册命令
再到r2
[r2]interface tunnel 0/0/0 //进入隧道的接口
Ip address 10.1.1.2 24 //定义隧道的接口ip,同一隧道的ip在同一个网段
Tunnel-protocol gre p2mp //定义隧道协议,同一隧道协议类型必须相同,否则不通
Source GigabitEthernet 0/0/0 //本地路由器的接口号
Nhrp entry 10.1.1.1 16.1.1.1 register //向接口ip为16.1.1.1,隧道接ip为10.1.1.1的路由注册,也就是找中心站点注册本地隧道路由
Nhrp network-id 100 //定义网络ID,与中心站点的ID一致
注1:MGRE(多点通用路由封装)为MA工作方式,在一个网段中节点的数量不限制;但OSPF协议在Tunnel接口默认的工作方式为点到点,该方式只能建立一个邻居关系;故MGRE中运行OSPF协议,默认只能产生一个关系,无法全网沟通;
解决方案:修改接口工作方式
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
[r1-Tunnel0/0/0]ospf network-type broadcast //修改为广播型
Display nhrp peer all //查看tunnel的所有邻居
十、OSPF的不规则区域:
1、远离了骨干的非骨干区域
2、不连续骨干
区域水平分割:area0学到的路由不能传回到area0,所以图中area1会得到两边的路由,但是不会从左边传到右边,也不会从右边传到左边
解决方案:
1、tunnel --在两台ABR间建立VPN隧道;之后将该隧道链路宣告到OSPF协议中:第一种将VPN接口宣告到area0;第二种时宣告到area2区域,这两种都相当于将area2直连到R2上。
命令:假如R1为ABR与R4之间建立VPN
[r1]interface tunnel 0/0/0
Ip address 10.1.1.1 24 //本路由器的VPN接口ip地址
Tunnel-protocol gre p2p
Source 12.1.1.1 //本路由器的接口ip
Description 34.1.1.2 //对方路由器接口ip
R4相同配置
之后起ospf,在属于自己的area内宣告VPNtunnel接口ip地址
缺点:1)选路不佳
2)周期的信息将占用中间穿越区域的链路资源
2、OSPF虚链路 —由非法ABR与合法ABR间建立沟通,获得授权;之后非法ABR具有区域间路由共享的能力,就是R4成为一个非法的ABR
[r2]ospf 1
[r2-ospf-1]area 1 //中间穿越区域
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 //对端设备的RID
对端非法ABR设备做同样操作
由于没有新增路径,故不会出现选路不佳的问题;
缺点:OSPF周期更新的信息对中间区域造成影响
华为做法:两台ABR之间取消周期更新 )—— 不可靠
思科做法:两台ABR之间保持周期更新、周期保活 —— 中间链路造成占用
3、多进程双向重发布——最好解决方案
多进程 —— 在一台路由器上,同时运行多个OSPF进程;每个进程拥有自己的邻居;和各自度量的数据库;数据库不共享;仅将不同数据库计算所得的路由加载于同一张路由表显示;
故在一台路由器上运行同一协议的不同进程;类似于在同一台路由器上运行多种路由协议;
重发布 —— 在一个网络中若运行多种路由协议时,可以制作一台ASBR(自治系统边界路由器/协议边界路由器);ASBR需要不同接口工作在不同的协议中,通过不同协议获取未知的路由;默认协议间不会互动;重发布技术可以将不同协议学习到的路由共享到其他协议;
若将同一个接口在多个进程同时宣告;仅最先宣告的进程生效——一个接口只能运行一个进程
到连接不同进程或两边运行不同协议的ABR上做如下操作:
[r2]ospf 1 //进入进程一
[r2-ospf-1]import-route ospf 2 //导入进程二
[r2-ospf-1]q
[r2]ospf 2 //进入进程二
[r2-ospf-2]import-route ospf 1 //导入进程一 ;将ospf中不同的进程重发布到对方的进程中
注意:
1、重发布需要路由器的两边工作在不同进程(例如一边是ospf 1,一边是ospf2)或者不同协议(例如一边rip,一边ospf)
2、在不规则区域中运行ospf协议后,如果边界路由器缺省路由指向公网,此时远离骨干区域的路由即使即使通过重发布到了骨干区域,但不会拥有通向公网的缺省路由,也就访问不了公网,需要在重发布路由器上进入远离骨干的ospf进程进行手写缺省
[r6]ospf 3 //进程3是作用在路由器远离骨干area0区域(即area2)的接口上
[r6-ospf-3]default-route-advertise //手写缺省
十一、关于OSPF(open shortest path first interior gateway protocol)的数据库表—LSDB(link state date base 链路状态数据库)
OSPF协议邻接关系间,沟通互传的信息为各种LSA(link state advertisement);最终将本地收集到的所有LSA集合在本地的LSDB表中;
LSA-链路状态通告—ospf协议在不同的网络环境下产生不同类别的LSA,用于携带传递不同的信息;
[r3]display ospf lsdb router 1.1.1.1 //查看一条LSA的具体内容
类别 link-id
在所有类别的LSA中均存在以下信息
Type : Router 类别名 此处为1类
Ls id : 1.1.1.1 link-id 在目录的页面号,由于具体查看该LSA时输入
Adv rtr : 1.1.1.1 通告者(更新源)的RID
Ls age : 400 老化时间,单位S;触发马上归0;1800周期归0;最大老化3609;
Len : 60
Options : E
seq# : 80000003 棒棒糖序列号规则
chksum : 0xb2ee

| lsdb类型 | 传播半径 | 通告者(更新源) | 携带信息 |
|---|---|---|---|
| LSA1 Router | 单区域 | 本区域内所有运行OSPF协议的路由器(用RID显示) | 本地直连拓扑 |
| LSA2 Network | 单区域 | 单个MA网络中的DR(RID) | 单个MA网段拓扑 |
| LSA3 summary | 整个OSPF域 | ABR | 域间路由 |
| LSA4 asbr | 除ASBR所在区域外的 整个ospf域 ; ASBR所在区域基于1类告知位置 | ABR(与ASBR在同一区域) | ASBR位置 |
| LSA5 ase | 整个OSPF域 | ASBR | 域外路由 |
| LSA7 nssa | 单个NSSA区域 | ASBR | 域外路由 |
| lsdb类型 | Link-id | 通告者 |
|---|---|---|
| LSA1 Router | 通告者的RID | 本区域内部所有运行OSPF协议的路由器 |
| LSA2 Network | DR的接口ip地址 | 单个MA网段中的DR |
| LSA3 summary | 路由的目标网络号 | ABR: 在通过下一台ABR时,修改为新的ABR |
| LSA4 asbr | ASBR的RID | ABR:在通过下一台ABR时,修改为新的ABR |
| LSA5 ase | 路由的目标网络号 | ASBR |
| LSA7nssa | 路由的目标网络号 | ASBR,离开该区域进入其他区域将被转换为5类 |
lsdb类型如下:
[Huawei]dis ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 633 96 8000000B 48
Router 1.1.1.1 1.1.1.1 493 72 8000000C 48
Router 3.3.3.3 3.3.3.3 1313 60 80000006 48
Network 21.1.1.1 1.1.1.1 626 32 80000003 0
Sum-Net 192.168.5.1 1.1.1.1 477 28 80000001 1
Sum-Net 15.1.1.0 1.1.1.1 484 28 80000001 1
Sum-Net 192.168.4.1 3.3.3.3 609 28 80000002 1
Sum-Net 34.1.1.0 3.3.3.3 1301 28 80000001 1
Sum-Asbr 4.4.4.4 3.3.3.3 69 28 80000001 1
Area: 0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 478 36 80000003 1
Router 5.5.5.5 5.5.5.5 474 48 80000006 1
Network 15.1.1.1 5.5.5.5 474 32 80000002 0
Sum-Net 21.1.1.0 1.1.1.1 484 28 80000001 1
Sum-Net 12.1.1.0 1.1.1.1 484 28 80000001 48
Sum-Net 192.168.4.1 1.1.1.1 484 28 80000001 50
Sum-Net 23.1.1.0 1.1.1.1 484 28 80000001 49
Sum-Net 34.1.1.0 1.1.1.1 484 28 80000001 50
Sum-Net 192.168.3.1 1.1.1.1 484 28 80000001 49
Sum-Net 192.168.2.1 1.1.1.1 484 28 80000001 1
Sum-Net 192.168.1.1 1.1.1.1 484 28 80000001 0
Sum-Asbr 4.4.4.4 1.1.1.1 67 28 80000001 50
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 99.1.1.0 4.4.4.4 70 36 80000001 1
router型lsdb携带的详细信息——本地直连拓扑信息
[Huawei]dis ospf lsdb router 1.1.1.1
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router //类别名 此处为1类
Ls id : 1.1.1.1 // link-id 在目录的页面号,由于具体查看该LSA时输入
Adv rtr : 1.1.1.1 通告者(更新源)的RID,就是谁发的
Ls age : 1227 //老化时间,单位S;触发马上归0;1800周期归0;最大老化3609;
Len : 60 //长度
Options : E
seq# : 80000003 //棒棒糖序列号规则
chksum : 0xc775 //检验和
Link count: 3
注意:在所有类别的LSA中均存在以上信息
以下为router类型LSA的独有详细信息(携带的是拓扑结构信息,能根据所有的router的信息画出拓扑结构图)
* Link ID: 2.2.2.2 链路ID
Data : 12.1.1.1
Link Type: P-2-P 链路类型为点到点
Metric : 48 度量值,很大,可以看出是串口
* Link ID: 12.1.1.0
Data : 255.255.255.252
Link Type: StubNet 分支网络
Metric : 48
Priority : Low 优先级:低
* Link ID: 192.168.1.1
Data : 255.255.255.255
Link Type: StubNet 分支网络
Metric : 0 度量值为0,说明是环回接口
Priority : Medium 优先级:媒介
network携带的信息——单个MA网段拓扑信息
[Huawei]dis ospf lsdb network 21.1.1.1
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Network
Ls id : 21.1.1.1
Adv rtr : 1.1.1.1
Ls age : 153
Len : 32
Options : E
seq# : 80000002
chksum : 0xb47c
//以上为共有信息
Net mask : 255.255.255.0
Priority : Low
Attached Router 1.1.1.1 //附近路由
Attached Router 2.2.2.2
summary携带的信息 —— 域间路由信息
[Huawei]dis ospf lsdb summary 34.1.1.0
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Sum-Net
Ls id : 34.1.1.0
Adv rtr : 3.3.3.3
Ls age : 364
Len : 28
Options : E
seq# : 80000001
chksum : 0x48e3
//以上为共有信息
Net mask : 255.255.255.0
Tos 0 metric: 1
Priority : Low
external携带的信息(ase)—— 域外路由信息
[Huawei]dis ospf lsdb ase 99.1.1.0
OSPF Process 1 with Router ID 5.5.5.5
Link State Database
Type : External
Ls id : 99.1.1.0
Adv rtr : 4.4.4.4
Ls age : 195
Len : 36
Options : E
seq# : 80000001
chksum : 0x63f7
//以上为公有信息
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
十二、OSPF的LSA优化(减少OSPF的LSA更新量)
1、汇总 - 减少骨干区域的LSA数量
2、特殊区域 –减少非骨干区域的LSA数量
【1】汇总
1)域间路由汇总 – 在ABR上将区域间传播的3类LSA进行汇总
ospf接口不能汇总,只能区域汇总
[r1]ospf 1
[r1-ospf-1]area 2 //将区域2的路由汇总并发送,说明汇总的路由来自区域2
本地通过区域2的1/2类LSA计算所得路由,在基于3类传递时方可汇总
[r1-ospf-1-area-0.0.0.2]abr-summary 5.5.4.0 255.255.254.0
只能在ABR上配置,在将2区域路由传递到0区域时进行汇总配置
注意:汇总的路由是本地自己算出来的可以汇(本地拓扑),但是本地从另一个区域学到的路由在传到下一个区域时该路由汇总无效,就是说area1的路由在往紧挨着的area0传递时可汇,但是area1没有汇总就传给area0,area0再将从area1学到的路由传到下一个区域area2时汇总无效
2)域外路由汇总—在ASBR上进行重发布,从RIP导入5/7类LSA进入OSPF域时,进行汇总
域外路由汇总时注意要不要写空接口路由以防出环
[r4]ospf 1 //进入接受汇总一端的协议
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0 //将RIP域的路由汇总发送
【2】特殊区域
–不能是骨干区域,不能存在虚链路
注:一旦配置特殊,该区域内所有设备均需要进行配置,否则无法建立邻居关系,包括ABR上连接末梢的区域
「1」不能存在ASBR(域外路由)
(1)末梢区域 stub – 该区域拒绝4、5的LSA进入(也就是域外路由),而是由连接骨干区域的ABR设备,向该区域发布一条3类的缺省路由;
[r5]ospf 1
[r5-ospf-1]area 2 将区域2配置为末梢区域
[r5-ospf-1-area-0.0.0.2]stub
该区域内设备都要配置,包括ABR上的该area
(2)完全末梢区域 – 在末梢区域的基础上,进一步拒绝3类的LSA(域间路由),仅保留一条3类的缺省路由进入
先将该区域配置为末梢区域,然后仅在ABR上定义完全末梢即可
[r1]ospf 1
[r1-ospf-1]area 2
[r1-ospf-1-area-0.0.0.2]stub no-summary //ABR上定义完全末梢
[2] 存在ASBR
(1)NSSA – 非完全末梢区域 — 该区域将拒绝4/5的LSA;本NSSA所在区域ASBR产生的5类LSA,被7类传输,在通过该NSSA进入骨干区域时,被ARB转换回5类;
NSSA区域的作用不是抑制本地ASBR产生的信息,而是抑制该网络中其他区域ASBR产生的4/5类LSA;
华为:之后由该NSSA区域连接骨干区域的ABR向该NSSA区域发布一条7类的缺省路由;
Cisco:默认把一个区域配置为NSSA后,将不会自动产生缺省路由,需要在管理员确定网络无环的前提下,在手工添加缺省路由;
[r4]ospf 1
[r4-ospf-1]area 1
[r4-ospf-1-area-0.0.0.1]nssa //将NSAA区域调成NSAA模式
NSAA区域内所有设备都要调 ,包括ASBR上的连接该area和ABR上的该area
(2)完全NSSA – 在NSSA的基础上,进一步拒绝3类LSA;由连接骨干区域的ABR向该区域发布一条3类的缺省路由,这样NSAA出去还是三类LSA,但骨干区域及其所连区域的路由过来靠缺省;本NSSA区域内部ASBR的路由基于7类传递,之后转换为5类进入骨干区域;
先将该区域配置为NSSA,然后仅在ABR上配置完全末梢即可
[r3-ospf-1-area-0.0.0.1]nssa no-summary //ABR上,不是ASBR
切记:NSSA在华为体系中自动生成7类缺省;完全NSSA在华为和cisco体系中均自动3类缺省;此时一定需要关注网络连接ISP的位置,否则可能导致环路出现;也就是ISP(运营商)如果在area0完美,如果在其他area,则连接ISP的area不能设置为特殊区域(总之所有缺省保持一个方向)
十三、OSPF的扩展配置
1)手工认证 — 认证就是在ospf邻居间的所有数据包中携带秘钥;两端秘钥相同,意味着身份合法;
【1】接口认证—在和邻居直连的接口上配置身份秘钥;两端若编号和密码不同将无法建立邻居关系
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
【2】区域认证
[r1]ospf 1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
在R1这台设备,所有宣告在区域0的接口上配置了认证
【3】虚链路认证—在虚链路的两端进行配置
[r1-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 md5 1 cipher 123456
2)加快收敛 –修改OSPF协议的计时器
hello time10s或者30s dead time为hello time4倍
OSPF要求邻居间hello time和dead time一致,否则无法建立邻居关系;
修改本端的hello time,本端的dead time自动4被关系匹配
修改时需要两端一致,且hello time不易修改的过小;–过大占用链路资源
若hello time10s,一般不建议修改;hello time为30s时可以酌情考虑修改
[r1-GigabitEthernet0/0/1]ospf timer hello 5
3)沉默接口(被动接口) --用于连接PC用户的接口,不得用于连接路由器邻居的接口;
仅接收不发送路由协议的数据包
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/0
4)缺省路由 3类 5类 7类
3类缺省—特殊区域自动产生 末梢、完全末梢、完全NSSA 普通NSSA产生7类缺省;
5类缺省—从域外重发布进入到OSPF的缺省路由
比如连接ISP的边界路由器,需要手工静态一条缺省路由指向isp,这样该边界路由器的路由表中就存在一条非OSPF的缺省路由(指向ISP的);可以让该OSPF路由器重发布这条缺省进入OSPF域;因为边界路由器如果没有缺省路由的话是不会向ospf整个域发送指向边界路由器的缺省
[r1]ospf 1
[r1-ospf-1]default-route-advertise 把R1设备上,路由表中的其他协议或其他进程产生的缺省路由,导入到本OSPF域;
[r1-ospf-1]default-route-advertise always 让本地R1强制向该OSPF域发布一条缺省路由;无论R1本地路由表有没有缺省
7类缺省: 普通NSSA自动产生一条7类缺省;
在NSSA区域手工配置
该设备通过其他方式获取一条缺省路由,之后通过该命令导入到本地的NSSA区域
[r3-ospf-1-area-0.0.0.1]nssa default-route-advertise