为网络设备提供控制器地址的方法和装置的制造方法_2

文档序号:9202585阅读:来源:国知局
案进行详细描述。
[0035]图1是本申请一示例性实施例示出的一种为网络设备提供控制器地址的方法流程图,该实施例中的网络设备内置有控制器域名,其中,该控制器域名可以是默认域名,例如云控制器域名(cloud, abc.com),也可以是用户自定义的域名,该实施例从具有域名系统DNS拦截功能的设备侧进行描述,其中,具有DNS拦截功能的设备可以是控制器,也可以是网关设备例如交换机等。
[0036]如图1所示,为网络设备提供控制器地址的方法包括:
[0037]步骤101,拦截网络设备发送的DNS请求。
[0038]在本实施例中,网络设备可以包括但不限于AP、二层交换机(为描述方便,下文称为L2交换机)和三层交换机(为描述方便,下文称为L3交换机)。
[0039]该方法实施例可以应用到图2所示的场景,如图2所示,AP通过L2交换机与L3交换机相连,L3交换机与网关&控制器相连。
[0040]当该实施例的执行主体是控制器时,由于对于本地网络的场景例如图2所示的场景,控制器通常位于网络的核心层,即它要么是整个网络的总出口网关,要么在通往总网关的路径上,因此,具有DNS功能的控制器支持拦截DNS请求,然后模拟DNS服务器返回DNS应答。
[0041]具体地,以图2所示的场景为例,当L3交换机上电后,会尝试连接控制器,所以它会尝试寻找控制器域名例如cloud, abc.com,即它会向DNS服务器发送DNS请求,由于控制器位于核心层,即处于DNS服务器与L3交换机之间的路径上,所以控制器会拦截该DNS请求。
[0042]步骤102,从DNS请求中解析出控制器域名,并当解析出的控制器域名和预存的控制器域名匹配时,向对应的网络设备返回包含控制器地址的DNS应答,以使网络设备获取控制器地址。
[0043]另外,在执行步骤102之前,该实施例还可以包括:接收并保存控制器域名和控制器地址。
[0044]继续以图2为例进行描述,控制器会预先保存一个控制器域名(如cloud, abc.com)和自己的IP地址,这样,当控制器拦截L3交换机发送的DNS请求后,检查该DNS请求中的控制器域名是否为事先设置的控制器域名,如果不是,则按照现有的处理方式,将该DNS请求转发至相应的DNS服务器,从相应的DNS服务器侧获取控制器的IP地址,并返回携带有控制器的IP地址的DNS应答;如果是,则直接返回设置好的IP地址作为DNS应答,这样,L3交换机就获得了控制器的IP地址,进而可以向控制器发起连接请求,具体的连接协议有很多种,可以任选一种,此处不描述。
[0045]当控制器与L3交换机建立连接之后,控制器会把它的IP地址和控制器域名通过连接下发给L3交换机,这样,具有DNS拦截功能的L3交换机中也可以保存有控制器的域名和IP地址。
[0046]同样地,与L3交换机直连的L2交换机在上电时,同样会发送携带有控制器域名的DNS请求,而由于L3交换机中已经保存有控制器域名与自己的IP地址,所以L3交换机会在拦截L2交换机的DNS请求,且确认DNS请求中携带的控制器域名与预存的控制器域名匹配时,直接返回包含控制器IP地址的DNS应答,这样,L2交换机即可获取到控制器的IP地址,进而可以向控制器发起连接请求。
[0047]如图2所示,AP —般与L2交换机连接,当AP上电后,同样会发送携带有控制器域名的DNS请求,这样,此DNS请求会通过L2交换机转发到L3交换机上,由于L3交换机具有DNS拦截功能,因此,AP的DNS请求会被L3交换机拦截,并在确认DNS请求中携带的控制器域名和预存的控制器域名匹配时,向AP返回携带控制器IP地址的DNS应答,这样,AP获取到控制器的IP地址后,可以向控制器发起连接请求。
[0048]由此可见,网络中从核心层到接入层的所有设备会在一段时间内,自动全部连接到控制器上,在此过程中,所有被控制器管理的设备,都是通过DNS查找控制器域名的方法获得控制器的IP地址的。
[0049]需要说明的是,本发明实施例除了可以应用在如图2所示的场景,还可以应用到图3所示的场景,图3是分支机构组网的一种示例,从图3可以看出,处于分支机构的网络设备需要被设置在总部的网关&控制器管理,而针对分支机构而言,可以采用本发明实施例的方法获取位于总部的控制器的IP地址。
[0050]具体地,以图3为例进行描述,假设图3中右侧分支机构中的AP通过L2交换机向网关发送DNS请求,由于网关具有DNS拦截功能,且该网关中保存有用户手动设置的控制器域名和位于总部的控制器IP地址,故该网关可以拦截AP通过L2发送的DNS请求,并在确认DNS请求中携带的控制器域名和预存的控制器域名匹配时,向AP返回携带预存的位于总部的控制器IP地址的DNS应答,这样,AP获取到IP地址后,可以向该位于总部的控制器发起连接请求,并与该控制器建立连接。
[0051]另外,在该实施例中,为了分担控制器的压力,需要将不同的AP或交换机分担到不同的控制器上。为了实现该功能,需要预先为控制器配置多个控制器IP地址,这样,控制器在拦截到L3交换机发送的DNS请求后,在判断出该DNS请求中携带的控制器域名与预存的控制器域名一致时,按照一种预设策略从配置的多个控制器IP地址中选择一个与自己处于同一个虚拟局域网(VLAN)的控制器IP地址,携带在DNS应答中发给L3交换机,L3交换机依据接收到的控制器IP地址与相应的控制器建立管理连接;之后,L3交换机可以通过管理通道接收相应的控制器下发的控制器域名和多个控制器IP地址并保存。后续L3交换机拦截到AP或L2交换机发送的DNS请求,且判断出DNS请求中携带的控制器域名与预存的控制器域名一致时,按照另一种预设策略从保存的多个控制器IP地址中选择一个控制器IP地址,以使AP或L2依据选择的控制器IP地址连接相应的控制器。在本实施例中,由于控制器和L3通常位于同一个VLAN内,L2和AP通常位于同一个VLAN内,因此,L2和AP获得的控制器IP地址是相同的,而L3获得的控制器IP地址可以与L2和AP获得的控制器IP地址不同。
[0052]进一步地,如果需要更精细地控制器IP分配,可以在L2交换机上使能DNS拦截功能,即也可以使L2交换机具有DNS拦截功能。
[0053]上述为网络设备提供控制器地址的方法实施例,通过具有DNS拦截功能的设备拦截网络设备发送的DNS请求,并当从上述DNS请求中解析出控制器域名和预存的控制器域名匹配时,向对应的网络设备返回包含控制器地址的DNS应答,以使网络设备获取控制器地址,从而使网络设备可以与控制器建立连接,并接收控制器的管理,且实现过程简单。
[0054]图4A是本申请一示例性实施例示出的另一种为网络设备提供控制器地址的方法流程图,该实施例以图4B为例进行描述,如图4B所示,该网络包括两个控制器、两个L3交换机和四个AP,设置两个控制器的目的是为了将两个L3交换机分担到不同的控制器上,这样可以分担控制器的压力。图4B所示的两个L3交换机均具有DNS拦截功能,且其中均保存有控制器域名和两个控制器的IP地址,例如L3交换机I中保存有控制器I下发的控制器域名及控制器I的IP地址和控制器2的IP地址,L3交换机2中保存有控制器2下发的控制器域名及控制器I的IP地址和控制器2的IP地址。
[0055]如图4A所示,为网络设备提供控制器地址的方法包括:
[0056]步骤401,AP I发送DNS请求。
[0057]在该实施例中,APl在上电后会向控制器域名发送DNS请求。
[0058]步骤402,L3交换机I拦截APl发送的DNS请求。
[0059]具体地,APl发送的DNS请求通过L2交换机I转发到L3交换机I上。
[0060]步骤403,L3交换机I从APl发送的DNS请求中解析出控制器域名
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1