OSPF所含包的含义

 

条件匹配

指定路由器 --- DR  --- DR和MA网络中其他设备之间应该建立邻接关系备份指定路由器 --- BDR --- BDR也应该和MA网络中其他设备之间建立邻接关系,这样

BDR才能在DR出现故障时第一时间顶替DR的位置,起到备份的效果。

一个MA网络中,在DR和BDR都存在的情况下,至少需要几台设备才能看到邻居关系。---

4台,只有DR-Other之间会建立邻居关系。

DR/BDR --- 虽然名字叫做指定路由器/备份指定路由器,但一定注意,他其实是一个接口的概念。因为DR/BDR都是在一个MA网络中选取的。

条件匹配:在MA网络中,若所有设备均保持邻接关系,将出现大量的重复更新;所以,需要进行DR/BDR的选举;所有非DR/BDR的设备(DR-Other)之间仅保持邻居关系即可。

DR/BDR的选举规则:

1,先比较优先级,优先级最大的为DR,次大的为BDR 优先级默认为1。

[r1-GigabitEthernet0/0/0]ospf dr-priority ?  --- 修改接口优先级,为了方便人为干涉DR/BDR的选举

  INTEGER<0-255>  Router priority value

如果将一个接口的优先级修改为0,则代表该接口放弃DR/BDR的选举。

2,当优先级相同时,则比较RID。RID大的路由器对应接口为DR,次大的为BDR。

DR/BDR的选举是非抢占模式的,一旦DR和BDR选定,则将无法被替换。选举时间为死亡时间。(只是时间相同,并不是由同一个计时器计时)(这个时间仅是选举的一个上限时间,选举可以在短时间内完成,只要完成后则将不能抢占)

OSPF的数据包

OSPF协议是跨层封装的协议,跨四层封装,直接将应用层的数据封装在网络层协议后面。IP协议包中协议号字段对应数值为 --- 89

OSPF的头部信息

 

版本 --- 指的是OSPF版本,在IPV4中一般使用OSPFV2,所以,版本号一般为2 类型 --- 指的是OSPF数据包类型

Hello --- 1

DBD --- 2 LSR --- 3 LSU --- 4

LSACK --- 5

RID --- 谁发的这个数据包,就写谁的RID

AREA ID --- 数据包是从哪个区域发出的,就写哪个区域的ID

OSPF的认证类型 --- null(不认证)   ----  0       simple(明文认证)  ----- 1

      MD5(通过比对摘要值的方式进行认证)  ---- 2

--- OSPF在进行认证时,需要比较两部分数据,一个是认证类型,一个认证数据。

hello包 --- 周期发现,建立和保活邻居关系,包括DR/BDR选举

 

网络掩码 --- 接口一旦激活后开始发送hello报文,这个接口本身配置的IP地址的掩码信息华为设备要求,邻居之间hello包中所携带的子网掩码必须相同,不同则无法建立邻居关系。(只针对以太网接口进行检测,对点到点网络不做限制) hello时间和死亡时间 --- 邻居之间所携带的Hello时间和死亡时间必须相同,不同则无法建立邻居关系。

8位的可选项 --- 每一个比特都表示路由器所携带的某种OSPF特性

--- 8位特殊标记中包含OSPF特殊区域的标记,这个特殊区域的标记在邻居关系建立中也需要检测,如果不同,则将无法建立邻居关系。

路由器的优先级 --- 指的是发出接口DR/BDR选举时的优先级指定路由器/备份指定路由器 --- 在DR/BDR选举完成后,将会把DR/BDR的IP信息携带在该字段。在DR/BDR未选出之前,将以0.0.0.0来填充。

邻居 --- 指的是本地已知的邻居的RID,这个是建立邻居关系的重要条件。

HELLO包中限制邻居关系建立的条件:

1,网络掩码(只针对以太网接口)

2,hello时间

3,dead time

4,OSPF特殊区域标记

5,认证

DBD包 ---- 数据库描述报文 --- 可以主从关系选举(未携带数据的DBD包),携带

LSDB(链路状态数据库)摘要信息注意 --- 主从关系选举的作用:1,为主的可以优先进行LSA信息的交换;2,为主的可以主导DBD包的隐性确认

 

MTU --- 最大传输单元 --- 这个华为设备默认不检测,一般携带值0。可以在接口上开启检测功能,开启后,数据包中将携带真实的MTU值。在exstart状态中交互DBD包,如果邻居的MTU值不一致,则将会停留在exstart状态。

8位的可选项 --- 每一个比特都表示路由器所携带的某种OSPF特性

I --- INIT --- 该位置1,则代表此时的DBD包是进行主从关系选举的DBD包,后面讲不携带LSDB的摘要信息

M --- More --- 该位置1,则代表后续还有更多的DBD包,该位置0,则代表这个DBD包是最后一个DBD包。

MS --- Master --- 该位置1,则代表发送DBD包设备为主,置0则代表发送该数据包的设备为从。

(在主从关系没有选举出来之前,邻居双方都会将自己的MS位置1,认为自己是主;之后,主从关系选举结束后,只有主会将MS置1,从置0)

DBD的序列号 --- 在DBD报文交互过程中,会逐次加1,用于确保BDB报文传输的有序性和可靠性。

DBD包的确认机制是通过序列号来实现的隐性确认。而通过LSACK数据包实现确认的方法称为显性确认

---- 隐性确认:为主的设备发送一个DBD包,中包含一个序列号,从收到这个数据包后将使用相同的序号回复DBD包,已起到确认的作用。

LSA头部信息 ---- 并不是完整的LSA信息,相当于LSA信息的一个摘要。

LSR包 --- 链路状态请求报文 --- 基于DBD包中的摘要信息,和本地LSDB进行比对,之后请求未知的LSA信息。

 

链路状态类型,链路状态ID,通过路由器 ---- LSA的三元组 --- 可以唯一的标识出一条LSA

LSU --- 链路状态更新报文 ---- 真正携带LSA信息的数据包

 

LSAck --- 链路状态确认报文 --- 确认包通过LSA头部内容进行确认

 

OSPF的接口网络

P2P

MA

BMA

NBMA

    

OSPF的接口网络类型 --- 实际上指OSPF接口在不同网络环境下默认的不同工作方式。

网络类型

OSPF接口的网络类型(工作方式)

BMA(以太网)

Broadcast,需要进行DR/BDR选举,hello 10S,dead time 40S

P2P(PPP,HDLC,

MGRE)

P2P,只能建立一个邻居关系,不需要进行DR/BDR的选举, hello 10S,dead time 40S

环回接口(虚拟接口)

P2P,华为设备标记为P2P,但实际无数据收发。学习到是32 位主机路由。

P2MP,可以创建多个邻居关系,不需要进行DR和BDR的选

举,hello 30S,dead time  120S

NBMA(帧中继)

NBMA,不会自动建立邻居关系,需要手工指定。需要进行

DR/BDR的选举,hello 30S,dead time 120S

[r2]display  ospf interface GigabitEthernet 0/0/0 --- 查看OSPF接口网络类型

华为设备的串口遵循的是E1标准,最大传输速率为2.048Mbps 华为设备环回接口的开销值默认设置为0,这个值不受外界变化干扰(修改参考带宽不会影响环回接口的开销)

[r2-LoopBack0]ospf network-type broadcast --- 修改接口默认的网络类型

如果将环回接口的默认网络类型从P2P修改为Broadcast,则将还原环回接口真实的网络掩码。

华为设备将tunnel接口的传输速率定义为64Kbps(实际上该接口为虚拟接口,不存在传输速率,其传输速率取决于物理接口) ---- 其目的是为了避免选路时选择tunnel接口,因为走隧道接口需要进行复杂的封装,会消耗大量资源。

全连网状拓扑 ---- MGRE环境中,所有站点都充当中心站点,同时也充当分支站点。--在这种模式下,OSPF运行只需要将tunnel口修改为broadcast类型即可。

NBMA网络中建立邻居关系的方法 --- 手动指定,以单播的形式建邻

[r1-ospf-1]peer 12.0.0.2 --- 必须互相指定

Attempt --- 在NBMA网络中增加了一个attempt尝试状态,这是一个过度状态,当双方均指定对端为邻居后将进入下一个状态init状态。

OSPF末节区域

如果路由增加,就意味着LSA的增加,有时,在一个末梢网络中,许多路由信息是多余的,并不需要通告进来,因为一个OSPF区域内的所有路由器都能够通过该区域的ABR去往其它OSPF区域或者OSPF以外的外部网络,既然一个区域的路由器只要知道去往ABR,就能去往区域外的网络,所以可以过滤掉区域外的路由进入某个区域,这样的区域称为OSPF末节区域(Stub Area);一个末节区域的所有路由器虽然可以从ABR去往区域外的网络,但路由器上还是得有指向ABR的路由,所以末节区域的路由器只需要有默认路由,而不需要明细路由,即可与区域外的网络通信,根据末节区域过滤掉区域外的不同路由,可将末节区域分为如下四类:

  • Stub Area(末节区域)
  • Totally Stub Area(完全末节区域)
  • Not-so-Stubby Area(NSSA)
  • Totally Not-so-Stubby Area(Totally NSSA)

Stub Area(末节区域)

在Stub Area(末节区域)下,ABR将过滤掉所有外部路由进入末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即末节区域内的路由器不可以成为ASBR,但其它OSPF区域的路由(Inter-Area Route)可以进入末节区域,由于没有去往外部网络的路由,所以ABR会自动向末节区域内发送一条指向自己的默认路由,如下图:

Totally Stub Area(完全末节区域)

在Totally Stub Area(完全末节区域)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入完全末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即完全末节区域内的路由器不可以成为ASBR,由于没有去往外部网络的路由,所以ABR会自动向完全末节区域内发送一条指向自己的默认路由,如下图:

Not-so-Stubby Area(NSSA)

在Not-so-Stubby Area(NSSA)下,ABR将过滤掉所有外部路由进入末节区域,同时也允许其它OSPF区域的路由(Inter-Area Route)进入NSSA区域,并且路由器还可以将外部路由重分布进OSPF进程,即NSSA区域内的路由器可以成为ASBR,由于自身可以将外部网络的路由重分布进OSPF进程,所以ABR不会自动向NSSA区域内发送一条指向自己的默认路由,但可以手工向NSSA域内发送默认路由,并且只可在ABR上发送默认路由;如下图:

Totally Not-so-Stubby Area(Totally NSSA)

在Totally Not-so-Stubby Area(Totally NSSA)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入Totally NSSA区域,但路由器可以将外部路由重分布进OSPF进程,即Totally NSSA区域内的路由器可以成为ASBR,由于没有去往其它OSPF区域的路由,所以ABR会自动向Totally NSSA内发送一条指向自己的默认路由,如下图:

总结各区域的特征如下:

区域类型接收区域间路由ABR是否发送默认路由是否可以重分布外部路由
Stub Area
Totally Stub Area
NSSA
Totally NSSA

 

  • 在末节区域下,ABR自动发出的默认路由,Metric值默认为1,可通过命令area area-id default-cost cost修改,默认路由除了默认的Cost值以外,还会累加真实接口的Cost值。
  • 骨干区域不能配置为任何末节区域。
  • 当将某个区域配置为末节区域后,则区域中所有路由器都必须配置为末节区域,因为配置为末节区域的路由器上所有接口发出的Hello包中都会有末节标签,所有如果对方没有末节标签,则不能成为邻居。

 

OSPF LSA类型

OSPF由于有着多种区域类型,多种网络类型,多种链路类型,多种路由器身份,所以LSA(Link-State Advertisements)也是多样的。
在详细讲解LSA之前,需要重点说明,只有同一个区域内的LSA,才是精确的,区域外的LSA,并不一定包含所有必备的信息,因此,所有LSA知识信息,并不一定可以套用到每一类LSA。

OSPF中共有11类LSA,而在CCIE的要求中,只需要理解1、2、3、4、5、7共6类即可,这些LSA会因为区域类型,网络类型,链路类型,路由器身份的不同而不同,以下是详细介绍:

类型 1 (Router Link)

类型1的LSA是任何一台OSPF路由器都会产生的,每一台OSPF路由器的每一个OSPF接口都会有自己的链路状态,但是每台OSPF路由器只能产生一条类型1的LSA,即使有多个OSPF接口,也只有一条类型1的LSA,因为所有OSPF接口的链路状态是被打包成一条类型1的LSA发送的。
一个区域正是由于LSA 1的存在,才有精确的路由表,一个区域如果只有LSA 1,同样可以正常通信。LSA 1 只能在单个区域内传递,ABR不能将LSA 1转到发另外一个区域,并且没有任何权利修改LSA 1。

类型 2 (Network Link)

类型2的LSA只有在需要选举DR/BDR的网络类型中才会产生,并且只是DR产生,BDR没有权利产生,LSA 2与LSA 1没有任何关联,没有任何依存关系,是相互独立的。

类型 3 (Summary Link)

类型3的LSA就是将一个区域的LSA发向另一个区域时的汇总和简化,ABR其实就是将LSA 1汇总和简化,变成LSA 3后再发到另一个区域的,如果是详细完整的LSA 1,是绝不允许的,LSA 3是LSA 1的缩略版。

类型 4 (ASBR Summary Link)

对于外部路由,执行重分布的路由器ASBR在LSA中写上自己的Router-ID,然后传递到多个OSPF区域,所以会被多个ABR转发,而ABR在转发外部路由的LSA时,是没有权限修改LSA的Router-ID,这样一来,外部路由的Router-ID在所有OSPF路由器上都不会改变,永远是ASBR的Router-ID,最终造成的结果是只有与ASBR同在一个区域的路由器才能到达外部路由,因为只有与ASBR同在一个区域的路由器才知道如何到达ASBR的Router-ID,而其它区域的路由器对此却无能为力;为了能够让OSPF所有区域都能与外部路由连通,在ABR将外部路由从ASBR所在的区域转发至其它区域时,需要发送单独的LSA来告知如何到达ASBR的Router-ID,因为ABR将外部路由的LSA告诉了其它区域,是有义务让它们与外部路由可达的,所以额外发送了单独的LSA来告知如何到达ASBR的Router-ID;这个单独的LSA就是类型4的LSA,LSA 4是包含的ASBR 的Router-ID,只要不是ASBR所在的区域,都需要ABR发送LSA 4来告知如何去往ASBR。

类型 5 (External Link)

类型5的LSA就是外部路由重分布进OSPF时产生的,并且是由ASBR产生的,LSA中包含ASBR的Router-ID,任何路由器都不允许更改该Router-ID,LSA 5中还包含Forward Address,对于LSA 5 的Metric值计算与选路规则也有所不同,详细信息请见OSPF外部路由部分。

类型 7 (NSSA Link)

因为NSSA区域可以将外部路由重分布进OSPF进程,而NSSA不是一般的常规区域,所以在NSSA将外部路由重分布进OSPF时,路由信息使用类型7来表示,LSA 7由NSSA区域的ASBR产生,LSA 7也只能在NSSA区域内传递,如果要传递到NSSA之外的其它区域,需要同时连接NSSA与其它区域的ABR将LSA 7 转变成LSA 5后再转发。

LSA各参数

在LSA的内容中,将有多个参数来表示,这些参数会因为LSA类型,区域类型,网络类型,链路类型,路由器身份的不同而不同,是真正的变化多端,非常的复杂,这些参数在我们操作OSPF时,可以帮助我们更好的分析LSA,但并不会起决定性的作用,所以对LSA参数的理解与否,不会影响到OSPF的配置与排错,若无特殊要求,LSA参数需要大家了解即可,不需要掌握,不需要牢记。

LSA中包含的参数有LS Type,Link State ID,Link ID,Link Data,具体如下:

LS Type

LS Type就是前面讲到的LSA类型,如LSA 1,LSA 2,LSA 3,LSA 4,LSA 5,LSA 7。

Link State ID

因为OSPF接口的链路状态,是使用LSA发送的,接口的相关信息,如网络号,掩码等等,它们算是LSA真正的内容,而LSA也是有简明信息的,或者说是LSA的标题,或者说是LSA的名称,这就是Link State ID,如果将LSA比作一个包裹,那么Link State ID就是包裹外面写的信息,比如包裹里是一件衣服,那么Link State ID可能就是写的衣服是什么牌子,什么尺寸,什么颜色,等等;但不同类型的LSA,其Link State ID的表示也会不同,如下表:

LSA类型Link State ID内容
LSA 1是产生LSA 1的路由器的Router-ID
LSA 2因为LSA 2是由DR产生的,所以LSA 2的Link State ID是DR的接口地址
LSA 3是目标网络的网络地址,其实这个等同于路由条目
LSA 4是ASBR的Router-ID
LSA 5是目标网络的网络地址,其实这个等同于路由条目

Link ID

Link ID是用来表示链路自己的,也就是表示OSPF接口自己,再换句话说,就是OSPF接口的链路状态,可以理解为LSA的内容部分。
Link ID会因为链路类型(Link Type)的不同而不同,对于链路类型(Link Type)的详细解释,请参见前面部分。
需要注意,Link ID的内容有时与Link State ID的内容相同,但Link ID并非完全等于Link State ID,因为Link State ID是由LSA类型的不同而不同,而Link ID是由Link Type的不同而不同。

Link ID的具体内容如下表:

链路类型(Link Type)Link ID内容
Stub Network Link使用接口的网络号和子网掩码来表示
Point-To-Point Link邻居的Router-ID
Transit Link是DR的接口地址
Virtual link同Point-To-Point Link,是邻居的Router-ID

Link Data

是接口上的IP地址,如果链路类型(Link Type)为Stub Network Link,则Link Data是子网掩码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小元.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值