一种基于域名的流量调度方法及系统技术方案

技术编号:22390389 阅读:39 留言:0更新日期:2019-10-29 07:19
本发明专利技术提供一种基于域名的应用流量调度方法,涉及数据通信技术领域,包括:网络设备劫持客户端发出的域名解析请求报文,并将其转发至域名解析代理服务器中;域名解析代理服务器根据域名解析请求报文进行域名的解析,根据解析结果生成相应的特殊报文并转发至交换机;交换机根据控制器预先生成并下发的学习流表对特殊报文进行学习得到对应的转发流表,以及根据转发流表将域名对应的IP地址进行相应转发。本发明专利技术避免控制器成为域名服务器,同时避免频繁的域名解析请求对控制器的影响,保持控制器的控制灵活性的同时有效降低控制器的负载压力。

A traffic scheduling method and system based on domain name

【技术实现步骤摘要】
一种基于域名的流量调度方法及系统
本专利技术涉及数据通信
,尤其涉及一种基于域名的流量调度方法及系统。
技术介绍
随着互联网的不断发展,业务呈现多样性。互联网业务对互联网提出了越来越高的传输质量要求,包括大带宽、安全保障、灵活调度、智能管理等。软件定义网络(SoftwareDefinedNetwork,SDN)作为一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心思想是通过OpenFlow解除网络设备的耦合性,实现控制层面和数据层面的分离,从而实现网络流量的灵活控制,使网络作为通信管道变得更加智能。SDN控制器作为软件定义网络的核心,负责整个网络的维护、交换机状态的收集、路由的计算和流表项的管理,通过流表项指导交换机转发数据包,实现对网络中数据流的传输进行控制。域名系统(DomainNameSystem,DNS)是一种将主机名和域名转换为IP地址的技术。域名解析就是域名到IP地址的转换过程,域名客户机端首先向域名服务器端发送一份查询报文,该查询报文中包含要访问的主机名等字段;域名客户机端随后收到域名服务器端发送的回答报文,该回答报文中包含要访问的主机名对应的IP地址。由于OpenFlow交换机无法直接识别域名,使得基于域名的应用流量调度无法用域名直接描述,在对应用流量调度之前需要将域名进行解析。现有技术中,为解决OpenFlow交换机对域名的匹配,通常需要将OpenFlow交换机的DNS报文上报到SDN控制器,由SDN控制器与DNS服务器交互,并根据解析结果形成实际的操作流表更新到OpenFlow交换机上,实现基于域名的业务流量调度。但该技术方案中,SDN控制器实质上成为了一个DNS服务器,同时还要承担的流表的各种处理以及向该IP地址发起TCP连接等,使得SDN控制器的负载非常大。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种基于域名的流量调度方法,应用于软件定义网络中,所述软件定义网络包括一控制器以及与所述控制器连接的一网络设备,所述网络设备包括一交换机以及与所述交换机连接的一域名解析代理服务器;所述软件定义网络外接客户端,所述客户端连接所述网络设备;所述流量调度方法具体包括以下步骤:步骤S1,所述网络设备劫持所述客户端发出的域名解析请求报文,并将所述域名解析请求报文转发至所述域名解析代理服务器中;步骤S2,所述域名解析代理服务器根据所述域名解析请求报文进行域名的解析,随后输出解析结果;步骤S3,所述域名解析代理服务器根据所述解析结果生成相应的特殊报文,并将所述特殊报文转发至所述交换机;所述特殊报文中包括所述域名解析请求报文中的域名以及与所述域名对应的所述解析结果中的IP地址;步骤S4,所述交换机根据所述控制器预先生成并下发的学习流表,对所述特殊报文进行学习得到对应的转发流表;步骤S5,所述交换机根据所述转发流表将所述域名对应的所述IP地址进行相应转发。优选的,所述步骤S1具体包括:步骤S11,所述控制器预先生成一初始转发流表,所述初始转发流表中包括预设的域名解析的端口号;步骤S12,所述网络设备根据所述初始转发流表命中所述客户端发出的对应于预设的所述域名解析的端口号的域名解析请求报文;步骤S13,所述网络设备劫持所述域名解析请求报文。优选的,所述初始转发流表中预设的所述域名解析的所述端口号为UDP传输协议中约定的53端口。优选的,包括一预先设置本地缓存数据库的过程,所述本地缓存数据库连接所述域名解析代理服务器;预先设置本地缓存数据库的过程具体包括:步骤A1,所述网络设备根据劫持的所述域名解析请求报文于所述控制器预先下发的域名关注列表中进行查询,以判断所述域名解析请求报文中的域名是否存在于所述域名关注列表中:若是,则将所述域名请求报文远程发送至与所述网络设备远程连接的一第一远端域名解析服务器中进行解析,随后转向步骤A2;若否,则将所述域名请求报文远程发送至与所述网络设备远程连接的一第二远端域名解析服务器中进行解析,随后转向步骤A3;步骤A2,所述域名解析代理服务器获取所述第一远端域名解析服务器反馈的第一域名解析数据,并根据所述域名解析数据以及对应的所述域名解析请求报文预先生成所述本地缓存数据库中的第一标准域名解析信息;所述第一标准域名解析信息中包括域名以及对应所述域名的第一解析结果;步骤A3,所述域名解析代理服务器获取所述第二远端域名解析服务器反馈的第二域名解析数据,并根据所述域名解析数据以及对应的所述域名解析请求报文预先生成所述本地缓存数据库中的第二标准域名解析信息;所述第二标准域名解析信息中包括域名以及对应所述域名的第二解析结果;则所述步骤S2具体包括:步骤S21,所述域名解析代理服务器接收所述域名解析请求报文后,于所述本地缓存数据库中进行查询,以判断所述域名解析请求报文中的域名是否存在于所述本地缓存数据库中:若是,则输出相应的解析结果,随后转向所述步骤S3;若否,则转向步骤S22;步骤S22,所述域名解析代理服务器于所述域名关注列表中进行查询,以判断所述域名解析请求报文中的域名是否存在于所述域名关注列表中:若是,则转向步骤S23;若否,则转向步骤S24;所述域名关注列表中包括若干关注域名;步骤S23,所述域名解析代理服务器访问所述第一远端域名解析服务器,以请求所述第一远端域名解析服务器对所述域名解析请求报文中的域名进行解析,并输出所述第一远端域名解析服务器反馈的第一解析结果,随后转向步骤S3;步骤S24,所述域名解析代理服务器访问所述第二远端域名解析服务器,以请求所述第二远端域名解析服务器对所述域名解析请求报文中的域名进行解析,并输出所述第二远端域名解析服务器反馈的第二解析结果,随后转向步骤S3;每次所述域名解析代理服务器获取所述第一远端域名解析服务器反馈的所述第一解析结果时,所述域名解析服务器根据所述第一解析结果和对应的所述域名解析请求报文中的域名更新所述本地缓存数据库;以及每次所述域名解析代理服务器获取所述第二远端域名解析服务器反馈的所述第二解析结果时,所述域名解析代理服务器根据所述第二解析结果和对应的所述域名解析请求报文中的域名更新所述本地缓存数据库。优选的,还包括对所述域名关注列表进行更新的过程,具体包括:步骤B1,所述控制器接收外部的变更信息,并根据所述变更信息对所述域名关注列表进行更新;步骤B2,所述控制器将更新后的所述域名关注列表实时下发至所述网络设备。优选的,所述步骤S4中,所述变更信息包括对所述关注域名的变更,和/或添加关注域名,和/或删除所述关注域名。优选的,所述交换机为Openflow交换机。一种基于域名的流量调度系统,应用以上任意一项所述的基于域名的流量调度方法,具体包括:网络设备,所述网络设备包括:交换机,所述交换机包括:数据劫持模块,用于劫持所述客户端的网口发出的域名解析请求报文并输出;域名解析代理服务器,连接所述交换机,用于根据所述域名解析请求报文进行域名的解析,并根据解析结果生成相应的特殊报文并输出;所述特殊报文中包括所述域名解析请求报文中的域名以及与所述域名对应的所述解析结果中的IP地址;所述交换机还包括:学习模块,用于根据预先生成的学习流表,对所述特殊报文进行学习得到对应的转发流表;转发模块,连接所述学习模块,用于根据所述转发流表本文档来自技高网
...

