0
点赞
收藏
分享

微信扫一扫

OSPF:开发式最短路径优先协议

IT程序员 2022-01-20 阅读 85

无类别链路状态型IGP协议;由于其基于拓扑进行更新收敛,故更新量会随着拓扑的变大而成指数上升;故OSPF协议为了能在大、中型网络中运行,需要结构化的部署----合理的区域划分、良好的地址规划 。正常等开销负载均衡; 跨层封装协议,协议号89;

更新方式:组播更新 224.0.0.5 224.0.0.6 触发更新+周期更新(30min)

距离矢量 DV链路状态LS
分类RIP EIGRPOSPF ISIS
特点邻居间共享路由条目邻居间传递的是拓扑
传闻性协议本地计算路

判断一个路由协议好坏的三方面:

  1. 收敛速度快

  2. 选择路径佳(前提防环)

  3. 占用资源少

一、OSPF的数据包 -- 5种

 

种类名称作用
HELLOhello包组播收发,用于邻居、邻接关系的发现、建立、周期保活
DBD数据库描述包本地LSDB(链路状态数据库)目录
LSR链路状态请求用于询问对端本地未知的LSA信息
LSU链路状态更新用于共享具体的每一条LSA信息
LSack链路状态确认确认包

LSA--链路状态通告--具体的一条一条 路由或者拓扑信息,不是一种数据包,所有的LSA是使用LSU这种包来转发的;

OSPF的数据包是跨层封装于3层报头后方 ,协议号89

二、OSPF的状态机 -- 两台OSPF路由器间不同关系的阶段

状态工作方式
Down一旦接收到对端的hello包进入下一个状态
Init 初始化若接收到的hello包中存在本地的RID,那么进入下一个状态机
2way 双向通讯邻居关系建立的标志
Exstart预启动使用不携带数据库目录信息的DBD包,进行主从关系的选举,RID数值大为主,优先进入下一个状态机
exchange准交换使用携带数据库目录信息的DBD包,进行目录共享,需要ACK确认
loading加载接收到其他邻接的目录信息后,和本地进行比对,若本地存在未知的LSA信息,将使用LSR询问对端,对端使用LSU来更新这些LSA信息,直至双方数据库一致;LSU需要ACK确认
Full 转发标志着邻接关系已经建立

条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机;

三、OSPF的工作过程

  1. 路由器上启动OSPF协议后,直连的邻居间,开始组播收发hello包,hello包中将存储本地已知邻居的RID,在双方RID均已知的情况下,建立邻居关系,生成邻居表;

  2. 邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系,仅hello周期保活即可;匹配成功者间将进行邻接关系的建立;

  3. 邻接关系间的路由器,将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致; ---- 数据库表;

  4. 当本地数据库完成同步后,将数据库-->有向图-->树型结构图-->将本地到达所有未知网段的最短路径加载于本地路由表中;

  5. 收敛完成,仅hello包周期保活即可;正常每30min,邻接关系间再进行一次DBD的对比,若一致及正常;若不一致将马上进行同步;

结构突变:触发更新

  1. 断开网段 直连断开网段的设备,直接使用LSU告知邻接,需确认

  2. 新增网段 直连新增网段的设备,直接使用LSU告知邻接,需确认

  3. 无法沟通 hello time 对应的 dead time ;dead time 到时时,断开邻居关系,去除基于该邻接共享的LSA计算所得路由;

四、OSPF的基础配置

启动时,定义进程号,仅具有本地意义;建议配置RID;

RID格式为ipv4地址,且需要全网唯一;

手工配置-->环回接口上取最大数值的ip地址--->物理接口上最大ip地址的数值

[r1]ospf 1 router-id 1.1.1.1

宣告: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
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

区域划分规则:

  1. 星型结构 -- 区域0为骨干 大于0为非骨干 非骨干区域必须直连骨干区域

  2. ABR--区域边界路由器 两个区域间必须依靠ABR连接

1.启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表

hello包 -- 组播收发 周期发送 -- hello time 10s 或30s dead time 为hello time 4倍

 邻居间hello包中有一些参数必须完全一致,否则无法建立邻居关系;(图中带星号)

Hello 和dead time 、区域ID、认证参数、末梢区域标记;另外在华为的设备中OSPF要求邻居间接口上配置的ip地址,其掩码长度必须一致;

