CN116569521A - 使用网络协议传递网络流数据 - Google Patents

使用网络协议传递网络流数据 Download PDF

Info

Publication number
CN116569521A
CN116569521A CN202180079574.0A CN202180079574A CN116569521A CN 116569521 A CN116569521 A CN 116569521A CN 202180079574 A CN202180079574 A CN 202180079574A CN 116569521 A CN116569521 A CN 116569521A
Authority
CN
China
Prior art keywords
layer
ethernet type
new ethernet
pid
data structure
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.)
Pending
Application number
CN202180079574.0A
Other languages
English (en)
Inventor
D·波维
S·桑帕斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116569521A publication Critical patent/CN116569521A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

一种计算机实现的方法,包括:(i)定义要在传递PID(进程标识代码)中使用的新的以太网类型,所述新的以太网类型被分配新的以太网类型代码;(ii)从多个抽象层中确定选择的抽象层以用于传递PID;以及(iii)在联网计算机系统的计算机之中和之间进行多个网络通信,其中每个通信,其中每个给定通信的进行包括:(a)将新的以太网类型代码和使得给定通信发生的进程的PID插入到数据结构中,以及(b)在所选择的抽象层处在联网计算机系统的计算机之间传递数据结构。

Description

使用网络协议传递网络流数据
背景技术
本发明总体上涉及计算机联网领域,并且更具体地涉及联网数据源。
“抽象层”(到2020年11月16日)的维基百科条目陈述如下:“在计算中,抽象层或抽象级别是隐藏子系统的工作细节的一种方式,允许问题的分离以促进互操作性和平台独立性。使用抽象层的软件模型的实例包括网络协议的OSI模型、OpenGL和其他图形库。在计算机科学中,抽象层是概念模型或算法的概括,远离任何特定实现方式。这些概括源自广泛相似性,所述广泛相似性由表达存在于不同特定实现方式中的相似性的模型最佳地封装。由良好的抽象层提供的简化允许通过提炼有用的概念或设计模式来容易地重新使用,使得可以快速地识别可以准确地应用该简化的情况。如果层取决于另一层,则认为该层在另一层之上。每个层可以在没有其上方的层的情况下存在,并且需要其下方的层起作用。通常,抽象层可组成抽象层次结构。OSI模型包括七个抽象层。模型的每个层封装并解决数字通信的需要的不同部分,从而降低相关的工程解决方案的复杂性。”
“开放系统互连协议”(到2020年11月16日)的维基百科条目陈述如下:“开放系统互连协议是由ISO和ITU-T联合开发的一系列信息交换标准……OSI协议栈被结构化成七个概念层。所述层形成以物理硬件组件开始到软件应用级别处的用户接口的功能层级。每个层接收来自上面的层的信息,对其进行处理并且将其向下传递到下一层。每一层在传入信息传递到较低层之前将封装信息(报头)添加到传入信息。报头一般包括源和目的地的地址、错误控制信息、协议标识和诸如流控制选项和序列号的协议参数。层1:物理层,该层仅处理物理插头和插座以及信号的电气规范。这是传输数字信号的介质。它可以是双绞线、同轴电缆、光纤、无线或其他传输介质。层2:数据链路层,数据链路层将来自物理层的原始比特封装成帧(用于数据的逻辑结构化分组)……该层负责将帧从一个主机传输到另一个主机。它可以执行错误校验……层3:网络层……这个级别负责在网络中的系统之间传输数据,使用机器的网络层地址来跟踪目的地和源。该层使用路由器和交换机来管理其流量(控制流控制、错误校验、路由等)。因此,这里它采取所有的路由决策,它处理端到端的数据传输。层4:传输层……传输层在源和目的地进程之间传输数据。通常识别两种连接方式,面向连接或无连接……层5:会话层……会话层控制计算机之间的对话(连接)。其建立、管理和终止本地和远程应用之间的连接。它提供全双工和半双工或单工操作,并且建立检查点设置、邻接、终止和重启过程……层6:表示层……该层定义和加密/解密来自应用层的数据类型。MIDI、MPEG、GIF等协议是不同应用共享的表示层格式。层7:应用层……其跟踪每个应用如何与另一个应用对话。目的地和源地址链接到特定应用程序。”
“EtherType”的维基百科条目(在本文中有时称为“以太网类型”,2020年11月16日)陈述如下:“EtherType是以太网帧中的两个八位字节字段。其用于指示哪个协议被封装在帧的有效载荷中并且在接收端被数据链路层用于确定有效载荷如何被处理。相同的字段还用于指示一些以太网帧的大小。EtherType还用作802.1Q VLAN标记的基础,封装来自VLAN的分组,用于在以太网干线上与其他VLAN流量复用的传输……包括EtherType字段的以太网帧。每个较低时隙指定八位字节;EtherType是两个八位字节长。在现代以太网实现中,用于描述EtherType的以太网帧内的字段还可用于表示以太网帧的有效载荷的大小……随着IEEE 802标准套件的出现,与IEEE 802.2LLC报头组合的子网络访问协议(SNAP)报头被用于发送除了以太网之外的IEEE 802网络以及使用IEEE 802.2LLC报头的非IEEE网络(诸如FDDI)的有效载荷的EtherType。然而,对于以太网,依然使用以太网II成帧……”(省略脚注)
“协议栈”(到2020年12月6日)的维基百科条目陈述如下:“协议栈或网络栈是计算机联网协议套件或协议族的实现方式。这些术语中的一些术语可互换使用,但严格地说,套件是通信协议的定义,并且栈是它们的软件实现……套件内的单个协议经常考虑单个目的而设计。这种模块化简化了设计和评估。因为每个协议模块通常与其他两个协议模块通信,所以通常将它们想象成协议堆栈中的层。最低协议总是处理与通信硬件的低级别交互。每个更高层增加附加能力。用户应用通常仅处理最顶层……在实际应用中,协议栈通常分为介质、传输和应用三个主要部分。特定操作系统或平台将通常具有两个明确定义的软件接口:一个在介质和传输层之间,以及一个在传输层和应用程序之间。介质至传输接口定义传输协议软件如何利用特定介质和硬件类型并与设备驱动器相关联……示例协议栈和对应的层[:]
协议 层
HTTP 应用程序
TCP 传输
IP 因特网或网络
以太网 链路或数据链路
IEEE 802.3ab 物理。”(省略脚注)
发明内容
根据本发明的方面,提供了执行以下操作(不一定按照以下顺序)的方法、计算机程序产品和/或系统:(i)定义用于传递PID(进程标识代码)的新的以太网类型,该新的以太网类型被分配有新的以太网类型代码;(ii)从多个抽象层中确定要用于传递PID的所选抽象层;以及(iii)在联网计算机系统的计算机之中和之间进行多个网络通信,其中每个通信,其中每个给定通信的进行包括:(a)将新的以太网类型代码和引起所述给定通信发生的进程的PID插入到数据结构中,以及(b)在所述所选抽象层处在所述联网计算机系统的计算机之间传递所述数据结构。
附图说明
图1是根据本发明的系统的第一实施例的框图;
图2是示出至少部分地由第一实施例系统执行的第一实施例方法的流程图;
图3是示出第一实施例系统的机器逻辑(例如,软件)部分的框图;
图4是由第一实施例系统生成的类型的分组的语法的示图;
图5是由本发明的各实施例生成的类型的分组的语法的示图;以及
图6是根据本发明的系统的第一实施例的框图。
具体实施方式
此详细描述部分被分成以下子部分:(i)硬件和软件环境;(ii)示例实施例;(iii)进一步评论和/或实施例;以及(iv)定义。
I.硬件和软件环境
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的,计算机可读存储介质不应被解释为暂时信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过电线传输的电信号。
因此,“存储设备”被定义为被制成或适于以使得计算机处理器可访问计算机代码的方式存储计算机代码的任何事物。存储设备通常包括存储介质,该存储介质是计算机代码的数据存储在其中或其上的材料。单个“存储设备”可具有:(i)间隔或分布的多个分立部分(例如,分别位于共同存储单个计算机程序的六个膝上型计算机中的一组六个固态存储设备);和/或(ii)可以使用多个存储介质(例如,部分作为磁域存储在计算机的非易失性存储器中并部分存储在计算机的易失性存储器中的一组半导体开关中的一组计算机代码)。术语“存储介质”应被解释为涵盖使用多种不同类型的存储介质的情况。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)、以及常规的过程式程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
如图1所示,联网计算机系统100是用于本发明的各个实施例的硬件和软件环境的实施例。联网计算机系统100包括:分组语法设计器子系统102(本文中有时简称为子系统102);客户端子系统104、106、108、110、112;以及通信网络114。子系统102包括:分组语法设计器计算机200;通信单元202;处理器集合204;输入/输出(I/O)接口集合206;存储器208;永久性存储设备210;显示器212;外部设备214;随机存取存储器(RAM)230;高速缓存232;以及程序300。
子系统102可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话或任何其他类型的计算机(参见下文在定义部分中对“计算机”的定义)。程序300是用于创建、管理和控制某些软件功能的机器可读指令和/或数据的集合,这些软件功能将在下面在具体实施例章节的举例实施例章节中详细描述。
子系统102能够经由通信网络114与其他计算机子系统通信。网络114可以是例如局域网(LAN)、诸如互联网之类的广域网(WAN)或两者的组合,并且可以包括有线、无线或光纤连接。一般而言,网络114可以是将支持服务器和客户端子系统之间的通信的连接和协议的任何组合。
子系统102被示出为具有许多双箭头的框图。这些双箭头(没有单独的参考标号)表示提供子系统102的各个部件之间的通信的通信结构。该通信结构可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和计算机系统内的任何其他硬件部件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构可至少部分地用一个或多个总线来实现。
存储器208和永久性存储设备210是计算机可读存储介质。通常,存储器208可以包括任何合适的易失性或非易失性计算机可读存储介质。进一步要注意的是,现在和/或不久的将来:(i)外部设备214能够为子系统102提供一些或全部存储器;和/或(ii)子系统102外部的装置能够为子系统102提供存储器。存储器208和永久性存储设备210:(i)以比在传输中的信号更小的瞬态的方式存储数据;以及(ii)在有形介质(诸如磁或光域)上存储数据。在该实施例中,存储器208是易失性存储,而持久存储210提供非易失性存储。永久性存储设备210使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储设备210。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久性存储设备210的一部分的另一计算机可读存储介质上。
通信单元202提供与子系统102外部的其他数据处理系统或设备的通信。在这些示例中,通信单元202包括一个或多个网络接口卡。通信单元202可通过使用物理和无线通信链路中的任一者或两者提供通信。本文所讨论的任何软件模块可以通过通信单元(诸如通信单元202)下载到永久性存储设备(诸如永久性存储设备210)。
I/O接口集合206允许与其他设备的数据输入和输出,所述其他设备可以与分组语法设计器计算机200在数据通信中本地连接。例如,I/O接口集合206提供到外部设备组214的连接。外部设备组214通常包括诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备的设备。外部设备组214还可包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据(例如,程序300)可以存储在这样的便携式计算机可读存储介质上。I/O接口集合206还与显示器212数据通信地连接。显示器212是提供向用户显示数据的机制的显示装置,并且可以是例如计算机监视器或智能电话显示屏。
在该实施例中,程序300存储在永久性存储设备210中,用于由处理器集合204的一个或多个计算机处理器(通常通过存储器208的一个或多个存储器)访问和/或执行。本领域技术人员将理解,程序300可以在其运行时间期间和/或当其未运行时以更高度分布的方式存储。程序300可包括机器可读和可执行指令和/或实质数据(即,存储在数据库中的数据的类型)。在该特定实施例中,永久性存储设备210包括磁性硬盘驱动器。为了命名一些可能的变化,永久性存储设备210可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
在此描述的程序是基于应用在本发明的具体实施例中实施的来识别的。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应局限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
已经出于说明的目的呈现了本发明的各种实施例的描述,但并不旨在是详尽的或者限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
II.示例实施例
如图1所示,联网计算机系统100是其中可以执行根据本发明的示例方法的环境。如图2所示,流程图250示出了根据本发明的示例方法。如图3所示,程序300执行或控制流程图250的方法操作中的至少一些的执行。现在将在以下段落的过程之上广泛地参见图1、2和3的框来讨论这种方法和相关联的软件。
处理在操作S255开始,其中,以太网类型模块(“mod”)302定义新的以太网类型(参见背景技术部分的定义),用于在分组本身的报头中传递与给定分组相关联的进程id值(PID)。从图4所示的语法定义308的图可以看出,对于由这个示例生成的分组,这个新的以太网类型的以太网类型id的长度是三个字节。可替代地,新的以太网类型id的长度可以是两个字节。
处理进行到操作S260,在操作S260中,协议栈层模块304决定当根据协议套件使用协议栈实现网络时PID将通过其传递的协议套件的层。在使用OSI协议套件的实施例中,可以选择的协议层如下:(i)传输层协议;(ii)网络层协议;(iii)数据链路层协议;和/或(iv)物理层协议。在这个实例中,PID将仅在根据针对根据抽象的传输层处的传输层协议(即,传输控制协议(TCP))作出的分组的分组语法定义作出的分组的分组报头中传递(参见以上在背景技术部分中的抽象层的定义)。替换地和/或另外地,在以上列出的四个层之中的其他层可以具有插入它们的分组、帧和/或其他相关联的数据单元的定义中的PID。
处理继续至操作S265,其中,分组语法模块306为在正常操作期间在通信网络114上传递的TCP分组生成语法定义308。图4中示出了该分组语法的详细框图。可以使用包括PID值的通信位置的其他类型的语法(例如,报头字段的排序、字节分配)。例如,将在具体实施例部分的下一小节中讨论的图5示出了用于本发明的其他实施例的不同的分组语法定义。
处理进行至操作S270(有时称为“正常操作”),其中,在客户端子系统104、106、108、110和112之中和之间进行网络通信。由于这些通信在正常操作中发生,所以发生两种情况:(i)日志保持在各个客户端子系统处(如当前常规的);以及(ii)传递数据,包括根据语法定义308形成和封装的许多TCP分组(在其报头中包括PID)的通信。更具体地,关于上述列表上的项目(ii),根据“进程”生成用于在传输层传递数据的每个TCP包。每个进程具有其自己的PID,并且引起给定TCP分组的生成发生的进程将使其相关联的PID根据语法定义308放置到给定TCP分组报头中。
处理前进至操作S275,其中,通信收集模块310收集网络通信的集合以用于分析(例如,在联网计算机系统100的正常操作期间可能已发生假信号或崩溃)。在该示例中,这意味着收集在正常操作期间传递的TCP分组。
处理进行到操作S280,在操作S280,收集日志模块312收集由客户端子系统104、106、108、110和112生成并维护的日志。
处理进行至操作S285,其中,相关模块314使在各种日志数据中出现的PID与TCP分组的报头的PID相关。该相关操作的目的和益处将在本具体实施例部分的下一部分中详细讨论。
III.进一步评论和/或实施例
本发明的一些实施例认识到以下事实、潜在问题和/或潜在领域用于相对于现有技术的改进:(i)有效的安全智能和事件管理系统依赖于事件日志和网络流数据的组合;(ii)事件日志赋予运行在特定主机上的进程的可见性(例如,网络服务器日志、代理日志、邮件服务器、窗口域、VPN(虚拟专用网络)服务、入侵检测系统(IDS)、入侵预防系统(IPS)和其他网络安全产品);(iii)具有连接到其他顺序数据源(例如数据库)的能力,以从那些数据源拉取日志;(iv)对于给定的主机IP(互联网协议)地址,事件日志由在特定时间跨度内使用的进程ID(PID)唯一地标识;(v)网络流数据赋予遍历网络的所有事物可见性,其通过在特定时间跨度上至少由源IP、源端口、目的地IP、目的地端口和协议的组合唯一地标识;(vi)可以在两个数据源之间执行的唯一关联是通过IP地址在指定的时间窗口内执行动作;(vii)期望能够将这些动作进一步关联,使得可以确定哪个PID触发的网络流,反之亦然;(viii)帮助解决这个问题的现有解决方案涉及在端点上对其网络连接的主动监测,以便能够将其与给定的PID相关;(ix)虽然这些解决方案是有用的,但它们具有生成可以导致摄取实时事件的性能下降的高流量数据的过程;(x)作为查询的现有事件数据的重复可以由于性能问题而重新生成;(xi)解决方案不满足将事件数据与给定PID相关的目标;和/或(xii)存在可以提供进程级信息的日志源的许多实例,包括:osquery、SysFlow、Kubernetes、Sysdig和Sysmon。
本发明的一些实施例可以包括以下操作、特征、特性和/或优点中的一个或多个,以用于关于可以在事件日志与网络流数据之间执行的相关的改进:(i)使用现有的商业可获得的软件;(ii)可以在端点本身处的所有网络连接的事件日志和网络流数据日志之间执行相关;(iii)利用内核模块来捕获和记录;(iv)建立所有的网络通信(除了其他系统端点信息之外);和/或(v)甚至将这减少到仅仅流会话标识符和PID,这通常需要至少十六(16)位的存储器,除了将该信息传输到SIEM(安全信息和事件管理)端点所需要的额外字节以外。
本发明的某些实施例可以包括以下操作、特征、特性和/或优点中的一个或多个:(i)将进程ID(PID)嵌入到网络流量中;(ii)以与用于VLAN(虚拟局域网)标签的IEEE(电气和电子工程师协会)802.1Q/802.1AD相似的样式将PID嵌入到分组的报头中的堆叠的EtherType中;(iii)在基于Linux的系统中,PID的最大数量是2^22,意味着其可以被嵌入在三(3)字节字段中;和/或(iv)当包括基础协议所需要的另外的“EtherType”时,这将总计达添加至网络分组的存储器的总共五(5)字节。
本发明的一些实施例可以包括以下操作、特征、特性和/或优点中的一个或多个:(i)在许多情况下,企业已经具有对它们的网络上的设备的管理控制,包括但不限于:膝上型计算机、服务器和联网设备(例如,路由器和防火墙);(ii)可实施为网络协议,完全在内部网络上处理,其中,内核模块可被添加到端点以将它们的PID注入到网络流量中;(iii)在将网络流量路由到较宽的以太网(公司网络的较大段,或大体上互联网本身)之前将其他模块添加到联网装置;和/或(iv)在内部网络上可获得可见性而不影响与外部通信的兼容性(例如,内部网络协议与外部网络协议的类似管理已利用VLAN执行)。
本发明的一些实施例可以包括以下操作、特征、特性和/或优点中的一个或多个:(i)需要从端点本身传输非常少的附加数据(如上所述,仅五(5)个字节);(ii)可以在内部网络上管理而不影响网络外部的分组;和/或(iii)不需要修改端点上的各个进程,仅通过模块来修改内核。
如图5所示,分组语法定义500包括:前导部分502(8字节长);目的地介质访问控制(MAC)地址部分504(6字节长);源MAC地址部分506(6字节长);进程id(PID)部分508(包括PID以太网类型/大小部分508a(2字节长)和PID部分508b(3字节长))、分组级以太网类型/大小部分510(2字节长);有效载荷部分512(许多,许多字节长);以及错误校验部分514(4字节长)。注意,在本实施例中,PID以太网类型/大小部分的长度是两个字节,而进程ID的长度是3个字节。
如图6所示,系统600包括以下系统组件:端点计算机602;TAP(网络分接头)块604;网络安全监视计算机606;网络设备608;以及外部网络/互联网610。端点计算机602与新的内核模块(即,TAP块604)一起被用于这个新的网络协议。网络安全监视计算机606(例如,配备有可商购SIEM产品的计算机),用于读取包并且创建双向流记录,其中,该装置将流信息馈送到SIEM工具中用于相关。在该实施例中,网络设备608是具有新网络协议知识的路由器。外部网络/互联网610不一定知道图5的网络协议。
根据本发明的方法的实施例包括以下操作:(i)端点进程在内核模块插入PID的情况下发起网络连接;(ii)分组穿越内部网络;(iii)通过TAP设备(其也可以是交换机上的SPAN(交换端口分析器)端口)将分组镜像到网络安全监测工具,其中,此时,PID现在与流会话标识符(至少为源IP、源端口、目的地IP、目的地端口和协议)相关,并且该预先相关的信息可以直接馈送到SIEM工具中;(iv)分组继续穿过内部网络到达边缘网络设备;(v)边缘网络设备移除新网络协议并且转发仅具有原始底层信息的分组;(vi)分组继续路由到其最终目的地;(vii)(一个或多个)响应分组穿越网络路由返回;(viii)(一个或多个)响应分组还被镜像到网络安全端点以用于双向流相关;(ix)分组可自动与以PID为特征的请求分组相关,因为它们的网络流元组相同;和/或(x)响应分组由端点主机接收和处理。
虽然一些常规技术将“分组标签”嵌入到IP选项报头中,但是应注意,该标签不是PID本身。为了实现进程日志与网络流之间的相关,本发明的一些实施例可以使用以下方法:(i)提取分组标签;(ii)将分组标签与PID相关;和/或(iii)使PID与事件日志相关。
本发明的一些实施例可以包括以下操作、特征、特性和/或优点中的一个或多个:(i)向下到单独的进程级而不是仅在主机级执行相关;和/或(ii)不需要发生任何相关操作,因为PID作为“原始网络流量”被直接传递。
根据本发明的方法的实施例用于与安全智能和事件管理计算机系统(SIEMCS)一起使用,该SIEMCS包括第一主机计算机设备和网络。该方法包括以下操作(不一定按以下顺序):(i)在该第一主机计算机设备上生成第一事件日志,该第一事件日志包括指示该第一主机计算机设备的操作的信息;(ii)将第一进程ID(PID)代码分配给所述第一事件日志;(iii)在一段时间内使用所述第一PID代码以用于与所述第一主机计算机设备相关联的互联网协议(IP)地址;(iv)收集网络流数据集,所述网络流数据集包括指示至少以下的信息:每个给定通信的源IP、每个给定通信的源端口、每个给定通信的目的地IP、每个给定通信的目的地端口以及每个给定通信的协议;和/或(v)基于第一PID代码、第一事件日志和网络流数据集,确定由第一PID代码标识的第一主机计算机设备触发第一网络流。
IV.定义
本发明:不应被视为由术语“本发明”描述的主题由提交的权利要求或由在专利起诉之后最终发布的权利要求覆盖的绝对指示;虽然术语“本发明”用于帮助读者获得普遍的感觉,在此对这些感觉的披露内容被认为是潜在新的,如由术语“本发明”的使用所指示的这种理解是暂时性的和临时性的,并且在专利起诉过程中随着相关信息被开发并且随着权利要求被潜在修改而经历改变。
实施例:参见以上“本发明”的定义-相似的注意事项适用于术语“实施例”。
和/或:包括或;例如,A、B“和/或”C表示A或B或C中的至少一个是真实的并且适用的。
包括:除非另有明确说明,是指“包括但不限于”。
模块/子模块:可操作地工作以完成某种功能的任何硬件、固件和/或软件组,而不考虑模块是:(i)在单个本地附近;(ii)分布在广域上;(iii)位于较大软件代码片段内的单个邻近区域中;(iv)位于单个软件代码片段内;(v)位于单个存储设备、存储器或介质中;(vi)机械连接;(vii)电连接;和/或(viii)数据通信连接。
计算机:具有显著数据处理和/或机器可读指令读取能力的任何装置,包括但不限于:台式计算机、大型计算机、膝上型计算机、基于现场可编程门阵列(FPGA)的装置、智能电话、个人数字助理(PDA)、身佩式或插入计算机、嵌入式装置类型计算机、基于专用集成电路(ASIC)的装置。

