发明内容
本发明实施例提供一种实现网络地址转换的方法、设备及系统,以灵活的为网络接口选择网络地址转换类型。
本发明实施例实现网络地址转换的方法采用如下技术方案:
一种实现网络地址转换的方法,包括如下步骤:
接收由媒体网关控制器发送的网络地址转换类型设置消息,其中在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息;
根据所述网络地址转换类型设置消息,为所述网络接口设置网络地址转换类型;
当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,根据所述设置的网络地址转换类型,进行相应的网络地址转换操作。
本发明的实施例实现网络地址转换的方法采用如下技术方案:
一种实现网络地址转换的方法,包括如下步骤:
生成网络地址转换类型设置消息;
将所述网络地址转换类型设置消息发送给媒体网关,其中,在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息。
本发明实施例媒体网关采用如下技术方案:
一种媒体网关,包括:
接收单元,用于接收由媒体网关控制器发送的网络地址转换类型设置消息,其中在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息;
设置单元,用于根据所述网络地址转换类型设置消息,为所述网络接口设置网络地址转换类型;
网络地址转换操作单元,用于当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,根据所述设置的网络地址转换类型,进行相应的网络地址转换操作。
本发明实施例媒体网关控制器采用如下技术方案:
一种媒体网关控制器,包括:
消息生成单元,用于生成网络地址转换类型设置消息;
消息发送单元,用于将所述网络地址转换类型设置消息发送给媒体网关,其中,在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息。
本发明实施例实现网络地址转换的系统,包括:
媒体网关控制器,用于生成网络地址转换类型设置消息,并将所述网络地址转换类型设置消息发送给媒体网关,其中,在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息;
媒体网关,用于接收由媒体网关控制器发送的网络地址转换类型设置消息,根据所述网络地址转换类型设置消息,为所述网络接口设置网络地址转换类型;当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,根据所述设置的网络地址转换类型,进行相应的网络地址转换操作。
本发明实施例实现网络地址转换的方法、设备及系统,通过由媒体网关控制器根据网络接口的要求生成网络地址转换类型设置消息,然后由媒体网关根据所述消息为网络接口设置网络地址转换类型。当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,可根据该网络接口的要求为该网络接口灵活的设置网络地址转换类型。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
为灵活的根据各网络接口的要求为所述各网络接口选择NAT类型,本发明实施例一提供了一种实现网络地址转换的系统。如图1所示,本发明实施例一实现网络地址转换的系统包括:媒体网关控制器11和媒体网关12。
其中,所述媒体网关控制器11,根据预先设置的策略或者从其它网络实体获得的信息等方式,生成网络地址转换类型设置消息,并将所述网络地址转换类型设置消息发送给媒体网关12,其中,在所述网络地址转换类型设置消息中包括接口预设的网络地址转换类型信息。
所述媒体网关12,用于接收由媒体网关控制器11发送的网络地址转换类型设置消息,根据所述网络地址转换类型设置消息,为所述接口设置网络地址转换类型;当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,根据所述设置的网络地址转换类型,进行相应的网络地址转换操作。
其中,所述网络地址转换类型包括基本网络地址转换类型(基本NAT)、网络地址端口转换类型(NAPT)、双向网络地址转换类型(双向NAT)或两次网络地址转换类型(两次NAT)。并且,当所述网络地址转换类型为基本网络地址转换类型、网络地址端口转换类型或双向NAT时,在所述网络地址转换类型设置消息中还包括:网络地址转换类型的克隆类型设置信息,如全克隆(FullCone),限制性克隆(Restricted Cone),端口限制性克隆(Port Restricted Cone)以及对称式NAT(symmetric NAT)等信息。
在具体应用中,一个NAT地址转换设备可能有一个外部网络接口和至少一个内部网络接口。本发明实施例中是设置NAT地址转换类型的信息到代表网络接口的终端上,包括将该信息设置到代表外部网络接口的终端上或者将该信息设置到代表内部网络接口的终端上。
如果网络地址转换类型信息被设置到代表外部网络接口的终端上,所述网络地址转换类型设置消息中还可以进一步可选地包括:内部网络接口属性信息。如果网络地址转换类型信息被设置到代表内部网络接口的终端上,所述网络地址转换类型设置消息中还可以进一步可选地包括:外部网络接口属性信息。
如果网络地址转换类型信息被设置到代表NAT地址转换设备的外部网络接口的终端上,则从内部网络接口接收到的报文需要通过该外部网络接口发送到外部网络的时候,需要根据网络地址转换类型信息以及已有的NAT地址映射表进行NAT地址转换。该外部网络接口上接收到的报文也需要根据网络地址转换类型信息以及已有的NAT地址映射表判断是否转发到内部网络接口以及如何进行NAT地址映射。
如果网络地址转换类型信息被设置到代表NAT地址转换设备的内部网络接口的终端上,则从该内部网络接口以及该NAT地址转换设备的其它内部网络接口上接收到的报文需要通过该NAT地址转换设备的外部网络接口发送到外部网络的时候,需要根据网络地址转换类型信息以及已有的NAT地址映射表进行NAT地址转换。从该NAT地址转换设备的外部网络接口上接收到的报文也需要根据网络地址转换类型信息以及已有的NAT地址映射表判断是否转发到内部网络以及如何进行NAT地址映射。
本发明的实施例一实现网络地址转换的系统,通过由媒体网关控制器根据网络接口的要求生成网络地址转换类型设置消息,然后由媒体网关根据所述消息为网络接口设置网络地址转换类型。当有通过所述网络接口发出或者发往所述网络接口的报文时,可根据该网络接口的要求为该网络接口灵活的设置网络地址转换类型。
本发明实施例二提供了一种实现网络地址转换的方法,如图2所示,包括如下步骤:
步骤21、媒体网关接收由媒体网关控制器发送的网络地址转换类型设置消息,其中在所述网络地址转换类型设置消息中包括接口预设的网络地址转换类型信息。
其中,所述网络地址转换类型包括基本网络地址转换类型、网络地址端口转换类型、双向网络地址转换类型或两次网络地址转换类型。并且,当所述网络地址转换类型为基本网络地址转换类型或网络地址端口转换类型或双向网络地址转换类型时,在所述网络地址转换类型设置消息中还包括:网络地址转换类型的克隆类型设置信息。此外,、如果网络地址转换类型信息被设置到外部网络接口上,所述网络地址转换类型设置消息中还可以进一步可选地包括:内部网络接口属性信息。如果网络地址转换类型信息被设置到内部网络接口上,所述网络地址转换类型设置消息中还可以进一步可选地包括:外部网络接口属性信息。
在本发明实施例中,可在现有或者扩展的H.248新包中扩展新的属性,采用如下方式表示网络地址转换类型设置消息中所携带的NAT类型和NAT克隆类型。以将网络地址转换类型设置信息被设置到代表NAT外部网络接口的终端上为例,对网络地址转换类型设置消息中所携带的NAT类型和NAT克隆类型的定义如下:
(1)属性名Na tType(0x0001),用于表示网络接口期望的NAT类型,该属性设置在代表接口的终端的localcontrol(本地控制)描述符上,其数据类型为枚举类型。一般情况下,默认值为NAPT(0x02)。允许的取值如表1所示:
表1
BaNAT(0x01) | 表示基本NAT |
NAPT(0x02) | 表示网络地址端口转换 |
BiNAT(0x03) | 表示双向NAT |
TwNAT(0x04) | 表示两次NAT |
(2)属性名ConeType(0x0002),用于表示网络接口期望的NAT克隆类型,该属性设置在代表接口的终端的localcontrol(本地控制)描述符上,其数据类型为枚举类型。一般情况下,默认值为full(0x01)。允许的取值如表2所示:
表2
full(0x01) | 表示full cone类型 |
Res(0x02) | 表示Restricted Cone类型 |
PoRes(0x03) | 表示Port Restricted Cone类型 |
Sym(0x04) | 表示symmetric NAT类型 |
另外,所述网络地址转换类型设置消息中包括的内部网络接口属性信息intInterface(0x0003),用于携带内部网络接口名(或者代表接口的终端名)列表,该属性设置在代表接口的终端的localcontrol(本地控制)描述符上,数据类型为字符串列表类型。通过此属性信息,可对来需要进行NAT地址映射的报文进行过滤。
步骤22、媒体网关根据所述网络地址转换类型设置消息,为所述接口设置网络地址转换类型。
媒体网关首先会解析所述网络地址转换类型设置消息,获取各网络接口预设的网络地址转换类型信息,然后存储各网络接口预设的网络地址转换信息,并为网络接口设置相应的网络地址转换类型。
当扩展的协议规定将所述网络地址转换类型设置到代表网络地址转换外部网络接口的终端上时,所述网络地址转换类型设置消息中还包括内部网络接口属性信息。当扩展的协议规定将所述网络地址转换类型设置到代表网络地址转换内部网络接口的终端上时,所述网络地址转换类型设置消息中还包括外部网络接口属性信息。
步骤23、当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,媒体网关根据所述设置的网络地址转换类型,进行相应的网络地址转换操作。
例如,若媒体网关接收到的网络地址转换类型设置消息中的信息为:NAT类型为BaNAT(0x01),NAT克隆类型为full(0x01),则说明某一该网络接口期望的NAT类型为基本NAT类型,克隆类型为全克隆类型。那么,媒体网关在收到来内部网络接口的报文时,会将来自相同IP地址和端口的报文映射到相同的外部IP地址和端口上。而对于外部网络接口接收到的报文,如果目的地址是已得到映射的外部IP地址和端口,则将该报文发送给相应的内部网络接口。
又例如,若媒体网关接收到的网络地址转换类型设置消息中的信息为:NAT类型为NAPT(0x02),NAT克隆类型为Res(0x02),则说明某一该网络接口期望的NAT类型为NAPT类型,克隆类型为限制性克隆类型。那么媒体网关会将不同的内部网络地址可以映射到相同的外部网络IP地址的不同端口上,并且所有来自相同内部IP地址和端口号的报文映射到相同的外部IP地址和端口上。与全克隆NAT方式不同,只有当内部网络接口以前曾经给IP地址为x的外部网络接口发送过报文时,IP地址为x的该外部网络接口才能够把报文发送给该内部网络接口。
再例如,若媒体网关接收到的网络地址转换类型设置消息中的信息为:NAT类型为NAPT(0x02),NAT克隆类型为Sym(0x02),则说明某一该网络接口期望的NAT类型为NAPT类型,克隆类型为对称式克隆类型。那么媒体网关会将不同的内部网络地址映射到相同的外部网络IP地址的不同端口上,并且从相同的内部地址和端口号同时发起两个报文转发到不同的外部网络地址会产生两个不同的NAT地址映射。
本发明的实施例实现网络地址转换的方法,由媒体网关根据媒体网关控制器的网络地址转换类型设置消息,为网络接口设置网络地址转换类型。当有来自或发往所述网络接口的报文时,可根据该网络接口的要求为该网络接口灵活的设置网络地址转换类型。
在上述实施例中网络地址转换类型设置信息被设置到代表NAT外部网络接口的终端上。一种类似的实施方法是将网络地址转换类型设置信息设置到代表NAT内部网络接口的终端上。其实现方式与本实施例类似,同样可以设置NAT类型和克隆类型,另外还可以设置外部网络接口名,这里不赘述。
本发明实施例三还提供了一种实现网络地址转换的方法。如图3所示,包括如下步骤:
步骤31、根据预先设置的策略或者从其它网络实体获得的信息等方式,生成网络地址转换类型设置消息。
步骤32、网关控制设备将所述网络地址转换类型设置消息发送给网关设备,其中,在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息。
与实施例二中描述的相同,所述网络地址转换类型包括:基本网络地址转换类型、网络地址端口转换类型、双向网络地址转换类型或两次网络地址转换类型。并且,当所述网络地址转换类型为基本网络地址转换类型、网络地址端口转换类型、双向网络地址转换类型时时,在所述网络地址转换类型设置消息中还包括:网络地址转换类型的克隆类型设置信息。此外,如果网络地址转换类型信息被设置到外部网络接口上,所述网络地址转换类型设置消息中还可以进一步可选地包括:内部网络接口属性信息。如果网络地址转换类型信息被设置到内部网络接口上,所述网络地址转换类型设置消息中还可以进一步可选地包括:外部网络接口属性信息。
下面详细描述一下本发明实施例所述的实现网络地址转换的方法。
步骤41、媒体网关接收到媒体网关控制器发送的网络地址转换类型设置消息,要求设置该接口的NAT Type=0x02,Contype=0X02。
步骤42、媒体网关接收IP报文。媒体网关接收到的IP报文可能是由外部网络接口发往内部网络接口的报文,还可能是由内部网络接口发往外部网络接口的报文。因此,媒体网关将根据接收报文的不同情况做如下处理:
第一种情况:当接收到由外部网络接口发往内部网络接口的报文时,媒体网关确定该报文的源地址为x,目的地址为y,并确定内部网络接口A的内部网络地址a在NAT上的映射地址为y。媒体网关确定是否有由内部网络地址a发往外部网络地址x的报文,若有,则转发该报文到内部网络接口A;若没有,则丢弃该报文。
第二种情况:当接收到由内部网络接口发往外部网络接口的报文时,媒体网关确定该内部网络接口是否有可用的映射的外部网络地址,若有则将该报文转发给该外部网络地址;若没有,则为该内部网络接口进行新的NAT地址映射,并转发该报文至映射后的外部网络地址上。
本发明的实施例实现网络地址转换的方法,通过由媒体网关控制器根据网络接口的要求生成网络地址转换类型设置消息,然后由媒体网关根据所述消息为网络接口设置网络地址转换类型。当有来自或发往所述网络接口的报文时,可根据该网络接口的要求为该网络接口灵活的设置网络地址转换类型。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例五提供了一种媒体网关。如图4所示,包括:接收单元41,设置单元42,以及网络地址转换操作单元43。其中,所述接收单元41,用于接收由媒体网关控制器发送的网络地址转换类型设置消息,其中在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息;所述设置单元42,用于根据所述网络地址转换类型设置消息,为所述网络接口设置网络地址转换类型;所述网络地址转换操作单元43,用于当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,根据所述设置的网络地址转换类型,进行相应的网络地址转换操作。
其中,如图5所示,所述设置单元42包括:解析模块421,用于解析所述网络地址转换类型设置消息,获取各网络接口预设的网络地址转换类型信息;设置模块422,用于为网络接口设置相应的网络地址转换类型。
在本发明实施例五中,所述网络地址转换类型设置消息中所携带的其他信息与实施例二中所述的相同,在此不再赘述。
利用本发明的实施例五的媒体网关,当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,可根据该网络接口的要求为该网络接口灵活的设置网络地址转换类型。
此外,本发明实施例六还提供了一种媒体网关控制器,如图6所示,包括:消息生成单元61以及消息发送单元62。其中,所述消息生成单元61,用于根据预先设置的策略或者从其它网络实体获得的信息等方式,生成网络地址转换类型设置消息;消息发送单元62,用于将所述网络地址转换类型设置消息发送给媒体网关,其中,在所述网络地址转换类型设置消息中包括网络接口预设的网络地址转换类型信息。
综上所述,本发明的实施例实现网络地址转换的方法、设备及系统,通过由媒体网关控制器根据网络接口的要求生成网络地址转换类型设置消息,然后由媒体网关根据所述消息为网络接口设置网络地址转换类型。当所述网络接口所在的网络地址转换设备的从内部网络接口发往外部网络接口或者从外部网络接口发往内部网络接口的报文时,可根据该网络接口的要求为该网络接口灵活的设置网络地址转换类型。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。