[r2]display  ospf peer  查看邻居表
​[r2]display  ospf peer  brief  查看邻居关系简报 

2.当邻居关系建立后,邻居间进行条件匹配,匹配失败,将保持为邻居关系;匹配成功,将建立为邻接关系,邻接关系将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息,同步生成数据库表---LSDB 链路状态数据库

[r2]display  ospf lsdb 查看数据库表

3.数据库表同步完成后,邻接间的互动完成,仅hello包保活;之后本地基于本地的数据库表;转换为有向图,再转换为树形结构,最终将本地到达所有未知网段的最短路径,加载于本地的路由表中:

<r1>display  ip routing-table protocol  ospf 

默认ospf协议在华为设备中,优先级为10;度量为cost值

cost值=开销值= 参考带宽/接口带宽 默认参考带宽为100M

ospf协议将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路由器需要一致;

关于ospf的MTU问题:

在ospf协议的DBD包中将携带本地接口的MTU值,若两端一致可以正常建立邻居关系;若不一致将无法建立邻接关系;

默认华为设备不携带MTU;

  • 开启MTU---两端设备均需开启MTU

[r1-ospf-1] int g0/0/1 
​
[r1-GigabitEthernet0/0/1]ospf mtu-enable   

五、关于OSPF协议从邻居建立成为邻接的条件

根据网络类型决定;

  1. 点到点网络中,所有的邻居关系必然成为邻接关系

  2. MA网络中从邻居到邻接前将利用一个周期的dead time;进行DR/BDR选举;

先比较这些参选接口的优先级,默认1,取值范围0-255;越大越好,0标识不参选;

DR优先级最大,BDR次大;选举非抢占,故若希望干涉选举,需要重启ospf进程,或者将非DR/BDR修改为0;

  • 修改优先级

[r2]interface GigabitEthernet 0/0/1
​
[r2-GigabitEthernet0/0/1]ospf dr-priority  3  
  • 重启进程

<r2>reset ospf process 
​
Warning: The OSPF process will be reset. Continue? [Y/N]:y

非DR/BDR间为邻居关系;

 DR选举是在一个网段内选;

 

六、OSPF的接口网络类型 --- OSPF协议在不同的网络类型,其工作的方式不同

  • 查看ospf协议在这个接口上是如何工作的;

[r1]display  ospf interface GigabitEthernet 0/0/1
           OSPF Process 1 with Router ID 1.1.1.1                                          
                 Interfaces
​
 Interface: 12.1.1.1 (GigabitEthernet0/0/1)
​
 Cost: 1         State: DR          Type: Broadcast         MTU: 1500 
网络类型ospf接口网络类型 工作方式特点
BMA (以太网)Broadcast10s hello time 选DR/BDR
NBMA (MGRE)P2P
LoopBackP2P(LoopBack)无hello 环回使用32位主机路由
点到点 (PPP/HDLC/GRE)P2P0s hello time 不选DR/BDR

在tunnel接口上,ospf的默认工作方式为P2P,这种工作方式,只能建立一个邻居关系,故在MGRE环境中将无法正常工作;

解决方式,修改接口的默认工作方式:

[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

切记:一个网段中所有接口的ospf工作方式必须一致;否则将无法建立邻居关系,或者因为不同工作方式的hello time一样,错误建邻,无法收敛;

当MGRE环境中,使用OSPF,且所有tunnel接口修改为broadcast工作方式后,必须基于拓扑接口考虑DR位置问题

MGRE可以构建不同的拓扑结构:

  1. 星型--中心到站点--轴辐状 中心站点为DR,取消BDR

  2. 全连网状 --- 不需要再关注DR

  3. 部分网状 --- 基于能够全网段内正常共享LSA来考虑最佳的DR位置


一、关于OSPF的不规则区域问题

1.远离骨干的非骨干

2.不连续骨干

解决方案:

1、tunnel 在骨干区域与非法ABR间建立一条隧道,之后将该隧道链路宣告到OSPF协议中

R4可以宣告到a0或a2

缺点:

1)周期的hello与更新,包括触发更新,将一致占用中间穿越区域;

2)选路不佳

2、OSPF的虚链路

由非法ABR设备,通过直连区域的合法ABR进行授权,来转发路由

