网关优化方法及装置转让专利

申请号 : CN201210109850.6

文献号 : CN103379027B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘成天

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开一种网关优化方法,该方法包括以下步骤:当处理多客户端数据流的控制信令时,修改重复的数据端口;根据所述修改后的数据端口,建立期望连接;根据所述期望连接,对所述多客户端数据流进行转换处理。本发明还公开了一种网关优化装置。本发明通过对ALG多客户端数据流的端口地址进行转换处理的方法,实现了ALG网关下多个客户端同时进行数据通信的有益效果,扩展了ALG网关的兼容性,增强了客户体验。

权利要求 :

1.一种网关优化方法,其特征在于,包括以下步骤:

当处理多客户端数据流的控制信令时,ALG修改重复的数据端口;

所述ALG根据所述修改后的数据端口,建立期望连接;

所述ALG根据所述期望连接,对所述多客户端数据流进行转换处理;

其中,所述ALG修改重复的数据端口包括:所述ALG修改重复的客户端数据流端口,并修改控制信令中的数据端口;

所述ALG根据所述修改后的数据端口,建立期望连接,包括:所述ALG根据修改后的客户端数据流端口和控制信令中的数据端口,建立客户端外部数据流期望连接,用以保证客户端外部数据流穿越NAT网关进入内部网络;及根据所述数据流端口,建立客户端内部数据流期望连接,用以保证客户端数据流根据所述客户端内部数据流期望连接进行NAT转换。

2.根据权利要求1所述的网关优化方法,其特征在于,所述ALG根据所述期望连接,对所述多客户端数据流进行转换处理包括:根据所述客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;根据所述客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。

3.根据权利要求1所述的网关优化方法,其特征在于,还包括步骤:建立连接跟踪conntrack会话记录,根据所述conntrack会话,处理后续的多客户端数据流。

4.根据权利要求1所述的网关优化方法,其特征在于,所述数据端口包括客户端数据流端口和控制信令报文数据端口。

5.一种网关优化装置,其特征在于,包括:

数据端口修改模块,用于在处理多客户端数据流的控制信令时,修改重复的数据端口;

期望连接建立模块,用于根据所述修改后的数据端口,建立期望连接;

转换处理模块,用于根据所述期望连接,对所述多客户端数据流进行转换处理;

所述数据端口修改模块具体用于在处理多客户端数据流的控制信令时,修改重复的客户端数据流端口,并修改控制信令中的数据端口;

所述期望连接建立模块具体用于根据修改后的客户端数据流端口和控制信令中的数据端口,建立客户端外部数据流期望连接,用以保证客户端外部数据流穿越NAT网关进入内部网络;及根据所述数据流端口,建立客户端内部数据流期望连接,用以保证客户端数据流根据所述客户端内部数据流期望连接进行NAT转换。

6.根据权利要求5所述的网关优化装置,其特征在于,所述转换处理模块包括:内部转换单元,用于根据所述客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;

外部转换单元,用于根据所述客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。

7.根据权利要求5所述的网关优化装置,其特征在于,还包括:会话建立模块,用于建立conntrack会话记录,根据所述conntrack会话,处理后续的多客户端数据流。

8.根据权利要求5所述的网关优化装置,其特征在于,所述数据端口包括客户端数据流端口和控制信令报文数据端口。

说明书 :

网关优化方法及装置

技术领域

[0001] 本发明涉及网络通信技术领域,尤其涉及一种网关优化方法及装置。

背景技术

[0002] 在IPv4(Internet Protocol Version 4,互联网协议第4版)网络中,NAT(Network Address Translation,网络地址转换)进行网络地址转换时,只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析。而一些特殊协议如FTP(File Transfer Protocol,文件传输协议)、SIP(Session Initiation Protocol,会话发起协议)、RT SP(Real Time Streaming Protocol,实时流协议),它们报文的数据载荷中可能包含IP地址或端口信息,当这些IP地址和端口信息的内容不能被NAT进行有效转换时,就可能导致问题。
[0003] 现有技术中,ALG(Application Layer Gateway,应用层网关)的诞生在一定程度上解决了上述问题。ALG网关可以跟踪解析应用层报文,对报文应用层数据载荷中携带的IP地址、端口、协议类型、对端地址(在数据载荷中带有对端的地址)进行地址转换,为外部数据的传输建立数据通道(此处的数据通道为相对于用户的控制连接而言的数据连接通道),从而满足了多连接协议穿越NAT及防火墙的限制,完成了数据流的传输。
[0004] 但在使用多连接协议的客户端应用中,有的客户端为了穿越NAT的限制,会发送一些UDP(User Datagram Protocol,用户数据报协议)穿越报文,如一些使用RTSP协议的IPTV(Internet Protocol Television,互联协议电视)机顶盒,有的客户端无法重新设置数据端口,如一些使用SIP协议的网络电话,当上述应用环境中存在多个终端同时通信时,就会出现ALG网关下的多个客户端数据端口相同的现象,然而ALG对数据流的端口处理和NAT对数据流的端口处理存在不一致的现象,这会导致数据流会话无法成功建立,从而不能进行数据通信,出现ALG中多客户端同时通信时的会话冲突问题。

