具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明第一实施例的方法流程示意图,包括:
步骤11:UTM设备转发MN发送的DNS查询请求给DNS服务器,在接收到DNS服务器返回的DNS响应时,将该DNS响应中携带的与该MN通信的通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址,并将修改后的DNS响应发送给该MN;其中,该通信节点的IP地址为网络中该通信节点的真实IP地址。
步骤12:UTM设备接收所述MN发送的目的地址为所述虚拟IP地址的报文;对该MN发送的报文进行UTM处理,将UTM处理后的报文发送给该通信节点。
由于现有技术中当MN离开家乡网络后,MN发送给通信节点的报文可能会不经过UTM设备,这样会造成一些问题。例如,会造成威胁无法正常的识别,对于一些特殊业务,会丢失缓存的报文,造成业务不通。为此,本发明实施例通过对UTM设备进行改进,可以使得MN在发送报文时,使得报文经过UTM设备发送给通信节点。
具体的,本实施例通过在MN发起DNS查询时,将通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址,可以使得MN将报文发送给UTM,之后,由UTM发送给通信节点。实现报文经过UTM设备,保证安全操作及保证业务畅通。
图2为本发明第二实施例的方法流程示意图,包括:
步骤201:MN向UTM设备中的DNS-ALG模块发送DNS查询请求。
步骤202:DNS-ALG模块将该DNS查询请求转发给DNS服务器。
步骤203:DNS服务器查询得到与该MN通信的通信节点的IP地址,并将该通信节点的IP地址携带在DNS响应中,向DNS-ALG模块返回DNS响应。
步骤204:DNS-ALG模块将该DNS响应中携带的通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址。
例如,在UTM设备上可以预先配置虚拟IP地址,该虚拟IP地址可以具体为64位,之后,该64位的虚拟IP地址可以被分配给264个MN使用。
该虚拟IP地址可以预先保存在DNS-ALG模块中,之后,DNS-ALG模块可以在多个虚拟IP地址中任选一个作为修改后的IP地址。
DNS响应通常会存在一个生命周期,因此DNS-ALG模块还可以设置DNS响应的生命周期,例如,设置该生命周期为N=5~10秒。
步骤205:DNS-ALG模块将携带虚拟IP地址的DNS响应发送给MN。
步骤206:DNS-ALG模块建立虚拟IP地址、通信节点的IP地址及MN的家乡地址的地址对应关系,并保存到UTM设备中的映射表(Server Map)模块中。
其中,MN在发送DNS查询请求时其源地址即为MN的家乡地址,DNS服务器返回的DNS响应中携带的是通信节点的IP地址,DNS-ALG模块用任选后的虚拟IP地址替换DNS响应中的通信节点的IP地址。因此,从上述流程中可以建立虚拟IP地址、通信节点的IP地址、MN的家乡地址的对应关系。
还可以设置映射表的老化时间,为了保证MN有足够的时间用于老化本地的DNS缓存(Cache),该映射表的老化时间可以设置为2N,其中N为DNS响应的老化时间。可以理解的是,根据UTM设备的不同使用场景,该映射表的老化时间也可以设定为其他值,以便于保证MN有足够的时间用于老化本地的DNS缓存(Cache)。由于MN接收到的DNS响应中携带的是配置在UTM设备上的虚拟IP地址,因此,当发送报文时,MN将报文发送给UTM设备。
步骤207:UTM设备中的地址适配模块接收MN发送的报文,该报文的目的地址为虚拟IP地址。
步骤208:地址适配模块在确定该报文的目的地址为虚拟IP地址后,向映射表模块发送地址查询请求,查询与该虚拟IP地址对应的通信节点的IP地址。
步骤209:映射表模块根据保存的地址对应关系,获取该虚拟IP地址对应的通信节点的IP地址,并将该通信节点的IP地址携带在地址响应中返回给地址适配模块。
步骤210:地址适配模块将该报文的目的地址修改为获取的通信节点的IP地址。
步骤211:地址适配模块将修改目的地址后的报文发送给UTM设备中的UTM功能模块。
步骤212:UTM功能模块对报文进行UTM处理。
例如,进行UTM检测,如执行反病毒检测,入侵检测等,以保证操作安全性。和/或,结合缓存报文进行处理,以保证业务的畅通。
步骤213:UTM功能模块将UTM处理后的报文发送给地址适配模块。
步骤214:由于报文的目的地址为通信节点,因此地址适配模块转发UTM处理后的报文给通信节点。
上述描述了MN到通信节点方向上的报文传输,进一步地,当报文从通信节点返回MN时,可以进一步执行如下步骤:
步骤215:通信节点向UTM设备返回回应报文。
步骤216:地址适配模块将返回的回应报文发送给UTM功能模块,由UTM功能模块进行UTM处理后,再经由地址适配模块转发给MN。
其中,地址适配模块可以根据保存的映射表中的MN的家乡地址、通信节点的IP地址及虚拟IP地址的对应关系,以及返回的回应报文中的地址信息,确定MN的家乡地址,以便将回应报文发送给MN。例如,可以从回应报文中获取目的地址(回应报文的目的地址即为虚拟IP地址),再根据虚拟IP地址与MN的家乡地址的对应关系,确定对应的MN,将回应发送给MN;也可以是从回应报文中获取源地址(回应报文的源地址即为与MN通信的通信节点的IP地址),再根据通信节点的IP地址与家乡地址的对应关系,确定对应的MN,将回应报文转发给MN。
本实施例通过在MN发起DNS查询时,将通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址,可以使得MN将报文发送给UTM设备,之后,由UTM设备发送给通信节点。实现报文经过UTM设备,保证安全操作及保证业务畅通。
由于MN经过UTM设备向通信节点发送报文时,由通信节点向MN返回的报文同样会经过UTM设备。实现MN不论漫游到任何地方,均会把报文发送到UTM设备上,由UTM设备转发到通信节点,并由UTM设备转发通信节点返回给MN的报文,保证报文的安全操作及业务的畅通。
图3为本发明第三实施例的UTM设备的结构示意图,包括DNS-ALG模块31和处理模块32;DNS-ALG模块31用于转发MN发送的DNS查询请求给DNS服务器,在接收到DNS服务器返回的DNS响应时,将该DNS响应中携带的与该MN通信的通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址,并将修改后的DNS响应发送给该MN;处理模块32用于接收所述MN发送的目的地址为所述虚拟IP地址的报文;对该MN发送的报文进行UTM处理,将UTM处理后的报文发送给该通信节点。
本实施例通过在MN发起DNS查询时,将通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址,可以使得MN将报文发送给UTM,之后,由UTM发送给通信节点。实现报文经过UTM设备,保证安全操作及保证业务畅通。
图4为本发明第四实施例的UTM设备的结构示意图,包括DNS-ALG模块41、映射表模块42、地址适配模块43和UTM功能模块44。
其中,DNS-ALG模块41的具体功能可以参见第三实施例,所述DNS查询请求中的源地址是所述MN的家乡地址,映射表模块42与DNS-ALG模块41连接,用于建立映射表,所述映射表保存该通信节点的IP地址、该虚拟IP地址和该MN的家乡地址的对应关系。
地址适配模块43和UTM功能模块44组成处理模块,处理模块的具体功能可以参见第三实施例。地址适配模块43与该映射表模块42连接,用于接收该MN发送的目的地址为该虚拟IP地址的报文,根据该映射表中保存的对应关系,将该虚拟IP地址修改为该通信节点的IP地址;UTM功能模块44与该地址适配模块43连接,用于对修改目的地址后的报文进行UTM处理,并将该UTM处理后的报文通过该地址适配模块43发送给该通信节点。
DNS-ALG模块41还用于预先获取配置在所述UTM设备上的虚拟IP地址。
DNS-ALG模块41还可以用于设置DNS响应的生命周期,例如设置DNS响应的生命周期为N,其中N=510秒,此时,映射表模块42还可以用于所述映射表的生命周期为所述DNS响应的生命周期的2倍,例如,设置该映射表的生命周期为2×N,其中N为DNS响应的老化时间,保证MN有足够的时间用于老化本地的DNS缓存(Cache)。
本实施例通过在MN发起DNS查询时,将通信节点的IP地址修改为配置在UTM设备上的虚拟IP地址,可以使得MN将报文发送给UTM,之后,由UTM发送给通信节点。实现报文经过UTM设备,保证安全操作及保证业务畅通。由于MN经过UTM设备向通信节点发送报文时,由通信节点向MN返回的报文同样会经过UTM设备。实现MN不论漫游到任何地方,均会把报文发送到UTM设备上,由UTM设备转发到通信节点,并由UTM设备转发通信节点返回给MN的报文,保证报文的安全操作及业务的畅通。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。