由于没有新增链路,故不存在选路不佳问题

[r2]ospf 1 
[r2-ospf-1]area 1  两台ABR间的直连区域(同时处于该区域)
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4  对端ABR的RID
​
[r2]display  ospf vlink  查看虚链路的建立

缺点:虚链路上的两台ABR间的周期资源占用问题;

1)在思科中,取消两台设备的周期行为,hello、更新均收发一次;--不可靠

2)在华为中,保留周期--占资源

3、多进程双向重发布;(最好的)

ospf多进程:一台路由器上的多个进程,每个进程拥有自己的数据库,独立计算路由条目,且计算所有不共享;最终将所有最佳路径加载于同一张路由表内;

路由器的一个接口只能工作在一个进程中;(ASBR协议边界路由器)

可用于解决不规则区域,将不规则位置工作不同的进程中,实现分开,之后利用重发布技术来共享路由表; 解决了选路不佳和资源占用的问题

 

在同一个区域的不同进程;

 

重发布命令:

[r4]ospf 1 
[r4-ospf-1]import-route  ospf  2    在进程1中导入进程2的路由
[r4-ospf-1]q
[r4]ospf 2 
[r4-ospf-2]import-route  ospf  1    在进程2中导入进程1的路由

二、 OSPF的数据库表

查看LSDB目录

<r1>display  ospf lsdb     查看数据库表

ospf协议在不同的条件环境下,将使用不同类别的LSA来传输拓扑或路由信息;

<r1>display  ospf lsdb router 2.2.2.2    具体查看某条LSA信息        
注:router是类别名; 2.2.2.2是link-id(页码)
所有类别LSA均携带的信息
Type : Router类别名 此处为1类
Ls id : 2.2.2.2link-id 在目录中的页码号
Adv rtr : 2.2.2.2通告者,该条LSA发出起源设备的RID
Ls age : 1255老化时间,正常1800s周期归0,触发归0;最大老化3609s
Len : 48长度
Options : ABRE
seq# : 80000016序列号
chksum : 0x4baa校验和码
LSA类别传播范围通告者携带信息link-id通告者
LSA1 Router单区域,本地所在区域单区域内的所有路由器本地直连拓扑通告者的RID单区域内的所有路由器
LSA2 Network单区域,本地所在区域DR单个MA网段的拓扑DR接口的ip地址每个MA网段内的DR
LSA3 summary整个OSPF域ABR域间路由条目域间路由的目标网络号ABR,在经过下一台ABR时,修改为新的ABR
LSA4 asbr除ASBR所在区域外的整个ospf域与ASBR在一个区域且直连区域0的ABRASBR所在位置ASBR的RIDABR,在经过下一台ABR时,修改为新的ABR
LSA5 ase整个OSPF域ASBR域外路由条目域外路由的目标网络号ASBR
LSA7 nssa单个NSSA区域ASBR域外路由条目域外路由的目标网络号ASBR

注: LSA4 asbr:ASBR所在区域基于1类获取ASBR位置

三、 OSPF优化--减少LSA的更新量

1、汇总 --- 减少骨干区域的路由条目数量

2、特殊区域-- 减少非骨干区域的路由条目数量

【1】汇总--OSPF协议不支持接口汇总,在一个区域内,邻接间传递的是拓扑信息,不能进行汇总;故只能在交互路由的边界设备进行汇总

1)域间路由汇总--在区域间的ABR上,交互区域间路由条目时进行汇总配置

[r2]ospf 1 
[r2-ospf-1]area  1 本地通过该区域1/2类LSA计算所得路由,可以汇总后传递给其他区域
[r2-ospf-1-area-0.0.0.1]abr-summary 3.3.0.0 255.255.252.0 

2)域外路由汇总---ASBR在将外部的路由条目通过重发布协议,共享到OSPF协议中时;

可以进行汇总

[r4]ospf 1 
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0 

【2】 特殊区域 -- 用于减少各个非骨干区域的LSA数量

要求:不能为骨干区域, 不能配置虚链路, 同时不能存在ASBR, 存在ASBR

[1] 同时不能存在ASBR

1)末梢区域--拒绝4/5类的LSA;由该区域连接骨干区域的ABR向该区域发布一条3类的缺省

[r2]ospf 1    
[r2-ospf-1]area  1 
[r2-ospf-1-area-0.0.0.1]stub    配置末梢区域

注:该区域内的所有路由器均需配置该命令

2)完全末梢区域 在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条3类的缺省路由

先将整个区域所有路由器配置为末梢区域;然后仅再在连接骨干区域的ABR上配置完全即可

[r2]ospf 1 
[r2-ospf-1]area  1 
[r2-ospf-1-area-0.0.0.1]stub no-summary    配置完全末梢区域

[2] 存在ASBR

1)NSSA 非完全末梢区域 -- 该区域将拒绝4/5类LSA,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;

NSSA设计的重点,不是减少该区域内ASBR产生的域外路由,而是网络中其他部分的ASBR产生的域外路由;

[r2]ospf 1 
[r2-ospf-1]area  1 
[r2-ospf-1-area-0.0.0.1]nssa  本区域内部所有设备均需配置

2)完全NSSA --- 在NSSA的基础上,进一步拒绝3类LSA的进入,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省

先将该区域配置为NSSA区域,之后仅在该区域连接骨干的ABR上配置完全即可

[r2]ospf 1 
[r2-ospf-1]area  1      
[r2-ospf-1-area-0.0.0.1]nssa  no-summary 

切记:NSSA和完全NSSA的工作环境,需要考虑ISP(运营商)所在位置,否则可能导致环路出现


<r10>display  ospf routing  查看OSPF路由;显示本地发出和学习到的OSPF路由条目

ospf扩展配置:

1、认证 ---在直连的邻居或邻接之间,配置身份核实秘钥来保障邻居、邻接间数据沟通的安全性

1)接口认证

在直连连接的接口上配置---两端的模式、编号、秘钥必须完全一致

[r6-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456

2)区域认证

将该路由器R1,所有属于区域1的接口全部进行认证

[r1]ospf 1 
[r1-ospf-1]area  1 
[r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456

3)虚链路认证

[r10-ospf-1-area-0.0.0.4]vlink-peer  9.9.9.9 md5 1 cipher 123456

2、沉默接口

用于路由器连接PC终端设备的接口,这些接口为全网可达,会在路由协议中被宣告;故这些接口也会周期向下方的终端发送路由协议信息,造成资源占用,及安全问题;故这些接口需要关闭发送RIP/OSPF等协议数据包行为--沉默接口(被动接口)

切记 : 不要配置到路由器与路由器相连的骨干接口,将导致邻居间无法收发路由信息,无法建立邻居关系

[r2]ospf 1 
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2

3、加快收敛

通过修改邻居间hello 和dead time,可以实现加快收敛,但频率过高后也会占用更多硬件资源;故hello time为10s时,不太建议再加快; hello time 为30s时可以酌情修改;

邻居间的hello time和dead time 必须完成一致,否则无法建立邻居关系;

修改本端的hello time,本端的dead time自动4倍关系匹配;对端时间不变,需要手工将两端配置完全一致;

[r2-GigabitEthernet0/0/0]ospf timer hello 10 

4、缺省路由

1)3类缺省---特殊区域自动产生 : 末梢、完全末梢、NSSA、完全NSSA

  • 末梢、完全末梢、完全NSSA这3中特殊区域,会在配置完成后,由该区域连接骨干区域的ABR向该区域内部发送;

  • 在华为设备中,NSSA和完全NSSA,会在配置完成后,由该区域连接骨干区域的ABR向内部发布7类的缺省路由;

  • 因此完全NSSA将拥有3类和7类两种缺省,内部优于外部,故信任3类;

2)5类缺省-- 外部路由,重发布产生的;(最常见的) 重发布条件 : 本地路由器的路由表中,存在任意方式产生的缺省路由后,通过专门的指令,将其重发布到OSPF协议中;

[r9]ospf 1 
[r9-ospf-1]default-route-advertise  
将本地路由表中通过其他方式获取的缺省路由,重发布到内部的OSPF协议中 默认导入类型2路由
 
[r9-ospf-1]default-route-advertise always 
​​​​​​​强制重发布缺省路由--即便本地路由表中没有缺省路由,也强制向内部发布一条缺省路由 默认导入类型2路由
[r9-ospf-2]default-route-advertise type  1 修改为类型1;

