首页> 中国专利> 在安全网络和非安全网络之间连接分组电话呼叫的方法和装置

在安全网络和非安全网络之间连接分组电话呼叫的方法和装置

摘要

这里描述的方法和装置用于在安全(202)网络和非安全网络(208)之间连接分组电话呼叫。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-09-18

    授权

    授权

  • 2010-06-30

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20030304

    实质审查的生效

  • 2010-05-12

    公开

    公开

说明书

本申请是PCT国际申请号为PCT/US2003/006644、国际申请日为2003年3月4日、中国国家申请号为03808519.4、题为“在安全网络和非安全网络之间连接分组电话呼叫的方法和装置”的申请的分案申请。

技术领域

本发明一般涉及电话通信领域,更具体地说,涉及一种在安全网络和非安全网络之间连接分组电话呼叫的方法和装置。

背景技术

随着计算设备的普及,经常需要通过数据网络将这些设备连网在一起,即将这些设备以通讯的方式耦合起来,从而有助于在这些设备之间进行信息交换。然而,在企业数据网络中,经常关注的一个问题是,要确保驻留在企业网络内的信息免受外部第三方的入侵和/或攻击,即那些通过因特网连接对企业内部网发起的攻击。由此,已开发出过滤技术来控制基于分组的数据流量在网络间的通行,这种过滤技术可以基于每个数据分组的头部(header)来区分数据分组。在商用防火墙出现之前,网络管理员就开始制定可以用来静态地滤除不想要的和恶意的流量的规则。但是,这种静态分组过滤有很多不利之处,包括允许外部客户端直接连接到内部主机。一个不友好的用户可能占用一个受信的外部主机,并通过直接连接,相对容易地获得对整个内部网络的恶意访问。

已开发出的动态分组过滤就是为了解决静态分组过滤中的某些问题。基于分组头部信息,动态分组过滤器在防火墙中允许一个临时“窗口”。在一系列的分组已到达它们的目的地后,防火墙中的这个临时窗口就会被关闭。由于防火墙中的窗口打开的时间量相比于静态分组过滤器而言要短得多,因此许多类型的可有效对抗静态分组过滤器的攻击要想针对动态分组过滤器展开部署,会更难一些。然而,动态分组过滤器仍然有可能允许在内部主机和外部客户端之间进行直接的IP连接。

一种一般不被传统的企业防火墙支持的新兴应用被通俗地称为“因特网电话”,“因特网协议(IP)电话”或者“分组电话”,即使用IP数据分组的网络间电话。一种用于分组电话的示范协议被正式发布在命名为“H.323v4草案(DraftH.323v4)”的国际电信同盟电信标准化部门(ITU-T)标准中。作为分组电话标准的一个例子,H.323规定了在分组网络(包括基于IP的网络)上提供电话服务(即,实时音频、视频和数据通信)的组件、协议和过程。H.323所规定的协议是音频编解码器;视频编解码器;诸如H.225的子协议,H.225基于包括注册、许可和状态(RAS)在内的Q.931操作,定义了呼叫建立顺序;H.245控制信令;实时传输协议(RTP);和实时控制协议(RTCP)。然而,H.323与它运行所基于的传输协议以及分组网络无关,并且没有具体规定它们。

用于IP网络间电话流量的H.323网关是已知的.在这方面,这些传统网关提供了呼叫建立和释放协议的翻译、不同网络间的媒体格式转换、以及H.323网络和非H.323网络之间的信息传输.在IP电话中,H.323网关可以连接IP网络和电路交换网络,所述电路交换网络可以是模拟或数字公共交换电话网络(PSTN)或综合业务数字网(ISDN).

然而,在网络间分组电话的情况下,众所公知的一个问题就是标准分组协议防火墙和H.323网关不能可靠地提供分组电话交换的安全性。电话数据分组可能不请自来地出现在防火墙或网关面前,它们是从一个未被内部网客户端当作目标的IP地址上流动过来的,因此该电话交换可能被拒绝。或者,可允许该电话交换,这将导致潜在有恶意的外部实体和内部网客户端之间的直接连接。于是,潜在有恶意的外部实体就具有了对内部网客户端的直接访问权,并且通常是对整个内部网的直接访问权。

附图说明

在附图中,以示例而非限制的方式对本发明进行了说明,其中用相同的标号来表示相似的元件,其中:

图1是根据本发明一个示例性实施方案且体现本发明教导的一个示例性计算设备的框图;

图2是根据本发明一个示例性实施方案且体现本发明教导的一个示例性网络配置的框图;

图3是本发明第一实施例的框图;

图4是本发明第二实施例的框图;

图5是本发明第三实施例的框图;

图6是根据本发明的一个示例性实施方案,更详细地示出图3和图4中的示例性控制器元件的框图;

图7是根据本发明的一个示例性实施方案,更详细地示出图6中的示例性流转换器的框图;

图8是根据本发明的一个示例性实施方案,更详细地示出图6中的示例性协议翻译器的框图;

图9是根据本发明的一个示例性实施方案,更详细地示出图6中的示例性AT的框图;

图10是根据本发明一个方面,示出流转换的一种示例性方法的流程图;

图11是根据本发明一个方面,示出协议翻译的一种示例性方法的流程图;

图12是根据本发明一个方面,示出地址转换的一种示例性方法的流程图;

图13是根据本发明的一个深分组检查(deep packet inspecting)方面,示出转换分组电话流的一种示例性方法的流程图;并且

图14是根据本发明的一个可替换实施例的一件产品的框图,该产品中包括具有多条可执行指令的示例性存储介质,这些指令在被执行时使得正在访问的机器能够实现本发明的分组电话转换器(PTT)的一方面或多方面。

具体实施方式

在此将描述一种用于在安全网络和非安全网络之间连接分组电话呼叫的方法和装置。

根据本发明的教导,引入一种分组电话转换器(PTT),它不会受到通常与传统的用于多媒体通信的分组过滤器和网关相关联的固有限制的妨碍。正如下面所详细展开的,PTT为任意组合的安全通信网络和非安全通信网络之间的电话信息内容提供了安全的通信接口。也就是说,PTT协助大范围的电话业务中的任何一种穿过类似于防火墙的安全基础设施的业务,以维护一个受保护网络的安全完整性。例如,PTT可以允许公众获得穿过防火墙对管制和/或安全服务器的电话访问权,并且在不损害管制和/或安全服务器的安全性的情况下获得服务。

根据一个示例性实施方案,PTT具有一种“流转换器”安全特性:双宿网络隔离代理(dual-homed network-insulating proxy),在一个实施例中,该代理起到IP应用层的作用,例如用于数据通信的开放式系统互连(OSI)标准中的应用层。流转换器在受保护网络的边界处终止一个进入的电话流(“流”或“呼叫”)的“第一段(first leg)”,并且在受保护的网络内发起(initiate)一个新的、独立的、安全的“第二段”流。在网络边界处终止第一呼叫,并在该边界的另一侧发起第二呼叫(第二呼叫仅仅复制第一呼叫的“含意”或“信息内容”)的过程在这里被称为“流转换”。

虽然发送网络通过向PTT发送流,可以(或可以不)导致PTT在受保护网络内发起一段类似和/或对应的流,但是发送网络没有对受保护网络的物理层和/或协议层的访问权,后面将对这一问题进行更详细的描述。相反,受保护网络内的客户端可以发起一个从受保护网络内出发,由PTT延伸到不受保护网络和/或外部世界中的电话连接,而不会暴露受保护网络中的端点的身份以及受保护网络的拓扑结构。

虽然PTT具有耦合到两个或更多个彼此隔离的网络上的网络接口(即,该PTT是双宿的或多宿的),但是流转换器通过在电话流之间仅仅传送电话通信的数据内容(“信息内容”),而将网络完全相互隔离开来。信息内容是电话流所携带的“呼叫内容”,“数据结构”和/或“电话信息有效载荷”,即“含意”。因此,通过制作一个电话流所携带的信息的复制品,并将该复制品添加到另一个电话流上,就可以传输所述数据内容。换言之,所传输的是数据的形式,而不是物理数据流本身。在某些变动方案中,呼叫“有效载荷”的全部或部分(即,携带电话信息内容的数据分组有效载荷)可以在PTT的控制下,通过媒体路由器或深分组检查引擎在网络间传递。由于只有信息内容在电话流之间传输,所以一个网络上的电话客户端不具有对使用一个或多个PTT的其他网络的客户端、拓扑结构和网络管理的直接(例如,物理的、电的、管理的)访问权。

另外,根据本发明的另一方面,PTT可以配备有便携式协议翻译器。如上所述,流转换器是双宿的或多宿的,在两个或更多个网络中的每一个中具有一个网络接口。发送到第一网络(例如一个受保护网络(即,经由PTT发送的))的第一段流可以是任意格式和/或协议的。由于流转换器所发起的第二段流是独立并完全隔离于第一段流的,因此第二段流同样也可以是任意格式和/或协议的(即,进行选择以最佳地适合于正在接收的客户端)。根据本发明的这个方面,流转换器根据与第一段流相关联的第一段通信协议来接收第一段流,并将第一段通信协议翻译为被动态选择的第二段通信协议。由于在流转换器的每一侧都可以使用任意的流协议,因此流转换器可被配备为在任意两种协议之间进行自动翻译。

根据某些实施方案,PTT还配备有根据本发明另一方面的地址转换器(AT).受保护网络内的受信客户端可以向PTT注册一个私有和/或受信地址.AT将客户端的私有和/或受信地址的公共版本(“别名”)指定给受信客户端.AT可以在一个或多个安全或非安全网络上将所述别名公开化,并可以授权PTT的流转换器在所述受信客户端和受信网络之外请求连接到所述别名的非受信客户端之间执行隔离的流转换.根据本发明的一个方面,所述非受信客户端与流转换器的第一侧进行通信,非受信客户端将流转换器的第一侧看作具有所述别名的端点.流转换器的第二侧在它自己和受信客户端之间发起一个独立的第二段流.第二段流与第一段流完全隔离,并且如上所述,可能在格式和/或协议方面不同于第一段流.受信客户端将流转换器的第二侧看作非受信客户端的端点.因此,在一个实施方案中,AT可以使流转换器成为IP电话网络之间的双端点管道.

在整篇说明书中,“一个实施例”或者“实施例”指的是关于该实施例而描述的特定特点、结构或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”在整篇说明书不同地方的出现不一定都指同一个实施例。此外,特定的特点、结构或特性可以在一个或多个实施例中,以任何适当的方式组合起来。

现在参考图1,根据本发明一个示例性的实施方案,描述了示例性计算设备101的框图,其中包括示例性的PTT 100。除了包括和/或可访问包含本发明一个或多个方面的PTT 100之外,计算设备101可以包含由一条或多条总线124耦合在一起的处理器116、存储器118和盘控制器120中的一个或多个。盘控制器120可以控制一个数据存储设备122或者几个数据存储设备。处理器116对数据进行访问,包括可存储在存储设备122上的计算机程序。另外,处理器116将计算机程序传送到存储器118,并在程序驻留于存储器之后执行这些程序。视频接口126可以将监视器128耦合到系统,且键盘接口130可以将键盘耦合到系统。本领域的普通技术人员将会理解:适于实现本发明一个或多个方面的计算设备101可以包含附加的或不同的组件。

根据本发明的一个实施方案,PTT 100可以连接到第一网络102和第二网络104。在其他变动方案中,PTT 100可以连接到两个以上的网络,和/或一个以上的PTT 100可以连接到任何数量的网络。

PTT 100可以拥有它自己的一个或多个处理器和/或控制逻辑,或者可以使用主机计算设备101的处理器116或多个处理器。PTT 100还可以拥有它自己的存储器,用于实施本发明的一个或多个方面,和/或可以利用计算设备101的存储器118。同样,PTT 100可配备为包含它自己的应用,这些应用例如是软件和/或指令形式的,和/或PTT 100可以使用由盘控制器120访问的、存储在计算设备101的存储设备122上的应用。使用视频接口126、监视器128、键盘接口130、键盘132和/或等同的输入设备,可对PTT 100进行防问和/或编程,但是在其他变动方案中,计算设备101或容宿PTT 100的计算环境可能不具有这些元件,这是本领域的普通技术人员所能理解的。

虽然所图示的示例性PTT 100是以代表硬件模块的方框形式进行描述的,但是应当注意到,PTT 100也可以包括软件,或者软件、硬件、对象、规程、组件、子组件、模块、例程和/或子例程的任意组合。

图2是为实现本发明示例性的PTT 204而提供环境的网络200的示例性配置的图形表示。PTT 204、受信网络202、非受信网络208以及受信网络202和非受信网络208之间的边界206的相互关系如图所示。边界206还可以包括防火墙。私有、受保护和/或安全(“受信”)的网络202在受信网络202和非安全的外部世界之间的边界206处采用了PTT 204,在图示的示例性配置中,所述非安全的外部世界中包括了示例性的公共、不受保护和/或非安全(“非受信”)的网络208。虽然非受信网络208被用来描述受信网络202的安全边界206以外的任何示例性网络,但是应当注意到,本发明的一个或多个实施方案可被用在两个受信网络之间,或者受信和非受信网络的任意组合之间。

根据本发明的一个方面,受信网络202中的受信客户端210向PTT 204注册一个私有地址212。PTT 204为受信客户端210的私有地址指定一个别名,并可以公开化,广告,和/或以其他方式授予对该别名的访问权。非受信客户端216可以向PTT 204请求连接到代表受信客户端210的公共地址。PTT 204的控制器220的一个或多个元件可以根据本发明的一个方面,基于内建到或编程到特定的控制器220中的通信许可策略来准许或否定所述的连接请求。如果所请求的连接被控制器220授权,那么来自非受信客户端216的第一流222就被PTT 204接收,并被第一协议堆栈224的不同层接收,但是终止在控制器220。换言之,非受信客户端216和受信客户端210之间的通信的第一段230终止在PTT 204处。

PTT 204的控制器220发起第二流228,所述第二流包括非受信客户端216和受信客户端210之间的通信的第二段232。第二流228从控制器220中发送出去,并穿过第二协议堆栈226,该堆栈226可以实现与第一协议堆栈224不同或部分不同的协议。第一流222和第二流228是独立的通信段230、232,它们完全相互隔离,并且在格式、协议或介质方面可能完全不同。因此,受信网络202不会受到非受信网络208的直接物理访问。控制器220将信息内容和/或呼叫有效载荷从第一流222传送到第二流228。

受信客户端210也可以发起连接,在这种情况下,一个流将从受信客户端210前进到第二协议堆栈226,并被控制器220终止。然后,控制器220将会发起第二流,该第二流从第一协议堆栈224前进到非受信客户端216。

