一种配置信息的下发方法和装置的制造方法

文档序号:10690873阅读:442来源:国知局
一种配置信息的下发方法和装置的制造方法
【专利摘要】本发明提供一种配置信息的下发方法和装置,该方法包括:向接入层设备发送控制流表,并接收所述接入层设备上送的控制消息,所述控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识信息;利用所述物理服务器的标识信息以及所述端口的标识信息,确定对应于相同物理服务器的所有端口,并将确定的端口添加到所述物理服务器对应的端口组中;为所述端口组中的每个端口生成配置信息;将为每个端口生成的配置信息分别发送给所述接入层设备。通过本发明的技术方案,物理服务器可以通过备网卡与接入层设备进行通信,从而避免业务的中断,避免报文发生丢失。
【专利说明】
一种配置信息的下发方法和装置
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种配置信息的下发方法和装置。
【背景技术】
[0002]SDN(Software Defined Network,软件定义网络)是一种新型网络架构,其核心思想是分离网络设备的控制层面与转发层面,通过SDN控制器对网络流量进行集中和灵活控制,从而为核心网络及应用的创新提供良好的平台。
[0003]如图1所示,为SDN的组网示意图,为了保证网络的可靠性,在物理服务器I上通常会部署主网卡和备网卡。此外,接入层设备为一个堆叠设备,该堆叠设备包括两个成员设备(比如以太网交换机),堆叠技术可以允许堆叠设备像一个单独的成员设备那样对外呈现,从而支持更高的端口和处理能力的扩展性。在图1中,两个成员设备分别为成员设备I和成员设备2。基于此,该物理服务器I的主网卡通过端口3接入到成员设备I的端口 I,且该物理服务器I的备网卡通过端口 4接入到成员设备2的端口 2。
[0004]在主网卡未发生故障时,物理服务器I通过主网卡与成员设备I进行通信,即通过主网卡将报文发送给成员设备I,并通过主网卡接收来自成员设备I的报文。但是,在主网卡发生故障时,物理服务器I无法通过主网卡与成员设备I进行通信,而是需要通过备网卡与成员设备2进行通信。
[0005]在目前的实现方式中,在主网卡发生故障时,物理服务器I需要经过一段时间才能够切换到备网卡与成员设备2进行通信,从而导致业务中断。

【发明内容】