发明内容

[0005] 本发明的主要目的是提供一种网关优化方法,旨在解决ALG网关下有多个客户端同时通信时的会话冲突问题,扩展ALG网关的兼容性,增强客户体验。
[0006] 本发明提供了一种网关优化方法,包括以下步骤:
[0007] 当处理多客户端数据流的控制信令时,修改重复的数据端口;
[0008] 根据所述修改后的数据端口,建立期望连接;
[0009] 根据所述期望连接,对所述多客户端数据流进行转换处理。
[0010] 优选地,所述期望连接包括客户端外部数据流期望连接和客户端内部数据流期望连接。
[0011] 优选地,所述根据所述期望连接,对所述多客户端数据流进行转换处理包括:
[0012] 根据所述客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;根据所述客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。
[0013] 优选地,所述网关优化方法还包括步骤:
[0014] 建立连接跟踪conntrack会话记录,根据所述conntrack会话,处理后续的多客户端数据流。
[0015] 优选地,所述数据端口包括客户端数据流端口和控制信令报文数据端口。
[0016] 本发明还提供了一种网关优化装置,包括:
[0017] 数据端口修改模块,用于在处理多客户端数据流的控制信令时,修改重复的数据端口;
[0018] 期望连接建立模块,用于根据所述修改后的数据端口,建立期望连接;
[0019] 转换处理模块,用于根据所述期望连接,对所述多客户端数据流进行转换处理。
[0020] 优选地,所述期望连接建立模块包括客户端外部数据流期望连接单元和客户端内部数据流期望连接单元。
[0021] 优选地,所述转换处理模块包括:
[0022] 内部转换单元,用于根据所述客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;
[0023] 外部转换单元,用于根据所述客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。
[0024] 优选地,所述网关优化装置还包括:
[0025] 会话建立模块,用于建立conntrack会话记录,根据所述conntrack会话,处理后续的多客户端数据流。
[0026] 优选地,所述数据端口包括客户端数据流端口和控制信令报文数据端口。
[0027] 本发明通过对ALG多客户端数据流的端口地址进行转换处理的方法,实现了ALG网关下多个客户端同时进行数据通信的有益效果,扩展了ALG网关的兼容性,增强了客户体验。

附图说明

