CN1160915C - 用于在互联网路由提供商之间互连的专用网络接入点路由器 - Google Patents

用于在互联网路由提供商之间互连的专用网络接入点路由器 Download PDF

Info

Publication number
CN1160915C
CN1160915C CNB988098040A CN98809804A CN1160915C CN 1160915 C CN1160915 C CN 1160915C CN B988098040 A CNB988098040 A CN B988098040A CN 98809804 A CN98809804 A CN 98809804A CN 1160915 C CN1160915 C CN 1160915C
Authority
CN
China
Prior art keywords
provider
nap
path
route
router
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB988098040A
Other languages
English (en)
Other versions
CN1306715A (zh
Inventor
����˹�и���D������
克里斯托弗·D·惠勒
奥菲亚·罗南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterNap Network Services
Original Assignee
InterNap Network Services
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by InterNap Network Services filed Critical InterNap Network Services
Publication of CN1306715A publication Critical patent/CN1306715A/zh
Application granted granted Critical
Publication of CN1160915C publication Critical patent/CN1160915C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

列表所有PNAP提供商AS号。列表在NAP上对等但与PNAP提供商不相关的所有AS号。取用所有的提供商AS号和与NAP相关的AS号的合集,并扣除与当前提供商相关的AS号。在从当前提供商接收到的路由上拒绝所得列表,以通过在这些路由上添加主本地优选级值逼近被认为在当前提供商网络中指定的路由。对于被拒绝的所有路由,添加次本地优选级值。设置PNAP提供商本地优选级,使PNAP提供商选择从PNAP提供商直接路由选择到PNAP。改变由PNAP广告每个PNAP提供商的路由的AS路径长度,以使未直接连接到该PNAP的提供商使用与PNAP用于发送到该提供商的同一预先选择的PNAP提供商。

Description

用于在互联网路由提供商之间互连的专用网络接入点路由器
技术领域
本发明涉及诸如互联网的TCP/IP网络第三层上的路由交换,更具体地,涉及一种方法,用于在网络中所选择的前向和返回路径上对称地路由选择信息分组,其中该网络包括多个业务传输网络。
背景技术
在当今互联网内,在多个大型、全国性网络上的源点和目的地之间路由选择数据分组,这些网络的经营实体一般称为国家互联网服务提供商或NSP。一个NSP是一个互联网服务提供商(ISP),具有每秒44.736兆比特(Mbps)或更高DS3容量的全国性网络,并存在于最少五个公用NAP中。NAP代表网络接入点。现在在美国至少有15-20个这样的全国性网络,它们中的许多是由大电话公司拥有并经营。一些代表性NSP是MCI,Sprint,WorldCom/UUNet,ANS,AGIS,Netcom和PSI。
在互联网的前商用时代,只有一个NSP,美国国家科学基金会(NSF),该组织运营一个全国性网络基础设施,称为NSFNet。如果两个终端用户想相互通信,他们不得不(通过较小的地区性ISP)直接或间接连接到NSFNet。随着时间过去,少量商业实体逐渐建立他们自己的全国性网络基础设施,该设施提供与NSFNet相同的服务,但是用于商业部门。当NSF决定撤销NSFNet并因此使整个互联网商业化时,可以预见将发展更多数量的商业性全国网络基础设施,这些设施将成为对所有终端用户的直接或间接(通过较小的地区性ISP)的互联网连接点。通过某些全国性基础设施连接的两个终端用户在该基础设施上相互通信,但是需要一种方法以允许各种全国性基础设施之间的业务交换,以便在不同基础设施上的终端用户能够相互通信。通过建立几个网络接入点或NAP来解决此问题。
一个公用NAP是由私营实体(NAP经营者)所经营的一个公用基础设施,该实体为了在连接到该NAP的任何两个实体之间的TCP/IP分组业务交换建立中间场所,假设这些实体具有交换业务场地的协议(称为对等协议)。今天,有五个主要NAP位于美国。两个位于旧金山湾地区,一个在华盛顿特区,一个在纽约,和一个在芝加哥。由任何连接到NAP的实体向NAP经营者付费,而实体之间的对等协议概述了业务交换成本回收的策略(如果需要的话)。
尽管最初开发时NAP体系看上去不错,时间已经表明它没有能按照互联网增长而定标。这有许多原因。首先,在NAP上的实体中所使用的互联网路由选择协议(边界网关协议版本4,或BGP4)不允许在NAP中自动均匀的业务分配,世界上交换业务的大多数出现在NAP总数的少数中,因为所使用的NAP必须由每个提供商人工配置。这样做的结果是那些承担大部分业务的NAP过载,并且通过它们的分组被丢失。应注意到,因为它的确认方案,传输控制协议/互联网协议(TCP/IP)能够得体地恢复丢失的分组,但是这极大地增加了在两个终端用户之间交换信息所占用的时间,因此对用户产生了性能问题。其次,局域网/城域网(LAN/MAN)中缺少快速技术进步已使得NAP定标问题更严重。异步传输模式(ATM)和它承诺的高带宽不适合于TCP/IP业务。今天唯一流行、稳定的LAN技术FDDI(光纤分布式数据接口,工作在100Mbps)对于处理当前模型中的业务层没有足够带宽。最后,因为NAP基础设施由NAP经营者管理而进入NAP的连接由连接实体自己管理,在NAP基础设施中的可使用带宽与实体给予NAP的带宽数量之间存在持续的不连续性,由此引起更多分组丢失。
因此,需要一种方法,通过建立新的互连模型来管理NSP与用户之间的TCP/IP业务的路由选择,以便只要有可能就绕过NAP。
发明公开
本发明提供一种方法,用于通过提供对一系列全国性互联网服务提供商的直接连接,并使用提供商的连接只为那些被指定给或来自连接到所述提供商的目的地的TCP/IP分组进行路由选择,使TCP/IP分组业务绕过互联网公用网络接入点。
按照本发明原理,提供了一种专用网络接入点,称为P-NAP。P-NAP是本地网络基础设施,其连接多个NSP并对需要直接接入这些NSP的任何实体、它们的用户和一般而言的互联网提供互联网连接。
执行试探式TCP/IP路由管理控制方法的软件驻留在P-NAP内,用该方法将业务发送给所连接的NSP多数情况下只是为与NSP内目的地通信的单一目的。相反地,多数情况下只是为NSP内的目的地与P-NAP用户通信的单一目的从所连接的NSP接收业务。因为前向和反向业务路径流过相同的NSP链路,所以其称为对称路由,这是绕过NAP的基础。在大多数情况下,从不发送业务给这样的NSP,即其中该NSP必须回转并通过NAP发送到另一个NSP。在相反方向也一样;大多数情况下,当NSP具有它们自己返回到P-NAP的直接连接时,这些NSP不通过NAP发送P-NAP所指定的业务给其它NSP。
在P-NAP对其NSP之一连接失败的情况下,本发明的路由管理控制方法使用预定的、主“缺省”NSP来路由选择到连接失败的NSP内的目的地。假如主“缺省”NSP不能使用,业务被路由选择到次“缺省”。假如次“缺省”不能使用,业务被路由选择到第三“缺省”,以预定顺序中对所有可使用NSP都如此进行。这些“缺省”NSP也(以相同顺序和在相同条件下)用于被路由选择到不连接任何P-NAP NSP的目的地的业务(这是P-NAP连接到其NSP之一失败的衰退情况)。在使用“缺省”NSP的所有情况下,不再绕过NAP,但是到/来自“缺省”NSP的业务路由选择保持对称。
因此,本发明P-NAP提供了一种方法,用于不用随机路由交换并且不用非对称路由选择来管理P-NAP用户与NSP之间的业务路由选择,并允许绕过公用NAP。
附图简介
为更完整地理解本发明,可以参照附图并结合对实现本发明最佳方式的详细说明。在图中:
图1表示在很高层上多个NSP通过公用NAP互连,和所导致出现的非对称分组路由选择。
图2表示在很高层上按照本发明连接到多个P-NAP提供商和用户的一个P-NAP,和所导致出现的对称分组路由选择。
图3是执行P-NAP并被部署在通信设备的四个机柜中的硬件的前视图。
图4是方框图,部分地表示将P-NAP连接到互联网外界中NSP的核心路由器连接。
图5是简化的方框图,表示通过专用接入LAN连接到本发明P-NAP的用户服务器。
图6是方框图,表示连接到本发明P-NAP的多个专用接入LAN。
图7是方框图,表示到本发明P-NAP的用户服务器共享接入连接。
图8是方框图,表示从本发明P-NAP通过T1线路到位于用户建筑物上用户服务器的远程连接。
图9是方框图,表示从本发明P-NAP通过T3线路到位于用户建筑物上用户服务器的远程连接。
图10是P-NAP和它到P-NAP提供商连接的路由选择图的示意表示,表示用于在节点A和节点B之间在前向和反向方向上交换分组的方法。
图11是按照本发明原理的流程图,表示在诸如图10所示的互联网系统中实现对称P-NAP路由选择的步骤。
图12是按照本发明原理的流程图,表示在诸如图10所示互联网系统中完成路径验证程序的步骤。
图13和14共同构成一个流程图,表示本发明P-NAP ASsimilator程序操作的方法步骤。
图15是按照本发明原理的流程图,表示用于为每个P-NAP提供商确定适当AS_PATH长度的过程。
图16是按照本发明原理的流程图,表示为每个P-NAP提供商确定在P-NAP内所使用LOCAL_PREF值的过程。
图17是流程图,表示涉及将由P-NAP ASsimilator程序和路径验证程序所生成的数据库应用到每个提供商的P-NAP LOCAL_PREF路由器配置的步骤。
图18是流程图,表示涉及将AS_PATH长度程序产生的数据库由应用到每个提供商的路由器配置的步骤。
实现本发明的最佳方式
背景
假设NAP没有定标好和因此容易变得过载,当前的互联网体系有使NAP性能问题更复杂的其它方面。
首先,协议BGP4给所有交换路由选择信息的实体以等同协议配置控制。因此,如没有两个实体之间的合作,就没有一个实体有能力在其自己路由选择上运用比另一个实体在其自己路由选择上更多的控制。因为这些实体的大多数相互进行竞争,除了仅仅相互对等外很少有采取合作态度的动机。除此之外在NAP上业务交换的NSP之间没有经济结算,结果是就NSP而言出于经济和技术上的目的希望在与目的地NSP的最近的NAP连接上摆脱业务,而不是设法载带该业务通过自己的主干到到另一个NAP。当目的地NSP将分组返回到始发NSP时也一样。
例如,图1是本发明出现之前互联网业务交换的简化说明。表示了五个公用NAP,Pac-Bell(SF)403,MAE-West(SF)404,MAE-East(DC)405,NY(NY)406和Ameritech(Chi)407,还有多个连接它们上的NSP,例如MCI401,UUNet402和其它410。如果作为MCI401用户的源点A408要建立与作为UUNet402用户的目的地B409的双向通信,在今天的互联网中,从源点A408到目的地B409的业务将采用路径411而从目的地B409返回到源点A408的业务将采用另一个路径412。每个业务路径被分成为三个子路径。对于路径411,如上所述,MCI401希望使业务尽快离开其网络,所以在源点A408在子路径411a上发送业务到其提供商MCI401后,MCI401在第二子路径411b上将业务发送到最近的NAP,在该例子中是与UUNet402交换业务的MAE-West(SF)404,而UUNet402始终载带该业务通过其主干到子路径411c上的目的地B409。路径412与路径411的情况一样,UUNet402与MCI401相同希望使该业务尽快离开其网络,所以在目的地B409在子路径412a上发送业务给其提供商UUNet402之后,UUNet402在第二子路径412b上发送业务给最近的NAP,在该例子中是与MCI401交换业务的MAE-East(DC)405,而MCI401始终载带该业务通过其主干到子路径412c上的源点A408。
这种在互联网内的业务流现象称为非对称路由选择,因为在任何双向通信中的前向和反向业务流穿过单独的路径。这些路径从源点到目的地实际上相反。在前向方向,业务从源点408转到MCI401到第一NAP404到将业务载带到目的地409的UUNet402。在相反方向,业务从目的地409转到UUNet402到第  NAP405到将业务载带返回给源点A408的MCI401。这也称为“热土豆”式路由选择,因为每个NSP通过将尽可能多的业务推给最近的NAP而力图将其主干从双向流的单向业务中脱离。
非对称路由选择本身不是问题。问题是非对称路由选择使业务穿过源点和目的地实际很少或不能控制的四个单独实体:MCI401,UUNet402和两个不同NAP404,405。源点A408可能对MCI401有一点控制,因为源点A408是MCI401的用户。目的地B409与其提供商UUNet402的关系也一样。但是源点A408和目的地B409都对其它NSP或业务必须通过的两个NAP404、405的中任何一个没有任何控制。因此源点A408和目的地B409都没有很多方式强迫NAP404、405或其它NSP服务得更好。
其次,当相同城市或地区中的两个实体试图相互通信而它们是不同NSP的用户时,当前的NAP体系会产生问题。再次参照图1,在华盛顿Seattle内,当连接到MCI401上的源点A408和连接到UUNet402上的目的地C417要相互通信时,业务通过在旧金山的NAP例如PacBell(SF)NAP403从源点A408流向目的地C417。不仅在相同城市内两个实体之间的业务不得不穿过已经处于拥挤状态的NAP403,而且该业务仅仅为了“过街”就需要流过数千英里的路程。
最后,当源点被连接到许多不同主干NSP例如MCI或UUNet时,协议BGP4自己不会自动考虑通过直接连接的链路进行到/来自目的地的路由选择。当实体被连接到多个使用BGP4的NSP(没有未发明的技术及其相应协议配置的优势)时,分组路由选择可能以随机方式出现。应理解NSP包括多个路由器和通过路由器连接的多个网络。
网络包含目的地或唯一IP地址。一个路由器具有识别它的多个唯一IP地址,一个地址对应每个其直接连接的网络。当使用BGP4时,在NSP内的一个网络编组称为自主系统或AS。路由器始发它们直接连接网络的广告给其它路由器而其它路由器进而将这些广告传递给更多路由器。所广告的路由能够按照一种量度表示到达终点的距离,例如“跳点”数量。在BGP4中,一个“跳点”是路由广告从其始发点到当前位置所穿过的一个AS。到达目的地的BGP4“跳点”数量是路由从其始发点到当前点所穿过的所有AS的计数。因此,某个目的地网络依据从不同NSP所接收的路由广告中的不同跳点计数可能呈现为近些或远些。定义BGP4协议,以使路由器只能够根据一个所广告路由传递分组。因此,路由器不能根据两个不同路由选择广告传递分组到同一个目的地。为保证在任何时刻只使用一个路由,开发了大量“线路中断器”,以便当两个或更多路由被认为“等同”时,有方法自动选择一个。BGP4协议具有不同的属性(上述跳点量度是BGP4属性的一个类型),并且对每个不同BGP4属性有一组“线路中断器”。如果使用所有线路中断器后,仍然有两个或更多被认为等同的路由,协议BGP4包括一个“最后机会”线路中断器。所选择的方法是来自带有更高IP地址的广告路由器的路由更好。当面临由多个NSP所广告的相同路由时,这基本上使协议BGP4随意选择哪个路由最好。因此,将自己连接到使用“香草型”(vanilla)BGP4的许多不同提供商的一个实体不能保证当试图到达MCI上的目的地时,它不会首先发送给UUNet和让UUnet发送业务给MCI,在此情况下该业务不得不穿过一个NAP。这不仅是路由选择协议的功能,也是不同NSP建立它们主干路由选择方法的功能。
本发明公开
为解决当今NAP业务交换模式中固有的性能问题,需要一种通过提供源点与目的地直接相互接入而不需要每个源点和目的地连接到相同NSP来绕过NAP的方法。因此需要利用连接到多个NSP的基础设施的技术——P-NAP,允许用户连接到该基础设施,和当目的地连接到一个NSP时,基础设施在所有可能的时候保证来自其源点的业务只指定到该NSP。此技术还必须保证从目的地返回到源点的业务流过相同连接。这是称为对称路由选择的概念,如上所述,其不是协议BGP4所固有的。
现在参照图2,表示了P-NAP 100的示意图,具有到七个NSP的连接,即MCI420、UUNet421、Sprint422,ANS423,AGIS424、Netcom425和PSI426,称为P-NAP提供商的420-426,和其用户的代表,源点A427。为清楚起见,图2表示了五个NAP之一432和由所有NSP保持的对其的连接。当连接到在Seattle的P-NAP100的源点A427要与连接到也在Seattle的MCI420的目的地B428通信时,P-NAP100从其连接430直接发送出业务到MCI420。目的地B428经过相同MCI连接430将业务发送回源点A427。这也表示P-NAP100的本地化方面,源点A427与目的地B428之间的业务保持在Seattle而不必穿过不同地区中的NAP。
对于连接在Seattle中P-NAP100的源点A427与连接在Atlanta的UUNet421的目的地C429将出现相同业务形式(没有本地化)。源点A427将发送业务到P-NAP100而P-NAP100进而直接发送业务到UUNet421,UUNet421通过其主干将该业务带给目的地C429。目的地C429将通过相反方向完全相同的路径在返回路径上将该业务发送给源点A427。
概念上,P-NAP100可以被认为由两半组成。P-NAP100的一半连接用户,例如要直接对称接入到P-NAP提供商420-426的源点A427,并且另一半连接到P-NAP提供商420-426。P-NAP基础设施和对称路由选择的使用只用于P-NAP用户。因此,P-NAP提供商420-426不使用P-NAP基础设施用于它们自己之间的交换业务。P-NAP提供商420-426为了对到或来自P-NAP用户(例如源点A427)的业务进行路由选择的单一目的与P-NAP100交换业务。
因为P-NAP100被连接到许多不同提供商420-426上,带有对称路由选择的P-NAP100是自然容错的。在任何对P-NAP提供商420-426连接失败的情况下,或目的地没有连接P-NAP提供商420-426之一的情况下,对称路由选择技术允许P-NAP100对称地通过“缺省”提供商路由选择到目的地。该“缺省”提供商是一组P-NAP提供商420-426,以选择一个作为主缺省的方式排序。如果主缺省失败,次缺省顶替。如果主和次缺省都失败,第三缺省顶替并对所有P-NAP提供商420-426如此进行。
因此,当至少一个源点或目的地连接到P-NAP100时,连接对称路由选择的P-NAP基础设施解决了在源点与目的地之间需要双向通信的公用NAP432的问题。因为P-NAP技术是以大城市为基础的,它比NAP体系更好地定标并提供业务本地化和当今NAP体系中所没有的容错层。
本发明
在图3中说明了实现按照本发明原理的专用网络接入点或P-NAP100的硬件。P-NAP100包括四个装有通信硬件的机柜101、102、103和104。第二和第三机柜103和104包含TCP/IP交换和路由选择装置。TCP/IP表示通常用于互联网的第三层网络协议。第三机柜103包含两个核心路由器105和106,两个FDDI集中器107和108,两个触媒交换机110和111,三个边界路由器112、113和114,和一个备用边界路由器115。
较高核心路由器105称为核心-1,而较低路由器106称为核心-2。在此具体实施例中,核心路由器105、106被确定为Cisco7505-6E1F1H8T路由器,可从Cisco系统公司(170W.Tasman Drive,SanJose,CA95134)获得。较高FDDI集中器107称为FDDI-1,而较低FDDI集中器108称为FDDI-2。较高触媒交换机110称为触媒-1,而较低触媒交换机111(备用),称为触媒-2。FDDI集中器107、108和触媒交换机110,111由Cisco系统公司销售。较高边界路由器112称为边界-6S,而中间边界路由器113称为边界-3S,和较低边界路由器114称为边界-2S。中间和较低边界路由器113、114被确定为Cisco4700-6E8T,而较高边界路由器112被确定为Cisco7505-6E1F2H。备用115被确定为Cisco C4700-6E1F4T。
第四机柜104包括一个核心路由器116,一个边界路由器117,两个以太网集线器118、120,和另四个边界路由器121-124。核心路由器116称为核心-3并且与其它核心路由器105、106相同。较高边界路由器117称为边界-4S并被确定为Cisco7505-6E1F2H。较高以太网集线器118称为以太网-1,而较低以太网集线器120称为以太网-2。以太网集线器118、120由加州Palo Alto的惠普公司制造。在四个边界路由器121-124中,最顶上的边界路由器121称为边界-5B,其次的边界路由器122称为边界-5A,紧随的边界路由器123称为边界-1B,底部的边界路由器124称为边界-1A。这些边界路由器121-124都确定为Cisco4700-12E1F。
第二机柜102包含三个T1 CSU/DSU机架125、126、127,两个DSX1机架128、130,一个DSX3机架131,和五个或更多T3CSU/DSU132、133、134、135、136。缩写CSU/DSU代表信道业务单元/数据业务单元。如同所知的,Telco T1数字载波系统以1.544Mbps的DS1数据速率承载数字复用信道,而T3数字载波系统以44.736Mbps的DS3数据速率承载数字复用信道。对于三个T1机架125、126、127,每个机架包含12个T1 CSU/DSU,125a-1,126a-1,和127a-1。每个T1 CSU/DSU处理一个T1电路。T3 CSU/DSU132、133和134每个处理一个T3电路。对于两个DSX1机架128、130,每个机架处理28个T3电路。DSX3机架131处理28个T3电路。所有DSX机架128、130、131执行在电路载体与CSU/DSU125a-1、126a-1、127a-1,132、133、134之间的接口功能。由此,应理解在任何CSU/DSU与T1或T3电路之间存在DSX交叉连接。为简单,在图中省略了DSX交叉连接。当电路数量的增加超过图1所示任何设备的容量时,按需要可以对机柜101-104增加适合类型的附加设备。
第一机柜101包含服务器。在顶部是NS1 140,而下面是NS2 141,两者都是使用互联网DNS协议的名称服务器。DNS代表域名系统,是存在于全球互联网上的一个系统,它通过使用包含域名数据库的名称服务器而允许任何用户将远程计算机名称解析为它的IP地址。下个机架是互联网邮件1142,和其下面是其备份,互联网邮件2143。下个机架是网络管理1144,紧跟着是其备份,网络管理2145。下个机架称为备份146,是用于保护数据的备份机。下个机架是备用147,是用于任何服务器140-146的物理机器的替代者。下个机架是称为磁带点播机148的磁带机。备份146将数据送给磁带点播机148,和数据备份磁带通过它转动。下个机架是用于互联网Usenet新闻的新闻机器150。新闻机器150应用称为INN的互联网协议。在第一机柜101的底部安排了多个互联网万维网(WWW)用户服务器151。应注意,由于使用附加设备和用户服务器,需要在这四个机柜101-104之外增加另外的机柜。
应理解还提供了在图3中没有表示的支持设施。机柜101-104位于具有1800平方英尺地板空间的房间中,称为互联网数据中心,或IDC。支持设施包括两个20吨暖风和空调(HVAC)系统,一个是备用,如果主系统出故障它自动开机。两个HVAC按照星期轮换。还有50KVA不间断电源(UPS)。UPS和HVAC两者都连接到发电机上,如果主电源出故障它自动开机为UPS和HVAC系统供电。四个机柜101-104安装在架活动地板上,该地板装备了地板下阶梯型齿条便于在它们之间布线。为机柜101-104提供防火措施。有使用卤素灭火剂的干式防火系统,用湿式防火预防系统做后备。
从IDC对“接线机房”提供线路管道,在该机房中可以进行共同安放在同一建筑内所有不同电路载体的连接。这些提供T1连接和T3连接。接线机房允许本发明的系统将电缆会聚到一个中心位置。所有电路载体将它们的线路集中到同一中心位置。然后,每个线路在该唯一的中心位置相互之间交叉连接。这避免不得不在整个建筑上安放绝缘套管导线,和允许系统在建筑内的单一位置上连接所有NSP而不用购买到远端位置的电路。
在物理连接层,图4用方框图形式表示P-NAP100通过称为P-NAP提供商的NSP到互联网外界的连接中心。P-NAP的主干是一个100Mbps共享的FDDILAN,带有两个10Mbps以太网LAN用作FDDI的冗余备份。核心路由器连接到所有三个主干LAN。
FDDI(光纤分布式数据接口)是LAN或局域网技术,在光纤上提供100Mbps带宽并且还提供自修复能力。FDDI是对偶、相对旋转令牌网技术。该网络形成两个圆圈(环路),从一个计算机开始,通过所有其它计算机并返回起始处结束。令牌在环路上的计算机之间传递,通过正持有该令牌的系统可以发送或接收数据的信令来控制传输。在一个环路内,所有令牌以顺时针方向流动而在另一环路内所有令牌以逆时针方向流动。只有一个环路用于全功能的FDDI网络。另一环路只在如果系统不能在主环路上对下一个系统发送令牌时使用。在此情况下,注意到传输问题的系统在企图绕过主环路上的问题时将令牌“转到”第二个(相反方向)环路。该令牌可以(在第二个环路上)流动返回已经看见它的系统,但是因为该令牌是在第二个环路上,它们最终将该令牌传递给还没有收到它的系统。
FDDI具有两种物理连接方法。在第一种中,称为“菊花链”,计算机A直接连接到计算机B,计算机B直接连接到计算机C而计算机C连接回到计算机A,形成上述圆圈。为增加另外的计算机,环路必须被拆开以在A与B或B与C或C与A之间插入新的计算机。第二种方法称为“集中”方法。两个FDDI集中器用于组成主要和第二环路。每个计算机不是连接到另一个计算机,而是连接到两个集中器。这两个集中器进而双重相互连接并处理在不同系统和不同环路中传递的令牌。即使每个计算机以此方法连接到两个集中器,FDDI仍被认为是单一LAN。集中方法不需要为增加新的计算机而拆开环路并且它更好地使计算机相互隔离。在图4中,FDDI-1 107和FDDI-2 108是两个FDDI集中器,并如152所示相互双重连接。
以太网是一种LAN技术,其通过双绞线电缆(10BaseT以太网)或同轴电缆(10Base2/5以太网)提供10Mbps的带宽。以太网与FDDI不同,不是一种具有自修复功能的技术。10BaseT以太网使用众所周知的物理装置“集线器”来与其它装置相连。图4中,以太网-1 118和以太网-2 120是两个构成了两个以太网LAN的单独以太网集线器。利用TCP/IP内部路由选择技术,FDDI LAN是所有业务所经过的主干,而两个以太网LAN(加在一起总共有20Mbps的带宽)则被用作当FDDI出现故障时的备用网络。例如,当某个路由器的FDDI接口出现故障时,则该路由器将开始使用这两个以太网LAN来转接业务。而当FDDI集中器107,108中的一个出现故障时,则利用FDDI的冗余特性可以将所有的业务放到另一个FDDI集中器上。但是,当两个FDDI集中器107,108均出现故障时,则可以利用TCP/IP路由选择技术将两个以太网LAN用作备份。当需要另外的备份时,还可以对该种系统进行进一步扩展以包括其它的以太网。
核心-1 105,核心-2 106和核心-3 116与FDDI-1 107,FDDI-2 108,以太网-1 118,以太网-2 120相连。每个核心路由器,核心-1 105,核心-2 106和核心-3 116还与P-NAP提供商相连(已选定与P-NAP相连的NSP)。为了实现各提供商之间的冗余性,P-NAP体系只允许在每个核心路由器上有一个DS3连接,以使得,如果某个核心路由器出现故障时,仍会有其它两个能够继续工作的具有DS3连接的核心路由器。对于其中分散于所有核心路由器上而不是集中于单独一个核心路由器上的T1连接,上述原理同样成立。图4中,服务提供商被指示为“闪电形”的WAN符号。该WAN“闪电形”符号由与其相邻的服务提供商的名称所标识,而数据率则被表示为或者是DS3速率或者是T1速率的倍数。核心-1 105与T3 CSU/DSU 132相连,而后者则又与Sprint相连。核心-1 105还与连到ANS上的T1 CSU/DSU 127a,以及连到AGIS上的T1 CSU/DSU 127b相连。核心-2 106与T3 CSU/DSU133相连,而后者则又与UUNet相连。核心-2 106还与连到Netcom上的T1 CSU/DSU 127c,以及连到PSI上的T1 CSU/DSU 127d相连。核心-3 116与连到MCI上的T3 CSU/DSU 134相连。其所应注意的是如果当前的T1连接需要被更新为DS3或该P-NAP结构中当前并不存在的NSP需要DS3连接,则对于每个DS3连接其均将需要有一个额外的核心路由器和一个额外的CSU/DSU。该核心路由器将以与所有其它核心路由器相同的方式与P-NAP主干相连,而该DS3连接则将以与其它DS3连接相同的方式与该NSP相连。对于另外的T1提供商连接,则将需要另外的T1 CSU/DSU,但这些连接将继续分散在所有核心路由器之间(每个核心路由器能够处理多达6个的T1连接)。
上述针对图4所示方框图所进行的说明是对P-NAP到其提供商的连接的最低层或实际连接层的说明。参照图2,其所示原理与图4所示相同,但前者是在更高的层来进行说明的。
在本发明的优选实施例中,一个实体总共有3种方式与P-NAP相连:1)通过专用接入LAN上的服务器;2)通过共享接入LAN上的服务器;以及3)通过远程连接电路。LAN上的服务器指的是物理地位于P-NAP设备建筑物并与LAN相连的用户服务器。远程连接则指的是将某个电路从用户办公室以远程方式连到P-NAP上。
参看图5,并结合图4,方框图所示为上述三种方式中的第一种,其中用户服务器151通过专用接入LAN与P-NAP相连。图4底部的FDDI-1 107,FDDI-2 108,以太网-1 118和以太网-2 120与图5上部所示的相应装置对应。而这些LAN下面所示为4个边界路由器,边界1A124,边界1B123,边界5A122和边界5B121。出于冗余性的考虑,这4个边界路由器成对地工作(1A和1B,5A与5B,即常说的A/B对)。每一对的两个组件实际上同时在进行工作。即,这些对组件一起并行地工作,但是当其中一个路由器出现故障时,另一个将会取代其位置,而完成故障路由器所应完成的任务。上述操作均是自动完成的,并符合标准协议所规定的冗余性规范。
边界1A 124与每个LAN单元:FDDI-1 107,FDDI-2 108,以太网-1 118,以太网-2 120相连。类似地,边界1B 123,边界5A 122和边界5B121则同样与上述每个LAN单元相连。第一以太网集线器153与边界1A 124和边界1B 123相连。图3中并未示出该以太网集线器153,但其是由加州San Jose的Asante所制造的一种用来与单独服务器配合使用的单元。可以有任意多的用户服务器151a与以太网集线器153相连。类似地,第二Asante以太网集线器154与以太网-1 122和以太网-2 121相连。可以有任意多的用户服务器151b与该以太网集线器154相连。
现在参照图6,每个路由器对实际上有10个用户连接。即,如图6所示被标识为边界1A 124和边界1B 123的路由器对具有通过10个以太网集线器处理10个用户服务器的能力。以类似的方式,被标识为边界5A和边界5B的第二路由器对也具有通过10个以太网集线器处理10个用户服务器的能力。当需要另外的用户处理能力时,则可以增加额外的路由器对,并将其与LAN单元FDDI-1 107,FDDI-2108,以太网-1 118,以太网-2 120相连。
对于以太网集线器153,154并未提供冗余配置。以太网集线器故障为单点类型,但其是一种低层布线装置,同时出现故障的机会要小得多。然而,如果用户并不介意成本,则也可以提供冗余配置。此选项是通过在用户服务器的后侧设置另外与10个专用LAN中的另一个LAN相连的连接来实现的。如果某个LAN发生了故障,则所增加的连接可以继续为用户服务器提供连通途径。此类连接450如图6所示。这完全是用户从经济上所要考虑的问题。
参照图5和图6,其所示为被称作专用接入类型的服务,因为其中只有一个用户实体将其用户服务器151a与该Asante以太网集线器153相连。而另一方面,图7所示为共享接入LAN的一个实例。图7中,两个不同用户的两个服务器151c,151d共享一个与边界路由器对相连的Asante以太网集线器153。为了实现上述配置,其需要提供一个“隔离”机制,以使一个用户无法看到另一个用户的业务。这两个用户服务器151c,151d不能只是与Asante以太网集线器153相连。因此,以太网集线器153将先被连到两个用户路由器155,156上,其每一个再依次与另一个Asante以太网集线器157,158相连。在该优选实施例中,用户路由器155,156是两个Cisco2514路由器。其为共享该第一以太网集线器153的两个用户提供了通常所说的“防火墙”保护。因此,该种防火墙路由器是一种物理的“隔离”装置。其中的一个用户将无法看到另一个用户的业务,反之亦然。所应注意的是,该种共享接入LAN实际上只是多个专用LAN中的一个,但不同之处在于其具有多个不同的用户。为此,当需要时,可以通过对专用接入LAN进行转换来增加更多的共享接入LAN。
上文中对专用接入连接和共享接入连接进行了说明。接下来将参照图8和图9对到位于用户“建筑物”的用户服务器的远程连接访问的方法进行说明。图8所示为从本发明的P-NAP经由T1线路,到用户服务器的远程连接访问过程的示意图,而图9所示则为从P-NAP经由T3线路到用户服务器的远程连接访问过程的示意图。
参照图8,触媒-1 110与FDDI-1 107和FDDI-2 108相连(触媒-2 111是未作连接的备用装置)。触媒交换机起到了以太网与FDDI之间的网桥的作用(对以太网的数据帧和FDDI数据帧进行“来回”转换),从而使得T1远程连接边界路由器不用再必须配置有FDDI接口(由此可以给T1串行接口留有更多的空间)。触媒-1 110和触媒-2 111均是Cisco的触媒1200-8E1F LAN交换机。被标识为边界2S 114和边界4S 117的边界路由器通过以太网接口与触媒-1 110相连,同时通过以太网接口与以太网-1 118和以太网-2 120相连。来自T1CSU/DSU机架127,126,125上的T1 CSU/DSU卡与边界2S和边界4S相连,就象其自身通过电路与用户“建筑物”相连一样。这些边界路由器每一个均能够处理8个T1远程互连连接(图8中只示出的每个路由器一个连接)。当所需的连接超过了边界2S和边界4S所能提供连接的总数时,则可以在该P-NAP上增加额外必要的此类型边界路由器。
现在参照图9,其所示为从本发明的P-NAP经由DS3电路到位于用户“建筑物”的用户服务器的远程互连的方框图。被标识为边界3S113的边界路由器和被标识为边界6S 112的边界路由器与FDDI-1107,FDDI-2 108,以太网-1 118,以太网-2 120相连。另外的T3 CSU/DSU如135,136则与边界3S 113或边界6S 112相连(如图所示,T3CSU/DSU135与边界3S 113相连,而T3 CSU/DSU136则与边界6S 112相连)。上述T3 CSU/DSU随后通过相应的电路与用户“建筑物”相连。这些边界路由器的每一个均能处理两个DS3远程互连连接(图9中只示出了每个路由器的一个连接)。当所需的连接超过了边界3S和边界6S所能提供连接的总数时,则可以在该P-NAP上增加额外必要的此类型边界路由器。
其所应理解的是边界路由器112,113,114,117并不象上文中所述的A/B路由器那样成对地工作,而是彼此专用来进行工作的。如果某个远程互连用户想要具有由专用和共享互连用户所提供类型的冗余特性,则该远程互连用户必须设置一条到该P-NAP的,同时终止于一个不同边界路由器内的第二远程互连电路。因为其不同于该用户所连到该P-NAP上的任何其它的电路,因此该第二电路将能够提供冗余性。因为其代表了串行连接,所以边界3S,边界6S和边界6S中的“S”表示“串行”含义。
其应被理解的是图3中所示的第一机柜101中的网络管理服务器144,145与一个专用LAN 153(先前已结合图5&6进行了说明)相连。此专用LAN 153上未连接用户服务器。网络管理服务器144,145上存储有用于执行根据本发明的多种处理的P-NAP驻存软件。
此软件,即通常所说的ASsimilator,实现了试探式TCP/IP路由管理控制处理的一部分,以确保连在P-NAP上的某个实体与(直接或间接)连到P-NAP提供商上的另一个实体之间的业务,只经过到P-NAP提供商的P-NAP连接。如上所述,因为前向和反向业务路径均沿经过各提供商的相同路由,因此其便是常说的对称路由选择。如果到P-NAP提供商的P-NAP连接当前不可用,或如果其它实体无法与某个P-NAP提供商相连,则本发明的路由管理控制处理将会使业务对称地流过当前被配置为主“缺省”的一个P-NAP提供商。利用P-NAP所具有的冗余性,可以根据当前“缺省”提供商的可用性,将其它的P-NAP提供商变为当前的“缺省P-NAP提供商”。
ASsimilator主要包括如下的3个方面:1)路由选择策略配置的确定;2)能够发展及自动维护路由选择数据库的软件;3)与P-NAP提供商一起工作,以将其BGP4 LOCAL_PREF属性设置为优选通过其到P-NAP的本地连接,而不是通过另一个P-NAP提供商(比如通过公用NAP)来接入P-NAP。LOCAL_PREF是一种对分组路由选择的优选级给定了本地自主系统(AS)控制的BGP属性。此LOCAL_PREF属性通过AS的路由器配置被添加到路由上。由定义,一个高的LOCAL_PREF值比一个低的LOCAL_PREF值具有更高的优选级。
方面号1的功能是确定在上述“缺省“情况中,所要选用的P-NAP提供商的优选次序。其需要对所有的P-NAP提供商进行判断,以确定哪一个P-NAP提供商将用作“主”缺省提供商,而哪一个将被用作“次”缺省提供商,哪一个将被用作“第三”缺省提供商,如此等等。一旦完成了上述确定步骤,则其便可以利用ASsimilator处理来产生与其它处理一起工作的基本路由器配置,以确保P-NAP和未与P-NAP提供商相连的实体(或某个与位于当前不可用的提供商电路上的P-NAP提供商相连的实体)之间的业务能够被对称地路由选择经过当前的“缺省”提供商。还需要方面号1来对称地路由选择到连接到多于一个的P-NAP上的目的地。
方面号2的功能是产生及维护与每个P-NAP提供商相关的自主系统号(BGP4中用来对各个实体进行区分的AS号)以及被确信当前在公用NAP中对等的各提供商的AS号的数据库。存在两种方法来更新这些数据库:1)一种ASsimilator处理及其相关软件;和2)称为Routebot的路径验证软件。给定了这些数据库以及由每个P-NAP提供商所广告的整个互联网路由选择表,其便能够确定由每个提供商所广告的路由中是哪些被实际地连到每个提供商上,同时仍能维持上文中结合方面号1所说明的冗余性和对称路由选择的特点。其必须理解的是,从每个P-NAP提供商那里,P-NAP不仅将接收到该提供商的路由,同时还将接收到所有其它提供商(包括同时与该P-NAP相连的其它提供商)的路由,其中没有自动对该提供商自身的路由与所有其它提供商的路由进行区分的方法。给定此种从整个互联网路由选择表中确定某个P-NAP提供商自身路由的能力,方面号2是用于对从该P-NAP经过只用于某P-NAP提供商网络内的各目的地的P-NAP提供商连接,到该P-NAP提供商的路由选择进行控制的基础。
其中采用ASsimilator的试探式技术来确定该公用NAP上哪些提供商是彼此对等的。从BGP4路由选择的立场看,没有方法能够分辨经NAP与某个提供商相对等的一个实体,和从该提供商直接购买服务的同一实体之间的差异。由于NAP是第二层的架构,因此这些NAP从第三层TCP/IP路由选择的角度看,是不可见的。因此,在BGP4路由选择广告中不会出现NAP,由此使得NAP上相对等的实体看起来与直接连接相同。同时,ASsimilator假设如果某个实体与多于3个的NSP相连,则该实体将经过NAP与这些NSP对等。这种试探式操作基于如下的假设:如果有,除了该P-NAP之外,很少存在与多于3个NSP直接相连的实体。对于NAP上彼此对等但只有3个或更少提供商的实体,也会引起一些问题。ASsimilator提供了用于以手工方式更新数据库,以将现实中所存在的诸如此类的情况包括在内的技术。
方面号3的功能是使每个P-NAP提供商能够对其BGP4LOCAL_PREF属性进行设置,以使某个提供商通过其与该P-NAP的连接所接收到的任何P-NAP路由均比利用NAP上的对等协议从其它提供商接收的P-NAP路由具有更高的优选级。这是对从与该P-NAP提供商相连的网络通过P-NAP提供商连接返回到该P-NAP的路由选择进行控制的基础。
现在参照图10,其所示为P-NAP与全球互联网的关系的路由选择图的示意简图,以用于表示各种路由选择路径之间的互连关系。其中有一个P-NAP100,一个公用NAP160以及6个管理路由选择实体161-166。其中的4个实体161,162,164和165是直接与P-NAP100相连的NSP,因此可以将其看作是P-NAP提供商。实体163和166可以是NSP,ISP或某个具有很大网络的公司。其均将被称作实体。4个提供商161,162,164,165是按照其在上述“缺省提供商”链式排位中位置,即主,次,第三,如此等等的顺序来进行标注的。图10中所示为P-NAP100与提供商164之间的电路当前不可用时的示意图。其中在其连接位置上标注有一个大“X”以表示该连接不可用。4个提供商中的3个161,165和164还与实体166相连。而4个提供商161,162,164和165以及实体163则直接与公用NAP160相连。
本发明的P-NAP100以对称方式对该P-NAP的用户与任意一个提供商的用户之间的分组进行路由选择,以在任何可能的时候尽量绕过公用NAP,如NAP160。具体地说,在第一种情形中,P-NAP100产生配置文件,当配置文件被应用于核心路由器105,106和116(见图3和4)时,利用BGP4 LOCAL_PREF属性让P-NAP100通过该提供商的网络来路由选择到该P-NAP提供商的用户。其原理如图10所示,其中源点A 167是P-NAP100的一个用户,其想要与作为P-NAP提供商161的一个用户的目的地B1 168交换分组。前向数据分组沿第一路由选择路径170直接送往提供商161,并直接到达目的地B1 168。在P-NAP100处,当产生了到提供商161的连接时,为了使提供商161优选采用到P-NAP100的直接路由选择,而不是通过公用NAP(例如NAP160)来进行路由选择,需要对提供商161的本地优选级进行设置。因此,当目的地B1 168向源点A 167发送返回数据分组时,该返回数据分组将经由从目的地B1 168和提供商161直接到P-NAP100再到源点A 167的第一路由选择路径170′送回。
在第二种情形中,P-NAP100产生配置文件,其使用了被广告给每个P-NAP提供商的本地优选级和变化的AS路由路径长度,以通过“缺省”P-NAP提供商的网络路由选择到未与任何一个P-NAP提供商相连的用户。如图10所示,源点A 167是P-NAP100的一个用户,其想要与作为没有与P-NAP100直接相连的实体163的一个用户的目的地B2 171交换数据分组。提供商162由P-NAP100预先选择为当前的“缺省”提供商,因为其被列为“主提供商”并且当前其正处于可用状态。前向数据分组通过经由提供商162,公用NAP160和实体163的第二路由选择路径172到达目的地B2 171。因为实体163从提供商162接收的、返回该P-NAP的路由具有最短的AS路径长度(提供商162是“主缺省”提供商,因此在所有P-NAP提供商中其具有最短的AS路径长度),该返回数据分组将经过对称的第二路由选择路径172’,通过实体163,公用NAP160和提供商162被送达P-NAP100和源点A 167。
在第三种情形中,P-NAP100产生配置文件,其使用本地优选级和变化的AS路径长度,以通过在该用户的P-NAP提供商中“缺省”P-NAP提供商排位顺序中排位最高的P-NAP提供商,路由选择到与多于一个的与P-NAP100相连的提供商相连的用户。其原理如图10所示,其中源点A 167是P-NAP100的一个用户,其想要与作为与P-NAP提供商161,164和165相连的实体166的一个用户的目的地B3 173交换数据分组。因为提供商165在这3个共同P-NAP提供商161,164和165中的“缺省”排位次序最高(次),因此其将被选作该数据分组所要流经的对称路径。前向数据分组通过经由提供商165直接到实体166再到目的地B3 173的第三路由选择路径174来进行传送。因为实体166从提供商165所接收到的返回该P-NAP100的路由,在与实体166相连的3个提供商161,164和165的AS路径中,具有最短的AS路径长度(提供商165是“次缺省提供商”,因此在所有与实体166相连的P-NAP提供商中,其具有最短的AS路径长度),该返回数据分组经过对称的第三路由选择路径174’,通过实体166,提供商165和P-NAP100返回源点A 167。
在第四种情形中,P-NAP100产生配置文件,其使用本地优选级和变化的AS路径长度,以让P-NAP100在目的地提供商到P-NAP100的连接当前不可用的情况下,通过当前的“缺省”P-NAP提供商来路由选择到各P-NAP提供商的用户。此情况下的不可用状态指的是P-NAP100与P-NAP提供商之间的电路或路由选择关系出现了故障。其原理如图10所示,其中源点A 167是P-NAP100的一个用户,在P-NAP100与P-NAP提供商164之间的连接当前处于不可用状态的情况下,其想要与作为P-NAP提供商164的一个用户的目的地B4 175交换数据分组。在此情况下,因为此时在P-NAP100与P-NAP提供商164之间不存在直接的连接,因此该情形将退化为如上所述的第二种情形。提供商162由P-NAP100预先选择为当前“缺省提供商”,因为其被列为“主缺省提供商”并且其当前正处于可用状态。前向数据分组通过经由提供商162,公用NAP160和P-NAP提供商164的第四路由选择路径176到达目的地B4 175。因为当前由P-NAP提供商164从P-NAP提供商162通过公用NAP160所接收到的P-NAP路由具有最短的AS路径长度(提供商162是“主缺省提供商”,因此在所有P-NAP提供商中,其具有最短的AS路径长度),返回数据分组通过对称的第四路由选择路径176’,经由提供商164,公用NAP160和提供商162被送达P-NAP100和源点A 167。
如上所述的第二种和第四种情形是仅有的两种业务必须经过NAP160来进行传送的情形。因此,P-NAP提供商越多,就越少会出现不得不通过公用NAP进行路由选择的情形。
正如可以从上述说明中看出的,根据本发明的原理,其提供了一种用于以对称方式在一个P-NAP100和与该P-NAP100相连的至少两个P-NAP提供商之间路由选择数据分组的方法。对于输出的数据分组,其可以看出,P-NAP100将产生使用了本地优选级的路由选择配置文件,当其被应用于路由器时,能够使P-NAP100通过该提供商的网络路由选择到该P-NAP提供商的用户。另外,同样是这些路由器配置文件,也可以使P-NAP100通过一个预先选择的“缺省”提供商的网络路由选择到没有直接与某个P-NAP提供商相连的用户,或当到某提供商的P-NAP连接当前被切断时,路由选择到该P-NAP提供商的用户。为了送回各P-NAP提供商的用户的输入数据分组,P-NAP处理将在建立连接时对该P-NAP提供商的本地优选级进行设置,以优选采用直接路由选择到P-NAP100的方式。为了送回所有其它目的地的输入数据分组,P-NAP100使用对于每个P-NAP提供商均不相同的AS路径长度,以使返回路径恰好经过如上所述被选作当前“缺省”提供商的P-NAP提供商。本发明的方法包括如下步骤:将配置文件应用于路由器,让路由器从每个P-NAP提供商获取路由,并使该路由器将上述配置文件应用于所接收到的上述路由。
现在参照图11,其所示为在诸如图10中所示的互联网系统中,用于实现对称P-NAP路由选择的方法步骤的流程图。其所应理解的是每个提供商均包含有多个网络,而每个网络又包含有多个目的地,通常指的是计算机。路由器将各个网络彼此连在一起,同时将各提供商彼此连在一起。在路由选择术语中,某个提供商服务范围内的任意数目网络的管理编组(administrative grouping)被称作自主系统,或AS。一个自主系统小可以小到就是一个单独的局域网,而大则可以大到由多个远程输送网络构成。每个AS具有一个唯一用来标识自身的AS号,而每个提供商则具有其自己的特有AS号集合。永远不会出现两个不同的提供商使用相同AS号的情况。在先前的说明中,将图10中的实体说明为NSP,提供商和一般的实体。现在我们则将这些实体称作自主系统的集合。在BGP4路由选择方法中,路由器利用添加到每条路由上的AS路径(BGP4的AS PATH属性)向互联网上的目的地广告多条路由。一条AS路径是该路由选择广告从其始发位置到其接收位置所经过的自主系统的路径。如果始发自该路由选择广告接收位置并被送往该路由选择广告始发位置,则在大多数情况中,其可以等价于与数据分组所采用路径相同的路径。
图11整体上所示是作为P-NAP的一部分的Assimilator处理。不应将该ASsimilator处理与ASsimilator算法180相混淆。Assimilator算法180是Assimilator处理所用的主要算法。图11所示的Assimilator处理实际上由两个主要的应用软件构成:Assimilator和Routebot。Routebot负责路径验证应用程序184。而Assimilator则负责处理图11中其余的自动步骤。
每天至少(最少)两次,Assimilator应用程序取出其已经馈送到其提供商AS数据数据库181中的数据,验证这些数据是否仍然有效,并运行其算法以确定是否还有任何其它数据应该被加入到提供商AS数据数据库181中。提供商AS数据数据库181是P-NAP提供商到提供商AS号的映射,其一般被存储于图3所示的网络管理服务器144上。此数据库中数据可能具有如下所示的形式:
Sprint:
1239 1785 1790 1791 1792 1793 1794 1795 400 4001 4002 4003 40044005 6174 6175 6176 6177 1800 1789 1784 6449 6637 3650 3651 3652 39723973 4950 4951 6153 6154 6242 3447 7882 4000 4999 6367 1801 5778 7308
MCI:
3561 4286 4281 4282 4283 4284 4285 4286 4287 4288 4289 42904291 4292 4293 4294 4295 4296 4297 4298 145 3378
UUNet:
701 705 702 7046 814 816
ANS:
1673 1321 1326 1327 1328 1329 1330 1331 1332 1333 1334 16621671 1322 1323 1660 1335 1667 1670 1672 1674 1675 1683 1686 16871694 1324 1325 1665 1677
PSI:
174 1280 2554 8013
AGIS:
4200 4993
Netcom:
2551 6996
ASsimilator每次运行,其均将重新产生先前所产生的例外AS数据数据库182的部分。该例外AS数据数据库182是那些表现为始发自多于3个的不同P-NAP提供商的AS号的列表,同时其也被存储于图3所示的网络管理服务器144上。如上所述,其是一种本发明通过其确定某个实体与公用NAP相连并与各P-NAP提供商对等的试探式机理。因此,例外AS数据数据库182是对那些在NAP上彼此对等的AS的近似。此数据库182可能会有如下所示的形式:
例外:
2685 1 3194 568 6456 5761 4136 6113 286 6172 293 297 2041 40061740 3703 2828
该例外AS数据数据库还可以具有一些通过如下所述的路径验证应用程序184,或当利用自动机理仍然无法正确地确定全部的例外AS号时由真人,所加入的“手工”项。一个很好的例子是,一个实际上位于NAP上的AS,在Assimilator试探式处理中却表现为已经购买了来自3个NSP的直接互连。对于此种情况,ASsimilator和路径验证应用程序184无法确定此AS是否在NAP那里。而真人则不然,其能够看出某些特征,从而能够知道此AS位于NAP上。
当路径验证应用程序184(常见的有Routebot),确定Assimilator试探式处理无法产生对称的路由选择时,将更新提供商AS数据数据库181和例外AS数据数据库182。Routebot每5分钟运行一次。Routebot的路径验证应用程序184是利用“traceroute”来实现的。traceroute是一种用来确定数据分组从其源点到其目的地的路径(在当前进行traceroute的时刻)的TCP/IP机理。但traceroute并不确定从目的地到源点的返回路径。为此,其需要将目的地作为源点,而原来的源点则作为目的地,来进行第二次traceroute。traceroute路径包含有数据分组所必须穿过的每一个“跳点”或TCP/IP路由器。路径验证应用程序184,随后将能够得到从源点到目的地的“往返”路径,从而确定该路由选择是否对称。如果不是,则路径验证应用程序184可以确定是否应该在例外AS数据数据库182中增加或删除某个AS号,以确保当AS数据被重新装入路由器中时,数据分组路由选择将会是对称形式的。
给定提供商AS数据数据库181和例外AS数据数据库182,其能够确定是哪一个来自每个P-NAP提供商的路由广告与该提供商的用户相关。其是通过利用上述两个数据库181、182的合集,同时对于每个提供商,从合集中去除掉该提供商的AS号,随后将所得的AS列表应用于只被该提供商所广告的路由来实现的。在将该AS列表用于对路由处理的过程中,在所得列表中不与AS的任一个匹配的路由均将被看作是该提供商的路由。
作为一个简化的实例,假设我们想要确定提供商A的所有用户路由。考虑如下的假想提供商AS数据数据库:
提供商A
1 2
提供商B
3
提供商C
4 5
同时考虑如下的假想例外AS数据数据库:
例外
6 7
如上所述,我们取这两个数据库的合集,得到如下AS号列表:
1 2 3 4 5 6 7
随后,我们去除掉我们所要确定路由的提供商的AS号。在此情况中,我们去除掉提供商A的AS号,从而得到如下的AS列表:
3 4 5 6 7
现在,给定如下的由提供商A广告给P-NAP的路由及其相关的AS路径:
路由R1:1 6 13 17
路由R2:1 2 19 21
路由R3:1 4
注意,来自提供商A的每条路由均是以提供商AS数据数据库中所找到的提供商A的多个AS号中的一个作为其终接(在BGP路由选择方法中,终接AS是最左端的AS号,始发AS则是最右端的AS号)。这便是为什么不能通过简单地筛选出与每个提供商直接相关的AS号来确定该提供商的路由的原因,因为该提供商正在通告整个互联网路由选择表,而所有这些路由均以该提供商的AS号为终接。
现在,将所得到的AS列表以下述方式应用到每条路由,即如果某条路由包含有出现在所得的上述AS列表中的AS号,则便不将其考虑为提供商A的部分。这便是常说的“拒绝”路由。任何没有被拒绝的路由均将被考虑为该提供商的用户。因此,路由R1将被拒绝,因为其AS路径中包含有所得AS列表中的“6”。路由R3也将被拒绝,因为其AS路径中包含有所得AS列表中的“4”。而路由R2则将被接受,因为其AS路径中没有与所得AS列表相匹配的AS号。
另外还可以对来自使用了不同数据库组的每个特定提供商的路由采用另一种算法来进行处理。与上述说明不同,其不再是取提供商AS号和例外的合集,减去当前提供商AS号,再拒绝所有那些与此列表相匹配的路由,该替代算法将产生关于每个提供商(我们当前的提供商AS数据数据库181)的AS号以及与每个提供商对等的任何AS号的一个列表,并允许(接受)来自该提供商的任何与此列表相匹配的路由。因为第二种列表分量(与每个提供商对等的AS号)将会很规律地变化,所以第二种算法必须比先前所述的第一种算法运行得更加频繁,才能更为有效。目前通常所采用的算法一般是第一种算法。
重新参看图10,能够确定来自每个提供商的哪些路由是每个提供商的用户的路由的能力,将确保数据分组能够从源点A 167通过B1的提供商NSP 161返回到目的地B1 168。
再次参照图11,其提供了一种用于将数据馈送到位于图3所示的网络管理服务器144上的提供商AS_PATH预先计划数据数据库186中的AS_PATH长度算法185。由P-NAP向其提供商所广告的路由的AS路径长度是各协议属性中根据本发明的原理进行调整,以实现诸如图10所示的对称P-NAP路由选择的一种属性。具体地说,参看图10,修正AS路径确保了从目的地B2 171返回源点A 167的路由选择将经过与从源点A167到目的地B2 171相同的路径。对AS路径长度的修正是通过增加和减小从该P-NAP经过每个P-NAP提供商到某个目的地“距离”的方式来实现的。在此情况中,距离被定义为某种BGP4路由广告的AS_PATH中AS的数目。例如,目的地可以将P-NAP看作到MCI的距离为10,到Sprint的距离为7,到UUNet的距离为5,并选择具有最短距离的路径,本实例中将选择UUNet。如果某个目的地看到回到该P-NAP的所有路径均具有相同的距离,则将不对其业务流经哪条路径进行控制处理。为了确保其能够对返回该P-NAP的业务进行控制并实现对称路由选择,其需要以使如上所述用于到某目的地业务的“缺省”提供商的顺序,与用于从同一目的地返回该P-NAP的业务的“缺省”提供商的顺序彼此相同的方式,来人为地增加由该P-NAP向其每个提供商所广告路由的AS路径。对于每个P-NAP提供商,上述处理是以当未与某个P-NAP提供商相连的目的地接收到这些路由时,使那些来自该P-NAP的当前“缺省”提供商的路由将具有最短AS路径长度的方式,通过将可能的不同数目的P-NAP自己的AS号预先计划(prepend)(增加距离)到所广告给每个提供商的路由中去,来实现的。因此,其根据本发明的原理,实现了对称路由选择。
假设其已经预先确定了“缺省”P-NAP提供商的顺序,则利用AS_PATH长度算法185可以算出添加到所发送给每个提供商的路由选择广告上的P-NAP AS号的数目。每个提供商均将具有必须添加到所发送给该提供商的路由上的自己数目的P-NAP AS号。该提供商AS_PATH预先计划数据数据库186可能具有如下的形式:
UUNet(主缺省)
增加0个AS
Sprint(次缺省)
增加1个AS
MCI(第三缺省)
增加3个AS
ANS(第四缺省)
增加4个AS
AGIS
增加5个AS
Netcom
增加6个AS
PSI
增加7个AS
重新参照图11,长方形187所包含的一系列方框,代表的是为在本发明的P-NAP中实现对称路由选择所需执行操作的流程图中的各个步骤。第一步骤188是确定路由选择策略的步骤。其应被理解的是,该P-NAP必须在与在互联网协议组内所接受的实践一致的策略准则和路由选择策略范围内来进行操作。存在有阐明了此类策略准则的路由选择策略计划或文档。
流程图中用于确定提供商路由选择策略的第一步骤188涉及对这些准则的开发。根据本发明的P-NAP,其所必须确定的主要路由选择策略准则是所有P-NAP提供商的从“主”到“次”再到“第三”如此等等的“缺省”提供商的顺序。根据此顺序,两个不同的LOCAL_PREF(本地优选级)将被添加到每个提供商上。其应被理解的是在BGP4协议中,LOCAL_PREF属性是一个,如果没有被具体设定,缺省为100的数值。添加到来自某个特定位置的路由的LOCAL_PREF属性的值越高,则该路由的优选级就越大。
第一组LOCAL_PREF值是被添加到本发明所确定的与该特定提供商直接相连的路由上的数值。第二组LOCAL_PREF值则被指派给由该提供商所发送的,但被发现并未与该提供商直接相连的路由。这些路由将变为“缺省”路由。第二组LOCAL_PREF值必须从低于第一组中最低值的一个值开始。第一组LOCAL_PREF值按降序排列,这是因为,如上结合图10所说明的,当某个目的地被连接到两个P-NAP提供商上的时候,我们希望选择排位顺序最高的那个P-NAP提供商。第二组LOCAL_PREF值也按降序排列,这是因为,如上结合图10所说明的,当某个目的地没有被连接到P-NAP提供商时,我们希望选择排位顺序最高的那个“缺省”P-NAP提供商。
上述排序列表及其相关的LOCAL_PREF值可以具有如下的形式:
顺序      提供商   LOCAL PREF    LOCAL PREF
1.        UUNet     100            75
2.        Sprint    99             50
3.        MCI       98             25
4.        ANS       95             20
5.    AGIS          90    15
6.    Netcom        85    10
7.    PSI           80    5
上表中的第一LOCAL_PREF列是指派给那些被发现与每个提供商直接相连的路由的LOCAL_PREF属性。而其中的第二或最右LOCAL_PREF列则是被指派给来自每个提供商的所有其它路由的LOCAL_PREF属性。
上述顺序随后被AS_PATH长度算法185用来确定所要利用路由发送给每个P-NAP提供商的所要增加AS的合适数目,并由此来对到该P-NAP的入站路由选择进行控制。
不与本发明具体相关的其它路由选择策略实现方案包括例如以下各项:1)使用4.0版的BGP;2)不向任何提供商发送或从其接收互联网缺省路由(0.0.0.0);以及3)不向P-NAP提供商发送从其它P-NAP提供商接收到的路由。
图11所示流程图中的第二步骤189负责产生用于每个P-NAP提供商的“基本”路由器配置。这些基本配置(基本配置加上由本发明的处理所增加的其它配置)被存储在图1所示网络管理服务器144上以及各路由器105,106和116中。用于某特定P-NAP提供商的基本配置将只被存储在与该P-NAP提供商相连的路由器上。此步骤的主要目的是将第一步骤188的路由选择策略准则变换为合适的路由器配置命令。在该基本配置的合适位置,将增加一些标志以将该基本路由器配置与另外步骤所增加的配置命令联系在一起。
对于每个P-NAP提供商,用于实现上述路由选择策略准则的该基本路由器配置可以具有如下的形式:
UUNet
router bgp 6993
neighbor 137.39.136.137 remote-as 701
neighbor 137.39.136.137 version 4
neighbor 137.39.136.137 distribute-list 1 out
neighbor 137.39.136.137 filter-list 10 out
neighbor 137.39.136.137 distribute-list 1 in
neighbor 137.39.136.137 route-map UUNET-LOCAL-PREF in
route-map UUNET-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref<Filled in by first step 188>
route-map UUNET-LOCAL-PREF permit 20
match as-path 1
set local-pref <Filled in by first step 188>
Sprint
router bgp 6993
neighbor 144.228.96.13 remote-as 1239
neighbor 144.228.96.13 version 4
neighbor 144.228.96.13 distribute-list 1 out
neighbor 144.228.96.13 route-map SPRINT-ASPATH-PREPEND out
neighbor 144.228.96.13 distribute-list 1 in
neighbor 144.228.96.13 route-map SPRINT-LOCAL-PREF in
route-map SPRINT-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend <Filled in by fourth step 191>
route-map SPRINT-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref <Filled in by first step 188>
route-map SPRINT-LOCAL-PREF permit 20
match as-path 1
set local-pref <Filled in by first step 188>
MCI
router bgp 6993
neighbor 204.70.233.5 remote-as 3561
neighbor 204.70.233.5 distribute-list 1 out
neighbor 204.70.233.5 route-map MCI-ASPATH-PREPEND out
neighbor 204.70.233.5 distribute-list 1 in
neighbor 204.70.233.5 route-map MCI-LOCAL-PREF in
route-map MCI-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend <Filled in. by fourth step 191>
route-map MCI-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref <Filled in by first step 188>
route-map MCI-LOCAL-PREF permit 20
match as-path 1
set local-pref <Filled in by first step 188>
ANS
router bgp 6993
neighbor 199.221.63.89 remote-as 1331
neighbor 199.221.63.89 version 4
neighbor 199.221.63.89 distribute-list 1 out
neighbor 199.221.63.89 route-map ANS-ASPATH-PREPEND out
neighbor 199.221.63.89 distribute-list 1 in
neighbor 199.221.63.89 route-map ANS-LOCAL-PREF in
route-map ANS-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend <Filled in by fourth step 191>
route-map ANS-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref<Filled in by first step 188>
route-map ANS-LOCAL-PREF permit 20
match as-path 1
set local-pref <Filled in by first step 188>
AGIS
router bgp 6993
neighbor 206.250.249.9 remote-as 4200
neighbor 206.250.249.9 version 4
neighbor 206.250.249.9 distribute-list 1 out
neighbor 206.250.249.9 route-map AGIS-ASPATH-PREPEND out
neighbor 206.250.249.9 distribute-list 1 in
neighbor 206.250.249.9 route-map AGIS-LOCAL-PREF in
route-map AGIS-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend <Filled in by fourth step 191>
route-map AGIS-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref<Filled in by first step 188>
route-map AGIS-LOCAL-PREF permit 20
match as-path 1
set local-pref<Filled in by first step 188>
Netcom
router bgp 6993
neighbor 206.215.28.1 remote-as 2551
neighbor 206.215.28.1 version 4
neighbor 206.215.28.1 distribute-list 1 out
neighbor 206.215.28.1 route-map NETCOM-ASPATH-PREPEND out
neighbor 206.215.28.1 distribute-list 1 in
neighbor 206.215.28.1 route-map NETCOM-LOCAL-PREF in
route-map NETCOM-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend <Filled in by fourth step 191>
route-map NETCOM-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref <Filled in by first step 188>
route-map NETCOM-LOCAL-PREF permit 20
match as-path 1
set local-pref <Filled in by first step 188>
PSI
router bgp 6993
neighbor 204.6.107.1 remote-as 174
neighbor 204.6.107.1 version 4
neighbor 204.6.107.1 distribute-list 1 out
neighbor 204.6.107.1 route-map PSI-LOCAL-PREF in
neighbor 204.6.107.1 distribute-list 1 in
neighbor 204.6.107.1 route-map PSI-ASPATH-PREPEND out
route-map PSI-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend <Filled in by fourth step 191>
route-map PSI-LOCAL-PREF permit 10
match as-path <Filled in by third step 190>
set local-pref<Filled in by first step 188>
route-map PSI-LOCAL-PREF permit 20
match as-path 1
set local-pref <Filled in by first step 188>
可以看出对于每种P-NAP提供商基本配置,其均具有如下的几种语句:
neighbor...remote-as:其定义了与P-NAP对等的P-NAP提供商的远程自主系统。
neighbor...version4:此语句请求近邻通话4.0版BGP。
neighbor...distribute-list 1 out:此语句确保了该P-NAP不将互联网缺省路由(0.0.0.0)发送到某个P-NAP提供商。
neighbor...distribute-list 1 in:此语句确保了该P-NAP不接收来自某个P-NAP提供商的互联网缺省路由(0.0.0.0)。
neighbor...route-map<Provider>-LOCAL-PREF in:此语句调用后面以“route-map<Provider>-LOCAL-PREF permit 10”开始的一组语句。后面这些语句定义了应用到来自此P-NAP提供商的路由的LOCAL_PREF值。
neighbor...route-map<Provider>-ASPATH-PREPEND out:此语句调用后面以“route-map<Provider>-ASPATH-PREPEND permit 10”开始的一组语句。后面这些语句定义了将应用到发送给此P-NAP提供商的路由的AS添加。
route-map<Provider>-LOCAL-PREF permit 10:这一段route-map(permit 10对照于permit 20)将合适的本地优选级(来自上述表格)添加到被发现直接与当前提供商相连的路由上。其中“set local-pref”’值是在从上述表格中从LOCAL_PREF(1)列中产生出该种基本路由器配置时填入的。“match as-path”属性则是在第三步骤190中填入的。此“match”从句将取用用于此提供商的所有“拒绝”AS号,并且当被应用到路由时,不与任何“拒绝”语句相匹配的任一路由均将被赋予该本地优选级。如上所述,根据本发明,不与此提供商的任何“拒绝”语句相匹配的任意路由将是当前提供商的那些直接相连路由。
route-map<Provider>-LOCAL-PREF permit 20:这一段route-map将合适的本地优选级(来自上述表格)添加到所有那些不满足上一段路由映射要求的路由上。即,所有那些在前一段路由映射中被拒绝的路由,或所有那些没有与当前提供商直接相连的路由。上述操作是通过将所有不满足上一段路由映射的路由应用于此段路由映射来实现的。其中“set local-pref”值是在从上述表格中从LOCAL_PREF(2)列中产生出基本路由器配置时填入的。
route-map<Provider>-ASPATH-PREPEND permit 10:  这一段route-map用于为发送到某特定提供商的每条路由增加合适数目的P-NAP AS号。“set as-path prepend”值是通过第四步骤191填入的。而“match as-path 10”语句则表示将此数值应用于所有与数值10所表示的AS_PATH相匹配的路由。所有其它的路由则被隐含地拒绝。对于P-NAP,“as-path 10”是所有P-NAP和P-NAP用户AS号的列表。因此,该路由映射同时解决了两个问题:(1)其只允许P-NAP或P-NAP用户的路由被广告给提供商;以及(2)其对于这些路由中的每条路由均添加了的合适数目的添加的AS。
图11流程图中的第三步190负责为每个提供商产生AS号的“拒绝”列表,将此列表转换成合适的路由器配置命令,将此命令添加给基本路由器配置,并用AS列表指针值填充基本配置(上文用<通过第三步190填充>来表示)。
假定用于每个提供商的AS号的“拒绝”列表由如上所述的所有提供商AS号和例外AS号的合集组成,其中已删除当前提供商的AS号,用于UUNet的所得列表可以是:
1239 1785 1790 1791 1792 1793 1794 1795 400 4001 4002 4003 4004
4004 6174
6175 6176 6177 1800 1789 1784 6449 6637 3650 3651 3652 3972 3973
4950 4951
6153 6154 6242 3447 7882 4000 4999 6367 1801 5778 7308
3561 4286 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291
4292 4293
4294 4295 4296 4297 4298 145 3378
1673 1321 1326 1327 1328 1329 1330 1331 1332 1333 1334 1662 1671
1322 1323
1660 1335 1667 1670 1672 1674 1675 1683 1686 1687 1694 1324 1325
1665 1677
174 1280 2554 8013
4200 4993
2551 6996
2685 1 3914 568 6456 5761 4136 6113 286 6172 293 297 2041 4006
1740 3703 2828
用于UUNet的所得“拒绝”配置命令可以是:
ip as-path access-list 20 deny_1239_
ip as-path access-list 20 deny_1785_
ip as-path access-list 20 deny_1790_
ip as-path access-list 20 deny_1791_
ip as-path access-list 20 deny_1792_
ip as-path access-list 20 deny_1793_
ip as-path access-list 20 deny_1794_
ip as-path access-list 20 deny_1795_
ip as-path access-list 20 deny_4000_
ip as-path access-list 20 deny_4001_
ip as-path access-list 20 deny_4002_
ip as-path access-list 20 deny_4003_
ip as-path access-list 20 deny_4004_
ip as-path access-list 20 deny_4005_
ip as-path access-list 20 deny_6174_
ip as-path access-list 20 deny_6175_
ip as-path access-list 20 deny_6176_
ip as-path access-list 20 deny_6177_
ip as-path access-list 20 deny_1800_
ip as-path access-list 20 deny_1789_
ip as-path access-list 20 deny_1784_
ip as-path access-list 20 deny_6449_
ip as-path access-list 20 deny_6637_
ip as-path access-list 20 deny_1238_
ip as-path access-list 20 deny_1801_
ip as-path access-list 20 deny_3447_
ip as-path access-list 20 deny_3650_
ip as-path access-list 20 deny_3651_
ip as-path access-list 20 deny_3652_
ip as-path access-list 20 deny_3972_
ip as-path access-list 20 deny_3973_
ip as-path access-list 20 deny_4950_
ip as-path access-list 20 deny_4951_
ip as-path access-list 20 deny_4999_
ip as-path access-list 20 deny_5778_
ip as-path access-list 20 deny_6153_
ip as-path access-list 20 deny_6154_
ip as-path access-list 20 deny_6187_
ip as-path access-list 20 deny_6242_
ip as-path access-list 20 deny_6367_
ip as-path access-list 20 deny_7308_
ip as-path access-list 20 deny_7882_
ip as-path access-list 20 deny_1660_
ip as-path access-list 20 deny_1665_
ip as-path access-list 20 deny_1667_
ip as-path access-list 20 deny_1670_
ip as-path access-list 20 deny_1672_
ip as-path access-list 20 deny_1674_
ip as-path access-list 20 deny_1675_
ip as-path access-list 20 deny_1677_
ip as-path access-list 20 deny_1683_
ip as-path access-list 20 deny_1686_
ip as-path access-list 20 deny_1687_
ip as-path access-list 20 deny_1693_
ip as-path access-list 20 deny_1694_
ip as-path access-list 20 deny_1681_
ip as-path access-list 20 deny_1673_
ip as-path access-list 20 deny_1321_
ip as-path access-list 20 deny_1326_
ip as-path access-list 20 deny_1327_
ip as-path access-list 20 deny_1328_
ip as-path access-list 20 deny_1329_
ip as-path access-list 20 deny_1330_
ip as-path access-list 20 deny_1331_
ip as-path access-list 20 deny_1332_
ip as-path access-list 20 deny_1333_
ip as-path access-list 20 deny_1334_
ip as-path access-list 20 deny_1662_
ip as-path access-list 20 deny_1671_
ip as-path access-list 20 deny_1322_
ip as-path access-list 20 deny_1323_
ip as-path access-list 20 deny_1324_
ip as-path access-list 20 deny_1325_
ip as-path access-list 20 deny_1335_
ip as-path access-list 20 deny_4200_
ip as-path access-list 20 deny_4993_
ip as-path access-list 20 deny_2551_
ip as-path access-list 20 deny_6996_
ip as-path access-list 20 deny_3561_
ip as-path access-list 20 deny_4286_
ip as-path access-list 20 deny_4281_
ip as-path access-list 20 deny_4282_
ip as-path access-list 20 deny_4283_
ip as-path access-list 20 deny_4284_
ip as-path access-list 20 deny_4285_
ip as-path access-list 20 deny_4286_
ip as-path access-list 20 deny_4287_
ip as-path access-list 20 deny_4288_
ip as-path access-list 20 deny_4289_
ip as-path access-list 20 deny_4290_
ip as-path access-list 20 deny_4291_
ip as-path access-list 20 deny_4292_
ip as-path access-list 20 deny_4293_
ip as-path access-list 20 deny_4294_
ip as-path access-list 20 deny_4295_
ip as-path access-list 20 deny_4296_
ip as-path access-list 20 deny_4297_
ip as-path access-list 20 deny_4298_
iP as-path access-list 20 deny_145_
ip as-path access-list 20 deny_3378_
ip as-path access-list 20 deny_174_
ip as-path access-list 20 deny_1280_
ip as-path access-list 20 deny_2149_
ip as-path access-list 20 deny_2554_
ip as-path access-list 20 deny_8013_
ip as-path access-list 20 deny_1290_
ip as-path access-list 20 deny_2685_
ip as-path access-list 20 deny_1_
ip as-path access-list 20 deny_3914_
ip as-path access-list 20 deny_568_
ip as-path access-list 20 deny_6456_
ip as-path access-list 20 deny_5761_
ip as-path access-list 20 deny_4136_
ip as-path access-list 20 deny_6113_
ip as-path access-list 20 deny_286_
ip as-path access-list 20 deny_6172_
ip as-path access-list 20 deny_293_
ip as-path access-list 20 deny_297_
ip as-path access-list 20 deny_2041_
ip as-path access-list 20 deny_4006_
ip as-path access-list 20 deny_1740
ip as-path access-list 20 deny_3703_
ip as-path access-list 20 deny_2828_
因为上述列表编号为“20”,所以“route-map UUNET-LOCAL-PREEpermit10”中的所得“match as-path”语句将获得值20。因此,该语句的形式将为“match as-path 20”。
图11流程图中的第四步191负责为每个提供商获取AS路径添加的数目,并填入<Provider>-ASPATH-PREPEND route-map的“as-pathprepend”语句。“as-path prepend”语句期望多个当前自主系统的AS号作为参数。因为UUNet的AS添加的数目为零,因此,UUNet并不具有一个ASPATH-PREPEND路由映射。根据上面给出的AS号增加的例子,Sprint将有一个添加。因此,“as-path prepend”语句的形式将为:
as-path prepend 6993
其中6993是当前P-NAP的AS号。
使用先前所述的AS路径添加值,剩余的提供商as-path prepend语句的形式如下:
MCI:as-path prepend 6993 6993 6993
ANS:as-path prepend 6993 6993 6993 6993
AGIS:as-path prepend 6993 6993 6993 6993 6993
Netcom:as-path prepend 6993 6993 6993 6993 6993 6993
PSI:as-path prepend 6993 6993 6993 6993 6993 6993 6993
图11流程图中的第五步192是设置P-NAP提供商的LOCAL_PREE值的步骤。该步骤192在连接接通时出现,并包括通过电话或电子邮件通知P-NAP提供商应当进行整理以将它们的用于P-NAP连接的BGP4 LOCAL_PREF设置成大于它们的用于在NAP上接收的路由的LOCAL_PREF的值。一旦设置该LOCAL_PREF,在提供商被连接到P-NAP期间就不再管它。
图11流程图中的第六步193是将每个提供商专用路由器配置应用于连接该提供商的路由器。该步骤193所要做的是将在先前四个步骤188、189、190、191中产生的路由器配置文件应用于连接到每个P-NAP提供商的路由器。在此公开的优选实施例中,驻留在网络管理机架144、145(如图3所示)中的ASsimilator算法180通过图11所示的下述四个步骤188、189、190、191产生路由器配置文件,并且如第六步193中所示(图11),将产生的路由器配置文件应用于核心路由器105、106、116(在图3和4中表示)。
图11流程图中的第七步194是使路由器从提供商获取完整路由。这在路由器配置被装入核心路由器105、106、116并且在P-NAP和P-NAP提供商之间完成BGP4协议协商时通过BGP4来完成。
图11流程图中的第八步195是使路由器将P-NAP提供商配置文件应用于路由。在优选实施例中,利用Cisco路由器,这通过在先前步骤188、189、190、191和192中产生的路由器配置命令来完成。
图12是根据本发明原理的流程图,表示在路径验证程序184(图11)中包括的详细步骤。通过已知的“Routebot”软件应用来实现路径验证。Routebot是驻留在网络管理机架144、145中的一个软件程序。Routebot利用已知的提供商AS数据181和例外AS数据182数据库,两者都在图11中表示。
路径验证程序在图12的流程图中以方法步骤的形式表示。该程序开始于标有“开始”的端点200。方框201表示第一步,标有“在每个P-NAP提供商网络中寻找一个traceroute服务器”。再次参见图2,优选实施例的P-NAP100具有七个提供商,即Sprint、MCI、UUNet、Netcom、PSI、AGIS和ANS。必须在这些提供商中的每一个提供商中发现一个支持traceroute的服务器,该服务器允许外部实体使用它在互联网中确定从它到其它目的地的路径。现在,可以在http://www.broardwatch.com/isp/trac/htm上找到关于公用traceroute服务器位置的很好的资料。一旦在每个P-NAP提供商中定位一个可接受的traceroute服务器,该服务器地址被配置到Routebot软件中。图12中所述的其余步骤是由Routebot所用的算法以更新例外AS数据数据库182。
图12步骤序列的下一个步骤用方框202表示,标有“为每个提供商”。方框202表示将为图2所示和上面列出的每个提供商进行的路径验证程序。该程序的其余步骤中,术语“提供商”用于表示当前提供商。在该步骤序列中的下一个步骤用标有“prtraceroute到提供商traceroute服务器”的方框203表示。因此,方框203表示命令“prtraceroute”是从服务器网络Mgmt-1 144(图3)到当前提供商traceroute服务器的请求。显然“prtraceroute”是“traceroute”应用的增强版本,该程序将AS号添加到每一跳点上的。在优选实施例中,这种用于跟踪到当前Sprint traceroute服务器的命令将返回下述输出:
1  AS6993 border1a.e3-corplan.sea.P-NAP 206.253.194.60[I]
2  AS6993 core1.f1-0-fddi1.sea.P-NAP.net 206.253.192.65[I]
3  AS 1239  sl-sea-6-H10/0-T3.sprintlink.n    144.228.96.13 [?]
4  AS 1239  144.228.90.9                      144.228.90.9  [I]
5  AS 1790  144.232.8.53                      144.232.8.53  [?]
6  AS 1239  sl-fw-11-F0/0.sprintlink.net      144.228.30.11 [?]
7  AS 1239  sl-igsi-2-S0-T1.sprintlink.net    144.228.131.46[I]
8  AS 1239  develop.iglobal.net               207.43.170.13 [I]
第一列是跳点编号;第二列是当前跳点的AS号;第三列是当前跳点的IP地址或域名(如果可用);第五列是当前跳点的IP地址;第六列是不用于本发明目的管理标志。该输出定义了一个分组所采用的从P-NAP到位于Sprint内的traceroute服务器的路径。该输出的AS路径将是“6993 6993 1239 1239 1790 1239 1239 1239”。
下一步用标有“确定在AS路径中是否出现多个P-NAP提供商”的方框204表示。因此,方框204将比较由traceroute返回的AS路径和提供商AS数据数据库181。该步骤的目的是确定在AS路径中是否出现多个P-NAP提供商。在上述例子中,6993是P-NAP、1239是Sprint和1790是Sprint。因此,当从P-NAP跟踪到Sprint上的一个目的地时,该例子仅经过Sprint。方框204的步骤前进到判决块205。判决块205询问“在AS路径中有多个P-NAP提供商?”,如果为否(和上例的情况相同),则该方法程序前进到方框206。
方框206的步骤被标识为“使用提供商traceroute服务器以traceroute返回P-NAP并运行prtraceroute”。再次参见方框203的步骤,在该步骤中,确定从P-NAP到提供商traceroute服务器的输出路径。在方框206中,确定反向路径并将列出从提供商traceroute服务器返回P-NAP的路径。因为在大多数情况下,提供商traceroute服务器并不运行“prtraceroute”,提供商traceroute服务器的输出必须由“prtraceroute”处理。由prtraceroute处理之后的从Sprint traceroute服务器返回P-NAP的输出的例子可以如下:
1 AS1239  backbone.iglobal.net            207.43.170.1      [I]
2 AS1239  sl-fw-14-S1/5-T1.sprintlink     144.228.134.25    [I]
3 AS1239  sl-fw-1-F0/0.sprintlink.net     144.228.30.1      [?]
4 AS1790                                  144.232.8.54      [?]
5 AS1239  sl-sea-6-F0/0.sprintlink.ne     144.228.90.6      [I]
6 AS1239  sl-internap-1-s0-T3.sprintl     144.228.96.14     [?]
7 AS6993  border1a.f0-fddi1.sea.P-NAP     206.253.192.68    [I]
8 AS6993 hercules.internap.com            206.253.194.98    [I]
该输出的AS路径将为“1239 1239 1239 1790 1239 1239 69936993”。下一步用方框207表示,标有“确定在AS路径中是否出现多个P-NAP提供商”。除了工作在从提供商返回P-NAP的路径上之外,方框207的这个步骤与上述方框204中的步骤相同。在方框207的步骤之后,有另一个判决块208。与前一判决块205相同,该判决块208询问“在AS路径中有多个提供商?”。如果是,该判决块前进到第二判决块210。该判决块210询问“当前到P-NAP的提供商连接是否有效?”。如果有效,该方法前进到用方框211表示的另一个方法步骤。如果因为某种原因,当traceroute有效时到P-NAP的提供商连接被断开,结果将是错误的,因为我们将在冗余P-NAP提供商上被路由选择直到提供商连接被再次启动。在这种情况下,不存在问题。但是,如果到P-NAP的提供商连接被接通并且我们正在此步骤上,则存在无法由Routebot自动解决的问题。方框211标有“向网络操作中心发送电子邮件”,因此,如果从P-NAP到提供商的路径是正确的,但是从提供商返回的路径是不正确的并且提供商连接当前是有效的,发送电子邮件以便可以人工分析并解决此问题。
返回第一判决块205,如果判决为是,前进到判决块212。因此,如果运行从P-NAP到提供商的traceroute,并且AS路径通过多个P-NAP提供商时,我们在判决块212上停止。具有多个提供商的prtraceroute的输出形式上可以为下述假想输出:
1 AS6993  borderla.e3-corplanl.sea.P-NAP    206.253.194.60 [I]
2 AS6993  core2.f1-0-fddi1.sea.P-NAP.net    206.253.192.66 [I]
3 AS701   906.Hssi4-0.GW2.SEA1.ALTER.NET    137.39.136.137 [?]
4 AS701   422.atml-0.cr2.seal.alter.net     137.39.13.82   [I]
5 AS701   110.Hssi-0.GW2.FFX1.Alter.Net     137.39.70.65   [I]
6 AS1239  sl-fw-11-F0/0.sprintlink.net      144.228.30.11  [?]
7 AS1239  sl-igsi-2-S0-T1.sprintlink.net    144.228.131.46 [I]
8 AS3914  develop.iglobal.net               207.43.170.13  [I]
用于此输出的AS路径是“6993 6993 701 701 701 1239 12393914”。因为将在提供商AS数据数据库181中发现701属于UUNet,并且将在提供商AS数据数据库181中发现1239属于Sprint,所以该AS路径通过多个P-NAP提供商。
判决块212询问“到P-NAP的提供商连接当前是否有效?”。如果回答为否,则可能可接受具有这种跟踪。如果提供商电路当前不可用,则P-NAP必须路由选择到当前“缺省”提供商上的目的地,并且上述跟踪输出将是最终结果。该程序前进到判决块213。该判决块213询问“其它提供商?”。如果答案为否(已经在此运行中测试所有P-NAP提供商),该程序在标有“结束”的端点214上停止。如果对判决块213的回答为是,则该方法返回方框202,在此在提供商列表中的下一个提供商上执行此算法。返回判决块208,如果输出为否,则该方法程序前进到判决块213,询问“其它提供商?”。如上所述,如果答案为否,该程序在标有“结束”的端点214上停止。并返回判决块210,如果答案为否,则前进到判决块213。
如果对判决块212的回答为是,则该程序前进到标有“开始搜索从目的地AS返回P-NAP AS的AS路径(从右到左)”的方框217。这是内循环的开始,该内循环将从右到左在AS路径中的每个AS号上运行。上面给出的列表从上到下被表示为线路1至8。然而,AS路径号应当按顺序从左到右被直观化。因此,使用上述AS路径(6993 6993701 701 701 1239 1239 3914),该循环将开始于最右边的AS号(3914)并顺序执行返回到最左边的AS号(6993)。对于从该步骤开始的每个AS号,该方法步骤程序前进到标有“确定当前AS是否来自P-NAP提供商”的方框218。因此,在提供商AS数据数据库181中查找当前的AS号以确定是否发现与一个P-NAP提供商AS号的匹配。从该步骤开始,该方法程序前进到标有“该AS属于一个P-NAP提供商吗?”的判决块220。如果答案为否,该程序前进到标有“路径中的其它AS号?”的判决块224。如果对判决块224的回答为是,则返回方框217的步骤,并在下一个AS号上运行前一步骤。如果对判决块224的回答为否,则该方法前进到标有“其它提供商?”的另一个判决块225。如果对判决块225的回答为否,该程序在标有“结束”的端点226上停止。如果对判决块225的回答为是,该程序返回方框202,在此为下一个提供商运行该算法。
如果对判决块220的回答为是,则该程序前进到标有“备份到你先前刚检测过的非提供商AS”的方框221。使用上述例子,对判决块220回答为“是”将出现在该程序处理完路径中的“3194”并已经前进到“1239”之后。在提供商AS数据数据库181中查找1239,将发现它被映射到Sprint。因此,方框221告诉该程序备份到前一AS号,在该例子中为3914。从方框221,该方法前进到标有“检查以确定该AS是否在例外AS数据库中存在”的方框222。因此,需要搜索例外AS数据数据库182以确定该AS(在该情况下为3914)是否在该数据库中存在。然后,该方法前进到标有“AS在例外AS数据库中存在吗?”的判决块223。在此,如果回答为是,则该AS号3914被ASsimilator算法180错误地添加到例外AS数据数据库181中。其原因在于如果一个AS号在例外AS数据数据库181中存在,则假定该AS号不直接附属于任一P-NAP提供商。在路由选择以上述例子中的方式出现的情况下,显然应当将业务直接发送给Sprint,而不是使用当前“缺省”的提供商UUNet。因此,如果AS3914被从例外AS数据库182中删除,因为它的路由将添加有1239(因为它们具有一个Sprint连接),该路由选择将把AS3914视为被直接连接到Sprint并经Sprint路由选择。如果对判决块223的回答为是,则该方法前进到方框216,在此从例外AS数据数据库182中删除不正确的AS号。然后,该方法前进到先前所述的判决块213。
如果对判决块223的回答为否,则该方法前进到标有“向网络操作中心发送电子邮件。存在一路由选择错误”的方框215。因此,存在一个必须通过人为干预解决的问题。该方法从方框215前进到先前所述的判决块213。
图13和14共同组成表示ASsimilator算法180(图11)详细步骤的流程图。现在参见图13,程序步骤开始于标有“开始”的端点230。标有“装入提供商AS数据”的第一个方框231表示该方法中的第一个步骤。该步骤从提供商AS数据数据库181中提取所有的提供商/AS映射,并将它们装入存储器。下一个步骤用方框232表示,标有“对于与每个提供商相关的列表中的每个AS”。该步骤标记一个双循环的开始,第一个循环遍历提供商AS数据数据库181中的每个提供商,第二个循环遍历当前与每个提供商相关的所有AS号。下一个步骤用方框233表示,标有“使用whois查找AS信息”。对于当前提供商中的当前AS号,使用一个互联网目录查找服务“whois”获取信息。如在请求注释(RFC)954中定义的,该“whois”服务允许一台机器上的用户获得远程系统上的信息。当为AS信息运行“whois”时,远程系统名称为rs.internic.net,是由称作InterNIC的机构即互联网信息中心管理的一台服务器。在方框233的步骤之后,该方法前进到判决块234,标有“AS信息是否对应于提供商?”。一个“whois”查询将返回如下信息:
Sprint(ASN-ICM-INRIA)
政府系统部
Woodland公园路13221号
Herndon,VA 22071
自主系统名称:SprintLink
自主系统编号:1239
联络人:
Geol,Vab(VAB-US) vgoel@SPRINT.NET
703-689-6249
备用联系:
Sprint 网络信息和支持中心(SPRINT-NOC)noc@sprintlink.net
(800)669-8303
1997年3月20日最后一次更新记录。
1997年8月7日东部时间04:30:06最后一次更新数据库。
然后为当前提供商的名称对与用于当前AS号的记录相类似的一个记录进行搜索。如果在该记录中不能发现当前提供商的名称,则对判决块234的回答为否,该方法前进到标有“从用于提供商的提供商AS数据中删除AS”的方框235。无论何种原因,该AS号先前被登记到当前提供商,但它不再被如此登记,所以需要从提供商AS数据数据库181中删除该AS号。然后,该方法将前进到标有“其它的AS号需要处理”的另一个判决块236。如果对判决块234的回答为是,该方法也前进到判决块236。在判决块236上,如果有用于当前提供商和其它提供商的其它AS号需要验证,对该块的回答为是,则该方法返回方框232。如果对判决块236的回答为否,则该程序刚刚完成验证所有的当前提供商/AS映射依旧正确的工作。该算法以这种方式工作以便提供商AS数据数据库181仅需要掌握在其首次运行时每个提供商直接连接的AS号。于是每次运行该算法时,首先验证数据,删除所有不正确的数据,然后添加新数据。
一旦对判决块236的回答为否,则该方法前进到方框237,标有“获取并处理来自每个提供商的完整路由表转储”。该程序中的该步骤到每个核心路由器105、106和116(图3)中,并在每个路由器中下载属于每条路由的所有AS PATH属性。然后由P-NAP提供商对AS路径列表排序并删除所有副本。所得列表的形式如下述部分列表:
1239 1 3749
1239 1 3790
1239 1 3801
1239 1 3909 3909
1239 1 4151
1239 1 4355
1239 1 4454
1239 1 4550
1239 1 4766 3559
1239 1 4766 3559 4060
1239 1 4766 4660
1239 1 49
1239 1 4926
1239 1 4926 4270 5692
1239 1 5000 5000 5560 5560 5560 5560 5560 5560 5560
1239 1 5388
1239 1 5494
1239 1 5623
1239 1 5623 6905
1239 1 5684
1239 1 5691
1239 1 5691 35
1239 1 5723
1239 1 5727 2713 2915
1239 1 5727 4631
1239 1 5727 4742 4742
1239 1 6
1239 1 6059
1239 1 6203
    ...