在其他实施方案中,控制器220可以将有效载荷的传输任务委派给其他机制,这些机制保持着网络间的隔离。本领域的普通技术人员将会理解,以上说明描绘出这样一种PTT 204的控制器220,该控制器隔离网络,在流之间传输数据内容,翻译私有和公共地址,并且翻译网络间的协议,同时将所述流相互隔离并且将所述网络相互隔离。本领域的普通技术人员还会理解,第一和第二协议堆栈224、226及它们的网络接口可以具有多种形式和配置,这取决于耦合到PTT 204每一侧的网络的类型。

PTT 204可以起到防火墙206的状态检查代理的作用。例如,一个示例性的受信“网络地址翻译(NAT)”使能网络上的H.323客户端可以与一个非受信网络,例如因特网,中的H.323客户端相连。PTT 204可以认证用户,为呼叫信息写日志,并指挥所指定端口范围的使用。在一个变动方案中,在受信网络202的防火墙206之外的第二PTT可以注册非受信客户端216。这种情况下,所述连接可以前进通过受信PTT 204和外部PTT。两个PTT都可以准许或拒绝受信客户端210和非受信客户端216之间的连接。因此,本发明具有以下优点:任何PTT(包括实现了可存在于PTT一侧或两侧的流管理功能的PTT)都可以是完全独立的。当一个流必须连接通过多个网络时,很可能各种防火墙、网关和PTT都包括在这条路径中。若干PTT建立一个安全的边界,使得所使用的每一个PTT都可以在自身的域中没有干扰的情况下运行,并可以向其他网络提供安全的分组电话流桥,而不会与其它网络合并拓扑结构,也不会超出网络边界206它的一侧而进行不安全的通信。

本领域的普通技术人员将会理解,本发明所提供的网络隔离具有以下优点:例如在服务提供者网络和用户侧(customer premise)网络中实现了协议使用的灵活性。第一PTT可以允许示例性的基于媒体网关控制协议(MGCP)的用户加入到服务提供者网络中。第二PTT可以允许示例性的基于会话发起协议(SIP)的用户加入到相同的服务提供者网络中。因此,用户侧可以使用与服务提供者骨干中所使用的协议不同的协议。这可以帮助保护服务提供者的网络投资。服务提供者可以部署特定协议的网络,例如H.323,并且后面可以使用本发明的协议翻译方面来增加其它协议的支持,例如SIP、MGCP和/或私有协议。

图3示出了具有协议堆栈组315、317的示例性结构的第一示例性PTT 300。如图所示,协议堆栈组315、317、控制器322、第一通信接口板318、第二通信接口板320、第一分组电话流网络302(“流网络”)和第二流网络304耦合在一起。在这个实施方案中,第一流网络302和第二流网络304各自分配有完整并且独立的组,这些组存在于独立的通信接口板318、320上,分别具有物理网络接口306、308,分组网络协议堆栈310、312,以及协议堆栈(本情形下为H.323协议堆栈314、316)。每个通信接口板318、320都耦合到PTT 300的控制器322。这两个独立的协议堆栈组315、317的动作由控制器322进行协调和控制,控制器322决定哪些流可由PTT 300来转换,并可以实现信息内容和/或有效载荷在协议堆栈315、317之间的传输。

根据一个示例性的实施方案,流有效载荷可以经由时分复用(TDM)总线324,或者通过其它方式在两个堆栈组315、317之间传输,只要这种方式能够在物理网络接口层306、308,分组网络协议层310、312,以及分组电话流协议层314、316上保持协议堆栈组315、317之间的分隔。例如,控制器322内包含流有效载荷的数字化段的数据结构能够在网络302、304之间传输,同时保持协议堆栈组315、317之间的安全分隔。

虽然图3中所图示的示例性实施例示出了本发明中在两个示例性的H.323分组电话流网络302、304之间转换流的PTT 300,但是也可以有许多其它变动方案。不同的物理网络接口306、308(例如用异步传输模式(ATM)取代以太网)可被用在协议堆栈组315、317之一或两者中。不同的分组网络协议310、312(例如用支持多个服务等级的私有传输控制协议/因特网协议(TCP/IP)取代标准的TCP/IP)可被用在协议堆栈组315、317之一或两者中。不同的电话流314,316(例如SIP或者MGCP)可被用在协议堆栈组315、317之一或两者中。在其它的变动方案中,两个协议堆栈组315、317都可被部分或者全部地实现在主机处理器中,而不是在独立的专用通信接口板318、320中。通过传输数据结构中的数字化有效载荷段来传输流有效载荷的方法可由实现两个协议堆栈组315、317的主机处理器来执行。本发明还可以被实现为单个控制器322对象,该对象创建了PTT 300中的其它必要对象。

当PTT 300用在示例性的IP电话实施方案中时,它实现了分组电话呼叫在两个TCP/IP网络302、304之间的安全连接,而不会合并两个网络302、304的拓扑结构,并且也不会引起与TCP/IP流量有关的任何安全性问题。PTT 300使得一个电话网络不可能确定另一个网络的物理拓扑、分组网络拓扑和分组电话拓扑。因此,正如上面所讨论的那样,两个电话网络302、304在物理层、分组网络层和分组电话层上保持着相互隔离。

用于电话业务的PTT 300的某些实施例并不限于分组电话,而是可被用在分组电话网络和电路交换电话网络(例如PSTN)之间。无论使用在PTT 300每一侧的电话网络和协议是什么类型,PTT 300的各种电话实施方案都可以管理呼叫策略,执行别名到私有地址的翻译,支持路由呼叫模型,并且指引呼叫模型,存储注册端点信息,支持呼叫转移服务,支持快速连接和H.245隧道方式,支持对网络工程的全事件记录,并且支持事件日志(例如严重错误的日志).在一些实施例中,可以发信号通知PTT 300来终止受控端点间的连接,为高层应用提供呼叫转发,为直接路由请求服务提供选项,提供转向(deflect)服务,提供发起呼叫服务,为RAS和Q.931消息提供回呼指示,并且提供用于管理策略和用户信息的接口,这都是电话相关领域中的普通技术人员所能理解的。PTT 300还可以成为通过计算机操作系统注册表而完全可配置的,并为基于万维网(Web)的管理支持提供支持。PTT 300的其它变动方案可以提供到达呼叫和发出呼叫的自动检测,可以打开或关闭到达呼叫和发出呼叫,并且可以路由RTP和RTCP分组音频流和分组视频流。

图4示出了第二示例性PTT 400,所述PTT 400具有控制器402,示例性第一电话协议堆栈(例如H.323协议堆栈404),示例性第二电话堆栈(例如SIP协议堆栈406),媒体路由器408,RTP堆栈410、412,端口管理器413、网络接口板414、416,第一网络418和第二网络420,所有这些都如图所示以通信的方式耦合在一起。在PTT 400的这个示例性实施方案中,根据本发明的另一方面,控制器402将第一电话流和第二电话流之间的有效载荷内容传输委托给媒体平面408、410、412,该平面可以包括各种媒体传输模态(modality)。保留在控制器402中的信令平面处置连接请求,应用许可策略,并做出连接决定(“信令”)。所述媒体平面在隔离的电话流之间传输数据信息内容。在所图示的实施例中,示例性的H.323协议堆栈404(耦合到第一网络418所使用的第一网络接口414)和SIP协议堆栈406(耦合到第二网络420所使用的第二网络接口416)中的每一个都与控制器402交换信号,以建立对“连接”的授权,借助该授权流转换才可以发生。

控制器402将媒体传输委托给媒体路由器408,该路由器在耦合到第一网络接口414的第一RTP堆栈410和耦合到第二网络接口416的第二RTP堆栈412之间传递有效载荷。在这个实施例中,端口管理器413为整个系统中的网络接口存储/管理自由和已用端口信息。在建立会话之前,媒体路由器408与端口管理器413通信,以确定将要用于地址翻译的自由端口,用内部地址来替换外部地址,和/或反之亦然。一旦关闭了通信会话,媒体路由器408将它已经使用的端口回收到端口管理器413,以供再次利用。

其它实施例也是可能的,包括例如用媒体网关控制协议(MGCP)(征求意见稿2805,“媒体网关控制协议体系结构和要求”,2000年4月)或者媒体网关控制(Megaco)(征求意见稿3015,“Megaco协议版本1.0”,2000年11月;和征求意见稿3054,“Megaco IP电话媒体网关应用概况”,2001年1月)来替代H.323和SIP协议。应当注意到,在媒体传输的第一段414、410、408和媒体传输的第二段408、412、416两者上使用同样的媒体编解码器,这可以产生以下优点:避免媒体代码转换,从而提高媒体路由器408的效率。

在上面所讨论的媒体平面的其它实施方案中,使用硬件加速可以提高媒体路由速度。例如,线路速度(wire speed)的路由硬件可被用于分组路由。例如,路由硬件可以使用网络处理器和/或基于数字信号处理器(DSP)的硬件。所图示的媒体路由器408和RTP堆栈410、412可以被用户报文协议-因特网协议(UDP/IP)路由器替换。因此,本发明中处理器密集型的(processor-intensive)信令部分可由PTT 400中的主机处理器来执行,而线路速度的分组路由可由网络处理器和/或基于DSP的硬件来执行.如果用媒体管理器来取代媒体路由器408,则媒体管理器就可以使用动态链接库(DLL)的服务来传递音频和/或视频分组.DLL可以提供通常的端口映射(即,对于UDP)、端点间的分组传递、会话跟踪和过滤服务.

图5示出了第三示例性PTT 500的实施例,其中包括了深分组检查引擎509,用于以线路速度进行的超高性能分组电话流转换。示例性的PTT 500可以进入数据分组有效载荷的内部进行读取,并且如果必要的话,将在转发前修改这些有效载荷。

示例性PTT 500可以包含控制器502、第一协议引擎504、第二协议引擎506、分组检查器508、分组拆分器/重组合器(PDR)510、第一网络接口512和第二网络接口514,如图所示,它们全都以通信方式耦合在一起。第一网络接口512耦合到第一网络516,且第二网络接口514耦合到第二网络518。

在这个实施例中,协议引擎504、506处理呼叫建立,并且不仅可以处理(信令分组)电话连接协议(例如,H.323、SIP),还可以处理(呼叫有效载荷分组)会谈路径(talk-path)传输协议(例如,RTP)。协议引擎504、506可以支持用在它们各自连接中的所有协议,并且在某些变动方案中可以包括各种协议子引擎,每一个子引擎处理一个或多个不同的协议,并且共同工作以支持单个连接。

硬件加速可被用在分组检查器508、PDR 510、第一网络接口512和第二网络接口514中的部分或全部中,以使得PTT 500能够有效率地检查总网络流量(例如,在第一网络接口512和第二网络接口514之间传递的网络流量),以发现代表分组电话呼叫的数据分组的存在。当识别出电话分组时,它们被分组检查器508从网络流中移除,并被传递到PDR 510。在某个实施例中可能有多个PDR 510,选择PDR 510的适当数量,以匹配特定的分组负载和/或连接负载的处理需求。PDR 510检查从分组检查器508接收的每个分组的(多个)头部,以确定每个分组与哪个连接,即与哪个协议引擎504、506相关联。一个分组(和/或它等效的解码后信息内容)被传递给协议引擎504、506中处理该连接的那一个引擎。协议引擎504、506遵照来自控制器502的指令,相互之间交换信息内容和/或呼叫有效载荷。

协议引擎504、506逻辑的全部或者至少其中一部分可以用硬件来实现。例如,可用硬件来实现RTP有效载荷协议以及信息内容和/或呼叫有效载荷的交换,同时可用运行在主机计算系统中的软件来实现呼叫建立协议。

图6示出了根据本发明一个实施方案的PTT的示例性控制器600元件。示例性控制器600包括至少一个处理器604、应用602、流转换器608、协议翻译器610、AT 606和策略数据库607,它们如图所示由一条或多条总线601耦合在一起。在一些实施例中,处理器604可以协调控制器600的所有其它元件的活动,或者可被缩小为仅控制其中某些元件。在其它实施例中,控制器600可能缺少处理器604,反而依赖宿主计算设备和/或宿主系统中的外部处理器。流转换器608被连接到两个或更多个独立的网络,并且通常可被耦合到用于第一网络612的第一组协议堆栈以及用于第二网络614的第二组协议堆栈。简单地说,流转换器608从一个网络中接收到第一流,终止该流,并且为另一个网络发起第二流,该第二流具有第一流的数据内容。结合以下附图将更详细地描述流转换器608。

根据本发明的另一个方面,控制器600可以包括耦合到流转换器608的协议翻译器610,如图所示.协议翻译器610可被静态地编程,以在用于第一网络的第一协议和用于第二网络的第二协议之间进行翻译,或者可替换地,协议翻译器610可被编程为:在附接到PTT的任何网络上所使用的任意协议之间进行自适应地翻译.在一个实施方案中,协议翻译器610检测用在附接于PTT的两个或更多个网络上的协议,并且动态地选择匹配的协议,以与每个网络进行通信并在网络间进行协议翻译.协议翻译器610可被耦合到流转换器中终止并发起流的元件,从而检测使用中的一个或多个协议,并且开始流翻译所需的一个或多个协议.将会参考后面的附图进一步更详细地描述协议翻译器610.

根据本发明的另一方面,如图所示,AT 606和策略数据库607可以相互耦合,并可耦合到流转换器608。AT 606根据策略数据库607中的规则,将受信网络上的客户端的受信地址翻译成公共地址,以在公共和/或非受信网络上进行公布和/或访问。策略数据库607也可以取得并存储有关注册端点的信息,并响应于来自远程端点的RAS请求而做出基于策略的决定。AT 606可以为流转换器608而在私有地址和公共地址之间进行动态地翻译。AT 606还可以执行两个网络间的连接授权,因此可被耦合到流转换器608中用于控制流转换器608活动的转换许可元件。结合以下附图,将更加详细地描述AT 606。

虽然控制器600被描述为若干相互耦合的模块,但是应当注意,这些模块可以是一个或多个软件程序中的若干部分。控制器600可以完全由软件组成,或者可以包括软件、硬件、对象、过程、组件、子组件、模块、例程和/或子例程的任意组合。

