路由设计.docx
《路由设计.docx》由会员分享,可在线阅读,更多相关《路由设计.docx(24页珍藏版)》请在冰点文库上搜索。
![路由设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/4d3d8291-43fe-4c74-8b04-46610009f509/4d3d8291-43fe-4c74-8b04-46610009f5091.gif)
路由设计
1路由设计
1.1.概要
对大型网络来说,选择一个合适的路由协议是非常重要的。
不恰当的选择有时对网络是致命的。
路由协议对于网络的稳定高效运行、网络在拓扑变化时的快速收敛、网络带宽的充分有效利用、网络在故障时的快速恢复、网络的灵活扩展都有很重要的影响。
另外,路由协议对于网络上承载的业务控制的灵活性和复杂性方面也具有很重要的影响。
路由协议的功能主要就是路径选择和信息控制包的传输。
路径的选择取决于链路的metrics,而metrics可包括可靠性、延迟、带宽、负载、mtu、通讯费用和业务数据流向控制等。
不同的路由算法考虑部分或全部的因素,收敛时间和切换时间也是不同的。
随着网络技术的发展,网络规模越来越大,网络上的业务类型也越来越多,其中最主要的两大类应用是:
基于组播技术(包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视/音频会议等)和基于MPLS技术(包括L3VPN、L2VPN、VPLS、VPWS、TE等)。
无论是组播技术还是MPLS技术都紧密依赖于路由技术,路由设计的结果直接影响这两大类业务的实际效果,因此路由协议的选择、路由的部署就显得尤其重要。
华为3Com公司产品在满足实现各类路由协议全部功能的基础上,不断进行优化并推出了RCR、GR、BFD等一系列高级路由特性以充分满足用户需求并从路由方面不断提升产品的价值。
1.2.路由协议分类
根据不同的标准,动态路由协议可以做如下区分。
1.根据作用的范围,路由协议可分为:
●内部网关协议(InteriorGatewayProtocol,简称IGP)
在一个自治系统内部运行,常见的IGP协议包括RIP、OSPF和IS-IS。
●外部网关协议(ExteriorGatewayProtocol,简称EGP)
运行于不同自治系统之间,BGP是目前最常用的EGP。
2.根据使用的算法,路由协议可分为:
●距离矢量协议(Distance-Vector)
包括RIP和BGP。
其中,BGP也被称为路径矢量协议(Path-Vector)。
●链接状态协议(Link-State)
包括OSPF和IS-IS。
以上两种算法的主要区别在于发现路由和计算路由的方法。
3.根据目的地址的类型,路由协议可分成:
●单播路由协议(UnicastRoutingProtocol)
包括RIP、OSPF、BGP和IS-IS等。
●组播路由协议(MulticastRoutingProtocol)
包括DVMRP、PIM-SM、PIM-DM等。
不同的路由协议(包括静态路由)可能会发现不同的路由,但这些路由并不都是最优的。
事实上,在某一时刻,到某一目的地的当前路由仅能由唯一的路由协议来决定。
为了判断最优路由,各路由协议(包括静态路由)都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级的路由协议发现的路由将成为最优路由。
各种路由协议及其发现路由的缺省优先级如下表所示。
其中:
0表示直接连接的路由,255表示任何来自不可信源端的路由;数值越小表明优先级越高。
表:
路由协议及缺省时的路由优先级
路由协议或路由种类
相应路由的优先级
DIRECT
0
OSPF
10
IS-IS
15
STATIC
60
RIP
100
OSPFASE
150
OSPFNSSA
150
IBGP
255
EBGP
255
UNKNOWN
255
除直连路由(DIRECT)外,各种路由的优先级都可由用户手工进行配置,另外,每条静态路由的优先级可以不相同。
1.3.选择原则
选择适当的路由协议需要考虑以下因素:
1.路由协议的开放性
开放性的路由协议保证了不同厂商都能对本路由协议进行支持,这不仅保证了目前网络的互通性,而且保证了将来网络发展的扩充能力和选择空间。
2.网络的拓扑结构
网络拓扑结构直接影响协议的选择。
例如RIP这样比较简单的路由协议不支持分层次的路由信息计算,对复杂网络的适应能力较弱。
路由协议还必须支持网络拓扑的变化,在拓扑发生变化时,无论是对网络中的路由本身,还是网络设备的管理都要使影响最小。
3.网络节点数量
不同的协议对于网络规模的支持能力有所不同,需要按需求适当选择,有时还需要采用一些特殊技术解决适应网络规模方面的扩展性问题。
4.与其他网络的互连要求
通过划分成相对独立管理的网络区域,可以减少网络间的相关性,有利于网络的扩展,路由协议要能支持减少网络间的相关性,是通常划分为一个自治系统(AS),在AS之间需要采用适当的区域间路由协议。
必要时还要考虑路由信息安全因素和对路由交换的限制管理。
5.管理和安全上的要求
通常要求在可以满足功能需求的情况下尽可能简化管理。
但有时为了实现比较完善的管理功能或为了满足安全的需要,例如对路由的传播和选用提出一些人为的要求,就需要路由协议对策略的支持。
1.4.路由协议选择
实际的网络应用中,在满足需求的前提下,路由协议的选择遵从以上原则,具体实现上要从简避繁,尽量保持简单实用,以便于维护和管理,同时减少故障发生时的修复时间和维护成本。
1.4.1.IGP路由选择
IGP协议主要有OSPF、ISIS、RIP、EIGRP几种选择,其中,RIP协议由于收敛时间慢、不支持分层、扩展性差等先天缺陷除了极个别的应用场合,通常不应被考虑;EIGRP属于Cisco私有协议,在开放性、扩展性方面有所限制,也不应被考虑。
因此,在实际网络部署中,对于IGP路由协议的选择,通常采用OSPF或ISIS,下面就对OSPF和ISIS协议进行一下比较,具体部署可以根据实际情况而定。
另外,对OSPF和EIGRP也进行了对比。
1.4.1.1.OSPF和ISIS的比较
相同点:
●IS-IS和OSPF是链路状态路由协议的两个最典型的代表,都采用SPF算法来计算路由;
●由于具有快速收敛、无环路等特点,IS-IS和OSPF都能很好地支持大型网络;
●IS-IS和OSPF一样采用Hello协议来维护邻居关系;
●IS-IS和OSPF都采用分层路由的概念,都有骨干区域,为网络规划提供了比较灵活而且实际的设计方案;
●为了控制链路状态数据库的规模和复杂度,IS-IS和OSPF在广播网络上都选举DR来担任数据库同步的主要角色;
●IS-IS和OSPF对路由开销的度量(metric)都采用了接口可配置的cost,能够比较正确地反映网络的实际情况;
●在支持大型网络的时候,触发更新的Update方式比周期性广播方式要节约大量的协议报文所产生带宽消耗;
●对于边缘区域中的路由器,都可以通过区域划分或者设置区域类型来减少对路由器资源的需求。
不同点:
ØIS-IS最初是为ISO的标准协议,为CLNS设计的,后来增加了对IP的支持,IS-IS协议直接在链路层上运行,报文直接封装在链路层报文中,支持CLNS、IP等多种协议;而OSPF一开始就是IETF为IP网络设计的,OSPF报文封装在IP中,只支持IP协议;
ØIS-IS协议中整个路由器只能全部属于一个区域;而OSPF按接口来,一个路由器可以属于多个区域;
ØOSPF通过特殊的区域IDArea0区来定义骨干区,而IS-IS是通过连续的L2或者L1/L2路由器来组成骨干区;
ØIS-IS的采用的Hello协议比较简单,OSPF比较复杂;
ØIS-IS不支持P-2-MP类型的网络,对于NBMA网络通过设置为子接口模拟成P2P的方式来运行;OSPF可以直接支持NBMA类型网络。
ØOSPF区域间是使用路径矢量算法计算路由,ISIS使用SPF算法。
1.4.1.2.OSPF和ISIS的选择
选择OSPF的理由:
OSPF更加灵活,OSPF协议是基于接口的,而IS-IS路由器只能属于一个Area,并且不支持NBMA网络;
从MPLS草案及现实运行来看,如果要运行MPLS网络的话,OSPF经常被选用做内部IGP,当然IS-IS也有,但是MPLS草案中认为在MPLS环境中运行OSPF更合适;
从目前很多厂商的设备来看,存在这样一个问题,不少厂商的中低端路由器及三层交换机不支持IS-IS,从这个角度讲OSPF比IS-IS有优势,所有的主流路由器及三层交换机都支持OSPF。
选择ISIS的理由:
IS-IS相比OSPF有以下优势:
1.提供更快的网络收敛速度
集成的IS-IS对IP路由采取部分路由计算PRC。
IS-IS的SPF计算仅用于拓扑变化,而拓扑的建立是基于CLNS的,不是基于IP的。
在拓扑稳定的情况下,针对IP前缀变化仅执行部分路由计算PRC。
所以路由器的负载要比OSPF轻,在同一网络中可以支持更多的路由器。
OSPF为每个单独的IP子网发送链路状态发布信息,如果某个IP子网故障(即使拓扑未发生变化),就使区域中所有路由器重新进行SPF计算。
IS-IS支持增量路由计算I-SPF,它每次只对变化的一部分路由进行计算,而不是对全部路由重新计算。
2.提供更好的网络稳定性:
通常情况下,一个正常运行的IS-IS网络是稳定的,发生大量的网络变动的几率很小,IS-IS路由器不会频繁的进行路由计算,所以第一次触发的时间可以设置的非常短(毫秒级)。
如果拓扑变化比较频繁,智能定时器会随着计算次数的增加,间隔时间也会逐渐延长,避免占用大量的CPU资源。
3.提供更好的协议扩展性:
IS-IS本身支持多种网络层协议,包括IPv6协议,是业界第一个支持MPLS-TE的IGP协议等。
IS-IS的协议扩展很方便,通过定义新的TLV,便可以支持诸如IPV6、流量工程的CSPF,DS-TE等,无须定义新的LSP类型。
而OSPF的协议扩展性很差,必须通过定义新的LSA类型实现。
而OSPF对IPv6的支持则必须完全采用另外一个新的协议OSPFv3。
4.更适合大型网络:
IS-IS协议资源消耗小,在一个层次(LEVEL)内应用SPF计算有效路由,而OSPF只能在一个区域(AREA)内用SPF计算有效路由,对于跨区域路由计算采用hopbyhop方式(DV距离矢量方式)计算,计算出来的路由可能不是最佳路径。
由于OSPF的层次结构使得骨干路由器必须位于AREA0并且其它AREA的通信必须经过AREA0,同一个AREA的路由器数量往往不会太多。
5.在运营商得到成功验证的大型IGP协议。
国内外绝大多数运营商都采用集成的IS-IS做为他们的IGP协议,并且有着在level-2中运行达到1000台路由器并保持稳定的记录。
1.4.1.3.OSPF和EIGRP的比较
OSPF和EIGRP都是收敛速度较快并且不会形成环路的算法,网络带宽占用较小,使用灵活,安全性较好的路由协议。
但是从以上分析可以看出,各自还是有优缺点。
而OSPF是开放的协议,是IETF组织公布的标准。
世界上主要的网络设备厂商都支持该协议,所以它的互操作性和可靠性由于公开而得到保障,并因为竞争的存在也使得网络的构建在合理的价格范围内,而在众多的厂商支持下,该协议也会不断走向更加完善。
由于OSPF的层次化设计,因此存在配置相对复杂的问题。
由于网络区域划分和网络属性的复杂性,需要网络管理员有较高的网络知识水平才能配置和管理OSPF网络,但由于OSPF使用的广泛性,绝大部分管理员都熟悉OSPF,问题并不大。
相比之下,EIGRP存在很多的缺陷。
EIGRP没有区域(Area)的概念,不适合层次性较强的网络部署。
而OSPF在大规模网络的情况下,可以通过划分区域来规划和限制网络规模。
所以EIGRP适用于网络规模相对较小的网络,这也是矢量-距离路由算法(RIP协议就是使用这种算法)的局限所在。
EIGRP虽然也可以划分自治系统并互相引用,但是这样的组网方案在实际中很少使用,效果不及OSPF的划分区域理想,也不如OSPF+BGP的实现方案。
EIGRP的无环路计算和收敛速度是基于分布式的DUAL算法的,这种算法实际上是将不确定的路由信息散播,得到所有邻居的确认后再收敛的过程,邻居在不确定该路由信息可靠性的情况下又会重复这种散播,因此某些情况下可能会进入多重计算,这些都会影响DUAL算法的收敛速度。
而OSPF算法则没有这种问题,所以从收敛速度上看,虽然整体相近,但在某种特殊情况下,EIGRP还有不理想的情况。
在共享网段上,EIGRP路由器将两两交换路由信息,但是OSPF因为选举DR、BDR,所有路由器将只和DR、BDR交换路由信息。
这样EIGRP将会使用更多的带宽来传送协议报文,当一个共享网段上有大量EIGRP路由器时,协议报文对带宽的占用更加严重。
EIGRP是Cisco公司的私有协议。
Cisco公司是该协议的发明者和唯一具备该协议解释和修改权的厂商,没有受到外界监督与完善。
Cisco公司对该协议的修改没有义务通知任何其他厂家和使用该协议的用户,因此会在网络升级扩展中导致运行的安全隐患;从另外一个角度,如果用户使用了这种协议组网,由于担心网络扩展而出现的隐患,从而选择了单一设备,则又将陷入封闭网络的怪圈,步入使用SNA这种私有网络体系的后尘,最终使得网络的构建及维护费用都大大增加。
因此,如果在OSPF和EIGRP之间选择,我们建议采用OSPF作为IGP协议。
下面是OSPF和EIGRP路由协议的比较总结:
比较点
OSPF
EIGRP
协议标准
IETF标准协议,协议设计完美成熟,绝大部分厂商支持,组网不受厂商选择限制
Cisco私有协议,不能与其它厂商联合组网;协议实现在根据使用经验不断优化,比如增加对stub的处理,不如OSPF成熟。
部署范围
IETF推荐的IGP,世界上使用最广泛的路由协议
仅有少数网络使用,而且部署越来越少
核心算法
SPF算法收敛快,无环路
采用分布式的DUAL算法,中间状态不可预测,可能陷入SIA状态,查询可能扩散到全网
网络拓扑支持
支持层次性网络拓扑,具有很好的可管理性和扩展性
不支持层次性网络
对新技术的支持
可以扩展支持OSPF-TE
无TE扩展支持,大型网络中采用EIGRP作IGP,将限制TE的部署
1.4.2.EGP路由选择
对于EGP协议的可选项只有一个,那就是BGP。
BGP协议由于其自身的技术特点而特别适用于大型网络中需要承载网和业务网分离的应用。
对于EGP路由的选择比较简单,因为没有其他选择,BGP已经成为目前EGP协议事实上的标准。
BGP可以提供如下功能:
●扩展IGP,使网络更加层次化;
●根据不同的管理域区分网络;
●提供丰富的流量控制策略,而不仅仅依靠metric;
●为多宿主的ISP网络结构提供路由策略控制。
●透传Internet整网路由。
1.4.3.Internet接入路由选择
如果需要接入Internet,建议选择静态路由协议或者BGP协议。
Internet接入的时候需要确定是否一定需要和ISP之间进行路由发布,如果必须通过动态路由协议发布路由的情况下,建议选择BGP。
由于管理上和政策上的原因,一般不选择IGP。
如果和ISP之间不需要发布路由,那么选择静态路由,通过配置静态精确路由或缺省路由实现Internet接入。
1.5.路由协议简介
1.5.1.IGP路由协议
1.5.1.1.OSPF原理简介
OSPF(OpenShortestPathFirst,即最短路径优先协议)是一种基于链路状态的内部动态路由协议。
与所有链路状态路由协议相同,OSPF协议比距离向量路由协议具有更快的收敛速度,可以支持更大的网络,不易受到错误路由信息的影响,是一种适用范围大、功能完善的路由协议。
OSPF路由协议还具有以下特点:
通过引入区域的概念,OSPF协议建立分层的路由计算结构,减少了路由协议对CPU资源的消耗,也节省了路由信息传播所占用的网络带宽;支持无类别的路由表查找,支持变长子网掩码,并且通过支持超网,提高路由的可管理性;采用触发更新机制,路由收敛速度快;支持在数个费用相同的路径之间进行负载均衡,从而更加有效地利用网络资源;使用保留的组播地址传递协议控制信息,减少对非OSPF网络设备的影响;支持路由信息的认证,提供更安全的路由机制;通过路由标记跟踪外部路由。
目前OSPF的主要标准是RFC2328(版本2)。
OSPF具有的特性如下:
●适应范围广——支持各种规模的网络,最多可支持几百台路由器。
●快速收敛——在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
●无自环——由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。
●区域划分——允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。
●等价路由——支持到同一目的地址的多条等价路由。
●路由分级——使用4类不同的路由,按优先顺序来说分别是:
区域内路由、区域间路由、第一类外部路由、第二类外部路由。
●支持验证——支持基于接口的报文验证,以保证报文交互的安全性。
●组播发送——在某些类型的链路上以组播地址发送协议报文,减少对其他设备的干扰。
1.5.1.2.ISIS原理简介
IS-IS最初是国际标准化组织ISO(theInternationalOrganizationforStandardization)为它的无连接网络协议CLNP(ConnectionLessNetworkProtocol)设计的一种动态路由协议。
为了提供对IP的路由支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-IS(IntegratedIS-IS或DualIS-IS)。
IS-IS属于内部网关协议IGP(InteriorGatewayProtocol),用于自治系统内部。
IS-IS是一种链路状态协议,使用最短路径优先SPF(ShortestPathFirst)算法进行路由计算,ISIS与OSPF协议有很多相似之处。
IS-IS提供两级路由,层次1(Level1,L1)路由区域间、通过层次2(Level2,L2)路由进行互联,L2路由域有时也被称为核心。
IS-IS用有层次的地址分配将一个自治域分为多个L1路由区域,并区分L1和L2之间的路由。
同一区域内的所有节点都使用L1路由互通,不同区域里的节点之间使用L2路由互通。
路由器向其所在区域(L1或L2)内的其它路由器扩散与之相连的链路状态,从而传递拓扑信息,每个路由器会对接收到的其它路由器发来的链路状态数据包(Link-StatePacket,LSP),运用SPF算法找到网络里每个目的地的最短路径。
由于链路状态协议中的任何路由器都依赖于路由区域中所有其他的路由器,路由器的数据库里有防止路由循环的信息,所以IS-IS通常不允许对路由信息进行过滤。
ISIS具有的特性如下:
●属于ISO协议族
IS-IS是ISO定义的OSI协议栈中无连接网络服务CLNS(ConnectionlessNetworkService)的一部分,CLNS由以下三个协议构成:
1.CLNP:
类似于TCP/IP中的IP协议;
2.IS-IS:
中间系统间的路由协议;
3.ES-IS:
主机系统与中间系统间的协议,就象IP协议中的ARP,ICMP,IRDP等。
●直接运行于链路层之上
与大多数路由协议不同,IS-IS直接运行于链路层之上;
●链路状态路由协议
与OSPF功能类似,但是各有特点;
●支持IP,OSI两种路由
可以在IP和OSI双重环境中工作;
●支持灵活的TLV编址方式,协议扩展性好;
●路由收敛速度快,结构清晰,适合于大规模网络。
近年来得到越来越广泛的应用。
1.5.2.BGP路由协议
1.5.2.1标准BGP原理简介
BGP是一种用于自治系统AS之间传递选路信息的路径向量协议,BGP起源于EGP协议,EGP仅仅是简单的将域间路由发送出去,没有路由控制的手段;同时,EGP也没有对路由环路的控制方案,因此严格意义上说,EGP并不是一个真正的路由协议。
同时,随着INTERNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,都影响了网络的性能。
BGP的发展经历了不同的阶段,早期从1989年开始经历了三个版本的发布,分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),发展到了目前的最新版本,当前使用的版本是BGP-4(RFC1771)。
BGP-4做为事实上的Internet外部路由协议标准,被广泛应用于ISP(InternetServiceProvider)之间。
与OSPF、RIP等内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。
BGP的特点可以综合表述如下:
●简明
BGP协议对网络拓扑没有限制,并且只有五种报文。
Open报文进行BGP连接的初始化以及能力的协商;update报文传送路由信息;keepalive报文每隔60秒发送一次,用来保持BGP会话;notification报文负责BGP连接错误信息的发送;refresh报文通知对端重新发送路由信息,节省了路由器为重新发送路由而保留的资源。
BGP协议看起来很简单,它并不需要规划网络的拓扑,事实上,Internet并不是从上而下由某个组织建立起来的,而是一些网络自下而上互相连接而成的。
BGP在对等体间只传递4种类型的报文,容易掌握。
●可靠
使用TCP作为传输协议。
BGP是用于域间路由信息的交换,因此需要可靠的传输层协议保证路由信息的传输正确性,而TCP协议正符合BGP的要求,BGP使用TCP179端口进行连接,对于报文的重传,乱序等情况都由TCP进行处理,BGP不单独进行处理。
●有效
发送增量路由,而非周期性广播。
BGP协议在骨干网运行时,携带的路由信息往往十分巨大,因此BGP协议不能周期性的向对端发送路由信息。
除了在BGP刚刚建立起会话时,BGP需要将BGP路由表中的所有有效路由信息发送出去以外,在BGP连接已建立的情况下,BGP只发送增量路由以及更新路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。
●灵活
出于政治,经济等方面的考虑,每个自治系统希望对路由进行过滤、选择和控制,因此,BGP路由携带了丰富的属性由BGP的路由策略来使用,正是这一特性使得BGP是如此简明而又如此灵活和强大,它还使得BGP便于扩展,以支持因特网新的发展。
1.5.2.2MP-BGP原理简介
传统的BGP只支持IPV4单播路由,为了提供BGP对多协议的支持(主要是MPLSVPN、组播和IPv6),需要对BGP协议进行扩展,主要的思想是增加路径属性,将多协议地址族路由放在扩展的路径属性中,以区分不同协议地址族的路由,即MBGP。
RFC2858详细说明了BGP多协议扩展。
扩展的BGP(如MBGP、BGP4+)同时携带IPv4单播路由信息和其它网络层协议(主要是MPLSVPN、组播和IPv6)信息。
为了在UPDATE报文中发送多协议地址族的路由,需要对普通BGPUPDATE报文中涉及到IPV4单播地址的属性进行修改以适应多协议地址族。
在BGPUPDATE报文中有三处涉及IPV4单播地址:
NEXT-HOP,AGGREGATOR(包含了ROUTER-ID)和NLRI。
假设目前每台路由器上都有一个IPV4单播地址可用作路由器ID,即ROUTER-ID必定是IPV4单播的,因此在多协议扩展时只需要考虑NEXT-HOP和NLRI属性。
NEXT_HOP只在可达路由信息中有用,因此在MBGP对于不可达信息应该和可达信息分开处理。
为提供协议的向后兼容以及简化处理,MBGP提供了两个新的扩展属性:
●