HCNP学习笔记-路由交换网络(一)

一、链路状态路由协议OSPF基础技术

RIP是基于距离矢量算法的路由协议,应用在大型网络中存在收敛速度慢、度量值不科学、可扩展性差等问题。
大型网络发生的变化:

  1. 网络规模较大
  2. 网络可靠性要求提高
  3. 网络异构化,多厂商设备互联需求
    RIP特性:
  4. 逐跳收敛:造成网络收敛慢的问题
  5. 传闻路由更新机制:RIP在计算路由时,缺少对全局网络拓扑的了解
  6. 最多有效跳数为15:环形组网中,使远端路由不可达
  7. 以“跳数”为度量:存在选择次优路径的风险
    OSPF特点:
  8. 路由信息传递与路由计算分离
  9. 基于SPF算法
  10. 以“累计链路开销”作为选路参考值

所谓Link State(链路状态)指的就是路由器的接口状态。在OSPF中路由器的某一接口的链路状态包含了如下信息:

1、该接口的IP地址及掩码
2、该接口的带宽(开销)
3、该接口所连接的邻居
4、链路的类型

OSPF作为链路状态路由协议,不直接传递各路由器的路由表,而传递链路状态信息,各路由器基于链路状态信息独立计算路由。
所有路由器各自维护一个链路状态数据库。邻居路由器间先同步链路状态数据库,再各自基于SPF(Shortest Path First)算法计算最优路由,从而提高收敛速度。
在度量方式上,OSPF将链路带宽作为选路时的参考依据。“累计带宽”是一种要比“累积跳数”更科学的计算方式。

OSPF的路由计算过程可以简化描述为:

  1. 路由器之间发现并建立邻居关系。
  2. 每台路由器产生并向邻居泛洪链路状态信息,同时收集来自其他路由器链路状态信息,完成LSDB(Link State Database)的同步。
  3. 每台路由器基于LSDB通过SPF算法,计算得到一棵以自己为根的SPT(Shortest Path Tree),再以SPT为基础计算去往各目的网络的最优路由,并形成路由表。

企业网中的设备少则几台多则几十台甚至几百台,每台路由器都需要有一个唯一的ID用于标识自己。
Router ID是一个32位的无符号整数,其格式和IP地址的格式是一样的,Router ID选举规则如下:
1、手动配置OSPF路由器的Router ID(通常建议手动配置);
(OSPF的路由器Router ID重新配置后,可以通过重置OSPF进程来更新Router ID。)
2、如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID;
3、如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID。

发现并建立邻居-Hello报文:
1、邻居发现:自动发现邻居路由器
2、邻居建立:完成Hello报文中的参数协商,建立邻居关系
3、邻居保持:通过Keepalive机制,检测邻居运行状态
OSPF支持通过单播方式建立邻居关系,对于不支持组播的网络可以通过手动配置实现邻居的发现与维护。
OSPF的度量方式:
某接口cost=参考带宽/实际带宽
更改cost的两种方式:
1、直接在接口下配置
2、修改参考带宽(所有路由器都需要修改,确保选路一致性)
RIP路由器之间是基于UDP 520的报文进行通信,OSPF也有其规定的通信标准。OSPF使用IP承载其报文,协议号为89。
OSPF报文类型:
在这里插入图片描述
在这里插入图片描述

Type=1为Hello报文,用来建立和维护邻居关系,邻居关系建立之前,路由器之间需要进行参数协商。
Type=2为数据库描述报文(DD),用来向邻居路由器描述本地链路状态数据库,使得邻居路由器识别出数据库中的LSA是否完整。
Type=3为链路状态请求报文(LSR),路由器根据邻居的DD报文,判断本地数据库是否完整,如不完整,路由器把这些LSA记录进链路状态请求列表中,然后发送一个LSR给邻居路由器。
Type=4为链路状态更新报文(LSU),用于响应邻居路由器发来的LSR,根据LSR中的请求列表,发送对应LSA给邻居路由器,真正实现LSA的泛洪与同步。
Type=5为链路状态确认报文(LSAck),用来对收到的LSA进行确认,保证同步过程的可靠性。

OSPF网络类型包括:P2P网络、P2MP网络、广播型网络、NBMA网络。

二、OSPF域内路由

每台OSPF路由器使用一条Router-LSA描述本区域内的链路状态信息。LSA头部的三个字段含义如下:

  1. Type:LSA类型,Router-LSA是一类LSA。
  2. LS id:链路状态ID。
  3. Advrtr:产生此Router-LSA的路由器Router ID。

一条Router-LSA可以描述多条链接,每条链接描述信息由Link ID,Data,Link Type和Metric组成,其关键字含义如下:
Type:链接类型(并非OSPF定义的四种网络类型),Router LSA描述的链接类型主要有:
Point-to-Point:描述一个从本路由器到邻居路由器之间的点到点链接,属于拓扑信息。
TransNet:描述一个从本路由器到一个Transit网段(例如MA网段或者NBMA网段)的链接,属于拓扑信息。
StubNet:描述一个从本路由器到一个Stub网段(例如Loopback接口)的链接,属于路由信息。
vlink
Link ID:此链接的对端标识,不同链接类型的Link ID表示的意义也不同。
Data:用于描述此链接的附加信息,不同的链接类型所描述的信息也不同。
Metric:描述此链接的开销。
MA共享网段或NBMA共享网段中的网络号/掩码及路由器间的链接关系,通过Network-LSA来呈现。
在Network-LSA中关键字的含义如下:
Type:LSA类型,Network-LSA是二类LSA。
LS id:DR的接口IP地址。
Adv rtr:产生此Network-LSA的路由器Router ID,即DR的Router ID。
Net mask:该网段的网络掩码。
Attached Router:连接到该网段的路由器列表,呈现了此网段的拓扑信息。

LSDB:链路状态数据库。
OSPF将依据SPF算法和各类LSA进行最短路径树的计算:
Phase 1:依据一类LSA中的Point to Point,TransNet以及二类LSA,构建SPF树。
Phase 2:依据一类LSA中的Stub以及二类LSA,计算最优路由。
经过OSPF优选后的路由并不一定会安装进系统路由表,因为路由器还可以通过其他协议获得路由,通过不同方式获得的路由需要进行优先级比较。

三、OSPF域间路由

OSPF采用划分区域的方式,将一个大网络划分为多个相互连接的小网络。每个区域内的设备只需同步所在区域内的链路状态数据库,一定程度上降低内存及CPU的消耗。
划分区域后,根据路由器所连接区域的情况,可划分两种路由器角色:
区域内部路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域,区域内部路由器维护本区域内的链路状态信息并计算区域内的最优路径。
区域边界路由器(Area Border Router):该类设备接口分别连接两个及两个以上的不同区域,区域边界路由器作为区域间通信的桥梁,同时维护所连接多个区域的链路状态数据库。
ABR将一个区域内的链路状态信息转化成路由信息,然后发布到邻居区域。
链路状态信息转换成路由信息其实就是将一类和二类LSA转化成三类LSA的过程。注意,区域间的路由信息在ABR上是双向传递的。
Network-Summary-LSA(三类LSA)中主要包括以下内容:
Ls id:目的网段地址。
Adv rtr:ABR的Router ID。
Net mask:目的网段的网络掩码。
Metric:ABR到达目的网段的开销值。

ABR产生的三类LSA将用于计算区域间路由。

  1. 根据三类LSA中的Adv rtr字段,判断出ABR。
  2. 根据Ls id、Netmask、Metric字段获得ABR到达目的网络号/掩码、开销。
  3. 如果多个ABR产生了指向相同目的网段的三类LSA,则根节点将根据本路由器到达目的网段的累计开销进行比较,最终生成最小开销路由。如果根节点到达目的网段的累计开销值相同,则产生等价负载的路由。

为防止区域间的环路OSPF定义了骨干区域和非骨干区域和三类LSA的传递规则:

  • OSPF划分了骨干区域和非骨干区域,所有非骨干区域均直接和骨干区域相连且骨干区域只有一个,非骨干区域之间的通信都要通过骨干区域中转,骨干区域ID固定为0。
  • OSPF规定从骨干区域传来的三类LSA不再传回骨干区域。

OSPF要求ABR设备至少有一个接口属于骨干区域。
新建网络按照区域间的防环规则进行部署,可以避免区域间环路问题。
骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域逻辑上连续。
虚连接可以在任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个相同的非骨干区域。

四、OSPF外部路由

RTA会生成一条AS-External-LSA(五类LSA),用于描述如何从ASBR到达外部目的地;RTB和RTC会生成一条ASBR-Summary-LSA(四类LSA),用于描述如何从ABR到达ASBR。
五类LSA中包含的主要信息如下:

  • Ls id:目的网段地址。
  • Adv rtr:ASBR的Router ID。
  • Net mask:目的网段的网络掩码。
  • Metric:ASBR到达目的网络的开销值,默认值为1。
  • Tag:外部路由信息可以携带一个Tag标签,用于传递该路由的附加信息,通常用于路由策略,默认值为1。

四类LSA主要包含下列信息:

  • Ls id:该ASBR的Router ID。
  • Adv rtr:该产生此四类LSA的ABR的Router ID。
  • Metric:从该ABR到达此ASBR的OSPF开销值。

