确定网络中的故障路由器的系统、方法和程序的制作方法

文档序号:7734174阅读:147来源:国知局
专利名称:确定网络中的故障路由器的系统、方法和程序的制作方法
技术领域
本发明涉 及计算机系统和网络,更具体地说,涉及网络通信中故障的排除。
背景技术
目前,诸如因特网的计算机网络已众所周知。这种网络包括通信介质、防火 墙、路由器、网络交换机和集线器(一般来说,防火墙、网络交换机和集线器包括路由 器)。网络通常互连客户端计算机和服务器或者其它源设备和目的地设备。目的地“设 备”可以是子网的目的地计算机或者网关。就通过因特网的通信来说,在源计算机和目 的地设备之间一般存在多个路由器和许多可能的路由路径。当消息到达路由器时,路由 器判断到目的地设备的路径中的下一个路由器或者下一 “跳”。进行所述判断的已知算 法有多种,诸如 OSPF、RIP> IGRP> EIGRP> ISIS 或 BGP。利用 RIP、OSPF 和 ISIS 协 议的路由器试图经最短路径(即,中间路由器数目最少)把消息分组路由到目的地设备。 利用OSPF协议的路由器还能够根据用于把消息分组转发给下一跳的接口来确定到下一跳 的路径的带宽。利用IGRP和EIGRP协议的路由器尝试根据最大带宽、最短延迟和最短 路径因素来路由消息分组。利用BGP协议的路由器尝试根据最短的自治系统路径(即, 单个管理控制内的最少数目的路由器)或者最小的多出口标识(“MED” )(即,向相邻 路由器广告的一条路由比另一条路由优选等)来路由消息分组。OSPF、IGRP> EIGRP 和BGP路由功能识别并记录到大多数目的地设备的一条以上的路径,并尝试按照根据可 应用路由策略的顺序来利用所述路径。在常见的情况下,源计算机创建传给TCP/IP适配卡的消息。TCP/IP适配卡把 消息分成分组,并为每个分组添加首部。所述首部指定源IP地址和端口、目的地IP地址 和端口、以及协议。源计算机把消息分组转发给源计算机的防火墙或网关设备(诸如, 网关路由器)。一般来说,防火墙具有许可的消息流的列表(“规则”),即,被允许在 任意一个方向上经过防火墙的消息分组的源IP地址和端口、目的地IP地址和端口、以及 协议的组合的列表。通常,防火墙也包括路由器。如果消息分组被允许经过源网络的防 火墙,那么该路由器确定到目的地设备的路由中的“下一跳”路由器。如上所述,路由 器根据已知的路由协议来确定“下一跳”。消息分组随后逐个路由器地向目的地网络前 进,在目的地网络,目的地网络的防火墙或网关设备把消息分组转发给目的地计算机或 其它目的地系统(假定位于目的地网络的防火墙允许该分组的消息流)。偶尔,消息未能到达其目的地设备。这可以是由于通信路径中的路由器的故 障、通信路径中的路由器之间的通信链路的故障、通信路径中的防火墙的正确或不正确 阻塞、或者其它原因。管理员能够得知这种故障的途径有几种。例如,如果源设备未从目的地设备收 到预期响应,那么源设备的用户可呼叫帮助台或者以其它方式通知管理员。作为另一个 例子,如果路径中的路由器没有到达目的地设备的“路由”或者到下一跳的通信链路中 断,那么该路由器会向源设备返回出错消息。
当检测到网络中的故障时,管理员会设法识别该故障的原因并随后纠正该故障。在路径中的路由器不具有到目的地设备的“路由”或者到下一跳的通信链路中断的 情况下,所述出错消息会指示问题的类型。本发明的目的是改进网络通信中的故障的排除。