3)7类缺省 --- NSSA或完全NSSA,自动由该区域连接骨干的ABR发出,但在完全NSSA中还会产生3类缺省,故完全NSSA中7类缺省无意义;

默认和5类一样也是类型2;

[r6-ospf-1-area-0.0.0.3]nssa  default-route-advertise
 手工产生7类缺省,前提在NSSA区域中 (少用)

若一台设备同时学习到的多条不同类别的缺省路由:

  • 内部优于外部 故 3类优于5/7

  • 若均为5类 或均为7类 类型1优于类型2 类型相同,比较优先级,优先级相同比较cost值,完全一致负载均衡;

  • 若5、7类相遇,类型1优于类型2;类型相同,比较优先级,优先级相同比较cost值,完全一致5类优于7类;


一、 OSFP扩展知识点

[1]用关于OSPF状态机的问题

  1. 在MA网络中(进行DR/BDR选举)存在7种状态机

    init是路由器A收到邻居B的hello包,但该hello包中没有A的RID;

  2. 在点到点网络init状态机在判断可以建立邻居后,直接进入exstart状态机;没有2way状态机----6种状态机

    在点到点网络实际仅存在邻接关系;在MA网络(选举DR/BDR)网络中存在邻居和邻接关系;

  3. 若邻接间的数据库默认一致,将不需要进入loading状态机;

  4. 在hello时间较大时,比如p2mp和nbma工作方式,默认hello time为30s;

    hello包收发的间隔较大,从down状态到init需要很长时间的等待,故在两种状态机,存在一个尝试状态机;

  5. 华为设备中ospf存在加速建邻机制--- 在两台路由器进行过一次邻接关系建立后,双方存在对端的缓存信息后;二次建邻时将快速完成状态机的切换;--前提是缓存未删除---认证或拥塞

[2]关于OSPF的DBD包--- 排序问题(隐性确认问题)

首先在exstart状态机,邻接设备间会使用不携带LSA头部信息的DBD包进行主从关系的选举,该选举的作用决定了哪台设备优先进入exchange状态机的顺序;

同时在exchange状态时,邻接间将收发携带LSA头部信息的DBD包;可能由于LSA头部信息较多,将多次收发DBD,也需要进行排序;

所以主优先进入exchange,主在exchange优先发送DBD,在发送一个DBD后,需要接收到对端的DBD后,才能发出下一个DBD;目的在于避免两端同时发送携带LSA的DBD报头,导致链路拥塞; 故为了顺序正常,DBD需要进行隐性确认;

隐性确认:

从在收到主的DBD包后,复制该DBD包的序列号回复DBD;

在主或从未完成所有LSA头部信息的共享前,对端设备需要使用空包(不携带LSA信息,但复制了对端序列号的DBD)来完成确认;

隐性确认可以让ospf协议在exchange状态机取消ACK的确认;

DBD报头中存在标记位来告知邻接,是不是本地第一个DBD和最后一个DBD,同时标记主从关系;

I位为1 标识本地第一个DBD M位为一标识不是本地最后一个DBD

MS 位为1标识主,为0标识从; 第一次收发的DBD两端均人为是主;

DBD包中将携带接口的MTU值,两端MTU不一致将卡在exstart或exchange状态机;

默认华为不检测接口的MTU;

[r7]interface GigabitEthernet 0/0/1
[r7-GigabitEthernet0/0/1]ospf mtu-enable  开启接口mtu检测

[3]附录E --- link-id相同的问题

若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的link-id会相同;

假设:短掩码网段先进入,link-id正常显示;长掩码进入时link-id加反掩码

20.1.0.0/16--link-id 20.1.0.0

20.1.0.0/24--link-id 20.1.0.255

若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;

[4]OSPF选路规则

1、AD(管理距离,优先级)无关的一种情况:

r2(config)#router ospf 1

r2(config-router)#distance 109 1.1.1.1 0.0.0.0

本地从RID为1.1.1.1的设备处学习到路由条目,管理距离修改109;

一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离;因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败;-关注IOS版本---有时修改RID大路由器管理距离生效,有时需要修改RID小的设备;

2、AD(管理距离)无关的第二种情况 O IA 3类

O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离;