四类LSA只能在一个区域内泛洪,五类LSA每泛洪到一个区域,相应区域的ABR都会生成一条新的四类LSA来描述如何到达ASBR。
OSPF引入外部路由,共有两种类型可选:
第一类外部路由的AS外部开销值被认为和AS内部开销值是同一数量级的,因此第一类外部路由的开销值为AS内部开销值(路由器到ASBR的开销)与AS外部开销值之和;这类路由的可信程度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPF自身路由的开销具有可比性。
第二类外部路由的AS外部开销值被认为远大于AS内部开销值,因此第二类外部路由的开销值只包含AS外部开销,忽略AS内部开销(默认为第二类),这类路由的可信度比较低。
默认情况下,OSPF外部路由采用的是第二类外部路由。

AS External LSA是在ASBR路由器上产生的。AS External LSA的基本作用是用来向OSPF网络宣告外部路由。注意,一条AS External LSA只能宣告一条外部路由。

OSPF特殊区域及其他特性

对于OSPF各区域,可分为两种类型:

  1. 传输区域:除了承载本区域发起的流量和访问本区域的流量外,还承载了源IP和目的IP都不属于本区域的流量,即“穿越型流量”,如Area 0。
  2. 末端区域:只承载本区域发起的流量和访问本区域的流量,如Area 1。

对于末端区域,需要考虑下几个问题:

  • 保存到达其他区域明细路由的必要性:访问其他区域通过单一出口,“汇总”路由相对明细路由更为简洁。
  • 设备性能:网络建设与维护必须要考虑成本因素。末端区域中可选择部署性能相对较低的路由器。
    OSPF路由器计算区域内、区域间、外部路由都需要依靠收集网络中的大量LSA,大量LSA会占用LSDB存储空间,所以解决问题的关键是在不影响正常路由的情况下,减少LSA的数量。
    Stub区域的ABR不向Stub区域内传播它接收到的自治系统外部路由(对应四类、五类LSA),Stub区域中路由器的LSDB、路由表规模都会大大减小。
    为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条缺省路由(对应三类LSA),并发布给Stub区域中的其他路由器。
    Stub区域是一种可选的配置属性,但并不建议将每个区域都配置为Stub区域。通常来说,Stub区域位于自治系统的末梢,是那些只有一个ABR的非骨干区域。
    配置Stub区域时需要注意下列几点:
  • 骨干区域不能被配置为Stub区域。
  • 如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。
  • Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播。
  • 虚连接不能穿越Stub区域建立。
    配置Stub区域后,所有自治系统外部路由均由一条三类的默认路由代替。
    除路由条目的减少外,当外部网络发生变化后,Stub区域内的路由器是不会直接受到影响的。

Totally Stub区域既不允许自治系统外部路由(四类、五类LSA)在本区域内传播,也不允许区域间路由(三类LSA)在本区域内传播。
NSSA区域和Stub区域有许多相似的地方。两者的差别在于,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由。
NSSA LSA(七类LSA):NSSA区域的ABR收到七类LSA时,会有选择地将其转换为五类LSA,以便将外部路由信息通告到OSPF网络的其它区域。NSSA区域有多个ABR时,进行7类LSA与5类LSA转换的是Router ID最大的ABR。
LSA作用:

  1. Router LSA(一类):每个路由器都会产生,描述了路由器的链路状态和开销,在所属的区域内传播
  2. Network LSA(二类):由DR产生,描述本网段的链路状态,在所属的区域内传播。
  3. Network-summary-LSA(三类):由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。
  4. ASBR-summary-LSA(四类):由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
  5. AS-external-LSA(五类):由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
  6. NSSA LSA(七类):由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。

在大规模部署OSPF网络时,可能会出现由于OSPF路由表规模过大而降低路由查找速度的现象,为了解决这个问题,可以配置路由汇总,减小路由表的规模。
路由汇总是指将多条连续的IP前缀汇总成一条路由前缀。如果被汇总的IP地址范围内的某条链路频繁Up和Down,该变化并不会通告给被汇总的IP地址范围外的设备。因此,可以避免网络中的路由振荡,在一定程度上提高了网络的稳定性。
OSPF为每个LSA条目维持一个老化计时器(3600s),当计时器超时,此LSA将从LSDB中删除。
为了防止LSA条目达到最大生存时间而被删除,OSPF通过定期更新(每1800s刷新一次)机制来刷新LSA。

OSPF支持认证功能,只有通过认证的OSPF路由器才能正常建立邻居关系,交互信息。
两种认证方式:

  • 区域认证方式。
  • 接口认证方式。
    支持的认证模式分为null(不认证)、simple(明文)、MD5以及HMAC-MD5。
    当两种认证方式都存在时,优先使用接口认证方式。

OSPF定义了四种特殊区域,分别是Stub Area,Totally Stub Area,Not-So-Stubby Area(NSSA),Totally NSSA。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值