发明内容
本发明在于一种用于确定从源设备到目的地设备的通信的故障的原因的系统、 方法和程序产品。从源设备到目的地设备的优选路由包括按照前向顺序的一系列路由 器。第一程序指令确定按照从源设备朝向目的地设备的前向顺序的一系列路由器中的一 个或多个初始路由器。所述初始路由器中的最后一个路由器未指定按照朝向目的地设备 的前向顺序的一系列路由器中的下一个路由器。第二程序指令确定按照从目的地设备到 源设备的反向顺序的一系列路由器。第三程序指令从第二程序指令所确定的按照反向顺 序的一系列路由器中,确定初始路由器中的最后一个路由器应当把哪个路由器指定为其 按照朝向目的地设备的前向顺序的下一个路由器,并发送关于初始路由器中的最后一个 路由器应当把哪个路由器指定为其按照朝向目的地设备的前向顺序的下一个路由器的通 知。按照本发明的一个特征,第一程序指令部分地通过向源设备询问其朝向目的地 设备的下一个路由器以及向源设备的下一个路由器询问所述源设备的下一个路由器朝向 目的地设备的下一个路由器,来确定按照前向顺序的一系列路由器中的一个或多个初始 路由器。第二程序指令通过向目的地设备询问其朝向源设备的下一个路由器以及向目 的地设备的下一个路由器询问所述目的地设备的下一个路由器朝向源设备的下一个路由 器,来确定按照从目的地设备到源设备的反向顺序的一系列路由器。按照本发明的另一个特征,第四程序指令确定优选路由中的防火墙,并确定所 述防火墙是否包括允许从源设备到目的地设备的消息流过所述防火墙的规则,如果否, 那么生成所述防火墙不包括允许从源设备到目的地设备的消息流过所述防火墙的规则的 通知。


图1是包括本发明的网络管理服务器、以及所述网络管理服务器能够排除网络 通信故障的通信的源计算机、网络设备、路由器和目的地设备的方框图。图2(A_F)构成按照本发明的网络管理服务器内的网络通信故障排除程序的流程 图。
具体实施例方式现在将参考附图,详细说明本发明。图1图解说明了其中具体体现本发明的分 布式计算机系统10。系统10包括子网30上的源计算机20和使子网30与私有或公共网 络34(诸如公共因特网)接口的网关设备(例如,网关计算机)40。网络34包括把来自 网关设备40的消息分组(源自源计算机20)转发给目的地子网230的网关设备240的许 多路由器,诸如网络路由器36-1,36-2,36-3...36-N。路由器可以是WAN路由器、用户接入路由器、用户的内部路由器、因特网接入路由器、因特网内的路由器等。目的地 计算机220驻留在子网230上并处理源计算机20所发送的消息。目的地计算机220还经 由网关设备2 40、网络路由器36-1,36-2,36-3...36-N、和网关设备40,向源计算机20 发送(响应和原始)消息,源计算机20处理这些消息。源计算机20可以是工作站、服务器或其它类型的计算机,并包括公共总线25上 的已知CPU 21、操作系统22、RAM 23和ROM 24以及存储器26和TCP/IP适配卡27。 源计算机20还包括已知的计算机程序,诸如生成给目的地计算机220 (及其它目的地计算 机)的输出消息并还处理输入消息的应用程序28。网关设备40包括公共总线45上的已知CPU 41、操作系统42、RAM 43和ROM 44以及存储器46和TCP/IP适配卡127。网关设备40还包括已知路由器或路由功能47 (用 硬件和/或软件具体化),诸如OSPF、RIP、ISIS、IGRP> EIGRP或BGP路由功能。这
些已知的路由功能识别和记录到目的地设备(例如,目的地子网或者目的地计算机)的一 个或多个路由路径或“路由”,诸如节点(例如,路由器、防火墙等)。识别和记录到目 的地设备的一个或多个路由路径的其它路由功能也可被用于路由功能47。已知的RIP、 OSPF和ISIS路由功能尝试经由最短路径(即,中间路由器数目最少)把消息分组路由到 目的地设备。已知的OSPF路由功能还能够根据用于把消息分组转发给下一跳的接口来 确定到下一跳的路径的带宽。已知的IGRP和EIGRP路由功能尝试根据最大带宽、最短 延迟和最短路径因素来路由消息分组。已知的BGP路由功能尝试根据最短的自治系统路 径(即,单个管理控制内的最少数目的路由器)或者最小的多出口标识(“MED)(即, 向相邻路由器广告的一条路径比另一条路径优选等)来路由消息分组。OSPF、IGRP> EIGRP和BGP路由功能识别并记录到大多数设备的一条或多条路由,并尝试按照根据可 应用路由策略的顺序来利用所述路径。网关设备40还包括已知的防火墙48和TCP/IP适配卡127。防火墙48具有许 可的消息流的列表52( “规则”),S卩,被许可在每个方向上经过防火墙48的消息分组 的源IP地址和端口、目的地IP地址和端口、以及协议的组合的列表。目的地计算机220可以是工作站、服务器或者其它类型的计算机,并包括公共 总线225上的已知CPU 221、操作系统222、RAM 223和ROM 224以及存储器226和 TCP/IP适配卡227。目的地计算机220还包括已知的计算机程序228,该计算机程序228 生成给源计算机20 (以及其它源计算机)的输出消息,并还处理来自源计算机20 (以及其 它源计算机)的输入消息。网关设备240包括公共总线245上的已知CPU 241、操作系统242、RAM 243和 ROM 244以及存储器246。网关设备240还包括已知路由器或路由功能247 (用硬件和/ 或软件具体化),诸如OSPF、RIP> ISIS、IGRP> EIGRP或BGP路由功能。这些已知的
路由功能识别和记录到目的地设备的一个或多个路由路径。识别和记录到目的地设备的 一个或多个路由路径的其它路由功能也可被用于路由功能247。如上所述,已知的RIP、 OSPF和ISIS路由功能尝试经由最短路径(即,中间路由器数目最少)把消息分组路由到 目的地设备。已知的OSPF路由功能还能够根据用于把消息分组转发给下一跳的接口来确 定到下一跳的路径的带宽。已知的IGRP和EIGRP路由功能尝试根据最大带宽、最短延 迟和最短路径因素来路由消息分组。已知的BGP路由功能尝试根据最短的自治系统路径(即,单个管理控制器内的最 少数目的路由器)或者最小的多出口标识(“MED”)(即, 向相邻路由器广告的一条路径比另一条路径优选等)来路由消息分组。OSPF、IGRP> EIGRP和BGP路由功能识别并记录到目的地设备的一条或多条路径,并尝试按照可应用 路由策略的顺序来利用所述路径。网关设备240还包括已知的防火墙248。防火墙248具有许可的消息流的列表 252 ( “规则”),S卩,被许可在每个方向上经过防火墙的消息分组的源IP地址和端口、 目的地IP地址和端口、以及协议的组合的列表。图1还图解说明了网络管理服务器300,所述网络管理服务器300包括公共总线 325上的已知CPU 321、操作系统322、RAM 323和ROM 324以及存储器326。 网络管 理服务器300还包括按照本发明的网络通信故障排除程序330,以确定发生故障的网络通 信的原因,并采取纠正行动。程序330包括表340,表340具有每个路由器36-1 36-N 及网关设备40和240(以及网络中的其它网关设备、路由器和防火墙)的登录/验证信 息。当管理员由于通信故障而调用程序330时(或者当直接向程序330发送通信故障的消 息),程序330利用所述登录/验证信息,登录到优选路径中的每个路由器36-1 36-N 及网关设备40和240。程序330通过从源设备或者报告通信故障的设备开始,检查该设 备的路由表以确定下一跳,来顺序地识别优选路径中的路由器36-1 36-N及网关设备 40和240。随后,程序330登录到下一跳,并检查该跳的路由表以确定下一跳等。接下 来,程序330读取和记录下列信息(a)它们各自保存的路由表,对于每个路由表中的每 个目的地设备,所述各自保存的路由表包括目的地设备的名称、目的地网络、目的地子 网、通常被称为“目的地网关”的下一跳设备(即,下一跳路由器、下一跳防火墙或者 目的地子网的网关设备)的名称;(b)它们各自的任务路由表,对于每个任务路由表中的 每个目的地设备,所述各自的任务路由表包括作业的名称(即,目前访问任务路由表的 人的姓名)、目的地设备的名称、目的地网络的名称、目的地子网的名称、通常称为“目 的地网关”的下一跳(即,下一跳路由器、下一跳防火墙或者目的地子网的网关设备) 的名称;(C)它们各自保存的接口表,所述各自保存的接口表包括目前正被访问的路由 器或网关设备的名称、路由器或网关设备的接口名称(例如ETHO、ETHU FastETHO, FastETHl),路由器或网关设备的接口 IP地址、以及路由器或网关设备的接口子网掩码 (接口子网掩码一般识别同一子网内的其它IP地址);(d)它们各自的任务接口表,所述 各自的任务接口表包括当前作业的标识(即,目前访问任务路由表的人的姓名)、目的地 设备的名称、目的地网络的名称、目的地子网的名称、以及通常被称为到目的地设备的
“目的地网关”的下一跳(即,下一跳路由器、下一跳防火墙或者目的地子网的网关设 备)的名称。另外,对于优选路径中的每个防火墙,程序330读取和记录对于经过相应 防火墙48和248的许可的消息流的规则列表52和252,包括每个方向上的源IP地址和端 口、目的地IP地址和端口、以及协议的许可组合。在通信故障是由于优选路径中接收到通信但是未列出到目的地设备的正确下一 跳路由器(从而不把通信转发给正确的下一跳路由器)的错误配置的路由器的情况下,程 序330停止关于该错误配置的路由器的上述前向分析。随后,程序330通过从目的地设 备开始逐跳地朝向初始源设备前进,在反向上重复上述分析。一般来说,至少一个方向 (这种情况下是反向)上的所有路由器将被正确配置成都列出优选路由中它们各自的下一跳。假定按照反向顺序的下一跳的列表与优选路由相符,那么程序330比较该按照反向顺序的下一跳的列表与按照前向顺序的下一跳的列表,并且注意到错误配置的路由器的 路由表中的错误。例如,假定(a)按照路由器36-1到36-N(其中N = 5)的顺序的路由 器36-1 36-N是从源设备20到目的地设备220的优选/唯一路由;(b)路由器36_2(前 向上)列出路由器37作为朝向目的地设备220的下一跳,而不是路由器36-3,并且从设 备20朝向设备220的通信在路由器36-2故障;以及(c)路由器36_3 (反向上)列出路由 器36-2作为朝向源设备20的下一跳,并且从设备220朝向设备20的通信成功,那么, 程序330确定路由器36-2中关于目的地设备220的路由表条目应当被改为36_3,以匹配 /符合另一方向上的成功路由。因此,程序330把其路由表未指定到目的地设备的优选路由中的下一跳的路由 器识别为通信故障的原因。随后,程序330为其现有路由表未指定到目的地设备的优选 路由中的下一跳的路由器生成“测试”路由表。所述“测试”路由表列出到目的地设备 的优选路由中的下一跳。随后,通过利用“测试”路由表而不是现有路由表,程序330 在两个方向上对优选路由中的所有路由器重复上述分析,以确定它们是否都列出了优选 路由中的下一个路由器作为它们的下一跳。如果否,那么程序330按照与如上所述相同 的方式,为未列出到目的地设备的优选路由中的下一跳的路由器生成并使用另一个“测 试”路由表。当优选路由中的所有路由器根据它们的现有路由表(在没有“测试”路 由表的情况下)或者根据它们的“测试”路由表(如果程序330已经生成了 “测试”路 由表)列出了优选路由中的下一跳时,程序330通知管理员为了实现优选路由而需要各自 的“测试”路由表的每个路由器以及为了实现优选路由而需要被添加到各自的路由表中 的“下一跳”。作为响应,管理员能够手动更新这样的路由器的路由表,或者指令程序 330更新路由表,以用“测试”路由表来替换现有路由表。或者,当优选路由中的所有 路由器都根据它们的现有路由表(在没有“测试”路由表的情况下)或者根据它们的“测 试”路由表(如果程序330生成了 “测试”路由表)列出了优选路由中的下一跳时,程 序330能够自动更新路由表,以用“测试”路由表来替换现有路由表。来自到目的地设备的优选路由中的路由器的路由表的下一跳信息可包括优选路 由中的一个或多个防火墙。借助该信息,程序330识别优选路由中的所有防火墙,包括 源计算机的防火墙(如果有的话)和目的地计算机的防火墙(如果有的话)。随后,程序 330登录到这些防火墙,获得这些防火墙的对于许可的消息流的规则,以确定这些防火墙 是否许可所述故障通信的消息分组通过,即,包括所述故障通信的源IP地址和端口、目 的地IP地址和端口、以及协议的许可的消息流。如果否,那么程序330把不许可故障通 信的消息分组流过的防火墙识别为可能有问题。另外,程序330为其对于许可的消息流 的现有规则不许可所述故障通信的防火墙生成对于许可的消息流的规则的新“测试”列 表。所述“测试”列表是其对于许可的消息流的现有规则不允许所述故障通信的防火墙 中的对于许可的消息流的现有规则列表的副本,另外还包括“测试”规则。所述“测 试”规则允许所述故障通信流过该防火墙。随后,程序330对优选路由中的所有防火墙 重复上述分析,以确定它们是否都包括许可所述故障通信流过的规则,并在所述重复分 析中使用“测试”列表而不是现有列表。程序330还通知管理员不包括许可所述故障通 信的规则的任何防火墙,并询问管理员所述防火墙是否应当包括许可所述故障通信的这种规则。如果该防火墙不应当许可该消息流,那么该防火墙是正确的,并且不应当被改 变。否则,管理员能够重新配置该防火墙,用规则的“测试”列表来替换规则的现有列 表,或者请求程序330用“测试”列表来替换现有列表。图2 (A-F)更详细地图解说明了程序330的功能和操作。在步骤400,程序330 从管理员接收故障通信的源IP地址和目的地IP地址的标识(或者能够自动地从由生成故 障通信消息的源设备或路由器发送的故障通信消息中接收该信息)。作为响应,程序330 从服务器(未示出)确定源设备(例如,源计算机20)的身份和目的地设备(例如,目 的地计算机220)的身份(步骤402)。然后,程序330尝试连接到源设备和目的地设备 (判定410)。对于程序330能够连接(判定410, “是”分支)的每个源设备和目的地 设备,程序330提取它们的路由和接口配置(步骤414)。之后,如果程序330能够连接 到源设备,那么程序330确定源设备的路由和配置信息是否与源设备的数据库匹配,以 及如果程序330能够连接到目的地设备,那么程序330确定目的地设备的路由和配置信息 是否与目的地设备的数据库匹配(判定420)。如果是(判定420, “是”分支),那么 程序 330解析接口和路由信息与设备匹配的每个源设备和目的地设备(程序330能够连接 和取回)的路由和配置信息(步骤430)。如果源设备的路由和接口配置信息与源设备的 数据库不匹配(判定420,“否”分支),那么程序330更新源设备和/或目的地设备的 数据库,使得该数据库与路由和接口信息匹配(步骤424),随后进行到步骤430,解析路 由和接口信息。重新参见判定410,“否”分支,其中程序330不能连接并从源设备和/或目的 地设备取回路由和接口配置信息。在这种情况下(判定410, “否”分支),程序330 在可从源设备和目的地设备获得路由和接口信息的程度上,取回路由和接口信息(步骤 450)。随后,程序330确定它是否能够从源设备和目的地设备取回所有路由和接口信息 (判定460)。对于程序330不能从源设备和目的地设备取回的任何路由和接口信息(判定 460,“否”分支),程序330询问管理员手动输入该路由和接口信息(步骤464)。作为 响应,管理员手动输入该路由和接口信息。重新参见判定460,“是”分支,其中程序 330能够从源设备和目的地设备取回所有路由和接口信息。在这种情况下,程序330显 示取回的路由和接口信息(步骤470),随后询问管理员他是否想要使用该路由和接口信 息(判定474)。如果否,那么程序330进行到步骤464,请求管理员输入任何他想要使 用的路由和接口信息。重新参见判定474,“是”分支,或者在步骤464之后,这时, 管理员对源设备和目的地设备的路由和接口信息感到满意。在这种情况下,程序330进 行到步骤430,解析路由和接口配置信息。在判定500,程序330开始分析“当前设备”。在步骤500-524的第一次迭代 期间,当前设备是源设备(在步骤500-524的后续迭代期间,“当前”设备是相对于步 骤500-524的前一次迭代的下一跳设备)。如果当前设备是源设备(判定500,“否” 分支),那么程序330检查源设备的路由表,以确定是否存在到目的地设备的特定优选 路由(判定510)。如果否(判定510,“否”分支),那么程序330确定源设备是否具 有到目的地设备的默认优选路由(判定514)。默认优选路由包括朝向目的地设备的下一 跳。如果由于当前设备是目的地设备或者已错误地遗漏默认优选路由,源设备不具有默 认优选路由(判定514,“否”分支),那么程序330从当前设备开始,开始反向路径分析,如下所述。如果源设备具有默认优选路由(判定514,“是”分支),或者在判定510源设备具有到目的地设备的特定路由之后,程序330把下一跳的身份、优选路由和源 设备的接口信息插入任务数据库(步骤520)。随后,程序330把下一跳设备(相对于当 前设备)设为当前设备(步骤524)。之后,程序330进行到判定410和步骤414-430, 以尝试取回现在的当前设备的路由和接口信息,如上所述,随后对现在的当前设备重复 步骤500-524。在与优选路由中的路由器的数目近似对应的步骤500-524的多次迭代之 后,“当前”设备将是目的地设备(判定500,“是”分支)。此时,程序330结束它 的优选路径中的路由器的分析(步骤502),并进行到步骤600。在其中当前设备是目的地设备的步骤502的迭代之后,或者如果不存在从当前 设备到目的地设备的任何特定路由或默认路由,那么程序330开始确定从当前设备到初 始源设备的反向上的路由器(步骤600)。之后,程序330把初始源设备设为新的目的地 设备(步骤602)。接下来,从当前设备开始,对反向优选路径中的设备(如在前向的步 骤410-474的前述迭代中设置的那样)执行上述步骤410' -474'和500' -524'。步骤 410' -474'分别和步骤410-474相同,除了在步骤410' -474'中分析的“当前”设备 的顺序颠倒之外。步骤500' -524'分别与步骤500-524相同,除了在步骤500' -524' 中分析的“当前”设备的顺序颠倒之外。从而,在判定500'中,程序330确定当前设 备是否是初始源设备,如果是,那么完成(从按照前向顺序分析的最后一个设备)到初始 源设备的反向路径的分析。之后,程序330确定是否存在从初始源设备到初始目的地设备的(前向顺序)路 由器的完整路径,即,路径中的所有路由器都具有按照优选路由列出通向目的地设备的 下一跳的路由表(判定800)。之后,程序330确定是否存在从初始目的地设备到初始源 设备的反向顺序完整路径(判定810)。如果是(判定810,“是”分支),那么程序330 确定除了方向之外,按照前向顺序的路径是否与按照反向顺序的路径相同(判定814)。 如果是(判定814,“是”分支),那么路由表是良好的并且不需要更新(步骤816)。如 果否(判定814, “否”分支),那么程序330显示前向上的路由器的列表和反向上的路 由器的列表(步骤818)。程序330突出这两个列表之间的差异,S卩,前向路径中不是反 向路径的一部分的路由器,反之亦然(步骤820)。程序330还列出/识别在任意一个方 向上对一个或多个路由器的路由表的改变,以使前向路由和反向路由相同,并对应于在 源网关设备40的路由器或者从源设备到目的地设备的路径中的第一个路由器中指示的优 选路由。重新参见判定800,“否”分支,其中不存在从初始源设备到初始目的地设备的 前向完整路径。在这种情况下,程序330编译在到初始目的地设备的路由之中,从源设 备到在步骤524中识别的最下游路由器的路由器的列表,每个路由器具有其前向上的下 一跳的标识和为初始目的地IP地址的目的地IP地址(步骤802)。重新参见判定810,“否”分支,其中不存在从初始目的地设备到初始源设备的 反向完整路径(判定810,“否”分支)。在这种情况下,程序330编译从在步骤524中 识别的最下游路由器到初始源设备的路由器的列表,每个路由器具有其在反向上的下一 跳的标识和为初始源IP地址的目的地IP地址(步骤822)。在步骤802或步骤822之后,程序330颠倒/反转路由器列表中的路由器(步骤840),并确定任务数据库列表中的名称和目的地网关/下一跳路由器(在判定844的第一 次迭代期间路径中的第一个路由器)是否与反转的路由器列表中的当前路由器的名称和 目的地网关/下一跳路由器匹配(判定844)。如果是(判定844, “是”分支),那么 程序330把当前路由器的名称添加到路由器的列表中以便显示(步骤846)。随后,程序 330确定在反转的列表中是否存在更多的路由器(判定848)。如果是(判定848,“是” 分支),那么程序330使反转的列表中的下一个路由器成为当前路由器(步骤850),并返 回到判定844以重复上述步骤844、846和848。重新参见判定844,“否”分支,其中 来自任务列表的名称和目的地网关/下一跳路由器与反转的路由器列表中的当前路由器 的名称和目的地网关/下一跳路由器不匹配。在这种情况下,程序330把来自任务数据 库的下一跳路由器的名称添加到路由器的列表中以便显示,并把该下一跳路由器标记为 缺失(步骤854)。随后,程序330使反转的列表中的下一个路由器成为当前路由器(步 骤850),并返回到判定844,以对现在的当前路由器重复上述步骤844、846和848。程 序330对反转的列表 中的每个路由器重复上述步骤844-854(判定848,“否”分支),此 时程序330显示所显示的路由器列表中的路由器(步骤860)。来自到目的地设备的路由中的路由器的路由表的下一跳信息可包括优选路由中 的一个或多个防火墙(判定900)。程序330识别优选路由中的所有防火墙(步骤902), 包括源计算机的防火墙(如果有的话)和目的地计算机的防火墙(如果有的话)。随后, 程序330登录到这些防火墙,并获得这些防火墙的对于许可的消息流的规则(步骤908), 并确定这些防火墙是否许可故障通信的消息分组通过(判定910)。如果否(判定910,
“否”分支),那么程序330把不许可故障通信的消息分组流过的防火墙识别为可能有问 题,并创建该潜在问题的通知(步骤916)。另外,程序330为其对于许可的消息流的现 有规则不允许故障通信的防火墙生成对于许可的消息流的规则的新的“测试”列表(步 骤920)。所述“测试”列表是其对于许可的消息流的现有规则不允许故障通信的防火 墙中的对于许可的消息流的现有规则列表的副本,另外还包括“测试”规则。所述“测 试”规则许可故障通信流过防火墙。随后,程序330对优选路由中的所有防火墙重复上 述分析(步骤902、908、判定910、步骤916和步骤910),以确定它们是否都包括许可 故障通信流过的规则,并在所述重复分析中使用“测试”列表而不是现有列表。在步骤 916,程序330还通知管理员不包括许可故障通信的规则的任何防火墙,并询问管理员所 述防火墙是否应当包括许可故障通信的这种规则。如果该防火墙不应当许可该消息流, 那么该防火墙是正确的并且不应被改变。否则,管理员能够配置该防火墙,或者通知程 序330配置该防火墙,以用规则的“测试”列表来替换规则的现有列表,或者请求程序 330用“测试”列表来替换现有列表(步骤930)。程序330可从计算机可读介质350,诸如磁带或磁盘、光学介质、DVD、半导体 存储器、存储棒等载入服务器300中,或者经TCP/IP适配卡360从因特网下载到服务器 300。根据上面所述,公开了确定网络通信中的故障的系统、方法和程序。不过,在 不脱离本发明的范围的情况下,可做出众多的修改和替代。于是,上述公开内容只是对 本发明的举例说明,而不是对本发明的限制,确定本发明的范围应参考下面的权利要求 书。
权利要求
1.一种计算机实现的用于确定从源设备到目的地设备的通信的故障的原因的方法, 从所述源设备到所述目的地设备的路由包括按照前向顺序的一系列路由器,所述方法包 括下述步骤确定按照从所述源设备朝向所述目的地设备的所述前向顺序的所述一系列路由器中 的一个或多个初始路由器,所述初始路由器中的最后一个路由器未指定按照朝向所述目 的地设备的所述前向顺序的所述一系列路由器中的下一个路由器;确定按照从所述目的地设备朝向所述源设备的反向顺序的所述一系列路由器;从按照反向顺序的所述一系列路由器中,确定所述初始路由器中的所述最后一个 路由器应当把哪个路由器指定为按照朝向所述目的地设备的所述前向顺序的下一个路由 器,并发送关于所述初始路由器中的所述最后一个路由器应当把哪个路由器指定为按照 朝向所述目的地设备的所述前向顺序的下一个路由器的通知。
2.按照权利要求1所述的计算机实现的方法,其中确定按照所述前向顺序的所述一系列路由器中的所述一个或多个初始路由器的步骤 部分包括向所述源设备询问其朝向所述目的地设备的下一个路由器的步骤,和向所述源 设备的下一个路由器询问所述源设备的所述下一个路由器朝向所述目的地设备的下一个 路由器的步骤;确定按照从所述目的地设备到所述源设备的所述反向顺序的所述一系列路由器的步 骤部分包括向所述目的地设备询问其朝向所述源设备的下一个路由器的步骤,和向所述 目的地设备的下一个路由器询问所述目的地设备的所述下一个路由器朝向所述源设备的 下一个路由器的步骤。
3.按照权利要求1所述的计算机实现的方法,还包括下述步骤确定优选路由中的防火墙,并确定所述防火墙是否包括许可从所述源设备到所述目 的地设备的消息流过所述防火墙的规则,如果否,那么生成所述防火墙不包括许可从所 述源设备到所述目的地设备的所述消息流过所述防火墙的规则的通知。
4.一种系统,所述系统包括适合于执行按照任意前述方法权利要求所述的方法的所 有步骤的装置。
5.一种计算机程序,包括当在数据处理设备上执行所述计算机程序时,特别适合于 执行按照任意前述方法权利要求所述的方法的步骤的指令。
全文摘要
确定从源设备到目的地设备的通信的故障的原因的系统、方法和程序。从源设备到目的地设备的优选路由包括按照前向顺序的一系列路由器。第一程序指令确定按照从源设备朝向目的地设备的前向顺序的一系列路由器中的一个或多个初始路由器。所述初始路由器中的最后一个路由器未指定按照朝向目的地设备的前向顺序的一系列路由器中的下一个路由器。第二程序指令确定按照从目的地设备到源设备的反向顺序的一系列路由器。第三程序指令从由第二程序指令确定的按照反向顺序的一系列路由器中,确定初始路由器中的最后一个路由器应当把哪个路由器指定为按照朝向目的地设备的前向顺序的其下一个路由器,并发送关于初始路由器中的最后一个路由器应当把哪个路由器指定为按照朝向目的地设备的前向顺序的其下一个路由器的通知。
文档编号H04L12/24GK102027712SQ200980117471
公开日2011年4月20日 申请日期2009年5月27日 优先权日2008年5月30日
发明者J·J·迈克库特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1