【技术保护点】
1.一种基于域名的流量调度方法,应用于软件定义网络中,其特征在于,所述软件定义网络包括一控制器以及与所述控制器连接的一网络设备,所述网络设备包括一交换机以及与所述交换机连接的一域名解析代理服务器;所述软件定义网络外接客户端,所述客户端连接所述网络设备;所述流量调度方法具体包括以下步骤:步骤S1,所述网络设备劫持所述客户端发出的域名解析请求报文,并将所述域名解析请求报文转发至所述域名解析代理服务器中;步骤S2,所述域名解析代理服务器根据所述域名解析请求报文进行域名的解析,随后输出解析结果;步骤S3,所述域名解析代理服务器根据所述解析结果生成相应的特殊报文,并将所述特殊报文转发至所述交换机;所述特殊报文中包括所述域名解析请求报文中的域名以及与所述域名对应的所述解析结果中的IP地址;步骤S4,所述交换机根据所述控制器预先生成并下发的学习流表,对所述特殊报文进行学习得到对应的转发流表;步骤S5,所述交换机根据所述转发流表将所述域名对应的所述IP地址进行相应转发。

【技术特征摘要】
1.一种基于域名的流量调度方法,应用于软件定义网络中,其特征在于,所述软件定义网络包括一控制器以及与所述控制器连接的一网络设备,所述网络设备包括一交换机以及与所述交换机连接的一域名解析代理服务器;所述软件定义网络外接客户端,所述客户端连接所述网络设备;所述流量调度方法具体包括以下步骤:步骤S1,所述网络设备劫持所述客户端发出的域名解析请求报文,并将所述域名解析请求报文转发至所述域名解析代理服务器中;步骤S2,所述域名解析代理服务器根据所述域名解析请求报文进行域名的解析,随后输出解析结果;步骤S3,所述域名解析代理服务器根据所述解析结果生成相应的特殊报文,并将所述特殊报文转发至所述交换机;所述特殊报文中包括所述域名解析请求报文中的域名以及与所述域名对应的所述解析结果中的IP地址;步骤S4,所述交换机根据所述控制器预先生成并下发的学习流表,对所述特殊报文进行学习得到对应的转发流表;步骤S5,所述交换机根据所述转发流表将所述域名对应的所述IP地址进行相应转发。2.根据权利要求1所述的流量调度方法,其特征在于,所述步骤S1具体包括:步骤S11,所述控制器预先生成一初始转发流表,所述初始转发流表中包括预设的域名解析的端口号;步骤S12,所述网络设备根据所述初始转发流表命中所述客户端发出的对应于预设的所述域名解析的端口号的域名解析请求报文;步骤S13,所述网络设备劫持所述域名解析请求报文。3.根据权利要求2所述的流量调度方法,其特征在于,所述初始转发流表中预设的所述域名解析的所述端口号为UDP传输协议中约定的53端口。4.根据权利要求1所述的流量调度方法,其特征在于,包括一预先设置本地缓存数据库的过程,所述本地缓存数据库连接所述域名解析代理服务器;预先设置本地缓存数据库的过程具体包括:步骤A1,所述网络设备根据劫持的所述域名解析请求报文于所述控制器预先下发的域名关注列表中进行查询,以判断所述域名解析请求报文中的域名是否存在于所述域名关注列表中:若是,则将所述域名请求报文发送至与所述网络设备远程连接的一第一远端域名解析服务器中进行解析,随后转向步骤A2;若否,则将所述域名请求报文发送至与所述网络设备远程连接的一第二远端域名解析服务器中进行解析,随后转向步骤A3;步骤A2,所述域名解析代理服务器获取所述第一远端域名解析服务器反馈的第一域名解析数据,并根据所述域名解析数据以及对应的所述域名解析请求报文预先生成所述本地缓存数据库中的第一标准域名解析信息;所述第一标准域名解析信息中包括域名以及对应所述域名的第一解析结果;步骤A3,所述域名解析代理服务器获取所述第二远端域名解析服务器反馈的第二域名解析数据,并根据所述域名解析数据以及对应的所述域名解析请求报文预先生成所述本地缓存数据库中的第二标准域名解析信息;所述第二标准域名解析信息中包括域名以及对应所述域名的第二解析结果;则所述步骤S2具体包括:步骤S21,所述域名解析代理服务器接收所述域名解析请求报文后,于所述本地缓存数据库中进行查询,以判断所述域名解析请求报文中的域名是否存在于所述本地缓存数据库中:若是,则输出相应的解析结果,随后转向所述步骤S3;若否,则转向步骤S22;步骤S22,所述域名解析代理服务器于所述域名关注列表中进行查询,以判断所述域名解析请求报文中的域名是否存在于所述域名关注列表中:若是,则转向步骤S23;若否,则转向步骤S24;所述域名关注列表中包括若干关注域名;步骤S23,所述域名解析代理服务器访问所述第一远端域名解析服务器,以请求所述第一远端域名解析服务器对所述域名解析请求报文中的域名进行解析,并输出所述第一远端域名解析服务器反馈的第一解析结果,随后转向步骤S3;步骤S24,所述域名解析代理服务器访问所述第二远端域名解析服务器,以请求所述第二远端域名解析服务器对所述域名解析请求报文中的域名进行解析,并输出所述第二远端域名解析服务器反馈的第二解析结果,随后转向步骤S3;每次所述域名解析代理服务器获取所述第一远端域名解析服务器反馈的所述第一解析结果时,所述域名解析服务器根据所述第一解析结果和对应的所述域名解析...

【专利技术属性】
技术研发人员:夏俊汤力彭雨婷茅依露杨炳丰吴宏美
申请(专利权)人:中国电信集团工会上海市委员会
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1