首页> 中国专利> 网络地址转换地址映射表维护方法、媒体网关及其控制器

网络地址转换地址映射表维护方法、媒体网关及其控制器

摘要

本发明公开了一种网络地址转换地址映射表维护方法、媒体网关及其控制器。网络地址转换地址映射表维护方法包括:媒体网关根据媒体网关控制器的指示创建网络地址转换地址映射表上下文,所述网络地址转换地址映射表上下文中保存网络地址转换地址映射项;对所述网络地址转换地址映射表上下文进行操作以维护该网络地址转换地址映射表上下文中保存的网络地址转换地址映射项。本发明实施例通过对创建的网络地址转换地址映射表上下文进行操作,实现了能够在媒体网关上维护网络地址转换地址映射表。

著录项

  • 公开/公告号CN101552803A

    专利类型发明专利

  • 公开/公告日2009-10-07

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200810103438.7

  • 发明设计人 祝宁;

    申请日2008-04-03

  • 分类号H04L29/12(20060101);H04L12/66(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 22:44:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    未缴年费专利权终止 IPC(主分类):H04L29/12 授权公告日:20111005 终止日期:20180403 申请日:20080403

    专利权的终止

  • 2017-10-10

    专利权的转移 IPC(主分类):H04L29/12 登记生效日:20170915 变更前: 变更后: 申请日:20080403

    专利申请权、专利权的转移

  • 2011-10-05

    授权

    授权

  • 2009-12-02

    实质审查的生效

    实质审查的生效

  • 2009-10-07

    公开

    公开

说明书

技术领域

本发明实施例涉及通信领域,特别涉及一种媒体网关上的网络地址转换地址映射表维护方法、媒体网关及其控制器。

背景技术

随着计算机和通信技术的快速发展,通过公共的分组网承载语音、数据、图像等多种业务成为网络发展方向。在这样的业务驱动和网络融合的趋势下,以软交换设备为核心的下一代网络(Next Generation Network,NGN)应运而生。NGN在分组网中实现,采用分布式网络结构,能够有效承载语音、视频和多媒体业务,实现业务应用、业务控制和业务传送功能三者的分离。图1为现有NGN网络结构示意图,如图1所示,NGN网络主要包括媒体网关(Media Gateway,MG)和媒体网关控制器(MediaGateway Controller,MGC)。其中,MGC,用于实现呼叫状态的管理,以及对MG承载资源的控制;MG,用于将媒体流类型由一种格式转换为另一种格式,例如,将电路交换网中的E1时隙中的媒体信息转换为IP网络中的实时传输协议(Realtime Transport Protocol,RTP)媒体流,并在MGC的信令控制下实现媒体流的建立、修改、释放以及资源管理。

NGN网络的大规模应用将极大地增加对IP地址的需求。当前,解决IP地址匮乏的方案有两种,一是统一部署IPv6地址,二是采用网络地址转换(Network Address Translation,NAT)穿越技术。由于IPv6方案的实施对现有网络会带来革命性的变化,部署IPv6地址应是NGN网络实施下一阶段应重点考虑的问题,因此当前阶段部署NGN网络应着重考虑NAT穿越技术。

媒体网关可以实现NAT的功能,当置于私有网络和公有网络之间的媒体网关收到从私有网络发往公有网络的IP报文时在媒体网关上产生地址映射。

但是,NAT地址映射表可能会很大,例如:10万条NAT地址映射项记录,因此该NAT地址映射的维护尤为重要,但是现有技术不支持MGC和MG对该NAT地址映射表进行操作。

发明内容

本发明实施例提供一种网络地址转换地址映射表维护方法、媒体网关及其控制器,实现在媒体网关上对网络地址转换地址映射表的维护。

本发明实施例提供了一种媒体网关上的网络地址转换地址映射表维护方法,包括:

媒体网关根据媒体网关控制器的指示创建网络地址转换地址映射表上下文,所述网络地址转换地址映射表上下文中保存至少一个网络地址转换地址映射项;

对所述网络地址转换地址映射表上下文进行操作以维护该网络地址转换地址映射表上下文中保存的网络地址转换地址映射项。

本发明实施例提供了一种媒体网关,包括:

创建模块,用于根据媒体网关器的指示创建网络地址转换地址映射表上下文,一个所述网络地址转换地址映射表上下文保存一条或多条网络地址转换地址映射项;

维护模块,用于根据媒体网关控制器的指示对所述网络地址转换地址映射表上下文进行操作。

本发明实施例提供了一种媒体网关控制器,包括:

指示模块,用于指示媒体网关创建网络地址转换地址映射表上下文或对创建的网络地址转换地址映射表上下文进行修改或者删除操作。

本发明实施例通过创建网络地址转换地址映射表上下文,在所述网络地址转换地址映射表上下文中保存至少一个网络地址转换地址映射项,因此能够通过对网络地址转换地址映射表上下文进行操作实现对一个或多个网络地址转换地址映射项的维护,实现了在媒体网关上维护网络地址转换地址映射表的目的。

下面结合附图和具体实施例进一步说明本发明实施例的技术方案。

附图说明

图1为本发明媒体网关上的网络地址转换地址映射表的维护方法的第一实施例的流程示意图;

图2为本发明媒体网关上的网络地址转换地址映射表的维护方法的第二实施例的流程示意图;

图3为本发明媒体网关上的网络地址转换地址映射表的维护方法的第三实施例的流程示意图;

图4为本发明媒体网关控制器的实施例的结构示意图;

图5为本发明媒体网关的实施例的结构示意图;

图6为本发明媒体网关上的网络地址转换地址映射表的维护系统的实施例的结构示意图。

具体实施方式

为使本发明更加清楚明白,本发明实施例首先对NAT技术进行介绍。NAT是一种用于将一个地址域,如专用内联网(Intranet)地址域映射为另一个地址域,如互联网(Internet)地址域的标准的技术。NAT是Internet的一个标准,位于专用网即私有网络和公网即公有网络的边界处。当专用网发出的IP数据分组到达NAT设备时,NAT负责将内部专用网IP地址转换成公网的合法IP地址,也就是说将内部专用网IP地址映射(mapping)到公网的合法IP地址,形成网络地址转换地址映射记录(NAT地址映射记录);NAT设备上的网络地址转换地址映射表(NAT地址映射表)汇总了该NAT上的NAT地址映射记录;该表格是个地址转换表格(translationtable);每条NAT映射记录也就是NAT地址映射表中的一个网络地址转换地址映射项(NAT地址映射项);当有外部发来的数据分组到达NAT设备后,NAT设备通过查阅NAT保存的NAT地址映射表里的信息,将公网地址转换成专用网地址,再转发到内部接收点。如果是基本NAT(Basic NAT),NAT地址映射表中保存的是内部网络和外部网络的IP地址的映射关系;如果是网络地址端口转换(Network Address PortTranslation,NAPT),则NAT地址映射表中保存的是内部网络的IP地址加端口和外部网络的IP地址加端口的映射关系。根据RFC3022的定义,基本NAT和NAPT统称为传统NAT(Traditional NAT)。

NAT分为4种类型,即Full Cone、Restricted Cone、Port Restricted Cone和Symmetric。前面三种类型,统称为Cone NAT,有一个共同点:只要是从同一个内部IP地址和端口出来的包,NAT都将它转换成同一个外部IP地址和端口。但是Symmetric有点不同,具体表现在:只有从同一个内部IP地址和端口发出,且发往同一个外部目的IP地址和端口,NAT才将该内部IP地址和端口转换成同一个外部IP地址和端口。从同一个内部地址和端口发出,但是发往到另一个外部目的IP目标地址和端口,则NAT将使用不同的映射,该内部IP地址和端口将被转换成不同的外部IP地址和端口。

本发明实施例可以支持上述NAT技术。

如图1所示,为本发明网络地址转换地址映射表(NAT地址映射表)的维护方法的第一实施例的流程示意图。本实施例包括以下步骤:

步骤101、媒体网关接收到从私有网络发往公有网络的IP报文。

如果媒体网关上已经存在该IP报文可用的NAT地址映射项,则可以直接使用已有的NAT地址映射项,用该地址映射项中的公有网络地址替换该IP报文的源私有网络地址后从出接口发送到外部网络,流程到此结束。否则,媒体网关为该IP报文产生新的NAT地址映射项,执行步骤102。

本发明实施例中所提到的公有网络地址是指公有网络IP地址和端口;私有网络地址是指私有网络IP地址和端口;

本发明中提到的媒体网关在私有网络和公有网络之间转发的IP报文通常是指媒体流的IP报文。如果信令也需要用这种方式通过媒体网关,则本发明的方法也适用于处理信令消息的IP报文。NAT通常用于在公有网络和私有网络之间转换传输控制协议(Transfer Control Protocol,TCP)或者用户数据报协议(User Datagram Protocol,UDP)的IP地址和传输层端口,TCP和UDP作为传输层协议都是IP这个网络层协议的上一层协议。

步骤102、媒体网关上报新增NAT地址映射项。

新增H.248网络地址转换映射增加事件(NATMapAdd事件),即当媒体网关为接收到的从私有网络到公有网络的IP报文产生新的NAT地址映射项时,上报该事件。该事件可以定义设置在根终端(ROOT终端)上,也可以定义设置到其他终端,例如设置在代表接口的终端上;该事件可以对IP报文的源私有网络地址和/或目的地址增加过滤条件,例如指定地址或者地址范围等。该事件在被上报时携带有参数NatMapEntry,数据类型是字符串列表。用于描述新产生的一个或者多个NAT地址映射项。为了减少H..248协议消息数量,可以允许多个IP报文产生的多个NAT地址映射项在一个事件中通过参数NatMapEntry一起上报。上述字符串列表的每一行代表一个新产生的NAT地址映射项。格式如下:

PrivateIPAddress”|”PrivatePort”|”PrivateInerfaceID”|”DestinationIPAddress”|”DestinationPort”|”PublicIPAddress”|”PublicPort”|”PublicInerfaceID

其中,PrivateIPAddress为该NAT地址映射项的私有网络侧的IP地址;

PrivatePort为该NAT地址映射项的私有网络侧的端口;

PrivateInerfaceID为该NAT地址映射项的私有网络侧的接口标识;

DestinationIPAddress为产生该NAT地址映射项的IP报文的目的IP地址;

DestinationPort为产生该NAT地址映射项的IP报文的目的IP端口;

PublicIPAddress为该NAT地址映射项的公有网络侧的IP地址;

PublicPort为该NAT地址映射项的公有网络侧的端口;

PublicInerfaceID为该NAT地址映射项的公有网络侧的接口标识。

定义以上格式的字符串为一种可行方法,实际实现中还可能有所调整。部分内容可以作为可选项。例如,如果该事件是设置在代表某个公有网络接口的终端上,则不需要上报PublicInerfaceID;如果采用基本NAT而不采取NAPT的方式,则不需要上报PrivatePort和DestinationPort,但是,其基本思想相同;

对于Symmetric类型的NAT,相同的私有网络地址在目的地址不同的情况下会映射出不同的公有网络地址,所以DestinationIPAddress和DestinationPort需要上报。另外,DestinationIPAddress和DestinationPort的上报还可以有其它用途,例如:因为在信令协商的过程中,媒体网关控制器可以获得呼叫对端的媒体IP地址和端口,该IP地址和端口是从呼叫一端发送的穿过媒体网关的媒体流的目的IP地址和端口,所以媒体网关控制器可以依靠DestinationIPAddress和DestinationPort来判断该NAT地址映射是应用于哪个呼叫。

步骤103、媒体网关控制器指示媒体网关为该NAT地址映射项创建对应的网络地址转换地址映射表上下文(NATMap上下文)。

媒体网关控制器接收到该事件后,针对该事件向媒体网关发送为被上报的NAT地址映射项创建NATMap上下文的指示。H.248协议创建上下文是通过在媒体网关加入终端到新的上下文来实现的。

新增H.248协议的上下文属性NAT映射(NATMap),数据类型为BOOL类型,其取值可以为“Yes”或者“No”,默认值为“No”。当该属性值为“Yes”时,表示该上下文为一个网络地址转换地址映射表上下文(NAT地址映射表上下文),或者简称为NATMap上下文;当该属性值为“No”时表示该上下文不是NAT地址映射表上下文。或者借用已有H.248的属性,例如还处于标准草案状态下H.248的IP路由包中有属性描述上下文的类型,例如为背靠背类型或者IP路由类型等,可以在该属性中扩展一个类型枚举值为NATMap类型。

媒体网关上可以将接口分组,彼此之间有包转发关系的接口可以放在一个组。不同的组的接口之间不存在包转发关系,同一个组的每个接口用H.248终端来代表。同一个组的接口终端放在同一个上下文中,后面称该类型的上下文为接口上下文。

在NATMap上下文中创建两个终端,分别代表使用该NAT地址映射项的IP报文的内部网络接口和外部网络接口。内部网络接口通常为连接到内部的私有网络侧的接口,外部网络接口通常为连接到外部的公有网络的接口。一个NATMap上下文代表了NAT地址映射表中的一条或者多条NAT地址映射项。例如:创建NATMap上下文C1,C1中代表内部网络接口的终端为T1,代表外部网络接口的终端为T2。T1和T2上可以设置属性,事件或者统计等。可以在T2上统计流量,媒体网关控制器可以获得使用该NAT地址映射项的IP报文的流量信息。一个NAT地址映射项通常只用于某个呼叫,因此地址映射级别的操作通常情况下也是呼叫级别的操作。

NATMap上下文代表了抽象的NAT地址映射,IP流是通过接口上下文中的终端流经媒体网关。NATMap上下文主要用途是保存NAT地址映射表项,其中的两个终端也是抽象的概念,不排除在一个NATMap上下文中仅创建一个终端。对使用所保存的NAT地址映射的IP流设置的过滤,事件或者统计等都可以设置发到该终端上。

接口上下文中的接口终端接收到IP报文后,如果目的地址不是本接口的本地地址,则查找路由表获得出接口,如果需要做NAT地址转换,查找NATMap上下文获得NAT地址映射项时,为了提高查找效率,可以将接口上下文和NATMap上下文相关联,例如在NATMap上下文中携带上下文属性,其值为相关的接口上下文的上下文标识(ContextID)。

为NATMap上下文进行如下的H.248协议扩展:

新增H.248协议上下文属性网络地址转换类型(NATType),其数据类型为枚举变量,其取值可以为分别是“FullCone”、“RestrictedCone”“PortRestrictedCone”、“Symmetric”或者“NULL”,默认值为“NULL”。其中,前四个值分别代表四种NAT类型,“NULL”表示该上下文不支持NAT功能。如果NATType值不为”NULL”,则该上下文使用NAT地址映射项的规则参照RFC3489中的定义。例如,如果接收到外部网络的IP报文,其目的IP地址和端口符合某个NATType值为Symmetric的NATMap上下文的地址映射,还需要检测该IP报文的源IP地址和端口是否为产生该地址映射的公有网络中设备的源IP地址和端口。

新增H.248协议上下文属性网络地址转换网络地址端口转换(NATNAPT),其数据类型为枚举变量,其取值可以为分别是“BasicNAT”、“NAPT”或者“NULL”,默认值为“NULL”。分别表示实现基本NAT功能、实现NAPT功能或者不实现NAT功能。

新增H.248协议的上下文属性网络地址转换映射项(NATMapItem),该属性用于保存网络地址转换地址映射项。通过对该属性值的设置和修改,网关控制器或媒体网关可以实现对网络地址转换地址映射项的操作和维护。其数据类型为字符串,该字符串保存一条NAT地址映射表的一项,及NAT地址映射表的单条NAT地址映射项记录,一个可行的格式定义方法如下:

如果NATType的取值为“FullCone”、“RestrictedCone”或者“PortRestrictedCone”,该字符串的格式则为:

PrivateIPAddress”|”PrivatePort”|”PublicIPAddress”|”PublicPort

如果NATType的取值为“Symmetric”,该字符串的格式则为:

PrivateIPAddress”|”PrivatePort”|”DestinationIPAddress”|”DestinationPort”|”PublicIPAddress”|”PublicPort

如果NATType的取值为“NULL”,则该字符串为空串。

如果NATNAPT的取值为“BasicNAT”,则可以不考虑端口,只考虑IP地址之间的映射,则以上字符串中不必包含PrivatePort和PublicPort,或者PrivatePort和PublicPort两项填空;

作为一个NATMap上下文,属性NATMapItem不携带任何NAT地址映射项是没有意义的,当出现这种情况的时候,媒体网关控制器可以通过删除该NATMap上下文中的所有终端的方式删除该NATMap上下文。但是从协议角度看,不删除该上下文也不违反协议。

另外,对于上下文属性NATMapItem还可以做如下优化,使一个NATMap上下文能够用于维护多个地址映射项。方法是将属性NATMapItem定义成字符串列表,该列表中的每一行描述一个NAT地址映射项。这个列表所描述的多个NAT地址映射项有相同的内部网络接口和外部网络接口。如果一个NATMap上下文能够用于维护多个地址映射,当媒体网关上报了新的NAT地址映射项后,媒体可以不必创建新的NATMap上下文,而是通过修改已有的NATMap上下文的NATMapItem属性来实现,例如在字符串列表中增加一行用以描述新增的NAT地址映射项。本发明中修改上下文属性是一种修改上下文的操作。对上下文属性的操作可以不携带任何命令,当然也可以携带命令。

本实施例的步骤101中,媒体网关可以通过查找NATMap上下文中保存的NAT地址映射来判断媒体网关上是否已经存在该IP报文可用的NAT地址映射项。一种特殊情况是,媒体网关上报新的NAT地址映射项后,在媒体网关控制器通过创建或者修改NATMap上下文来增加该NAT地址映射项前,媒体网关又收到了需要使用该NAT地址映射项的新的IP报文。一种可行的方式是媒体网关继续使用之前刚创建的NAT地址映射项。如果媒体网关控制器在指定时间内不通过对NATMap上下文的操作(增加或修改)来设置NATMap上下文的NATMapItem属性反映该NAT地址映射项,媒体网关通过事件重复上报,以促使媒体网关控制器和媒体网关同步NAT地址映射表。另外一种可行方法是媒体网关必须等媒体网关控制器通过对NATMap上下文的操作(增加或修改),设置NATMap上下文的NATMapItem属性反映该NAT地址映射项。

一个媒体网关实现IP路由和NAT功能时,可能将其物理或者逻辑接口分成多个组,各组之间相对独立,不存在IP报文的组间转发。相对独立的一组接口放在单独的一个接口上下文中,有单独的上下文标识(contextID)。本实施例还新增上下文属性将NATMap上下文和这些接口组相关联,例如扩展一个上下文属性携带前面描述的接口上下文的contextID。该属性默认值为0,表示不和任何接口上下文相关。这样做的目的是,媒体网关接收到承载层IP报文后通过接口上下文能够查找到相关的NATMap上下文,进而查找可用的NAT地址映射项。

本实施例中,媒体网关控制器可以指示媒体网关为NAT地址映射表中的表项创建NATMap上下文,从而维护NAT地址映射表。本实施例中,媒体网关接收到IP报文后产生NAT地址映射项并且上报给媒体网关控制器,然后媒体网关控制器将该地址映射作为上下文的属性保存在NATMap上下文中。本实施例还可以做如下调整,步骤102中,媒体网关上报的消息中不携带地址映射的结果(映射到的公有网络的IP地址和端口),而由媒体网关在步骤103中媒体网关控制器指示媒体网关创建NATMap上下文后,由媒体网关在应答消息中携带上报给媒体网关控制器。

前面提到的上下文属性NATMap、NATMapItem等还可以作为属性定义在NATMap上下文中的终端上,本发明实施例中描述的对上下文属性的各种操作也可以通过对终端属性的操作来实现。这也是可行方案,其原理和定义成上下文属性相同,不再赘述。

NAT地址映射项具有保活(keep alive)机制。如果在规定的时间内NAT地址映射项没有被使用,则该NAT地址映射项失效,以便释放资源给新的NAT地址映射项。如果保活定时器超时,则媒体网关需要上报,以便媒体网关操作对应的NATMap上下文。

如图2所示,为本发明媒体网关上的网络地址转换地址映射表的维护方法的第二实施例的流程示意图。

步骤201、媒体网关上报需要被删除的NAT地址映射项。

新增H.248删除网络地址转换映射事件(NatMapDelete事件),即当媒体网关上的NAT地址映射项因为超时等原因需要被删除时,上报该事件。该事件可以在NATMap上下文的出终端上设置,例如可以在前面所述的外部网络接口T2上设置;还可以定义设置在ROOT终端或者其它代表接口的终端上上报;该事件在被上报时携带有NATMap上下文的contextID或者需要被删除的NAT地址映射项等方法使媒体网关控制器定位到需要被删除的NAT地址映射项所在的NATMap上下文。

具体实现时,一个NatMapDelete事件可以携带一个需要被删除的NAT地址映射项信息,也可以定义一个NatMapDelete事件可以携带一个或者多个需要被删除的NAT地址映射项信息。可以参照上下文属性NATMapItem的字符串列表的实现方式;

步骤202、媒体网关控制器下发命令删除相应的NATMap上下文中保存的NAT地址映射项。

媒体网关控制器接收到NatMapDelete事件后,如果该NAT地址映射项所在的NATMap上下文的通过H.248的上下文属性NATMapItem只保存了这一个NAT地址映射项,则媒体网关控制器可以通过H.248的Subtract命令指示媒体网关删除相应的NATMap上下文中的所有终端,从而删除该NATMap上下文。如果不删除该NATMap上下文,也可以将其上下文属性NATMapItem中的该NAT地址映射项清除,但是建议删除该NATMap上下文。如果该NAT地址映射项所在的NATMap上下文的通过H.248的上下文属性NATMapItem还保存被删除的NAT地址映射项以外的NAT地址映射项,则只需要修改上下文属性NATMapItem,将要删除的NAT地址映射项去掉就可以了。

某些情况下媒体网关控制器需要主动删除NAT地址映射项,例如媒体网关控制器确定某个NAT地址映射项不需要被使用,就不必等媒体网关上的保活定时器超时后再上报NatMapDelete事件,而是主动发送Subtract命令指示媒体网关删除相应的NATMap上下文,或者指示通过修改NATMap上下文的NATMapItem属性来删除相关的NAT地址映射项。

以此类推,媒体网关控制器还可以主动通过修改NATMap上下文的属性,实现修改NATMap上下文携带的NAT地址映射项等信息。

上述本发明媒体网关上的网络地址转换地址映射表的维护方法的第一实施例中,NAT地址映射项是由在媒体网关接收到从私有网络发往公有网络的IP报文(例如媒体流等)后由媒体网关动态分配产生,即要有IP报文通过才能够产生地址映射。上述本发明媒体网关上的网络地址转换地址映射表的维护方法的第一实施例中,在信令层进行媒体能力协商时,私有网络侧的媒体私有网络地址Pr1A1(包括IP地址和端口,下同)被用于协商。公有网络发往私有网络的媒体IP报文无法到达,而需要等私有网络侧的终端向位于公有网络的对端发送IP报文,激发媒体网关产生NAT地址映射项,然后再将PriA1地址映射成公有网络地址PubA1,公有网络侧的对端才能够通过信令消息等方法获得公有网络地址PubA1。

如图3所示,为本发明媒体网关上的网络地址转换地址映射表的维护方法的第三实施例的流程示意图。本实施例包括以下步骤:

步骤301、媒体网关控制器指示媒体网关生成网络地址转换地址映射(NAT地址映射)项。

本实施例中,在进行媒体能力协商的过程中,媒体网关控制器就能够指示媒体网关预先产生NAT地址映射项,而不必通过媒体IP报文产生NAT地址映射项。例如,媒体网关控制器在信令协商的过程中获得私有网络侧的媒体私有网络地址Pr1A1后,不将其用于后续的信令层进行的媒体能力协商,而是指示媒体网关为该私有网络地址映射NAT映射地址,然后将NAT地址映射后的公有网络地址用于后续的媒体能力协商。媒体IP报文可以使用已经产生的NAT地址映射项进行交互。本方法无需先有从私有网络到公有网络的IP报文,媒体流就能够能双向导通。另外,即使呼叫双方在不同的私有网络,也能够适用。

具体地,媒体网关控制器指示媒体网关生成网络地址转换地址映射项有以下两种可行的方法:

方法1:媒体网关控制器通过指示媒体网关创建或者修改NATMap上下文,直接向媒体网关设置NAT地址映射项。也就是说,被映射的公有网络地址不是媒体网关分配的,而是媒体网关控制器指定的,媒体网关控制器可以通过设置上下文属性NATMapItem的方式实现;

方法2:媒体网关控制器通过指示媒体网关创建或者修改NATMap上下文,指示媒体网关分配NAT地址映射项。

扩展上下文属性NATMapItem中字符串的语法,PublicIPAddress和PublicPort允许为通配符。例如,若媒体网关控制器下发的消息中设置上下文属性NATMapItem为“10.11.1.100|10000|202.1.100.1|20000”,则表示设置的NAT地址映射项为将私有网络地址10.11.1.100:10000映射到公有网络地址202.1.100.1:20000;若媒体网关控制器下发的消息中设置上下文属性NATMapItem为“10.11.1.100|10000|$|$”,则表示媒体网关控制器要求媒体网关为私有网络地址10.11.1.100:10000映射一个公有网络地址。

需要注意的是,如果上下文属性NATMapItem可以描述多个NAT地址映射项,则以上两种方法都可以不创建新的NATMap上下文,而是修改已有的NATMap上下文。

也可以定义新的上下文属性或者终端属性来实现该功能,这里不再赘述。

某些情况下,多个NAT地址映射项之间可以存在联系,例如,RTP端口必须为偶数,其对应的RTCP端口必须用紧接着的奇数端口。NAT分别为RTP和RTCP映射公有网络地址时,映射后的公有网络IP地址和端口不一定符合要求。因此需要扩展H.248协议,将不同的NAT地址映射项相关联,其中一种可行的方法可以是:

扩展H.248协议的上下文属性偶数端口(EvenPort),数据类型为BOOL变量,该属性值为“YES”时,媒体网关在分配NAT地址映射项的公有网络地址时,分配偶数端口。该属性值为“NO”时,媒体网关分配端口不受该约束,默认值为“NO”。

扩展H.248协议的上下文属性顺序端口(SuccPort),数据类型为BOOL变量,该属性值为“YES”时,媒体网关在分配NAT地址映射项的公有网络地址时,分配的IP地址和所在H.248协议消息中前一个上下文中携带的NAT地址映射项后的IP地址相同,端口号为紧接的下一个。该属性值为“NO”时,媒体网关分配映射后的IP地址端口不受该约束,默认值为“NO”。

通过以上扩展的两个上下文属性,媒体网关可以实现为用于RTP的IP流分配偶数端口,为其RTCP流分配紧接的后一个奇数端口。

步骤302、媒体网关进行应答。

如果媒体网关控制器在步骤301中按照方法1所述的强制指定了NAT地址映射项后的公有网络地址,则本步骤媒体网关在应答消息中携带是否成功的信息。如果媒体网关控制器指定的映射后的公有网络地址不能被分配,则媒体网关应答错误码。

如果媒体网关控制器在步骤301中按照方法2所述的指示媒体网关分配NAT地址映射项后的公有网络地址,则本步骤媒体网关分配NAT地址映射项后的公有网络地址和端口,并且在应答消息中将其通过上下文属性NATMapItem返回给媒体网关控制器。如果请求消息中通过上下文属性EvenPort等携带了条件,则媒体网关必须按照该条件分配NAT地址映射项后的公有网络地址。如分配失败,则应答错误码。

步骤301中媒体网关可以通过应答消息向媒体网关控制器返回NAT地址映射的结果。还有一种替代方案是媒体网关不通过应答消息,而是通过后续的事件上报NAT地址映射的结果。

如图4所示,为本发明媒体网关控制器的实施例的结构示意图。本实施例包括相互连接的接收模块13、指示模块11。其中,接收模块13用于接收增加、和/或修改、和/或删除网络地址转换映射项的事件。指示模块11,用于针对接收模块接收的事件指示媒体网关创建网络地址转换地址映射表上下文或对创建的网络地址转换地址映射表上下文进行修改或者删除操作。

本实施例中,指示模块11可以指示媒体网关为NAT地址映射表中的表项创建NAT地址映射表上下文,也可以对创建的网络地址转换地址映射表上下文进行修改或者删除操作,相应的操作可以有两种方式。一种是可以在媒体网关上报NAT地址映射项改变后再指示媒体网关对NAT地址映射表上下文进行操作,即当媒体网关上因为超时等原因删除了NAT地址映射项,或者因为接收到从私有网络到公有网络的IP报文产生新的NAT地址映射项等,媒体网关则可以通过相应的事件上报接收模块13,由指示模块11指示媒体网关对相应的NAT地址映射表上下文进行删除、创建等操作;另一种是指示模块主动指示媒体网关修改NAT地址映射项,而不需要等待媒体网关上报给媒体网关控制器。

如图5所示,为本发明媒体网关的实施例的结构示意图。本实施例包括相互连接的第一接收模块21和生成模块22。其中,第一接收模块21用于接收携带有私网地址的网络地址转换地址映射表生成消息;生成模块22用于根据所述生成消息所携带的私网地址生成网络地址转换地址映射项。

本实施例媒体网关还包括事件上报模块23,用于向媒体网关控制器上报与地址映射项相关的增加、和/或修改、和/或删除的事件,如:

网络地址转换映射增加事件,即当媒体网关为接收到的从私有网络到公有网络的IP报文产生新的NAT地址映射项时,上报该事件;或

删除网络地址转换映射事件,即当媒体网关上的NAT地址映射项因为超时等原因需要被删除时,上报该事件;等。

本实施例媒体网关还包括第二接收模块24、创建模块25。第二接收模块24用于接收媒体网关控制器的指示并发送给创建模块25或维护模块26;创建模块25,用于在第二接收模块24接收的指示为创建NATMap上下文指示时,创建相应的NATMap上下文,所述网络地址转换地址映射表上下文保存一条或多条网络地址转换地址映射项。

本实施例媒体网关还包括维护模块26,用于在用于在第二接收模块24接收的指示为对NATMap上下文的操作指示时,对相应的NATMap上下文进行操作,所述的操作包括删除相应的NATMap上下文中保存的NAT地址映射项等。

本实施例中,在进行媒体能力协商之前,媒体网关控制器就能够通过媒体网关的接收模块指示媒体网关的生成模块预先产生NAT地址映射项,从而使得媒体网关在进行媒体协商时能够直接使用映射后的地址,实现媒体流的双向可到达。

进一步地,本实施例还可以包括上报模块23,用于上报增加、和/或修改、和/或删除网络地址转换映射的事件。

图6为本发明媒体网关上的网络地址转换地址映射表的维护系统的实施例的结构示意图。本实施例包括相互连接的媒体网关20和媒体网关控制器10,分别为上述两个实施例的媒体网关和媒体网关控制器。其中,媒体网关20用于生成网络地址转换地址映射项,向媒体网关上报与网络地址转换地址映射项相关的事件,以及根据媒体网关控制器的指示生成NATMap上下文并进行操作;媒体网关控制器10用于指示媒体网关创建网络地址转换地址映射表上下文,一个所述网络地址转换地址映射表上下文保存一条或多条网络地址转换地址映射项,并指示媒体网关对所述网络地址转换地址映射表上下文进行操作。

其中的媒体网关20可以包括相互连接的第一接收模块21、生成模块22、事件上报模块23、第二接收模块24、创建模块25和维护模块26。其中,第一接收模块21用于接收携带有私网地址的网络地址转换地址映射表生成消息;生成模块22用于根据所述生成消息所携带的私网地址生成网络地址转换地址映射表。事件上报模块23,用于上报增加、和/或修改、和/或删除网络地址转换映射项的事件。第二接收模块24用于接收媒体网关控制器的指示;创建模块25,用于在第二接收模块24接收的指示为创建NATMap上下文指示时,创建相应的NATMap上下文。维护模块26,用于在用于在第二接收模块24接收的指示为对NATMap上下文的操作指示时,对相应的NATMap上下文进行操作。

其中的媒体网关控制器10接收模块13、指示模块11。其中,接收模块13用于接收增加、和/或修改、和/或删除网络地址转换映射项的事件,并发送给指示模块触发其针对接收模块接收的事件下发指示。指示模块11,用于指示媒体网关10创建网络地址转换地址映射表上下文或对创建的网络地址转换地址映射表上下文进行修改或者删除操作。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

本实施例通过对创建的NATMap上下文进行操作,即通过NATMap上下文对NAT地址映射表进行操作,实现了在媒体网关上对NAT地址映射表进行维护。另外,一个NATMap上下文代表一个NAT地址映射项,可以通过NATMap上下文和其中的终端进行NAT地址映射项级别的统计以及属性、事件的设置。媒体网关通过事件上报NAT地址映射表项的改变,使得媒体网关控制器对NATMap上下文进行相应的操作,以实现维护NAT地址映射表,使所有NATMap上下文中保存的NAT地址映射项汇总出正确的NAT地址映射表。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号