你如果拥有多个互联网连接,就会知道仅仅简单使用边界网关协议(Border Gateway Protocol,BGP)很难得到最优的路由路径。在这点上,没有电信网络的7号信令系统精妙(Signaling System 7,SS7)。作为电讯网络的控制面,SS7在一次通话建立之前能够决定出最好的路径。互联网上没有这样的控制面,虽然BGP也能决定路由(这点与SS7相似),但它不是总能选择最好的路径。BGP在不打断内部或外部用户的情况下让边缘路由器通过一个首选的连接传输业务,如果首选连接失败则通过次选连接提供业务。
当BGP选择一个路由时,如果能考虑到每个ISP连接所能提供路由通路的性能等因素的话,情况肯定会更好。
RouteScience的PathControl是这样一种新产品,它不仅可以衡量通过每个BGP对等体的路由性能,还可以根据这些信息来改变通过BGP的优先路由。
PathControl勇挑重任
PathControl 1.1运行在Linux上,提供独立的功能,一个用于报告,一个用于管理,还有一个给核心引擎,对于每个外部BGP对等体都有一个接口。
PathControl 1.1提供了一个强健的Java程序工具。下一个版本将允许从GUI(图形用户界面)配置PathControl,但在目前的版本中必须通过基于IOS的命令行界面管理设备。
PathControl所能提供的不只是连接性能和它们的相应通路等内部信息,还可以让你通过配置一些变量来控制使用那些连接。
PathControl可被放置于边缘路由器之后的任何位置。对路由器的连接可以通过一个专用端口或一个通道连接建立,无论哪种方式,PathControl都需要对外部世界和边缘路由器进行访问。
测试见性能
将PathControl直接连接到一个Cisco Catalyst 6500交换机上,交换机被配置为接收来自两个Nortel Web交换机(一台180e和一台AD4)的外部BGP输入数据。PathControl被设置与Cisco交换器对等,监视被每个Nortel设备声明的路由。PathControl可以保持在被动状态,监视并报告每个远程对等体的性能;它也可以被置于声明模式,这使它可以在确定了哪一条连接性能更好后,在边缘路由器上改变首选路由。
用户可以配置PathControl更改路由的频度,使用户的边缘路由器不会被压制。最好让PathControl至少在被动模式下持续运行几天,使用报告发生器来观察PathControl声明一个新路由的频度,然后针对具体情况确定最佳的更改频度。
PathControl用一个TCP握手的往返时间作为其性能度量的基础,经由HTTP向一台客户机发送一幅1x1像素的GIF图像来被动检索衡量性能的数据,还可通过探查用户设置的Web站点来进行主动检索。对于后者,PathControl打开一个到达某站点的TCP连接并测量完成三向TCP握手的时间。
为实现被动测量,设备上的每一个测量接口都被配置一个虚拟IP地址(Virtual IP Address,VIP)。当经由HTTP或HTTPS访问该地址时,返回一个1x1像素的GIF图像。PathControl直接提供这个GIF,测量与一台客户机建立起一个TCP通话的时间。只要将VIP地址嵌入进站点网页的一个HREF,一旦某台客户机发出对该页的请求,测量就开始。此中的关键是对基于策略路由的使用,该路由在边缘路由器上配置,根据源地址连贯地转送通讯数据。这样PathControl会连续测量每条路径的性能,而不必考虑路由表中的其它项。
默认状态下PathControl为执行对数据的计算至少需要6次测量。计算过程赋予每条路径一个等级,该等级将用于确定哪条连接工作得更好。在默认状态下,如果两个或更多的等级被赋的数值差别不超过25点,它们都会被认为“更好”。如果某条连接的等级比另一条高出25点,则它被认为是“最好”的,PathControl会经由内部边界网关协议(interior BGP,iBGP)向与之对等的边缘路由器声明这条路由。