Claims (18)

1.一种计算机实现的方法(CIM),包括:
定义将用于传递PID(进程标识代码)的新的以太网类型,所述新的以太网类型被分配有新的以太网类型代码;
从多个抽象层中确定选择的抽象层以用于传递PID;以及
在联网计算机系统的计算机之中和之间进行多个网络通信,其中每个通信,其中每个给定通信的进行包括:
将新的以太网类型代码和使所述给定通信发生的进程的PID插入到数据结构中,以及
在所选择的抽象层处在联网计算机系统的计算机之间传递所述数据结构。
2.根据权利要求1所述的CIM,其中,所述数据结构是以下数据结构类型之一:分组、帧或原始数据。
3.根据权利要求1所述的CIM,其中:
所述多个抽象层中的抽象层分别对应于开放系统互连(OSI)模型的七个层中的至少一些。
4.根据权利要求3所述的CIM,其中:
所选择的抽象层是OSI传输层;以及
每个数据结构是根据传输控制协议(TCP)形成的分组,所述新的以太网类型代码和所述分组的PID被插入分组报头中。
5.根据权利要求4所述的CIM,其中:
所述新的以太网类型代码的长度是两个字节;以及
每个PID的长度是三(3)个字节。
6.根据权利要求3所述的CIM,其中,所选择的抽象层是以下OSI层之一:网络层;数据链路层协议;或物理层。
7.一种计算机程序产品(CPP),包括:
存储设备的集合;以及
共同存储在存储设备的集合中的计算机代码,所述计算机代码包括用于使处理器集至少执行以下操作的数据和指令:
定义用于传递PID(进程标识代码)的新的以太网类型,所述新的以太网类型被分配有新的以太网类型代码,
从多个抽象层中确定选择的抽象层以用于传递PID,以及
在联网计算机系统的计算机之中和之间进行多个网络通信,其中每个通信,其中每个给定通信的进行包括:
将所述新的以太网类型代码和使所述给定通信发生的进程的PID插入到数据结构中,以及
在所选择的抽象层处在联网计算机系统的计算机之间传递所述数据结构。
8.根据权利要求7所述的CPP,其中,所述数据结构是以下数据结构类型之一:分组、帧或原始数据。
9.根据权利要求7所述的CPP,其中:
所述多个抽象层中的抽象层分别对应于所述开放系统互连(OSI)模型的七个层中的至少一些。
10.根据权利要求9所述的CPP,其中:
所选择的抽象层是OSI传输层;以及
每个数据结构是根据传输控制协议(TCP)形成的分组,所述新的以太网类型代码和所述分组的PID被插入分组报头中。
11.根据权利要求10所述的CPP,其中:
所述新的以太网类型代码的长度是两个字节;以及
每个PID的长度是三(3)个字节。
12.根据权利要求9所述的CPP,其中,所选择的抽象层是以下OSI层之一:网络层;数据链路层协议;或物理层。
13.一种计算机系统(CS),包括:
处理器集合;
存储设备的集合;以及
共同地存储在存储设备的集合中的计算机代码,其中计算机代码包括用于使处理器集合执行至少以下操作的数据和指令:
定义用于传递PID(进程标识代码)的新的以太网类型,所述新的以太网类型被分配有新的以太网类型代码,
从多个抽象层中确定选择的抽象层以用于传递PID,以及
在联网计算机系统的计算机之中和之间进行多个网络通信,其中每个通信,其中每个给定通信的进行包括:
将所述新的以太网类型代码和使所述给定通信发生的进程的PID插入到数据结构中,以及
在所选择的抽象层处的联网计算机系统的计算机之间传递所述数据结构。
14.根据权利要求13所述的CS,其中,所述数据结构是以下数据结构类型之一:分组、帧或原始数据。
15.根据权利要求13所述的CS,其中:
所述多个抽象层中的抽象层分别对应于开放系统互连(OSI)模型的七个层中的至少一些。
16.根据权利要求15所述的CS,其中:
所选择的抽象层是OSI传输层;以及
每个数据结构是根据传输控制协议(TCP)形成的分组,所述新的以太网类型代码和所述分组的PID被插入分组报头中。
17.根据权利要求16所述的CS,其中:
所述新的以太网类型代码的长度是两个字节;以及
每个PID的长度是三(3)个字节。
18.根据权利要求15所述的CS,其中,所选择的抽象层是以下OSI层之一:网络层;数据链路层协议;或物理层。
CN202180079574.0A 2020-12-16 2021-11-16 使用网络协议传递网络流数据 Pending CN116569521A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/123,171 US11677864B2 (en) 2020-12-16 2020-12-16 Communicating network flow data using a network protocol
US17/123,171 2020-12-16
PCT/CN2021/130898 WO2022127471A1 (en) 2020-12-16 2021-11-16 Communicating network flow data using a network protocol

