CN101953224B - 具有虚拟网络接口的消息处理引擎 - Google Patents
具有虚拟网络接口的消息处理引擎 Download PDFInfo
- Publication number
- CN101953224B CN101953224B CN200880126021.0A CN200880126021A CN101953224B CN 101953224 B CN101953224 B CN 101953224B CN 200880126021 A CN200880126021 A CN 200880126021A CN 101953224 B CN101953224 B CN 101953224B
- Authority
- CN
- China
- Prior art keywords
- grouping
- network interface
- agreement
- group
- virtual network
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 63
- 238000013519 translation Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 33
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000014616 translation Effects 0.000 abstract description 20
- 238000004891 communication Methods 0.000 abstract description 18
- 230000008676 import Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000712 assembly Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000168254 Siro Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
消息处理引擎可以通过桥接虚拟网络接口与物理网络接口之间的接口来截取外出和传入消息。消息处理引擎可具有原始分组分析器,原始分组分析器可基于策略确定是否要处理分组,并随后可以使用第一组协议来解码该分组、在解码状态下执行翻译、随后使用同一组或不同的一组协议来编码该分组。消息处理引擎可用来执行翻译以允许两个否则将不兼容的设备进行通信,并应用包括安全协议的各种协议以与被类似地配置的另一设备进行通信。在许多实施例中,原始分组分析器可以是具有管理员特权的服务,而解码器、编码器、以及翻译器可以使用用户特权来操作。
Description
背景
不同设备之间的通信通常通过采用通信的每一方都尝试实现的各种协议来促进。协议可用于在可由不同各方开发的不同服务和应用程序之间建立标准通信。一些协议可用于确保消息的完整传输,防止其他设备获得该消息,加速消息传输、或用于任何其他目的。
当协议由不同的各方实现时,通常存在对协议规范或该规范内的一方可能实现而另一方可能没有实现的可任选特征的一些误解。即使很小的差异也将导致一些通信失败。
概述
消息处理引擎可以通过桥接虚拟网络接口与物理网络接口之间的接口来截取外出和传入消息。消息处理引擎可具有原始分组分析器,原始分组分析器可基于策略确定是否要处理分组,并随后可以使用第一组协议来解码该分组、在解码状态下执行翻译、随后使用同一组或不同的一组协议来编码该分组。消息处理引擎可用来执行翻译以允许两个否则将不兼容的设备进行通信,并应用包括安全协议的各种协议以与被类似地配置的另一设备进行通信。在许多实施例中,原始分组分析器可以是具有管理员特权的服务,而解码器、编码器、以及翻译器可以使用用户特权来操作。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图简述
在附图中:
图1是示出具有消息处理引擎的系统的实施例的图示。
图2是示出具有带消息处理引擎的各个设备的网络的实施例的图示。
图3是示出用于处理消息的方法的实施例的流程图。
详细描述
消息处理引擎可以与虚拟网络接口一起操作以截取并处理传入和外出消息。消息处理引擎能够在应用层对消息执行各种翻译或修改,并修改用于传送消息的协议。
在一个使用场景中,消息处理引擎可用来修改在两应用程序之间传送的消息而不修改或改变任一应用程序。这样的使用可以是与其源代码不可获得的传统系统或应用程序软件进行接口的机制。
在另一使用场景中,两个或多个设备可以使用消息处理引擎以使用创建该消息的应用程序所未应用的各种安全协议来彼此进行接口。一个这样的实施例可以将一个或多个安全相关协议应用于外出和传入消息。
消息处理引擎使用虚拟网络接口来捕捉与应用程序的网络通信。虚拟网络接口可以担当物理网络接口,但可以在软件或固件中执行。虚拟网络接口可以使消息处理引擎能够捕捉并路由外出和传入分组以执行各种处理。
穿过虚拟网络接口的通信可以通过消息处理引擎来定向或可被传递给物理网络连接。类似地,可以用类似的方式来分析并处理在物理网络连接上接收到的消息。原始分组分析器可以使用一组策略来部署传入和外出分组。
在分析中使用的策略可包含用于分组和协议的标识机制、翻译、或可应用于特定分组的其他处理。在一些实施例中,可以对不同类型的消息应用若干不同的策略。
消息处理引擎可以通过使用与分组相关联的各种协议解码该分组来打开该分组,并可在应用层处理该分组中包含的消息。在一些情况下,可以聚集多个分组以重新创建应用层消息。在其他情况下,单个分组可包含若干应用层消息。
一旦从一个或多个分组形成了应用层消息,就可以执行各种翻译。应用层消息可以是与应用程序所创建的消息在任何协议、编码、或可用于跨网络来传输消息的其他处理之前相同的形式。当在应用层处理之后,可以从该消息创建一个或多个分组并将外出策略应用于这些分组。这些分组随后可以沿物理网络接口传送。传入分组可以通过反转该过程来进行处理。
在其中消息处理引擎执行翻译操作的使用场景中,解码和编码协议可以是相同的协议。在一些其他使用场景中,解码和编码协议可以是不同的协议。
本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例,而不是限制,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图1是示出具有消息处理引擎的系统的实施例100的示图。实施例100是用于突出消息处理引擎的各种特性、特征、以及使用的简化示例。
图1的示图示出系统的各功能组件并且不与系统的硬件或软件组件直接对应。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。硬件组件可包括适用于执行许多不同任务的通用组件或被优化来执行非常具体的功能的专门设计的组件。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的各功能。
实施例100是作为诸如计算机系统等总体设备的一部分的消息处理引擎102的功能组件的图示。实施例100中示出的组件可以是单个设备的一部分。
应用程序104可以通过正常操作过程向虚拟网络接口106发送分组。虚拟网络接口106可以是模拟物理网络连接108的软件构造。虚拟网络接口106可以这样的方式安装:应用程序104通过虚拟网络接口106而非物理网络接口108来发送并接收网络通信。
物理网络连接108可以是在操作设备外的物理连接上发送和接收消息的网络连接。在许多实施例中,计算机设备可以具有硬连线以太网连接、无线连接、或到网络的某其他物理接口。
消息处理引擎102可以处理虚拟网络接口106与物理网络连接108之间的传入和外出消息。可以分析每一入站和出站分组来确定该分组是否要由消息处理引擎102来处理。如果不要处理该消息,则该消息可以在虚拟网络接口108到物理网络连接108之间传送。
实施例100中的箭头示出从应用程序104发出的外出分组如何通过消息处理引擎102来处理。消息处理引擎102还可以对传入分组应用类似处理。
在应用程序104传送消息时,该消息可被分解成多个分组。在一些情况下,单个分组可包含若干应用层消息。
可基于策略111分析并部署分组的原始分组分析器110可以分析传送到虚拟网络接口106的分组。原始分组分析器110可将分组传送到物理网络连接108或可通过消息处理引擎102来发送分组。
原始分组分析器110可以使用一组策略111,该组策略可以定义要处理的分组的类型和可对该类型的分组执行的各种处理和翻译。原始分组分析器110所使用的标识符可以是分组的任何特性。在一些情况下,可以检查分组首部或分组内容以确定分组类型。在其他情况下,可以使用各种路由信息,如目的地地址、端口、或其他参数。
一些实施例可以在应用程序104与外部设备或服务之间建立通信会话,并标识与该会话相关联的分组。该会话可以通过各种信号交换或其他通信来建立。在建立会话的过程期间,原始分组分析器110可以确定与该会话相关联的分组要由消息处理引擎102来处理。
当在虚拟网络接口106上接收到外出分组并且作出要处理该分组的判定时,可将该分组置于缓冲区112中。缓冲区112可以使得原始分组分析器110能够与消息处理引擎102的其余部分异步地操作。
该分组随后可行进到解码器114,在那里可以使用应用程序104所用的一组协议来解码该分组。解码过程可以移除对该分组执行的任何转换、封装、或配置以将该分组内容返回原始应用层消息。
许多应用程序使用可用来便于两个或更多个进程之间的通信的各种协议。这样的协议的示例包括TCP、SOAP、以及许多其他协议。一些协议可用于确保消息完全到达并且是原样的,而其他协议可以加密或以其他方式保护消息内的数据免受侵害。在一些实施例中,应用程序104可将若干协议应用于分组。
在一些情况下,消息处理引擎102可用于改变与分组相关联的协议并可以不在应用层转换分组。在这种情况下,过滤器116可以将外出分组从解码器114转移到编码器122。
在为分组指示了应用层转换的情况下,该分组可被转移到消息同化器118。取决于各种情况,消息同化器118可以从多个分组创建应用层消息并可从单个分组创建多个应用程序消息。在一些情况下,应用层消息可以通过解码组成该消息的分组来创建,从而将分组安排成序列并将解码分组内容聚集在一起。
翻译器120可以对应用层消息执行任何类型的翻译、转换、或改变,如在与该分组相关联的策略111中定义的。在一些情况下,可以对应用层消息的格式作出小的改变,而在其他情况下,可能发生消息的全面转换。每一实施例可具有可作出的不同类型的改变,并且这些改变可由复杂算法或任何其他机制来定义。
在翻译器120修改了应用层消息后,该消息可被转换成各个分组,由编码器122用相同或不同的一组协议进行编码,进入缓冲区124,并被原始分组分析器110传送到物理网络连接108上。
在一些使用场景中,编码器122可应用与解码器114解码分组所使用的相同的协议来对该分组进行编码。在其他实现中,编码器122可以应用与解码器114不同的一组协议。在该说明书中稍后将讨论一些使用场景。
在许多实施例中,虚拟网络接口106可以是用管理或内核层特权操作的服务。在许多计算环境中,内核层服务一般具有很高特权,并可在特殊编程考虑的情况下创建。在这样的环境中,内核层服务所启用的功能可被限于避免造成与其他服务的干扰问题,尤其是在内核服务具有强大特权的情况下。
可以构造实施例100以使得原始分组分析器110和虚拟网络接口106可以是管理模式126或内核进程。消息处理引擎102的其余部分以及应用程序104可以在用户模式128中操作或具有用户专用特权。缓冲区112和124可以担当用户模式128和管理模式126进程之间的桥梁。
通过以此方式来划分进程,一组策略111可由原始分组分析器110用来将各分组路由通过消息处理引擎102或路由到物理网络连接108。消息处理引擎102内的其余进程可以用与应用程序104相同的用户特权来操作。在这样的实施例中,可在逐用户的基础上并使用用户的许可设置来安装、操作、以及控制解码器114和编码器122所使用的各种翻译器120和协议。
虽然被示为处理外出分组,但实施例100也可用于以类似方式处理传入分组。当在物理网络连接108上接收到分组时,原始分组分析器110可以使用策略111来分析分组并将该分组直接路由到虚拟网络接口106或将该分组路由通过消息处理引擎102。
传入消息随后在被编码和传递到虚拟网络接口106并随后传递到应用程序104之前通过解码、过滤、同化、以及翻译等各个步骤。以此方式,消息处理引擎102可以向传入和外出消息两者提供协议改变和应用层翻译。
图2是示出具有带消息处理引擎的各个设备的网络的实施例200的图示。实施例200是用于突出网络环境中的消息处理引擎的各种特性、特征、以及使用的简化示例。
图2的示图示出系统的各功能组件并且不与系统的硬件或软件组件直接对应。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。硬件组件可包括适用于执行许多不同任务的通用组件或被优化来执行非常具体的功能的专门设计的组件。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的各功能。
实施例200示出消息处理引擎在网络环境中的不同使用场景。设备202和204可连接到网络208,并可各自具有消息处理引擎。设备206可连接到网络208而不具有消息处理引擎。
设备202在其可包含与虚拟网络接口212进行通信的应用程序210方面与实施例100相类似。消息处理引擎216可以处理传入和外出消息并在虚拟网络接口212与物理网络连接214之间进行桥接。物理网络连接214是网络208与设备202之间的连接。
类似地,设备204在其可包含与虚拟网络接口220进行通信的应用程序218方面与实施例100相类似。消息处理引擎224可以处理传入和外出消息并在虚拟网络接口220与物理网络连接222之间进行桥接。物理网络连接222可以是网络208与设备204之间的连接。
设备206具有可与物理网络连接228直接通信的应用程序226,物理网络连接228可与网络208相连接。
实施例200可被用来示出消息处理引擎的若干使用场景。
在一个使用场景中,具有消息处理引擎的设备可连接到不具有消息处理引擎的另一设备。在这样的场景中,消息处理引擎可被用来在两个应用程序或服务之间提供翻译。该翻译可以是从一个消息收发协议到另一个的转换,并还可包括对消息内容的应用层改变。
这一使用场景,消息处理引擎能够在两个应用程序或服务之间提供桥梁或翻译而不对这些应用程序或服务作出修改。
例如,设备206上的应用程序226可以是第三方所提供的并且主存在因特网上的web服务。应用程序226可以使用特定一组协议来与使用该服务的客户机设备进行通信。在该示例中,设备202可以是具有开发者希望与应用程序226进行连接的传统应用程序210的客户机设备。开发者可以创建可由消息处理引擎216用来连接这两个应用程序的策略230。消息处理引擎216可以使用一组协议接收来自应用程序210的外出消息,解码该消息,并用应用程序226可接受的一组协议编码该消息。类似地,消息处理引擎216接收、解码、并使用应用程序210预期的一组协议编码来自应用程序226的消息。
在该使用场景中,虚拟网络接口212允许消息处理引擎216截取、分析、并修改传入和外出消息而不必修改应用程序210或应用程序226。通过定义策略230,开发者可以允许否则将不能够进行通信的两个应用程序之间的通信。从用户的观点来看,用户能够安装可允许用户的应用程序210通过与远程服务226进行接口而具有附加功能的策略230。
在许多这样的场景中,消息处理引擎216可以仅仅向分组提供协议改变。一个应用程序可以使用特定协议的较老版本而另一个使用较新版本,并且这些版本可能稍微不兼容。例如,为了提高安全性而可以使用较新协议。从技术观点看这些改变相对简单,但当在客户机设备上使用的较老应用程序210与应用程序226中远程地主存的服务不兼容时,替换解决方案可以是升级较老应用程序210。相反,可以实现以下策略230:允许较老应用程序210使用较老协议通过虚拟网络接口212发送并接收消息,而消息处理引擎216确保跨网络208的通信顺从新协议。
在一些场景中,消息处理引擎216可以提供传入和外出消息的应用层翻译。在两个应用程序尝试实现两个不同版本的应用层通信时,这样的场景是有用的。
在另一使用场景中,两个设备上的消息处理引擎可用于保护这些设备之间的通信,而不必使用虚拟专用网(VPN)或其他点对点安全机制。在这样的使用场景中,设备202和204各自具有分别带有策略230和232的消息处理引擎216和224。一些实施例可以使用多点或广播消息传输技术。
策略230和232可被配置成对定址到其他设备的外出消息应用一个或多个安全协议,并且使用安全协议来解码传入消息。以此方式,设备202与204之间跨网络208的各种通信可以仅仅通过应用适当的策略230和232来保护。
图3是示出用于处理消息的方法的实施例300的流程图。实施例300是可用于处理外出消息的步骤序列的简化示例。其他实施例可以使用不同的术语或命名法,并且可包括附加步骤或可将两个或更多个步骤组合成单个步骤。在其他实施例中,被示为串行的一些步骤可以并行执行,或反之亦然。
实施例300是用于处理外出消息的方法的示例。可以用类似的方式来处理传入消息。
在框302,可以在虚拟网络接口上接收分组。在处理之后,在框324,在物理网络连接上发送分组。在处理传入消息的实施例中,可在物理网络连接上接收分组并在虚拟网络接口上发送分组。两种类型的实施例可以用同一基本方式来处理分组。
在框304,对照策略来分析分组。策略可定义可由消息处理引擎处理的分组的类型。这样的策略还可定义用于解码和编码分组的各种协议,以及可对应用层消息执行的任何翻译。
在框306,如果分组不符合策略,则在框324,在物理网络连接上发送分组。在这种情况下,仅仅将分组从虚拟网络接口转移到物理网络连接而不进行处理。
在框306,如果分组确实符合策略,则在框308可将分组置于缓冲区中。缓冲区可以允许可执行框304和306的功能的原始分组分析器与消息处理引擎的其他部分进行异步操作。
在框310,可以使用策略中定义的协议来解码分组。这些协议可以是可出于传输、安全、或任何其他原因来应用于分组的任何类型的协议。
在框312,如果分组没有得到应用层翻译,则在框320,该过程继续进行编码。
在框312,如果分组确实得到应用层翻译,则在框314,可以从一个或多个分组创建应用程序消息。在一些实施例中,应用程序消息可以在若干分组中传送。在其他实施例中,单个分组可包含若干应用层消息。在框312,缓冲、组织各种分组并将其聚集成应用层消息。
在框316,可翻译消息。该翻译可包括对应用层消息的任何类型的操纵、添加、扣除、分析、转换、或其他改变。
在翻译之后,在框318,准备消息以供传输。例如,该消息可被分解成各单独的分组以供传输。在一些情况下,两个或更多个消息可被合并到单个分组中。
在框320,可以使用策略中指定的协议来编码分组。编码协议可以是或不是与在框310中解码分组所使用的相同的协议。
将分组置于缓冲区中322,并且在框324将其发送到物理网络上。
实施例300是可用于捕捉、处理、以及传送外出分组的简化算法。
以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明的技术。所附权利要求书旨在包括除受现有技术所限的范围之外的其他替换实施例。
Claims (20)
1.一种用于消息处理的方法,包括:
在虚拟网络接口上接收第一分组,所述虚拟网络接口接收来自多个应用的全部分组;
在所述虚拟网络接口上接收所述第一分组之后,分析所述第一分组并确定所述第一分组是第一分组类型的,所述第一分组类型是在第一策略中定义的;
将所述第一策略应用到所述第一分组,包括:
使用第一组协议来解码所述第一分组以创建第一经解码的分组;
使用第二组协议来编码所述第一经解码的分组以创建第一经重新编码的分组;以及
在物理网络接口上传送所述第一经重新编码的分组。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述物理网络接口上接收第二分组;
分析所述第二分组并确定所述第二分组是所述第一分组类型的;
使用所述第二组协议来解码所述第二分组;
使用所述第一组协议来编码所述第二分组;以及
在所述虚拟网络接口上传送所述第二分组。
3.如权利要求2所述的方法,其特征在于,所述第二分组是多播分组。
4.如权利要求1所述的方法,其特征在于,所述第一分组是多播分组。
5.如权利要求1所述的方法,其特征在于,所述接收和所述分析由具有管理员特权的进程来执行,并且所述解码和编码由具有用户特权的进程来执行。
6.如权利要求1所述的方法,其特征在于,还包括:
在所述解码之后并在所述编码之前执行对所述第一分组的翻译。
7.如权利要求4所述的方法,其特征在于,所述第一组协议和所述第二组协议是同一组协议。
8.如权利要求1所述的方法,其特征在于,还包括:
在所述虚拟网络接口上接收第三分组;
分析所述第三分组并确定所述第三分组是第二分组类型的,所述第二分组类型未在所述第一策略中定义;以及
在所述物理网络接口上传送所述第三分组。
9.如权利要求8所述的方法,其特征在于,所述第一策略将所述第一分组类型定义为与第一应用程序相关,并且第二策略将所述第二分组类型定义为与第二应用程序相关。
10.一种用于消息处理的系统,包括:
用于在虚拟网络接口上接收第一分组的装置,所述虚拟网络接口接收来自多个应用的全部分组;
用于在所述虚拟网络接口上接收所述第一分组之后,分析所述第一分组并确定所述第一分组是第一分组类型的装置,所述第一分组类型是在第一策略中定义的;
用于将所述第一策略应用到所述第一分组的装置,包括:
用于使用第一组协议来解码所述第一分组以创建第一经解码的分组的装置;
用于使用第二组协议来编码所述第一经解码的分组以创建第一经重新编码的分组的装置;以及
用于在物理网络接口上传送所述第一经重新编码的分组的装置。
11.一种用于消息处理的设备,包括:
允许在操作系统内的虚拟网络接口(106),所述操作系统还运行多个应用,所述虚拟网络接口被配置成发送和接收所述多个应用的全部分组;
第一策略(111),所述第一策略包括用于第一分组类型、第一组协议、以及第二组协议的标识机制;
原始分组分析器(110),所述原始分组分析器被配置成接收第一分组并确定所述第一分组是第一分组类型的,所述第一分组类型是在第一策略中定义的;
解码器(114),所述解码器被配置成使用所述第一组协议来解码所述第一分组以创建所述分组的解码状态;
编码器(122),所述编码器被配置成使用所述第二组协议来编码来自所述解码状态的所述第一分组;以及
物理网络接口(108)。
12.如权利要求11所述的设备,其特征在于,所述原始分组分析器被配置成从所述虚拟网络接口接收所述第一分组。
13.如权利要求11所述的设备,其特征在于,所述原始分组分析器被配置成从所述物理网络接口接收所述第一分组。
14.如权利要求11所述的设备,其特征在于,所述第一分组是多播分组。
15.如权利要求11所述的设备,其特征在于,还包括:
翻译器,所述翻译器被配置成翻译处于所述解码状态的所述第一分组。
16.如权利要求15所述的设备,其特征在于,所述第一组协议和所述第二组协议是同一组协议。
17.如权利要求11所述的设备,其特征在于,所述第一分组类型与第一应用程序相关联。
18.如权利要求11所述的设备,其特征在于,还包括第二策略,所述第二策略包括用于第二分组类型、第三组协议、以及第四组协议的标识机制,所述第二分组类型与第二应用程序相关联。
19.如权利要求18所述的设备,其特征在于,所述解码器还被配置成使用所述第三组协议来进行解码,并且所述编码器还被配置成使用所述第四组协议来进行编码。
20.如权利要求11所述的设备,其特征在于,所述原始分组分析器在管理员权限上操作,并且所述编码器和所述解码器在用户权限上操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/020,575 | 2008-01-28 | ||
US12/020,575 US8254381B2 (en) | 2008-01-28 | 2008-01-28 | Message processing engine with a virtual network interface |
PCT/US2008/088573 WO2009097071A2 (en) | 2008-01-28 | 2008-12-30 | Message processing engine with a virtual network interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101953224A CN101953224A (zh) | 2011-01-19 |
CN101953224B true CN101953224B (zh) | 2015-06-17 |
Family
ID=40899156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880126021.0A Active CN101953224B (zh) | 2008-01-28 | 2008-12-30 | 具有虚拟网络接口的消息处理引擎 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8254381B2 (zh) |
EP (1) | EP2241159B1 (zh) |
JP (1) | JP5277259B2 (zh) |
CN (1) | CN101953224B (zh) |
WO (1) | WO2009097071A2 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110219440A1 (en) * | 2010-03-03 | 2011-09-08 | Microsoft Corporation | Application-level denial-of-service attack protection |
US9191327B2 (en) | 2011-02-10 | 2015-11-17 | Varmour Networks, Inc. | Distributed service processing of network gateways using virtual machines |
US8868710B2 (en) | 2011-11-18 | 2014-10-21 | Amazon Technologies, Inc. | Virtual network interface objects |
US9916545B1 (en) | 2012-02-29 | 2018-03-13 | Amazon Technologies, Inc. | Portable network interfaces for authentication and license enforcement |
US9042304B2 (en) * | 2012-06-05 | 2015-05-26 | Vmware, Inc. | Controlling a paravirtualized wireless interface from a guest virtual machine |
US8813225B1 (en) | 2012-06-15 | 2014-08-19 | Amazon Technologies, Inc. | Provider-arbitrated mandatory access control policies in cloud computing environments |
US9973472B2 (en) | 2015-04-02 | 2018-05-15 | Varmour Networks, Inc. | Methods and systems for orchestrating physical and virtual switches to enforce security boundaries |
US10091238B2 (en) | 2014-02-11 | 2018-10-02 | Varmour Networks, Inc. | Deception using distributed threat detection |
US10264025B2 (en) | 2016-06-24 | 2019-04-16 | Varmour Networks, Inc. | Security policy generation for virtualization, bare-metal server, and cloud computing environments |
EP2978168A1 (de) * | 2014-07-21 | 2016-01-27 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur Nachbildung von entsprechenden Laufzeiten eines segmentierten Netzwerkes |
US9787499B2 (en) | 2014-09-19 | 2017-10-10 | Amazon Technologies, Inc. | Private alias endpoints for isolated virtual networks |
US10193929B2 (en) * | 2015-03-13 | 2019-01-29 | Varmour Networks, Inc. | Methods and systems for improving analytics in distributed networks |
US9380027B1 (en) | 2015-03-30 | 2016-06-28 | Varmour Networks, Inc. | Conditional declarative policies |
US10009381B2 (en) | 2015-03-30 | 2018-06-26 | Varmour Networks, Inc. | System and method for threat-driven security policy controls |
US10110496B2 (en) * | 2015-03-31 | 2018-10-23 | Juniper Networks, Inc. | Providing policy information on an existing communication channel |
US10021196B1 (en) | 2015-06-22 | 2018-07-10 | Amazon Technologies, Inc. | Private service endpoints in isolated virtual networks |
FR3038809B1 (fr) * | 2015-07-08 | 2017-07-21 | Mbda France | Interface entre un systeme d'arme et une liaison de donnees tactiques |
US10191758B2 (en) | 2015-12-09 | 2019-01-29 | Varmour Networks, Inc. | Directing data traffic between intra-server virtual machines |
DE102015016616A1 (de) * | 2015-12-22 | 2017-06-22 | Giesecke & Devrient Gmbh | Vorrichtung und Verfahren zur Verbindung einer Produktionsvorrichtung mit einem Netzwerk |
US9762599B2 (en) | 2016-01-29 | 2017-09-12 | Varmour Networks, Inc. | Multi-node affinity-based examination for computer network security remediation |
US9680852B1 (en) | 2016-01-29 | 2017-06-13 | Varmour Networks, Inc. | Recursive multi-layer examination for computer network security remediation |
US9521115B1 (en) | 2016-03-24 | 2016-12-13 | Varmour Networks, Inc. | Security policy generation using container metadata |
US10755334B2 (en) | 2016-06-30 | 2020-08-25 | Varmour Networks, Inc. | Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors |
US11575563B2 (en) | 2019-05-31 | 2023-02-07 | Varmour Networks, Inc. | Cloud security management |
US11310284B2 (en) | 2019-05-31 | 2022-04-19 | Varmour Networks, Inc. | Validation of cloud security policies |
US11290493B2 (en) | 2019-05-31 | 2022-03-29 | Varmour Networks, Inc. | Template-driven intent-based security |
US11290494B2 (en) | 2019-05-31 | 2022-03-29 | Varmour Networks, Inc. | Reliability prediction for cloud security policies |
US11711374B2 (en) | 2019-05-31 | 2023-07-25 | Varmour Networks, Inc. | Systems and methods for understanding identity and organizational access to applications within an enterprise environment |
US11863580B2 (en) | 2019-05-31 | 2024-01-02 | Varmour Networks, Inc. | Modeling application dependencies to identify operational risk |
US11477241B2 (en) * | 2019-12-30 | 2022-10-18 | Fortinet, Inc. | Selectively disabling anti-replay protection by a network security device |
US11876817B2 (en) | 2020-12-23 | 2024-01-16 | Varmour Networks, Inc. | Modeling queue-based message-oriented middleware relationships in a security system |
US11818152B2 (en) | 2020-12-23 | 2023-11-14 | Varmour Networks, Inc. | Modeling topic-based message-oriented middleware within a security system |
US11777978B2 (en) | 2021-01-29 | 2023-10-03 | Varmour Networks, Inc. | Methods and systems for accurately assessing application access risk |
US11734316B2 (en) | 2021-07-08 | 2023-08-22 | Varmour Networks, Inc. | Relationship-based search in a computing environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310905A (zh) * | 1999-07-14 | 2001-08-29 | 信息产业部武汉邮电科学研究院 | 物理层与网络层侧设备间传输数据的数据传输装置和方法 |
CN1863123A (zh) * | 2005-05-11 | 2006-11-15 | 三星电子株式会社 | 网络接口单元 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6181935B1 (en) | 1996-09-27 | 2001-01-30 | Software.Com, Inc. | Mobility extended telephone application programming interface and method of use |
US6101543A (en) * | 1996-10-25 | 2000-08-08 | Digital Equipment Corporation | Pseudo network adapter for frame capture, encapsulation and encryption |
JPH10200601A (ja) * | 1997-01-09 | 1998-07-31 | Mitsubishi Electric Corp | 情報伝送装置 |
US6757731B1 (en) * | 1999-02-25 | 2004-06-29 | Nortel Networks Limited | Apparatus and method for interfacing multiple protocol stacks in a communication network |
US6463056B1 (en) * | 1999-03-18 | 2002-10-08 | Excel Switching Corp. | Arrangement for providing network protocol data independence in an expandable telecommunications system |
CN1246012A (zh) | 1999-07-14 | 2000-03-01 | 邮电部武汉邮电科学研究院 | 一种用于英特网与同步数字体系融合的适配方法 |
US6804776B1 (en) * | 1999-09-21 | 2004-10-12 | Cisco Technology, Inc. | Method for universal transport encapsulation for Internet Protocol network communications |
US7103625B1 (en) | 1999-10-05 | 2006-09-05 | Veritas Operating Corporation | Virtual resource ID mapping |
US6578084B1 (en) * | 1999-10-15 | 2003-06-10 | Cisco Technology, Inc. | Packet processing using encapsulation and decapsulation chains |
US20020059388A1 (en) | 2000-01-21 | 2002-05-16 | David Thompson | E-mail and messaging systems and methods |
JP2002247032A (ja) * | 2001-02-19 | 2002-08-30 | Hitachi Ltd | 暗号通信装置および暗号通信方法 |
US7293108B2 (en) | 2001-03-15 | 2007-11-06 | Intel Corporation | Generic external proxy |
EP1271896B1 (de) * | 2001-06-18 | 2004-07-28 | Swisscom Mobile AG | Verfahren und System für mobile IP-Nodes in heterogenen Netzwerken |
US20030014466A1 (en) * | 2001-06-29 | 2003-01-16 | Joubert Berger | System and method for management of compartments in a trusted operating system |
KR20010107790A (ko) | 2001-07-06 | 2001-12-07 | 김인규 | 가상 사설망 구축 방법 및 이를 이용한 가상사설망게이트웨이 |
DE10147889A1 (de) * | 2001-09-28 | 2003-04-30 | Siemens Ag | Proxy-Einheit, Verfahren zum rechnergestützten Schützen eines Applikations-Server-Programms und Anordnung mit einer Proxy-Einheit und einer Einheit zum Ausführen eines Applikations-Server-Programms |
DE10162986B4 (de) | 2001-12-20 | 2004-01-15 | Siemens Ag | Anbindung von Netzwerken mit unterschiedlichen Protokollen |
US7533210B2 (en) * | 2002-10-24 | 2009-05-12 | Sun Microsystems, Inc. | Virtual communication interfaces for a micro-controller |
CN100440825C (zh) * | 2003-01-28 | 2008-12-03 | 华为技术有限公司 | 数字传送网上不同的数据帧接入和传送的系统和方法 |
GB0305959D0 (en) * | 2003-03-15 | 2003-04-23 | Ibm | Client web service access |
US20040264503A1 (en) | 2003-06-30 | 2004-12-30 | Microsoft Corporation | Method and system for providing a virtual protocol interlayer |
US20050125511A1 (en) * | 2003-12-08 | 2005-06-09 | Hunt Preston J. | Intelligent local proxy for transparent network access from multiple physical locations |
FR2867003B1 (fr) | 2004-03-01 | 2006-09-08 | Everbee Networks | Procede de traitement d'un flux de donnees traversant un dispositif place en coupure sur un reseau informatique |
US20060089992A1 (en) * | 2004-10-26 | 2006-04-27 | Blaho Bruce E | Remote computing systems and methods for supporting multiple sessions |
US20060120402A1 (en) * | 2004-12-07 | 2006-06-08 | Paul Gallant | Method for running an X.25-based application on a second protocol-based network |
US20060195617A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification |
US20060200565A1 (en) * | 2005-03-04 | 2006-09-07 | Lucent Technologies, Inc. | Methods and apparatus for flexible and transparent mediation of communication between software applications |
US7697434B1 (en) * | 2005-04-22 | 2010-04-13 | Sun Microsystems, Inc. | Method and apparatus for enforcing resource utilization of a container |
US7949766B2 (en) * | 2005-06-22 | 2011-05-24 | Cisco Technology, Inc. | Offload stack for network, block and file input and output |
US7965736B2 (en) | 2005-08-24 | 2011-06-21 | Qualcomm Incorporated | Transmission of multiplex protocol data units in physical layer packets |
JP4764737B2 (ja) * | 2006-02-13 | 2011-09-07 | 富士通株式会社 | ネットワークシステム、端末およびゲートウェイ装置 |
US8934486B2 (en) | 2006-03-16 | 2015-01-13 | Cisco Technology, Inc. | System and method for implementing multicast over a label-switched core network |
JP4757088B2 (ja) * | 2006-04-25 | 2011-08-24 | 株式会社Into | 中継装置 |
WO2007139552A1 (en) | 2006-05-31 | 2007-12-06 | Citrix Systems, Inc. | Systems and methods for determining the charset encoding for decoding a request submission in a gateway |
US7522595B2 (en) * | 2006-06-16 | 2009-04-21 | Cisco Technology, Inc. | Communicating packets between forwarding contexts using virtual interfaces |
US7738457B2 (en) * | 2006-12-20 | 2010-06-15 | Oracle America, Inc. | Method and system for virtual routing using containers |
US9270594B2 (en) * | 2007-06-01 | 2016-02-23 | Cisco Technology, Inc. | Apparatus and method for applying network policy at virtual interfaces |
-
2008
- 2008-01-28 US US12/020,575 patent/US8254381B2/en active Active
- 2008-12-30 WO PCT/US2008/088573 patent/WO2009097071A2/en active Application Filing
- 2008-12-30 EP EP08871789.7A patent/EP2241159B1/en active Active
- 2008-12-30 CN CN200880126021.0A patent/CN101953224B/zh active Active
- 2008-12-30 JP JP2010544985A patent/JP5277259B2/ja active Active
-
2012
- 2012-07-30 US US13/562,254 patent/US8705529B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310905A (zh) * | 1999-07-14 | 2001-08-29 | 信息产业部武汉邮电科学研究院 | 物理层与网络层侧设备间传输数据的数据传输装置和方法 |
CN1863123A (zh) * | 2005-05-11 | 2006-11-15 | 三星电子株式会社 | 网络接口单元 |
Also Published As
Publication number | Publication date |
---|---|
EP2241159A4 (en) | 2013-02-13 |
US20120327934A1 (en) | 2012-12-27 |
CN101953224A (zh) | 2011-01-19 |
US8705529B2 (en) | 2014-04-22 |
JP2011511559A (ja) | 2011-04-07 |
US20090190585A1 (en) | 2009-07-30 |
EP2241159B1 (en) | 2015-04-22 |
JP5277259B2 (ja) | 2013-08-28 |
US8254381B2 (en) | 2012-08-28 |
EP2241159A2 (en) | 2010-10-20 |
WO2009097071A3 (en) | 2009-10-08 |
WO2009097071A2 (en) | 2009-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101953224B (zh) | 具有虚拟网络接口的消息处理引擎 | |
US7627681B2 (en) | Relaying messages through a firewall | |
CA2604926C (en) | System topology for secure end-to-end communications between wireless device and application data source | |
Tennenhouse et al. | Towards an active network architecture | |
US9860301B2 (en) | File transfer using XML | |
US11153365B2 (en) | Transfer of files with arrays of strings in soap messages | |
CN113141365B (zh) | 分布式微服务数据传输的方法、装置、系统和电子设备 | |
CN110557378A (zh) | 一种网络边界安全隔离及信息单向传输系统及传输方法 | |
CN112637796B (zh) | 基于5g的办公信息应答方法、系统、服务器和存储介质 | |
CN114007194B (zh) | 订阅消息发送方法、装置、电子设备及存储介质 | |
CN115022101B (zh) | 账户数据的更改方法、装置、计算机设备和存储介质 | |
CN106936868A (zh) | 一种与云存储结合的应用系统数据安全保护方法及系统 | |
Tennenhouse et al. | Toward an active network architecture | |
WO2022144663A1 (en) | Secure data movement | |
CN106453069B (zh) | 一种即时通信消息发送、查看、查看控制方法及其设备 | |
KR102017742B1 (ko) | 단방향 데이터 송신 장치, 단방향 데이터 수신 장치 및 이를 이용한 단방향 데이터 전송 방법 | |
CN112787987B (zh) | 一种路径加密方法、装置和系统 | |
CN110474884B (zh) | 以太坊网络系统及通信方法、设备及计算机可读存储介质 | |
CN114978485B (zh) | 语音数据传输方法、系统、电子设备及存储介质 | |
CN118118185A (zh) | 基于可信数据互操作机制的系统间数据融合方法及设备 | |
CN118199994A (zh) | 一种工业网络安全防护方法、系统、终端及存储介质 | |
CN115277827A (zh) | 云资源配置方法、系统、装置、设备及存储介质 | |
CN115801567A (zh) | 一种报文数据的传输方法、装置、电子设备及存储介质 | |
KR20120117497A (ko) | 이동식 단말 장치, 이를 이용한 데이터 통신 방법 및 애플리케이션 설치 방법 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150727 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |