华为OSPF理论和配置命令.docx

上传人:b****2 文档编号:2139608 上传时间:2022-10-27 格式:DOCX 页数:15 大小:672.68KB
下载 相关 举报
华为OSPF理论和配置命令.docx_第1页
第1页 / 共15页
华为OSPF理论和配置命令.docx_第2页
第2页 / 共15页
华为OSPF理论和配置命令.docx_第3页
第3页 / 共15页
华为OSPF理论和配置命令.docx_第4页
第4页 / 共15页
华为OSPF理论和配置命令.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

华为OSPF理论和配置命令.docx

《华为OSPF理论和配置命令.docx》由会员分享,可在线阅读,更多相关《华为OSPF理论和配置命令.docx(15页珍藏版)》请在冰豆网上搜索。

华为OSPF理论和配置命令.docx

华为OSPF理论和配置命令

OSPF要求每台运行OSPF的路由器都了解整个网络的链路状态信息,这样才能计算出到达目的地的最优路径。

OSPF的收敛过程由链路状态公告LSA(LinkStateAdvertisement)泛洪开始,LSA中包含了路由器已知的接口IP地址、掩码、开销和网络类型等信息。

收到LSA的路由器都可以根据LSA提供的信息建立自己的链路状态数据库LSDB(LinkStateDatabase),并在LSDB的基础上使用SPF算法进行运算,建立起到达每个网络的最短路径树。

最后,通过最短路径树得出到达目的网络的最优路由,并将其加入到IP路由表中。

OSPF直接运行在IP协议之上,使用IP协议号89。

OSPF有五种报文类型,每种报文都使用相同的OSPF报文头。

Hello报文:

最常用的一种报文,用于发现、维护邻居关系。

并在广播和NBMA(None-BroadcastMulti-Access)类型的网络中选举指定路由器DR(DesignatedRouter)和备份指定路由器BDR(BackupDesignatedRouter)。

DD报文:

两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。

DD报文的内容包括LSDB中每一条LSA的头部(LSA的头部可以唯一标识一条LSA)。

LSA头部只占一条LSA的整个数据量的一小部分,所以,这样就可以减少路由器之间的协议报文流量。

LSR报文:

两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地LSDB所缺少的,这时需要发送LSR报文向对方请求缺少的LSA,LSR只包含了所需要的LSA的摘要信息。

LSU报文:

用来向对端路由器发送所需要的LSA。

LSACK报文:

用来对接收到的LSU报文进行确认。

邻居和邻接关系建立的过程如下:

Down:

这是邻居的初始状态,表示没有从邻居收到任何信息。

Attempt:

此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。

如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。

Init:

在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。

2-Way:

在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。

这是建立邻接关系以前的最高级状态。

ExStart:

这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。

主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。

在此状态下发送的DD报文不包含链路状态描述。

Exchange:

此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。

Loading:

相互发送LSR报文请求LSA,发送LSU报文通告LSA。

Full:

路由器的LSDB已经同步。

RouterID是一个32位的值,它唯一标识了一个自治系统内的路由器,可以为每台运行OSPF的路由器上可以手动配置一个RouterID,或者指定一个IP地址作为RouterID。

如果设备存在多个逻辑接口地址,则路由器使用逻辑接口中最大的IP地址作为RouterID;如果没有配置逻辑接口,则路由器使用物理接口的最大IP地址作为RouterID。

在为一台运行OSPF的路由器配置新的RouterID后,可以在路由器上通过重置OSPF进程来更新RouterID。

通常建议手动配置RouterID,以防止RouterID因为接口地址的变化而改变。

运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前路由器之间首先需要建立邻接关系。

邻居(Neighbor):

OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文用于发现邻居。

收到Hello报文的OSPF路由器会检查报文中所定义的一些参数,如果双方的参数一致,就会彼此形成邻居关系。

邻接(Adjacency):

形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定。

只有当双方成功交换DD报文,并能交换LSA之后,才形成真正意义上的邻接关系。

路由器在发送LSA之前必须先发现邻居并建立邻居关系。

本例中,RTA通过以太网连接了三个路由器,所以RTA有三个邻居,但不能说RTA有三邻接关系。

OSPF的邻居发现过程是基于Hello报文来实现的,Hello报文中的重要字段解释如下:

NetworkMask:

发送Hello报文的接口的网络掩码。

HelloInterval:

发送Hello报文的时间间隔,单位为秒。

广播网络中10S。

Options:

标识发送此报文的OSPF路由器所支持的可选功能。

具体的可选功能已超出这里的讨论范围。

RouterPriority:

发送Hello报文的接口的RouterPriority,用于选举DR和BDR。

---------------

Interfaceg0/0/0

Ospfdr-priority0-2550不参与选举,默认1

----------------------------------------------------------------------------

RouterDeadInterval:

失效时间。

如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效;单位为秒,通常为四倍HelloInterval。

DesignatedRouter:

发送Hello报文的路由器所选举出的DR的IP地址。

如果设置为0.0.0.0,表示未选举DR路由器。

BackupDesignatedRouter:

发送Hello报文的路由器所选举出的BDR的IP地址。