现在参考图7,其中更详细地示出了图6中的示例性流转换器700。第一收发器702被描述为包括第一终止器714和第一发起器718,第二收发器704被描述为包括第二终止器716和第二发起器720。第一和第二收发器702、704在物理和协议层上相互绝缘和/或隔离。第一收发器702耦合到第一组协议堆栈706,第一组协议堆栈706接下来又耦合到第一网络710,第二收发器704耦合到第二组协议堆栈708,第二组协议堆栈接下来又耦合到第二网络712。在所示的实施例中,来自每个网络710、712的流在各自的终止器702、704处终止,而所述终止器可将所述流的数据内容中继到内容传输器722元件。内容传输器722可以以多种模态实现,它在收发器702、704之间传输有效载荷。例如,内容传输器722可以将来自包括在第一收发器702中的第一终止器714中的内容传输给包括在第二收发器704中的第二发起器720,或者,将来自包括在第二收发器704中的第二终止器716中的内容传输给包括在第一收发器702中的第一发起器718。这样,有效载荷就很典型地从第一流的终止点被传输到第二流的发起点。如上所述,有效载荷传输可以使用物理TDM总线而发生,或者可替换地,可以使用包括在PTT中的处理器和/或PTT之外的处理器内的数据结构交换而发生。内容传输器722将有效载荷的传输不仅可以委托给流转换器700的外部(但仍然在控制器和/或PTT的内部,如图4所示),甚至还可以委托给PTT的外部,例如委托给外部的媒体管理器和/或网络分组路由器。

耦合到内容传输器722上的传输许可器724可以掌管有效载荷的传输,因此在某些实施例中,可以确定在接收到第一段流之后是否准许发起第二段流。传输许可器724可以执行简单的开关功能,使得内容传输器722或者完整地传输有效载荷,或者根本不传输有效载荷,或者传输许可器724可以基于内容做出传输决定,来过滤有效载荷内容,和/或基于内容传输部分有效载荷内容。根据本发明的另一方面,传输许可器724可被耦合到AT,该AT可以基于地址、信令和/或安全性策略和协议来授权有效载荷传输。

图8更详细地示出了图6中的示例性协议翻译器800,所述翻译器耦合到图7中的流转换器的元件.在协议翻译器800的实施方案中可以包括一个或多个协议检测器804以及一个或多个动态协议选择器802.所图示的协议检测器804被耦合到流转换器元件的终止器854、856.协议检测器804发现网络正在使用的协议.协议检测器804可被耦合到动态协议选择器802,简单地说,该选择器802可以将正发送给某一网络的通信协议与正从该网络接收的协议相匹配.动态协议选择器可被耦合到流转换器的收发器850、852的发起器858、860,以实现发起器858、860在发送流时所需的协议.本领域的普通技术人员将会理解,所图示的协议翻译器800仅仅是一个例子,本发明范围内的各种协议翻译器都是可以的.协议翻译器800可能被构造和/或编程为在仅有的两种不变协议之间进行不变的翻译.与网络所使用的不变协议相关的协议翻译硬件和/或软件可用来替换协议检测器804和动态协议选择器802.

图9更详细地示出了图6中的示例性AT 900,所述AT 900耦合到图7中所示的示例性流转换器的元件。公共地址寄存器902、翻译器904和私有地址寄存器906如图所示地耦合在一起。私有地址寄存器906可以从流转换器的受信网络侧的收发器910接收私有地址,例如,从受信客户端接收私有地址。私有地址以及对应的客户端可被注册在一张表中,和/或被分配给一个哈希表(hash),并被传递到翻译器904,而在一个实施例中,翻译器904可以向每一个私有地址分配一个别名,例如公共地址或者伪装名(disguise)。

公共地址寄存器902可以使得所述别名对流转换器的非受信网络侧的收发器908可用。可向受信网络的边界以外的任何安全、非安全、公共和/或私有网络广告所述别名,或者使得所述别名对这些网络可用。翻译器904可以随着流在流转换器的收发器908、910处被终上或者发起,而在别名和私有地址之间来回翻译。本领域的普通技术人员将会理解,私有地址和别名可以采用网络上所使用的协议可以接受的任何形式,例如IP地址、电话号码、硬件地址以及借助其可与网络上的客户端进行通信的任何其它地址或向量。

AT 900的元件(例如私有地址寄存器906和公共地址寄存器902)可以耦合到流转换器的传输许可器914上,以加入对内容传输器912的活动的控制。例如,包括在进入流中的别名目的地地址与注册在私有地址寄存器906中的受信地址的匹配,可以是传输许可器914准许内容传输继续进行而采用的一种标准。因此,根据本发明的一个方面,除了通过流转换器和协议翻译器的网络隔离特性和协议翻译特性而提供的安全性措施之外,AT 900也提供了一种安全性措施。本领域的普通技术人员将会理解,所描绘的AT 900仅仅是AT在本发明范围内的多种可能配置当中的一个例子。