若一条通过骨干区域传递,另一条同过非骨干区域传递--非骨干传递的路由无效

OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生

先比类型(5/7的LSA才存在类型)--> 区域(骨干优于非骨干)-->cost(小优)

3、OE 与OE E为5类 N 为7类 默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量;

两条均为OE2或者均为N2,起始度量相同; 关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)

两条均为OE2或者均为N2,起始度量不同;优先起始度量小的路径;

注:以上设计是便于管理员快速干涉选路;

OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改后使得总度量产生区别才能干涉选路;

4、拓扑优于路由 1/2LSA计算所得路由优于3/4/5/7类计算所得

内部优于外部 3类优于4/5/7类

类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;

E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类

[5]FA-转发地址

正常OSPF区域收到的5类LSA不存在FA值;

产生FA的条件:

1、5类LSA ---- 假设R2为ASBR,g0/0口工作的OSPF中,g0/1口工作在非ospf协议或不同ospf进程中;若g0/1也同时宣告在和g0/0相同的OSPF进程中,同时该接口的工作方式为广播型;

将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;

2、7类LSA---必然出现FA地址

假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;

S0/1未运行OSPF--FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)

R9的S0/1也工作OSPF协议中,S0/1接口工作方式为广播,那么FA地址为R10接口ip;

S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip

切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;

当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;

一旦出现FA地址,所有的选路计算均基于FA地址进行;

1、针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;

2、路由表中的度量是到FA地址的度量,不是到ASBR的度量;

 [6]NP位+E位 P位被加密,故抓包时看不见P位;

正常NSSA区域内的1类LSA中,N=1 E=0 标识该区域转发7类LSA,不转发5类

非NSSA区域E=1 N=0 标识可以转发5类,不能转发7类

P位为1,标识该区域将执行7类转5类; P为0,不能7转5;

区域0连接到两个非骨干区域,这两个非骨干假设为区域1和区域2;区域1/2同时连接同一个外部协议,且同时进行了重发布配置;区域1为NSSA区域,区域2为非NSSA区域;那么此时的区域1,P位=0不能进行7转5;故骨干区域只能收到从区域2来的外部路由;

若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现;

若区域1和区域2均为NSSA区域,那么ABR的RID大区域进行7转5,另一个区域不转,

故同一条域外路由,骨干区域只能收到从一个NSSA区域传递的外部路由;若以上条件中,两个区域均为非NSSA区域,那么P位无效,故两个区域的路由均回进入骨干区域;

[7]SFP算法 –OSPF防环机制

1、在同一个区域每台路由具有一致的LSDB

2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)

3、必须区域划分--

优势-1)域间汇总减少路由条目数量

2)汇总路由是在所有明细路由均消失后才删除,网络更稳定

3)区域划分后不同类别的LSA传播范围不同,控制更新量

总结:观看OSPF防环文档

过程--基于本地LSDB(1/2类LSA)生成--生成有向图--基于有向图来进行最短路径树生成

最短路径树,关注本地LINK-ID的LSA开始--》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;

然后用树中每台设备的末梢网络信息补充路由表,完成收敛;

OSPF优选路径总结:

拓扑优于路由 1/2LSA计算所得路由优于3/4/5/7类计算所得

内部优于外部 3类优于4/5/7类

类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;

E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类

同一路由本地基于骨干区域和非骨干均学习到,不比较度量,直接优选骨干--非骨干传递的路由无效

OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生


邻接问同步数据库----路由器基于本地的数据库,中的1/2的 LSA (拓扑)----转换为有向图 --->转换为树形结构---本地基于最短路径树.计算本地到达所有未知网段路由,加载于本地路由表中。

 Stub网段表示该网段只有数据入口,例如一个Loopback接口就是一个 Stub网段。

此胶片描述了路由器节点和Stub网段的表示方式。

Cost表示从一个端点到另一个端点的开销,该参数可以在OSPF接口上配 置,表示数据离开该接口(出接口)的开销。

Transit网段有能力转发既不是本网段产生的,也不以本网段做为目的地的数据。

有至少两台路由器的广播型网段或NBMA网段就是一种Transit网段。

从路由器到所连Transit网段的开销值就是连接到这个网段的接口所配置的开销值。

从一个Transit网段到连接到这个网段的路由器的开销为0。(称为伪节点)

