3华为路由器OSPF路由配置与管理.docx
- 文档编号:12505265
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:39
- 大小:357.92KB
3华为路由器OSPF路由配置与管理.docx
《3华为路由器OSPF路由配置与管理.docx》由会员分享,可在线阅读,更多相关《3华为路由器OSPF路由配置与管理.docx(39页珍藏版)》请在冰豆网上搜索。
3华为路由器OSPF路由配置与管理
OSPF配置与管理
一、基础
OSPF(openshortestpathfirst,开放式最短路径优先)是一个基于LAS(链路状态通告)的AS内部的IGP(内部网关协议)
ospf有两种版本:
ospfv2,支持ipv4;ospfv3,仅支持ipv6。
以下以V2版本介绍。
ospf通过LSA(链路状态通告)报文进行路由信息交互,通过5种报文(hello、DBD、LSR、LSU、LSAck)进行邻居和邻接关系的建议以及同一区域内部各路由间的LSDB(链路状态数据库)信息的同步,最终形成同一的区域内拓扑数据库。
1、基本概念:
1、路由ID:
一台运行OSPF协议的路由中每个OSPF进程必须指定一个用于标识本地路由器的routerID,是一个32比特无符号的整数。
在一个AS中必须唯一,但在同一台路由器的不同进程中可以相同。
2、路由域(AS,自治系统):
(routingdomain),由运行同一种路由协议并且被同一组织机构管理的一组路由器组成。
同一个as中的所有路由器必须运行相同的路由协议,且彼此相连(中间不能被其他协议、路由域所间断),分配相同的as号。
在ospf网络中,只有在同一个as中的路由器才会相互交换链路状态信息,所有的ospf路由器都维护一个相同的as结果描述(as中各区域间的连接关系)的数据库。
3、路由器类型:
根据路由器在AS中的不同位置,可以分为4类
区域内路由器(internalrouters,IR):
所有路由器的接口都在同一个ospf区域内。
区域边界路由器(areaborderrouters,ABR):
该类设备接口可分属于不同区域,但其中一个接口必须连接(物理连接或逻辑-虚连接)骨干区域。
骨干路由器(backboneroutes,BR):
该类设备至少有一个接口属于骨干区域。
所有的ABR和位于骨干区域的设备都是骨干路由器。
自治系统边界路由器(ASboundaryroutes,ASBR):
与其他AS中的设备交换路由信息的设备。
只要一台设备引入了外部路由(包括直连、静态、RIP、is-is、BGP或其他ospf进程路由等),它就成为ASBR。
虽然ASBR通常位于AS边界,但也可以是区域内的设备,也可以同时是ABR。
4、路由类型:
划分区域的目的是减少LSA的数量,减少路由器上依据LSA形成的路由数量,这就是进行路由分类的原因。
区域内路由(intraarea):
仅用于区域内IR路由器之间的路由,用于IR设备之间的互联,不向区域外通告。
区域间路由(interarea):
仅用于区域间ABR之间的路由,用于骨干区域与其他区域相互通告路由信息。
第一类外部路由(type1external):
经由ASBR引入的外部路由,通常为IGP类型(直连、静态、rip、is-is、其它ospf进程路由)的外部路由。
开销值计算方法为,到第一类外部路由的开销=本设备到相应的ASBR的开销+ASBR到该路由目的地址的开销。
可信度高。
第二类外部路由(type2external):
经由ASBR引入的外部路由,通常为EGP类型(如BGP)的外部路由。
开销值计算,ospf认为从ASBR到自治系统之外的开销远远大于在自治系统之内到达ASBRD的开销,所以ospf计算第二类外部路由开销时只考虑ASBR到自治系统之外的开销,即到二类路由的开销=ASBR到该路由目的地址的开销。
可信度低。
第一类外部路由和第二类外部路由都是有管理员依据上述特性手动设定的,缺省为第二类外部路由。
5、OSPFLSA类型
默认情况下,每个ospf路由器通过向邻居路由器发送lsa(linkstateadvertisement,链路状态通告)来实现彼此交换并保存整个网络的链路状态信息,从而掌握全网的拓扑结构,并独立计算路由。
划分区域后,ospf路由器收集其所在网络区域上各个路由器的链路状态信息,并生成链路状态数据库(LSDB),也称为拓扑数据库,LSDB代表对应区域中的网络拓扑结构。
然后,ospf路由器根据根据自己的LSDB利用SFP(最短路径优先)路由算法独立地计算出到达任意目的端的路由。
也就是说LSA是ospf计算路由的依据,在相当程度上代表了ospf路由。
在ospf网络中对不同的路由器根据其用途进行了分类,所以不同类型的ospf路由器发送的LSA的用途和可以通告的范围各不相同:
1、type1LAS:
路由器LAS(routerLSA)
每个ospf路由器都会产生路由器LSA,描述了对应设备物理接口所连接的链路或接口,并指明了各链路的状态、开销等参数
2、type2LSA:
网络LAS(networkLSA)
网络LSA由DR(指定路由器)或BDR(备份指定路由器)产生,描述了DR和BDR所在网段的链路状态,也仅在所属的区域内传播。
DR和BDR仅在广播类型网络中存在,所以网络LSA也仅在广播类型网络中存在。
3、type3LSA:
网络聚合LSA(networksummaryLSA)
网络汇总LSA由ABR产生,描述所连接的某个区域内某个网段的聚合路由(包括缺省路由),并通告非totallystub(完全末梢)或NSSA(非纯末梢)区域(包括源网段所在区域,到达其他区域必须经过骨干区域转发该LSA),这样区域通信在到达区域边界ABR后都采用聚合路由进行,以大大减少路由表项路由数量。
4、type4LSA:
ASBR聚合LSA
也由ABR产生,描述从该ABR到达ospf路由域中各个ASBR的路由,通告给整个路由域(AS)。
但仅向普通区域中泛洪,不能进入stub、totallystub、NSSA、totallyNSSA区域。
5、type5LSA:
自治系统外部LSA(autonomoussystemexternalLSA)
由ASBR产生,描述到达AS外部的路由,也仅向普通区域中泛洪,不能进入stub、totallystub、NSSA、totallyNSSA区域。
6、type7LSA:
NSSA外部LSA(NSSAexternalLSA)
也由ASBR产生,内容几乎与type5相同,但它专用于NSSA区域和totallyNSSA区域连接的ASBR向NSSA区域内泛红外部AS的路由,然后经过NSSA区域ABR上转换成type5向OSPF路由域内其他区域中传播。
7、type9/type10/type11LSA:
opaqueLSA
opaquelsa是一个被提议的lsa类别,是在标准的lsa头部后面加上特殊应用的信息组成,可以直接由ospf协议使用,或者由其他应用分发信息到整个ospf域间接使用,其中type9仅在接口所在网段范围内传播;type10在区域内传播,type11在自治系统内传播。
ospf路由域中各区域中设备获取路由信息规则:
1、区域内各路由器通告type1lsa来获取彼此的路由信息,实现相互路由通信。
2、在广播类型网络中,区域内DR、非BDR路由器与DR、BDR路由器之间是通过type2LSA获取路由信息的,各非DR、BDR路由器之间不相互获取路由信息,需要全部通过DR或者BDR以及该区域的ABR与其他区域进行通信。
3、在区域内部路由器与区域abr之间,通过所在区域的abr以type3lsa向内发布本区域各网段聚合路由信息,实现区域内路由器与对应区域的abr路由通信。
4、在不同区域之间,通过各自区域的abr以type3lsa向内、外发布的本区域和外部区域各网段聚合路由信息(中间经过骨干区域进行lsa转发),实现不同区域的路由间的路由通信。
5、在区域内部路由器与外部AS之间,先通过各区域的abr以type4lsa向内发布到达asbr的聚合路由信息实现与asbr的路由通信,然后通过对应的asbr向普通区域内发布的type5lsa或者向NSSA和totallyNSSA区域发布的type7lsa实现与外部AS的路由通信。
6、区域(area):
在一个as内部划分(按照位置或不同角色)的一组路由器单元,每个路由器只能在所属的区域内部学习到完整的
链路状态信息。
只有ospf和is-is支持划分多个区域。
每个区域用区域号(areaid)来标识。
ospf的区域边界是设备接口(is-is是链路),即一个网段只能属于同一个区域,即路由器之间直接相连的链路两端
接口必须属于同一区域(is-is两端属于不同区域)。
划分区域后,可以在区域边界路由器上进行路由聚合,不同区域之间仅向外通告其聚合路由,这样可大大减少LSA
(链路状态通告)数量以及最小化网络拓扑变化带来的影响。
在ospf中,除了普通区域外还可以设置多种特殊区域,如骨干区域(固定为area0、stub(末梢)区域、totallystub
(完全末梢)区域、NSSA(非纯末梢)区域、totallyNSSA(完全非纯)区域。
几种特殊的区域:
(看本节前请先看3、OSPFLSA类型)
在ospf网络中,除了stub(末梢)区域、totallystub(完全末梢)区域、NSSA(非纯末梢)区域、totallyNSSA(完
全非纯)区域外,其它区域(包括骨干区域)都是普通区域
1、骨干区域:
区域号固定为0.0.0.0,即区域0
骨干区域必须是连续的(也就是中间不会越过其他区域),或者通过虚连接(virtuallink)连接两个或多个分离的骨干区域,但这些分离的骨干区域的区域号要一样,均为0,同时要求其他区域必须与骨干区域直接连接或通过虚连接虚拟连接。
在ospf路由域中,无论是否划分区域,总是至少有一个骨干区域。
区域之间的通信都是先被路由到骨干区域,然后再路由到目的区域,最后被路由到目的区域的主机
在骨干区域中的路由器(都是abr)通过它们所连接的其他区域内的汇总路由到骨干区域中的其他路由器,这些汇总通告只在骨干区域内路由器传播,使得骨干区域内每台路由器都有一个到达所连接的其他区域abr的可用路由表。
2、stub(末梢)区域:
是一种专门为那些由性能较低的路由器组成、与AS外部没有太多路由通信的AS边缘区域内部路由器的路由表而
采取的一种优化措施。
只有处于as边缘,且只有一个连接其他区域的abr,没有asbr,没有虚连接穿越的非骨干区域才可配置为stub区域,
因为只有这样才能尽可能地减少区域内路由器的路由表项数量。
在stub区域中是通过禁止与AS外部路由相关的type4lsa和type5lsa通过abr进入区域内泛洪来实现的,仅允许
同一个as中其他区域的type3lsa通过abr进入区域泛洪(这样在stub区域内只有type1lsa、type2lsa、type3lsa存
在,一定程度上减少了路由表规模)。
阻止了type4lsa和type5lsa进入区域后,也会来带一个问题,stub区域内部路由器不能获得外部as的路由信息,
但有时又确实需要与外部as进行通信,于是增加了一个折中的解决办法:
由stub区域的abr向本区域内部路由器泛洪
一条指向自己缺省路由(0.0.0.0),使stub区域abr作为区域内部路由器与外部as通信的唯一出口。
当一个ospf区域只存在一个出口点(只与一个其他区域连接)时,可以将该区域设置为stub区域。
需要注意的是,
一个stub区域中的所有路由器都必须知道自身属于该区域(路由器启用这项功能),否则不会起作用。
3、totallystub区域:
totallystub(完全末梢区域)是stub的变形版本,与stub一样,但在lsa限制上更加严格。
在totallystub区域中
只有type2lsa和type1lsa
为了与其它区域或者as外部进行通信,也是由其ABR向区域内泛洪一条缺省路由。
4、NSSA,非存末梢区域
stub虽然合理的规划了网络,但在实际组网中应用并不高(stub一般只存在于网络边缘),nssa是stub的修订版本,
在必备条件方面有所放宽,即NSSA区域可以位于非边缘区域,可以有多个ABR(stub区域仅允许一个),可以有一个或多个asbr(stub区域中不能有asbr)
在lsa限制方面:
允许其直接连接的asbr上引入的as外部路由以type7lsa进入NSSA区域中泛洪,然后在abr上转换成type5lsa后以自己的身份发布到区域之外;允许区域间type3lsa进入区域内泛洪,不允许与其他区域中ASBR连接的as外部路由相关的type4和type5进入NSSA区域内泛洪。
所以NSSA区域也限制了由其他区域中的ASBR所引入的as外部外部路由进入区域内,为了解决NSSA区域内与外部as进行通信,同同样采用缺省路由的方式(在其中一个ASBR上泛洪向区域内部路由器泛洪一条指向自己的缺省路由)。
在NSSA区域中只有type1、type2、type3、type7LSA
5、totallyNSSA区域
是totallystub和NSSA区域的结合体
允许type1、type2、type7lsa
设置一条指向自己的缺省路由与外部AS进行通信。
6、合理划分ospf区域:
当网络规模不断增大时,在大型的OSPF网络中,LSDB(链路状态数据库)会占用大量的存储空间,并使得运行SPF(shortestpathfirst,最短路径优先)算法的复杂度增加,导致CPU负担加重。
当网络规模不断增大时,网络拓扑不断变化,每一次的变化都会导致所有路由器重新进行路由计算,造成大量的ospf报文在网络中传递,降低网络利用率。
划分自治系统区域能解决上述问题,按照一般经验,区域内路由器数量不超过50台,如果少于20台可只划分为一个区域,即骨干区域。
根据ospf协议规定,所有其它区域必须与骨干区域连接(直连或虚连),所以规划是合理的选择骨区域的位置(通常为网络的中央)。
设备性能要求:
骨干区域要负载整个区域的路由信息传输,负荷较大,应选择性能好处理能力强的路由器来担任。
每个ABR负载所连接的两个或多个区域间的路由信息传输工作,需要保持每个连接区的LSDB,所以也要求路由器性能高的来担任。
通常建议在一台ABR上最多连接三个区域,即一个骨干区域和两个普通区域。
每个ASBR负责两个或多个自治系统间的路由传输,同样需要高性能路由器来担任,与ABR类似,也不要连接太多的自治系统。
区域划分原则:
1、按照地理区域或行政管理单位划分,这是最简单的区域划分
2、按照路由器性能来划分,即通常将一个高端路由器下面连接的多个中低端路由器划分为一个区域,这样的好处
是便于合理的选择ABR。
3、按照IP网段来划分,好处是便于在ABR上设置路由汇聚,减少网络中路由信息数量
4、路由器数量来考虑,通常一个区域中不要超过50台路由器。
随着路由器CPU处理速度、内存的增大,最新测
试表明200台的一个区域都可以快速收敛。
7、OSPF网络类型
1、广播(broadcast)类型:
当链路层协议时ethernet、FDDI时,ospf默认是广播类型。
以组播(224.0.0.5)形式发送hello报文及所有源自DR的选举报文
以组播(224.0.0.6)形式向DR发送LSU(链路状态更新)报文,然后DR将该LSU报文发送到224.0.0.5
以单播形式发送DD(数据库描述)报文、LSR(链路状态请求)报文和所有重传报文
正常情况下以组播形式发送LSAck(链路状态应答)报文,当设备收到重复的LSA或达到最大生存时间的LSA被删除时,LSAck以单播形式发送
2、NBMA类型:
当链路层协议时帧中继、X.25时,ospf默认是NBMA类型
在该类型中,都是以单播形式发送协议报文(hello/DD/LSR/LSU/LSAck报文)
3、p2mp(point-to-multipoint,点到多点)类型:
链路层协议中没有point-to-multipoint概念,P2MP是由其他的网络类型强制更改的。
以组播形式发送hello报文,以单播形式发送DD/LSR/LSU/LSAck报文。
4、P2P(point-to-point,点到点)类型:
当链路层协议时PPP/HDLC/LAPB时,ospf默认是P2P
以组播形式发送各种ospf协议报文
二、ospf报文
ospf是专为TCP/IP网络设计,所以ospf各种报文可封装在IP报文内,可采用单播或组播形式发送
ospf主要有五种报文:
1、hello报文:
用来建立和维护相邻邻居路由器之间的邻接关系
在P2P和广播类型网络中,以hellointerval为周期(默认10S)以组播方式向组播组(224.0.0.5)发送一次
在P2MP和NBMA类型网络中,以pollinterva(轮询间隔)为周期(默认60S),以单播方式向状态为down的邻居发送一个hello报文(其他类型的网络不会把hello报文发送给down的路由器的),如果在设定的deadinterval(死亡间隔)时间内没有收到对方ospf路由器发来的hello报文,则本地设备会认为对方设备无效。
2、DD(databasedescription,数据库描述)报文:
描述的是路由器的链路状态数据库(LSDB),即本地LSDB中包括哪些LSA。
在两个ospf路由器初始化连接时要交换DD报文,以便进行数据库同步。
DD报文内容包括DD报文序列号和LSDB中的每一条LSA的头部等
由于数据库的内容可能很长,需要多个DD报文的交互来完成LSDB同步
3、LSR(linkstaterequest,链路状态请求)报文:
当两台路由器互相交换完DD报文后,知道对端路由器有哪些LSA是本LSDB所没有的以及哪些LSA是失效的,则需要发送一个LSR报文,向对方请求所需的LSA。
4、LSU(linkstateupdate,链路状态更新)报文:
是LSR请求报文的应答报文,用来向对方路由器发送所需的LSA内容,可以是多条LSA完整内容的集合。
5、LSAck(linkstateacknowledgment,链路状态应答)报文:
是路由器在收到对端发来的LSU报文后发出的确认报文,内容是需要确认的LSU头部。
LSAck报文根据不同的链路以单播或组播形式发送。
三、ospf工作原理
1、八种状态机制:
1、down:
邻居会话初始阶段,收到来自邻居路由器的hello报文
2、attempt(尝试连接):
仅在NBMA网络中存在,在一定时间内没收到邻居路由器发来的hello报文,此时路由器以轮询hello报文向对端定时发送hello报文
3、init:
收到不包含自己路由器ID的hello报文后状态转为init
4、2-way:
收到包含自己路由器ID的hello报文后状态转为为2-way
5、exstart(预启动):
在进行DR/BDR选举后形成邻居关系,则从init状态转为exstart,通过不带LSAheader字段内容的DD报文协商主从关系,并确定DD报文的序列号。
6、exchange:
主从关系协商完毕后,主设备开始向从设备发送带有LSAheader字段内容的DD报文,此时双方状态转换为exchange
7、loading:
DD报文交换完成后从设备转换为loading,此时双方以LSR报文向对方请求LSA更新,以LSU报文进行应答
8、full
当设备收到由对端发来自己所请求的LSA报文后向对端发送LSAck报文,同时发给对端的LSA也受到了来自对端的LSAck报文,之后本地设备自动切换到full状态。
2、ospf邻接关系建立
初始状态下,所有ospf接口的邻居状态都是down,没有与任何设备建立邻居关系,更没有建立邻接关系。
整个ospf邻接关系建立分4个主要阶段:
1、邻居发现阶段:
以P2P和广播类型网络中设备为例
首先,当R1的ospf接口启动路由进程后,会以组播方式向所连接的同网段所有直连的ospf设备发送一个hello报文。
此时因为R1没有与其他设备建立邻居关系,不知道其他设备的路由ID,所以此hello报文中只封装了自己ospf路由去的路由ID。
当R2收到来自R1的hello报文后,将收到来自R1报文的接口转换为init状态,同时R2从接收到的hello报文中获取R1的路由ID并添加到邻居列表中。
然后再deadinterval超时前以组播方式向所连接网段中的所有直接连接的ospf设备发送一个封装了自己路由ID和R1路由ID的hello报文。
当R1收到来自R2的hello报文后发现里面有自己的路由ID,则将收到来自R2报文的接口转为2-way状态,同时从收到的报文中获取R2的路由ID并添加到邻居列表中,在deadinterval超时前以组播方式向所连接的网段中所直连接的ospf设备发送封装了自己的路由ID和R2路由ID的hello报文。
当R2再次收到来自R1的hello报文,发现里面有自己的路由ID后,将收到来自R1报文的接口转换成2-way状态。
这是R1和R2建立双向2-way邻居关系。
通过以上4步(两次握手)建立起邻居关系,进入主从关系确立阶段。
2、主从关系确立阶段
也就是DR/BDR的选举。
在双方都进入2-way后,各自通过hello报文进行DR/BDR选举。
DR和BDR是由同一网段中所有路由器根据路由优先级和路由器ID选举出来的,只有hello报文中rtrpri(优先级)字段大于0的路由器才具有选举资格。
在与一个或多个邻居之间都进入2-way之后,本地路由器对每个邻居发来的hello包中的优先级、DR、BDR域进行检查。
此时,所有路由器都宣称自己为DR(将自己的接口地址置于hello包DR字段中),也都宣称自己为BDR。
(将自己的接口地址置于hello包BDR字段中)
DR字段中优先级最高的路由器被宣告为DR,如果优先级一样,则拥有最高路由器ID的邻居被选为DR。
BDR字段中优先级最高的路由器被宣告为BDR,如果优先级一样,则拥有最高路由器ID的邻居被选为BDR;如果没有任何路由北选为BDR,则拥有最高优先级的非DR邻居路由器被选为BDR,如果优先级相同,则最高路由ID者被选为BDR。
进入exstart状态后,双方路由器开始以DD报文进行交互,确定双方的主从关系(不是DR与BDR),确定用于数据交换的初始DD报文的序列号,以保证路由器得到的永远是最新的链路状态信息。
通过双方的路由器ID来确定主从关系,路由器ID大的为主设备
确定好主从关系后,从设备以主设备的DD报文序列号向主设备发送DD报文,并转换自己接收DD报文的接口为exchange状态;主设备收到从设备DD报文后也将收到DD报文的接口转换为exchange状态。
3、数据库同步阶段
主设备开始向从设备发送带有LSAheader字段的报文,对从设备进行数据更新。
当主设备向从设备发送最后一个DD报文时,将接收DD报文的接口转换为loading状态;当从设备收到最后一个DD报文时也将收到报文的接口转换为loading状态。
当主设备发送完DD报文后,从设备开始依据所接收的DD报文中的LSAheader字段检查自己的LSDB,如果没有,从设备会以LSR报文向主设备发出更新请求;当主设备收到从设备发送来的LSU会向从设备发送对应的LSA;从设备收到主设备的LSU报文后会以LSAck报文进行确认。
4、完全邻接阶段
当双方的LSDB完全同步后,双方均转为FULL状态,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 路由器 OSPF 路由 配置 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)