IPUBCOSPF协议原理及配置P_第1页
IPUBCOSPF协议原理及配置P_第2页
IPUBCOSPF协议原理及配置P_第3页
IPUBCOSPF协议原理及配置P_第4页
IPUBCOSPF协议原理及配置P_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ipub_4o4_c1ospf协议原理及配置课程目标:熟悉ospf路由协议的原理掌握ospf协议配置 了解调试和维护ospf的相关命令参考资料: zxr10路由交换机操作手册 zxr10路由器用户手册第1章ospf路由协议原理11.1 ospf协议简介和特点11.2基本概念31.3 ospf的协议报文4131 ospf的报文格式41.3.2 ospf的报文类型51.4 dr 和 bdr6141 dr的概念61.4.2 dr的产生过程: 71.4.3 dr、bdr 的特点: 71.5链路状态81.5.1 nbma (nonbroadcast multi access) 91.5.2 nbma与点

2、到多点之间的区别:91.6 ospf的邻居状态机101.7 ospf邻居关系的建立过程111.8链路状态数据库的同步过程121.9计算路由151.10lsa (链路状态广告)的洪泛机制161.10.1网络链路状态发生改变吋161.10.2网络稳定时171.10.3 ospf链路状态广告序列号181.11区域划分191.11.1单区域问题191.11.2划分区域201.11.3区域间路由计算211.11.4划分区域后的好处: 211.12 lsa 分类211.13接口分类及路由器分类231.13ospf协议根据链路层封装协议不同分为以下四种网络类型: 231.13.2路由器根据在自治系统屮的不同

3、位置划分为以下四种类型: 231.14与自治系统外部通讯241.14.1白治系统:2414.2 asbr251.14.3路由分级管理: 251.15区域种类261.15.1骨干区域261.15.2末节区域和完全末节区域: 271.15.3非完全末节区域(nssa): 291.16虚连接:301.17路由聚合:311.18 ospf与路由口环321.18.1路由自环3218.2 ospf与路由自环:32第2章ospf协议规划352.1何吋需耍运行ospf协议352.2如何配置ospf协议系统规划362.2.1划分区域原则: 362.2.2制约条件362.3如何配置ospf协议372.3.1配置o

4、spf协议的步骤372.3.2基本配置382.3.3基本接口属性配置382.3.4配置邻居路由器392.3.5配置ospf认证392.3.6配置其它区域相关命令392.3.7配置区域间路由聚合402.3.8配置路由重分布时的路由聚合402.3.9配置通告缺省路由402.3.10配置虚链路40 2.3.11配置重分布其它路由协议412.3.12修改ospf管理距离41第3章 ospf调试与监控433ospf的维护过程中常用的命令433.2显示ospf的动态信息43第4章ospf配置实例454基本ospf配置454.2多区域ospf配置454.3配置ospf虚链路484.4配置ospf认证50 第

5、1章ospf路由协议原理m知识点 掌握ospf的工作原理。 掌握ospf的各个基本概念。1.1 ospf协议简介和特点ospf是open shortest path first (即“开放最短路由优先协议”)的缩写。它 是ietf (internet engineering task force)纽织开发的一个基于链路状态的自 治系统内部路山协议(igp),用于在单一自治系统(autonomous system, as)内 决策路山。在ip网络上,它通过收集和传递自治系统的链路状态来动态地发现 并传播路由。当丽ospf协议使用的是第二版,最新的rfc是2328o为了弥补距离矢量协议的局限性和缺

6、点从而发展出链路状态协议,ospf链路状 态协议有以下优点:适应范围 ospf支持各种规模的网络,最多可支持儿百台路山器。 最佳路径ospf是基于带宽来选择路径。 快速收敛一一如果网络的拓扑结构发生变化,ospf立即发送更新报 文,使这一变化在自治系统中同步。 无自环由于ospf通过收集到的链路状态用最短路径树算法计算 路由,故从算法本身保证了不会牛成自环路由。 子网掩码一一山于ospf在描述路由时携带网段的掩码信息,所以 ospf协议不受自然掩码的限制,对vlsm和cidr提供很好的支持。 区域划分一一ospf协议允许自治系统的网络被划分成区域来管理,区 域间传送的路由信息被进一步抽象,从而

7、减少了占用网络的带宽。 等值路由一一ospf支持到同一目的地址的多条等值路由。 路由分级一一ospf使用4类不同的路由,按优先顺序来说分别是:区域内路 由、区域间路由、第一类外部路由、第二类外部路由。注释:第一类外部路由,认为它的metric与as内部的metric是一个量级,计算路由cost时是as 内的cost+外部路由的costo e1方式第二类外部路由,通常认为它的metric与as内部的metric不是一个量级的(as内的cost简在可 以不用考虑),这时计算出的路由的cost玄接是引入的外部路由的cost,不考虑as内路径的metric。e2方式偏重口制系统内部的选路,宣告系统内部

