存储网络流信息的制作方法

文档序号:7943556阅读:193来源:国知局
专利名称:存储网络流信息的制作方法
技术领域
本发明的实施例大体涉及网络计算机系统。
背景技术
计算机系统通常被联网到其他计算机系统。网络能够包括计算机系统、交换机、路由器和其他网络装置。在一些情况下,经由网络发送的信息、网络业务和/或网络分组可能损害计算机系统或以另外方式对其有不利影响。因此,期望追踪和定位发送信息、网络业务和/或网络分组的计算机系统。在一些情况下,发送信息、网络业务和/或网络分组的源计算机系统的地址是伪装或欺骗的。这使得难以追踪源计算机系统。已经开发出了用于追踪和定位这种具有不正确的地址信息的源计算机系统的技术,不过这种技术要求源计算机系统连续地发送信息和网络业务或发送多于一个的网络分组。因此,没有用于追踪具有不正确的地址信息的源计算机系统的实用方案。

发明内容
本文中描述了用于存储网络流信息的本发明技术的各种实施例。在网络装置处接收包括网络协议流信息的网络分组,该网络分组包括网际协议(IP)头部,其包括网际协议源和目的地信息对。在网络装置的存储表处存储IP源和目的地信息对。使得所述IP源和目的地信息对可用于搜索。


图1示出根据本发明技术的实施例的示例计算机网络的框图。图2示出根据本发明技术的实施例的、用于存储网络流信息的示例方法的流程图。图3示出根据本发明技术的实施例的、用于存储和跟踪网络流信息的示例方法的流程图。图4示出可以在其上实现本发明技术的实施例的示例计算机系统的图示。图5示出根据本发明技术的实施例的、包含网络流信息的表。在实施例的本说明中所引用的附图应该被理解为并非按照比例绘制,除非特别注明。
具体实施例方式现在将详细参考本发明技术的实施例,这些实施例的示例在附图中图示。虽然将结合(一个或多个)各种实施例来说明此技术,应该理解,它们不意图将本发明技术限制于这些实施例。相反,本发明技术意图覆盖可以被包括在如由所附权利要求书定义的各种实施例的精神和范围内的替代方案、修改和等效物。此外,在对实施例的以下说明中,阐明了许多特定细节以提供对本发明技术的彻底理解。但是,本发明技术没有这些特定细节也可以实现。在其他情况中,没有详细说明公知的方法、过程、部件和电路,以避免不必要地模糊本实施例的方面。除非如从以下讨论中显而易见的那样另有特定陈述,应理解,遍及实施例的此说明中,使用诸如“接收”、“存储”、“使得…可用”、“检测”、“访问”、“跟踪”、“扩宽”等术语的讨论指代计算机系统或类似电子计算装置的动作和过程。计算机系统或类似电子计算装置对表示为计算机系统的寄存器和存储器中的物理(电子)量的数据进行操纵并将其转换成类似表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示装置中的物理量的其他数据。本发明技术的实施例也良好适于其他计算机系统的使用,所述其他计算机系统诸如例如光学和机械计算机。讨论概述
本发明技术的实施例用于存储和跟踪网络流信息。例如,网络流信息在网络中发生。此网络流信息包括网络协议流,所述网络协议流被携载于包括网际协议(IP)头部的至少一个网络分组中。网络分组的IP头部包括IP源和目的地信息对。该网络包括网络装置,所述网络装置包括存储表,所述存储表存储IP源和目的地信息对。使得存储在存储表中的IP 源和目的地信息对可用于搜索。网络分组的IP头部还可以包括源和目的地端口信息,其也可以被存储并如果可用的话使其可用于搜索。在以下的实施例中,参照“(一个或多个)网络分组”。该术语应被解释为用于在计算机系统和其他硬件装置的网络上发送信息的典型的网络分组。应该认识到,网络分组包括但不限于IP头部以及还包括也称为有效载荷的用户数据,所述IP头部也称为控制信息, 所述控制信息包括递送网络分组所需的数据。以下讨论将展示各种硬件、软件和固件部件,所述各种硬件、软件和固件部件与用于使用本发明技术的各种实施例以存储和跟踪网络流信息的网络装置和计算机系统一起使用,以及用于所述网络装置和计算机系统中。此外,网络装置、计算机系统和它们的方法可以包括下面讨论的硬件、软件和固件部件中的一些、全部或不包括任何一种。存储网络流信息的实施例
现在参考图1,示出根据本发明技术的实施例的包括用于存储和跟踪网络流信息的网络系统的示例环境的框图。环境100包括主计算机系统105、网络装置110、网络装置115、 网络装置120、网络装置125和主计算机系统130。环境100包括可以或可以不与本发明技术的不同实施例一起使用的部件,且不应解释为限制本发明技术。应该认识到,环境100的部件可以实现为软件、硬件、固件或其任何组合。图1被绘制以在一个实施例中图示具有两个计算机系统的环境100,该两个计算机系统为主计算机系统105和主计算机系统130。在一个实施例中,主计算机系统105发送网络分组,其中主计算机系统130作为接收器或最终目的地。在这种实施例中,经由网络装置110、网络装置115、网络装置120和网络装置125,将网络分组发送到主计算机系统130。 应该认识到,主计算机系统105可以发送多于一个的网络分组,但是为了本发明技术的目的仅仅需要发送一个网络分组。在一个实施例中,主计算机系统130的用户期望跟踪所接收的网络分组,以确定哪个计算机系统发送了该网络分组。如果网络分组的发送者欺骗或伪装了它们在网络上的地址,则该任务会是复杂的。应该认识到,这种欺骗或伪装可能由恶意用户有意发生。另外,网络分组可以包括在主计算机系统130上造成不期望或不利结果的信息,其增加了跟踪网络分组以确定哪个计算机系统发送了该网络分组的需求。为了获得跟踪网络分组的能力,在一个实施例中,网络装置110、网络装置115、网络装置120和网络装置125被配置为包括硬件存储表。在一个实施例中,硬件存储表是实际上定位于网络装置中的硬件部件。该硬件存储表具有存储在网络分组中包括的信息的能力,所述网络分组经由所述存储表作为其部分的网络装置来发送。具体地,硬件存储表存储网络分组的IP头部的信息或控制信息。在一个实施例中,由硬件存储表存储的信息被称为网络IP流。应该认识到,硬件存储表也可以被包括在网络装置中的软件或固件中。应该认识到,网络装置110、网络装置115、网络装置120和网络装置125能够是交换机、路由器、较大计算机系统的部件部分,或在计算机网络系统中使用的其他装置。另外, 在图1中图示的网络装置也可以连接到图1中未示出的其他网络装置。此外,在一个实施例中,网络装置包括如下处理器、能够是随机存取存储器或更持久的存储器的存储器、以及能够是以太网端口或通用串行总线端口的至少一个物理端口。网络装置能够是硬件的独立件,或其能够是计算机系统的部件。在一个实施例中,IP头部或控制信息包括IP源和目的地信息对,以及还可以包含源和目的地端口信息。该IP源和目的地信息对包括识别如下地址的信息意图接收网络分组的作为目的地的计算机系统的地址;以及发送网络分组的作为源的计算机系统的地址。 如上所述,发送网络分组的计算机系统的地址可能是伪装或欺骗的。应该认识到,IP源和目的地信息对能够是网际协议(IP)地址、介质访问控制(MAC)地址、虚拟局域网(VLAN)地址、以及意图识别网络分组的源和目的地的任何其他网络地址。应该认识到,源和目的地端口信息能够是但不局限于用于传输控制协议端口和用户数据报协议端口(TCP/UDP端口) 的源和目的地信息。参考图5,表500是示出网络流信息的表,所述网络流信息包括将被存储在硬件存储表中的IP源和目的地信息对。列505包含IP源地址。列510包含IP目的地地址。列 515包含MAC源地址。列520包含MAC目的地地址。列525包含VLAN源。列530包含源端口信息。应该认识到,表500不限于其中所示的数据类型,其还能够包含关于IP协议、传输控制协议(TCP)端口、用户数据报协议(UDP)端口的数据和其他相关数据。再次参考图1,在一个实施例中,使得在硬件存储表中存储的网络网际协议流可用于搜索。能够执行此搜索,以识别网络分组的源计算机系统或发送者。例如,主计算机系统 105经由网络装置110、网络装置115、网络装置120和网络装置125将网络分组发送到主计算机系统130。主计算机系统130确定期望跟踪网络分组到源计算机系统,但是在检查网络分组时,发现源地址已经是欺骗的。为了跟踪和定位源计算机系统,搜索网络装置的硬件存储表。在此示例中,首先搜索网络装置125,因为其被直接连接到主计算机系统130。搜索网络装置125的硬件存储表以寻找等同于网络分组中的IP源和目的地信息对的IP源和目的地信息对。一旦相同的IP源和目的地信息对被定位于网络装置125中,还检测源端口信息,以及搜索连接到网络装置125的其他网络装置以寻找相同的源端口信息。如果源端口信息不可用,则IP源和目的地信息对将被用于搜索。在此示例中,使用源端口信息跟踪相同的IP源和目的地信息对到网络装置120。然后,使用在网络装置120的存储表中找到的源端口信息,对连接到网络装置120的装置执行搜索。搜索以此方式从一个网络装置到下一个网络装置使用源端口信息继续跟踪IP源和目的地信息对,直到发现源计算机系统为止。应该认识到,源端口信息并不总是可用的,在这种情况中,搜索可以使用IP源和目的地信息对来继续。在此示例中,即便源计算机系统仅仅发送一个网络分组,也定位该源计算机系统。 即便源计算机系统伪装或欺骗了它们的网络地址,也能够定位该源计算机系统。这是因为网络装置的硬件存储表存储了与通过网络装置传输的所有分组相关的网络IP流信息而得以实现的。应该认识到,硬件存储表无需无限期地存储网络IP流信息,而是需要存储该信息达一定量的时间,一旦期望定位源计算机系统,所述时间将允许进行搜索。在一个实施例中,所述搜索将通过搜索边缘网络装置而非核心网络装置来开始。 边缘网络装置被定义为是直接连接到主计算机系统以及至少一个其他网络装置的网络装置。核心网络装置被定义为是仅仅连接到其他网络装置的网络装置。理想地,边缘网络装置会经历较少的业务,并因此在它们的硬件存储表中存储有较少的IP流信息。因此,由于要搜索较少的信息,搜索更快。另外,因为与目的地计算机系统连接的网络装置将是边缘网络装置,搜索更可能在边缘网络装置中找到匹配网络分组的IP源和目的地信息对。在一个实施例中,并非所有网络装置都包括硬件存储表。在这种实施例中,所述搜索和跟踪不能使用不包括硬件存储表的网络装置来发生。在此情况中,搜索是可缩放的,并被扩宽以包括未直接连接到主计算机系统130的网络装置。例如,如果网络装置125不包括硬件存储表,则搜索会被扩宽以包括网络装置120。在不同示例中,假设网络装置120不包括硬件存储表。在此示例中,IP源和目的地信息对将被使用源端口信息跟踪到网络装置 125。此时,搜索会被扩宽以包括网络装置115。如果网络装置115不包括硬件存储表,则搜索会被扩宽以包括网络装置110。搜索能够以此方式继续扩宽,直到使用源端口信息将IP 源和目的地信息对定位在网络装置或源计算机系统中为止。应该认识到,源端口信息并非总是可用的,在这种情况中,搜索可以使用IP源和目的地信息对来继续。在一个实施例中,所述搜索由计算机系统使用软件、程序、固件、硬件和/或算法的组合来执行,所述软件、程序、固件、硬件和/或算法的组合被设计为执行上述的搜索技术。在一个实施例中,主计算机系统130被用于执行搜索。操作
更一般地,在根据本发明的实施例中,存储和跟踪网络流信息被用于定位作为网络分组的源或发送者的主计算机系统。这种方法能够被实现为用于定位主计算机系统的抢先的方式,意味着该方法的前几步在期望跟踪和定位作为网络分组的源或发送者的主计算机系统之前实现。另外,这些方法能够用于在发送仅仅一个网络分组时跟踪主计算机系统。图2是图示根据本发明一个实施例的、用于存储网络流信息的过程200的流程图。 在一个实施例中,由处理器和电部件在计算机可读和计算机可执行指令的控制下来执行过程200。计算机可读和计算机可执行指令驻留于例如数据存储特征中,所述数据存储特征诸如计算机可用易失性和非易失性存储器。但是,计算机可读和计算机可执行指令可以驻留于任何类型的计算机可读介质中。在一个实施例中,由图1的主计算机系统130执行过程 200。在一个实施例中,使用过程200来存储网络流信息。在205,在一个实施例中,在网络装置处接收包括网络IP流信息的网络分组,该网络分组包括IP头部,所述IP头部包括 IP源和目的地信息对。在210,在一个实施例中,使用存储硬件表将网络IP流的IP源和目的地信息对存储在网络装置中。在一个实施例中,存储表是网络装置的硬件部件。应该认识到,存储表能够是硬件、软件、固件或其任何组合。在215,在一个实施例中,使得网络IP流的IP源和目的地信息对可用于搜索。图3是示出根据本发明一个实施例的、用于跟踪网络流信息的过程300的流程图。 在一个实施例中,由处理器和电部件在计算机可读和计算机可执行指令的控制下来执行过程300。计算机可读和计算机可执行指令驻留于例如数据存储特征中,所述数据存储特征诸如计算机可用易失性和非易失性存储器。但是,计算机可读和计算机可执行指令可以驻留于任何类型的计算机可读介质中。在一个实施例中,由图1的主计算机系统130执行过程 300。在一个实施例中,过程300被用于跟踪网络流信息。在305,在一个实施例中,检测包括网络协议流信息的至少一个网络分组。在310,在一个实施例中,访问由与网络分组相关联的网络协议信息识别的第一网络装置的存储表。在一个实施例中,存储表是第一网络装置的硬件部件。应该认识到,存储表能够是硬件、软件、固件或其任何组合。在315,在一个实施例中,跟踪与网络分组相关联的网络协议流信息到第二网络装置。在一个实施例中,重复步骤315以跟踪第三网络装置。在一个实施例中,重复步骤 315,直到发送该至少一个网络分组的主计算机系统被定位为止。在一个实施例中,执行步骤315以首先搜索边缘网络装置以及然后搜索核心硬件
直ο在一个实施例中,步骤315导致未发现第二网络装置。在这种实施例中,能够扩宽跟踪以包括搜索除了所述第二网络装置之外的网络装置的存储表。在一个实施例中,通过首先搜索在被直接连接到计算机系统的网络装置的硬件存储表中包含的网络协议流信息,来执行步骤315。在一个实施例中,此搜索可以被扩宽以包括未直接连接到计算机系统的网络装置。在类似实施例中,在已经发现第二网络装置之后, 可以对第三网络装置进行搜索。在这种实施例中,可以搜索直接连接到第二网络装置的网络装置,或可以将搜索扩宽以包括未直接连接到第二网络装置的网络装置。示例计算机系统环境
现在参考图4,用于提供由计算机可读和计算机可执行指令组成的通信的技术的实施例的部分,所述计算机可读和计算机可执行指令驻留于例如计算机系统的计算机可用介质中。也就是说,图4示出能够用于实现本发明技术的实施例的计算机的类型的一个示例。图4示出根据本发明技术的实施例使用的示例计算机系统400。应该认识到,图 4的系统400仅仅是个示例,且本发明技术的实施例能够在许多不同的计算机系统上或内操作,所述许多不同的计算机系统包括通用联网计算机系统、嵌入型计算机系统、路由器、 交换机、服务器装置、用户装置、各种中间装置/人工制品、独立计算机系统、移动电话、个人数据助理等。如图4中所示,图4的计算机系统400良好适于具有外围计算机可读介质402,诸如例如耦合到其的软盘、紧致盘等。图4的系统400包括地址/数据总线404,用于传输信息;以及耦合到总线404 的处理器406A,用于处理信息和指令。如图4中所示,系统400还良好适于多处理器环境, 其中,存在多个处理器406A、406B和406C。相反地,系统400还良好适于具有单个处理器, 诸如例如处理器406A。处理器406A、406B和406C可以是各种类型的微处理器中的任何一种。系统400还包括数据存储特征,诸如计算机可用易失性存储器408,例如随机存取存储器(RAM),其耦合到总线404以用于存储用于处理器406A、406B和406C的信息和指令。系统400还包括计算机可用非易失性存储器410,例如只读存储器(ROM),其耦合到总线404,用于存储用于处理器406A、406B和406C的静态信息和指令。系统400中还存在数据存储单元412 (例如磁盘或光盘以及盘驱动器),其耦合到总线404用于存储信息和指令。系统400还包括可选的字母-数字输入装置414,其包括耦合到总线404的字母数字和功能键,用于将信息和命令选择传输到处理器406A或处理器406A、406B和406C。系统400还包括耦合到总线404的可选的光标控制装置416,用于将用户输入信息和命令选择传输到处理器406A或处理器406A、406B和406C。本实施例的系统400还包括耦合到总线 404的用于显示信息的可选的显示装置418。依然参考图4,图4的可选的显示装置418可以是液晶装置、阴极射线管、等离子体显示装置或其他适于创建用户能够辨别的图形图像和字母数字字符的显示装置。可选的光标控制装置416允许计算机用户动态地用信号通知可见符号(光标)在显示装置418的显示屏幕上的移动。本领域中已知光标控制装置416的很多实现方式,包括跟踪球、鼠标、触摸板、操纵杆或能够用信号通知给定位移方向或位移方式的移动的字母数字输入装置414上的特殊键。可替代地,将认识到,能够使用特殊键和键序列命令经由来自字母数字输入装置 414的输入来导向和/或激活光标。系统400还良好适于使得由其他手段来导向光标,所述其他手段诸如例如语音命令。系统400还包括用于将系统400与外部实体耦合的I/O装置420。例如,在一个实施例中,I/O装置420是用于实现在系统400与外部网络之间的有线或无线通信的调制解调器,所述外部网络诸如但不局限于因特网。依然参考图4,图示用于系统400的各种其他部件。具体地,当存在时,操作系统 422、应用424、模块426以及数据4 被示出为典型地驻留在例如随机存取存储器(RAM) 的计算机可用易失性存储器408和数据存储单元412的一个或某种组合中。但是,应认识到,在一些实施例中,操作系统422可以存储在其他位置处,诸如存储在网络上或闪速驱动器上;以及进一步,可以经由例如到互联网的耦合从远程位置访问操作系统422。在一个实施例中,本技术例如被存储为RAM 408内的存储位置和数据存储单元412内的存储区域中的应用4 或模块426。本技术的实施例可以应用于所述系统400的一个或多个元件。例如,修改装置115A的用户接口 225A的方法可以应用于操作系统422、应用424、模块似6 和/或数据428。计算系统400仅仅是适合的计算环境的一个示例,并且不意图就本技术的使用或功能的范围暗示任何限制。计算环境400也不应解释为具有关于示例计算系统400中示出的部件的任何一个或组合的任何依赖性或要求。本技术的实施例可以在由计算机执行的例如程序模块的计算机可执行指令的一般上下文中进行描述。一般说来,程序模块包括例程、程序、对象、部件、数据结构等,其执行特定的任务或实现特定的抽象数据类型。本技术的实施例还可以在分布式计算环境中实施,其中,由通过通信网络链接的远程处理装置来执行任务。在分布式计算环境中,程序模块可以位于包括存储器-存储装置的本地和远程计算机存储介质二者中。
虽然以结构特征和/或方法行为特有的语言描述了主题,应该理解,在所附权利要求书中定义的主题不必限于上述的具体特征或行为。相反,上述的具体特征和行为被公开作为实现权利要求的示例形式。
权利要求
1.一种用于存储网络流信息的方法,所述方法包括在网络装置处接收包括网络网际协议流信息的网络分组,所述网络分组包括网际协议头部,所述网际协议头部包括网际协议源和目的地信息对;在所述网络装置的存储表处存储包括所述网际协议源和目的地信息对的所述网际协议流信息;以及使得包括所述网际协议源和目的地信息对的所述网际协议流信息可用于搜索。
2.根据权利要求1所述的方法,其中,所述网际协议源和目的地信息对是包括源和目的地地址的网际协议地址。
3.根据权利要求1所述的方法,其中,所述网际协议源和目的地信息对是包括源和目的地地址的介质访问控制(MAC)地址。
4.根据权利要求1所述的方法,其中,所述网际协议流信息还包括源和目的地端口信息,所述存储所述网际协议流信息还包括存储所述源和目的地端口信息,以及所述使得所述网际协议流信息可用于搜索还包括使得所述源和目的地端口信息可用于搜索。
5.根据权利要求1所述的方法,其中,所述存储表是所述网络装置的部件硬件存储表。
6.根据权利要求1所述的方法,其中,所述网络分组的所述网际协议源和目的地信息对包括不正确地识别所述网络分组的源的源信息。
7.一种用于存储网络流信息的网络装置,所述装置包括 处理器;存储器;用于接收包括网络流信息的网络分组的物理端口,所述网络分组包括网际协议头部, 所述网际协议头部包括网际协议源和目的地信息对;以及硬件存储表,其被配置用于存储所述网际协议源和目的地信息对以及使之可用于搜索。
8.根据权利要求7所述的装置,其中,所述网络装置是网络交换机。
9.根据权利要求7所述的装置,其中,所述网际协议头部还包括源和目的地端口信息, 以及所述硬件存储表还被配置用于存储所述源和目的地端口信息以及使之可用于搜索。
10.根据权利要求7所述的装置,其中,所述网际协议源和目的地信息对是包括源和目的地地址的虚拟局域网(VLAN)地址。
11.一种用于跟踪网络流信息的方法,所述方法包括检测包括网际协议头部的至少一个网络分组,所述网际协议头部包括网络协议流信息;访问由与所述网络分组相关联的所述网络协议流信息识别的第一网络装置的存储表;以及跟踪与所述网络分组相关联的所述网络协议流信息到第二网络装置。
12.根据权利要求11所述的方法,其中,所述网络协议流信息包括网际协议源和目的地地址。
13.根据权利要求11所述的方法,其中,所述网络协议流信息包括源和目的地端口信肩、ο
14.根据权利要求11所述的方法,其中,所述跟踪包括首先搜索边缘网络装置以及然后搜索核心网络装置。
15.根据权利要求11所述的方法,其中,所述网络装置的所述存储表是所述网络装置的部件硬件装置。
全文摘要
存储网络流信息。在网络装置处接收包括网络网际协议流信息的网络分组,所述网络分组包括网际协议头部,所述网际协议头部包括网际协议源和目的地信息对。在所述网络装置的存储表处存储所述网际协议源和目的地信息对。使得所述网际协议源和目的地信息对可用于搜索。
文档编号H04L29/06GK102273139SQ200880132584
公开日2011年12月7日 申请日期2008年12月30日 优先权日2008年12月30日
发明者瓦库莫托 S., 马宗达 S. 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1