在当前时间,存在每次运行该算法时将处理的9209个路径。此数目可以每小时改变一次。
从方框237的步骤,该程序前进到标有“为转储的每个AS_PATH”的方框238。方框237表示一个循环,它将在上述从路由选择表转储的每个AS路径上运行。从方框238的步骤,该方法前进到方框240,标有“为AS_PATH中的每个AS(从左到右,前向路径)”。方框240表示在每条AS路径中,循环将在每条路径中的每个AS号上运行,在该路径中从左到右。因此,如果一条路径为“1239 1 6203”,第一个被处理的AS号是“1239”,最后一个被处理的AS号是“6203”。注意到这与路径验证程序184(图11)的运行方法恰好相反。路径验证程序184在AS路径中从右向.左运行。从方框240的步骤,该程序前进到标有“AS_PATH中的第一个AS?”的判决块241。如果这是在当前AS路径中已经被处理过的第一个AS号,则对该判决块141的回答将为是。如果是,该程序前进到方框245,标有“在提供商AS数据中查找AS以获取广告该AS_PATH的提供商”。任一AS路径中的第一个AS将是一个P-NAP提供商的直接连接AS号。因此,通过在提供商AS数据数据库181中查找一条AS路径的第一个AS号,我们得知哪一个提供商用此AS路径广告该路由。然后,该程序前进到标有“AS_PATH中其它的AS号?”的判决块247。因此,当从左到右移动通过当前路径中的AS号时,如果存在需要处理的其它AS号,对该判决块的回答将为是,并且该程序返回方框240。如果在当前AS路径中不存在其它AS号,则对判决块247的回答为否,并且该程序前进到标有“其它AS_PATH?”的判决块248。如果存在需要处理的来自路由选择转储的其它AS路径,则对判决块248的回答为是,并且该程序返回方框238。
如果对判决块241的回答为否,该程序前进到标有“使用whois查找AS信息”的方框242。以与上述验证已经存在的提供商AS数据数据库181信息的相同方式,使用“whois”查找每条AS路径中除第一个之外的每个AS,并在返回的记录中寻找当前提供商的名称(当查找提供商AS数据数据库181中的第一个AS时发现该名称)。从该步骤,该程序前进到判决块243,标有“AS信息是否对应于AS_PATH提供商?”。如果在最后得到的“whois”查找记录中该提供商名称被匹配,则对该判决块243的回答为是,并且该程序前进到方框244,标有“向用于提供商的提供商AS数据添加AS,如果它不存在”。因此,如果在当前路径中当前AS号的“whois”记录中发现当前的提供商,则当前AS号作为当前提供商的一部分被添加到提供商AS数据数据库181中。然后如上所述该程序前进到判决块247。返回判决块243,如果当前AS号不对应于一个提供商,因此对判决块243的回答为否,则该程序前进到标有“递增专用于该AS号的计数器”的方框246。然后如上所述该程序前进到判决块248。因此,如果未发现当前AS号属于一个提供商,则可以停止对该AS路径的处理。本发明的程序仅涉及属于P-NAP提供商的AS号。为该AS号/提供商对保留一个计数器以在ASsimilator中实施该试探式机制,在该ASsimilator中紧跟在三个以上的P-NAP提供商之后的所有AS被视为与提供商在NAP上对等,因此应归入例外AS数据数据库182。
返回判决块248,如果该系统已经处理来自路由选择转储的所有AS路径,则该程序前进到图14,并前进到标有“为具有一个计数器的每个AS”的方框250,在此确定所遇到的哪个非提供商AS号应当被添加到例外AS数据数据库182。从方框250,该程序前进到标有“计数器>3”的判决块251。因此,如果对于当前遇到的AS号,如果发现它连接到三个以上的提供商,则对判决块251的回答为是,该程序前进到标有“将AS添加到例外AS数据”的方框252。如果当前AS被连接到三个以上的P-NAP提供商,则应当将其添加到例外AS数据数据库182。然后该程序在标有“结束”的端点254上停止。如果对判决块251的回答为否,该程序前进到标有“具有一个计数器的其它AS号?”的另一个判决块253。如果遇到其它的AS号,则对判决块253的回答为是,该程序返回方框250。如果在提供商AS号之后未立刻遇到其它AS号,则对判决块253的回答为否,该程序在标有“结束”的端点254上停止。
图15是表示确定要添加到广告给每个提供商的路由的P-NAP AS号的数目的程序所用步骤的流程图。该流程图是关于图11的AS_PATH长度算法185的细节。该程序开始于标有“开始”的端点260。第一步是标有“对于每个提供商”的方框261。这标志一个循环的开始,该循环将在每个P-NAP提供商(称为提供商)上执行。然后该程序前进到标有“转到任一公用NAP并从提供商获取一个样本P-NAP路由”的方框262。存在位于NAP上的公用服务器,其允许根据在NAP上与不同提供商对等的服务器的判断方法来查看任何一个互联网路由。因此,原理在于查看由P-NAP广告给一个提供商然后从该提供商广告给该公用服务器的一个路由。在本发明的P-NAP中,存在一个TCP/IP路由,206.253.192.0/19,该路由被广告给每个P-NAP提供商,然后再广告给NAP。根据NAP的判断方法,该路由及其相关AS路径(每个提供商一条路径)的形式如下:
用于206.253.192.0/19的BGP路由选择表项目,版本1013580
701  6993
4200 6993 6993 6993 6993 6993 6993 6993
1239 6993 6993
2551 6993 6993 6993 6993 6993 6993 6993 6993
3561 6993 6993 6993 6993
1673 1331 6993 6993 6993 6993 6993
174 6993 6993 6993 6993 6993 6993 6993 6993 6993
上述项目是运行该当前算法并且已经发现合适数目的AS路径添加之后路由的形式。可到诸如在 http://nitrous.digex.net上发现的可公用的互联网路由服务器上找到如上所述的路由选择表项目。在确定你想在路由服务器网络中何地查询一个路由选择项目之后(一般在一个公用NAP上),你只需输入你想要验证的路由并等待响应。假设在一条AS路径添加之前用于路由206.253.192.0/19的AS路径的下述假想列表:
701 6993
1239 1661 6993
3561 3993
1673 1331 1211 1213 1214 1215 1216 1217 1218 6993
4200 6993
2551 6993
174  6993
在上述例子中,对应于701的路径是UUNet;1239是Sprint;3561是MCI;1673是ANS;4200是AGIS;2551是Netcom;174是PSI。方框262的步骤根据当前所分析的提供商采用上述AS路径中的一条路径。
然后该程序前进到方框263,标有“为该样本路由PAPL调用AS_PATH的长度”。因此,使用编程阵列,存在用于每个提供商的PAPL值,它是用于来自该样本路由的该提供商的AS路径的长度。然后,该程序前进到标有“更多提供商”的判决块264。如果有其它提供商需要处理,则该程序返回方框261。如果不存在更多提供商,则使用上述例子,用于每个提供商的PAPL值如下:
PAPL[UUNet]:     2
PAPL[Sprint]:    3
PAPL[MCI]:       2
PAPL[ANS]:       10
PAPL[AGIS]:      2
PAPL[Netcom]:    2
PAPL[PSI]:       2
当对判决块264的回答为否,并且如上所述填充用于每个提供商的PAPL值时,该程序前进到标有“按最高优选到最低优选的顺序(参见路由选择策略)为每个提供商获取PAPL值(PAPLO)”的方框265。这是我们开始两个循环中第一个循环时该程序中的点,该循环如图11第一步188中路由选择策略所定义的从最高优选到最低优选的顺序通过每个P-NAP提供商。再次参考先前所示的为本发明的P-NAP而存在的提供商的顺序:
1.  UUNet
2.  Sprint
3.  MCI
4.  ANS
5.  AGIS
6.  Netcom
7.  PSI
在方框265开始处理的第一个提供商是UUNet;第二个是Sprint;如此直到PSI。用于当前提供商的PAPL值被移入一个称作PAPLO的临时变量。然后,该程序前进到方框266,标有“为每个其它提供商获取PAPL值(PAPLI),此提供商不包括在主循环中已经执行过的提供商”。因此,该内循环通过除当前提供商之外的所有其它提供商,并跳过在第一循环中已经被通过的提供商。因此,第一次通过外循环,UUNet是外循环提供商,Sprint、MCI、ANS、AGIS、Netcom和PSI是内循环提供商。第二次通过外循环,Sprint是外循环提供商,MCI、ANS、AGIS、Netcom和PSI是内循环提供商。注意UUNet不是内循环提供商,因为此时它已经被通过外循环,因而在内循环中不被使用。该程序继续直到外循环已经通过所有的P-NAP提供商。在方框266内,每次通过内循环,当前内循环提供商PAPL编号被移入一个临时变量PAPLI。
然后,该程序前进到标有“PAPLO≥PAPLI吗?”的判决块267。因此,用于当前外循环提供商的PAPL值是否大于用于当前内循环提供商的PAPL值?如果对判决块267的回答为否,则该程序返回方框266以处理下一个内循环提供商。如果外循环提供商的PAPL值小于内循环提供商的PAPL值,则不需要任何处理,因为外循环在控制主顺序,应牢记AS路径越小越优选。因此,如果外循环提供商当前的值为2,则它比具有值为4的内循环提供商更优选,不需要任何处理,因为外循环提供商被期望具有更小的AS路径长度。
如果对判决块267的回答为是,则该程序前进到方框268。在该点上,外循环提供商被期望更优选,但当前内循环提供商具有更小的AS路径长度,因此当前是优选的。这必须被修正以便较不优选的内循环提供商获得较大的AS路径长度。使用方框268标记的公式“PAPLI=PAPLO+1”执行这种方法。因此,如果外循环提供商具有的PAPLO值为4,并且内循环提供商具有的PAPLI值为2,则用于内循环提供商的PAPLI的新值将为4+1=5。现在该值5大于外循环提供商的值4,所以外循环提供商更优选,所期望的正是如此。然后,该PAPLI值作为当前提供商PAPL值被存储,所以下一次比较同一内循环提供商与另一个外循环提供商时,其值将为5而不是当前值2。一旦在方框268产生新PAPLI值,该程序前进到标有“内循环上更多的提供商?”的判决块270。如果在内循环上有其它提供商用于当前的外循环,则对判决块270的回答为是,然后该程序返回方框266以继续通过内循环上的下一个提供商。如果对判决块270的回答为否,该程序前进到标有“外循环上更多的提供商?”的另一个判决块271。如果在外循环上有其它提供商,则对判决块271的回答为是,该程序返回方框265。如果对判决块271的回答为否,该程序前进到方框272。
为了直观地表示该程序,使用上述例子的PAPL值。每个提供商每次通过外循环的PAPL值将如下所示:
外循环  UUNet  Sprint  MCI  ANS  AGIS  Netcom PSI
UUNet    2       3      3   10     3      3    3
Sprint           3      4   10     4      4    4
MCI                     4   10     5      5    5
ANS                         10     11     11   11
AGIS                               11     12   12
Netcom                                    12   13
PSI                                            13
一旦在方框272上,其标有“为每个提供商存储原PAPL与新PAPL之间的差值”,在完成两个循环之后,从当前PAPL值减去程序开始时的原PAPL值。将结果值存储在提供商AS_PATH预先计划数据数据库186中。因此,使用上述例子,要被存储在提供商AS_PATH预先计划数据数据库186中的值为:
UUNet
2-2=0
Sprint
3-3=0
MCI
4-2=0
ANS
10-10=0
AGIS
11-2=9
Netcom
12-2=10
PSI
13-2=11
然后,该程序在标有“结束”的端点273上停止。
图16是根据本发明原理的流程图,表示在确定第一步188(图11)的路由选择策略中包括的详细步骤。该程序开始于标有“开始”的端点274。方框275表示第一步,标有“确定基本路由选择策略”。该步骤确定将使用被接受的互联网/BGP4路由选择惯例的哪一个基本集。如先前所述,将考虑的项目是:1〕使用的BGP版本(版本4是当前唯一被接受的版本);2〕是否允许发送和接收互联网缺省路由(0.0.0.0);3〕是否在适当的位置上进行过滤以确保一个提供商的路由不被广告给另一个提供商。然后,该程序前进到标有“确定“缺省”提供商顺序”的方框276。这是确定所有P-NAP提供商中哪一个是第一、第二、第三等的步骤。然后,该程序前进到标有“确定启始LOCAL_PREF值”的方框277。这可以是任何正确的BGP4LOCAL_PREF值。可使用BGP4缺省值100。这仅是将要添加到所有提供商中最优选提供商的值。然后,该程序前进到标有“对于每个提供商按从最高优选到最低优选的顺序”的方框278。该步骤表示循环的开始,该循环将按方框276所确定的顺序为每个P-NAP提供商进行处理。然后,该程序前进到方框279,标有“为提供商确定一个LOCAL_PREF值,该值小于先前提供商的LOCAL_PREF或者小于第一次通过此循环时的启始LOCAL_PREF值”。因此,如果这是第一次通过此循环,应当选择LOCAL_PREF值使其小于来自方框277的启始LOCAL_PREF。如果这不是第一次通过此循环,应当选择LOCAL_PREF值使其小于指定给前一提供商的LOCAL_PREF值。然后,该程序前进到方框280,标有“在类别LOCAL_PREF(1)之下为提供商记录LOCAL_PREF”。如上所述,存在两组LOCAL_PREF值。第一组,LOCAL_PREF(1)被指定给发现被直接连接到每个提供商的那些路由。在此循环中,所有指定的LOCAL_PREF值将被添加到在此类别下的当前提供商。然后,该程序前进到标有“其它缺省提供商”的判决块281。如果在此循环中存在需要处理的其它提供商,则对判决块281的回答为是,然后该程序返回方框278。
如果对判决块281的回答为否,则该程序前进到标有“确定启始LOCAL_PREF小于最后一个LOCAL_PREF”的方框320。在该点上开始指定第二组LOCAL_PREF值,该值必须从低于第一组最低值的点上开始,因为这些值被指定给未直接连接到每个提供商的路由,并因此仅在“缺省”的情况下使用。该启始LOCAL_PREF的值必须小于在前一循环中指定的最后一个LOCAL_PREF。然后,该程序前进到标有“按最高优选到最低优选的顺序为每个提供商”的方框321。如前所述,这标志第二循环的开始,在该循环中每个P-NAP提供商的处理按最高优选到最低优选的顺序出现。然后,该程序前进到标有“为提供商确定一个LOCAL_PREF值,该值小于先前提供商的LOCAL_PREF,或者小于第一次通过此循环时的启始LOCAL_PREF”的方框322。该步骤以与上述方框279中完全相同的方式被处理,除了第一次通过此循环的开始点是方框320。然后,该程序前进到方框323,标有“在类别LOCAL_PREF(2)下为提供商记录LOCAL_PREF”。这是第二组LOCAL_PREF值(LOCAL_PREF(2)),它被指定给来自每个提供商的所有非直接连接的路由。在此循环中,所有被指定的LOCAL_PREF值被添加到在此类别下的当前提供商。然后,该程序前进到标有“其它缺省提供商”的判决块324。如果在此循环中有其它提供商需要处理,则对判决块324的回答为是,然后该程序返回方框321。如果对判决块324的回答为否,则该程序在端点325上结束。
该程序的结果是先前所讨论的一张表:
顺序   提供商   LOCAL PREF  LOCAL PREF
1       UUNet        100          75
2       Sprint       99           50
3       MCI          98           25
4       ANS          95           20
5       AGIS         90           15
6       Netcom       85           10
7   PSI    80    5
第三列列出指定给那些被发现直接连接到每个提供商的路由的LOCAL_PREF属性。
第四列列出指定给来自每个提供商的所有其它路由的LOCAL_PREF属性。
图17是表示产生和引用每个提供商专用基本配置中“拒绝”语句所包括步骤的流程图。该流程图详细说明图11标有“添加P-NAPLOCAL_PREF配置”的第三步190。图17的程序开始于标有“开始”的端点282。第一步用标有“对于每个提供商”的方框283表示。因此,这标志外循环的开始,该循环将为每个P-NAP提供商添加配置文件。然后,该程序前进到标有“获取唯一列表编号”的方框284。路由器配置中AS号的每个列表必须具有合适类型的一个唯一编号。在Cisco路由器中,AS列表必须具有1至99之间的一个唯一编号。如该步骤所要求的,因为它在为每个提供商的循环的上端,每个提供商AS列表必须具有一个唯一列表编号。然后该程序前进到标有“对于每个其它提供商”的方框285。这是内循环的开始,它遍历除当前提供商之外的所有提供商。因此,如果当前外循环在UUNet上执行,则内循环将遍历Sprint、MCI、ANS、Netcom、AGIS和PSI。外循环遍历或内循环遍历的顺序是不相关的,尽管因为已经根据路由选择策略将所有提供商排序,使得在感觉上尽可能地按相同顺序遍历它们。然后,该程序前进到标有“在提供商AS数据库中搜索与其它提供商相关的所有AS值”的方框286。因此,对于内循环的当前提供商,在提供商AS数据数据库181中查找与该提供商相关的所有AS号。然后,该程序前进到方框287,标有“使用唯一列表编号为每个AS值产生一个AS_PATH“拒绝”语句”。对于通过方框286中的查找返回的每个AS号,使用方框284的唯一列表编号产生一个AS_PATH拒绝语句。使用本发明的P-NAP,如果内循环的提供商当前是Netcom,所返回的AS号将为2551和6993。同时假设当前的唯一列表编号为20。使用Netcom作为当前内循环提供商的所得Cisco专用AS_PATH拒绝语句将为:
ip as-path access-list 20 deny_2551_
ip as-path access-list 20 deny_6993_
然后,该程序前进到标有“将所有AS_PATH“拒绝”语句添加给提供商专用配置文件”的方框288。该步骤提取所有先前讨论的“拒绝”语句并将它们添加到提供商专用配置中。然后,该程序前进到标有“更多的其它提供商?”的方框289。如果有非外循环提供商的其它提供商需要处理,则对该判决块289的回答将为是,并且该程序将返回方框285。如果对判决块289的回答为否,则该程序前进到标有“在例外AS数据库中搜索所有例外AS值”的方框290。在方框290之前,内循环在方框285上开始并在判决块289上结束,该循环执行先前讨论的原理,即采用提供商AS数据数据库181的合集并减去当前提供商的AS号。一旦在方框290上,询问例外AS数据数据库182的所有数据。然后,该程序前进到标有“使用唯一列表编号为每个AS值产生一个AS_PATH“拒绝”语句”的方框291。以与方框287相同的方式并使用相同的唯一列表编号产生“拒绝”语句(因为我们依然在同一外循环提供商内)。然后,该程序前进到方框292,标有“将所有AS_PATH“拒绝”语句添加给提供商专用配置文件”。该步骤与方框288相同。然后该程序前进到方框293,标有“将唯一列表编号置入合适route-map的“match as-path””。如上所述,每个提供商配置具有一个称作“route-map”的Cisco配置,它标有<提供商>-LOCAL-PREF。在该路由映射表中是一个“match as-path<填充空格>”的命令。方框293的步骤将方框284的唯一接入列表编号放入该“matchas-path…”命令。例如,MCI LOCAL_PREF route-map的形式如下:
route-map MCI-LOCAL-PREF permit 10
match as-path 20
set local-preference 98
route-map MCI-LOCAL-PREF permit 10
match as-path 1
set local-preference 25
其中列表编号“20”是通过该图17的程序产生的用于MCI的“拒绝”语句列表。前面已经说明,显然第一route-map部分将local-preference值指定给假设直接连接到该提供商的所有路由,并且第二route-map部分将“缺省”local-preference指定给与第一route-map不匹配的所有其它路由。然后,该程序前进到标有“其它提供商?”的判决块294。如果在外循环中有其它的提供商需要处理,则对判决块294的回答为是,然后,该程序返回方框283。如果对判决块的回答为否,该程序在端点295上结束。
图18是表示将适当数目的“AS添加”添加到被广告给每个提供商的路由所包括步骤的流程图。图18是图11第四步的AS_PATH长度配置191的详细说明。该程序开始于标有“开始”的端点300。第一步用标有“对于每个提供商”的方框301表示。这是一个循环的开始,该循环将为每个P-NAP处理一次。不要求按指定顺序处理提供商。然后,该程序前进到标有“取出用于该提供商的AS添加的数目”的方框302。因此,为当前提供商搜索提供商AS_PATH预先计划数据数据库186以寻找需要为该提供商添加的AS添加的数目。如前所述,通过结合图15所描述的算法来开发提供商AS_PATH预先计划数据数据库186。然后,该程序前进到标有“将P-NAP AS的数目添加到提供商配置”的方框303。如前所述,在每个提供商中,存在一个称为“<提供商>-ASPATH-PREPEND”的Cisco route-map。在该route-map中,存在一个“set as-path prepend<填充空格>”命令。在<填充空格>的点上应当是与从提供商AS_PATH预先计划数据数据库186中取出的数目相等的几个当前P-NAP AS号(在本发明的P-NAP中为6993)。因此,使用本发明的P-NAP,ANS-ASPATH-PREPEND route-map的形式将如下:
route-map ANS-ASPATH-PREPEND permit 10
match as-path 10
set as-path prepend 6993 6993 6993 6993
为Netcom搜索提供商AS_PATH预先计划数据数据库186,返回一个值“4”。将当前P-NAP AS(6993)的数目添加给用于ANS-ASPATH-PREPEND route-map的“set as-path prepend”语句。然后,该程序前进到标有“其它提供商?”的判决块304。如果有其它提供商需要处理,则对判决块304的回答为是,该程序返回方框301。如果对判决块304的回答为否,该程序在端点305上结束。
因此,已经描述了实现本发明用于互连互联网路由提供商的专用网络接入点路由器的最佳模式。如从上述说明可以看出的,该专用网络接入点路由器提供一种在多个网络路由提供商之间交换信息分组的方法,而不需要随机路由转换,不需要前向和后向路径上的不对称路由选择,并且没有导致信息分组丢失的超载。
已经已经针对一些优选实施例及其特性详细地图示并说明本发明。然而,对于本领域的普通技术人员来说,在不脱离如在后附权利要求书中所阐述的本发明的精神和范围的情况下,在形式和细节上显然可以进行各种变化和修改。在没有在此未具体公开的任何单元的情况下,可以实施在此被说明性公开的本发明。

