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

文档序号:7719237阅读:245来源:国知局
专利名称:在安全网络和非安全网络之间连接分组电话呼叫的方法和装置的利记博彩app
技术领域
本发明一般涉及电话通信领域,更具体地说,涉及一种在安全网络和非安全网络 之间连接分组电话呼叫的方法和装置。
背景技术
随着计算设备的普及,经常需要通过数据网络将这些设备连网在一起,即将这些 设备以通讯的方式耦合起来,从而有助于在这些设备之间进行信息交换。然而,在企业数 据网络中,经常关注的一个问题是,要确保驻留在企业网络内的信息免受外部第三方的入 侵和/或攻击,即那些通过因特网连接对企业内部网发起的攻击。由此,已开发出过滤技术 来控制基于分组的数据流量在网络间的通行,这种过滤技术可以基于每个数据分组的头部
(header)来区分数据分组。在商用防火墙出现之前,网络管理员就开始制定可以用来静态 地滤除不想要的和恶意的流量的规则。但是,这种静态分组过滤有很多不利之处,包括允许 外部客户端直接连接到内部主机。 一个不友好的用户可能占用一个受信的外部主机,并通 过直接连接,相对容易地获得对整个内部网络的恶意访问。 已开发出的动态分组过滤就是为了解决静态分组过滤中的某些问题。基于分组头 部信息,动态分组过滤器在防火墙中允许一个临时"窗口"。在一系列的分组已到达它们的
目的地后,防火墙中的这个临时窗口就会被关闭。由于防火墙中的窗口打开的时间量相比 于静态分组过滤器而言要短得多,因此许多类型的可有效对抗静态分组过滤器的攻击要想 针对动态分组过滤器展开部署,会更难一些。然而,动态分组过滤器仍然有可能允许在内部 主机和外部客户端之间进行直接的IP连接。 —种一般不被传统的企业防火墙支持的新兴应用被通俗地称为"因特网电话", "因特网协议(IP)电话"或者"分组电话",即使用IP数据分组的网络间电话。 一种用于分 组电话的示范协议被正式发布在命名为"H. 323v4草案(DraftH. 323v4)"的国际电信同盟 电信标准化部门(ITU-T)标准中。作为分组电话标准的一个例子,化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是根据本发明的一个深分组检查(de印packet inspecting)方面,示出转 换分组电话流的一种示例性方法的流程图;并且 图14是根据本发明的一个可替换实施例的一件产品的框图,该产品中包括具有 多条可执行指令的示例性存储介质,这些指令在被执行时使得正在访问的机器能够实现本 发明的分组电话转换器(PTT)的一方面或多方面。
具体实施例方式
在此将描述一种用于在安全网络和非安全网络之间连接分组电话呼叫的方法和 装置。
6
根据本发明的教导,引入一种分组电话转换器(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将客户端的私有和/
7或受信地址的公共版本("别名")指定给受信客户端。AT可以在一个或多个安全或非安 全网络上将所述别名公开化,并可以授权PTT的流转换器在所述受信客户端和受信网络之 外请求连接到所述别名的非受信客户端之间执行隔离的流转换。根据本发明的一个方面, 所述非受信客户端与流转换器的第一侧进行通信,非受信客户端将流转换器的第一侧看作 具有所述别名的端点。流转换器的第二侧在它自己和受信客户端之间发起一个独立的第二 段流。第二段流与第一段流完全隔离,并且如上所述,可能在格式和/或协议方面不同于第 一段流。受信客户端将流转换器的第二侧看作非受信客户端的端点。因此,在一个实施方 案中,AT可以使流转换器成为IP电话网络之间的双端点管道。 在整篇说明书中,"一个实施例"或者"实施例"指的是关于该实施例而描述的特定 特点、结构或特性被包括在本发明的至少一个实施例中。因此,短语"在一个实施例中"或 "在实施例中"在整篇说明书不同地方的出现不一定都指同一个实施例。此外,特定的特点、 结构或特性可以在一个或多个实施例中,以任何适当的方式组合起来。
现在参考图l,根据本发明一个示例性的实施方案,描述了示例性计算设备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 IOO进行防问 和/或编程,但是在其他变动方案中,计算设备101或容宿PTT 100的计算环境可能不具有 这些元件,这是本领域的普通技术人员所能理解的。 虽然所图示的示例性PTT 100是以代表硬件模块的方框形式进行描述的,但是应 当注意到,PTT 100也可以包括软件,或者软件、硬件、对象、规程、组件、子组件、模块、例程
和/或子例程的任意组合。 图2是为实现本发明示例性的PTT 204而提供环境的网络200的示例性配置的图 形表示。PTT 204、受信网络202、非受信网络208以及受信网络202和非受信网络208之间 的边界206的相互关系如图所示。边界206还可以包括防火墙。私有、受保护和/或安全 ("受信")的网络202在受信网络202和非安全的外部世界之间的边界206处采用了 PTT
8204,在图示的示例性配置中,所述非安全的外部世界中包括了示例性的公共、不受保护和/ 或非安全("非受信")的网络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客户端可以与一个非受信网络,例如因特网,中 的11.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的各种电话实施方案都可以管理呼叫策略,执行别名到私有地 址的翻译,支持路由呼叫模型,并且指引呼叫模型,存储注册端点信息,支持呼叫转移服务,
10支持快速连接和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月)来替代11.323和31 协议。应当注意到,在媒体传输 的第一段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的任何网络上所使用的任意协议之间进行自适应地翻译。在一个实施方案中,协议翻译
12器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被耦合到流转换器元件的
13终止器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、磁卡或光卡、闪存或者适于存储电指令的其他类型的介质。此外,本发明的实施例还可以作为计算机程序产品被下载,其中所述程序可以经由通信链路(例 如,调制解调器或网络连接),以数据信号的形式从一台远程计算机传输到发出请求的计算 机,所述数据信号可以包含在载波中或者其它传播介质中。 上面以最基本的形式描述了所述方法和装置,但是在不偏离本发明的基本范围的 情况下,可以做出各种修改。本领域的普通技术人员将会清楚,在不背离本发明的精神和范 围的情况下,可以做出进一步的修改和调整。所提供的具体实施例不是要限制本发明,而是 要解释本发明。本发明的范围不是由上面所提供的特定例子来决定的,而是由所附的权利
要求书来决定的。
权利要求
一种方法,包括接收第一电话流,所述第一电话流包括信息内容并发送到第一地址,所述第一电话流是根据第一网络所使用的第一通信协议来格式化的;在所述第一网络和第二网络之间的安全边界处终止所述第一电话流;标识与所述第一地址相关的第二地址,所述第二地址包括在所述第二网络中;以及为所述第二网络建立第二电话流,所述第二电话流包括所述信息内容,所述第二电话流是根据第二通信协议来格式化的,并且被发送到所述第二地址。
2. 如权利要求1所述的方法,其中,还包括 动态地选择所述第二通信协议以所述第二网络所使用的协议。
3. 如权利要求1所述的方法,其中,还包括检测所述第一网络所使用的所述第一通信协议,并动态地选择用于接收所述第一电话 流的接收协议;检测所述第二网络所使用的所述第二通信协议,并动态地选择用于发送所述第二电话 流的发送协议;以及将来自所述第一电话流的所述信息内容传输到所述第二电话流,同时使所述第一网络 与所述第二网络相隔离。
4. 如权利要求1所述的方法,其中,所述安全边界使第一电话流、第一客户端、第一网 络与第二电话流、第二客户端、第二网络相隔离。
5. 如权利要求4所述的方法,其中,所述第一电话流和第二电话流中的至少一个是IP 电话通信,所述隔离包括将第一网络的第一物理网络接口、第一分组网络协议堆栈和/或 第一分组电话协议堆栈与第二网络的第二物理网络接口、第二分组网络协议堆栈和/或第 二分组电话协议堆栈相隔离。
6. 如权利要求5所述的方法,还包括使用连接到所述第一分组电话协议堆栈和所述第二分组电话协议堆栈的控制器将来 自第一电话通信的信息内容传输到第二电话通信,其中所述控制器维持所述第一分组电话 协议堆栈与所述第二分组电话协议堆栈之间的隔离。
7. —种工业制品,包括机器可读介质,包括内容,在执行该内容时导致机器执行接收第一电话流,所述第一电话流包括信息内容并发送到第一地址,所述第一电话流是根据第一网络所使用的第一通信协议来格式化的;在所述第一网络和第二网络之间的安全边界处终止所述第一电话流; 标识与所述第一地址相关的第二地址,所述第二地址包括在所述第二网络中;以及 为所述第二网络建立第二电话流,所述第二电话流包括所述信息内容,所述第二电话流是根据第二通信协议来格式化的,并且被发送到所述第二地址。
8. 如权利要求7所述的工业制品,其中,还包括内容,在执行该内容时导致机器执行 动态地选择所述第二通信协议以所述第二网络所使用的协议。
9. 如权利要求7所述的工业制品,其中,还包括内容,在执行该内容时导致机器执行 检测所述第一网络所使用的所述第一通信协议,并动态地选择用于接收所述第一电话流的接收协议;检测所述第二网络所使用的所述第二通信协议,并动态地选择用于发送所述第二电话 流的发送协议;以及将来自所述第一 电话流的所述信息内容传输到所述第二电话流,同时使所述第一网络 与所述第二网络相隔离。
10. 如权利要求7所述的工业制品,其中,所述安全边界使第一电话流、第一客户端、第 一网络与第二电话流、第二客户端、第二网络相隔离。
11. 如权利要求io所述的工业制品,其中,所述第一电话流和第二电话流中的至少一个是IP电话通信,所述隔离包括将第一网络的第一物理网络接口、第一分组网络协议堆栈 和/或第一分组电话协议堆栈与第二网络的第二物理网络接口、第二分组网络协议堆栈和 /或第二分组电话协议堆栈相隔离。
12. 如权利要求ll所述的工业制品,其中,还包括内容,在执行该内容时导致机器执行使用连接到所述第一分组电话协议堆栈和所述第二分组电话协议堆栈的控制器将来 自第一电话通信的信息内容传输到第二电话通信,其中所述控制器维持所述第一分组电话 协议堆栈与所述第二分组电话协议堆栈之间的隔离。
13. —种设备,包括用于接收第一电话流的装置,所述第一电话流包括信息内容并发送到第一地址,所述第一电话流是根据第一网络所使用的第一通信协议来格式化的;用于在所述第一网络和第二网络之间的安全边界处终止所述第一电话流的装置; 用于标识与所述第一地址相关的第二地址的装置,所述第二地址包括在所述第二网络中;以及用于为所述第二网络建立第二电话流的装置,所述第二电话流包括所述信息内容,所 述第二电话流是根据第二通信协议来格式化的,并且被发送到所述第二地址。
14. 如权利要求13所述的设备,其中,还包括用于动态地选择所述第二通信协议以所述第二网络所使用的协议的装置。
15. 如权利要求13所述的设备,其中,还包括用于检测所述第一网络所使用的所述第一通信协议,并动态地选择用于接收所述第一 电话流的接收协议的装置;用于检测所述第二网络所使用的所述第二通信协议,并动态地选择用于发送所述第二 电话流的发送协议的装置;以及用于将来自所述第一电话流的所述信息内容传输到所述第二电话流,同时使所述第一 网络与所述第二网络相隔离的装置。
16. 如权利要求13所述的设备,其中,所述安全边界包括用于使第一电话流、第一客 户端、第一网络与第二电话流、第二客户端、第二网络相隔离的装置。
17. 如权利要求16所述的设备,其中,所述第一电话流和第二电话流中的至少一个是 IP电话通信,并且所述用于隔离的装置包括用于将第一网络的第一物理网络接口、第一 分组网络协议堆栈和/或第一分组电话协议堆栈与第二网络的第二物理网络接口、第二分 组网络协议堆栈和/或第二分组电话协议堆栈相隔离的装置。
18. 如权利要求17所述的设备,还包括用于使用连接到所述第一分组电话协议堆栈和所述第二分组电话协议堆栈的控制器 将来自第一电话通信的信息内容传输到第二电话通信的装置,其中所述控制器维持所述第 一分组电话协议堆栈与所述第二分组电话协议堆栈之间的隔离。
全文摘要
这里描述的方法和装置用于在安全(202)网络和非安全网络(208)之间连接分组电话呼叫。
文档编号H04L29/06GK101707609SQ200910225818
公开日2010年5月12日 申请日期2003年3月4日 优先权日2002年3月8日
发明者休·默瑟, 卡尔·斯特拉斯迈耶, 唐纳德·芬尼, 拉梅什库马·伊利卡尔, 邦萨维文·冯默索法 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1