用于媒体网关处的源识别ip路由的方法、系统和计算机程序产品的制作方法

文档序号:7681185阅读:194来源:国知局

专利名称::用于媒体网关处的源识别ip路由的方法、系统和计算机程序产品的制作方法
技术领域
:本文描述的主题涉及媒体网关。更具体地,本文描述的主题涉及用于在媒体网关处的源识别IP路由的方法、系统和计算机程序产品。
背景技术
:媒体网关(MG)是跨越两个网络域并且在两个不同的网络之间作为媒介的网络节点,同时其还向具体的连接网络提供恰当的媒体层物理资源。通常,媒体网关位于公共交换电话网(PSTN)网络与网际协议(IP)网络之间。当做出了需要MG服务的连接时,例如基于IP的语音(VoIP)呼叫,MG可以在IP网络上与其它MG通信。通常,在IP通信网络中,通过多个路线将MG连接在一起。常规的MG使用基于目的地的IP路由表和基于目的地的路由算法来向其它MG路由IP分组。例如,常规的MG中的路由表包括一种包含与每个目的地相关联的路由信息的条目。因此,经由在与目的地相对应的基于目的地的路由表条目中所定义的路线来路由寻址到特定MG的所有分组。另外,常规的媒体网关一般基于诸如传输控制协议(TCP)或用户数据报协议(UDP)之类的数据流来路由分组。经由与数据流中以前所传输的分组的路线相同的路线来向目的地传输与以前所传输的分组属于同一数据流的分组。因为用于传输分组的路线可能取决于用于路由以前的分组的路线,所以目的地节点在可以使用后续的基于数据流的分组转发之前必须首先传输一个或多个分组。与常规的媒体网关中所使用的基于数据流的分组转发相关联的一个问6题是需要复杂的逻辑来处理数据流分组。这个额外的复杂度增加了使用常规路由方法在MG上路由的分组的开销和传输延迟。与常规的MG中所使用的基于目的地的IP路由相关联的另一个问题是不能在多个路线上向单个目的地路由分组。因为基于目的地的IP路由表将单个目的地与单个路线相关联,仅在其中一个可用路线上对寻址到特定目的地地址的所有分组进行传输。与常规的MG中所使用的基于目的地的IP路由相关联的另一个问题是不能在由多个路线连接的MG之间对IP业务进行负载均衡。例如,常规MG路由表包含用于每个目的地地址的一个条目,其中每个条目包含与到该目的地的路线相关联的信息。例如,可以经由第一输出接口和第一下一跳地址来路由寻址到第一目的地的分组。如此,如果两个MG是由多个输出接口和多个下一跳地址连接的,那么用于每个常规MG的路由表仅指定一个路线,而不是多个路线。随着在MG之间传输的IP分组的数量的增加,对在MG之间的多个路线上的IP业务进行负载均衡的重要性增加。因此,需要用于对由多个路线连接的媒体网关之间的IP业务进行负载均衡的改进的方法和系统。
发明内容本文所述的主题包括用于在媒体网关处的源识别IP路由的方法、系统和计算机程序产品。根据一个方案,提供了一种用于在媒体网关处的源识别IP路由的方法。该方法包括在具有源识别路由表的媒体网关处提供包括第三层源地址和第三层目的地地址的分组。使用该分组中所包括的目的地地址在源识别路由表中定位至少一个与该目的地地址相对应的条目,其中所定位的条目包括源IP地址的至少一部分、目的地IP地址的至少一部分或由它们进行索引,该条目还包括路由信息,该路由信息包括接口标识符和下一跳标识符。在所定位的至少一个与该分组中的目的地IP地址相对应的条目中,定位至少一个与该分组中所包括的源IP地址相对应的条目。基于在该路由表中定位的路由信息,将该分组路由到目的地。可以使用包括包含于计算机可读介质中的计算机可执行指令的计算机程序产品来实现本文所述的用于在媒体网关处的源识别IP路由的主题。适用于实现本文所述主题的示例性计算机可读介质包括芯片存储设备、盘片存储设备、可编程逻辑器件和专用集成电路。另外,可以使用单个器件或计算平台来实现用于实现本文所述主题的计算机程序产品,或者可以将其分布在多个器件或计算平台上。以上说明了本文所公开主题的目的,并且完全或者部分地通过本文所述的主题来实现该目的,随着结合以下所述的附图所进行的描述的继续,其它目的将变得显而易见。图1是根据本文所述主题的实施例的由多个路线连接的能够执行IP分组的源识别路由的两个媒体网关的网络图2是根据本文所述主题的实施例的用于在由多个路线连接的媒体网关之间执行IP分组的源识别路由的示例性步骤的流程图;以及图3是根据本文所述主题的实施例的示出了包括源识别路由表的媒体网关的示例性内部架构的方框图。具体实施例方式图1是示出了包括能够在多个路线上执行IP分组的源识别IP路由的媒体网关102和104的示例性网络100的网络图。参考图1,网络100是网际协议(IP)网络并且媒体网关(MG)102通过多个路线连接到MG104。在图1中,MG102包括两个语音服务器模块(VSM)106和108,该语音服务器模块用于处理由MG102所接收的分组。由唯一的IP地址来标识VSM106和108中的每一个。在处理分组时,VSM106和108可以修改该分组中所包含的报头信息,以包括VSM106或108自身的IP地址来作为该分组的源IP地址。例如,VSM106和108可以分别包含IP地址123.456.789.000和123.456.789.001。由VSM106所处理的IP地址可以包括源地址123.456.789.000,由VSM108所处理的IP地址可以包括源地址123.456.789.001。相比于由包括同一源地址的MG102来处理所有分组情况,通过基于用于处理分组的VSM来分配源地址能获得更大的路由准确性。对于MG102所传输的分组,在源识别路由表113中执行查找。路由功能模块115可以在源识别路由表113中执行本文所述的查找。在图1中,MG102包括源识别路由表113,该源识别路由表113包含用于将源和目的地IP地址与用于将分组从源地址路由到目的地地址的路由信息相关联的条目。包含在源识别路由表113中的路由信息可以包括,例如,输出接口、下一跳地址和/或路由开销(cost)信息。以下将更详细地描述源识别路由表113的细节。在源识别路由表113中定位了匹配的条目后,可以将分组内部地路由到输出接口110或112中的一个。例如,可以基于位于MG102处的源识别路由表113中包含的信息,将由VSM106所处理的分组路由到接口110或112。在将分组路由到输出接口110或112中的一个后,可以将该分组路由到下一跳地址114或116。在图1所示的实例中,下一跳地址114和116分别对应于位于路由器118和120的接口。可以意识到,路由器118和120可以包括多个接口。并且,虽然图1示出了将接口110连接到接口114的单个链路,但可以意识到,接口110还可以连接到接口116或者任意其它数量的接口。类似地,接口112也可以交叉连接到多个另外的接口,例如,路由器118上的接口114。继续上述实例,然后通过IP网络122将在路由器118或120中的任意一个所接收的分组路由到MG104。更具体地,将分组路由到位于MG104的接口124。因为MG104可以包括多个接口,所以打算发往MG104的分组包括与MG104处的特定接口(例如,接口124)相对应的目的地地址。MG104所接收的分组因此包括对应于VSM106或108的源地址和对应于接口124的目的地地址。一般,在MG102和104之间传输的分组构成双向数据流,例如基于IP的语音(VoIP)呼叫。在这些情况下,重要的是对每个方向的数据流保持近似的传输延迟,以使得VoIP呼叫"同步"。例如,可以使用位于MG102和104上的路由表来路由与连接到MG102的第一客户端设备(未显示)和连接到MG104的第二客户端设备(未显示)之间的VoIP呼叫相关联的分组。可以对这些路由表(例如路由表133)进行配置,使得属于相同会话的在一个方向上传输的分组不会比在相反方向上传输的分组受到高得多的延迟。这可以通过对每个路由表添加具有相反的源和目的地地址的一致条目来实现。此外,可以意识到,除了源和目的地节点之外,以上述的方式来调整的路由表还可以位于网络路由节点。图2是示出了用于在由多个路线连接的媒体网关之间执行源识别IP路由的示例性过程的流程图。参考图2,在方框200中,在具有源识别路由表113的MG102处接收包括源地址和目的地地址的分组。如上所述,可以由用于处理分组的语音服务器模块(VSM)分配该分组的源地址。例如,可以用源地址IPhl来标识VSM106所处理的分组,并且用源地址IPh2来标识VSM108所处理的分组。另外,客户端设备可以连接到MG102并且向连接到MG104的收信客户端设备发起VoIP会话。继续该实例,由VSM106处理MG102从客户端设备所接收的分组。因此,该接收的分组包括对应于VSM106的源地址IPhl和对应于MG104上的接口124的目的地地址IPr。在方框202中,定位至少一个与该目的地地址相对应的条目,其中该条目包含路由信息。可以通过在位于媒体网关102的路由表中执行查找来定位该至少一个条目。以下所示的表1示出了可以位于媒体网关102上的示例性的源识别路由表。<table>tableseeoriginaldocumentpage10</column></row><table>表l:示例性源识别路由表在以上所述的表中,第一列和第二列分别包括目的地地址和源地址信息。参考表1,所示的4个条目中的每一个包括与IPr相关联的目的地地址信息。参考图1,目的地地址IPr对应于位于媒体网关104的接口124,并且源地址IPhl和IPh2分别对应于语音服务器模块106和108。第三列包含与用于连接源地址和目的地地址的每个路线相关联的开销信息。包括在表1中的路由开销信息仅是为了说明的目的而可选择地包括在内。在路由表113中可以包括除了路由开销信息之外的与每个路线条目相关联的信息,例如,优选值。返回方框202,在源识别路由表113中定位至少一个与目的地地址IPr相对应的条目。例如,在上面的源识别路由表l中,所有4个条目包括对应于目的地接口124的目的地地址IPr。接下来在方框204中,在方框202所定位的与目的地地址相对应的至少一个条目中,定位与分组中所包括的源地址IPhl相对应的至少一个条目。再次参考表l,在包含目的地地址IPr的4个条目中,前两个条目包含源地址IPhl。可以使用最长前缀匹配(LPM)算法或用于从至少一个条目的集合中定位一个或多个匹配条目的其它合适方法来定位在方框204中定位的至少一个条目。在方框206中,使用方框204中所定位的条目中所包含的路由信息来路由分组。对于一些分组,基于在方框202和204中所执行的查找,在方框204中定位可能单个匹配条目。对于其它分组,基于包含在分组中的源地址和目的地地址信息,在方框204中可能定位两个或更多个条目。对于这样的分组,在源识别路由表113可以包括附加信息,并且该附加信息用来区分在相同的源地址和目的地地址之间的多个路线。继续以上实例,参考示例性的源识别路由表l,必须区分在方框204中所定位的对应于源地址IPhl和目的地地址IPr的两个条目,以便对分组进行路由。因此,为了确定用于向目的地路由分组的单个路线,可以使用与每个条目相关联的用户可配置的值来区分共享共同源地址和目的地地址的路线。在一个实施例中,源识别路由表113包括与每个条目相关联的用户可配置的路由开销值。如果在路由表中存在包含相同的源地址和目的地地址的两个或更多个条目,则可以使用路由开销来确定用于路由分组的条目。例如,可以基于与开销最少的路线相关联的路由信息来路由分组。要理解,对于包含相同的源地址和目的地地址的多个条目,均分配独一无二的路由开销值。这么做是为了当使用路由开销值来区分路线时,在源识别路由表113中不会有两个条目包括相同的源地址、目的地地址和路由开销。在表1所示的实例中,较低的路由开销值指示优选路线。因此,取决于路由开销,可以由输出接口110和114或者输出接口112和116来路由由语音服务器模块106所处理的并且打算发往目的地接口124的分组。参考表l,经由输出接口IPil(对应于接口110)和下一跳IPnl(对应于接ii口114)来路由包括源IPhl和目的地IPr的分组,这是由于用于该路线的条目包含最低的路由开销值。在表1中,路线110/114的路由开销是1而与路线112/116相关联的路由开销是2。如果MG102的运营商想要减少路线110/114上的负载,那么可以增加路线110/114的路由开销,例如,增加到值3,以使得路线112/116成为IPhl和IPr之间的分组的优选路线。在另一个实施例中,可以自动分配该用户可配置的值,例如上述的路由开销。例如,媒体网关102可被配置为用于针对多种网络状况监视IP业务并且自动调整与路由表中的一个或多个条目相关联的一个或多个用户可配置的值。在一个实施例中,媒体网关102可被配置为用于生成包括源和目的地IP地址的测试消息,并且基于在路由表中所定位的路由信息来发送该消息。在接收测试消息响应之后,媒体网关可以生成分组日志,用于指示在测试消息的发送与测试消息响应的接收之间所测量的延迟。然后媒体网关102可被配置为用于基于该分组日志和延迟,自动调整与两个或更多个条目相关联的用户可配置的值。例如,媒体网关102可以生成包括源地址IPhl的测试消息,并且将其发送到媒体网关104。回到表l,经由输出接口110向下一跳114路由上述测试消息。作为结果,媒体网关102从MG104接收测试消息响应,并且生成分组日志。在该实例中,分组日志指示出在输出接口110上的测试消息的发送与测试消息响应的接收之间发生了显著的时间延迟。因此,媒体网关102可以自动提高与对应于接口110的拥塞路线相关联的路由开销值,并且自动降低与对应于接口112的替代路线相关联的路由开销值。因此,当生成包括相同的源地址和目的地地址的第二测试消息时,经由路由器120对其进行路由。这样,可以在由多个路线连接的媒体网关之间实现网络业务流管理。在另一个实施例中,位于MG104的路由表可以是位于MG102的路由表的镜像。其结果是从MG102向MG104传输的分组经过由位于MG120的路由表所指定的网络路径,并且,属于同一VoIP会话的分组将经过由位于MG104的路由表所指定的从MG104到MG102的同一网络路径。因此,两个方向的分组享有同等的与路线相关联的任意传输延迟。要理解,表1中所示的源识别路由表113的结构仅是一个示例。在不脱离本文所述主题的范围的前提下可以增加、删除或替换字段。另外,在不脱离本文所述的主题的前提下表1中的字段可以分布在多个表中。图3是根据本文所述主题的实施例的示出了包括源识别路由表的媒体网关的示例性内部架构的方框图。参考图3,媒体网关102包括用于执行语音处理功能的多个语音服务器模块106和108。在所示的实例中,语音服务器模块106和108中的每一个包括CUP300,并且可以实现实时传输协议(RTP)、ATM适配层1和ATM适配层2,以便在IP或ATM网络上发送和接收语音分组。语音服务器模块106和108还可以包括用于实现一个或多个基于分组协议的语音(例如,RTP、ALU、ALL2或任意其它合适的基于分组协议的语音)的电路。此外,每个VSM可以执行转换编码、回声消除和其它负载转换功能,并且包括用于与其它模块通信的以太网接口302。CPU300控制语音服务器模块106和108中的每一个的总体操作。为了将分组从网络接口卡110-112交换到合适的语音服务器模块106或108,媒体网关102包括分组交换结构304。以太网接口306-308将语音服务器模块106和108中的每一个连接到分组交换结构304。分组交换结构304可以是用于在语音服务器模块106和108与以太网接口306-308之间交换分组的任意合适类型的交换结构。适用于本文所述的主题的实施例的交换结构的例子包括ATM交换结构和以太网交换结构。在下面描述的例子中,假设分组交换结构304包括以太网交换结构。分组交换结构304将语音服务器模块106和108与宽带网络接口110-112互联。网络接口卡110-112中的每一个可以实现网络层功能和分组转发功能,包括网际协议(IP)转发功能。在所示的实例中,提供不同的分组网络接口卡以便连接到外部以太网、基于SONET的分组(POS)和异步传输模式(ATM)网络、多协议标记交换(MPLS)、帧中继或任意其它合适的分组接口。在所示实例中,分组交换结构304包括多个端口,标号为1-4。仅为了说明的目的示出了4个端口。可以理解,取决于连接到分组交换结构304的设备的数量,分组交换结构304可以包括少于或者多于4个端口。媒体网关102还可以包括用于向不同类型的网络发送媒体流或者从它13们接收媒体流的接口。例如,媒体网关102可以包括时分复用(TDM)网络接口卡(NIC)310。TDM网络接口卡310向外部TDM网络发送媒体流并且从其接收媒体流。TDM网络接口卡310可以实现用于在TDM链路上发送和接收消息的任意合适的物理层协议。例如,每个TDMNIC310可以终止一个或多个TDM语音线路。媒体网关102还可以包括时分复用(TDM)矩阵模块312,用于在TDM网络接口卡310与VSM106和108之间交换TDM时隙。TDM网络接口卡310将媒体网关102连接到外部TDM设备,例如允许TDM的交换局。控制模块314控制媒体网关102的总体操作,包括在VSM106-108和IPNIC110-112之间经由分组交换结构304的通信。在所示的实例中,控制模块314可以使用从语音服务器模块106-108中的每一个所接收的信息来在源识别路由表113中执行对匹配条目的查找。应该理解,在不脱离本文所公开主题的范围的前提下,可以改变本文所公开主题的各种细节。此外,前述描述仅用于说明的目的而不是用于限制的目的。权利要求1、一种用于在由多个路线连接的媒体网关之间进行源识别IP路由的方法,所述方法包括在具有源识别路由表的媒体网关处提供包括IP源地址和IP目的地地址的分组;在所述源识别路由表中定位与所述目的地IP地址相对应的至少一个条目,其中,所述至少一个条目包括源IP地址的至少一部分、目的地IP地址的至少一部分和路由信息,所述路由信息包括接口标识符和下一跳标识符;在与所述目的地IP地址相对应的所述至少一个条目中,定位与所述源IP地址相对应的并且包括路由信息的至少一个条目;以及基于在与所述源IP地址相对应的所述至少一个条目中所包括的所述路由信息,路由所述分组。2、如权利要求l所述的方法,其中,在所述源识别路由表中定位与所述目的地IP地址信息相对应的至少一个条目包括基于最长匹配前缀来定位至少一个条目。3、如权利要求l所述的方法,其中,定位与所述源IP地址相对应的至少一个条目包括基于最长匹配前缀来定位条目。4、如权利要求l所述的方法,包括确定与所述目的地IP地址和所述源IP地址相对应的至少一个条目是否包括两个或更多个条目;以及响应于确定所述至少一个条目包括两个或更多个条目,基于与所述两个或更多个条目中的每一个相关联的用户可配置的值,来选择所述两个或更多个条目中的一个来获得用于路由所述分组的所述路由信息。5、如权利要求4所述的方法,包括针对网络状况监视IP业务;以及基于所监视的网络状况,自动调整与所述两个或更多个条目中的每一个相关联的所述用户可配置的值。6、如权利要求4所述的方法,其中,自动调整所述用户可配置的值包括调整所述值以便对传输到目的地的IP分组进行负载均衡。7、如权利要求4所述的方法,其中,针对网络状况监视IP业务包括生成包括源和目的地IP地址的测试消息;使用所述路由表发送所述测试消息;接收测试消息响应;生成分组日志;以及测量在发送所述测试消息和接收到所述测试消息响应之间的延迟。8、一种用于在媒体网关处进行IP分组的源识别路由的系统,其中,所述媒体网关通过多个路线连接到至少一个其它媒体网关,所述系统包括源识别路由表,其包括多个条目,每个所述条目包括源IP地址的至少一部分、目的地IP地址的至少一部分和路由信息,所述路由信息包括接口标识符和下一跳标识符;以及路由功能模块,用于接收包括源IP地址和目的地IP地址的IP分组;基于所述分组中的所述源IP地址和所述分组中的所述目的地IP地址来定位在所述路由表中的至少一个条目,其中所述条目包括源IP地址的至少一部分、目的地IP地址的至少一部分和路由信息,所述路由信息包括接口标识符和下一跳标识符;以及基于被定位的所述至少一个条目中所包括的所述路由信息,路由所述分组。9、如权利要求8所述的系统,其中,所述路由表包括与至少一个条目相关联的至少一个用户可配置的值。10、如权利要求9所述的系统,其中,所述路由功能模块还用于生成测试消息;发送所述测试消息;以及接收测试消息响应。11、如权利要求10所述的系统,其中,所述路由功能模块还用于基于所述测试消息和所述测试消息响应,自动调整所述至少一个用户可配置的值。12、如权利要求8所述的系统,其中,所述源识别路由表包括与所述条目中的至少一些条目相关联的路由开销信息。13、如权利要求8所述的系统,其中,所述源识别路由表和所述路由功能模块位于所述媒体网关中,并且其中,所述路由功能模块用于基于在至少一个匹配条目中所包括的所述路由信息来在所述媒体网关中选择用于路由所述分组的接口。14、一种计算机程序产品,包括包含于计算机可读介质中的计算机可执行指令,用于执行以下步骤在具有源识别路由表的媒体网关处提供包括源IP地址和目的地IP地址的分组;在所述源识别路由表中定位与所述目的地IP地址信息相对应的至少一个条目,其中,所述至少一个条目包括源IP地址的至少一部分、目的地的至少一部分和路由信息,所述路由信息包括接口标识符和下一跳标识符;在与所述目的地IP地址相对应的所述至少一个条目中,定位与所述源IP地址相对应的并且包括路由信息的至少一个条目;以及基于在与所述源IP地址相对应的所述至少一个条目中所包括的所述路由信息,路由所述分组。15、如权利要求14所述的计算机程序产品,其中,在所述源识别路由表中定位与所述目的地IP地址信息相对应的至少一个条目包括基于最长匹配前缀来定位至少一个条目。16、如权利要求14所述的计算机程序产品,其中,定位与所述源IP地址相对应的至少一个条目包括基于最长匹配前缀来定位条目。17、如权利要求14所述的计算机程序产品,包括确定与所述目的地IP地址和所述源IP地址相对应的所述至少一个条目是否包括两个或更多个条目;以及响应于确定所述至少一个条目包括两个或更多个条目,基于与所述两个或更多个条目中的每一个相关联的用户可配置的值,来选择所述两个或更多个条目中的一个来获得用于路由所述分组的所述路由信息。18、如权利要求17所述的计算机程序产品,包括针对网络状况监视IP业务;以及基于所监视的网络状况,自动调整与所述两个或更多个条目中的每一个相关联的所述用户可配置的值。19、如权利要求7所述的计算机程序产品,其中,自动调整所述用户可配置的值包括:调整所述值以便对传输到目的地的IP分组进行负载均衡。20、如权利要求17所述的计算机程序产品,其中,针对网络状况监视IP业务包括生成包括源和目的地IP地址的测试消息;使用所述路由表发送所述测试消息;接收测试消息响应;生成分组日志;以及测量在发送所述测试消息和接收到所述测试消息响应之间的延迟。全文摘要本文所描述的主题包括用于在媒体网关处进行源识别IP路由的方法、系统和计算机程序产品。根据一个方案,提供了一种用于在媒体网关处的源识别IP路由的方法。该方法包括在具有源识别路由表的媒体网关处提供包括第三层源地址和第三层目的地地址的分组。使用该分组中所包括的目的地地址在源识别路由表中定位至少一个与该目的地地址相对应的条目,其中所定位的条目包含源IP地址的至少一部分、目的地IP地址的至少一部分和路由信息,该路由信息包括接口标识符和下一跳标识符。在所定位的至少一个与该目的地IP地址信息相对应的条目中,定位至少一个与该分组中所包括的源IP地址相对应的条目。基于在该路由表中定位的路由信息,将该分组路由到目的地。文档编号H04L12/66GK101632273SQ200780051506公开日2010年1月20日申请日期2007年12月20日优先权日2006年12月20日发明者D·Z·卢,E·Y·钱,R·朱,S-q·李申请人:杰恩邦德公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1