[0028] 图1是本发明网关优化方法应用组网一实施例结构示意图;
[0029] 图2是本发明网关优化方法第一实施例流程示意图;
[0030] 图3是本发明网关优化方法中SIP语音电话一实施例结构示意图;
[0031] 图4是本发明网关优化方法第二实施例流程示意图;
[0032] 图5是本发明网关优化装置第一实施例结构示意图;
[0033] 图6是本发明网关优化装置中期望连接建立模块一实施例结构示意图;
[0034] 图7是本发明网关优化装置中转换处理模块一实施例结构示意图;
[0035] 图8是本发明网关优化装置第二实施例结构示意图。
[0036] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0037] 以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038] 参照图1,图1是本发明网关优化方法应用组网一实施例结构示意图。在一优选的实施例中,本发明网关优化方法以图1中的组网方式为例来描述具体的实施方式。如图1所示,多客户端同时通信时,以两个客户端(客户端a和客户端b)为例,其数据流会话的转换如下表所示:
[0039]
[0040] 通常,内部数据流出站是通过NAT中的相关模块完成地址端口转换的,而外部数据流入站是通过ALG中的相关模块完成地址端口转换的。在一优选的实施例中,在NAT中的相关模块转换中,由于客户端b的数据流端口在NAT转换后和客户端a存在冲突,NAT将客户端b的数据流端口X修改为Y1,即修改客户端b的数据流端口X→Y1;当ALG对数据流进行处理时,由于客户端b的数据流端口和客户端a存在冲突,ALG将客户端b的数据流端口X修改为Y2,即修改客户端b的数据流端口X→Y2,因此当外部数据流进行流入时,就将相关数据流发送到Y2端口,再由ALG完成地址端口的转换,这样就出现了NAT和ALG对客户端b的数据流端口修改不一致现象,导致会话创建重复,从而使通信失败。
[0041] 参照图2,图2是本发明网关优化方法第一实施例流程示意图。如图2所示,本发明网关优化方法包括以下步骤:
[0042] 步骤S01、当处理多客户端数据流的控制信令时,修改重复的数据端口;
[0043] 当ALG处理多客户端控制信令时,为了使各个客户端端口不重复,以便NAT网关可以正确转发外部数据流到各个客户端,ALG首先修改重复的客户端数据流端口,并修改控制信令中的数据端口。
[0044] 步骤S02、根据所述修改后的数据端口,建立期望连接;
[0045] ALG根据修改后的客户端数据流端口和控制信令中的数据端口,建立客户端外部数据流期望连接,用以保证客户端外部数据流穿越NAT网关进入内部网络;同时,ALG根据所述数据流端口,建立客户端内部数据流期望连接,用以保证客户端数据流根据所述客户端内部数据流期望连接进行NAT转换,而不是根据NAT中的相关模块的对应策略进行NAT转换。
[0046] 步骤S03、根据所述期望连接,对所述多客户端数据流进行转换处理。
[0047] ALG根据客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;根据客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。
[0048] 参照图3,图3是本发明网关优化方法中SIP语音电话一实施例结构示意图。如图3所示,本发明网关优化方法中,以SIP语音电话为例,具体描述本发明网关优化方法的实现过程。所述SIP语音业务媒体流以UDP方式传送,且数据流均经服务器中转,这也是目前VOIP(Voice over Internet Phone,互联网协议电话)运营商的组网模式之一。
[0049] 在一优选的实施例中,SIP客户端a(IP(Internet Protocol,互联网协议)地址192.168.1.2)发起语音呼叫,ALG网关获取SIP信令报文中的RTP(Real Time Protocol,实时传输协议)数据端口(端口号为X),建立客户端a外部期望连接a_wan_expect_conntrack,客户端a期望的目的IP地址为ALG网关地址10.10.10.1,客户端a期望的目的端口为X;同时,ALG网关根据所述述端口号X,建立客户端a内部期望连接a_lan_expect_conntrack,客户端a期望的源IP地址为客户端a的源IP地址192.168.1.2,客户端a期望的源端口为X,所述客户端a的会话转换如下表:
[0050]  客户端a的期望连接   期望条件   转换前端口地址   转换后端口地址
  a_wan_expect_conntrack   目的IP和端口   10.10.10.1:X   192.168.1.2:X
  a_lan_expect_conntrack   源IP和端口   192.168.1.2:X   10.10.10.1:X[0051] SIP客户端b(IP地址192.168.1.3)发起语音呼叫,ALG网关获取SIP信令报文中的RTP数据端口(端口号为X),客户端b的RTP数据端口与客户端a的相同;由于ALG修改客户端a的FTP端口且客户端a使用修改后的端口号X,因此ALG修改客户端b的数据端口号为Y,并建立客户端b的外部期望连接b_wan_expect_conntrack,修改后,客户端b所使用的期望目的端口号为Y;同时,ALG网关根据客户端b所述转换后的端口号Y,建立客户端b内部期望连接b_lan_expect_conntrack,所述客户端b的会话转换如下表:
[0052]  客户端a的期望连接   期望条件   转换前端口地址   转换后端口地址
  b_wan_expect_conntrack   目的IP和端口   10.10.10.1:Y   192.168.1.2:X
  b_lan_expect_conntrack   源IP和端口   192.168.1.3:X   10.10.10.1:Y[0053] 当SIP媒体流到达ALG网关,ALG网关根据所述客户端内部数据流期望连接lan_expect_conntrack将客户端内部数据流进行地址端口转换,根据所述客户端外部数据流期望连接wan_expect_conntrack将客户端外部数据流进行地址端口转换。