8、路由,控制入业务量的走路,用e1;偏重口制系统外部选 路,自治系统接受外部路由通告,控制出业务量的走路,用e2。举个例子。如图所示,如果b和c两个asbr路由器将目的地址61.135.169.125通过e1类型來 通告此地址到h治系统内部路由器a,那么b路由器通告的到目的地的路径a-b-d的路径代价和为 20+5+5=30, c路由器通告的到口的地的路径a-c-d的路径代价和为10+10+5=25,所以h治系统 内部路由器a将会选择a-c-d这条路。如果b和c两个asbr路由器将目的地址61.135.169.125通过e2类型来通告此地址到自治系统 内部路由器a,因为e2类型不计算白治系统内部

9、路径代价,那么b路由器通告的到目的地的路径a-b-d的路径代价和为5+5=10, c路由器通告的到口的地的路径a-c-d的路径代价和为10+5=15,所以口治系统内部路由器a将会选择a-b-d这条路。61356925 支持验证 它支持基于接口的报文验证以保证路山计算的安全性。 组播发送一一 ospf在有组播发送能力的链路层上以组播地址发送协 议报文,即达到了广播的作用,乂最大程度的减少了对其他网络设备的干 扰。ospf链路状态协议有以下两个问题要注意: 在初始发现过程中,链路-状态路由协议会在网络传输线路上进行洪泛(f i o od),因此会大大削弱网络传输数据的能力。 链路状态路由对存储器容

10、最和处理器处理能力敏感。1.2基本概念 router id: ospf协议使用一个被称为router id的32位无符号整数来 唯一标识一台路由器。基于这个冃的,每一台运行ospf的路由器都需耍 一个router ido这个router id 一般需要手工配置,一般将其配置为该路 由器的某个接口的ip地址。由于ip地址是唯一的,所以这样就很容易保 证router id的唯一性。在没有手工配置router id的情况下,一些厂家的 路由器支持口动从当前所有接口的ip地址口动选举一个ip地址作为 router id。 协议号:ospf协议用ip报文直接封装协议报文,协议号是89。89 - ospf

11、6-tcp17 udptframe header1frame payloadcrcip headerprotocol numberpacket payload interface (接口):路由器和具冇唯一 ip地址和了网掩码的网络之间的连接。 也称为链路(link) o 指定路由器(dr)和备份指定路由器(bdr):在一个广播型多路访问环境 屮的路由器必须选举一个dr和bdr來代表这个网络。dr和bdr的选举是 为了减少在局域网上的ospf的流最。 adjacency (邻接关系):邻接在广播或nbma网络的dr和非指定路由器z 间形成。 neighboring routers (相邻路由器

12、):带冇到公共网络的接口的路tl器。 邻居表(neighbor database):包括所冇建立联系的邻居路由器。 链接状态表(拓扑表)(link state datebase):包含了网络中所有路由器的 链接状态。它表示着整个网络的拓扑结构。同area内的所灯路由器的链接状 态表,都是相同的。 路由表(routingtable):也称转发表,在链接状态表的基础z上,利用spf算 法计算而來。1.3 ospf的协议报文1.3.1 ospf的报文格式以字节表示的域长111±244228可变的版本号类 型数据包长度路由器q区域id校验和认证类型认证数 据 版本号标识所使用的ospf版本;

13、 类型将ospf数据包类型标识为以下类型之一;hello报文,dbd报文,lsr报文,lsu报文,lsack报文 数据包长度以字节为单位的数据包的长度,包括ospf包头; 路由器id标识数据包的发送者; 区域id标识数据包所属的区域。所有ospf数据包都与一个区域相关 联; 校验和校验整个数据包的内容,以发现传输中可能受到的损伤; 认证类型包含认证类型:类型0标识不进行认证,类型1表示采用明 文方式进行认证,类型2表示采用md5算法进行认证。ospf协议交换的 所有信息都可以被认证,认证类型可按各个区域进行配置; 认证包含认证信息; 数据包含所封装的上层信息(实际的路由信息):1.3.2 os

14、pf的报文类型ospf的报文类型一共冇五种 hello报文(hello packet):最常用的一种报文,周期性的发送给本路 由器的邻居。内容包括一些定时器的数值,dr, bdr,以及自己已知的邻 居。hello 报文中包含冇 router id、hello/dead intervals> neighbors> area-id router prioritydr ip address > bdr ip address > authentication password、stub area flag 等信息,其中 hello/dead intervals> area

