华为数通HCIP-OSPF路由计算

路由协议

作用:用于路由设备学习非直连路由;

动态路由协议:使路由设备自动学习到非直连路由;

分类:

按照算法分类:

1、距离矢量路由协议;(RIP、BGP)

只交互路由信息,不交互拓扑信息,运行距离矢量路由协议的路由器,只关心目的网段如何到达,无法得知网络结构;

拓扑信息:用于描述网络结构的信息(如接口带宽、接口类型等)

路由信息:目的网段以及掩码;

2、链路状态路由协议;(ospf、isis)

既交互路由信息,也交互拓扑信息,运行链路状态路由协议的路由器,可以得出全网的网络结构,并且计算出去往目的网段的最优路由,进行访问;

按照工作范围分类:

1、IGP(内部网关协议)-ospf、isis;

工作在一个AS内的动态路由协议,实现AS内部的互通;

会周期更新路由(ospf 1800s/次,超时时间为3600s;isis 900s/次 超时时间1500s)

2、BGP(边界网关协议)

工作在AS之间,实现AS之间的互通;

不会周期更新路由,只会触发式更新;

AS(自治系统/路由域)

定义:运行相同路由协议,具有相同管理规则的区域(一般为一个企业网);

按照传递路由时是否携带掩码分类:

1、有类路由协议

路由传递时,无需携带掩码,对端收到后,根据网段的类别,自动生成掩码;

2、无类路由协议(ospf、isis、BGP)

传递路由时,会携带掩码

——————————

ospf(开放式最短路径优先协议)

分类:链路状态路由协议、IGP、无类;

工作过程:

1、建立ospf邻居关系;

2、建立ospf邻接关系(同步LSDB);

LSDB(链路状态数据库):每台运行了ospf的路由器都会有一个LSDB,里面会携带自身的LSA;

LSA(链路状态通告信息):携带自身的路由信息以及拓扑信息;

同步LSDB:邻居双方相互发送LSA,直至双方的LSDB完全一致,既包含自身的LSA,也包含对方的LSA;

3、每台ospf路由器都会根据同步完成的LSDB,进行spf计算,得出全网网络结构,算出去往每个目的网段的最优路由,放进路由表;

报文:

结构:ospf层——网络层——数据链路层

ospf工作在网络层,协议号为89;

报文发送方式:组播发送,组播地址224.0.0.5(所有ospf路由器均可以接收)、224.0.0.6(只有DR/BDR可以接收)

ospf层:ospf头部+报文详细信息;

其中ospf头部所有ospf报文都会携带,并且携带内容一致;

报文的详细信息:不同报文类型,携带不一致;

ospf头部详细信息:

1、版本:v2/v3,分别工作在ipv4/v6环境;

2、router id(发送端)

格式大小:跟ip地址完全一致;

作用:唯一标识一台ospf路由器(不能冲突)

获取方式:

(1)手工配置

[R1]ospf 1 router-id 1.1.1.1 //创建并且进入ospf进程1,并且指定router id为1.1.1.1

修改router id后,需要重启ospf进程才能使新的router id生效;

<R1>reset ospf process //重启ospf进程;

(2)如果没有手工指定,则会自动进行选举;

选举规则:先在loopback接口中,选择最大的一个作为router id;

如果没有配置loopback口,则在物理接口中选最大的一个作为router id;

在实际设备中,会选择最先启动的接口ip作为router id;

3、区域id(area id)

标识发送ospf报文的接口属于哪一个区域;

区域分类:骨干区域(area id=0):必须要有

非骨干区域(area id=/=0):可有可无

普通区域、特殊区域(stub、totally stub、nssa、totally nssa);

区域划分:

基于接口进行划分;

划分规则:

(1)骨干区域必须要有,有且仅有一个;

(2)非骨干区域必须围绕着骨干区域建立,非骨干区域之间的互通,必须经过骨干区域;

4、认证信息:默认为空,如果配置了,两端需要认证通过才能建立ospf邻居;

分类:

1、hello报文

作用:用于发现、建立、维护ospf邻居(10s/次相互发送hello报文维持邻居),并且可以感知邻居的离开(超时时间为hello时间的4倍,默认为40s);

携带内容:

(1)掩码:标识发送hello报文的端口的掩码;

(2)hello时间/超时时间

(3)DR优先级、DR与BDR的ip地址;

(4)活跃邻居列表:携带hello报文的发送者的邻居router id;

(5)option位:用于标识区域类型;

E=1 N=0 普通区域

E=0 N=1 NSSA、totally NSSA

E=0 N=0 STUB、totally STUB

2、DD(数据库描述报文)

作用:携带自身LSDB中所有LSA的摘要信息,用于告知邻居,自身的LSDB中包含哪些LSA;

携带内容:

(1)MTU:代表接口发送的最大的数据单元,默认位1500B;

(2)flags:

I:代表该DD报文,是否为本设备发送的第一份DD报文;

M:用于标识该设备后续是否还有DD报文需要发送;

MS:代表该DD报文的发送端,是否为主设备;

(3)序列号;

3、LSR(LSA请求报文)

作用:携带自身需要获取的LSA的摘要信息,用于在收到DD报文后,向邻居请求自身缺少的LSA;

4、LSU(LSA更新报文)

作用:携带LSA的详细信息,用于回应LSR的请求;

5、LSACK(LSA确认报文)

作用:携带LSA的摘要信息,用于在收到LSU报文后,进行回复,确认收到;

ospf邻居状态机(详细的工作过程)

1、down

ospf路由器刚运行的状态,在该状态下代表ospf路由器没有收到任何的ospf报文,但可以发送hello报文进行邻居发现;

2、init

ospf路由器收到hello报文,并且该hello报文的邻居列表不包含自身的router id,则进入该状态;

3、2-way

ospf路由器收到hello报文,并且该hello报文的邻居列表包含自身的router id,则进入该状态;

当双方都进入2-way状态,则ospf邻居关系建立完成;

会进行DR/BDR的选举,选举完成后进入下一个状态;

4、exstart

邻居双方会相互发送不携带lsa摘要信息的DD报文(空DD),用于确保后续同步LSDB过程的可靠性;

携带内容:MTU、m=1、i=1、ms=1、序列号(随机生成)

作用:1、用于选举主从路由器;

选举规则:router id大的为主;

2、协商MTU,如果不一致,则邻接关系无法建立,停留在exstart状态;

3、确定序列号,以主的序列号为准;

5、exchange

邻居双方相互发送携带自身LSA摘要信息的DD报文,用于告知对端自身的LSDB中含有哪些LSA;

过程:

(1)由从先发出DD报文,其中序列号,为主设备在exstart发送的DD报文的序列号;

(2)主设备收到从设备的DD报文后,自身需要发出的DD报文的序列号,为从设备发出的DD报文的序列号+1;

(3)从设备收到主设备发送的DD报文,自身需要发出的DD报文的序列号等于主设备发送的DD报文中的序列号

(4)双方发送的DD报文中的M位均为0时,代表双方的LSA摘要信息全部发送完成,进入下一个阶段;

6、loading

邻居双方相互发送LSR、LSU、LSACK报文进行LSDB的同步;

5s重传机制:如果ospf路由器发送LSR、LSU后,没有收到对应的回应,则会将该报文重新发送,5s/次;

当重传列表为空时,代表本设备没有需要请求的以及发送的LSA,则进入FULL状态;

7、full

进入该状态,说明邻接关系建立完成,开始计算路由;

DR/BDR

DR:指定路由器,一个网段中有且只有一个;

BDR:备份指定路由器,一个网段中有且只有一个;

DRother:一个网段中可以有0到多个;

作用:减少ospf邻接关系的数目,从而减少网络中报文交互的数目,从而节省链路资源;

原理:DR可以跟所有路由器建立邻接关系;

BDR可以跟所有路由器建立邻接关系;

DRother之间无法直接建立ospf邻接关系,它们之间会停留在邻居关系的状态,但可以通过DR/BDR完成LSDB的同步;

选举:

选举状态:2-way

选举报文:hello报文

选举规则:

(1)比较DR优先级,越大越优;(默认为1,可调范围0~255,其中0代表不参与选举)

(2)比较router id,越大越优;

特点:

1、不抢占:一旦网络中的DR/BDR确定,则除非它们故障,否则地位都不会改变;

2、有备份:BDR作为DR的备份,一旦DR故障,BDR马上成为DR;

选举时间:等待时间(wait time),默认为120s

等待时间选举过程:

1、当ospf路由器刚启动,就会开始计时,在等待时间计时结束前,该路由器不会参与DR/BDR选举,并且如果在此过程中收到hello中DR/BDR有携带ip地址,则直接承认它们的地位;

2、当等待时间计时结束后,才会开始进行选举,并且将自己的ip地址填充进hello报文的DR字段中进行发送;

优先级最大的ospf路由器,一定为DR——x

最先启动的ospf路由器,一定为DR——√

网络中必须有DR,但不一定有BDR;

interface GigabitEthernet0/0/0

ospf dr-priority 2 //修改接口的dr优先级为2

基础配置

1、创建并且进入ospf进程,指定router id

[R1]ospf 1 router-id 1.1.1.1 /只有第一次创建进程时,需要指定router id,后续再进入无需指定

2、进入区域视图(以区域0为例)

[R1-ospf-1]area 0

3、宣告网段

[R1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255 //以网段的方式进行宣告,网段后需要接反掩码(255.255.255.255-掩码得出);

network 10.1.12.2 0.0.0.0 //以接口ip的方式宣告(精确宣告)

**只能宣告自身的直连网段;

display ospf brief //查看ospf摘要信息,其中包含router id、hello时间、DR信息;

display ospf peer brief //查看ospf邻居

开销

ospf开销=接口参考带宽/实际带宽;

越小越优;

GE/E——1

点到点链路——48

interface GigabitEthernet0/0/0

ospf cost 2 //修改接口开销为2

网络类型

作用:用于使ospf适应不同的底层链路;

底层链路 是否选举DR/BDR hello时间/超时时间 报文发送方式

广播型网络(MA) 以太网链路 选 10s/40s 组播发送:hello报文、LSACK、LSU;单播发送:DD、LUR

P2P 点到点链路 不选举 10s/40s 所有报文均为组播

NBMA 帧中继网络 选 30s/120s 所有报文均为单播

P2MP 无(需要手动调整) 不选举 30s/120s 组播:hello,其余报文均为单播

P2P网络不选举DR/BDR的原因:

P2P网络一般只有两端的两台设备,如果选举的话,一台为DR、一台为BDR,都会建立邻接关系,因此在P2P网络中选举DR/BDR,无法减少邻接关系的数目,并且还需要消耗选举的时间以及开销,因此没有必要选举;

因此一般P2P网络ospf邻居的建立时间会快于广播型网络;

针对只有两台设备相连的以太网链路,可以将其ospf的网络类型修改为P2P,无需选举DR/BDR,加快邻居关系建立的速度;

interface GigabitEthernet0/0/1

ip address 10.1.24.2 255.255.255.0

ospf network-type p2p //修改接口的网络类型为P2P;

邻居关系:

1、广播型网络:能跟P2P建立、修改hello时间一致后可以跟P2MP建立邻居关系;

2、P2P:可以跟广播型网络建立,修改hello时间一致后可以跟P2MP建立邻居关系;

ospf认证

作用:提高ospf网络的安全性;

原理:只有认证通过才能建立ospf邻居关系;

认证通过:认证类型以及用户名、密码要一致;

认证方式:

接口认证:配置在接口下;

区域认证:配置在区域下;

认证类型:

明文认证(simple)

特点:配置时只需要指定密码;

抓包时可以看得见密码;

直接根据密码进行认证,密码一致则通过;

认证过程简单、节省报文空间,安全性差;

密文认证:(MD5、keychain)

特点:配置时需要指定key id以及密码;

抓包时可以看不见密码;

根据hash值(通过key id、密码以及加密序列号进行hash计算得出)进行认证,密码一致则通过;

认证过程复杂,安全性高;

配置参数:

plain:查看配置时可以看见密码;

cypher:查看配置时无法看见密码;

配置:

interface GigabitEthernet0/0/0

ospf authentication-mode simple plain huawei //接口下配置明文认证,密码为huawei

ospf 1 router-id 2.2.2.2

area 0.0.0.0

authentication-mode simple cipher huawei //区域下配置明文认证,密码为huawei

interface GigabitEthernet0/0/0

ospf authentication-mode md5 1 plain huawei //接口下配置密文认证,key id为1,密码为huawei

当一个区域下配置了认证,同时接口下也配置了认证,则该接口以接口配置的认证为准;

keychain认证:

定义:一个keychain由多个key id以及对应的密码组成,可以在不同的时间,使用不同的key id以及密码,提高网络的安全性;

配置

[R3]keychain 1 mode periodic daily //创建钥匙串,设置认证的模式为周期,周期为按天;

key-id 1 //创建key id 1

key-string plain huawei //设置密码为huawei

send-time daily 00:00 to 12:00 //在每天的0点到12点,使用key id 1,密码huawei进行认证;

receive-time daily 00:00 to 12:00

key-id 2

key-string plain huawei

send-time daily 12:01 to 23:59

receive-time daily 12:01 to 23:59

interface GigabitEthernet0/0/0

ospf authentication-mode keychain 1 //接口或者区域下调用;

LSA

LSA摘要信息:唯一标识一份lsa;

ls type:代表lsa的类型;

ls id;链路状态id,不同类型的lsa,代表含义不一样;

adv router:产生该lsa的设备的router id;

单区域:使用1、2类lsa;

在一个区域内,最终所有该区域的ospf路由器都会同步LSDB;

lsa-1

route lsa

所有的ospf路由器都会产生(仅产生一份);

传递范围:一个区域内;

防环:SPF算法;

摘要:

ls id:产生该LSA的设备的router id;

adv router:产生该LSA的设备的router id;

ls type:route

详细信息:

1、当设备存在p2p网络类型的接口时,会产生,描述p2p网络的拓扑信息;

link-type:p2p

link id:本设备通过P2P链路连接的对端的设备的router id;

data:接口ip;

开销:接口开销;

2、当设备存在广播型网络的接口时,会产生,用于描述广播型网络的拓扑信息;

link-type:transnet

link id:DR的ip地址

data:本接口ip

开销:接口开销;

**DR产生的transnet的信息,其中link id与data会一致;

3、当设备存在p2p网络类型的接口,或者存在宣告进ospf的loopback时,会产生,用于描述P2P网络以及loopback接口的路由信息

link-type:stubnet

link id:目的网段

data:掩码

开销:本设备去往该网段的ospf开销

4、当设备配置了v-link会产生;

link-type:virtual

link id:虚链路对端的ip

data:自身接口ip

开销:本设备去往对端开销

lsa-2

network-lsa

只有DR会产生,用于描述广播型网络的路由信息以及部分拓扑信息;

传递范围:区域内传递;

防环:SPF算法;

摘要信息:

ls type:network lsa;

ls id:DR的ip地址

产生者:DR的router id;

详细信息:

掩码;

加入进该网段的设备的router id;

display ospf lsdb //查看设备的ospf lsdb中的lsa的摘要信息;

display ospf lsdb router x.x.x.x //查看一类lsa的详细信息,其中x.x.x.x为需要查看的ls id

display ospf lsdb network x.x.x.x //查看二类lsa的详细信息,其中x.x.x.x为需要查看的ls id

FULL-SPF算法:

在网络刚启动ospf时,会进行计算;

定义:每台路由器,会根据自身收集到的区域内的一二类lsa,进行计算,画出SPF树,得出最优路由;

计算方式:

1、每台路由器都会把自己当成树根,进行计算,先查看自身产生的一类lsa,查看其中的拓扑信息;

根据开销,选择最小的拓扑信息,新增节点,如果link-type为transnet,新增的为伪节点,通过p2p类型新增的为实节点;

2、再根据新增的节点,去查找相关联的lsa,其中实节点,查找1类lsa,伪节点查找2类lsa,再继续新增新节点,直至网络中没有新节点增加为止;

3、在每个节点上,挂上路由信息,计算出最优路由;

区域间通信:

ABR(区域边界路由器)

定义:在骨干区域以及非骨干区域同时存在FULL邻接关系的ospf路由器;

lsa-3

由ABR产生,只携带路由信息;

传递范围:区域间;(除产生区域外的其他相邻区域,特殊区域除外)

产生过程:ABR会将区域内1、2类lsa中的路由信息,转成3类lsa在其他相邻的区域内传递,其他区域的设备收到后,会累加自身到ABR的开销,得出去往目的网段的路由;

摘要:

ls type:summary-lsa

ls id:目的网段;

产生者:ABR的router id;

详细信息:

掩码;

开销:产生该三类lsa的abr到目的网段的开销;

透传:

当ABR收到三类LSA时,会进行透传操作:

将产生者变为自己,开销修改为自身到目的网段的开销,在其他相邻的区域内传递(特殊区域除外);

防环:

1、水平分割规则:

当ABR从非骨干区域收到三类LSA时,执行只接收,不计算的、不透传的操作;

接收的原因:(1)用于备份路径;

(2)需要在区域内同步LSDB;

2、LSA-1、2优于LSA-3

当ABR同时收到描述相同路由的1、2类lsa以及3类lsa时,会优选1、2类lsa,同时不会将收到的3类lsa进行计算以及透传,作为备份路径使用;

vlink(虚链路)

定义:配置在边界设备上,配置后相当于在配置的两端另外单独建立了一个骨干区域(area 0)的邻接关系;

原理:vlink两端设备会以单播的形式同步area 0的数据库,另外也是通过单播发送hello报文维持邻接关系;

作用:解决因区域划分不规则导致的无法互访的问题;

配置:

ospf 1 router-id 2.2.2.2

area 0.0.0.2 //进入双方共处的区域

vlink-peer 4.4.4.4 //指定对端的router id

display ospf vlink //查看vlink邻接关系的建立情况

配置的注意事项:

1、vlink无法跨区域建立,因为需要通过1类lsa(virtual类型的link type)定位对端的位置,单播发送lsa;

2、骨干区域不可以配置;

3、特殊区域不能配置

危害:

1、增加网络的复杂度;

2、存在环路隐患;

路由引入:

将一个协议的路由以另一个协议路由的形式,在另一个协议中传递;

ospf外部路由:

通过其他协议引入进ospf的路由,优先级默认为150;

ASBR(自治系统边界路由器)

指进行了外部引入的ospf'设备;

LSA-5

用于描述外部路由,携带路由信息;

由ASBR产生;

传递范围:整个ospf域,特殊区域除外;

防环:根据1、2、3、4类lsa的防环规则防环;

摘要信息:

ls type:external

ls id:目的网段;

产生者:ASBR的router id;

详细信息:

掩码;

开销:外部开销;

外部开销:ASBR在进行路由引入时,指定的开销,默认为1;

内部开销:需要访问外部路由的设备到ASBR的开销;

type:代表开销计算方式,分为type 1以及type 2,默认为2;

type 2:直接比较外部开销,比不出来再比较内部开销,路由表上,只呈现外部开销;

type 1:直接比较内外开销之和,路由表上,呈现内部开销+外部开销之和;

为什么需要区分type 1以及type 2:可以在进行选路时,更加灵活控制流量走向;

tag:路由标记,用于匹配路由,默认为1

FA地址(转发地址)

默认为0.0.0.0

作用:解决次优以及环路的问题;

置位条件:

1、ASBR发送lsa-5的接口,跟它自身访问外部路由的出接口为同一接口;

2、上述接口宣告进ospf,并且没有静默;

满足置位条件后,FA会被置位为外部路由的下一跳;

原理:

1、当FA地址为0时,ospf设备通过4类lsa找到ASBR的位置去访问外部路由;

2、当FA地址不为0时,ospf设备直接通过1、2、3类lsa找到FA地址,从而访问外部路由

ospf 1 router-id 5.5.5.5

import-route static cost 2 //引入外部路由时,修改外部开销为2

import-route static cost 2 type 1 //修改开销计算类型

import-route static tag 10 //为引入的路由打上tag 10

display ospf lsdb ase 6.6.6.6 //查看5类lsa的详细信息;

LSA-4

作用:携带ASBR的router id(位置信息),其他ospf设备会根据该lsa找到ASBR,从而访问外部路由;

摘要:

ls type:asbr

ls id:ASBR的router id;

产生者:ABR的router id;

传递范围、防环规则、透传均跟lsa-3一致;

产生过程:

1、当一台ospf路由器引入了外部路由后,它产生的1类lsa中的option位asbr位置位为1;

2、同区域的ABR收到ABSR产生的1类lsa后,则会为该ASBR产生lsa-4,在其他相邻的ospf区域内传递(特殊区域出外)

特殊区域:

作用:保护性能较差的设备;

对性能要求:ASBR>ABR>骨干区域中间设备>普通区域中间设备>特殊区域中间设备;

1、stub区域

特点:不允许存在4、5、7类lsa;

当一个区域配置为stub区域时,该区域的ABR会下发一条描述默认路由的3类lsa,在stub区域内传递,该区域的设备就可以学习到默认路由,用于访问外部路由;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

stub //把区域2,配置成stub区域,注意整个区域的所有设备均需要配置;

2、totally stub区域

特点:不允许存在4、5、7类以及明细的3类lsa;

当一个区域配置为totally stub区域时,该区域的ABR会下发一条描述默认路由的3类lsa,在totally stub区域内传递,该区域的设备就可以学习到默认路由,用于访问其他区域的路由以及外部路由;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

stub no-summary //把区域2,配置成totally stub区域

缺陷:stub区域无法引入外部路由;

3、nssa区域

特点:不允许4、5lsa存在;

当一个区域配置为nssa区域时,该区域的ABR会下发一条描述默认路由的7类lsa,在nssa区域内传递,该区域的设备就可以学习到默认路由,用于访问其他区域引入外部路由;

nssa区域可以引入外部路由,引入的路由会以7类lsa的形式在nssa区域内传递;

当nssa区域的ABR在本区域收到7类lsa时,会进行7转5的操作:将类型修改为5类,产生者变为自己,在其余的ospf区域中传递(特殊区域除外),在其余区域的设备严重,该ABR为对应外部路由的ASBR;

当nssa区域中存在多台ABR时,只有router id大的可以进行7转5

lsa-7

用于描述在nssa区域内引入的外部路由,携带路由信息;

传递范围:nssa区域

摘要:

ls id:目的网段;

产生者:ASBR的router id;

type:nssa

详细信息:

掩码;

外部开销

开销计算类型

tag

FA地址(一般不为0)

选举规则:

(1)先看是否满足lsa-5的fa地址置位条件;

(2)在宣告进ospf中的loopback接口中选择最大的ip地址

(3)在宣告进ospf中的物理接口中选择最大的ip地址

作用:防止在nssa区域中存在多台ABR的情况下,只有一台进行7转5时,出现的次优路径问题;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

nssa //把区域2,配置成nssa区域

4、totally nssa

特点:在nssa区域的基础上,进一步过滤了明细的三类lsa,ABR在下发一条描述默认路由的3类lsa,用于访问区域外的路由;

配置:

ospf 1 router-id 3.3.3.3

area 0.0.0.2

nssa no-summary //把区域2,配置成totally nssa区域

ospf路由汇总

作用:减少路由表/LSDB规模

分类:

1、在ABR上实现,针对lsa-3生效;

ospf 1 router-id 2.2.2.2

area 0.0.0.1 //进入产生3类lsa的区域;

abr-summary 1.1.1.0 255.255.255.0 //进行路由汇总,汇总的结果为1.1.1.0/24

可选参数:not-advertise(汇总不通告),将汇总后的路由进行抑制,起到过滤路由的效果;

2、针对引入路由,在ASBR上实现

ospf 1 router-id 3.3.3.3

asbr-summary 4.4.4.0 255.255.255.0 //进程下进行汇总,如果存在nssa区域,则可以选择在ASBR或者是NSSA区域中进行7转5的ABR上做

静默接口

作用:使接口不发送hello报文,但不影响该接口的网段通告出去;

应用:用于连接终端设备的接口;

配置

ospf 1 router-id 1.1.1.1

silent-interface GigabitEthernet0/0/1

影响ospf邻接关系建立因素

1、版本需要一致;

2、router id不能一致;

3、区域id要一致;

4、如果配置了认证,认证需要通过;

5、掩码要求一致(p2p网络不检查该项)

6、hello/超市时间一致;

7、option中的E以及N位要一致(区域类型要一致)

8、接口不能被静默

9、MTU要一致;

10、网络类型:广播型与p2p网络可以建立full的邻接关系,但是路由计算会出问题(用的lsa不一样,无法正常计算SPF树);

猜你喜欢

转载自blog.csdn.net/qq_45179904/article/details/131886514