Claims (6)

1.一种在P-NAP和至少两个提供商之间对称地进行分组路由选择的方法,所述提供商具有用户,包括步骤:
a)产生使用本地优选级的路由器配置文件,使P-NAP经P-NAP提供商的网络路由选择到该提供商的用户,使P-NAP经一预先选择的提供商网络路由选择到未连接一P-NAP提供商的用户,或连接到三个以上P-NAP提供商的提供商用户,并使用P-NAP路径长度使未连接到P-NAP的提供商的用户经一预先选择的P-NAP提供商路由选择;
b)设置P-NAP提供商本地优选级以使P-NAP提供商选择直接路由选择到P-NAP;
c)将配置文件应用于路由器;
d)使路由器从P-NAP提供商获取路由;和
e)使路由器将所述路由器配置文件应用于所述路由。
2.一种在一P-NAP和互联网上任一目的地之间对称地进行TCP/IP分组路由选择的方法,以便如果目的地是任一P-NAP提供商的一部分,分组的前向和反向路径将通过所述提供商,并且在所有其它情况下,前向和反向路径将通过一个预定的提供商,所述提供商具有用户,包括步骤:
a)产生使用本地优选级的路由器配置文件,使P-NAP经P-NAP提供商的网络路由选择到该提供商的用户,使P-NAP经一预先选择的提供商网络路由选择到未连接一P-NAP提供商的用户,或连接到三个以上P-NAP提供商的提供商的用户,并使用P-NAP路径长度使未连接到P-NAP的提供商的用户经一预先选择的P-NAP提供商路由选择;
b)设置P-NAP提供商本地优选级以使P-NAP提供商选择直接路由选择到P-NAP;
c)将配置文件应用于路由器;
d)使路由器从P-NAP提供商获取路由;和
e)使路由器将所述路由器配置文件应用于所述路由。
3.一种确保在一P-NAP和互联网上的任一目的地之间对TCP/IP分组进行对称路由选择的方法,使得当该P-NAP连接到该目的地的提供商时,该对称路由选择通过所述提供商,并在其它所有情况下,该对称路由选择通过一预定提供商,所述提供商具有用户,包括步骤:
a)产生使用本地优选级的路由器配置文件,使P-NAP经P-NAP提供商的网络路由选择到该提供商的用户,使P-NAP经一预先选择的提供商网络路由选择到未连接一P-NAP提供商的用户,或连接三个以上P-NAP提供商的提供商的用户,并使用P-NAP路径长度使未连接到P-NAP的提供商的用户经一预先选择的P-NAP提供商路由选择;
b)设置P-NAP提供商本地优选级以使P-NAP提供商选择直接路由选择到P-NAP;
c)将配置文件应用于路由器;
d)使路由器从P-NAP提供商获取路由;和
e)使路由器将所述路由器配置文件应用于所述路由。
4.一种确保在一P-NAP和互联网上的任一目的地之间对TCP/IP分组进行对称路由选择的方法,使得当该P-NAP连接到该目的地的提供商时,该对称路由选择通过所述提供商,并在其它所有情况下,该对称路由选择通过一预定提供商,所述提供商具有用户,包括步骤:
a)为提供商缺省路由选择选择一个LOCAL PREF值,以便对于未连接一P-NAP提供商的那些目的地,使用最优选提供商,如果该提供商不可用,使用下一个最优选提供商,以此类推,直到用完所有提供商;
b)产生使用本地优选级的路由器配置文件,使P-NAP经P-NAP提供商的网络路由选择到该提供商的用户,使P-NAP经一预先选择的提供商网络路由选择到未连接一P-NAP提供商的用户,或连接三个以上P-NAP提供商的提供商的用户,并使用P-NAP路径长度使未连接到P-NAP的提供商的用户经一预先选择的P-NAP提供商路由选择;
c)设置P-NAP提供商本地优选级以使P-NAP提供商选择直接路由选择到P-NAP;
d)将配置文件应用于路由器;
e)使路由器从P-NAP提供商获取路由;和
f)使路由器将所述路由器配置文件应用于所述路由。
5.一种P-NAP系统,包括:
a)分组交换路由选择控制装置;
b)专用P-NAP用户,连接到所述分组交换路由选择控制装置的第一侧上;
c)多个网络服务提供商,连接到所述分组交换路由选择控制装置的第二侧上,所述分组交换路由选择控制装置使所述专用P-NAP用户始发的分组从所述第一侧进入所述分组交换路由选择控制装置,并被直接路由选择到所述多个网络服务提供商中选定的一个提供商,所述网络服务提供商中选定的一个提供商包括该专用P-NAP用户希望与之通信的目的地网络,并且分组交换路由选择控制装置使从目的地网络始发的一个响应分组在完全相同的路径上从目的地网络反向发送到始发者专用P-NAP用户,从而提供对称的路由选择。
6.根据权利要求5的P-NAP系统,其中所述多个网络服务提供商具有本地优选级设置,以使所述网络服务提供商选择直接路由选择到所述分组交换路由选择控制装置,以在与接收一分组的前向路径完全相同的返回路径上路由选择响应分组。
CNB988098040A 1997-09-03 1998-09-02 用于在互联网路由提供商之间互连的专用网络接入点路由器 Expired - Lifetime CN1160915C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/922,954 US6009081A (en) 1997-09-03 1997-09-03 Private network access point router for interconnecting among internet route providers
US08/922,954 1997-09-03

Publications (2)

Publication Number Publication Date
CN1306715A CN1306715A (zh) 2001-08-01
CN1160915C true CN1160915C (zh) 2004-08-04

Family

ID=25447865

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988098040A Expired - Lifetime CN1160915C (zh) 1997-09-03 1998-09-02 用于在互联网路由提供商之间互连的专用网络接入点路由器

Country Status (9)

Country Link
US (1) US6009081A (zh)
EP (1) EP1018247A4 (zh)
CN (1) CN1160915C (zh)
AU (1) AU751212B2 (zh)
CA (1) CA2307202A1 (zh)
EA (1) EA003155B1 (zh)
HK (1) HK1039230B (zh)
NO (1) NO20002420L (zh)
WO (1) WO1999014907A1 (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912222B1 (en) * 1997-09-03 2005-06-28 Internap Network Services Corporation Private network access point router for interconnecting among internet route providers
US6260070B1 (en) * 1998-06-30 2001-07-10 Dhaval N. Shah System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US6446121B1 (en) 1998-05-26 2002-09-03 Cisco Technology, Inc. System and method for measuring round trip times in a network using a TCP packet
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6178418B1 (en) * 1998-07-28 2001-01-23 Noetix Corporation Distributed data warehouse query and resource management system
US20040208158A1 (en) 1998-08-19 2004-10-21 Fellman Ronald D. Methods and apparatus for providing quality-of-service guarantees in computer networks
US6246702B1 (en) * 1998-08-19 2001-06-12 Path 1 Network Technologies, Inc. Methods and apparatus for providing quality-of-service guarantees in computer networks
US6215797B1 (en) 1998-08-19 2001-04-10 Path 1 Technologies, Inc. Methods and apparatus for providing quality of service guarantees in computer networks
US6584093B1 (en) * 1998-08-25 2003-06-24 Cisco Technology, Inc. Method and apparatus for automatic inter-domain routing of calls
US6130890A (en) * 1998-09-11 2000-10-10 Digital Island, Inc. Method and system for optimizing routing of data packets
US6298381B1 (en) 1998-10-20 2001-10-02 Cisco Technology, Inc. System and method for information retrieval regarding services
US6724724B1 (en) 1999-01-21 2004-04-20 Cisco Technology, Inc. System and method for resolving an electronic address
US6795860B1 (en) 1999-04-05 2004-09-21 Cisco Technology, Inc. System and method for selecting a service with dynamically changing information
US6757740B1 (en) * 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US7844729B1 (en) 1999-05-03 2010-11-30 Digital Envoy, Inc. Geo-intelligent traffic manager
US7685311B2 (en) 1999-05-03 2010-03-23 Digital Envoy, Inc. Geo-intelligent traffic reporter
US7346677B1 (en) 1999-07-02 2008-03-18 Cisco Technology, Inc. Method and apparatus for creating policies for policy-based management of quality of service treatments of network data traffic flows
US6791980B1 (en) * 1999-10-28 2004-09-14 Nortel Networks Ltd System, device, and method for reducing the number of multicast routes maintained in a multicast routing information base
US6785735B2 (en) * 1999-11-12 2004-08-31 Cisco Technology Inc. Determining a path through a managed network
US6788647B1 (en) 1999-11-19 2004-09-07 Cisco Technology, Inc. Automatically applying bi-directional quality of service treatment to network data flows
US6691169B1 (en) * 2000-02-01 2004-02-10 At&T Corp. Method and apparatus for detecting route advertisement violations in a network of interconnected peers
IL138004A0 (en) * 2000-02-24 2001-10-31 Internap Network Services Private network access point router for interconnecting among internet route providers
US6684250B2 (en) 2000-04-03 2004-01-27 Quova, Inc. Method and apparatus for estimating a geographic location of a networked entity
JP2004508743A (ja) * 2000-06-14 2004-03-18 ウィリアムズ コミュニケーションズ, エルエルシー インターネットルート非集合およびルート選択参照
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US6959332B1 (en) * 2000-07-12 2005-10-25 Cisco Technology, Inc. Basic command representation of quality of service policies
US7099932B1 (en) 2000-08-16 2006-08-29 Cisco Technology, Inc. Method and apparatus for retrieving network quality of service policy information from a directory in a quality of service policy management system
US6822940B1 (en) 2000-09-29 2004-11-23 Cisco Technology, Inc. Method and apparatus for adapting enforcement of network quality of service policies based on feedback about network conditions
US7096260B1 (en) 2000-09-29 2006-08-22 Cisco Technology, Inc. Marking network data packets with differentiated services codepoints based on network load
US7336613B2 (en) 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US7080161B2 (en) 2000-10-17 2006-07-18 Avaya Technology Corp. Routing information exchange
US7720959B2 (en) 2000-10-17 2010-05-18 Avaya Inc. Method and apparatus for characterizing the quality of a network path
US7363367B2 (en) 2000-10-17 2008-04-22 Avaya Technology Corp. Systems and methods for robust, real-time measurement of network performance
US7487237B2 (en) 2000-10-17 2009-02-03 Avaya Technology Corp. Load optimization
IL155355A0 (en) 2000-10-17 2003-11-23 Routescience Technologies Inc Method and apparatus for performance and cost optimization in an internetwork
US7406539B2 (en) 2000-10-17 2008-07-29 Avaya Technology Corp. Method and apparatus for performance and cost optimization in an internetwork
US7756032B2 (en) 2000-10-17 2010-07-13 Avaya Inc. Method and apparatus for communicating data within measurement traffic
US7349994B2 (en) 2000-10-17 2008-03-25 Avaya Technology Corp. Method and apparatus for coordinating routing parameters via a back-channel communication medium
US8023421B2 (en) 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
US6988133B1 (en) 2000-10-31 2006-01-17 Cisco Technology, Inc. Method and apparatus for communicating network quality of service policy information to a plurality of policy enforcement points
US7050396B1 (en) 2000-11-30 2006-05-23 Cisco Technology, Inc. Method and apparatus for automatically establishing bi-directional differentiated services treatment of flows in a network
US7096256B1 (en) * 2001-02-26 2006-08-22 Juniper Network, Inc. Applying configuration group information to target configuration information
US6915309B1 (en) 2001-03-20 2005-07-05 Cisco Technology, Inc. Automatically generating replication topology information for use by a directory service
US6914886B2 (en) * 2001-05-03 2005-07-05 Radware Ltd. Controlling traffic on links between autonomous systems
US7657643B2 (en) * 2001-06-15 2010-02-02 Cisco Technology, Inc. System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
IL144141A0 (en) * 2001-07-04 2002-05-23 Method and system for improving a route along which data is sent using an ip protocol in a data communications network
KR100401199B1 (ko) * 2001-09-27 2003-10-10 삼성전자주식회사 공중용 및 사설용 이동통신 시스템에서의 신호 공급 장치
CN100403293C (zh) * 2002-01-28 2008-07-16 特瑞帝德国际公司 用于阶层式服务和内容分布的网络系统方法和协定
US7477600B1 (en) 2002-02-12 2009-01-13 Cisco Technology, Inc. Method and apparatus for configuring network elements to support real time applications based on meta-templates
US7333432B1 (en) 2002-02-12 2008-02-19 Cisco Technology, Inc. Method and apparatus for configuring network elements to support real time applications
US7277954B1 (en) * 2002-04-29 2007-10-02 Cisco Technology, Inc. Technique for determining multi-path latency in multi-homed transport protocol
ITTO20020785A1 (it) * 2002-09-09 2004-03-10 Telecom Italia Lab Spa Procedimento e sistema per l'analisi e la valutazione
US7861002B2 (en) * 2003-05-22 2010-12-28 Adtran, Inc. Network router that efficiently switches between a primary data path and a backup data path
US7626948B1 (en) * 2003-09-12 2009-12-01 Cisco Technology, Inc. System and method for verifying the validity of a path in a network environment
US7698456B2 (en) * 2003-09-29 2010-04-13 Cisco Technology, Inc. Methods and apparatus to support routing of information
US20050097185A1 (en) * 2003-10-07 2005-05-05 Simon Gibson Localization link system
US7280486B2 (en) * 2004-01-07 2007-10-09 Cisco Technology, Inc. Detection of forwarding problems for external prefixes
WO2005086681A2 (en) 2004-03-04 2005-09-22 Quova, Inc. Geo-location and geo-compliance utilizing a client agent
US7640317B2 (en) * 2004-06-10 2009-12-29 Cisco Technology, Inc. Configuration commit database approach and session locking approach in a two-stage network device configuration process
US7853676B1 (en) 2004-06-10 2010-12-14 Cisco Technology, Inc. Protocol for efficient exchange of XML documents with a network device
US7660882B2 (en) * 2004-06-10 2010-02-09 Cisco Technology, Inc. Deploying network element management system provisioning services
US7376134B2 (en) * 2004-08-02 2008-05-20 Novell, Inc. Privileged network routing
US20060074919A1 (en) * 2004-08-12 2006-04-06 Grover Sunil K Searching industrial component data, building industry networks, and generating and tracking design opportunities
US7623535B2 (en) * 2004-09-09 2009-11-24 Cisco Technology, Inc. Routing protocol support for half duplex virtual routing and forwarding instance
KR100621402B1 (ko) * 2004-11-03 2006-09-19 삼성전자주식회사 이동 애드혹 네트워크에서의 가장자리 노드를 이용한핸드오프 방법
CN100596097C (zh) * 2006-03-29 2010-03-24 华为技术有限公司 一种学习数据转发信息的方法及装置
CN101473605B (zh) * 2006-04-28 2012-01-11 意大利电信股份公司 用于确定因特网服务供应商的预期对等合作者的方法
CN1984087A (zh) * 2006-05-26 2007-06-20 华为技术有限公司 一种实现消息业务的系统和方法
US9014047B2 (en) 2007-07-10 2015-04-21 Level 3 Communications, Llc System and method for aggregating and reporting network traffic data
US8010087B2 (en) * 2007-08-20 2011-08-30 Yahoo! Inc. Mobile carrier capability
US7916664B2 (en) * 2008-11-24 2011-03-29 At&T Intellectual Property I, L.P. Reverse engineering peering at Internet exchange point
CN101582904B (zh) * 2009-06-17 2013-01-09 杭州华三通信技术有限公司 一种数据中心多线接入流量对称的实现方法、装置及系统
US8443107B2 (en) 2009-11-11 2013-05-14 Digital Envoy, Inc. Method, computer program product and electronic device for hyper-local geo-targeting
CN102273150B (zh) * 2010-03-29 2013-09-25 华为技术有限公司 集群路由器和集群路由方法
US8750297B2 (en) * 2010-05-20 2014-06-10 Comcast Cable Communications, Llc Ascertaining per-hop network characteristics
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8929226B2 (en) * 2011-03-11 2015-01-06 Jive Communications, Inc. Smart routing for voice over internet protocol
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US9100208B2 (en) * 2011-09-27 2015-08-04 Hubbell Incorporated Method and apparatus for circuit emulation with integrated network diagnostics and reduced form factor in large public communication networks
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
US9246766B2 (en) * 2012-10-18 2016-01-26 Iix Inc. Method and apparatus for a distributed internet architecture
US9525638B2 (en) 2013-10-15 2016-12-20 Internap Corporation Routing system for internet traffic
US9806985B2 (en) 2015-03-02 2017-10-31 Cisco Technology, Inc. Symmetric routing enforcement

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0608653A1 (en) * 1993-01-26 1994-08-03 International Business Machines Corporation Method and system for routing information between nodes in a communication network
US5631897A (en) * 1993-10-01 1997-05-20 Nec America, Inc. Apparatus and method for incorporating a large number of destinations over circuit-switched wide area network connections
US5452294A (en) * 1994-07-05 1995-09-19 Motorola, Inc. Method and apparatus for adaptive route selection in communication networks
JP3224963B2 (ja) * 1994-08-31 2001-11-05 株式会社東芝 ネットワーク接続装置及びパケット転送方法
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
JP2666769B2 (ja) * 1995-05-16 1997-10-22 日本電気株式会社 インタネットプロトコルルーティング方法及び装置
US5845091A (en) * 1996-02-15 1998-12-01 Bay Networks, Inc. Forwarding of internetwork packets to a destination network via a selected one of a plurality of paths
US5805594A (en) * 1996-08-23 1998-09-08 International Business Machines Corporation Activation sequence for a network router

Also Published As

Publication number Publication date
WO1999014907A1 (en) 1999-03-25
EP1018247A4 (en) 2000-10-25
EA200000284A1 (ru) 2001-06-25
CA2307202A1 (en) 1999-03-25
US6009081A (en) 1999-12-28
NO20002420D0 (no) 2000-05-10
CN1306715A (zh) 2001-08-01
AU9565798A (en) 1999-04-05
HK1039230B (zh) 2005-03-04
HK1039230A1 (en) 2002-04-12
EA003155B1 (ru) 2003-02-27
AU751212B2 (en) 2002-08-08
NO20002420L (no) 2000-05-10
EP1018247A1 (en) 2000-07-12

Similar Documents

Publication Publication Date Title
CN1160915C (zh) 用于在互联网路由提供商之间互连的专用网络接入点路由器
CN1127831C (zh) 形成路由信息的方法
CN1218543C (zh) 通信格网
CN1509022A (zh) 分层网络节点及通过该节点构成的网络、节点和分层网络
CN1762123A (zh) 使未采用集中管理的匿名非信任方之间的通信和资源共享安全的方法与装置
CN1428033A (zh) 语义信息网络
CN1685672A (zh) 通信控制方法及系统,数据包转发及监测方法和系统
CN101032137A (zh) 网络系统、节点及节点控制程序、网络控制方法
CN1679279A (zh) 网络系统、生成树构成方法、生成树构成节点和生成树构成程序
CN1914861A (zh) 基于群集的网络供应
CN1756189A (zh) 基于snmp的ip网络拓扑发现方法
CN1592259A (zh) 网络用交换装置、路径管理服务器、网络接口装置及其控制方法
CN1499794A (zh) 通信设备中在第三层处理数据包的方法
CN1405986A (zh) 第2层虚拟专用网络中继系统
CN1412973A (zh) 虚拟个人网络服务管理系统及其服务管理器和服务代理器
CN1300149A (zh) 帧构造方法、帧构造装置和数据传输系统
CN1496632A (zh) 用在扩展局域网中的以优先级为基础的负载平衡方法和设备
CN1525709A (zh) 名称解析服务器和分组传送设备
CN1507725A (zh) 因特网通信系统、因特网通信方法、对话管理服务器、通信适配器、通信中继服务器及程序
CN1350741A (zh) 支持语音/ip的无线本地回路系统
CN1663204A (zh) 网关装置和在该网关装置中的信号处理方法
CN1531282A (zh) 分组中继装置
CN1414751A (zh) 服务控制网络,服务器,网络装置,服务信息分配方法以及服务信息分配程序
CN1799228A (zh) 数据联网
CN1647455A (zh) 在多群集网络中进行通信的方法、连接设备及网桥

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1039230

Country of ref document: HK

C56 Change in the name or address of the patentee

Owner name: INTERNAP CORPORATION

Free format text: FORMER NAME: INTERNAP NETWORK SERVICES

CP03 Change of name, title or address

Address after: American Georgia

Patentee after: The British Tenaipu company

Address before: Washington State

Patentee before: Internap Network Services

CX01 Expiry of patent term

Granted publication date: 20040804

CX01 Expiry of patent term