[0054] 本发明网关优化方法通过处理多客户端数据流的控制信令、修改重复的数据端口、根据所述修改后的数据端口,建立期望连接、根据所述期望连接,对所述多客户端数据流进行转换处理的方法,实现了ALG网关下多个客户端同时进行数据通信的有益效果,扩展了ALG网关的兼容性,增强了客户体验。
[0055] 参照图4,图4是本发明网关优化方法第二实施例流程示意图。如图4所示,本发明网关优化方法在步骤S03之后还包括步骤:
[0056] 步骤S04、建立conntrack会话记录,根据所述conntrack会话,处理后续的多客户端数据流。
[0057] ALG中多客户端同时通信时,当ALG根据所述期望连接对多客户端数据流进行转换处理后,建立conntrack(连接跟踪)会话记录。当后续ALG中有多客户端同时通信时,ALG将根据所述建立的conntrack会话,处理后续的多客户端数据流,而不必再重复第一次处理多客户端同时通信时所需要进行的处理流程。
[0058] 本发明网关优化方法通过建立conntrack会话记录并根据所述conntrack会话处理后续的多客户端数据流的方法,实现了ALG网关下多个客户端同时进行数据通信的有益效果,扩展了ALG网关的兼容性,增强了客户体验。
[0059] 参照图5,图5是本发明网关优化装置第一实施例结构示意图。如图5所示,本发明网关优化装置设置在ALG中,所述网关优化装置包括:
[0060] 数据端口修改模块01,用于在处理多客户端数据流的控制信令时,修改重复的数据端口;
[0061] 通常,内部数据流出站是通过NAT中的相关模块完成地址端口转换的,而外部数据流入站是通过ALG中的相关模块完成地址端口转换的。在一优选的实施例中,在NAT中的相关模块转换中,由于客户端b的数据流端口在NAT转换后和客户端a存在冲突,NAT将客户端b的数据流端口X修改为Y1,即修改客户端b的数据流端口X→Y1;当ALG对数据流进行处理时,由于客户端b的数据流端口和客户端a存在冲突,ALG将客户端b的数据流端口X修改为Y2,即修改客户端b的数据流端口X→Y2,因此当外部数据流进行流入时,就将相关数据流发送到Y2端口,再由ALG完成地址端口的转换,这样就出现了NAT和ALG对客户端b的数据流端口修改不一致现象,导致会话创建重复,从而使通信失败。当ALG处理多客户端控制信令时,为了使各个客户端端口不重复,以便NAT网关可以正确转发外部数据流到各个客户端,ALG中数据端口修改模块01首先修改重复的客户端数据流端口,并修改控制信令中的数据端口。
[0062] 期望连接建立模块02,用于根据所述修改后的数据端口,建立期望连接;参照图6,图6是本发明网关优化装置中期望连接建立模块一实施例结构示意图。如图6所示,本发明网关优化装置中,期望连接建立模块02包括客户端外部数据流期望连接单元021,客户端内部数据流期望连接模块022。
[0063] ALG中的期望连接建立模块02根据修改后的客户端数据流端口和控制信令中的数据端口,建立期望连接;具体地,客户端外部数据流期望连接单元021建立客户端外部数据流期望连接,用以保证客户端外部数据流穿越NAT网关进入内部网络;同时,客户端内部数据流期望连接模块022根据所述数据流端口,建立客户端内部数据流期望连接,用以保证客户端数据流根据所述客户端内部数据流期望连接进行NAT转换,而不是根据NAT中的相关模块的对应策略进行NAT转换。
[0064] 转换处理模块03,用于根据所述期望连接,对所述多客户端数据流进行转换处理。参照图7,图7是本发明网关优化装置中转换处理模块一实施例结构示意图。如图7所示,本发明网关优化装置中,转换处理模块03包括:
[0065] 内部转换单元031,用于根据客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;
[0066] 外部转换单元032,用于根据客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。
[0067] ALG中内部转换单元031根据客户端内部数据流期望连接,将所述多客户端的内部数据流进行地址端口转换;外部转换单元032根据客户端外部数据流期望连接,将所述多客户端的外部数据流进行地址端口转换。
[0068] 本发明网关优化方法通过处理多客户端数据流的控制信令、修改重复的数据端口、根据所述修改后的数据端口,建立期望连接、根据所述期望连接,对所述多客户端数据流进行转换处理的方法,实现了ALG网关下多个客户端同时进行数据通信的有益效果,扩展了ALG网关的兼容性,增强了客户体验。
[0069] 参照图8,图8是本发明网关优化装置第二实施例结构示意图。如图8所示,本发明网关优化装置还包括:
[0070] 会话建立模块04,用于建立conntrack会话记录,根据所述conntrack会话,处理后续的多客户端数据流。
[0071] ALG中多客户端同时通信时,当ALG根据所述期望连接对多客户端数据流进行转换处理后,会话建立模块04建立conntrack(连接跟踪)会话记录。当后续ALG中有多客户端同时通信时,ALG将根据所述建立的conntrack会话,处理后续的多客户端数据流,而不必再重复第一次处理多客户端同时通信时所需要进行的处理流程。
[0072] 本发明网关优化方法通过建立conntrack会话记录并根据所述conntrack会话处理后续的多客户端数据流的方法,实现了ALG网关下多个客户端同时进行数据通信的有益效果,扩展了ALG网关的兼容性,增强了客户体验。
[0073] 以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。同时,本发明所述的控制方法不限于控制基站,所有支持协议编程处理的设备都可以运用本发明所述的技术方案进行控制。