如果设置为0.0.0.0,表示未选举BDR。

Neighbor:

邻居的RouterID列表,表示本路由器已经从这些邻居收到了合法的Hello报文。

------------------------------------------------------(本课程不探讨)

如果路由器发现所接收的合法Hello报文的邻居列表中有自己的RouterID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立。

验证一个接收到的Hello报文是否合法包括:

如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中NetworkMask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查NetworkMask字段;

所接收的Hello报文中HelloInterval字段必须和接收端口的配置一致;

所接收的Hello报文中RouterDeadInterval字段必须和接收端口的配置一致;

所接收的Hello报文中Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置一致。

如图所示,路由器在建立完成邻居关系之后,便开始进行数据库同步,具体过程如下:

邻居状态变为ExStart以后,RTA向RTB发送第一个DD报文,在这个报文中,DD序列号被设置为X(假设),RTA宣告自己为主路由器。

RTB也向RTA发送第一个DD报文,在这个报文中,DD序列号被设置为Y(假设)。

RTB也宣告自己为主路由器。

由于RTB的RouterID比RTA的大,所以RTB应当为真正的主路由器。

RTA发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为RTB在步骤2里使用的序列号,因此RTB将邻居状态改变为Exchange。

邻居状态变为Exchange以后,RTB发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为Y+1(上次使用的序列号加1)。

即使RTA不需要新的DD报文描述自己的LSDB,但是作为从路由器,RTA需要对主路由器RTB发送的每一个DD报文进行确认。

所以,RTA向RTB发送一个内容为空的DD报文,序列号为Y+1。

发送完最后一个DD报文之后,RTA将邻居状态改变为Loading;RTB收到最后一个DD报文之后,改变状态为Full(假设RTB的LSDB是最新最全的,不需要向RTA请求更新)。

邻居状态变为Loading之后,RTA开始向RTB发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。

RTB收到LSR报文之后,向RTA发送LSU报文,在LSU报文中,包含了那些被请求的链路状态的详细信息。

RTA收到LSU报文之后,将邻居状态从Loading改变成Full。

RTA向RTB发送LSACK报文,用于对已接收LSA的确认。

此时,RTA和RTB之间的邻居状态变成Full,表示达到完全邻接状态。

OSPF定义了四种网络类型,分别是点到点网络,广播型网络,NBMA网络和点到多点网络。

点到点网络是指只把两台路由器直接相连的网络。

一个运行PPP的64K串行线路就是一个点到点网络的例子。

广播型网络是指支持两台以上路由器,并且具有广播能力的网络。

一个含有三台路由器的以太网就是一个广播型网络的例子。

OSPF可以在不支持广播的多路访问网络上运行,此类网络包括在hub-spoke拓扑上运行的帧中继(FR)和异步传输模式(ATM)网络,这些网络的通信依赖于虚电路。

OSPF定义了两种支持多路访问的网络类型:

非广播多路访问网络(NBMA)和点到多点网络(PointToMulti-Points)。

NBMA:

在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置。

NBMA方式要求网络中的路由器组成全连接。

P2MP:

将整个网络看成是一组点到点网络。

对于不能组成全连接的网络应当使用点到多点方式,例如只使用PVC的不完全连接的帧中继网络。

每一个含有至少两个路由器的广播型网络和NBMA网络都有一个DR和BDR。

DR和BDR可以减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以节省带宽,降低对路由器处理能力的压力。

一个既不是DR也不是BDR的路由器只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样就大大减少了大型广播型网络和NBMA网络中的邻接关系数量。

在没有DR的广播网络上,邻接关系的数量可以根据公式n(n-1)/2计算出,n代表参与OSPF的路由器接口的数量。

在本例中,所有路由器之间有6个邻接关系。

当指定了DR后,所有的路由器都与DR建立起邻接关系,DR成为该广播网络上的中心点。

BDR在DR发生故障时接管业务,一个广播网络上所有路由器都必须同BDR建立邻接关系。

本例中使用DR和BDR将邻接关系从6减少到了5,RTA和RTB都只需要同DR和BDR建立邻接关系,RTA和RTB之间建立的是邻居关系。

此例中,邻接关系数量的减少效果并不明显。

但是,当网络上部署了大量路由器时,比如100台,那么情况就大不一样了。

在邻居发现完成之后,路由器会根据网段类型进行DR选举。

在广播和NBMA网络上,路由器会根据参与选举的每个接口的优先级进行DR选举。

优先级取值范围为0-255,值越高越优先。

缺省情况下,接口优先级为1。

如果一个接口优先级为0,那么该接口将不会参与DR或者BDR的选举。

如果优先级相同时,则比较RouterID,值越大越优先被选举为DR。

为了给DR做备份,每个广播和NBMA网络上还要选举一个BDR。

BDR也会与网络上所有的路由器建立邻接关系。

为了维护网络上邻接关系的稳定性,如果网络中已经存在DR和BDR,则新添加进该网络的路由器不会成为DR和BDR,不管该路由器的RouterPriority是否最大。

如果当前DR发生故障,则当前BDR自

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1