城域网技术,双协议设计方案.doc
某城域网的路由方案设计摘 要IP城域网是城域网的发展趋势,路由设计则是IP城域网设计中的最重要的部分。路由设计的规划妥当与否直接影响到整个城域网的可靠性及效率。本文对一个存在的IP城域网进行路由设计和优化。我们首先从城域网的拓扑开始,通过对OSPF和BGP4以及静态路由、默认路由这几种不同路由协议的分析,选择合适的路由方式。在设计城域网内部路由使用OSPF动态路由选择协议和静态路由相结合的方案。通过OSPF协议和静态路由在城域网内部对内外网流量进行有效路由。使用BGP路由协议与城域网外部设备交换路由信息。对城域网各个层次和部分进行细致的设计,在不同层次和部分实施不同的策略,并在城域网设备上实施最适合的路由配置,通过合适的路由配置,达到控制流量转发路径,快速进行主备链路切换,以实现更高的可靠性和可扩展性。通过论文掌握对一个网络分析的基本方法,深入了解两种路由协议的特性。关键词:城域网,路由设计,开放式最短路径优先算法 Routing Design of a Metropolitan Area NetworkAbstractThe development trend of MAN is IP MAN,and routing design is one of the most important parts of the design of a MANRouting properly designed or not have a direct impact on the reliability and efficiency of the entire metropolitan area networkIn this paper we design and optimize route of a existence IP MANFirstly We start from the topology of MAN, by analyzing OSPF and BGP4 ,static route ,default route these different kinds of routing protocols,and choose the suitable routing modeIn paper OSPF dynamic routing protocol and combine with static route is in designing interior route of the MAN, through OSPF protocol and static routing route intra-domain and inter-domain traffics efficiently which inside the MAN, and the protocol which exchanging routing information with the outside device of the MAN is BGPIn project for all layers and parts of the MAN we do painstaking design,and implement the different policy in different layers and parts of the MAN, in this MAN we put the most suitable configuration into practiceBecause of it,the MAN can realize control traffic forwarding path,and fast switching between the main and the standby link when the main link was failed,so that the MAN has higher reliability and scalabilityThrough this paper the basic method of the analysis of a network we can master,and go deep into the characteristic of these two routing protocolsKey words: MAN;Routing Design;OSPF目 录论文总页数:34页1 引言11.1 课题背景11.2 需求分析11.2.1 背景分析11.2.2设计需求分析22 城域网现有拓扑分析32.1 现有城域网网络拓扑图32.2 现有拓扑物理可靠性分析53 路由整体方案设计63.1路由设计的重要性63.2路由协议的选择73.2.1 路由技术分类73.2.2 动态路由协议分类73.2.3 OSPF路由选择协议83.2.4 BGP4路由选择协议103.2.5 其他路由协议153.3 路由实际设计163.3.1 域内路由设计173.3.2 域间路由设计234 城域网内部IP地址分配244.1 原则244.2 分配方案244.2.1 私有网络地址概念244.2.2 公网地址部分244.2.3 私有网络地址部分265 部分设备关键配置28结 论31参考文献32致 谢33声 明341 引言1.1 课题背景城域网(Metropolitan Area Network)是在一个城市范围内所建立的计算机通信网,简称MAN。它的传输媒介主要采用光缆,传输速率在l00Mbit/s以上。MAN的一个重要用途是用作一个城市或者地区范围内的骨干网,通过它将位于同一城市内不同地点的主机、数据库,以及LAN等互相联接起来,这与WAN的作用有相似之处,但两者在实现方法与性能上有很大差别。MAN不仅用于计算机通信,同时可用于传输话音、图像等信息,成为一种综合利用的通信网,但属于计算机通信网的范畴,不同于综合业务通信网 (ISDN)。近年来,以DSL为突破口,我国的宽带业务取得了长足的发展,用户数已经超过了1000万,同时,宽带以太网、无线局域网也在迅速普及。这些都要求网络的带宽和业务承载能力必须能够适应新的需求。作为端到端网络的中间地带,城域网业务的全IP趋向已经明朗,网络的发展方向应符合业务的发展方向。未来城域网发展的走向应该是IP城域网。当前,随着我国宽带用户数的迅速增长和宽带业务的不断丰富,通信网上带宽和承载能力的压力将逐步由接入转向城域网,由此将引发城域网建设的新一轮高潮,宽带IP城域网作为互联网在城市的延伸,网络骨干节点之间以千兆带宽互联,全网采用最先进的宽带IP网络技术,为各种基于IP的数据业务和网络应用提供灵活高效的支持。包括为用户提供包括高速专线接入、10M/100M宽带接入、ADSL接入等在内的各种类型接入手段,一次性解决了全网及用户端的网络带宽瓶颈,它具有高可靠性、高安全性的特点。宽带IP城域网的建设目标是将IP城域网建成为数据业务的统一骨干平台,可直接向集团用户提供10M到100M甚至1000M的Internet接入带宽和互连带宽,写字楼、学校、信息化小区和其它企业集团的用户可利用该网络组成全市到全国范围内的、类似专用网络的VPN网络(虚拟专用网),其费用将较以往大大降低;对个人用户而言,城域网将可提供10M到桌面的Internet接入速率,比普通拔号上网速率快几十到几百倍。1.2 需求分析1.2.1 背景分析某城市地理面积1289平方公里。人口132.31万,辖4个市辖区,按地理位置划分为东、南、西、北四个区域,地域内信息点分布较为平均。某地IP城域网作为“最后一公里”与用户连接的网络,为该地市范围内各小区提供宽带接入和为企业提供高速互联。整个城域网为域内用户提供以下几个方面的业务。(1) 对最终的用户的宽带接入提供宽带的接入解决方案。网络接入方式主要采用以太网接入方式(UTP和光纤两种方式)。(2) 专线用户上网:专线用户上网业务指通过对用户提供光纤/UTP来实现宽带专线的解决方案。实现政府上网、企业上网。专线用户上网后,可使用互联网、IP电话、虚拟专用网(VPN)等服务。开放范围为宽带网络所覆盖的地区。(3) 虚拟专用网(VPN):虚拟专用网是指利用城域网这一公众数据网络资源为集团用户构筑不受地域限制,而受集团用户统一策略控制和管理的IP网络。开放范围为城域网所能够覆盖的地区。(4) IP电话:同样通过城域网实现IP电话的服务,保证在城域网所覆盖的范围内实现网内用户的IP电话用户的通信,保证IP电话用户和普通的电话用户(本地市话和异地)的通信。(5) 增值业务:增值业务包括WWW、电子邮件(E-mail)等服务。在城域网工程建成后,提供有的增值业务包括:视频点播、音频点播、网络游戏、视频会议、Web方式的上网和IP电话费用查询等。在建设IP城域网时,路由设计作为城域网建设不可或缺的一部分,为城域网内部通信以及城域网与外部网络之间的通信起着“指路灯”的作用。该城域网为骨干网的下属节点,不承担任何骨干网的中转流量。1.2.2设计需求分析为了实现接入的目标,方案从现有拓扑出发,通过选用适当的路由协议和路由策略,优化城域网内部流量。从而达到以下目标:(1) 通信畅通这是城域网路由设计的基本要求,这包括城域网内部之间通信,城域网内部和城域网外通信,以及城域网外与城域网内部之间通信,在保证3种通信方式的畅通以外,最大的缩小链路时延。(2) 合理分配流量在通信畅通的基础上,合理分配流量所经过的路径,避免发生由于流量分配不均衡,造成网络拥塞,以至于全网瘫痪的情况。(3) 故障快速切换城域网内部路由设计应密切关注网内设备或链路发生故障时,全网收敛速度问题,在任何一条链路或者节点发生故障后,下联节点或者直接相连节点有备用路由,能在最短时间内通过备用路由将流量恢复,保证整个IP城域网的正常运行。(4) 方便扩展设备和链路这是为城域网未来的扩展性提出的要求。当有新设备增加时,通过采用的动态路由选择协议,能够使新节点或设备在最短时间内获悉整个城域网内部路由信息,并最大能力减少人工配置的工作量,使得新增节点和者设备能在最短的时间内投入运行。2 城域网现有拓扑分析2.1 现有城域网网络拓扑图该城域网整体拓扑设计综合了环型网络拓扑和星型网络拓扑的优点,在网络拓扑中,将环型拓扑和星型拓扑进行结合,以提供更高的可靠性和可用性。整个城域网网络拓扑按照一般设计分为三层结构,包括接入、汇聚、核心三个部分。现有的城域网整体网络拓扑根据该城域网覆盖范围将整体划分成四个地理区域,分别设置4个核心节点负责将本区域内流量进行汇聚。考虑成本和流量大小等因素,将相邻的1个地理区域核心节点设备作为本区域内备份节点。2个核心节点互相为相邻区域的下联汇聚层设备作为备份节点。当汇聚层上联链路出现故障,能在最短时间内启用备份链路,并将通过故障链路的流量引导到备份核心节点,这样避免通信的长时间中断。当核心层设备出现故障时,也能在最短时间内切换到另外一条链路,流量将通过备份核心节点设备,从而最大保障上联的链路畅通,该城域网网络拓扑如图1所示。图 1 城域网总拓扑图根据拓扑图,对各层的描述如下:l 核心层核心层作为整个网络的关键部分,底层链路采用2.5G光纤直接连接,由于涉及到传输网范畴,所以不做深入讨论。在核心层由4个核心节点为4个区域流量提供路由,所有节点包括出口路由器采用Cisco7600系列路由器,Cisco7600系列路由器可以提供30Mpps的高速转发速率,以及全面的模块化接口类型,背板带宽最高达到720G,完全可以满足该城域网的需求,并满足一段时间内城域网扩展的需要。由于是环型拓扑,城域网核心部分采用四节点两两互联结成环型方式进行互连。环型拓扑的优点将体现在以下几个方面。(1) 在这种情况下,核心层链路环上单向非相邻节点的设备失效的情况下,网络仍然可以正常运行。(2) 在正常情况下,城域网内部通过核心层的任意流量最多只需要通过1个核心节点就可以达到目的地所在区域,减少了数据在核心中传送的路径和网络延迟,有利于提高网络性能。(3) 并且在环型拓扑中,由于流量的双向性,每个核心节点自然拥有2条为城域网内部流量的链路,这样为城域网内部通信提供更可靠的保障。(4) 由4个节点组成的环型网可以平均分配环上流量,不会造成环上某个部分流量过大。出口节点与核心节点间为星型结构,这样就可以更好的区分城域网内流量和通往CN2或者ChinaNet流量。并且每个区域中的通往外网的流量分布更加均衡,网内网外流量分离,大大减轻了出口路由器负担。l 汇聚层汇聚层是4个地理区域进行细分的结果。它负责:(1) 将接入层流量进行汇聚。(2) 并对下联区域内的流量进行路由。(3) 同样区分区域内流量和区域外流量。汇聚层作用相对较简单,汇聚层设备的可靠性由核心节点提供的备份链路提供。l 接入层接入层直接面对客户提供不同类型的接入服务。对于个人家庭用户的ADSL接入,对于公司和机构提供专线业务等等。但是由于接入层只是提供流量的进入,所以在接入层将不进行路由策略等动作。由于接入层为单一上联汇聚层设备,所以接入层设备的可靠性由其设备的自身可靠性以及汇聚层设备的可靠性提供。2.2 现有拓扑物理可靠性分析整个城域网核心部分即4个核心节点以及出口路由器,一般城域网全网可靠性保证主要由核心部分提供。在非特殊情况下,核心层故障发生主要为2种情况:(1) 核心层节点设备发生故障当汇聚层设备检测到核心层节点设备故障时,汇聚层设备可以通过设备自身的故障切换配置进行操作,将上联链路切换到与核心层互备设备相连链路,并由互备设备承担起该区域通往区域外流量的路由功能。在核心层与故障节点相连的节点将通过路由协议自身的算法使流量不经过故障节点,从而使整个城域网流量恢复正常。路由协议的快速收敛特性使得可以很快的进行故障节点切换,保障整个城域网核心的正常运行。整个运作模式如图2所示。图 2 核心节点发生故障情况(2) 核心层节点间链路发生故障在这种情况下,由于汇聚层设备不会察觉核心层拓扑的变化,所以汇聚层设备不会进行主备链路的切换。在核心层,故障链路连接的2个节点发现故障后,通过底层物理传输线路将故障链路隔离开,使得整个核心层网络拓扑形成扁平星型拓扑,而上层的路由协议将故障链路信息通告到所有的核心层节点,所有核心层节点将重新计算路径,并将原来要经过故障链路的流量进行重新路由,避开故障链路,从而保障整个城域网核心层的正常运行,整个运作模式如图3所示。图 3 核心节点间链路发生故障情况以上的情况是从物理链路上分析出现故障后,现有城域网网络拓扑的设计能提供的可靠性。网络设备故障和设备之间的链路故障是不可避免的,怎么样能在最短的时间内恢复通信畅通,或者说能把故障所影响的范围控制在最小,是现有该城域网拓扑的设计目的。在前面的分析中已经看出该城域网现有拓扑具有较强的自愈能力,能提供保证城域网整体通信的物理基础。由于整个城域网是建立在IP的基础上,所以通过路由协议进行故障链路或者节点的切换和隔离是非常方便的。但是在提高收敛速度上,需要各个节点设备的快速切换技术的支持。例如在汇聚层设备上可以实现VRRP快速链路切换协议,以提高切换速度,或者节点自身的冗余设备快速切换机制。通过星型拓扑和环型拓扑的结合,可以实现汇聚层上联链路的保障,核心层内部实现流量灵活分配,以提供最好的保障能力,提高城域网可靠性。3 路由整体方案设计3.1路由设计的重要性网络路由设计是IP城域网实施方案设计中的重要组成部分,它在很大程度上影响着网络的效率、可扩展性和可管理性等方面,一般来说应根据网络的规模、拓扑结构、应用特点等来进行网络的路由设计。对一个大型网络来说,选择一个合适的路由协议是非常重要的,不恰当的选择有时对网络是致命的,路由协议对网络的稳定高效运行、网络在拓扑变化时的快速收敛、网络带宽的充分有效利用、网络在故障时的快速恢复、网络的灵活扩展都有很重要的影响。路由包括两个任务:路径选择、信息包的传输。路径的选择取决于Metric。Metric可包括可靠性、延迟、带宽、负载、MTU、通讯费用等。不同的路由算法考虑部分或全部的因素。现在通用的路由形式和动态路由选择协议有:静态路由、OSPF、BGP-4、IS-IS等。所有路由算法都要保证:(1) 路由选择的准确性。(2) 路由算法的简单、稳定,以减少由算法带来的网络流量。(3) 路由算法的迅速收敛。减少由收敛缓慢可能引起的路由环路。(4) 路由算法的灵活性。13.2路由协议的选择3.2.1 路由技术分类路由技术主要包括静态路由、动态路由和缺省路由(默认路由)三类。l 静态路由是指网络管理员所规定的从源地址(网络)到目的地址(网络)所需要经历的一系列路径信息,静态路由具有稳定和安全等优点,但不能动态的根据网络状况的变化自动进行路径的修改,如网络连通性等。在城域网中,如果由网络管理员制定成千上万条路径,无论工作量的大小和管理的复杂程度都是不可想象的。l 默认路由是在没有找到匹配的路由表入口项时使用的路由,是作为“最后手段”的出口,默认路由也无法单独适应城域网的需要。l 动态路由通过算法根据网络情况实时修改路由表。每个路由器分析收到的路由更新信息,若网络已发生变化,路由软件将重新计算新的路径并送出新的路由信息。动态路由具有路由冗余、扩展性和负载平衡等优点。所以在城域网的路由设计中,采用以动态路由为主、静态路由和缺省路由相配合的路由技术体系。3.2.2 动态路由协议分类在城域网中路由设计以动态路由为主,而静态路由和缺省路由是为主链路提供冗余备份路由。目前动态路由技术一般分为两大类:(1) 链路状态路由协议。(2) 距离矢量路由协议。l 在使用距离矢量路由选择协议的网络中,所有路由器都只将路由选择表(或路由选择表的一部分)发送给邻接路由器,后者将根据收到的信息判断是否需要对自己的路由选择表进行修改,并且这一过程将定期的重复的进行。距离矢量路由选择协议包括RIP。由于距离矢量路由协议的运行机制,所以距离矢量路由协议只适用于小型局域网中。l 为了克服距离矢量路由协议的缺点,开发了链路状态路由协议。链路状态路由协议包括OSPF、集成IS-IS(即支持IP选路的IS-IS路由选择协议)等。链路状态路由协议通常都有内部的层次化路由设计。链路状态路由选择协议具有如下特征:l 快速适应网络变化。l 在网络发生变化时,发送触发更新。l 以较低的频率发送定期更新,被称为链路状态刷新。链路状态路由选择协议仅在网络拓扑发生变化时,才生成路由选择更新。链路的状态发生变化后,检测到变化的设备将生成一个针对该链路的链路状态通告(LSA),并通过组播将LSA传播给所有的邻接设备。每台路由选择设备都将得到一个LSA拷贝,并以此为根据更新其链路状态数据库(LSDB),并将LSA转发到区域内的所有邻接设备。这种LSA扩散确保所有路由选择设备都更新其数据库,然后更新路由选择表以反映新的拓扑。由于链路状态路由协议的以上特征,所以它适用于大型网络中。23.2.3 OSPF路由选择协议OSPF协议完成各路由选择协议算法的两大功能:l 路径选择;l 路径交换。OSPF是类似RIP协议的Internet标准,可以弥补RIP协议的缺点。1991年在RFC1247中它被第一次标准化;最新的版本是在RFC2328中。但是与RIP协议不同,OSPF是一套链路状态路由协议,这意味着路由选择的变化基于网络中路由器物理连接的状态与速度,并且变化被立即广播到网络中的每一个路由器。它是专门为IP路由选择协议而设计的,并且对IP网络更加优化。比如路由选择信息协议(RIP)这样的距离矢量路由技术相对。OSPF是为解决RIP不能解决的大型、可扩展的网络需求而设计的。当一个OSPF路由器第一次被激活,它使用OSPF的“hello协议”来发现与它连接的邻节点,然后用LSA(链路状态广播信息)等和这些路由器交换链路状态信息。每个路由器都创建了由每个接口对应相邻节点和接口速度组成的数据库。每个路由器从邻接路由器收到的LSA被继续向各自的邻接路由器传递,直到网络中的每个路由器收到了所有其它路由器的LSA。链路状态数据库不同于路由表,根据数据库中的信息,每个路由器计算到网络的每一目标的一条路径,并创建以它为根的路由拓扑结构树,其中包含了形成路由表基础的最短路径优先树(SPF树)。LSA每30分钟被交换一次,除非网络拓扑结构有变化,将立即广播拓扑变化信息。例如,如果接口变化,信息立刻通过网络广播;如果有多余路径,收敛将重新计算SPF树。计算SPF树所需的时间取决于网络规模的大小。因为这些计算,路由器运行OSPF需要占用更多CPU资源。但是随着路由器技术的发展,CPU资源已经不再是阻碍部署OSPF路由协议的条件。特别在城域网络中,核心和汇聚路由器已经有足够的资源可以顺畅的运行OSPF路由协议。不过一种弥补OSPF协议占用CPU和内存资源的方法是将网络分成独立的层次域,称为区域(Area)。每个路由器仅与它们自己区域内的其它路由器交换LSA。Area0被作为主干区域,所有区域必须与Area0相邻接。在ABR(区域边界路由器,Area Border Router)上定义了两个区域之间的边界。ABR与Area0和另一个非主干区域至少分别有一个接口。最优设计的OSPF网络包含通过VLSM与每个区域邻接的主干网络。这使得在路由表的一个条目中描述多个网络成为可能。OSPF解决了以下问题:l 收敛速率。l 对可变长度掩码(VLSM)的支持:OSPF、RIPV2支持VLSM,RIP只支持固定长度子网掩码(FLSM)。l 网络可达性:RIP跨度达16跳时被认为是不可达,OSPF理论上没有可达性限制。l 带宽占用:RIP每隔30秒广播一次完整路由,OSPF只有链路发生变化才更新。l 路径选择方法:RIP是基于跳数选择最佳路径的,OSPF采用一种路径成本(cost)值(对于Cisco路由器它基于连接速率)作为路径选择的依据。OSPF与RI P一样支持等开销路径,OSPF数据被封装在IP数据包内,并使用IP包头部协议字段协议号89。OSPF路由协议包括5种报文类型:l Hello包。l 数据库描述(DBD:检查路由器的数据库之间是否同步)。l 链路状态请求(LSR:向另一台路由器请求特定的链路状态记录)。l 链路状态更新(LSR:发送请求的链路状态记录)。l 链路状态确认(LSAck:对其他类型的分组进行确认)。OSPF根据物理链路类型定义了不同的网络类型。在每种网络中,OSPF的运行方式各不相同,包括如何建立邻接关系和所需的配置。其中在广播型多路访问拓扑结构中的OSPF运行:邻居之间通过Hello协议负责建立和维护邻居关系。通过IP组播地址224.0.0.5,也被称为ALLSPFROUTER (所有SPF路由器)地址,Hello数据包被定期地从参与OSPF的各个接口发送出去。在OSPF中的区域类型:区域的类型决定了它将接受什么样的路由信息。虽然在现在来看,路由器的系统资源已经不再是部署OSPF的障碍,但是减小LSDB和路由选择表的规模仍然是一个很重要的问题。路由选择表的大小决定着路由器选路所耗费的时间长短,而LSDB的大小则在相当程度上决定着当区域内拓扑发生变化时,重新计算SPF算法的时间长短。在OSPF中区域划分:l 标准区域:这是默认的区域类型,接受链路更新、汇总路由和外部路由。l 主干区域(中转区域):主干区域是中央主体,其他区域都与之相连。主干区域为区域0,其他区域都与之相连以交换和路由信息。OSPF主干区域具备标准OSPF区域的所有特征。l 末节区域:这种区域不接受关于AS外部的路由信息,如来自非OSPF路由器的路由。需要路由到AS外部的网络时,路由器使用默认路由(用0.0.0.0表示)。末节区域不能包含ASBR。(除非ABR也是ASBR)l 绝对末节区域:这种区域不接受来自AS外部的路由和来自AS其他区域的汇总路由。需要将分组发送到区域外的网络时,路由器使用默认路由。绝对末节区域中不能有ASBR。(除非ABR也是ASBR)l NSSA:NSSA是对OSPF RFC的补充。这种区域定义了一种特殊的LSA。NSSA具有末节区域和绝对末节区域的优点,但可以包含ASBR,这违反了末节区域的规则。这种区域只能在部分厂商的网络设备中能配置。233.2.4 BGP4路由选择协议1BGP基本概念BGP4是典型的外部网关协议,是现行的因特网实施标准。它完成了在自治系统AS间的路由选择。可以说,BGP协议是现代整个网络的支架。在Internet主干上几乎所有的路由器都运行BGP协议。BGP4在RFC1771中作出了规定,并且还涉及其他很多的RFC文档。在这一新版本中,BGP开始支持CIDR(Classless Inter Domains Routing)和AS路径聚合(Aggregation),这种新属性的加入,可以减缓BGP表中条目的增长速度,BGP报文格式如图4所示。图 4 BGP报文TCP头部结构BGP协议是一种距离矢量(Distance vector)的路由协议,但是比起RIP等典型的距离矢量协议,又有很多增强的性能。所以BGP又被称为高级距离矢量路由协议。BGP使用TCP作为传输协议,使用端口号179。在通信时,要先建立TCP会话,这样数据传输的可靠性就由TCP协议来保证,而在BGP的协议中就不用再使用差错控制和重传的机制,从而简化了复杂的程度。另外,BGP 使用增量的、触发性的路由更新,而不是一般的距离矢量协议的整个路由表的、周期性的更新,这样节省了更新所占用的带宽。BGP还使用“KeepAlive”信号 (类似于OSPF的HELLO协议)来监视TCP会话的连接。而且,BGP还有多种衡量路由路径的度量标准(称为路由属性),可以更加准确的判断出最优的路径。 与传统的内部路由协议相比,BGP还有一个有趣的特性,就是使用BGP的路由器之间,可以被未使用BGP的路由器隔开。这是因为BGP在独立的内部路由协议之上工作,所以通过BGP会话连接的路由器能被多个运行内部路由协议的路由器分开。建立了BGP会话连接的路由器被称作对等体(peers or neighbors),对等体的连接有两种模式:IBGP(Internal BGP)和EBGP(External BGP)。IBGP是指单个AS内部的路由器之间的BGP连接,而EBGP则是指AS之间的路由器建立BGP会话,如图5所示。BGP是用来完成AS之间的路由选择的,所以对于BGP来说,每一个AS都是一个原子的跳度。而IBGP是用来在AS内部完成BGP更新信息的交换。虽然这种功能也可以由“重分布” (Redistribution)技术来完成将EBGP传送来的其他AS的路由“重分布”到IGP中,然后将其“重分布”到EBGP传送到其他AS。 但是相比之下,IBGP提供了更高的扩展性、灵活性和管理的有效性。比如,IBGP提供了选择本地AS外出点的方式。IBGP的功能是维护AS内部连通性。BGP规定,一个IBGP的路由器不能将来自另一IBGP路由器的路由发送给第三方IBGP路由器。这也可以理解为通常所说的Split-horizon(水平分割)规则。当路由器通过EBGP接收到更新信息时,它会对这个更新信息进行处理,并发送到所有的IBGP及余下的EBGP对等体;而当路由器从IBGP接收到更新信息时,它会对其进行处理并仅通过EBGP传送,而不会向IBGP传送。所以,在AS中,BGP路由器必须要通过IBGP会话建立完全连接的网状连接,以此来保持BGP的连通性。如果没有在物理上实现全网状(full meshed)的连接,就会出现连通性上的问题。AS在BGP看来是一个整体,AS内部的BGP路由器都必须将相同的路由信息发送给边界的EBGP路由器。路由信息在通过IBGP链路时不会发生改变,只有通过EBGP链路时,路由信息才会发生变化。在AS内部,通过IBGP连接的路由器都有相同的BGP路由表(BGP路由表(BGP Routing Table)用于存放BGP路由信息,不同于IGP路由表,两个表之间的信息可以通过“重分布”(Redistribution)技术进行交换)。图 5 EBGP和IBGP关系2BGP的路由选择BGP消息有四种类型:OPEN,UPDATE,NOTIFICATION和KEEPALIVE,分别用于建立BGP连接,更新路由信息,差错控制和检测可到达性。BGP路由属性是BGP 路由的核心概念。它是一组参数,在UPDATE消息中被发给连接对等体。这些参数记录了BGP路由信息,用于选择和过滤路由。它可以被看作选择路由的度量尺度(metric)。路由属性被分为四类:公认强制(Well-known Mandatory Attributes)、公认自由选择(Well-known Discretionary Attributes)、可选传递(Optional Transitive Attributes)和可选非传递(Optional Nontransitive Attributes)。公认的(Well-known)属性对于所有的BGP路由器来说都是可辨别的;每个UPDATE消息中都必须包含强制 (Mandatory)属性,而自由选择的(Discretionary)属性则是可选的,可包括也可不包括。对于可选的(Optional)属性,不是所有的BGP工具都支持它。当BGP不支持这个属性时,如果这个属性是过渡性的(Transitive),则会被接受并传给其他的BGP对等体;如果这个属性是非传递性的(Nontransitive),则被忽略,不传给其他对等体。在技术文档RFC1771定义了1-7号的BGP路由属性,依次是:(1) ORIGIN(产生该路由信息的 AS)。(2) AS_PATH(包已通过的AS集或序列)。(3) NEXT_HOP(要到达该目的下一跳的IP地址,IBGP连接不会改变从EBGP发来的 NEXT_HOP)。(4) MULTI_EXIT_DISC(本地路由器使用,区别到其他AS的多个出口)。(5) LOCAL-PREF(在本地AS内传播, 标明各路径的优先级)。(6) ATOMIC_AGGREGATE。(7) AGGREGATOR。RFC1997还定义了。(8) COMMUNITY。其中,1、2 号属性是公认强制;3、5、6是公认可选;7、8是可选过渡;4是可选非过渡。这些属性在路由的选择中,考虑的优先级是不同的,仅就这8个属性来说,其中优先级最高的是LOCAL-PREF,接下来是ORIGIN和AS_PATH。BGP所使用到的路由属性并不仅仅是这8个,其他的具体内容可以参阅RFC文档(RFC1771、1996、1997、1966、1863、2283)。 网络层可到达性(NLRI)包含了<长度,前缀>这样的二维数组,使用CIDR(Classless Inter Domain Routing)技术来聚合路由,以减缓BGP表的增长速度。BGP工作流程如下:首先,在要建立BGP会话的路由器之间建立TCP会话连接,然后通过交换OPEN信息来确定连接参数,如:运行版本等。建立对等体连接关系后,最开始的路由信息交换将包括所有的BGP路由,也就是交换BGP表中所有的条目。初始化交换完成以后,只有当路由条目发生改变或者失效的时候,才会发出增量的触发性的路由更新。所谓增量,就是指并不交换整个BGP表,而只更新发生变化的路由条目;而触发性,则是指只有在路由表发生变化时才更新路由信息,而并不发出周期性的路由更新。比起传统的全路由表的定期更新,这种增量触发的更新大大节省了带宽。路由更新都是由UPDATE消息来完成。UPDATE包含了发送者可到达的目的列表和路由属性。当没有路由更新传送时,BGP会话用KEEPALIVE消息来验证连接的可用性。由于KEEPALIVE包很小,这也可以大量节省带宽。在协商发生错误时,BGP会向双方发送NOTIFICATION消息来通知错误。 3BGP与IGP的互操作BGP路由表是独立于IGP路由表的,但是这两个表之间可以进行信息的交换,这就是前面提到的“重分布”技术(Redistribution)。信息的交换有两个方向:从BGP注入IGP,以及从IGP注入BGP。前者是将AS外部的路由信息传给AS内部的路由器,而后者是将AS内部的路由信息传到外部网络,这也是路由更新的来源。把路由信息从BGP注入IGP涉及到一个重要概念同步(Synchronization)。同步规则,是指当一个 AS为另一个AS提供了过渡服务时,只有当本地AS内部所有的路由器都通过IGP的路由信息的传播收到这条路由信息以后,BGP才能向外发送这条路由信息。当路由器从IBGP收到一条路由更新信息时,在转发给其他EBGP对等体之前,路由器会对同步性进行验证。只有IGP认识这个更新的目的时(即IGP路由表中有相应的条目),路由器才会将其通过EBGP转发;否则,路由器不会转发该更新信息。同步规则的主要目的是为了保证AS内部的连通性,防止路由循环的黑洞。但是在实际的应用中,一般都会将同步功能禁用,而使用AS内IBGP的全网状连接结构来保证连通性,这样即可以避免向IGP中注入大量BGP路由,加快路由器处理速度,又可以保证数据包不丢失。要安全的禁用同步,需要满足以下两个条件之一:(1) 所处的AS是单口的,或者说是末端AS(Stub AS)即是指只有一个点与外界网络连接。(2) 虽然所处的AS是过渡型的(指一个AS可以通过本地AS,与第三方AS建立连接的),但是在AS内部的所有路由器都运行BGP。第2种情况是很常见的,因为AS内所有的路由器都有BGP信息,所以IGP只需要为本地AS 传送路由信息。大部分的网络设备在实现BGP时,都提供了禁用同步的开关。将IGP路由信息注入BGP,是路由更新的来源。它直接影响到因特网的路由稳定性。信息注入有两种方式:动态和静态。l 动态注入又分为完全注入和选择性注入。完全动态注入是指将所有的IGP路由重分布(Redistribution)到 BGP中。这种方式的优点是配置简单,但是可控性弱,效率低。选择性的动态注入则是将IGP路由表中的一部分路由信息注入BGP(如使用Cisco IOS 中的network子命令)。这种方式会先验证地址及掩码,大大增强了可控性,提高了效率,可以防止错误的路由信息注入。但是无论哪种动态注入方式,都会造成路由的不稳定。因为动态注入完全依赖于IGP信息,当IGP路由发生路由波动时,不可避免的会影响到BGP的路由更新。这种路由的不稳定会发出大量的更新信息,浪费大量的带宽。对于这种缺陷,可以使用在边界处使用路由衰减和聚合(BGP4的新增特性CIDR)来改善。l 静态注入就可以有效解决路由不稳定的问题。它是将静态路由的条目注入到BGP中去。静态路由存在于IGP路由表中。由于静态路由条目是人为的加入的,不会