[0006]本发明提供一种配置信息的下发方法,应用于包括接入层设备、物理服务器和控制器的系统中,所述接入层设备通过至少两个端口与所述物理服务器连接,所述方法应用在所述控制器上,所述方法包括:
[0007]向接入层设备发送控制流表,并接收所述接入层设备利用所述控制流表上送的控制消息,所述控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识信息;利用所述物理服务器的标识信息以及所述端口的标识信息,确定所述接入层设备上对应于相同物理服务器的所有端口,并将确定的端口添加到所述物理服务器对应的端口组中;为所述端口组中的每个端口生成配置信息,其中每个端口的配置信息中包括的转发配置信息相同;将为每个端口生成的配置信息分别发送给所述接入层设备。
[0008]本发明提供一种配置信息的下发装置,应用于包括接入层设备、物理服务器和控制器的系统中,所述接入层设备通过至少两个端口与所述物理服务器连接,所述装置应用在所述控制器上,所述装置包括:
[0009]发送模块,用于向所述接入层设备发送控制流表;接收模块,用于接收所述接入层设备利用所述控制流表上送的控制消息,所述控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识信息;确定模块,用于利用所述物理服务器的标识信息以及所述端口的标识信息,确定所述接入层设备上对应于相同物理服务器的所有端口,并将确定的端口添加到所述物理服务器对应的端口组中;生成模块,用于为所述端口组中的每个端口生成配置信息,其中每个端口的配置信息中包括的转发配置信息相同;所述发送模块,还用于将为每个端口生成的配置信息分别发送给所述接入层设备。
[0010]基于上述技术方案,本发明实施例中,控制器通过为接入层设备上与物理服务器连接的每个端口生成配置信息,以使接入层设备在与物理服务器连接的每个端口上均下发配置信息。在主网卡发生故障,而备网卡未发生故障时,由于接入层设备的每个端口上均下发了配置信息,因此,接入层设备上与物理服务器的备网卡连接的端口上也下发了配置信息,这样,如果物理服务器通过备网卡向接入层设备发送报文,由于接入层设备上的接收到该报文的端口已经下发了配置信息,因此接入层设备可以转发该报文。而且,如果有报文需要发送给物理服务器,由于与物理服务器的备网卡连接的端口已经下发了配置信息,因此,接入层设备可以通过该端口将报文发送给物理服务器。因此,在主网卡发生故障,而备网卡未发生故障时,物理服务器可以通过备网卡与接入层设备进行通信,从而避免业务的中断,避免报文发生丢失。
【附图说明】
[0011]为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0012]图1和图2是SDN的组网示意图;
[0013]图3是本发明一种实施方式中的配置信息的下发方法的流程图;
[0014]图4是本发明一种实施方式中的控制器的硬件结构图;
[0015]图5是本发明另一种实施方式中的配置信息的下发装置的结构图。
【具体实施方式】
[0016]在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0017]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0018]针对现有技术中存在的问题,本发明实施例中提出一种配置信息的下发方法,该方法可以应用于包括接入层设备、物理服务器和控制器(如SDN控制器等)的系统中,且接入层设备通过至少两个端口与物理服务器连接。在一个例子中,至少两个端口可以为两个端口,在后面的例子中,以两个端口为例进行说明,对于多个端口的处理方式,与两个端口的处理方式类似,后续不再赘述。
[0019]在一个例子中,物理服务器上通常会部署第一网卡和第二网卡,接入层设备可以通过第一端口连接到物理服务器的第一网卡,并通过第二端口连接到物理服务器的第二网卡。通常情况下,第一网卡为主网卡,第二网卡为备网卡。
[0020]在一个例子中,如图1所示,接入层设备为一个堆叠设备,该堆叠设备包括两个成员设备(比如以太网交换机)。在这个例子中,两个成员设备分别为成员设备I和成员设备2,将该堆叠设备作为与物理服务器I连接的接入层设备。物理服务器I的第一网卡(未图示)通过自身的端口 3接入到接入层设备的端口 1(位于成员设备I上),物理服务器I的第二网卡(未图示)通过自身的端口 4接入到接入层设备的端口 2(位于成员设备2上)。
[0021]在另一个例子中,如图2所示,接入层设备是一个单独的设备,比如前述的某一个成员设备,物理服务器I的第一网卡通过端口3接入到该成员设备I的端口 I,第二网卡通过端口 4接入到该成员设备I的端口 2。
[0022]同理,如图1和图2所示,物理服务器2的部署方式与物理服务器I的部署方式类似,且处理流程也类似,本发明实施例中对此不再赘述。
[0023]在下面的例子中,物理服务器I对应的接入层设备,是指与物理服务器I连接的接入层设备,对于图1来说,该接入层设备是指由成员设备I和成员设备2组成的堆叠设备,对于图2来说,该接入层设备是指成员设备I。
[0024]在正常使用时,物理服务器I会周期性的发送免费ARP(Address Resolut1nProtocol,地址解析协议)报文,例如,每隔10秒发送一次免费ARP报文。在发送免费ARP报文时,如果端口 3当前的状态为UP,则物理服务器I通过端口 3发送免费ARP报文。接入层设备在通过端口 I接收到免费ARP报文后,如果MAC(Media Access Control,媒体访问控制)表项中的IP地址与免费ARP报文的源IP地址不同,则在MAC表项中更新记录该免费ARP报文的源IP地址(即物理服务器I的IP地址)、源MAC地址(即物理服务器I的MAC地址)和出端口 I。如果MAC表项中的IP地址与免费ARP报文的源IP地址相同,则比较该MAC表项中的MAC地址与免费ARP报文的源MAC地址是否相同,如果相同,丢弃该免费ARP报文,如果不同,使用免费ARP报文的源MAC地址替换该MAC表项中的MAC地址,以更新该免费ARP报文对应的MAC表项。
[0025]基于此MAC表项,接入层设备在接收到需要发送给物理服务器I的报文(如物理服务器2发送给物理服务器I的报文)时,基于该报文的目的MAC地址,可以匹配到该MAC表项,并通过端口 I将该报文发送给物理服务器I。
[0026]物理服务器I在发送免费ARP报文时,如果端口 3当前的状态为D0WN,则不会通过端口 3发送免费ARP报文,而是通过端口 4发送免费ARP报文。接入层设备在通过端口 2接收到免费ARP报文后,将物理服务器I的MAC表项学习到端口 2,该MAC表项记录有物理服务器I的IP地址和MAC地址,出端口为端口 2,具体方式与上述处理方式类似,在此不再赘述。基于此MAC表项,接入层设备在接收到需要发送给物理服务器I的报文时,基于报文的目的MAC地址,可以匹配到该MAC表项,并通过端口 2将该报文发送给物理服务器I。
[0027]但是,由于物理服务器I在两次发送免费ARP报文之间,会间隔较长时间,如10秒。因此,假设物理服务器I通过端口 3发送免费ARP报文后,端口 3的状态由UP切换为D0WN,则端口 I的状态也会由UP切换为DOWN。在端口 I的状态为DOWN时,接入层设备会删除端口 I对应的所有MAC表项。因此,接入层设备在接收到需要发送给物理服务器I的报文时,基于该报文的目的MAC地址,无法匹配到MAC表项,因此该报文是未知单播报文,而接入层设备需要在该报文所属VLAN内的所有UP端口广播该报文。由于此时端口 2不是该报文所属VLAN,因此不会通过端口 2广播该报文,从而导致无法将报文发送给物理服务器I,并导致业务中断,而业务中断时间将一直持续到物理服务器I再次通过端口 4发送免费ARP报文,最长可能为10秒。
[0028]其中,端口3的状态由UP切换为DOWN,端口 I的状态由UP切换为DOWN的原因是:针对图1所示的应用场景,接入层设备发生故障,或者端口 3与端口 I之间的链路发生故障,或者第一网卡发生故障。针对图2所示的应用场景,端口3与端口 I之间的链路发生故障,或者第一网卡发生故障。
[0029]针对上述发现,为了减少业务中断时间,本发明实施例中提出一种配置信息的下发方法,该方法可以应用在控制器上,如图3所示,该方法包括:
[0030]步骤301,向接入层设备发送控制流表,并接收接入层设备利用该控制流表上送的控制消息,该控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识
?目息O
[0031]步骤302,利用物理服务器的标识信息以及端口的标识信息,确定接入层设备上对应于相同物理服务器的所有端口,并将确定的端口添加到该物理服务器对应的端口组中。
[0032]步骤303,为该端口组中的每个端口生成配置信息,其中,每个端口的配置信息中包括的转发配置信息相同。
[0033]步骤304,将为每个端口生成的配置信息分别发送给接入层设备。
[0034]针对步骤301,控制器向接入层设备发送的控制流表,该控制流表的匹配选项包括与指定控制报文对应的指定协议类型;该控制流表的动作选项包括:在指定控制报文中添加接收到该指定控制报文的端口的标识信息,然后将该所述指定控制报文携带在控制消息中上送给控制器。在一个例子中,指定协议类型具体为LLDP(Link Layer DiscoveryProtocol,链路层发现协议)类型,LLDP协议是一个被绝大多数服务器支持的协议,因此本申请使用该协议作为示例。
[0035]在一个例子中,物理服务器I支持LLDP报文的发送功能,即其在启动时,会通过所有UP端口发送LLDP报文,如通过端口 3发送LLDP报文I,并通过端口 4发送LLDP报文2。在LLDP报文I和LLDP报文2中均携带了物理服务器I的标识信息(如MAC地址),例如LLDP报文I的ChassisID(机箱标识)字段和LLDP报文2的ChassisID字段中均携带了物理服务器I的标识
?目息O
[0036]接入层设备在通过端口I接收到LLDP报文1(即指定控制报文)后,由于LLDP报文I的协议类型是指定协议类型,因此匹配到上述控制流表,在LLDP报文I中添加端口 I的标识信息,并将LLDP报文I携带在控制消息(如packet-1n消息)中上送给控制器。接入层设备在通过端口 2接收到LLDP报文2(即指定控制报文)后,由于LLDP报文2的协议类型是指定协议类型,因此匹配到上述控制流表,在LLDP报文2中添加端口 2的标识信息,并将LLDP报文2携带在控制消息(如packet-1n消息)中上送给控制器。
[0037]进一步的,控制器可以接收到来自接入层设备的LLDP报文I和LLDP报文2,该LLDP报文I中携带物理服务器I的标识信息和端□ I的标识信息,该LLDP报文2中携带物理服务器I的标识信息和端口 2的标识信息。
[0038]针对步骤302,由于LLDP报文I中携带物理服务器I的标识信息,LLDP报文2中携带物理服务器I的标识信息,因此,控制器可以确定LLDP报文I和LLDP报文2来自于同一个物理服务器I。而且,由于LLDP报文I中携带端口 I的标识信息,LLDP报文2中携带端口 2的标识信息,因此,控制器可以确定出接入层设备上与物理服务器I连接的所有端口包括端口 I和端口 2,并将该端口 I和该端口 2添加到物理服务器I对应的端口组中。
[0039]在一个例子中,控制器可以为每个物理服务器单独维护一个端口组,并在该物理服务器对应的端口组中记录接入层设备上与该物理服务器连接的端口。
[0040]针对步骤303,控制器为该端口组中的每个端口生成配置信息的过程,可以包括但不限于如下方式:在确定该物理服务器在端口组中的任意一个端口上线后,则控制器可以为该端口组中的每个端口生成配置信息,且该配置信息中包括用于转发流量的转发配置信息和该端口的端口标识。
[0041 ] 在一个例子中,当物理服务器I上线时,会通过端口 3发送免费ARP报文,接入层设备通过端口 I接收到免费ARP报文后,在维护MAC表项的基础上,还可以将自身通过端口 I接收到免费ARP报文的信息发送给控制器。控制器在接收到该信息后,判断是否维护物理服务器I已经上线的信息。如果否,则控制器确定物理服务器I在接入层设备的端口 I上线,并记录物理服务器I已经上线的信息。如果是,则说明物理服务器I之前已经上线。当然,上述方式只是确定物理服务器I是否上线的一个示例,实际应用中,控制器还可以采用其它方式确定物理服务器I是否上线,本发明实施例中不再赘述。
[0042]在一个例子中,控制器上可以维护每个物理服务器对应的虚拟局域网,并可以利用物理服务器对应的虚拟局域网为端口组中的每个端口生成配置信息。例如,控制器可以利用物理服务器I对应的虚拟局域网为端口组中的端口 I和端口 2分别生成配置信息I和配置信息2。
[0043]在一个例子中,配置信息的作用是:使接入层设备利用端口的配置信息转发该端口对应的流量。例如,在步骤304中,控制器将为端口 I生成的配置信息I以及为端口 2生成的配置信息2发送给接入层设备。接入层设备将配置信息I下发到端口 I,并将配置信息2下发到端口2。因此,接入层设备可以利用配置信息I转发端口 I对应的流量,并利用配置信息2转发端口 2对应的流量。
[0044]在上述过程中,已经介绍接入层设备可以利用端口I或者端口2将报文转发给物理服务器I。此外,接入层设备在通过端口 I或者端口 2接收到报文后,还可以转发该报文,例如将报文转发给汇聚层设备I或者汇聚层设备2。为了实现上述报文转发的过程,则需要向端口 I或者端口 2下发配置信息,只有当端口 I或者端口 2有对应的配置信息时,才可以转发相应的报文。
[0045]在传统方式中,当物理服务器I在接入层设备的端口I上线时,控制器可以只生成端口 I对应的配置信息I,并将配置信息I发送给接入层设备,且接入层设备将配置信息I下发到端口 I。基于此,当端口 3的状态为UP,且端口 I的状态为UP时,则接入层设备通过端口 I接收到报文后,由于端口 I存在配置信息1,因此,接入层设备可以将报文转发给汇聚层设备I或者汇聚层设备2。此外,接入层设备在接收到需要发送给物理服务器I的报文时,基于该报文的目的MAC地址,可以匹配到MAC表项,且出端口为端口 I,由于端口 I存在配置信息I,因此,接入层设备可以通过端口 I将该报文发送给物理服务器I。
[0046]但是,当端口 3的状态为DOWN,且端口 I的状态为DOWN时,物理服务器不再通过端口3发送报文,而是通过端口 4发送报文,接入层设备通过端口 2接收到报文后,由于端口 2不存在配置信息,因此,接入层设备无法将报文转发给汇聚层设备I或者汇聚层设备2。此外,接入层设备在接收到需要发送给物理服务器I的报文时,在一种情况下,假设还没有将物理服务器I的MAC表项学习到端口 2,则接入层设备无法匹配到MAC表项,丢弃该报文。在另一种情况下,假设已经将物理服务器I的MAC表项学习到端口 2,但是由于端口 2不存在配置信息,因此,接入层设备无法将报文转发给物理服务器I。
[0047]与上述传统方式不同的是,在本发明的一个例子中,当物理服务器I在接入层设备的端口 I上线时,控制器可以生成端口 I对应的配置信息I,并生成端口2对应的配置信息2,并分别将配置信息I和配置信息2发送给接入层设备,且接入层设备将配置信息I下发到端口 I,并将配置信息2下发到端口2。
[0048]当端口3的状态为UP,且端口 I的状态为UP时,则接入层设备在通过端口 I接收到报文之后,由于接入层设备的端口 I存在配置信息1,因此,接入层设备可以将报文转发给汇聚层设备I或者汇聚层设备2。此外,接入层设备在接收到需要发送给物理服务器I的报文时,基于该报文的目的MAC地址,可以匹配到MAC表项,且出端口为端口 I,由于接入层设备的端口 I存在配置信息I,因此,接入层设备可以通过端口 I将该报文发送给物理服务器I。
[0049]而且,当端口 3的状态为DOWN时,物理服务器不再通过端口 3发送报文,而是通过端口 4发送报文,接入层设备通过端口 2接收到报文后,由于接入层设备的端口 2存在配置信息2,因此,接入层设备可以将报文转发给汇聚层设备I或者汇聚层设备2。此外,接入层设备在接收到需要发送给物理服务器I的报文时,在一种情况下,假设还没有将物理服务器I的MAC表项学习到端口 2,则接入层设备也可以将报文发送给物理服务器I,在后续过程中详细阐述该实现方式。在另一种情况下,假设已经将物理服务器I的MAC表项学习到端口2,由于接入层设备的端口 2存在配置信息2,因此,接入层设备可以将报文转发给物理服务器I,该过程不再详加赘述。
[0050]在一个例子中,控制器为端口I生成的配置信息I可以如下所示。在配置信息I中,port link-mode bridge表不端口 I为二层端口。port link-type trunk、undo port trunkpermit vlan Kport trunk permit vlan 1000表不端口 I只允许vlanl-vlanlOOO的报文通过,而vlanl-vlanlOOO是物理服务器I支持的虚拟局域网D
[0051]interface I
[0052]port link-mode bridge
[0053]port link-type trunk
[0054]undo port trunk permit vlan I
[0055]port trunk permit vlan 1000
[0056]在一个例子中,控制器为端口2生成的配置信息2可以如下所示。配置信息2与配置信息I中用于转发流量的转发配置信息是相同的,只是端口标识的配置不同,端口 I为interfacel,而端口 2为interface 2,在此不再赘述。
[0057]interface 2
[0058]port link-mode bridge
[0059]port link-type trunk
[0060]undo port trunk permit vlan I
[0061]port trunk permit vlan 1000
[0062]当然,在实际应用中,配置信息并不局限于上述内容,例如,配置信息还可以包含VXLAN(Virtual extensible Local Area Network,虚拟可扩展局域网)信息,接入层设备在通过端口 I或者端口 2接收到报文后,可以利用该VXLAN信息对报文进行封装,并将封装后的报文转发给汇聚层设备I或者汇聚层设备2。
[0063]针对接入层设备还没有将物理服务器I的MAC表项学习到端口 2,且将报文发送给物理服务器I的情况:当端口 I的状态由UP切换为DOWN时,接入层设备会删除端口 I对应的所有MAC表项,如果接入层设备还没有从端口 2收到来自物理服务器I的报文,则不会将物理服务器I的MAC表项学习到端口 2。在此情况下,接入层设备在接收到需要发送给物理服务器I的报文时,如果利用该报文的目的MAC地址,未查询到该报文对应的MAC表项,则从该报文中解析出虚拟局域网的信息,并通过该虚拟局域网内UP的端口广播该报文。
[0064]由于该报文是需要发送给物理服务器I的报文,因此该报文的虚拟局域网必然是物理服务器支持的虚拟局域网,如vlanl-vlanlOOO中的一个,假设为vlan50。基于端口 2的配置信息可以获知,端口 2允许vlanl-vlanlOOO的报文通过,因此vlan50的报文能够通过端口 2进行转发。综上所述,在通过该虚拟局域网内UP的端口广播该报文时,该报文能够通过端口 2广播给物理服务器I。因此在没有将物理服务器I的MAC表项学习到端口 2时,可以将报文发送给物理服务器I。
[0065]其中,在虚拟局域网内UP的端口广播报文的原因是:如果利用报文的目的MAC地址未查询到该报文对应的MAC表项,则说明该报文是未知单播报文,而接入层设备需要在虚拟局域网内UP的端口广播所有的未知单播报文。
[0066]在一个例子中,接入层设备在通过端口 2将报文发送给物理服务器I之后,如果通过端口 2接收到物理服务器I返回的响应报文,且接入层设备当前还没有将物理服务器I的MAC表项学习到端口 2,则可以将物理服务器I的MAC表项学习到端口 2,具体学习方式与上述基于免费ARP报文的学习方式相同,在此不再重新赘述。当接入层设备再次接收到需要发送给物理服务器I的报文时,由于已经将物理服务器I的MAC表项学习到端口 2,因此,接入层设备可以通过端口2将报文发送给物理服务器I,而不再通过广播方式发送报文。
[0067]在一个例子中,控制器在为端口组中的每个端口生成配置信息之后,在确定该物理服务器在端口组中的任意一个端口下线后,则控制器还可以通知接入层设备删除为端口组中的每个端口生成的配置信息。
[0068]其中,由于物理服务器I在线时,会周期性发送免费ARP报文,且接入层设备接收到免费ARP报文后,会将自身收到免费ARP报文的信息发送给控制器。因此,若控制器在预设时间内未接收到该信息,则认为物理服务器I下线。当然,上述方式只是确定物理服务器I是否下线的一个示例,实际应用中,控制器还可以采用其它方式确定物理服务器I是否下线,本发明实施例中不再赘述。
[0069]在一个例子中,即使接入层设备删除端口I的配置信息I和端口2的配置信息2,由于物理服务器I已经下线,因此接入层设备不会通过端口 I或者端口 2收到来自物理服务器I的报文,也不会通过端口 I或者端口 2向物理服务器I发送报文,因此删除配置信息I和配置信息2不会影响报文的传输过程。
[0070]上述过程是针对单播报文的处理流程,在一个例子中,接入层设备在接收到需要发送给物理服务器I的广播报文时,由于端口 I和端口 2上均下发了配置信息,因此接入层设备会分别通过端口 I和端口 2发送广播报文。物理服务器I通过端口 3和端口 4接收到广播报文后,由于物理服务器启动了主备网卡模式,因此物理服务器只会处理主网卡收到的报文,而备网卡收到的报文会被丢弃,因此,物理服务器只会处理通过端口 3接收到的广播报文,而将通过端口 4接收到的广播报文丢弃,从而指出来一份广播报文。
[0071]基于上述技术方案,本发明实施例中,控制器通过为接入层设备上与物理服务器连接的每个端口生成配置信息,以使接入层设备在与物理服务器连接的每个端口上均下发配置信息。在主网卡发生故障,而备网卡未发生故障时,由于接入层设备的每个端口上均下发了配置信息,因此,接入层设备上与物理服务器的备网卡连接的端口上也下发了配置信息,这样,如果物理服务器通过备网卡向接入层设备发送报文,由于接入层设备上的接收到该报文的端口已经下发了配置信息,因此接入层设备可以转发该报文。而且,如果有报文需要发送给物理服务器,由于与物理服务器的备网卡连接的端口已经下发了配置信息,因此,接入层设备可以通过该端口将报文发送给物理服务器。因此,在主网卡发生故障,而备网卡未发生故障时,物理服务器可以通过备网卡与接入层设备进行通信,从而避免业务的中断,避免报文发生丢失,并实现了报文在主网卡与备网卡之间的快速切换,这个切换时间会在I秒内,从而提高网络的可靠性。
[0072]在上面的例子中,已经介绍端口I/端口 3的状态为UP,端口 2/端口 4的状态为UP的处理过程,以及端口 I/端口3的状态由UP切换为DOWN,端口 2/端口4的状态为UP的处理过程。下面对其它情况进行简单说明:
[0073 ] 一、端口丨/端口 3的状态为UP,端口 2/端口 4的状态为DOWN。
[0074]在此情况下,物理服务器I通过端口3向接入层设备发送报文,且接入层设备通过端口 I向物理服务器I发送报文,该过程与端口 2/端口 4无关。
[0075]二、端口 I/端口 3的状态为DOWN,端口 2/端口 4的状态为DOWN。
[0076]在此情况下,物理服务器I与接入层设备之间的通信中断。
[0077]三、端口 I /端口 3的状态由DOWN切换为UP,端口 2/端口 4的状态为UP。
[0078]在一个例子中,当端口 3的状态由DOWN切换为UP,且端口 I的状态也由DOWN切换为UP时,则物理服务器I会重新通过端口 3发送免费ARP报文,接入层设备在通过端口 I接收到免费ARP报文后,重新将物理服务器I的MAC表项学习到端口 I,并删除在端口2上学习到的物理服务器I的MAC表项。
[0079]其中,端口3的状态由DOWN切换为UP,端口 I的状态由DOWN切换为UP的原因是:针对图1所示的应用场景,接入层设备故障恢复,或者端口3与端口 I之间的链路故障恢复,或者第一网卡故障恢复。针对图2所示的应用场景,端口3与端口 I之间的链路故障恢复。
[0080]四、端口 I /端口 3的状态由DOWN切换为UP,端口 2/端口 4的状态为DOWN。
[0081 ]在此情况下,物理服务器I通过端口 3向接入层设备发送报文,且接入层设备通过端口 I向物理服务器I发送报文,该过程与端口 2/端口 4无关。
[0082]基于与上述方法同样的发明构思,本发明实施例中还提供了一种配置信息的下发装置,可以应用于包括接入层设备、物理服务器和控制器的系统中,该接入层设备通过至少两个端口与该物理服务器连接,该配置信息的下发装置可以应用在控制器上。其中,该配置信息的下发装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的控制器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本发明提出的配置信息的下发装置所在的控制器的一种硬件结构图,除了图4所示的处理器、非易失性存储器夕卜,控制器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该控制器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
[0083]如图5所示,为本发明提出的配置信息的下发装置的结构图,该装置包括:
[0084]发送模块11,用于向所述接入层设备发送控制流表;接收模块12,用于接收所述接入层设备利用所述控制流表上送的控制消息,所述控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识信息;确定模块13,用于利用所述物理服务器的标识信息以及所述端口的标识信息,确定所述接入层设备上对应于相同物理服务器的所有端口,并将确定的端口添加到所述物理服务器对应的端口组中;生成模块14,用于为所述端口组中的每个端口生成配置信息,其中每个端口的配置信息中包括的转发配置信息相同;所述发送模块11,还用于将为每个端口生成的配置信息分别发送给所述接入层设备。
[0085]在一个例子中,所述发送模块11发送的所述控制流表的匹配选项包括与指定控制报文对应的指定协议类型;所述控制流表的动作选项包括:在指定控制报文中添加接收到所述指定控制报文的端口的标识信息,然后将所述指定控制报文携带在控制消息中上送给所述控制器。
[0086]在一个例子中,所述指定协议类型为链路层发现协议LLDP类型。
[0087]在一个例子中,所述生成模块14,具体用于在为所述端口组中的每个端口生成配置信息的过程中,在确定所述物理服务器在所述端口组中的任意一个端口上线后,为所述端口组中的每个端口生成配置信息。
[0088]在一个例子中,所述发送模块11,还用于在确定所述物理服务器在所述端口组中的任意一个端口下线后,通知所述接入层设备删除为所述端口组中的每个端口生成的配置
?目息O
[0089]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0090]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0091]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0092]以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【主权项】
1.一种配置信息的下发方法,应用于包括接入层设备、物理服务器和控制器的系统中,所述接入层设备通过至少两个端口与所述物理服务器连接,其特征在于,所述方法应用在所述控制器上,所述方法包括: 向接入层设备发送控制流表,并接收所述接入层设备利用所述控制流表上送的控制消息,所述控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识信息; 利用所述物理服务器的标识信息以及所述端口的标识信息,确定所述接入层设备上对应于相同物理服务器的所有端口,并将确定的端口添加到所述物理服务器对应的端口组中; 为所述端口组中的每个端口生成配置信息,其中每个端口的配置信息中包括的转发配置信息相同; 将为每个端口生成的配置信息分别发送给所述接入层设备。2.根据权利要求1所述的方法,其特征在于,所述控制流表的匹配选项包括与指定控制报文对应的指定协议类型;所述控制流表的动作选项包括:在指定控制报文中添加接收到所述指定控制报文的端口的标识信息,然后将所述指定控制报文携带在控制消息中上送给所述控制器。3.根据权利要求2所述的方法,其特征在于, 所述指定协议类型为链路层发现协议LLDP类型。4.根据权利要求1-3任一项所述的方法,其特征在于,所述为所述端口组中的每个端口生成配置信息的过程,具体包括: 在确定所述物理服务器在所述端口组中的任意一个端口上线后,为所述端口组中的每个端口生成配置信息。5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括: 在确定所述物理服务器在所述端口组中的任意一个端口下线后,通知所述接入层设备删除为所述端口组中的每个端口生成的配置信息。6.—种配置信息的下发装置,应用于包括接入层设备、物理服务器和控制器的系统中,所述接入层设备通过至少两个端口与所述物理服务器连接,其特征在于,所述装置应用在所述控制器上,所述装置包括: 发送模块,用于向所述接入层设备发送控制流表; 接收模块,用于接收所述接入层设备利用所述控制流表上送的控制消息,所述控制消息中携带物理服务器的标识信息和接收到指定控制报文的端口的标识信息; 确定模块,用于利用所述物理服务器的标识信息以及所述端口的标识信息,确定所述接入层设备上对应于相同物理服务器的所有端口,并将确定的端口添加到所述物理服务器对应的端口组中; 生成模块,用于为所述端口组中的每个端口生成配置信息,其中每个端口的配置信息中包括的转发配置信息相同; 所述发送模块,还用于将为每个端口生成的配置信息分别发送给所述接入层设备。7.根据权利要求6所述的装置,其特征在于, 所述发送模块发送的所述控制流表的匹配选项包括与指定控制报文对应的指定协议类型;所述控制流表的动作选项包括:在指定控制报文中添加接收到所述指定控制报文的端口的标识信息,然后将所述指定控制报文携带在控制消息中上送给所述控制器。8.根据权利要求7所述的装置,其特征在于, 所述指定协议类型为链路层发现协议LLDP类型。9.根据权利要求6-8任一项所述的装置,其特征在于, 所述生成模块,具体用于在为所述端口组中的每个端口生成配置信息的过程中,在确定所述物理服务器在所述端口组中的任意一个端口上线后,为所述端口组中的每个端口生成配置信息。10.根据权利要求6-8任一项所述的装置,其特征在于, 所述发送模块,还用于在确定所述物理服务器在所述端口组中的任意一个端口下线后,通知所述接入层设备删除为所述端口组中的每个端口生成的配置信息。
【文档编号】H04L12/24GK106059822SQ201610522874
【公开日】2016年10月26日
【申请日】2016年6月29日
【发明人】王海
【申请人】杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1