在描述点到点接口的Router-LSA中:

  1. 通告一个到邻居路由器的点到点链接, Link ID设置为对端的Router ID,Data设置为本地接口的IP地址;

  2. 通告一个到该点到点网段的Stub连接, Link ID设置为该点到点网段 的网络号, Data设置为该点到点网段的网络掩码;

  3. 上述两个连接的Cost值均为该点到点接口上的Cost值。

LSDB描述两接口处于不同网段的点到点网段的规则如下:

  • 两台路由器经由两条有向线段直接相连,每个方向一条。

  • 两个接口的网段被表示成Stub网段。

  • 每个路由器通告一个Stub连接到该路由器所连的网段。

LSDB描述两接口处于同一网段的点到点网段的规则如下:

  • 两台路由器经由两条有向线段直接相连,每个方向一条。

  • 连接两个接口的网段被表示成Stub网段。

  • 两个路由器同时通告Stub连接到该PPP网段。

 

根据上文描述上图拓扑在LSA传递完毕后生成有向图

 接下来计算分为俩个阶段

第一阶段 计算Transit节点,忽略Stub节点,生成一个最短路径树

第二阶段 只计算Stub节点,将Stub网段挂到最短路径树上去

 


重发布、重分布、重分发:

在一个网络中,出现了两种路由协议,或者同一种的不同进程时;

协议间、进程间,数据库、信息独立不共享;

重发布技术,可以在两种协议或两种进程间,进行路由条目的共享,实现全网可达;

关注点:

1、ASBR--- 自治系统边界路由器(协议边界路由器)

重发布动作只能由ASBR来完成,它同时工作在两种协议或两种进程间;

2、种子度量--起始度量 --- 由于不同协议存在不同度量的计算参数,且存在不同的最大值;

故将A协议发布到B协议时,ASBR将清除该条目在A协议中的度量,而是人为添加一个起始度量值,再将路由条目共享到B协议中;B协议可以基于起始度量来叠加内部度量;

规则:

1、将A协议发布到B协议时,是在ASBR上,的B协议中进行命令配置;

2、将A协议发布到B协议时,是将ASBR上所有直连于A协议上的路由,及ASBR通过A协议学习到的所有路由全部共享到B协议中;

名词:单点 多点 单向 双向

配置命令:

3方面

A协议发布B:一种动态路由协议发布到另一种动态路由协议

或者同一协议的A进程发布到B进程

静态--->B协议 将ASBR上静态手写的路由,重发布到一种动态路由协议中

直连--->B协议 将ASBR上未宣告到某个动态路由协议中的直连条目,重发布到该协议

Rip:

  • A-->B

[r4]rip 1 
[r4-rip-1]import-route  ospf  1 
[r4-rip-1]import-route ospf 1 cost 2 可修改默认种子度量  默认为0;
  • 静态-->B

[r4-rip-1]import-route  static

默认为度量为0; 缺省静态路由通过重发布静态是不能进行的;

  • 直连-->B

[r4]ospf 1 
[r4-ospf-1]import-route  direct

默认为度量为0;

注:在将其他动态路由协议学习到的路由重发布进入rip的同时,也将ASBR上的未工作在RIP的路由重发布到RIP;两者若发布了部分相同的路由条目,优选重发布直连;

OSPF:

  • A-->B

[r4]ospf 1 
[r4-ospf-1]import-route  rip 1 

默认导入路由,其优先级为150;5类或7类LSA共享;

默认种子度量为1;类型为2;

类型2代表cost值处仅显示种子度量,不显示沿途累加后总度量;但选路时基于总度量(种子度量+沿途累加)来选的;

[r4-ospf-1]import-route  rip 1 type 1 修改类型
[r4-ospf-1]import-route  rip 1 cost  2 type 1  类型和种子度量均修改

类型1 显示总度量;选路时类型1优于类型2;

  • 静态-->B

[r4-ospf-1]import-route  static 

默认种子度量为1;类型为2;

缺省路由不能在重发布静态时导入;只能使用专门的命令来导入ASBR从其他协议处产生的缺省路由

[r4-ospf-1]default-route-advertise
  • 直连-->B

[r4-ospf-1]import-route  direct

默认种子度量为1;类型为2;

举报

相关推荐

0 条评论