图10中给出了根据本发明的一个方面、用于转换电话流的示例性方法的流程图。从第一网络上的第一客户端接收到具有信息内容的第一电话流1000。该第一电话流在第一网络和第二网络之间的边界处被终止1002。虽然第一电话流可能是不安全的,但是通过终止第一流,并且发起一个完全独立并且安全的用于第二网络的第二电话流就可以确保安全性。具有所述信息内容的第二电话流被发送到第二网络上的第二客户端1004。由于第一流和第二流是相互分隔的,所以它们可以使用不同的协议。因此,本发明的方法可以同时起到提供安全性和协议翻译的作用。

本方法在物理和协议层上分隔两个或更多个网络,使得这些网络无法相互访问,除非本方法允许它们在电话流之间交换信息内容.例如通过将用于第一网络的第一物理网络接口、第一分组网络协议堆栈和第一分组电话协议堆栈与用于第二网络的第二物理网络接口、第二分组网络协议堆栈和第二分组电话协议堆栈隔绝开来,可以相互隔离所述两个或更多个网络.使用连接到第一分组电话协议堆栈和第二分组电话协议堆栈的应用层控制器,可以将来自第一电话流的内容传输到第二电话流.在第一分组电话协议堆栈和第二分组电话协议堆栈之间保持隔离的同时,所述控制器在网络间的边界处终止第一电话流,并发起第二电话流.

图11是根据本发明一个方面的、用于协议翻译的示例性方法的流程图。接收到示例性的第一电话流,例如携带有信息内容且根据第一网络所使用的第一协议进行格式化的非安全第一电话流1100。所述第一电话流在第一网络和第二网络间的边界处被终止1102。动态地选择第二协议,以匹配第二网络所使用的协议1104。第二电话流例如是能够(根据本方法的所述实施例,在某个点上)携带所述信息内容的安全第二电话流,该第二电话流根据第二协议进行格式化,并被发送到第二网络1106。

本方法还可以包括检测第一网络所使用的第一协议,并且动态地选择用于接收所述第一电话流的接收协议,检测第二网络所使用的第二协议,并且动态地选择用于发送所述第二电话流的发送协议,和/或将所述内容从第一电话流传输到第二电话流,同时隔离第一网络和第二网络。

在图12中,给出了根据本发明一个方面的、用于地址转换的示例性方法的流程图。从第一网络上的受信客户端接收到一个私有地址1200。向该私有地址分配一个公共地址1202。接收到具有信息内容的示例性非安全第一电话流,并递送到所述公共地址1204。在第一网络和第二网络之间的边界处终止所述非安全第一电话流1206。具有所述内容的示例性安全第二电话流被发送到所述私有地址1208。来自受信客户端的多个私有地址可被注册在私有网络上。分配给私有地址的公共地址可在公共网络上被公开化,并且当接收到将公共地址之一作为目的地的通信流时,将所述目的地公共地址匹配到在所述私有网络上发现的私有地址的能力就可以成为地址转换的标准之一。

图13是根据本发明的深分组检查方面的、用于转换分组电话流的示例性方法的流程图。首先,对数据分组流进行检查,以发现电话数据分组的存在1300。从数据分组的流中移除所述电话数据分组1302。可由深分组检查引擎509中的分组检查器508组件来执行电话数据分组的检查和移除工作。

读取电话数据分组头部和/或电话数据分组有效载荷,以将每一个电话数据分组引导到与所述头部和/或有效载荷相对应的电话流中1304。换言之,读取所述头部和/或有效载荷,以确定地址和/或将电话数据分组与其电话流关联起来的其它标识数据。读取头部和/或有效载荷,以及将电话数据分组引导到对应的电话流中,这些工作都可由深分组检查引擎510中的分组拆分器/重组合器(PDR)510组件来完成。

信息内容在电话流之间(例如,第一电话流和第二电话流之间)传输,同时相互隔绝所述电话流1306。在两个电话流的情况下,第一协议引擎504可被用于第一电话流,而第二协议引擎506可被用于第二电话流。控制器502可被耦合到第一和第二协议引擎504、506,以执行所述信息内容在电话流之间的传输。

图14是本发明一个替换实施例中的一件产品1400的图形表示,该产品中包括具有内容1402的机器可读介质,所述内容1402使得机器可以实现本发明的PTT或者相关方法.可部分或者完全地以计算机程序产品的形式来提供本发明的所述方法和装置,该产品可以包括机器可读介质.所述机器可读介质可以包括但不限于软盘、光盘、CD-ROM、磁光盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、闪存或者适于存储电指令的其他类型的介质.此外,本发明的实施例还可以作为计算机程序产品被下载,其中所述程序可以经由通信链路(例如,调制解调器或网络连接),以数据信号的形式从一台远程计算机传输到发出请求的计算机,所述数据信号可以包含在载波中或者其它传播介质中.

上面以最基本的形式描述了所述方法和装置,但是在不偏离本发明的基本范围的情况下,可以做出各种修改。本领域的普通技术人员将会清楚,在不背离本发明的精神和范围的情况下,可以做出进一步的修改和调整。所提供的具体实施例不是要限制本发明,而是要解释本发明。本发明的范围不是由上面所提供的特定例子来决定的,而是由所附的权利要求书来决定的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号