Publications (1)

Publication Number Publication Date
CN116569521A true CN116569521A (zh) 2023-08-08

Family

ID=81942052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180079574.0A Pending CN116569521A (zh) 2020-12-16 2021-11-16 使用网络协议传递网络流数据

Country Status (6)

Country Link
US (1) US11677864B2 (zh)
JP (1) JP2023553893A (zh)
CN (1) CN116569521A (zh)
DE (1) DE112021006552T5 (zh)
GB (1) GB2617738A (zh)
WO (1) WO2022127471A1 (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432251B2 (en) 2013-03-08 2016-08-30 Qualcomm Incorporated Enhanced acknowledgement and retransmission mechanism
JP6196386B2 (ja) 2014-08-01 2017-09-20 エルジー エレクトロニクス インコーポレイティド 放送信号伝送方法、放送信号受信方法、放送信号伝送装置、放送信号受信装置
US9961170B2 (en) * 2014-11-25 2018-05-01 Qualcomm Incorporated Ethertype packet discrimination data type
CN104506365A (zh) 2014-12-24 2015-04-08 上海市共进通信技术有限公司 无源光网络中实现多种芯片业务兼容分析的方法
US9781652B2 (en) * 2015-02-05 2017-10-03 Mediatek Inc. Method and apparatus of LWA PDU routing
US10230654B2 (en) * 2016-12-28 2019-03-12 Intel IP Corporation Multiband aggregation data encapsulation
US10762201B2 (en) 2017-04-20 2020-09-01 Level Effect LLC Apparatus and method for conducting endpoint-network-monitoring
WO2018203735A1 (en) * 2017-05-05 2018-11-08 Samsung Electronics Co., Ltd. Apparatus and method for configuring channel resource in wireless communication system
EP3404867B1 (en) * 2017-05-18 2020-01-08 ID Quantique S.A. Configurable service packet engine exploiting frames properties
US10756949B2 (en) 2017-12-07 2020-08-25 Cisco Technology, Inc. Log file processing for root cause analysis of a network fabric
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US11190420B2 (en) 2018-10-31 2021-11-30 Salesforce.Com, Inc. Generating events from host based logging for consumption by a network logging host

Also Published As

Publication number Publication date
US11677864B2 (en) 2023-06-13
JP2023553893A (ja) 2023-12-26
US20220191308A1 (en) 2022-06-16
GB202310314D0 (en) 2023-08-16
GB2617738A (en) 2023-10-18
WO2022127471A1 (en) 2022-06-23
DE112021006552T5 (de) 2023-11-16

Similar Documents

Publication Publication Date Title
US10795992B2 (en) Self-adaptive application programming interface level security monitoring
US11693688B2 (en) Recommendation generation based on selection of selectable elements of visual representation
US10284390B2 (en) Techniques for efficient service chain analytics
EP2815536B1 (en) Method and system for generating transaction data from network traffic data for an application system
US8121148B2 (en) Protocol stack using shared memory
CN101999120B (zh) 用于启用直接访问和安全评估共享的硬件接口
US10447569B2 (en) Switch monitoring statistics gathering at servers and gateways for overlay networks
US20140233564A1 (en) Packet Modification to Facilitate Use of Network Tags
US10284460B1 (en) Network packet tracing
US20190296976A1 (en) Hierarchical coherency for network function virtualization
CN104283786B (zh) 用于增加软件定义网络的可缩放性的系统和方法
US7840655B2 (en) Address resolution protocol change enabling load-balancing for TCP-DCR implementations
US7515585B2 (en) Data communication optimization
US20080123550A1 (en) Testing A Network
US10397353B2 (en) Context enriched distributed logging services for workloads in a datacenter
US20150304167A1 (en) Accelerating device, connection and service discovery
US20080267193A1 (en) Technique for enabling network statistics on software partitions
Patel A review on service oriented architectures for internet of things (IoT)
US9043450B2 (en) Generic offload architecture
US10263807B2 (en) Hierarchical statistics acceleration
US8725901B2 (en) Analysis tool for intra-node application messaging
CN116569521A (zh) 使用网络协议传递网络流数据
US8391168B2 (en) Automatically discovering architectural roles of packet switching devices
Goldman Network Communication
Ghazali et al. Enhanced IPFIX flow monitoring for VXLAN based cloud overlay networks.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination