路由选路方法及装置
技术领域
本发明涉及网络通信技术领域,特别涉及一种路由选路方法及装置。
背景技术
随着网络技术的快速发展,涌现了大量种类繁多的网络。为实现将内网主机对因特网中服务器的访问流量优化到某一特定链路上,如何进行路由选路,成为了网络通信领域的一个关键问题。
现有技术在路由选路时,首先根据IP(InternetProtocol,网际协议)地址和子网掩码进行路由配置操作,之后基于配置的路由信息将内网主机对因特网中服务器的访问流量优化到某一特定链路上。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于现有技术需根据IP地址和子网掩码执行路由配置操作,而IP地址又比较复杂且不容易记忆,所以现有技术提供的路由选路方式不够简便与灵活。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种路由选路方法及装置。所述技术方案如下:
第一方面,提供了一种路由选路方法,所述方法包括:
网关设备获取域名服务器向主机返回的域名查询响应报文,所述域名查询响应报文中携带有查询的域名及对应的IP地址;
所述网关设备获取预先为所述查询的域名配置的选路策略,所述选路策略指定了访问所述查询的域名的链路路径,指定的链路路径为所述主机访问所述查询的域名的至少两条链路路径中的一条;
所述网关设备根据所述选路策略生成对应所述IP地址的路由转发表项,并根据所述路由转发表项为所述主机向所述IP地址发起的业务访问进行路由选路;其中,所述路由转发表项中至少包括所述查询的域名对应的所述IP地址、访问所述查询的域名的链路路径;
所述根据所述路由转发表项为所述主机向所述IP地址发起的业务访问进行路由选路,包括:
接收所述主机向所述IP地址发送的业务访问报文,所述业务访问报文中携带所述IP地址,根据所述IP地址查询所述路由转发表项得到所述IP地址的链路路径,按照所述链路路径转发所述业务访问报文。
结合第一方面,在第一种可能的实现方式中,所述网关设备获取预先为所述查询的域名配置的选路策略,具体包括:
获取预先为指定域名配置的选路策略,并判断所述查询的域名与所述指定域名是否相同,如果是,则将获取到的选路策略作为预先为所述查询的域名配置的选路策略。
结合第一方面,在第二种可能的实现方式中,所述网关设备根据所述选路策略生成对应所述IP地址的路由转发表项之后,所述方法还包括:
为所述路由转发表项设置老化时间,如果在所述老化时间内所述主机未向所述IP地址发起业务访问,则在老化时间到达后删除所述路由转发表项。
结合第一方面,在第三种可能的实现方式中,所述网关设备获取域名服务器向主机返回的域名查询响应报文,具体包括:
接收所述主机向所述域名服务器发送的域名查询请求报文,所述域名查询请求报文中携带域名查询字段及所述域名服务器的地址;
将所述域名查询请求报文转发给所述域名服务器,并接收所述域名服务器根据所述域名查询请求报文返回的所述域名查询响应报文。
第二方面,提供了一种路由选路装置,所述装置包括:
第一获取模块,用于获取域名服务器向主机返回的域名查询响应报文,所述域名查询响应报文中携带有查询的域名及对应的网际协议IP地址;
第二获取模块,用于获取预先为所述第一获取模块获取到的查询的域名配置的选路策略,所述选路策略指定了访问所述查询的域名的链路路径,指定的链路路径为所述主机访问所述查询的域名的至少两条链路路径中的一条;
路由生成模块,用于根据所述第二获取模块获取到的选路策略生成对应所述IP地址的路由转发表项,所述路由转发表项中至少包括所述查询的域名对应的所述IP地址、访问所述查询的域名的链路路径;
路由选路模块,用于接收所述主机向所述IP地址发送的业务访问报文,所述业务访问报文中携带所述IP地址,根据所述IP地址查询所述路由转发表项得到所述IP地址的链路路径,按照所述链路路径转发所述业务访问报文。
结合第二方面,在第一种可能的实现方式中,所述第二获取模块,具体用于获取预先为指定域名配置的选路策略,并判断所述查询的域名与所述指定域名是否相同,如果是,则将获取到的选路策略作为预先为所述查询的域名配置的选路策略。
结合第二方面,在第二种可能的实现方式中,所述装置,还包括:
设置模块,用于为所述路由生成模块生成的路由转发表项设置老化时间;
删除模块,用于如果在所述设置模块设置的老化时间内所述主机未向所述IP地址发起业务访问,则在老化时间到达后删除所述路由转发表项。
结合第二方面,在第三种可能的实现方式中,所述第一获取模块,具体包括:
第一接收单元,用于接收所述主机向所述域名服务器发送的域名查询请求报文,所述域名查询请求报文中携带域名查询字段及所述域名服务器的地址;
转发单元,用于将所述第一接收单元接收到的域名查询请求报文转发给所述域名服务器;
第二接收单元,用于接收所述域名服务器根据所述转发单元转发的域名查询请求报文返回的所述域名查询响应报文。
本发明实施例提供的技术方案带来的有益效果是:
通过获取预先为域名配置的选路策略,根据该选路策略生成与域名所对应的IP地址相对应的路由转发表项,并依此为主机向该IP地址发起的业务访问进行路由选路,实现了根据域名来配置路由转发表项,较现有的路由选路方式更具简便性与灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种路由选路的方法流程图;
图2是本发明实施例二提供的一种网关设备路由选路的流程示意图;
图3是本发明实施例二提供的一种网关设备的典型组网结构示意图;
图4是本发明实施例二提供的一种路由选路的方法流程图;
图5是本发明实施例三提供的一种路由选路装置的结构示意图;
图6是本发明实施例三提供的另一种路由选路装置的结构示意图;
图7是本发明实施例三提供的一种路由转发模块的内部结构示意图;
图8是本发明实施例三提供的一种第一获取模块的内部结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种路由选路方法,参见图1,方法流程包括:
步骤101:获取域名服务器向主机返回的域名查询响应报文,域名查询响应报文中携带有查询的域名及对应的IP地址;
进一步地,获取域名服务器向主机返回的域名查询响应报文,具体包括:
接收主机向域名服务器发送的域名查询请求报文,域名查询请求报文中携带域名查询字段及域名服务器的地址;
将域名查询请求报文转发给域名服务器,并接收域名服务器根据域名查询请求报文返回的域名查询响应报文。
步骤102:获取预先为查询的域名配置的选路策略,选路策略指定了访问查询的域名的链路路径;
进一步地,获取预先为查询的域名配置的选路策略,具体包括:
获取预先为指定域名配置的选路策略,并判断查询的域名与指定域名是否相同,如果是,则将获取到的选路策略作为预先为查询的域名配置的选路策略。
步骤103:根据选路策略生成对应IP地址的路由转发表项,并根据路由转发表项为主机向IP地址发起的业务访问进行路由选路。
进一步地,根据选路策略生成对应IP地址的路由转发表项之后,方法还包括:
为路由转发表项设置老化时间,如果在老化时间内主机未向IP地址发起业务访问,则在老化时间到达后删除路由转发表项。
进一步地,根据路由转发表项为主机向IP地址发起的业务访问进行路由选路,具体包括:
接收主机向IP地址发送的业务访问报文,业务访问报文中携带IP地址;
根据IP地址查询路由转发表项得到IP地址的链路路径,按照链路路径转发业务访问报文。
本实施例提供的方法,通过获取预先为域名配置的选路策略,根据该选路策略生成与域名所对应的IP地址相对应的路由转发表项,并依此为主机向该IP地址发起的业务访问进行路由选路,实现了根据域名来配置路由转发表项,较现有的路由选路方式更具简便性与灵活性。进一步地,在根据路由转发表项为主机向该IP地址发起的业务访问进行路由选路之后,还为该路由转发表项设置了老化时间,实现在老化时间到达后删除路由转发表项,从而节约了资源,降低了对物理存储空间的占用率。
实施例二
本发明实施例提供了一种路由选路方法,结合上述实施例一的内容,本实施例以如图2所示的网关设备路由选路流程图及图3所示的网关设备的典型组网结构图为例,对本实施例提供的方法进行举例说明。图2及图3中,在网关设备上为主机查询的域名配置选路策略,并记录主机和域名服务器之间的域名查询请求报文和域名响应请求报文,然后根据选路策略、域名查询请求报文和域名响应请求报文生成路由转发表项,最终实现根据该路由转发表项在网关设备上为主机向查询的域名对应的服务器发起的业务访问进行路由选路。参见图4,本实施例提供的方法流程包括:
步骤401:在网关设备上预先为指定域名配置选路策略,该选路策略配置了访问该指定域名的链路路径;
针对该步骤,为了使主机能够快速访问某一域名对应的服务器,本实施例提供的方法在网关设备上预先为主机可能访问的服务器对应的域名配置选路策略,以实现将主机对某一域名对应的服务器的访问流量优选到特定链路上。
具体地,如果主机到某一域名对应的服务器的链路为点对点的链路,则该选路策略可以为指定域名配置相应接口,该接口对应的链路即为预先配置的访问该指定域名的链路路径;而如果主机到某一域名对应的服务器的链路为非点对点的链路,则该选路策略可以为指定域名配置下一跳地址,该下一跳地址对应的链路即为预先配置的访问该指定域名的链路路径。其中,为指定域名配置选路策略的具体实现方式可以有多种,本实施对此不进行具体限定。例如,以域名为xyz.com为例,访问该域名xyz.com的路径有两条,分别为isp1路径和isp2路径,则在为该域名xyz.com配置选路策略时,考虑到网络链路是否拥堵等情况,会选择将isp1路径指定为该域名xyz.com的链路路径,进而实现将主机对域名xyz.com对应的服务器的访问流量优选到isp1链路上。进一步地,在为指定域名配置好选路策略后,可将该选路策略存储在存储介质中。存储介质具体可为只读寄存器,当然,存储介质的类型除上述只读寄存器外,还可为其他类型的存储介质,例如,磁盘等等,本实施例对存储介质的类型不进行具体限定。
进一步地,当预先为指定域名配置好选路策略后,后续在执行该方法时网关设备可直接使用配置好的选路策略,即在每次执行本实施例提供的方法时无需每次均执行该步骤,仅在选路策略有更新时,对选路策略进行更新即可。
步骤402:网关设备接收主机向域名服务器发送的域名查询请求报文,并将域名查询请求报文转发给域名服务器,该域名查询请求报文中携带域名查询信息及报文目的地地址;
针对该步骤,如果主机需要访问哪个待访问服务器,可以通过向域名服务器发送域名查询请求报文来实现查询该待访问服务器的域名,该域名查询请求中携带有域名查询信息及域名服务器地址。其中,域名查询信息中带有待查询的域名字段,报文目的地地址为域名服务器地址。
例如,如果主机欲访问域名为xyz.com的远端待访问服务器,则主机向域名服务器发送携带xyz.com字段及域名服务器地址的域名查询请求报文,该域名查询请求报文先被发送到网关设备,该网关设备根据该域名查询请求报文中携带的域名服务器地址将该域名查询请求报文转发至域名服务器。
步骤403:接收域名服务器根据域名查询请求报文返回的域名查询响应报文;
具体地,当域名服务器接收到网关设备转发的域名查询请求报文后,根据该查询请求报文中携带的xyz.com字段为该域名查询到其对应的IP地址,并生成域名查询响应报文,该域名查询响应报文中包括主机要查询的域名,即xyz.com,以及和该域名对应的IP地址。其中,域名查询响应报文中,除包括主机要查询的域名及其对应的IP地址外,还可以包括其他信息,例如,对主机要查询的域名的描述性信息,本实施例对域名响应查询报文包括的具体内容不进行限定。域名服务器在生成域名查询响应报文后,便将该域名查询响应报文返回至网关设备。
步骤404:获取预先为指定域名配置的选路策略,并判断查询的域名与指定域名是否相同,如果是,则执行步骤405,否则,流程结束。
具体地,网关设备接收到域名服务器返回的域名查询响应报文后,便可触发获取预先为指定域名配置的选路策略,进而判断主机查询的域名与该指定域名是否相同,如果相同,则可认为预先配置的选路策略是为主机查询的域名所配置的选路策略。其中,判断该查询的域名与指定域名是否相同时,可直接比对二者是否完全一致;如果是,则判断该查询的域名与该指定域名相同,并将获取到的为该指定域名配置的选路策略作为预先为该查询的域名配置的选路策略。
步骤405:将获取到的选路策略作为预先为查询的域名配置的选路策略,根据该选路策略生成对应IP地址的路由转发表项;
针对该步骤,在接收到域名服务器返回的域名查询响应报文后,便可根据该域名查询响应报文中携带的查询的域名、其对应的IP地址及选路策略生成路由转发表项,该路由转发表项包括该查询的域名对应的IP地址及访问该查询的域名的链路路径,且该路由转发表项的IP地址的掩码长度为32位。由于该路由转发表项的IP地址的掩码长度为32位,且32位掩码的路由为最长,又因为路由查找是最长匹配方式,所以在查找路由转发表项时,会优先命中该32位掩码的路由转发表项。仍以上述步骤402中主机查询的域名为xyz.com,访问该域名的链路路径为isp1为例,如果根据上述步骤403得到xyz.com的IP地址为200.168.0.0,则生成的路由转发表项可如下面表1所示:
表1
在生成该路由转发表项后,可将该路由转发表项存储在存储介质中,其中,存储介质具体可为只读寄存器,当然,存储介质除上述只读寄存器外,还可为其他类型的存储介质,例如,磁盘或硬盘等等,本实施例对存储介质的类型不进行限定。
进一步地,网关设备生成路由转发表项之后,还将该域名查询响应报文转发至主机,由主机根据该域名查询响应报文中的IP地址发起业务访问。优选地,为了能够尽量减轻对网关设备的物理存储空间的占用,本实施例提供的方法在网关设备生成路由转发表项后,还包括为该路由转发表设置老化时间的步骤,实现如果在老化时间内主机未向该IP地址发起业务访问时,则在老化时间到达后删除路由转发表项,从而释放其占用的存储空间。
具体地,为路由转发表设置老化时间的具体实现方式可以有多种,例如,在网关设备生成路由转发表项后,随即通过编程处理为该路由转发表项设置一个长度为5秒的老化时间,且从本次主机结束向该IP地址发起业务访问开始计时,如果在老化时间内主机未向该IP地址发起业务访问,则在老化时间到达后删除该路由转发表项。由于主机在老化时间内可能仅向该IP地址对应的服务器发起一次业务访问,为了不长时间占用网关设备的物理存储空间,会在老化时间结束后立即删除该路由转发表项,以释放该路由转发表项占用的存储空间。其中,老化时间的长度除上述数值外,还可为其他数值,例如,10秒等等,本实施例不对设置老化时间的方式及设置的老化时间的具体长度进行限定。
步骤406:根据路由转发表项为主机向IP地址发起的业务访问进行路由选路。
具体地,根据路由转发表项为主机向IP地址发起的业务访问进行路由选路的方式,包括但不限于:
接收主机向IP地址发送的业务访问报文,业务访问报文中携带该IP地址;
根据该IP地址查询路由转发表项得到该IP地址的链路路径,按照链路路径转发业务访问报文。
其中,主机在接收到网关设备转发的由域名服务器返回的域名查询响应报文后,便根据该域名查询响应报文获得查询的域名对应的IP地址,接下来,主机便可向该IP地址或查询的域名对应的服务器发送业务访问报文,该业务访问报文携带了该IP地址,因而网关设备在接收到主机发送的业务访问报文后,便会根据该IP地址查询其存储的路由转发表项,得到该IP地址的链路路径,然后按照该链路路径转发主机的业务访问报文。
本实施例提供的方法,通过获取预先为域名配置的选路策略,根据该选路策略生成与域名所对应的IP地址相对应的路由转发表项,并依此为主机向该IP地址发起的业务访问进行路由选路,实现了根据域名来配置路由转发表项,较现有的路由选路方式更具简便性与灵活性。进一步地,在根据路由转发表项为主机向该IP地址发起的业务访问进行路由选路之后,还为该路由转发表项设置了老化时间,实现在老化时间到达后删除路由转发表项,从而节约了资源,降低了对网关设备物理存储空间的占用率。
实施例三
本发明实施例提供了一种路由选路装置50,参见图5,该装置包括:
第一获取模块51,用于获取域名服务器向主机返回的域名查询响应报文,域名查询响应报文中携带有查询的域名及对应的网际协议IP地址;
第二获取模块52,用于获取预先为第一获取模块51获取到的查询的域名配置的选路策略,选路策略指定了访问查询的域名的链路路径;
路由生成模块53,用于根据第二获取模块52获取到的选路策略生成对应IP地址的路由转发表项;
路由选路模块54,用于根据路由生成模块53生成的路由转发表项为主机向IP地址发起的业务访问进行路由选路。
进一步地,第二获取模块52,具体用于获取预先为指定域名配置的选路策略,并判断查询的域名与指定域名是否相同,如果是,则将获取到的选路策略作为预先为查询的域名配置的选路策略。
进一步地,参见图6,该装置50还包括:
设置模块55,用于为路由生成模块53生成的路由转发表项设置老化时间;
删除模块56,用于如果在设置模块55设置的老化时间内主机未向IP地址发起业务访问,则在老化时间到达后删除路由转发表项。
进一步地,参见图7,路由选路模块54,具体包括:
接收单元541,用于接收主机向IP地址发送的业务访问报文,业务访问报文中携带IP地址;
获取单元542,用于根据接收单元541接收到的IP地址查询路由转发表项得到IP地址的链路路径;
转发单元543,用于按照获取单元542获取到的链路路径转发接收单元接收到的业务访问报文。
进一步地,参见图8,第一获取模块51,具体包括:
第一接收单元511,用于接收主机向域名服务器发送的域名查询请求报文,域名查询请求报文中携带域名查询字段及域名服务器的地址;
转发单元512,用于将第一接收单元511接收到的域名查询请求报文转发给域名服务器;
第二接收单元513,用于接收域名服务器根据转发单元512转发的域名查询请求报文返回的域名查询响应报文。
本发明实施例提供的装置,通过获取预先为域名配置的选路策略,根据该选路策略生成与域名所对应的IP地址相对应的路由转发表项,并依此为主机向该IP地址发起的业务访问进行路由选路,实现了根据域名来配置路由转发表项,较现有的路由选路方式更具简便性与灵活性。进一步地,在根据路由转发表项为主机向该IP地址发起的业务访问进行路由选路之后,还为该路由转发表项设置了老化时间,实现在老化时间到达后删除路由转发表项,从而节约了资源,降低了对网关设备物理存储空间的占用率。
实施例四
本实施例提供了一种路由选路设备,该路由选路设备包括存储器及处理器;
其中,存储器,用于存储预先为指定域名配置的选路策略;
处理器,用于获取域名服务器向主机返回的域名查询响应报文,域名查询响应报文中携带有查询的域名及对应的网际协议IP地址;获取预先为查询的域名配置的选路策略,选路策略指定了访问查询的域名的链路路径;根据选路策略生成对应IP地址的路由转发表项,并根据路由转发表项为主机向IP地址发起的业务访问进行路由选路。
进一步地,该处理器,具体用于获取预先为指定域名配置的选路策略,并判断查询的域名与指定域名是否相同,如果是,则将获取到的选路策略作为预先为查询的域名配置的选路策略。
进一步地,该处理器,还用于为路由转发表项设置老化时间,如果在老化时间内主机未向IP地址发起业务访问,则在老化时间到达后删除路由转发表项。
进一步地,该处理器,具体用于接收主机向IP地址发送的业务访问报文,业务访问报文中携带IP地址;根据IP地址查询路由转发表项得到IP地址的链路路径,按照链路路径转发业务访问报文。
进一步地,该处理器,具体用于接收主机向域名服务器发送的域名查询请求报文,域名查询请求报文中携带域名查询字段及域名服务器的地址;将域名查询请求报文转发给域名服务器,并接收域名服务器根据域名查询请求报文返回的域名查询响应报文。
其中,路由选路设备的类型可以有多种,例如,网关设备,本实施例对路由选路设备的类型不进行具体限定。
综上所述,本实施例提供的设备,通过获取预先为域名配置的选路策略,根据该选路策略生成与域名所对应的IP地址相对应的路由转发表项,并依此为主机向该IP地址发起的业务访问进行路由选路,实现了根据域名来配置路由转发表项,较现有的路由选路方式更具简便性与灵活性。进一步地,在根据路由转发表项为主机向该IP地址发起的业务访问进行路由选路之后,还为该路由转发表项设置了老化时间,实现在老化时间到达后删除路由转发表项,从而节约了资源,降低了对网关设备物理存储空间的占用率。
需要说明的是:上述实施例提供的路由选路装置及设备在进行路由选路时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置及设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的路由选路装置及设别与路由选路方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。