




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)论 文 题 目 : 路由环路三大协议的工作方式以及环路在协议中的解决方案 目录摘 要IABSTRACTII第一章:RIP协议运行过程11.1:RIP概述11.1.1:RIP的防环机制21.1.2:rip拓扑变化31.1.3:rip定时器31.1.4:默认路由41.1.5:浮动静态路由51.2:RIP环路现象以及解决方案5第二章:OSPF协议运行过程82.1:OSPF概述82.1.1:链路状态算法82.1.2:特性简介92.2:网络类型92.2.1:区域划分102.3:LSA六种常见类型112.4:OSPF环路解决方案13第三章:BGP协议运行过程163.1:BGP协议概述163.1.1:BGP协议特性163.2:BGP术语173.2.1:BGP属性193.2:BGP的选路规则263.3:BGP策略路由与路由策略283.4:BGP环路产生原因及解决方案28第四章:对未来路由协议环路解决方案的展望314.1、环路分析314.2环路案例314.3、环路解决方案324.3环路的危害性33致谢34参考文献35路由环路的产生及解决方案摘 要在维护路由表信息的时候,如果在拓扑发生改变后,网络收敛缓慢产生了不协调或者矛盾的路由选择条目,就会发生路由环路的问题,这种条件下,路由器对无法到达的网络路由不予理睬,导致用户的数据包不停在网络上循环发送,最终造成网络资源的严重浪费。在当今的网络环境中,使用RIP协议的路由器少之又少,几乎见不到由RIP协议产生的路由环路,通常来说,都是在使用静态路由之后产生的环路。现在,OSPF,BGP协议等,都能有效防止环路,所以希望广大的网管同志们还是尽量在初期配置的时候多花一些力气来配置动态路由协议,不要偷懒只打几条静态路由,这样可以在后期避免很多不必要的麻烦。如果出现了环路的问题,可以利用科来网络分析软件来进行分析,查找诊断中TTL值过小的设备,然后对该设备的配置进行更新。关键词:路由环路 RIP协议 OSPF协议 BGP协议 静态路由Routing loop production and solutionsAbstractIn the maintenance of routing table information, if in the topology change, the network convergence slow produced not harmonious or contradictory routing entry, it happens routing loop problem, this kind of condition, the router to unreachable network routing ignored, resulting in the users data packet is constantly in the network cycle to send, resulting in serious waste of network resources.In todays network environment, use RIP protocol router little and then little, almost see the RIP protocol produce routing loop, generally speaking, is in the use of a static route after which loop. Now, OSPF, BGP protocol, etc,can effectively prevent the loop, so I hope the web master comrades or as far as possible in the initial configuration of the time spend some strength to configuration and dynamic routing protocols, dont be lazy only play a few static routing, so that we can in the later avoid a lot of unnecessary trouble. If there was loop problem, can use the family to network analysis software to analysis, find and diagnosis of TTL value too small equipment, then update the configuration of the device.Keywords: routing loop RIP protocol OSPF protocol BGP protocol static routing第一章:RIP协议运行过程1.1:RIP概述RIP(routing information protocol)中文名称是路由信息协议是典型的距离矢量型路由择协议。是应用较早内部网关协议IGP,适用于小型的同类网络是典型的距离矢量路有协议,RIP是一个由国际标准经历了长期的实际运行验所有的路由厂商都支持它,而且,RIP在各种操作系统中都能很容易地配置和排错,在那些没有冗余链路的网络中,RIP能很好的进行工作,但RIP最大的缺点就是不能再冗余链路中运行,同时也只试用小型的同类网络,所以在大型网络中,就该考虑采用其它协议了。RIP是分布式的距离矢量的路由选择协议,是因特网的标准协议,其最大特点就是简单。RIP协议要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。RIP协议将“距离”定义为从一个路由器到直接连接的网络距离定义为1,从一个路由器到非直接连接的网络的距离定义为一个没经过路由器则加1,RIP允许一条路径最多只能包含15个路由器,因此,距离等于16时即为不可达。可见RIP协议只适用于小型网络。RIPv2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大装载的有用信息的数量,同时增加其安全性能。RIPv1和RIPv2 都是基于UDP的协议。在 RIPv2 下,每台主机或路由器通过路由选择进程发送和接受来自UDP的520端口数据包。RIP协议默认的路由更新周期是30秒。RIPv1提出较早,其中有很多缺陷。为了修善RIPv1的不足,在RFC1388档中提出了改进的RIPv1也就是现在的RIPv2,并在RFC1723文档和RFC453文档中进行了修订版本RIPv2定义了一套有效的改进方案,新的RIPv2支持子网路由选择,支持CIDR和VLSM支持组播,并提供了验证等机制。随着OSPF和IS-IS的出世,许多人认为RIP已经淘汰了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽比较小,容易配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了水平分割法英文是(split-Horizon),在这个接口收到的路由信息不会再从该接口出去。分割范围解决了两个路由器之间的路由环路问题,但不能防止因网络规模较大、主要由延迟因素产生的路由环路。触发更新要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过16跳,这使得RIP协议不适于大型网络。RIP(Routing Information Protocol)是基于D-V算法的内部动态路由协议。它是第一个为所有主要厂商支持的标准IP选路协议,目前已成为路由器主机路由信息传递的标准之一,适应于大多数的校园网和使用速率变化不大的连续的地区性网络。对于更复杂的环境,一般不应使用RIP。 1.1.1:RIP的防环机制 RIP协议的默认管理距离是120,处于UDP协议上层,RIP所接收的路由信息都封装在UDP的数据保中,RIP使用UDP520端口发送接收信息,先更新本地路由表,然后再通知给其他的路由器。(1) 使用Hop count(跳计数)作为路径选择的度量值一个报文从本结点到目的结点,中途经历的次数或路由器数量被称为跳计数,RIP采用距离向量算法,他通过比较到达目的站点的各个路由的Hop count即跳计数的大小,从中选择具有最小的跳数的路由作为最佳路由RIP只保留到目的地的最佳路由,当交换过来的新路由提供了一条更加的路由是,RIP就应它来替换旧的信息。(2) 最大跳数为15,如果一个网络的跳计数大于15,则认为网络失效,这就是说,一条路由跳计数为16就认为不可大路由即无效,显然这样定义有效地预防了环路的蔓延,对于小网络高效易行;但对于超过15跳的大型网络来说,RIP就有局限性了。(3) 周期性的广播或多点传送整个路由表,RIP版本1采用的就是广播式更新,网络中的所有设备都会受到更新的影响,RIP版本2采用的就是组播式更新,没有运行RIPv2的网络也会周期性的发送整个路由表给相邻路由器。1.1.2:rip拓扑变化拓扑发生变化时,RIP路由的处理过程如图1-1-1所示:图1-1-1 rip拓扑变化 1.1.3:rip定时器Update timer 更新计时器:在RIP启动之后,平均每30秒,启用了RIP的接口会发送应答信息(也就是update),这个update包含了路由器除了被split horizon(水平分割)抑制的完整的路由表.update周期发送的时间间隔(update timer)为25.5秒到30秒之间(随机),并且update的目标地255.255.255.255 。 invalid timer 无效计时器:如果180秒默认值后还未收到可刷新现有路由的更新则将该路由的度量设置为16从而将其标记为无效路由在清除计时器超时以前该路由仍将保留在路由表中。 flush timer 清除计时器:默认情况下清除计时器设置为240秒比无效计时器长 60 秒。当清除计时器超时后该路由将从路由表中删除。这里就意味着一个路由条目在180秒内没有收到更新报文时无效计时器超时。路由条目中该路由被标志为x.x.x.x is possibly down直到刷新计时器也超时了(再过60秒后)该路由条目才被删除。在RIP中真正删除路由条目的是刷新计时器超时。 Holddown timer 抑制计时器。该计时器用于稳定路由信息并有助于在拓扑结构根据新信息收敛的过程中防止路由环路,在某条路由被标记为不可达后它处于抑制状态的时间必须足够长以便拓扑结构中所有路由器能在此期间获知该不可达网络,默认情况下抑制计时器设置为 180 秒。抑制计时器通过以下方式工作:(1) 路由器从邻居处接收到更新该更新表明以前可以访问的网络现在已不可访问。 (2) 路由器将该网络标记为 possibly down 并启动抑制计时器。 (3) 如果在抑制期间从任何相邻路由器接收到含有更小度量的有关该网络的更新则恢复该网络并删除抑制计时器。 (4) 如果在抑制期间从相邻路由器收到的更新包含的度量与之前相同或更大则该更新将被忽略。如此一来更改信息便可以继续在网络中传播一段时间。 (5) 路由器仍然会转发目的网络被标记为 possibly down 的数据包。通过这种方式路由器便能克服连接断续所带来的问题。如果目的网络确实不可达但路由器又转发了数据包黑洞路由就会建立起来并持续到抑制计时器超时。 1.1.4:默认路由在图1-1-2中,某企业内部运行RIP协议,在R1是企业内部路由器,R2是企业边界路由器,R3相当于ISP的边界路由器,R2使用RIP协议与内部相连,配置默认路由与Internet相连;R3配置静态路由访问企业内部网络;R1是企业内部路由器,可以通过RIP学到整个企业内部的路由,可如何Internet呢如果在内部每台路由器上都配置默认路由,不但麻烦切不能适应网络拓扑的变化,此时就需要在R2上使用ip-default-network或者defaultinformation originate 命令向内部网络宣告一条动态的默认的路由。图1-1-2 默认路由 1.1.5:浮动静态路由在图1-1-3中某公司的总部和分部间使用专线相连,配置RIP协议实现公司网络的互联。为了防止专线故障,有申请了一根拨号的备份线路提供冗余,以备在专线链路故障时,使用拨号线路。因为比好线路带宽有限,使用动态路由协议路由更新会占用部分带宽,为了不影响关键业务流,在拨号线路上配置静态路由,如图1-1-3所示:图1-1-3浮动静态路由1.2:RIP环路现象以及解决方案RIP环路一般分为两种:1、路由原路返回原路返回是指当某台路由器A在更新自己的路由表后往外发送时对方路由器B接受该路由表以及更新自己的路由表,当自己更新完成后也同样往外发送自己更新后的路由表,以使全网能够获得全网路由,然而就在该路由器B也同样往回发送自己的路由表此时路由器A会收到一条自己路由表内已经有拥有的路由如图1-1-4所示:图1-1-4路由原路返回2、路由绕路返回对于原路返回的路由环路和上面的理由没多大的区别,既然是绕路肯定要经过其他的设备,最终又回到自己的路由器上的一种路由如图1-1-5所示:图1-1-5路由绕路返回针对上面的两种现象RIP协议也有了解决的方案根据RIP的特性比如:水平分割、毒性逆转、触发更新、更新抑制、更新延迟、16跳等等这几个机制在协议中基本上算是解决了环路的产生;如果在现象原路返回的现象。方案一:当一条路由发出去之后,在每台路由器上开启水平分割,这样一台路由收到一条路由时就不会再往回发送。方案二:也同样可以采用毒性逆转来控制环路的产生,当网络中一条路由失效时,路由当然也是无效的了,不过在每台路由器上开启毒性逆转,收到该路由时,信息表中COST值就会立即跳转到16跳也就是不可达路由,此时这条路由这条路有一段时间后就会在老化时间机制中慢慢消失,但如果一条路由失效网络拓扑发生变化,这台路由器就会立即启用触发更新,然而一个复杂一点的网络不会那么容易,仅仅启用触发更新就会没事,因为在一个网络中不止一台路由器启用触发更新,这时还要伴随着随机延迟,当然这个时间段不能完全解决这种问题,更新抑制会受到随机延迟的限制网络同时进行更新如图1-1-6所示:图1-1-6 毒性逆转第二章:OSPF协议运行过程 2.1:OSPF概述OSPF是Open Shortest Path First(开放最短路径优先)的缩写。它是IETF组织开发的一个基于链路状态的内部网关协议,目前在互联网上大量的使用。本章主要介绍OSPF协议的工作原理,包括它的分层结构、网络类型、报文封装、邻居建立和维护等内容。 2.1.1:链路状态算法链路状态算法是一种与哈夫曼向量算法(距离向量算法)完全不同的算法,应用哈夫曼向量算法的传统路由协议为RIP,而OSPF 路由协议是链路状态算法的典型实现。与RIP 路由协议对比,OSPF 除了算法上的不同,还引入了路由更新认证、VLSM(可变长子网掩码)、路由汇聚等新概念。RIP 协议存在两个致命弱点:收敛速度慢、网络规模受限制(最大跳数不超过16)。OSPF 克服了RIP 的弱点,可以胜任中大型、较复杂的网络环境。OSPF 路由协议利用链路状态算法建立和计算到每个目标网络的最短路径,该算法本身较复杂,以下简单的概括性地描述了链路状态算法工作的总体过程。初始化阶段,设备将产生链路状态通告,该链路状态通告包含了该设备全部链路状态。所有设备通过组播的方式交换链路状态信息,每台设备接收到链路状态更新报文时,将拷贝一份到本地数据库,然后再传播给其它设备。当每台设备都有一份完整的链路状态数据库时,设备应用Dijkstra 算法针对所有目标网络计算最短路径树,结果内容包括:目标网络、下一跳地址、花费,是IP 路由表的关键部分。 如果没有链路花费、网络增删变化,OSPF 将会十分安静,如果网络发生了任何变化,OSPF 通过链路状态进行通告,但只通告变化的链路状态,变化涉及到的设备将重新运行Dijkstra 算法,生成新的最短路径树。 2.1.2:特性简介OSPF 的实现完全遵循了RFC 2328 中定义的OSPF v2,包括主要特性如下:(1)支持OSPF 多进程;(2)支持VRF,可以基于不同VRF 运行OSPF;(3)残域完全支持残域的定义;(4)路由重分布实现了与静态路由、直连路由以及RIP、BGP 等动态路由协议之间;(5)认证支持邻居之间明文或者MD5 的认证;(6)虚拟链路支持虚拟链路;(7)可变长子网掩码VLSM 的支持;区域的划分:(1)NSSA(Not So Stubby Area),RFC 3101 定义;(2)Graceful Restart,RFC 3623 定义;2.2:网络类型(1)Broadcast广播类型需要选举DR(Designated Router)和BDR(Backup Designated Router),由DR 对外通告该网络的链路状态。所有的设备之间都保持邻居关系,但是所有设备只与DR 和BDR 之间保持邻接关系,也就是说每台设备只与DR 和BDR 交换链路状态数据包,然后由DR 通告给所有的设备,从而每台设备能够保持一致的链路状态数据库。可以通过设置接口优先级来控制DR 的选举结果。优先级最高者获胜,优先级为0 者取消选举资格。修改优先级不会立即生效,只有等待新一轮选举。进行新一轮选举的唯一条件是:OSPF 邻居在一定时间内没有接收到DR 的hello 报文,认为DR 宕机了。(2)NBMA(Non-Broadcast Multi-Access,非广播多点可达网络)NBMA网络是指那些全连通的、非广播、多点可达网络。NBMA是一种缺省的网络类型,而P2MP网络必须是由其它的网络强制更改的。NBMA网络采用单播发送报文,需要手工配置邻居。P2MP网络采用组播方式发送报文。(3)P2MP(Point-to-MultiPoint,点到多点)P2MP 类型可以看作是多个P2P 链路,产生多个主机路由。P2MP 类型不选举DR 和BDR,允许设置到每个邻居的度量值。(4)P2P(Point-to-Point,点到点)P2P 类型以组播方式发送OSPF 报文,自动发现邻居。2.2.1:区域划分图2-2-1区域划分图这一张图就是介绍了OSPF中的两大特殊区域,也许有人会问为什么上面是四种区域呢,我们可以归类成两类区域一个是Stub区域一个是Not-so-Stub区域这张表有接收区域间路由是什么意思比如说OSPF中有area 0、1、2这几个区域分别都属于一个自治系统内,那么只接收区域间路由顾名思义就是说路由只在这几个区域内发送,针对外部路由很显然是不能接收或者发送的,例如:Stub Area:接收区域间路由:否,就是接收,ABR是否自动发送默认路由:就是说区域边界路由是否在自身路由器上自动产生一条默认路由指向自己外部路由在访问该区域时就是通过这条默认路由访问的,然而当外部路由进来区域会不会重新引入该路由或者发布该路由答案是:否,同理其他的几个特殊的区域也是同理我也不一一介绍了。2.3:LSA六种常见类型由于OSPF协议定义了多种路路由器的类型,因而定义多种LSA通告的类型也是必要的。例如:一台DR路由器必须通告多路访问链路和所有与这条链路相连的路由器,而其他类型的路由器将不需要通告这种类型的信息。OSPF的七种类型LSA:(1)路由器LSA (Router LSA)由区域内所有路由器产生,并且只能在本个区域内泛洪广播。这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。(2)网络LSA (Network LSA)由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器,网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。(3)网络汇总LSA (Network summary LSA)由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。(4)ASBR汇总LSA (ASBR summary LSA)也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。(5)自治系统外部LSA (Autonomous system external LSA)由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。(6)组成员LSA(Group membership LSA)目前不支持组播OSPF (MOSPF协议)(7)NSSA外部LSA (NSSA External LSA)由ASBR产生,几乎和LSA 5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA 5报文,但是NSSA中不能有LSA 5报文,所有ASBR产生LSA 7报文,发给本区域的路由器。只有一个例外,每台ABR路由器上利用一个类型3来通告缺省路由。每一种区域内允许泛洪的LSA类型。区域类型 1&2 3&4 5 7骨干区域允许 允许 允许 不允许非骨干(非Stub)允许 允许 允许 不允许Stub 允许 允许 不允许不允许完全stub允许 不允许 不允许不允许NSSA 允许 允许 不允许 允许只有一个例外,每台ABR路由器上利用一个类型3来通告缺省路由。(1)末梢区域:(Stub Area)不允许AS外部通告(LSA 5)在其内部进行泛洪。在末梢区域边界的ABR路由器使用网络汇总LSA (LSA 3)向这个区域通告缺省路由,而且这条缺省路由不会被通告到这个区域的外部去。(2)完全末梢区域:(Totally stub)使用缺省路由到达OSPF自治系统外部的目的地址,而且使用缺省路由到达这个区域外部的所有目的地址,完全末梢区域的ABR路由器不仅阻塞LSA 5,也阻塞所有的汇总LSA除了通告缺省路由的那一条类型3。(3)非纯末梢区域(Not-so-stubby-area)允许外部路由通告到OSPF自治系统内部,而同时保留自治系统的其余部分的末梢区域特征,ASBR将始发类型7的LSA来通告那些外部网络,这些NAAS外部LSA将在整个NAAS区域中泛洪,在ABR上被阻塞。ABR会将类型7的转化为类型5通告到其他区域中。2.4:OSPF环路解决方案OSPF中有很多种环路的类型每一种环路都有相应的解决方法为了展示集中环路产生的环境拓扑下面我将画一种相应的拓扑图区域间的环路如图2-4-2所示:图2-4-2无区域图图2-4-3区域图我们可以发现上面的两个图:一种是运行OSPF同时都在一个区域内的网络环境,另一种就是运行OSPF的网络环境分别在三个区域:area:0、area:1、area:2中,针对第一种网络环境我们可以看到这种拓扑没有别的机制来控制的环很容易造成环路产生而第二种就能很好的控制环路产生。环路问题:为什么第一种情况为什么会出现环路呢?例如:当R2上的LP:10.0.2.0 /24这个网段是外部路由在该区域中发送的时候,由于R1 、R2、 R3都同时运行了OSPF协议,在前面的OSPF的运行原理,我们可以知道当一条路由无意中消失或者某条链路挂掉的时候,就会有环路产生的可能,当R2的外部路由不能往该区域发送那么区域内的三台路由器都有相应的外部路由,那当这条路有挂了的同时R1会通知其他的路由器,说:嗨!我发现一条路由挂掉了,你们也都别要了吧!其他路由相当听话,问题就是就在三台路由器都在相互通知的时候会有路由环路,R2发给SW1(此时当成一台路由器)的时候,此时R3会定时发送HELLO包此时R2收到R3发来一条我没有的一条路由LP:10.0.2.0 /24 这条路由,R2就会在自己的路由表中把这条路由加入,一段时间过后这条路有有没有收到,此时R2又会认为这条路有已经挂掉了,就是这样R2和R3之间就会产生环路。为什么第二种情况就会解决出现的环路了呢?第二种网络环境中我们可以发现他有三个区域:area:0、area:1、area:2就是这三个区域使整个自制系统内没有了环路,area:0是骨干区域area:1非骨干区域area:2非骨干区域,骨干区域与非骨干区域有三种机制:一、骨干区域收到的LSA不再发回骨干区域。二、非骨干区域从骨干区域收到的LSA不再往回发送。三、非骨干区域之间不再发送LSA。所以我们可以用一句话来总结解决该环路的方法就是骨干区域防止环路。图2-4-4 解决环路第三章:BGP协议运行过程3.1:BGP协议概述二十世纪八十年代初,互联网知识一个简单的网关到网关的GGP网络(Gateway to Gateway Protocol)这种协议要求每一网关都知道去其他网关的路由,但随着网络规模的发展以及路由表的规模计算路由的开销都变得十分庞大,所以简单的网络已经不能满足当今社会的需求。RFC827对美国研究工程部署(ARPANET)网络划分了层次,把一个单一的网络哟划分成由多个互联的自制系统AS(Autonomous System)组成的网络。每一个自制系统用AS号来标记是一个由管理机构独立管理的互联网络每个AS内,管理机构可以自主选择IGP协议GGP协议就是美国研究部署的第一个IGP路由协议,之后完全被RIP、EIGRP、OSPF等协议取代,现在在AS之间通过EGP协议来共享信息。随着网络的进一步发展,拓扑的复杂性,EGP协议因为以下缺点,最终被BGP(Border Gateway Protocol)协议取代。(1)不能进行环路检测。(2)不具有选择遇见最优路由的算法。(3)网络拓扑发生变化时,收敛速度较慢。(4)不能应用路由策略。3.1.1:BGP协议特性BGP是一种外部网关协议,与OSPF、RIP等内部网关协议不同,其功能不在于发现和计算路由,而在于控制路由的发送与接收和选择最佳路由。BGP协议的特性大概有七大特性:(1)BGP使用TCP作为其传输层协议(协议号位179)从而提高了协议的可靠性。BGP进行域间路由选择,对协议的稳定性要求较高,因此TCP协议的高可靠性来保证BGP协议的稳定性。BGP对等体必须逻辑上连通,并进行TCP连接,向对等体发起连接请求时,目的的端口号为179,而本地的端口号任意。(2)BGP支持无类域间路由CIDR。(3)路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,所以该协议适用于在Internet上传播大量的路由信息。(4)BGP是一种距离矢量协议,从设计上避免了环路的发生。AS区域之间:BGP携带AS路径信息标记路径AS,带有本地AS号的路由将被丢弃,从而避免了域间环路的产生。(5)BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。(6)BGP提供了路由解决路由震荡的机制,有效提高了Internet网络的稳定性。(7)BGP方便扩展,能够适应网络新的发展。3.2:BGP术语图3-2-1(1)什么是BGP发言者、BGP对等体呢?发送BGP消息的路由器成为BGP发言者BGP Speaker。相互交换BGP发言者之间互称为BGP对等体BGP Peer。(2)什么是EBGP、IBGP对等体呢?处于不同AS的BGP对等体为EBGP对等体,通常情况下对等体是物理上的直连。BGP发言者从EBGP对等体获得的路由会向其他所有的BGP对等体通告包括EBGP、IBGP。处于同一个AS的BGP对等体为IBGP对等体。两大特点:BGP的路由不再向他的IBGP对等体发布BGP获得的路由是否发布给他的EBGP对等体与BGP是否同步相关(3)我们看到BGP同步,那什么又是BGP同步呢?所谓的BGP同步就是我们经常看到的BGP转发中“黑洞“的产生如图所示:如果位于AS200的路由器D上没有到达8.0.0.0 /24网络的路由信息,那么在路由器D上去往8.0.0.0 /24网段的路由就会被丢弃图3-2-23.2.1:BGP属性本节主要介绍的内容:BGP属性的分类、Origin属性、AS_Pash属性Next_Hop属性、MED属性、Local_Pref属性。BGP属性的分类:BGP路由属性是一套参数,他对特定的路由属性进行描述,继而BGP能够对路由进行过滤和选择。所有的BGP路由属性一般分为一下四类:(1)公认必遵属性(Well-known mandatory):所有BGP 路由器都可以识别,且必须,存在于Update 消息中。如果缺少这种属性,路由信息就会出错。(2)公认可选属性(Well-known discretionary):所有BGP 路由器都可以识别,但不要求必须存在于Update 消息中,可以根据具体情况来选择。(3)可选可过渡(Optional transitive):在AS 之间具有可传递性的属性BGP 路由可传递。(4)可选非过渡(Optional non-transitive):如果BGP 路由器不支持此属性,则相应的。Update 消息会被忽略,且不会通告给其他对等体。图3-2-3 属性分类对于上述提到的Update其实就是消息类型中的一种,BGP的消息类型大概可以分为四种:消息类型消息作用的描述Open用于建立BGP对等体之间的连接关系Keepalive周期性地向BGP对等体发出Keepalive消息,用来保持连接的有效性该报文只有包头没有内容Update数据包里面携带的是路由更新的信息Notification当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接关系就会立即关闭掉那么我们可以考虑一下BGP之间在发送消息类型的时候他们之间的关系是怎么建立的呢?这个就是我要描述的的BGP协议状态机,BGP之间的建立共分为两部分;第一步:TCP的建立。第二部:BGP建立。ConnectActive规则:首先Idle(空闲状态)发起TCP连接时可能会成功、失败、超时,那如果成功的话就转到Open-sent状态,如果失败转到active状态,如果超时转到connect状态,同理active、connect也会发起TCP连接同样也会有成功、失败、超时三种结果,不过,当连接成功的时候转到Open-sent状时,开始建立BGP连接,等待BGP发送open报文进入open-confirm(查配置)状态,当收到BGP邻居发送keepalive报文时,对open进行确认之后再转到Estabish(已建立)状态。超时IdleOpen-sent成功 失败EstablishedOpen-confirm图3-2-4 BGP状态机AS_Path属性含义:按适量的顺序记录了某条路由从本地地址到目的地址所要经过的所有AS编号。(1)公认必遵属性。(2)是路由到达一个目的地址所经过的一系列自制系统号码的有序列表。(3)当BGP将一条路由通过到其他AS时便会把自己的AS号添加在AS_Pash列表的最前面也就是最左边。还有一点特别注意的就是,IBGP在向对等体通告路由时,不改变AS_Pash属性,只有在EBGP对等体间通告时AS编号才会被添加到AS_Pash列表的最左边,不过这个知识针对有序列表,如果是无序的路由器就会建立一张表,来记录AS号码这时不要求什么顺序。如图所示:图3-2-5作用:1、防止路有环路。AS_Pash属性可以防止路由环路,一般情况下,运行BGP的路由器不接收AS中已经包含本地AS编号的路由条目,所以这种机制可以很好的防止环路的产生,不过有时候根据特殊的需要也可以让邻居接收已有的AS编号,通过配置peer allow-as-loop 命令可以允许AS 编号重复,同样也可以附加AS编号,配置apply as-path命令可以附加AS编号。2、控制路由选择。AS_Pash属性可用于控制路由的选择。在其他因素相同的情况下,BGP会优先选择AS路径较短的路由,不过在某些应用中可以使用路由策略认为的增加AS路径的长度,以便更为灵活的控制BGP路径额选择。3、路由过滤。通过配置AS路径过滤,可以针对AS_Pash属性中所柏寒的AS编号对路由进行过滤,比如说只接收AS_Pash列表中包含某一个如20的路由,这样就可以控制路由的走向。AS_Pash属性的一个主要作用就是防止环路的产生,如果BGP路由器收到来自对等体的路由发现有自己的AS编号,就会放弃这条路由以避免环路的产生,但是仅仅应用有序列表,路由在聚合的情况下会存在环路的可能。如图所示3-2-6:AS:20发布路由10.0.12.0 /24给AS:100,该路由在AS:100处聚合后发布给AS30,最后又被AS30发回给AS20.而此时AS:20收到聚合后的路由,并不包含AS20的路由信息,因为路径信息在AS:100处聚合后丢失了。图3-2-6聚合环路那么解决上面环路的方法就是在聚合路由加入无序集AS_Set。图3-2-7 BGP详细图从这个实验当中你就能看到PASH中不带有其他的AS只有本身的PASH,后面其他的PASH只是到目的地址的AS并不是收到的路由添加的AS编号。Net_Hop属性一般情况下Net_Hop属性遵循下面的规则。(1)BGP S发言者在向EBGP对等体发送某条路由时,会把该路由信息的下一条属性设置为本地与对端建立邻居关系的接口地址。(2)BGP 发言者将本地事发路由发布给IBGP对等体时,会把该信息的下一条属性设置为本地与对端建立BGP邻居关系的接口地址。(3)BGP 发言者在向IBGP对等体发布从EBGP对等体雪莱的路由时,并不改变该路由信息的下一条属性。图3-2-8 BGP发言者MED属性MED(Multi-Exit-Disriminator)属性仅在相邻的两个AS之间传递消息,收到此属性的AS这台路由器不再将其通告其他的AS区域。MED属性和比较老的IGP使用的度量值很像,它用于判断流量进入AS区域时的最佳路由,当一个运行BGP的设备通过不同的EBGP对等体所要到达的目的地址相同,但是下一条不同有多条到达目的地,在其他条件都相同的情况下,将选择MED值较小的作为最佳路由如图所示3-2-8所示:注意一点的是:BGP只会比较来自同一个AS的里也有,不同AS之间的MED值不比较。图3-2-9 MED属性Local_Pref属性该属性只在IBGP对等体之间才有效,不同高给其他的AS,该属性也是所谓的本地优先级。Local_Pref属性用于判断流量离开AS时的最佳路由,当BGP的路由通过不同的IBGP对等体时,也就是说一条路由到达目的地址相同,但会有不同的路径,这时在其他条件都相同的情况下,该路由将优先选择Local_Pref属性较高的路由如图3-2-9所示:图3-2-10 Local_PrefCommunity属性团体属性用来简化路由策略的使用和降低维护管理的难度。它是一组有相同特征的目的地址的集合,没有物理上的边界,语气所在的AS无关,许多目的地址都来共享这一个或者多个共同的属性。团体属性以4字节为单位的列表来表示,VRP中团体属性的格式:aa:nn或团体。下面就是BGP团体公认属性列表:团体名称团体标识说明Internet0(0x00000000)默认情况下,所有路由都属于internet团体,具有此属性的路由可以被通告给所有给所有的BGP对等体No_Export4294967041(0xFFFFFF01)具有此属性的路由在收到后,不能被发布到本地AS之外,如果使用了联盟则不能被发布到联盟之外在可以发给其他的子ASNo_Advertise4294967042(0Xffffff02)具有此属性的路由在收到之后,不能被通告给其他任何的BGP对等体No_Export_Subconfed4294967042(0Xffffff03)具有此属性的路由在收到之后,不能发布到本地AS3.2:BGP的选路规则本节主要介绍路由选择的规则和策略,主要有下面几项:(1)BGP选择路由的策略。(2)用用BGP负载分担时的选路策略。(3)BGP发布路由的策略。(4)IBGP和IGP同步。BGP选择路由的策略当一条路由到达目的地有多条路径时,BGP采取如下进行路由选择:(1)BGP优先选择Preference值较小的本地始发路由,这个优先级是IP路由表中各个协议路由的Preference值,可以通过命令查看IP路由表Preference值越小优先级越高。(2)直连路由的Preference是最小值,所以在BGP本地事发路由中如果存在直连路由BGP会优先选择直连路由。(3)首先丢弃下一条Next_Hop不可达路由。(4)无条件选择本地优先级Local_Pref最高的路由。(5)先选择聚合路由(本地聚合路由优先级高于本地非聚合路由)。(6)优先级AS路径(AS_Pash)最短的路由比较Origin属性一次选择IGP Incomplete的路由。(7)优选MED值最低的路由。(8)优选从EBGP学来的路由 EBGP的优先级高于IBGP的优先级。(9)优选AS内部IGP的metric最低的路由,如果配置了负载分担,并且有多条AS_Pash完全相同的外部路由,则根据配置的路由条数选择多条路由进行负载分担。(10)优选Originator_ID最小的路由。(11)优选Router_ID最小的路由发布的路由。(12)比较对等体的IP地址,优选选择具有较小IP地址的对等体学来的路由。当然,一般情况有十六个路由选择属性,这里我就不列了想了解BGP路由策略属性的选择顺序的话,到网上百度:BGP路由选择规则属性都可以找到好多,这些策略属性页让BGP在网络里面站住了脚位,不过,该协议一般比较适合大型的企业比如:电信,联通等等一般小型和中型的企业用的最多的也就是OSPF这个协议。3.3:BGP策略路由与路由策略什么是策略路由呢?所谓策略路由是一种基于ACL配合使用,是操作员手工指定的路由选择机制,与依照IP报文查找路由表转发不同,它可以应用于安全负载分担等目的,策略路由好比是一种静态路由,策略路由不仅能够根据目的地址转发出去,还可以与ACL(访问控制列表)配合使用,所以发送的报文还可能取决于协议类型,端口号,报文长度等,路由策略通过指定下一跳或输出接口来控制报文发送,此外策略路由还可以通过改变IP报文的TOS字段达到流量的控制。什么是路由策略呢?路由策略就是路由发布接收的策略,路由策略一般是通过修改相关属性如AS_Pash、Next_Hop、Local_pre等等来很好的控制流量这也就是流量规划的一部分,这给企业方便了不同部门以及不同需求。在H3C中通过节点以及访问控制列表,通过匹配原则来指定流量的走向路由策略是一些规则,使用相应的策略改变规则来影响路由发布、接收或路由选择的参数来改变发现的结果,最终改变的是路由表中的内容,是在路由发现的时候产生作用。策略路由时尽管当前存在最有路由,但是针对某些特别的目标不使用当前路由表中转发的路径而单独使用别的转发路径,在数据包转发的时候发生作用,不改变路由表中的任何内容,策略路由的优先级高于其他的任何路由,所以,操作员如果配置了策略路由,报文就会优先根据策略路由进行数据转发。总之,策略路由是数据包转发规则,二路由策略是路由发现规则,所以策略路由我们可以理解成“转发策略”这样我们就能很好地区分策略路由和路由策略。3.4:BGP环路产生原因及解决方案介绍到为止前面我已经介绍了好几种有关环路的原因,现象,以及环路的解决方案,为什么我会把环路这一节单独设在这,是因为我想再次总结一下环路的集中现象,环路在我们企业中存在话,对我们整个网络环境影响不堪想象。BGP环路的几种产生现象:第一种:属性相关的环路。图3-2-11环路图上面的这张图就是我在介绍BGP属性AS_Pash时提出的一种现象,首先我们先分析一下,如果理想情况下没有这条属性,我们看到BGP这个五大区域,每一台路由器都运行BGP协议的时候,中间某一条路由突然消失了或者某一条链路断掉了,再或者某一台路由器在收到对方的BGP更新后的数据包反而有重新发了回来这时,按理说,该路由器不应该接收这条路有,可是如果真的在理想情况下,也没有这条AS_Pash属性的话,这样不仅浪费了带宽而且会使一条路由在这个网络环境下来回发送,进而形成了环路,可是BGP有这么一种机制可以来很好的控制这条路由的转发,签发已经介绍过这种方法了我就不多讲了。第二种:聚合产生的路由产生的路由。图3-2-11 聚合产生的路由当AS20的路由发到AS100中时会聚合成10.0.12.0 /24这个网段,这个还不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省宣城市郎溪县2024-2025学年高二上学期期末考试化学试题及答案
- 小区农业生产合作合同
- 行政文件归档与资料管理系统
- 工程项目管理计划执行与监控工具
- 高中现代文阅读方法指导与训练教案
- 商业场所监控设备安装合同书
- 时间作息课件
- 时钟认识任意时间课件
- 写劳动最光荣作文(14篇)
- 绿色简约国际礼仪培训
- 法律知识培训课件
- 2024年安康社区工作者考试真题及答案
- 业财融合与价值创造课件
- 长沙市名校小升初分班考试数学试卷(含答案)
- 肺动脉栓塞护理查房
- 学院 军训协议书
- 农村房地产转让合同协议
- 拉链专业工艺讲解
- 快速康复在泌尿外科的应用
- (标准)按摩店转让合同协议书
- 《死亡医学证明(推断)书》培训试题(附答案)
评论
0/150
提交评论