CN200410062374.2
2004.07.09
CN1592239A
2005.03.09
撤回
无权
发明专利申请公布后的视为撤回|||公开
H04L12/26; H04L29/06; H04L12/28
安捷伦科技有限公司;
斯瓦沃米尔·K·伊尔尼茨基; 兰斯·A·塔特曼; 亚历山大·L·图德
美国加利福尼亚州
2003.08.29 US 10/652,286
北京东方亿思知识产权代理有限责任公司
王怡
本发明公开了一种路由监视器,其包括:至少一个通信分接头,其中所述至少一个通信分接头的每个被置于两个路由器之间的通信线路中;以及协议仿真器,用于重新组装由所述至少一个通信分接头捕获的路由协议消息,并响应于从网络设备接收的连接请求,使用重新组装的路由协议开启与该网络设备的路由协议连接。
1. 一种路由监视器,包括:至少一个通信分接头,其中每个所述至少一个通信分接头被置于两个路由器之间的通信线路中;以及协议仿真器,用于重新组装由所述至少一个通信分接头捕获的路由协议消息,和使用所述重新组装的路由协议建立与网络监视设备的路由协议会话。2. 如权利要求1所述的路由监视器,还包括:数据库,用于存储所述重新组装的路由协议消息。3. 如权利要求1所述的路由监视器,还包括:网络服务器,其中所述网络服务器将所述重新组装的路由协议消息转换为网络可以访问的格式;以及网络接口,用于以所述网络可以访问的格式显示所述重新组装的路由协议消息。4. 如权利要求1所述的路由监视器,其中所述至少一个通信分接头包括以下之一:在所述两个路由器中的至少一个上的镜像端口;线路分接头设备。5. 如权利要求1所述的路由监视器,其中所述至少一个通信分接头包括:消息复制器;以及分接头接口模块,所述分接头接口模块在所述分接设备和所述协议仿真器之间,其中所述分接头接口模块根据过滤属性对被截取的消息进行过滤。6. 如权利要求5所述的路由监视器,其中所述过滤属性包括以下的一个或多个:因特网协议地址;协议标识;以及目的地端口。7. 如权利要求1所述的路由监视器,还包括:传输协议模块,与所述至少一个通信分接头通信,其中所述传输协议模块重新组装由所述至少一个通信分接头捕获的传输协议消息。8. 如权利要求7所述的路由监视器,其中所述协议仿真器打开传输协议连接,并使用所述重新组装的传输协议消息建立与所述网络监视设备的路由协议会话。9. 如权利要求1所述的路由监视器,还包括:路由重建模块,用于使用所述重新组装的路由协议消息建立路由信息库。10. 如权利要求1所述的路由监视器,还包括:表重建模块,用于使用所述重新组装的路由传输协议消息建立路由表。11. 如权利要求9所述的路由监视器,还包括:网络服务器,其中所述网络服务器将所述路由信息库转换为网络可以访问的格式;以及网络接口,用于以所述网络可以访问的格式显示所述路由信息库。12. 如权利要求1所述的路由监视器,其中所述协议仿真器包括:路由协议重建模块,用于重新组装所述被捕获的路由协议消息;以及协议会话仿真器,用于通过传送适当的多个所述重新组装的路由协议消息到所述网络监视设备,建立到所述网络监视设备的路由协议会话。13. 如权利要求1所述的路由监视器,其中所述协议仿真器和所述网络监视设备位于单个设备中。14. 如权利要求3所述的路由监视器,其中所述协议仿真器、所述网络监视设备和所述网络服务器位于单个设备中。15. 如权利要求1所述的路由监视器,其中所述路由协议包括以下之一:边界网关协议;路由信息协议;开放最短路径优先协议;以及中间系统-中间系统协议。16. 如权利要求7所述的路由监视器,其中所述传输协议包括传输控制协议。17. 一种用于监视网络中的路由信息的方法,包括:分接到在两个网络路由器之间的通信线路中;对在所述两个网络路由器之间的所述通信线路上传送的包进行复制;传送所述复制的包到会话仿真器;从所述复制的包重建路由协议消息;以及建立与网络监视设备的路由协议会话。18. 如权利要求17所述的方法,还包括:在存储器中存储所述重建的路由协议消息。19. 如权利要求17所述的方法,还包括:将所述重建的路由协议消息转换为网络兼容格式;以及在网络接口上显示所述转换后的路由协议消息。20. 如权利要求17所述的方法,还包括:根据以下的一个或多个对所述复制的包进行过滤:因特网协议地址;协议标识;以及目的地端口。21. 如权利要求17所述的方法,还包括:从所述复制的包重建传输协议消息;以及建立与所述网络监视设备的传输协议会话。22. 如权利要求17所述的方法,还包括:使用所述重建的路由协议消息建立路由信息库;将所述路由信息库转换为网络兼容格式;以及将所述转换后的路由信息库显示在网络接口上。23. 如权利要求17所述的方法,还包括:使用所述重建的路由协议消息建立路由表。24. 一种计算机程序产品,具有计算机可读介质,其上存储有计算机程序逻辑,所述计算机程序产品包括:用于重新组装从两个路由器之间的监听设备接收的路由协议消息的代码;用于对与网络监视设备的路由协议会话进行仿真的代码。25. 如权利要求24所述的计算机程序产品,还包括:用于在网络接口上显示所述重新组装的路由协议消息的代码。26. 如权利要求24所述的计算机程序产品,还包括:用于使用所述重新组装的路由协议消息建立路由表的代码。27. 如权利要求24所述的计算机程序产品,还包括:用于根据以下的一个或多个过滤所述路由协议消息的所述监听设备中的代码:因特网协议地址;协议标识;以及目的地端口。28. 如权利要求24所述的计算机程序产品,还包括:用于对从所述两个路由器之间的所述监听装置接收的传输协议消息进行重建的代码;以及用于对与所述网络监视设备的传输协议会话进行仿真的代码。
路由监视 技术领域 本发明一般地涉及网络管理,更具体地说,本发明涉及路由监视。 背景技术 局域网(LAN)、广域网(WAN)和因特网将世界各地的企业以及人们连接起来。网络一般使用路由器来将数据路由到网络的节点或连接点。路由器通常是专门化的计算机,它将消息经由路由器可以计算出的有用且高效的路线沿着许多可能的路径转发到消息各自的目的地。当流量增加时,沿着任何一个或几个这样的可能路线可能发生阻塞,通信链路能力下降或路由器可能出现故障。那么,路由器可以改变优选的路由方案以适应阻塞或网络故障(失效的通信链路或路由器)。 路由器通常具有用于接收和发送消息/包的输入和输出端口、某种交换结构(switching fabirc)和路由处理器。在操作期间,路由处理器控制路由硬件/软件过程,这些过程检查消息/包的头部信息,并且找出这些数据要被发往的地址。然后,路由器将网络地址与内部地址数据库进行比较,这种内部地址数据库被称为路由表,它维护着到目的地地址的可能路线的列表。基于为消息/包定址的特定因特网协议(IP)地址,将消息/包发送到目的地,无论该目的地是最终目的地还是目的路径中的下一个路由器。 特定自治系统(autonomous system,AS)中的路由器可以在内部使用各种所采用的路由协议中的任意一种来交换路由信息(即,域内(intra-domain)路由),这些路由协议例如是路由信息协议(RIP)、开放最短路径优先协议(OSPF)、中间系统—中间系统协议(ISIS)等。参与域间路由(即,在不同的域或AS之间交换的路由信息)的路由器一般使用边界网关协议(BGP)交换信息。BGP通常运行在面向连接的传输协议之上,这比如传输控制协议(TCP)。使用这一传输连接,BGP路由器可以交换BGP消息(即,利用通告(Announcement)或撤销因特网协议(IP)前缀更新消息,保持消息活跃等),这些BGP消息允许它们创建和更新它们的路由表。应当注意的是,IP前缀是与有效位的掩码相关联的IP地址。例如,前缀130.29.0.0/16意味着只有最高的16位是有效的。 在管理网络和网络连接时,对路由表进行监视是有用的。通过分析路由表中的变化,可以确定网络或多个网络的状态。例如,当在网络的特定区域中通信链路或路由器停止操作时,可以从路由表中撤销或删除具有包括那些发生故障的网络单元的路径的前缀。可以使用简单网络管理协议(SNMP)、远程登录(Telnet)和/或直接与被监视的路由器的对等会话来直接对路由表进行监视。然后,用户可以访问被监视路由器的路由信息,这种访问要么通过SNMP/远程登录连接直接进行,或要么通过网络服务器(Web Server)间接进行。网络服务器通常从SNMP/远程登录会话获得路由信息,但却通过网络访问点给出该信息。网络访问一般被实现为“窥镜(looking glass)”软件应用程序,该应用程序提供了对目标路由器的路由表中的“窥镜”。因为监视实体没有建立起到路由器的直接连接,所以网络服务器访问通常提供了一种比SNMP/远程登录可靠得多的手段来查看路由信息。所以,SNMP/远程登录访问一般被限制在可信赖的用户。 因特网服务提供商(ISP)通常对AS进行维护,该AS还可以与多个其他的AS互连。公共交换点是这样的区域,在该区域中多个这样的ISP通过沿着AS边缘的路由器交换路由和流量信息,这些沿着AS边缘的路由器被称为边缘路由器。在历史上,每个边缘路由器与和它同在一个AS中的以及邻接AS中的每个其他边缘路由器交换路由信息。该过程使得在边缘路由器之间产生了许多BGP会话/连接。这些连接的集合被称为BGP网格(mesh)。因为每个路由器一般需要与其他每个路由器连接,所以通常产生R2个BGP连接,其中R是网格中路由器的总数。采用路由服务器(RS)是一种被实现来克服该BGP网格的复杂性的方法。 RS是一种运行在连接到网络的路由器或另一个计算机上的软件应用程序,该软件应用程序与AS的边缘路由器通信并交换路由信息。根据RS的路由策略,可以与任何其他进行请求的路由器交换路由信息,其中包括在该路由策略中所规定的相邻AS的路由器。通过提供更加集中化的访问点用于交换和获得路由信息,连接或BGP会话地数目被大大地减少。因为每个路由器仅仅需要与RS连接,所有一般仅有R个连接/会话,而不是R2个BGP连接/会话。使用RS通常也允许用户捕获更加完整的BGP更新图像,而不仅仅是路由信息库(RIB)的快照,该快照是通过直接访问方法获得的。RS一般被运用于AS的边缘,在这里可以与已知网络外的路由器发生通信。 另一种集中访问路由信息的手段是使用路由反射器(RR)。与RS类似,RR也是一种运行在连接到网络的另一个计算机或路由器上的软件应用程序,该应用程序用来通信和交换路由信息。但是,RR通常不具有指示哪个请求路由器或实体能否访问路由器的路由策略。RR基本上将它拥有的所有路由信息重发给任何访问的实体。RR主要被用来减少AS内的网格,而RS通常被用来允许在多个AS之间交换路由信息。 当前技术的问题在于,它们每个都要求与被监视路由器、RS和/或RR的BGP会话。建立和运行与被监视路由器的BGP会话耗尽了被监视路由器的中央处理单元(CPU)周期。当开始的BGP会话的数目增加时,路由器的性能通常会降低。于是,因为RS一般在每个被监视路由器的配置文件中被配置为对等体,所以这些技术通常并不非常适合于路由信息的被动监视。建立这样的BGP会话是非常具有入侵性的,为路由器产生了管理问题。此外,如果由于某些原因,过载的RS开始崩溃,则监视路由器试图重新建立BGP会话。因为被监视路由器将它所有的路由信息再次发送到RS,所以重新建立BGP会话导致大量的更新发生。对于边缘路由器,这种更新可以导致被监视路由器发送超过100,000条前缀到该RS。 此外,在监视系统和被监视路由器之间的会话中收集路由信息仅仅收集了与这两个设备之间的连接有关的信息。如果在被监视路由器和另一个路由器之间的BGP会话被破坏,那么通常无法确定是什么造成了这种故障。在BGP会话被破坏时,被监视路由器可以提供作为BGP会话受到破坏的结果而得到的多个IP前缀通告以及大量撤销信号。但是,无法来确定该问题是有关TCP会话还是有关BGP会话。此外,被监视系统可能过载,这导致系统停止发送“保持活跃(keep alive)”消息到被监视路由器。停止“保持活跃”消息随后可能引起被监视路由器重置BGP会话,这在重新建立BGP会话时再一次导致大量的前缀通告,就如上面所讨论的那样。因此,由重新建立BGP会话所引起的通告可能导致其他被监视的工作站/路由器进一步过载。过度超载的被监视工作站接着可能引起与其它被监视路由器的BGP会话的失败,进而产生了重新建立多个BGP会话的多米诺效应。 目前的许多监视系统利用诸如Zebra的公共域路由软件来获得和监视路由信息。Zebra是这样的路由软件,其通过已经建立的与被监视路由器的BGP会话来捕获BGP流量,并且基于所提供的路由信息重建路由表。Zebra可以被用来实现路由器、RS或RR。所以,其权衡功能性来获得路由信息。Zebra可以建立与路由器、路由服务器或路由反射器中的一个或多个的BGP会话,并获得路由信息。因此,使用Zebra监视路由器也降低了路由器的效率。 已经应用了使用线路分接头(tap)或包监听器(sniffer)来收集路由信息的其它手段。分接头和监听器是实际上分接到两个或更多个路由器之间的通信线路中的装置。这些装置实质上对发生在不同路由器之间的通信进行监听。这样的分接方法一般捕获路由信息并且将其作为格式化的BGP数据进行显示。在网络入侵检测系统(NIDS)中使用了类似的分接方法,该方法使用了繁杂的分析引擎来探测系统攻击/入侵,这包括在BGP级别所进行的攻击。尽管这样的分接/监听方法允许被动的捕获或恢复路由信息,而不用建立与被监视路由器的BGP会话,但是出现了比如数据安全性以及为通过通信线路的所有数据捕获和编辑信息的能力之类的问题。 发明内容 本发明有代表性的实施例涉及一种路由监视器,其包括:至少一个通信分接头,其中至少一个通信分接的每个被置于两个路由器之间的通信线路中;和协议仿真器,用于重新组装由所述至少一个通信分接头捕获的路由协议消息,并使用重新组装的路由协议来建立与网络监视设备的路由协议会话。 本发明另外的有代表性的实施例涉及一种用于监视网络中的路由消息的方法,包括:分接到在两个网络路由器之间的通信线路中;对在两个网络路由器之间的通信线路上传送的包进行复制;将复制的包传送到会话仿真器;从复制的包重建路由协议消息;以及建立与网络监视设备的路由协议会话。 本发明另一个有代表性的实施例涉及一种计算机程序产品,其具有计算机可读介质,在该介质上存储有计算机程序逻辑,计算机程序产品包括:用于重新组装从两个路由器之间的监听设备所接收的路由协议消息的代码;用于对与网络监视设备的路由协议会话进行仿真的代码。 图1是图示了所构建的具有路由服务器的网络的框图,该路由服务器将两个服务器之间的通信的路由信息提供给窥镜网络服务器; 图2是图示了一种网络的框图,该网络具有根据本发明的一个实施例来配置的网络监视器; 图3是图示了本发明的监视路由器的另外的实施例的框图;以及 图4是详细示出了根据本发明的实施例配置的网络监视系统的框图。 图1是图示了所构建的具有路由服务器100的网络10的框图,路由服务器100将路由器101和路由器102的路由信息提供给窥镜网络服务器103。如图1所示,路由器101和102建立了与路由服务器100的BGP会话以发送它的路由信息。窥镜网络服务器103随后能够为用户提供对所述路由信息的访问,这些路由信息被收集和存储在路由服务器100上。所以,除路由器101和102使用来进行它们自身和任何其他对等路由器之间的路由的处理周期外,路由器101和102还花费额外的处理周期来连接路由服务器100和与之通信,从而降低了它们总的效率。 图2是示出了网络20的框图,网络20具有根据本发明的一个实施例所配置的网络监视器200。与网络10中的系统不同,网络监视器200通过分接头203对路由器201和202之间的通信进行监视,而不用请求与路由器201和202两者或其中任一个的单独BGP会话/连接。 与网络10类似,网络20配置有路由服务器205,该服务器205经由窥镜网络服务器206提供对路由信息的访问。但是,在分接头203对正在对等的路由器201和202之间进行通信的数据包进行监听时,BGP代理204重新组装TCP连接信息和BGP会话数据并在其中进行更新,接着使用从对等的路由器201和202之间的通信捕获的BGP会话信息,仿真与路由服务器205的BGP会话。于是,路由服务器205相信,它在物理上与路由器201和202两者都相连接,而没有实际消耗路由器201和202的处理器资源。 应该注意的是,一般的RS通常对一个公知的端口(通常是端口179)进行侦听。但是,本发明的实施例通常可以使用能对多个不同的端口进行侦听的RS来进行操作。这允许该RS同时维持与多个BGP会话流的连接,这些BGP会话流是由BGP代理仿真的,所述BGP代理例如是图2中示出的BGP代理204。同样,根据本发明各个实施例配置的BGP代理可以使用支持多地址或支持在不同的端口上建立多个TCP连接的网络接口卡(NIC)。 虽然图2示出了本发明的对单个对等会话进行监视的实施例,本发明另外的实施例可以对任意期望数目的对等会话进行监视。图3是图示了本发明的监视路由器303-305的另外的实施例。集成网络监视器300包括BGP代理306、路由服务器307和窥镜网络接口308。这样的集成实施例可以提供一种紧凑的形式。分接头301分接到路由器303和305之间的对等通信会话中,并且将所捕获的路由信息传送到集成网络监视器300。分接头302分接到路由器303和304之间的对等通信会话中,并且也将所捕获/拷贝的路由信息传送到集成网络监视器300。 本发明的各个实施例都允许更广泛地运用路由监视设备,因为这些实施例教导了非入侵性的信息捕获,并且可以不要求路由器配置改变。而且,因为没有额外的BGP会话在被监视路由器和监视系统之间建立,所有在被监视路由器中没有使用额外的CPU周期。 本发明实施例的另外的副产品是,它允许对路由器的攻击进行探测。目前的监视方法一般都不示出对路由协议的扫描和进攻,这是因为除非复杂的、极端CPU强度的调试过程被激活,路由器一般会抛弃具有它们的路由协议消息的这种非希望数据包。但是,因为本发明的实施例通常捕获在路由器之间的通信会话中的所有数据包,所以网络监视器的各个实施例于是可以记录来自这种非希望的源地址和目的地地址的路由信息,否则这些路由消息将被监视路由器抛弃。 图4是详细示出了根据本发明的实施例配置的网络监视系统40的框图。分接模块401包括物理接口分接头TAP 404和分接头接口(TI)模块405。TI模块405使用分接头404捕获流量,并且过滤出非路由信息,其中分接头404可以是物理线路分接头或内置装置,比如镜像端口(mirroring port)。这里应该注意到,现有路由器/交换机的镜像端口一般会拷贝所有的流量,因此可能在跟上所接收的流量级别方面存在问题,因为合计的流量通常比镜像端口的容量要大。现今,以高达100兆比特/秒的速率捕获流量可能存在问题。所以,在本发明选择的实施例中,分接头404具有实时过滤和转发能力很重要。 被引导到被监视路由器的IP地址的BGP数据被转发到网络监视器400的传输重建(TR)模块406,用于传输会话数据重建。TR模块406以适时的方式(即在包丢失时不能无限期地等待)重建TCP数据流,并且处理无序包,包重传等。因为该装置是非侵入性的并且因此不能请求重新传送丢失的包,所以TR模块406应当处理分接头所丢失的包。这里应该注意的是,BGP使用最大尺寸为4k字节的包,而诸如以太网的介质通常允许小于1.5k字节的有效载荷。在这种情形下,4k字节的BGP消息可以分段为更小的IP包。TI模块405应当具有基于过滤属性对数据包进行过滤的能力,所述过滤属性例如是IP地址、协议ID和目的地端口。如果所捕获包的过滤值与之前用户配置的过滤器相匹配,那么包被转发到TR模块406;否则其被丢弃。TI模块405将数据流量减少到重建与路由信息的交换相联系的TCP会话所需的数据。这将为高速链路提供可伸缩的解决方案。这里应该注意,指定到特定路由器的一些流量可能没有携带路由信息,比如SNMP和远程登录。该数据要么可以在TI模块405处丢弃,要么可以在TR模块406处丢弃,这取决于TI模块405的过滤能力的完善度。在这种情形下,TI模块405也可以基于特定的TCP端口进行过滤。 在另外的实现中,TI模块405的功能可以驻留于也装有分接头404的分离元件中。分接头404也可以聚集分别服务于路由器线路卡上的每个单独接口的多个物理分接头,如在共同转让的、共有未决的专利申请代理人卷号为10040474-1,标题为“ASSISTED PORT MONITORING WITHDISTRIBUTED FILTERING”中所公开的那样。就如前面所讨论的那样,TR模块406也可以探测入侵。例如,如果路由器一般只接受来自特定配置的路由器(对等装置)的TCP连接,并且通常丢弃其他被引导到BGP端口179的竞争TCP连接尝试,而不记录那些尝试。除非路由器的配置能够进行专门的调试/日志记录,否则这样的尝试就不会被观察到。TR模块406可以被配置来只接收这样的流量,该流量被指定用于之前配置的被监视路由器的IP地址,并且TR模块406记录任何建立连接的其他尝试。在该级别对TCP/IP流量进行屏蔽和记录可以比由这些路由器自身作这些事情更为详细。应该注意到,重建传输协议应该关注丢失、后来重新传输的包和无序包,它们尤其可能在处理多跳BGP时出现,即在其他路由器分隔开对等路由器时出现。 在重建TCP数据流的部分之后,TR模块406将数据传递到BGP消息重建(BMR)模块407以组装BGP消息并确保其是完整的。不完整的消息可以作为丢失或畸形的BGP消息在本地进行记录。根据装置的配置,BMR 407将BGP消息要么转发到路由重建(RR)模块408,要么转发到BGP会话仿真(BSE)模块410。在装置根据RFC 1771创建路由信息库(RIB)和提供集成解决方案时,可以使用RR模块408。RIB的快照以及加盖时间戳的BGP更新信息可以被存储在本地磁盘412中。在这种情形下,本发明可以作为RS工作,该RS通过网络接口(WI)模块408,像现今窥镜应用所做的那样,将路由信息提供给网络用户。在本发明提供BGP代理解决方案的情况下,BMR模块407将重建的BGP消息转发到BSE模块410。来自特定被监视路由器的重建的BGP消息接着通过所建立的与外部路由服务器114的特定对等会话而被发送,或者如果多于一个路由服务器对接收特定路由器的路由信息感兴趣,那么就被复制到多个对等会话中。BSE模块410可以在与特定RS交谈时使用不同的IP地址或RS处的不同TCP端口,以在代表不同的被监视路由器的不同对等会话之间进行区分。 BGP会话信息包括时间戳,除BGP更新信息之外,该时间戳也被记录在本地磁盘412中。与必须中断BGP会话来保存任何BGP信息的Zebra不同,其上精确记录所有时间戳的重建的BGP更新被存储在本地磁盘412中。因此,通过比较时间戳并且知道没有中间时期的更新发生,本发明的实施例可以解决两个冲突的更新,其中当Zebra已经存储它的数据时,会发生中间时期的更新。
《路由监视.pdf》由会员分享,可在线阅读,更多相关《路由监视.pdf(16页珍藏版)》请在专利查询网上搜索。
本发明公开了一种路由监视器,其包括:至少一个通信分接头,其中所述至少一个通信分接头的每个被置于两个路由器之间的通信线路中;以及协议仿真器,用于重新组装由所述至少一个通信分接头捕获的路由协议消息,并响应于从网络设备接收的连接请求,使用重新组装的路由协议开启与该网络设备的路由协议连接。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1