15、-id authentication passwordstub area flag 必须一致,相邻路 l+l器才能建立邻 居关系。router id、3954743 9(i7c713hello/dead intervals 次 neighborsarea-idrouter prioritydr ip addressbdr ip addressauthentication passwordstub area flag *带星号的项目必须要一致 dbd报文(database description packet):两台路由器进行数据库同步 时,用dbd报文来描述自己的lsdb,内容包括lsdb屮每

16、一条lsa的 摘要(摘要是指lsa的head,通过该head可以唯一标识一条lsa)。 这样做是为了减少路由器之间传递信息的量,因为lsa的head只占一 条lsa的整个数据最的一小部分,根据head,对端路由器就可以判断 出是否已经有了这条lsa。 lsr报文(link state request packet):两台路由器互相交换过dbd报 文之后,知道对端的路由器有哪些lsa是木地的lsdb所缺少的或是对 端更新的lsa,这时需要发送lsr报文向对方请求所需的lsa。内容包 括所需要的lsa的摘要。 lsu报文(link state update packet):用来向对端路由器发送所需

17、要 的lsa,内容是多条lsa (全部内容)的集合。 lsack 报文(link state acknowledgment packet)用来对接收到的 dbd,lsu报文进行确认。内容是需要确认的lsa的head (个报文可 对多个lsa进行确认)。1.4 dr 和 bdr1.4.1 dr的概念在广播和nbma类型的网络上,任意两台路由器之间都需要传递路山信息 (flood),如果网络中有n台路山器,则需要建立n * (n-1) /2个邻接关系。任何一台路山器的路山变化,都需要在网段中进行n* (n-d /2次的传递。这是 没有必要的,也浪费了宝贵的带宽资源。为了解决这个问题,ospf协议指

18、定一 台路山器dr (designated router)来负责传递侑息。所有的路山器都只将路山倍 息发送给dr,再|i|dr将路山信息发送给本网段内的其他路山器。两台不是dr 的路由器(drothcr) z间不再建立邻接关系,也不再交换任何路由信息。这样 在同一网段内的路由器z间只盂建立n个邻接关系,每次路由变化只需进行2n 次的传递即可。1.4.2 dr的产生过程:p=3p=2p=1p=1p=0哪台路iii器会成为木网段内的dr并不是人为指定的,而是山本网段中所有的路山器共同选举出来的。dr的选举过程如下:1 登记选民一一本网段内的运行ospf的路山器;2. 登记候选人一一本网段内的pri

19、ority>0的ospf路山器;priority是接口 上的参数,可以配置,缺省值是1;3 竞选演说一一部分priority>0的ospf路由器认为自己是dr;4.在所有自称是dr的路由器中选priority值最大的当选,若两台路山 器的priority值相等,则选router id最人的当选°选票就是hello报文, 每台路山器将自己选出的dr写入hello中,发给网段上的每台路由器;1.4.3dr、bdr 的特点:1.4.3.1 稳定:由于网段中的每台路由器都只和dr建立邻接关系。如果dr频繁的更迭,则每 次都要重新引起本网段内的所冇路由器与新的dr建立邻接关系。这样

20、会导致 在短时间内网段中冇大量的ospf协议报文在传输,降低网络的口j川带宽。所以 协议中规定应该尽量的减少dr的变化。具体的处理方法是,每一台新加入的路 由器并不急于参加选举,而是先考察一下本网段中是否已冇dr存在。如果冃前网段中已经存在dr,即使本路由器的priority比现有的dr还高,也不会再声称 白己是dr to而是承认现有的dro1.4.3.2快速响应:如果dr由于某种故障而失效,这时必须重新选举dr,并与z同步。这需耍较 长的时间,在这段时间内,路市计算是不正确的。为了能够缩短这个过程,ospf 提出了 bdr (backup designated router)的概念。bdr实

21、际上是对dr的一个 备份,在选举dr的同时也选举岀bdr, bdr也和本网段内的所有路由器建立 邻接关系并交换路由信息。当dr失效后,bdr会立即成为dr,由于不需要重 新选举,并且邻接关系事先已建立,所以这个过程是非常短暂的。当然这时还需 要重新选举出一个新的bdr,虽然-样需要较长的时间,但并不会影响路由计算。1433注意: 网段屮的dr并不一定是priority最人的路由器;同理,bdr也并不一定 就是priority第二大的路由器。 dr是指某个网段中概念,是针对路由器的接口而言的。某台路曲器在一 个接口上可能是dr,在另一个接口上可能是bdr,或者是drothero 只有在广播和nb

22、ma类型的接口上才会选举dr,在point-to-point和 point-to-muiltipoint类型的接口上不需要选举。1.5链路状态 两台drother路由器之间不进行路由信息的交换,但仍i口互相发送 hello报文。他们之间的邻居状态机停留在2-way状态。ospf协议计算路由是以本路由器周边网络的拓扑结构为棊础的。每台路由器将 口己周边的网络拓扑描述出来,传递给其他所有的路由器。ospf将不同的网络拓扑抽彖为以下四种类型: 该接口所连的网段中只有本路由器口己。(stub networks) 该接口通过点到点的网络与一台路由器相连。(point-to-point ) 该接口通过广播

23、或nbma的网络少多台路由器相连。(broadcast ornbma networks) 该接口通过点到多点的网络少多台路由器相连。(pointto-multipoint)1.5.1 nbma (nonbroadcast multiaccess)是指非广播多点可达的网络,比较典型的冇x.25和frame relay0在这种网络中, 为了减少路由信息的传递次数,需要选举dr,其他的路由器只与dr交换路由 信息。在上述描述中有一个缺省的条件:这个nbma网络必须是全连通的(fullmeshed)0但这在实际悄况中并不一定总能得到满足:例如一个x.25网络出于 花费方面的考虑,并不一定在任何两台路由

24、器z间都建立一条map;即使是一个 全连通的网络,也町能由于故障导致某条map中断,使该网络变成不是全连通 的。在这种悄况下会冇什么问题呢?假设冇一个非全连通的x.25网络,但其中a、b、e三者是全连通的,假设e被选举为dr,其他为drother (这里先不考虑 bdr)0 a、c、d三者也是全连通的,d是其中的dr。由于d、e之间不连通, 所以dr的选举算法不能正确运行,d、e都坚持宣称自己是dr。対于a,则只 能根据选举算法确定一个dr,假设是e,则a与e之间交换路山信息。a不承 认d是dr, d无法与a交换路山信息,a, c之间也无法交换路山信息(两 者都是drother)o这样d、c就

25、无法与网络中其他路由器交换路由信息。导致路 由计算不正确。由上述分析町知:错误产生的原因是因为在非全连通的网络中选举dr所至。为 了解决这个问题,ospf协议定义了一种新的网络类型:point-to-multipoint (点 到多点)。点到多点与nbma最本质的区别是:在点到多点的网络中不选举dr、 bdr,即这种类型的网络中任意两台路由器之间都交换路山信息。在上面假设例 了中b、c可以通过a与网段中的其他路由器交换路由信息。一个nbma的网 络是否是全连通的需要网络铮理人员去判断,如果不是,则需要更改配置,将网 络的类型改为点到多点。1.5.2 nbma与点到多点之间的区别: 在ospf协

26、议中nbma是指那些全连通的非广播多点可达网络。而点到 多点的网络并不需要一定是全连通的。 在nbma上需耍选举dr、bdr,在点到多点上则不需耍。 nbma是一种缺省的网络类型,例如:如果链路层是x.25、frame relay 等类型,则ospf会缺省的认为该接口的网络类型是nbma (不论该网 络是否全连通,因为链路层无法判断出來)。而点到多点不是缺省的网络类型,没冇哪种链路层协议会被认为是点到多点。点到多点必须是由其他 的网络类型强制更改的。最常用的是将非全连通的nbma改为点到多点。 nbma用单播发送协议报文,需要手工配置邻居。点到多点是可选的,即 可以用单播发送,又可以用多播发送

27、报文。简单的说:在ospf协议屮nbma和点到多点都是指非广播多点可达的网络, 但nbma网纟各必须满足全连通(full meshed)的要求,即任意两点都口j以不经转 发而便报文直达对端。否则,我们称该网络是点到多点网络。1.6 ospf的邻居状态机downattemptgiinit5-一一fexstail down:邻居状态机的初始状态,是指在过去的dead-interval时间内没有 收到对方的hello报文。 attempt:只适用于nbma类型的接口,处于本状态时,定期向那些手工 配置的邻居发送hello报文。 init:木状态表示已经收到了邻居的hello报文,但是该报文中列出的邻

28、 居屮没有包含我的router id (对方并没有-收到我发的hello报文) 2-way:本状态表示双方互相收到了对端发送的hello报文,建立了邻 居关系。在广播和nbma类型的网络中,两个接口状态是drother的路 山器之间将停留在此状态。英他情况状态机将继续转入高级状态。 exstart:在此状态下,路由器和它的邻居之间通过互相交换dbd报文(该 报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。 建立主/从关系主要是为了保证在后续的dbd报文交换中能够有序的发 送。exchange:路由器将本地的lsdb用dbd报文来描述,并发给邻居。loading:路由器发送l

29、sr报文向邻居请求对方的dbd报文。full:在此状态下,邻居路由器的lsdb中所有的lsa本路由器全都有了。即, 木路由器和邻居建立了邻接(adjacency)状态。注:红色的状态是指稳定的状态(down> two-ways full),其他状态则是在转换过 程中瞬间(-般不会超过几分钟)存在的状态。本路由器和状态可能耳对端路由 器的状态不相同。例如本路由器的邻居状态是full,对端的邻居状态可能是 loading o1.7 ospf邻居关系的建立过程172.16.5.1/24172.16.5.2/24eldown state我brouter id是1721651,没有看到邻居。rou

30、ter bneighbors list172.16.5.1/24, intel我的router id是1721652,我的邻居有1721651router aneighbors list172.16.5.2/24, inteotwo-way state当配置ospf的路由器刚启动时,相邻路由器(配置有ospf进程)之间的hello包交换过程是最先开始的。网络屮的路由器初始启动后交换过程如下: 第一步::路由器a在网络里刚启动时是down-state,因为没有和其它路由 器进行交换信息。它开始向加入ospf进程的接i i发送hello报文,尽管 它不知道任何路由器和谁是dro hello包是用多

31、播地址224.0.0.5发送的。 第二步:所有运行ospf的与a路由器肓连的路由器收到a的hello包后 把路由器a的id添加到自己的邻居列表中。这个状态是init-stateo 第三步:所有运行ospf的与a路由器直连的路由器向路由器a发送单播的冋应hellohello包中邻居字段内包含所有知道的路由器id,也包括路由器a的id。 第四步:当路由器a收到这些hello包后,它将其中所有包含白己路由器 id的路由器都添加到白己的邻居表中。这个状态叫做two-wayo这时,所 有在其邻居表屮包含彼此路由器id记录的路由器就建立起了双向的通信。 第五步:如果网络类型是广播型网络一就彖以太网一样的l

32、an,那么就需 要选举dr和bdro dr将与网络屮所有其他的路由器之间建立双向的邻 接关系。这个过程必须在路由器能够开始交换链路状态信息之前发生。 第六步:路由器周期性的(广播型网络屮缺省是10秒)在网络屮交换hello 数据包,以确保通信仍然在正常工作。更新用的hello包中包含dr,bdr 以及其hello数据包已经被接收到的路由器列表。记住,这里的“接收到” 意味着接收方的路由器在所接收到的hello数据包中看到它口己的路由器 id是其中的条目乙一。1.8链路状态数据库的同步过程e0172.16.5.1exstart state不,我将开发发起链路信息的交互,因为我拥有我将发起链路信息

33、的交互,因为我的router id是172-16.5.1.更高的router id.exchange state这是我的链路状态数据库的汇总信息。4d2d|这是我的链路状态数据库的汇总信息-一口选举出了 dr和bdr之后,路由器就被认为进入“准启动”状态,并且它们 也已经准备好发现有关网络的链路状态信息,以及牛成它们h己的链路状态数据 库。用來发现网络路由的这个过程被成为交换协议,它使路由器进入到通信的“完 全(full)”状态。这个过程屮的第一步是使dr和bdr与网络中所有其他的路由器 建立一个邻接关系。一旦邻接的路由器们处于“完全”状态时,交换协议不会被 重复的执行,除非“完全”状态发生了

34、变化。交换协议的运行步骤如21.第一步:在“准启动”状态中,dr和bdrlj网络中其他的各路由器建立 邻接关系。在这个过程中,各路由器与它邻接的dr和bdrz间建立一个 主从关系。拥有高路由器id的路由器成为主路由器。说明 注意只有dr和与它已经建立了邻接关系的路由器之间交换和同步链路状态信 息。用dr来代表网络可以减少路由更新数据流的总量。2.第二步:主从路由器间交换一个或多个dbd数据包(也叫ddp数据包)。 这时,路由器处于“交换(exchange)”状态。dbd包括在路由器的链路状态数据库屮出现的lsa条口的头部信息。lsa 条冃可以是关于一条链路或是关于一个网络的信息。每一个lsa条

35、n的头 包括链路类型、通告该信息的路由器地址、链路的开销以及lsa的序列号等信息。lsa序列号被路由器用来识别所接收到的链路状态信息的新程 度。3.第三步:当路由器接收到dbd数据包后,它将要进行以下的工作:thanks for the information!lsackloading statelsui need the complete entry for network 172.16.6.0/24.here is the entry for network 172.16.6.0/24.lsackthanks for the information!full state 通过链路状态确认(

36、lsack)数据包小对dbd序列号的冋应,确认己经收到 了该dbd包。 通过检查dbd屮lsa的头部序列号,将它接收到的信息和它拥有的信息 做比较。如果dbd有一个更新的链路状态条目,那么路由器将向另一个 路由器发送数据状态请求包(lsr)o发送lsr的过程叫做“加载(loading)" 状态。 另一台路由器将使用链路状态更新包(lsu)回应请求,并在其屮包含所 请求条h的完整信息。当路由器收到一个lsu时,它将再一次发送lsack 包冋应。4.第四步:路由器添加新的链路状态条目到它的链路状态数据库小。当给定路由器的所有lsr都得到了满意的答复吋,邻接的路由器就被认为 达到了同步并进

37、入“完全”状态。路由器在能够转发数据流量z前,必须 达到“完全”状态。19计算路由上图中描述了通过ospf协议计算路由的过程。(1)由六台路由器组成的网络,连线旁边的数字表示从一台路由器到另一台路 由器所需要的花费。为简化问题,我们假定两台路由器相互z间发送报文 所需花费是相同的。(2)每台路由器都根据口己周围的网络拓扑结构生成一条lsa (链路状态广 播),并通过相互z间发送协议报文将这条lsa发送给网络中其它的所 有路由器。这样每台路由器都收到了其它路由器的lsa,所有的lsa放 在一起称作lsdb (链路状态数据库)。显然,6台路由器的lsdb都是 相同的。(3)由于一条lsa是对一台路

38、由器周围网络拓扑结构的描述,那么lsdb则 是对整个网络的拓扑结构的描述。路由器很容易将lsdb转换成一张带 权的有向图,这张图便是对整个网络拓扑结构的真实反映。显然,6台路 由器得到的是一张完全相同的图。(4)接下来每台路由器在图中以口己为根节点,使用spf算法计算出一棵最 短路径树,由这棵树得到了到网络中各个节点的路由表。显然,6台路由 器各白得到的路由表是不同的。这样每台路由器都计算出了到具它路由器 的路由。由上面的分析町知:ospf协议计算出路由主要有以下三个主要步骤: 描述本路由器周边的网络拓扑结构,并生成lsao 将口己生成的lsa在口治系统中传播。并同时收集所有的其他路由器生成的

39、lsao 根据收集的所有-的lsa计算路由缺省情况下,ospf的cost值是用10的8次方除以链路带宽,累加所得。1.10 lsa (链路状态广告)的洪泛机制1.10.1网络链路状态发生改变时ospf的一个主要的优点是触发更新,保证网络内的所有路由器都能及吋知道网 络的任何变化。在链路状态路由环境中,保持链路状态拓扑数据库的同步是十分重要的。当链路 状态发生改变的吋候,路由器便用泛洪(flooding)方式通知网络小其他的路由器 这一变化。lsu提供了泛洪lsas的机制。小说明虽然在这个图里边没有显示出来,实际上每一个lsu都被确认了。通常情况下,一个多路访问网络的泛洪过程如下: 第一步:一台

40、路由器注意到了一个链路状态的变化,并且将含有更新过的lsa条fi的lsu数据包通过多播地址224.0.0.6发送给dr和bdr。一个 lsu数据包中可以包含多个独立的lsao 第二步:dr对接收到的变化进行确认,并且通过多播地址224.0.0.5将这 个lsu泛洪给网络里的其他路由器。接收到lsu以后,每台路由器发送lsack给dr作为m应。为了确保泛洪过程得可靠性,每一个lsa都必须 被单独得到确认。 第三步:如果某个路由器还连接到另一个网络上,它通过向多路访问网络 屮的dr或一个点到点网络中的邻接路由器来转发lsu,从而将lsu泛洪 到其他的网络屮去。接着,dr以组播方式向网络中其他的路由

41、器传送该 lsuo 第四步:路由器使用lsu中包含的更新过的lsa来更新口己的链路状态 数据库。然后它将在一小段延迟z后,对已经更新的链路状态数据库运用 spf算法重新计算,生成新的路由表。ospf通过规定只有邻接的路由器之间才能进行同步而使同步的问题变得简化。 所冇的链路状态条目都会被单独的传送,每隔30分钟整个链路状态数据库会被传 送一遍用以确保链路状态数据库的同步。每个链路状态条1=1都有h己的计时器用 来确定什么时候必须要发送lsa刷新数据包。每一个链路状态条目还有一个最人的老化时间一60分钟。假如一个链路状态条目 在60分钟内没有被刷新,那么它将会被从链路状态数据库屮删除。3说明在c

42、isco路由器中,如果一条路由已经存在了,那么在spf计算的同时,路由表 就可以被使用;可是,如果spf正在计算一条新的路由,那么只有在spf计算完 成之后才可以使用路由表。1.10.2网络稳定时网络稳定时,ospf是通过周期性的lsa泛洪來保证每个ospf路由器冇授新的 网络信息。每条lsa在链路状态计时字段有口己的计时器,缺省时间ospf是3()分钟(在 链路状态计时字段是以秒来表示)。当lsa的计时器到时时,最先产生这条lsa 的路由器(即与这条lsa描述的链路相直连的路由器)将会产生一个有关这条链 路的链路状态更新包以告之其他路由器这条链路的目前状态述是正常工作状态。 一个链路状态更新

43、包(lsu)包含一个或多个lsa,相对距离矢量路由协议lsa 的这种确认方法比较节省带宽,距离矢呈路由协议每次更新时是发整个路由表。当ospf路由器收到lsu。它会按以下步骤来做: 如果链路状态数据库里述没有这条lsa存在,则路由器把lsa添加到链 路状态数据库里,并发回链路状态确认包,然示把这个lsa转发给其它路 由器,同时运行spf,计算最佳路径更新路由表。 如果这个lsa已经存在并几信息相同,则路由器忽略这条lsao 如果这条lsa已经存在但包含有新的信息,则路由器把lsa添加到链路 状态数据库里,并发冋链路状态确认包,然后把这个lsa转发给其它路由 器,同时运行spf,计算最佳路径更新

44、路由表。 如果这条lsa已经存在但包含有ih的信息,则这个路由器会向回发送最新 的信息。1.10.3 ospf链路状态广告序列号最大老化吋间、刷新计吋器和链路状态广告序列号的综合使用,帮助ospf在链 路状态数据库中只保持最新的链路状态记录。这个小节就描述维护链路状态数据 库保持最新链路状态记录的工作过程。在链路状态记录中序列号的位置有32bit长。从最左边的bit位设置起,第一个合 法的序列号是0x80000001 o 4个字节大小,从0x80000001开始到0x7fffffff结束。序列号被用于发现老的或多余的lsa记录,序列号越人,则相关的lsa的记录 越新。为了保持链路状态数据库记录

45、的正确,ospf周期性的每隔30分钟泛洪(刷新) 每一个lsa记录。每次lsa记录被更新的吋候,它的序列号都会被加1。当路由 器接收到lsa更新包的时候会重新设置它关于这条记录的最大老化吋i'可。一个 lsa的记录在最大老化吋间(1小吋)内如果没有被刷新的话是不会继续在数据 库中被保留的。如果一个lsa记录每隔30分钟就被刷新,它很可能在数据库屮被存留很长的一 段时间。那么在某一点,它的序列号就需要返回到它的起点重新开始计算。当这 样的事情发生的时候,这个已经存在的lsa将要被提早设置到达它的最人老化时 间(老化计时器立即设置到1小吋),并且被泛洪出去。这样lsa将会重新从开 始的序列

46、号0x80000001开始计算。1.11区域划分我的路由表太大了, 而我的内存又太小了随着网络规模h益扩大,网络中的路山器数量不断增加。当一个巨空网络中的路 由器都运行ospf路市协议时,就会遇到如下问题:i. 毎台路山器都保留着整个网络中其他所有路山器生成的lsa,这些lsa的 集合组成lsdb,路山器数量的增多会导致lsdb非常庞大,这会占用大 量的存储空间。2. lsdb的庞人会增加运行spf算法的复杂度,导致cpu负担很重。3. 由于lsdb很大,两台路由器z间达到lsdb同步会需要很长吋间。4. 网络规模增大之后,拓扑结构发生变化的概率也增人,网络会经常处于“动 荡”之屮,为了同步这

47、种变化,网络中会冇人最的ospf协议报文在传递, 降低了网络的带宽利用率。更糟糕的是:每一次变化都会导致网络屮所有 的路由器重新进行路由计算。1.11.2划分区域解决上述问题的关键主要有两点: 减少lsa的数量; 屏蔽网络变化波及的范围。ospf协议通过将b治系统划分成不同的区域(area)來解决上述问题。区域是 在逻辑上将路由器划分为不同的组。区域的边界是路由器,这样会有一些路由器 属于不同的区域,(这样的路由器称作区域边界路由器abr),而-个网段只 能属于一个区域。划分成区域z后,给ospf协议的处理带來了很人的变化。 每一个网段必须属于一个区域,或者说每个运行ospf协议的接口必须指

48、明属于某一个特定的区域,区域用区域号(area id)來标识。区域号是一 个从0开始的32位整数。 不同的区域z间通过abr來传递路由信息。1.11.3区域间路由计算ospf将自治系统划分为不同的区域后,路由计算方法也发生了很多变化: 只有同一个区域内的路山器之间会保持lsdb的同步,网络拓扑结构的变 化首先在区域内更新。 区域z间的路由计算是通过abr來完成的。abr首先完成一个区域内的 路由计算,然后查询路由表,为每一条ospf路由生成一条type3类型 的lsa,内容主要包括该条路山的目的地址、掩码、花费等信息。然后将 这些lsa发送到另一个区域中。 在另一个区域中的路由器根据每一条ty

49、pe3的lsa生成一条路由,由于 这些路由信息都是由abr发布的,所以这些路由的下一跳都指向该abr。1.11.4划分区域后的好处: 由于划分区域后abr是根据本区域内的路由生成lsa,则可以根据ip地 址的规律先将这些路由进行聚合后再生成lsa,这样做可以大大减少口治 系统中lsa的数量。 划分区域z后,网络拓扑的变化首先在区域內进行同步,如果该变化影响 到聚合z后的路由,则才会由abr将该变化通知到其他区域。大部分的 拓扑结构变化都会被屏蔽在区域z内了。1.12 lsa 分类一 type 1: router link entrytype 2: nehvork link entry一 typ

50、e 3 and 4: summary link entrytype 5: as external link entry-type 7: nssa external link entryospf是棊j链路状态算法的路由协议,丿0冇对路由信息的描述都是封装在lsa 屮发送岀去。lsa根据不同的川途分为不同的种类,口前使用最多的是以f五种lsa: router lsa (type = 1):是最基本的lsa类型,所有运行ospf的路 由器都会生成这种lsao主要描述本路由器运行ospf的接ii的连接状 况,花费等信息。对于abr,它会为每个区域生成一条router lsa。这 种类型的lsa传递的范

51、围是它所属的整个区域。 netwrok lsa(type = 2):本类型的lsa由dr生成。对于广播和nbma 类型的网络,为了减少该网段中路由器z间交换报文的次数而提出了 dr 的概念。一个网段中有了 dr z后不仅发送报文的方式有所改变,链路状 态的描述也发生了变化。在drother和bdr的router lsa中只描述到 dr的连接,而dr则通过network lsa来描述木网段屮所冇已经同其 建立了邻接关系的路由器。(分别列出它们router id)。同样,这种类型 的lsa传递的范围是它所属的整个区域。 network summary lsa (type = 3):本类型的 lsa

52、 由 abr 生成。当 abr完成它所属一个区域屮的区域内路由计算z后,查询路由表,将本区 域内的每一条ospf路由封装成network summarylsa发送到区域外。 lsa中描述了某条路由的f!的地址、掩码、花费值等信息。这种类型的 lsa传递的范围是abr中除了该lsa生成区域之外的其他区域。 asbr summary lsa (type = 4):木类型的 lsa 同样是由 abr 生成。 内容主要是描述到达本区域内部的asbr的路由。这种lsa与type3类 型的lsa内容基本一样,只是type4的lsa描述的目的地址是asbr, 是主机路由,所以掩码为0.0.0.0。这种类型的

53、lsa传递的范围type3的 lsa相同。 as external lsa (type = 5):木类型的lsa由asbr生成。主要描述 了到白治系统外部路由的信息,lsa中包含某条路由的目的地址、掩码、 花费值等信息。木类型的lsa是唯一一种与区域无关的lsa类型,它并 不与某一个特定的区域相关。这种类型的lsa传递的范用幣个白治系统(stub区域除外)。 as external lsa (type = 7):类型7的lsa被应用在非完全末节区域中(nssa)o1/13接口分类及路由器分类1.13.1 ospf协议根据链路层封装协议不同分为以下四种网络类型: broadcast:当链路层协议

54、是ethernet吋,ospf缺省认为网络类型是 broadcasto在这种类型网络中,以组播地址(224.0.0.5, 224.0.0.6)发送 协议报文,需要选举dr, bdro nbma:当链路层协议是frame relay> x.25时,ospf缺省认为网络类 型是nbma。在这种类型网络中,以单播地址发送协议报文,必须手工 配置邻居的ip地址,盂要选举dr, bdro point-to-multipoint :没有一种链路层协议会被缺省的认为是 point-to-multipoint类型,通常山nbma的类型手工修改而來,如果nbma 类型的网络不是全连通的。在这种类型网络中,

55、以组播地址(224.0.0.5) 发送协议报文,不盂要选举dr, bdro point-to-point:当链路层协议是ppp, hdlc, lapb吋,ospf缺省认为 网络类型是point-to-pointo在这种类型网络中,以组播地址(224.0.0.5) 发送协议报文,不需要选举dr, bdro1.13.2路由器根据在自治系统中的不同位置划分为以下四种类型:area 1backbone area 0area 2abr and backbone routerabr and backbone routertnhu nulroutersbackbonerouterstn tern alrou

56、terstnhu nalasbr andbackbonerouter /*externaljas 二/ iar (internal area router):区域内路由器,是指该路由器的所有接口 都属于同一个ospf区域。这种路由器只生成一条router lsa,只保存 一个 lsdbo abr (area border router):区域边界路由器,该路由器同时属于两个 以上的区域(其屮必须有一个是骨干区域,也就是区域0)。该路由器为 每一个所属的区域生成一条router lsa,为每一个所属的区域保存一个 lsdbo 并根据需要生丿我 network summary lsa (type= 3)和 asbr summary lsa (type = 4)。 bbr (backbone router):骨干路由器,是指该路由器属于骨干区域(也 就是0区域)。由定义可知,所有的a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论