CN101622823A - 对网络地址转换学习操作的业务量进行节流 - Google Patents
对网络地址转换学习操作的业务量进行节流 Download PDFInfo
- Publication number
- CN101622823A CN101622823A CN200780035696A CN200780035696A CN101622823A CN 101622823 A CN101622823 A CN 101622823A CN 200780035696 A CN200780035696 A CN 200780035696A CN 200780035696 A CN200780035696 A CN 200780035696A CN 101622823 A CN101622823 A CN 101622823A
- Authority
- CN
- China
- Prior art keywords
- grouping
- nat
- session
- nat learning
- learning manipulation
- 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
Links
Images
Classifications
-
- 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
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- 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
- H04L63/0254—Stateful filtering
-
- 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/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/103—Media gateways in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本文公开了用于在IP语音设备(100,102)中对网络地址转换(NAT)进行节流的方法、系统和计算机程序产品。根据一个方法,在IP语音设备(100,102)处接收与媒体会话相关的多个媒体分组。应用NAT学习节流过滤器(116)来选择将被用于NAT学习操作(114)的分组子集,并由此来限制接收到的将被用于NAT学习操作(114)的媒体分组的数目。使用由NAT学习节流过滤器(116)所选择的分组来针对该会话执行NAT学习操作(114)。
Description
相关申请
本申请要求2006年7月28日提交的美国专利申请号11/495,990(其为2003年10月1日提交的美国专利申请号10/676,240的部分延续申请)的权益;其公开内容被通过引用完全并入本文。
技术领域
本文所述主题涉及在媒体网关中对NAT学习操作进行控制。更具体地,本文所述主题涉及用于在IP语音设备中对网络地址转换(NAT)学习操作的业务量进行节流(throttling)的方法、系统和计算机程序产品。
背景技术
在现代电信网络中,媒体网关被用来连接各种类型的通信终端之间的电话呼叫(也被称为会话)。这些通信终端可以是基于分组的通信终端或传统的TDM通信终端。媒体网关执行媒体格式转换功能,以使得被传送到各种类型的通信终端的媒体流(media stream)具有正确的格式。
媒体网关由被称为媒体网关控制器(MGC)(通常被称为软交换机(softswitch))的网络实体来进行控制。软交换机执行呼叫信令功能,以便经由一个或多个媒体网关在多个通信终端之间建立会话。软交换机经由一个或多个网关控制协议(例如MEGACO或MGCP)来与媒体网关进行通信。
网络地址转换器(或NAT)将分组中的源IP地址从一个IP地址空间转换到另一个IP地址空间。网络地址转换还可以包括对输出IP分组中的源端口(例如,UDP和TCP端口)进行转换。针对网络地址转换的示例性提案出现在IETF RFC 2263和RFC 3022中,将这两者的公开内容通过引用完全并入本文。
在IP语音(voice-over-IP)通信网络中使用网络地址转换的一个问题是:可能无法预先知道什么样的IP地址和UDP端口将会出现在IP语音媒体流中的媒体分组的源地址字段中。涉及媒体网关的会话的私有源IP地址可以被包含在针对该会话的呼叫设置消息中。然而,私有的、未经转换的IP地址仅仅在发送方服务供应商的网络中是有用处的。对于目的地媒体网关来说,只有那些由用户驻地NAT在运行时(静态地或动态地)转换的最终源IP和UDP地址是有意义的。因为无法在媒体分组实际通过用户驻地NAT之前就确定出最终经NAT转换的地址,所以,必须执行NAT学习操作,以使得接收方媒体网关知道要包含在针对该会话的输出媒体分组中的正确的目的地地址。
一些IP语音系统使用中央处理单元(CPU)来执行NAT学习操作。例如,分组可以被转发给CPU,该CPU检查输入数据业务的源IP地址和UDP端口,以便建立一种模式,从而确定出同一媒体会话的将来的分组应该被路由到何处。一旦CPU记住了该会话的源IP地址和UDP端口,CPU会将此消息传达给被分配给该会话的语音服务器,以使得该会话的输出分组可以被正确地指定地址。
在一种NAT学习的实现中,一个或多个CPU为了NAT学习的目的,对处于NAT学习模式的会话的分组流中的每个相继接收到的分组进行检查,直到记住了源地址为止。与检查一个会话的每个分组直到记住源地址有关一个问题是:这增加了CPU上的处理负担并且妨碍了CPU执行其它任务。鉴于许多基于分组的网络中的线路速率,对一个会话的每个接收到的分组都执行NAT学习操作直到记住源IP地址和UDP端口可能会消耗学习设备上的大量资源。
因此,鉴于这些困难,存在着对改进的方法、系统和计算机程序产品的需求,其可用于在IP语音设备中对NAT学习操作的业务量进行节流。
发明内容
本文公开了用于在IP语音设备中对网络地址转换(NAT)学习操作的业务量进行节流的方法、系统和计算机程序产品。根据一个方法,在IP语音设备处接收与媒体会话相关的多个媒体分组。应用NAT学习节流过滤器,以选择将被用于NAT学习操作的分组子集,并由此来限制接收到的将被用于NAT学习操作的媒体分组的数目。针对该会话,使用由NAT学习节流过滤器所选择的分组来执行NAT学习操作。
如本文所使用的,术语“IP语音设备”是指用于处理IP语音媒体会话的任何设备。可以从中实现本文所述主题的IP语音设备的示例包括:与IP语音媒体会话相关联的媒体网关、会话边界控制器以及IP路由器。
本文所述主题用于在IP语音设备中对NAT学习操作的业务量进行节流,其可以通过使用包括了包含在计算机可读介质上的计算机可执行指令的计算机程序产品来实现。适合用于实现本文所述主题的示例性计算机可读介质包括磁盘存储设备、可编程逻辑器件、专用集成电路和可下载的电信号。另外,用于实现本文所述主题的计算机程序产品可以位于单一设备或计算平台上,或者可以分布在多个设备或计算平台上。
附图说明
将通过参考附图来解释本文所述主题的优选实施例,其中:
图1是网络的方框图,该网络包括根据本文所述主题的实施例的用于在IP语音设备中对NAT学习操作的业务量进行节流的系统;
图2是IP语音设备的方框图,该设备包括根据本文所述主题的实施例的用于对NAT学习操作的业务量进行节流的系统;
图3是流程图,其示出了根据本文所述主题的实施例的用于在IP语音设备中对NAT学习操作的业务量进行节流的示例性总体步骤;
图4是流程图,其示出了根据本文所述主题的实施例的用于在IP语音设备中对NAT学习操作的业务量进行节流的一种方法的示例性步骤;
图5是流程图,其示出了根据本文所述主题的实施例的用于在IP语音设备中对NAT学习操作的业务量进行节流的一种替代的方法的示例性步骤;并且
图6是流程图,其示出了根据本文所述主题的实施例的用于在IP语音设备中对NAT学习操作的业务量进行节流的另一种替代的方法的示例性步骤。
具体实施方式
本文公开了用于在IP语音设备中对NAT学习操作的业务量进行节流的方法、系统和计算机程序产品。在一个实现中,IP语音设备可以是媒体网关,其建立与另一个媒体网关进行的媒体会话。图1是网络的方框图,该网络包括媒体网关,该媒体网关具有根据本文所述主题的实施例的用于对NAT学习操作的业务量进行节流的系统。参考图1,媒体网关100和102分别由媒体网关控制器104和106来控制。网络地址转换器108存在于媒体网关102之前,用以转换来自媒体网关102的输出媒体分组的源网络地址和传输地址。
在所示出的示例中,媒体网关102包括具有IP地址IP1的语音服务器110。同样地,媒体网关100包括具有IP地址IP2的语音服务器112。媒体网关100还包括:NAT学习功能模块114,用于对从媒体网关102接收的分组中的源IP地址和UDP端口进行学习;以及会话标识符/NAT学习节流过滤器116,用于对NAT学习操作的业务量进行节流。
在所示出的示例中,媒体网关102将具有目的地址IP2,UDP2以及源地址IP1,UDP1的分组发送给媒体网关100。网络地址转换器108对分组中的源地址进行转换,以使得分组中的源地址成为IPX,UDPY,其代表了经NAT转换的地址。媒体网关100必须记住地址IPX,UDPY,以便能够将用于该会话的输出媒体分组发送到媒体网关102。在现有的实现中,如果会话处在NAT学习模式,那么所有用于该会话的媒体分组都被转发给NAT学习功能模块,直到记住该地址为止。然而,根据本文所述主题,会话标识符/NAT学习节流过滤器116可以对NAT学习分组进行节流,以使得只有所选择的NAT学习分组被用于NAT学习操作。结果,这减轻了媒体网关100内实现NAT学习功能模块114的资源上的处理负担。
图2是方框图,其更详细地示出了媒体网关100的示例性内部架构。参考图2,媒体网关100包括用于发送和接收与媒体会话相关的分组的多个IP网络接口200。每个IP网络接口200包括中央处理单元202和网络处理器204。在所示出的示例中,中央处理单元202实现了NAT学习功能模块114。网络处理器204实现了会话标识符/NAT学习节流功能模块116。
媒体网关100还包括用于通过基于ATM的会话来发送和接收媒体分组的ATM网络接口206。分组矩阵模块208在网络接口200和206与语音服务器模块112之间交换分组。分组矩阵模块208可以是任何适用于在媒体网关100内的多个资源之间对分组进行交换的矩阵。在一个实现中,分组矩阵模块208是基于以太网的矩阵。在一个替代的实现中,分组矩阵模块208可以是基于ATM的交换矩阵。
每个语音服务器112可以包括用于处理每个媒体会话的媒体处理资源。在所示出的示例中,这些资源包括用于对媒体分组执行分割和重组功能的IP语音和ATM分割与重组(SAR)功能模块210、212和214。每个语音服务器模块112还可以包括用于对IP语音会话执行诸如转码这样的功能的数字信号处理器(DSP)216。时隙互连(TSI)218连接由媒体网关100所处理的TDM信道。每个语音服务器模块还可以包括CPU 220,其控制每个语音服务器模块的总体操作。
媒体网关100还可以包括用于通过基于TDM的网络(例如PSTN)来发送和接收语音和其它媒体的多个TDM网络接口卡。TDM矩阵模块224可以通过基于TDM的信道向语音服务器模块112发送数据以及从其接收数据。
控制模块224可以控制媒体网关100的总体操作。控制模块224还可以与媒体网关控制器104进行通信以建立和断开(tear down)连接。
尽管在所示出的示例中,NAT学习是由位于网络接口200上的CPU202所实现的,但是本文所述主题并不限于这样的实现。在一个替代的实现中,NAT学习可以由位于语音服务器模块112上的CPU 220、位于语音服务器模块212上的DSP 216或与控制模块224相关的集中式CPU来实现。
图3是流程图,其示出了根据本文所述主题的实施例的用于在媒体网关中对NAT学习操作的业务量进行节流的示例性总体步骤。参考图3,在步骤300,接收与媒体会话相关的多个媒体分组。例如,可以在图2中所示出的会话标识符/NAT学习节流功能模块116处接收媒体分组。在步骤302,NAT学习节流过滤器被应用于分组以便选择将被用于NAT学习操作的分组子集,从而限制接收到的用于NAT学习操作的媒体分组的数目。步骤302可以由在图2中所示出的会话标识符/NAT学习节流功能模块116来执行。
在步骤304,针对该会话,使用由NAT学习节流过滤器所选择的分组来执行NAT学习操作。
在NAT学习节流过滤器的一个示例性实现中,可以维护针对每个会话的计数器,以便对用于每个会话的分组的数目进行计数。当针对给定会话的分组计数超过临界分组数目时,其余的分组会丧失用于NAT学习的资格。图4是流程图,其示出了用于在媒体网关中使用针对每个会话的计数器来选择用于NAT学习操作的临界数目个分组以便对NAT学习操作的业务量进行节流的示例性步骤。
参考图4,在步骤400,在IP语音设备处接收分组。在步骤402,识别出该分组所属的会话。对于在媒体网关处接收到的IP语音会话,可以通过使用目的地IP地址和UDP端口来识别该会话。与会话相关的目的地IP地址和UDP端口可以是预先通过媒体网关控制器之间的信令来分配的。该IP地址和UDP端口可以与语音处理资源(例如媒体网关中多个语音服务器112中的一个)相关。在步骤404,确定该会话是否处在NAT学习模式。一个会话可能最初处在NAT学习模式,直到知道了该会话的源IP地址和源UDP端口。在这之后,可以使该会话离开NAT学习模式。在步404,如果确定出该会话没有处在NAT学习模式,那么控制会进行到步骤406,在该步骤中按正常情况来处理该分组。按正常情况来处理该分组可以包括将该分组转发到合适的语音处理资源以便进行进一步的处理。然后,控制返回到步骤400以处理下一个分组。
在步骤404,如果该会话处在NAT学习模式,那么控制会进行到步骤408,在该步骤中针对该会话的分组计数会递增。在步骤410和412,确定出该分组计数是否超过临界值。如果该计数超过了临界值,那么控制会进行到步骤414,在该步骤中该分组被丢弃。如果该计数没有超过临界值,那么控制会进行到步骤416,在该步骤中选择该分组以用于NAT学习操作。然后,控制返回到步骤400,在该步骤中处理下一个接收到的分组。
在本文所述主题的替代的实现中,不是针对前N个分组(其中N等于临界分组数目)来执行NAT学习操作,而是可能想要针对一个会话的每第N个分组来执行NAT学习操作,这样,对于每N个分组,其中的1/N个分组被选择用于NAT学习操作,而(N-1)/N个分组被丢弃。
图5是流程图,其示出了使用这种方法在IP语音设备中对NAT学习操作的业务量进行节流的示例性步骤。参考图5,在步骤500,在IP语音设备处接收分组。在步骤502,识别出该分组所属的会话。在步骤504,确定出该会话是否处在NAT学习模式。如果该会话没有处在NAT学习模式,那么控制会进行到步骤506,在该步骤中正常地处理该分组。然后,控制返回到步骤500,在该步骤中处理下一个接收到的分组。
在步骤504,如果确定出该会话处在NAT学习模式,那么控制会进行到步骤508,在该步骤中针对该会话的分组计数器会递增。在步骤510,确定出该分组是否是用于该会话的第x*N个分组,其中N是大于0的整数,并且x是大于0的整数(x在分组被选中用于NAT学习操作之后递增)。例如,如果x始于1并且在一个分组被选中用于NAT学习操作之后增加1,那么第N个、第2N个、第3N个等分组将被选中用于NAT学习操作。如果该分组不是第x*N个分组,那么控制会进行到步骤512,在该步骤中该分组被丢弃。如果该分组是第N个分组,那么控制会进行到步骤514,在该步骤中该分组被选中用于NAT学习操作。然后,控制会返回到步骤500,在该步骤中接收下一个分组。
在图4和图5所示出的示例中,使用针对每个会话的分组计数器来对NAT学习操作进行节流。为了避免使用针对每个会话的分组计数器,可以分析接收到的分组的序列号以便确定出接收到的用于一个会话的分组的数目。使用了序列号和可确定出接收到的分组的数目的算法,就没有必要再实现针对每个分组的计数器。
图6是流程图,其示出了根据本文所述主题的实施例的用于在IP语音设备中使用序列号分析来对NAT学习操作的业务量进行节流的示例性步骤。参考图6,在步骤600,在IP语音设备处接收分组。在步骤602,确定出该分组所属的会话。在步骤604,确定出该会话是否处在NAT学习模式。如果该会话没有处在NAT学习模式,那么控制会进行到步骤606,在该步骤中正常地处理该分组。然后,控制返回到步骤600,在该步骤中处理下一个接收到的分组。
在步骤604,确定出分组会话处在NAT学习模式,控制会进行到步骤608和610,在此基于该分组中的序列号来确定出该分组是否要通过NAT学习节流过滤器。在一个实现中,可以使用实时传输协议(RTP)报头序列号。尽管可能并不知道一个会话的初始RTP序列号,但是可以分析分组的RTP报头中的RTP序列号。例如,模运算可以被应用于RTP序列号,以使得可以识别出同一RTP会话的每第N个分组。例如,如果((RTP_Seq_no)modN)==0,那么该分组可以被选中用于NAT学习操作。如果((RTP_Seq_No)mod N)<>0,那么该分组可以被从NAT学习操作中排除。
在步骤610,如果确定出该分组是否通过了该过滤标准,那么控制会进行到步骤612,在该步骤中该分组被丢弃。然后,控制返回到步骤600,在该步骤中处理下一个接收到的分组。
在步骤610,如果该分组通过了该过滤标准,那么控制会进行到步骤614,在该步骤中该分组被选中用于NAT学习操作。然后,控制返回到步骤600,在该步骤中接收并处理下一个分组。
应该理解,可以改变本发明的各个细节,而不偏离本发明的范围。此外,前述说明仅出于解释的目的,而非限制的目的。
Claims (38)
1、一种方法,用于在IP语音设备中对网络地址转换(NAT)学习操作的业务量进行节流,所述方法包括:
在IP语音设备中:
(a)接收与需要进行NAT学习操作的媒体会话相关的多个媒体分组;
(b)应用NAT学习节流过滤器,以通过从接收到的用于所述会话的多个媒体分组中选择分组子集,来限制将被用于NAT学习操作的分组的数目;以及
(c)使用由所述NAT学习节流过滤器所选择的分组来针对所述会话执行NAT学习操作。
2、根据权利要求1所述的方法,其中,所述IP语音设备包括媒体网关。
3、根据权利要求1所述的方法,其中,所述IP语音设备包括从由会话边界控制器和IP路由器所组成的组中选出的一个设备。
4、根据权利要求1所述的方法,其中,应用NAT学习节流过滤器包括:
对于每个接收到的分组:
(a)识别该分组所属的会话;
(b)递增针对该会话的分组计数;
(c)确定针对该会话的分组计数是否超过临界值;
(d)响应于确定出所述分组计数超过所述临界值,阻止该分组被用于NAT学习操作;以及
(e)响应于确定出所述分组计数没有超过所述临界值,选择该分组以用于NAT学习操作。
5、根据权利要求1所述的方法,其中,应用NAT学习节流过滤器包括:
对于每N个接收到的分组,其中N是整数:
选择1/N个所接收到的分组以用于NAT学习操作,并且阻止余下的(N-1)/N个分组被用于NAT学习操作。
6、根据权利要求1所述的方法,其中,应用NAT学习节流过滤器包括:
对于每个接收到的分组:
(a)基于该分组中的序列号来执行模运算;以及
(b)基于所述模运算的结果来确定是否将该分组用于NAT学习操作。
7、根据权利要求6所述的方法,其中,所述序列号包括位于该分组的实时传输协议(RTP)报头中的序列号。
8、根据权利要求6所述的方法,
其中,对该分组执行模运算包括:计算(序列号mod N),其中N是大于0的整数;并且
其中,确定是否将该分组用于NAT学习操作包括:基于所述计算的结果来确定是否使用该分组。
9、根据权利要求8所述的方法,其中,选择该分组以用于NAT学习操作包括:如果结果是0,则选择该分组。
10、根据权利要求6所述的方法,其中,确定是否将该分组用于NAT学习操作包括:
确定所接收到的分组是否是用于所述会话的第x*N个分组,其中N是大于0的整数,并且x是大于0的整数且在分组被选中用于NAT学习操作之后增加;
响应于确定出该分组是第x*N个分组,选择该分组以用于NAT学习操作;以及,
响应于确定出该分组不是第x*N个分组,阻止该分组被用于NAT学习操作。
11、根据权利要求1所述的方法,其中,执行NAT学习操作包括:对用于所述会话的源IP地址和源UDP端口进行学习。
12、根据权利要求1所述的方法,其中,执行NAT学习操作包括:使用位于分组接口卡上的网络处理器、位于所述分组接口卡上的中央处理单元、与所述IP语音设备相关的集中式控制模块、以及与所述IP语音设备中的语音处理资源相关的数字信号处理器中的至少一个来执行NAT学习操作。
13、根据权利要求1所述的方法,其中,所述会话包括IP语音呼叫和多媒体会话中的至少一个。
14、一种系统,用于对网络地址转换(NAT)学习操作的业务量进行节流,所述系统包括:
在IP语音设备中:
(a)会话标识符/NAT学习节流过滤器,用于接收与媒体会话相关的多个分组,应用NAT学习过滤功能以便从所述多个分组中选择将被用于学习操作的分组子集,并由此来限制接收到的将被用于NAT学习操作的媒体分组的数目;以及
(b)NAT学习功能模块,用于使用由所述会话标识符/NAT学习节流过滤器所选择的媒体分组来针对所述会话执行NAT学习操作。
15、根据权利要求14所述的系统,其中,所述IP语音设备包括媒体网关。
16、根据权利要求14所述的系统,其中,所述IP语音设备包括从由会话边界控制器和IP路由器所组成的组中选出的一个设备。
17、根据权利要求14所述的系统,其中,所述会话标识符/NAT学习节流过滤器用于:
对于每个接收到的分组:
(a)识别该分组所属的会话;
(b)递增针对该会话的分组计数;
(c)确定所述分组计数是否超过临界值;
(d)响应于确定出所述分组计数超过所述临界值,阻止该分组被用于NAT学习操作;以及
(e)响应于确定出所述分组计数没有超过所述临界值,选择该分组以用于NAT学习操作。
18、根据权利要求17所述的系统,其中,所述会话标识符/NAT学习节流过滤器用于:
对于每N个接收到的用于所述会话的分组,其中N是整数:
选择1/N个分组以用于NAT学习操作,并且阻止(N-1)/N个分组被用于NAT学习操作。
19、根据权利要求17所述的系统,其中,所述会话标识符/NAT学习节流过滤器用于:
对于每个接收到的用于所述会话的分组:
(c)基于该分组中的序列号来执行模运算;以及
(d)基于所述模运算的结果来确定是否将该分组用于NAT学习操作。
20、根据权利要求19所述的系统,其中,所述序列号包括该分组的实时传输协议(RTP)报头中的序列号。
21、根据权利要求19所述的系统,其中,所述会话标识符/NAT学习节流过滤器用于:
计算(序列号mod N),其中N是大于0的整数;以及
基于所述计算的结果来确定是否将该分组用于NAT学习操作。
22、根据权利要求21所述的系统,其中,所述会话标识符/NAT学习节流过滤器用于:响应于确定出所述结果是0,选择该分组以用于NAT学习操作。
23、根据权利要求19所述的系统,其中,所述会话标识符/NAT学习节流过滤器用于:
确定所接收到的分组是否包括用于所述会话的第x*N个分组,其中N是大于0的整数,并且x是大于0的整数且在分组被选中用于NAT学习操作之后增加;
响应于确定出所接收到的分组包括第x*N个分组,选择所接收到的分组以用于NAT学习操作;以及,
响应于确定出所接收到的分组不是用于所述会话的第x*N个分组,阻止该分组被用于NAT学习操作。
24、根据权利要求14所述的系统,其中,所述NAT学习功能模块用于:对用于所述会话的源IP地址和源UDP端口进行学习。
25、根据权利要求14所述的系统,其中,所述NAT学习功能模块是由与网络接口相关的中央处理单元、控制模块、以及与所述IP语音设备相关的数字信号处理器中的至少一个来实现的。
26、根据权利要求14所述的系统,其中,所述会话包括至少一个其它IP语音呼叫和多媒体会话。
27、一种计算机程序产品,包括包含在计算机可读介质上的计算机可执行指令,所述计算机可执行指令用来执行以下步骤,包括:
在IP语音设备中:
(a)接收与需要进行网络地址转换(NAT)学习操作的媒体会话相关的多个媒体分组;
(b)应用NAT学习节流过滤器,以通过从接收到的用于所述会话的多个媒体分组中选择将被用于NAT学习操作的分组子集,来限制将被用于NAT学习操作的分组的数目;以及
(c)使用由所述NAT学习节流过滤器所选择的分组来针对所述会话执行NAT学习操作。
28、根据权利要求27所述的计算机程序产品,其中,所述IP语音设备包括媒体网关。
29、根据权利要求27所述的计算机程序产品,其中,所述IP语音设备包括从由会话边界控制器和IP路由器所组成的组中选出的一个设备。
30、根据权利要求27所述的计算机程序产品,其中,应用NAT学习节流过滤器包括:
对于每个接收到的分组:
(a)识别该分组所属的会话;
(b)递增针对该会话的分组计数;
(c)确定针对该会话的分组计数是否超过临界值;
(d)响应于确定出所述分组计数超过所述临界值,阻止该分组被用于NAT学习操作;以及
(e)响应于确定出所述分组计数没有超过所述临界值,选择该分组以用于NAT学习操作。
31、根据权利要求27所述的计算机程序产品,其中,应用NAT学习节流过滤器包括:
对于每N个接收到的分组,其中N是整数:
选择1/N个所接收到的分组以用于NAT学习操作,并且阻止余下的(N-1)/N个分组被用于NAT学习操作。
32、根据权利要求27所述的计算机程序产品,其中,应用NAT学习节流过滤器包括:
对于每个接收到的分组:
(a)基于该分组中的序列号来执行模运算;以及
(b)基于所述模运算的结果来确定是否将该分组用于NAT学习操作。
33、根据权利要求32所述的计算机程序产品,
其中,对该分组执行模运算包括:计算(序列号mod N),其中N是整数;并且
其中,确定是否将该分组用于NAT学习操作包括:基于所述计算的结果来确定是否将该分组用于NAT学习操作。
34、根据权利要求33所述的计算机程序产品,其中,确定是否将该分组用于NAT学习操作包括:响应于所述结果是0,确定将该分组用于NAT学习操作。
35、根据权利要求32所述的计算机程序产品,其中,确定是否将该分组用于NAT学习操作包括:
确定所接收到的分组是否是用于所述会话的第x*N个分组,其中N是大于0的整数,并且x是大于0的整数且在分组被选中用于NAT学习操作之后增加;
响应于确定出该分组是第x*N个分组,选择该分组以用于NAT学习操作;以及,
响应于确定出该分组不是第x*N个分组,阻止该分组被用于NAT学习操作。
36、根据权利要求27所述的计算机程序产品,其中,执行NAT学习操作包括:对用于所述会话的源IP地址和源UDP端口进行学习。
37、根据权利要求27所述的计算机程序产品,其中,执行NAT学习操作包括:使用位于分组接口卡上的网络处理器、位于所述分组接口卡上的中央处理单元、与所述IP语音设备相关的集中式控制模块、以及与所述IP语音设备中的语音处理资源相关的数字信号处理器中的至少一个来执行NAT学习操作。
38、根据权利要求27所述的计算机程序产品,其中,所述会话包括IP语音呼叫和多媒体会话中的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/495,990 | 2006-07-28 | ||
US11/495,990 US7492767B2 (en) | 2003-10-01 | 2006-07-28 | Methods, systems, and computer program products for throttling network address translation (NAT) learning traffic in a voice over IP device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101622823A true CN101622823A (zh) | 2010-01-06 |
Family
ID=38982128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780035696A Pending CN101622823A (zh) | 2006-07-28 | 2007-07-30 | 对网络地址转换学习操作的业务量进行节流 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7492767B2 (zh) |
EP (1) | EP2070264B1 (zh) |
CN (1) | CN101622823A (zh) |
WO (1) | WO2008013979A2 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543808B2 (en) * | 2006-08-24 | 2013-09-24 | Microsoft Corporation | Trusted intermediary for network data processing |
US8804484B2 (en) * | 2010-05-14 | 2014-08-12 | Genband Us Llc | Methods, systems, and computer readable media for automatic, peer node transparent rehoming of time division multiplexed (TDM)-based signaling channels in an X user adaptation (XUA) signaling gateway |
US11540175B2 (en) * | 2016-05-10 | 2022-12-27 | Radcom Ltd. | Smart session load balancer and throttle |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434627B1 (en) * | 1999-03-15 | 2002-08-13 | Cisco Technology, Inc. | IP network for accomodating mobile users with incompatible network addressing |
US6629137B1 (en) * | 2000-04-26 | 2003-09-30 | Telefonaktiebolaget L.M. Ericsson | Network interface devices methods system and computer program products for connecting networks using different address domains through address translation |
US7797433B2 (en) * | 2000-06-30 | 2010-09-14 | Net2Phone | System, method, and computer program product for resolving addressing in a network including a network address translator |
US6674758B2 (en) * | 2002-06-06 | 2004-01-06 | Clinton Watson | Mechanism for implementing voice over IP telephony behind network firewalls |
US7486684B2 (en) * | 2003-09-30 | 2009-02-03 | Alcatel-Lucent Usa Inc. | Method and apparatus for establishment and management of voice-over IP virtual private networks in IP-based communication systems |
US7380011B2 (en) * | 2003-10-01 | 2008-05-27 | Santera Systems, Inc. | Methods and systems for per-session network address translation (NAT) learning and firewall filtering in media gateway |
US7620033B2 (en) * | 2004-05-21 | 2009-11-17 | Alcatel-Lucent Usa Inc. | Method for optimal path selection in traversal of packets through network address translators |
US8483173B2 (en) * | 2005-05-31 | 2013-07-09 | Genband Us Llc | Methods and systems for unlicensed mobile access realization in a media gateway |
-
2006
- 2006-07-28 US US11/495,990 patent/US7492767B2/en not_active Expired - Lifetime
-
2007
- 2007-07-30 WO PCT/US2007/016977 patent/WO2008013979A2/en active Application Filing
- 2007-07-30 CN CN200780035696A patent/CN101622823A/zh active Pending
- 2007-07-30 EP EP07810882.6A patent/EP2070264B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2070264B1 (en) | 2016-07-27 |
WO2008013979A3 (en) | 2008-11-20 |
EP2070264A2 (en) | 2009-06-17 |
WO2008013979A2 (en) | 2008-01-31 |
US7492767B2 (en) | 2009-02-17 |
US20060288114A1 (en) | 2006-12-21 |
EP2070264A4 (en) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100450944B1 (ko) | 인터넷 프로토콜 네트워크에서 부하 할당 보이스 오버인터넷 프로토콜 트래픽에 대해 분할된 방화벽들을사용하는 소프트 스위치 | |
US7092493B2 (en) | Methods and systems for providing lawful intercept of a media stream in a media gateway | |
JP4686531B2 (ja) | パケット処理の装置と方法 | |
EP1805956B1 (en) | Methods and systems for per-session traffic rate policing in a media gateway | |
EP1309149B1 (en) | System and method for improving communication between a public switched telephone network and a packet network | |
EP1595372B1 (en) | Shared risk group handling within a media gateway | |
EP1724983A1 (en) | Method of providing a real-time communication connection | |
EP1820318B1 (en) | A method for identifying real-time traffic hop by hop in an internet network | |
EP2117198A1 (en) | Mid-call redirection of traffic through application-layer gateways | |
US20080298378A1 (en) | Media conversion device for interconnecting communication terminal devices with media converted and a method therefor | |
CN101622823A (zh) | 对网络地址转换学习操作的业务量进行节流 | |
US7453803B1 (en) | Congestion control for packet communications | |
KR100432008B1 (ko) | 브이 오 아이 피 시스템 게이트웨이에서의 패킷 전달방법 | |
EP2375649B1 (en) | Number reception method based on media gateway control protocol and media gateway controller | |
JP4870882B2 (ja) | Ipネットワーク間の通信方法 | |
US8306194B2 (en) | Method for reducing costs during the transfer of unidirectional information flows | |
US20160241453A1 (en) | Method for monitoring a communication system | |
EP3058695A1 (en) | Performing an action on certain media streams in a multimedia communications network | |
JP4941831B2 (ja) | 複数プロトコル対応ip電話方法と装置。 | |
EP1686813B1 (en) | signalling point | |
KR20060081539A (ko) | Ip 기반의 시그널링 전송 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100106 |