一种数据的传输方法和装置的制造方法

文档序号:10538644阅读:215来源:国知局
一种数据的传输方法和装置的制造方法
【专利摘要】本发明提供一种数据的传输方法和装置,该方法包括:处理器向转发芯片发送命令,所述命令用于指示转发芯片在通过非共享管理口接收到数据时,如果所述数据的目的MAC地址为BMC的MAC地址,则将所述数据发送给处理器;所述处理器在接收到来自所述转发芯片的数据后,如果所述数据的目的MAC地址为所述BMC的MAC地址,则将所述数据发送给所述BMC。通过本发明的技术方案,如果转发芯片通过非共享管理口接收到发送给BMC的数据,则可以将数据发送给BMC,使得BMC能够正确接收数据,解决BMC与外界的通信问题,避免BMC的业务发生异常。
【专利说明】
_种数据的传输方法和装置
技术领域
[0001 ]本发明涉及通信技术领域,尤其涉及一种数据的传输方法和装置。
【背景技术】
[0002]BMC(Baseboard Management Controller,基板管理控制器)是服务器的带外管理系统,基于IPMI(Intelligent Platform Management Interface,智能平台管理接口)协议,BMC可以智能的监控和管理服务器。用户可以通过BMC的管理口来登录BMC的管理界面,并在管理界面上对BMC进行管理。
[0003]BMC的管理口可以分为专用管理口和共享管理口,专用管理口仅连接到BMC,而不能连接到处理器,而共享管理口能够连接到BMC和处理器。显然,BMC独自使用专用管理口,而BMC和处理器可以共同使用共享管理口,因此,共享管理口的部署,可以降低服务器的成本,在服务器上被广泛使用。
[0004]如图1所示,为服务器的内部结构示意图,端口 O是BMC的共享管理口,端口 I与BMC无关。NIC(Network Interface Card,网络适配器)在通过端口O接收到数据时,可以将数据发送给BMC或者处理器,从而实现端口 O的共享。NIC在通过端口 I接收到数据时,只能将数据发送给处理器。

【发明内容】

[0005]本发明提供一种数据的传输方法,应用于包括处理器、基板管理控制器BMC和转发芯片的服务器上,所述服务器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC对应的共享管理口,所述方法包括:
[0006]所述处理器向非共享管理口所在的转发芯片发送命令,所述命令用于指示转发芯片在通过所述非共享管理口接收到数据时,如果所述数据的目的媒体访问控制MAC地址为BMC的MAC地址,则将所述数据发送给处理器;
[0007]所述处理器在接收到来自所述转发芯片的数据后,如果所述数据的目的MAC地址为所述BMC的MAC地址,则将所述数据发送给所述BMC。
[0008]本发明提供一种数据的传输装置,应用于包括处理器、基板管理控制器BMC和转发芯片的服务器上,所述服务器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC对应的共享管理口,所述装置包括:
[0009]命令发送模块,用于向非共享管理口所在的转发芯片发送命令,所述命令用于指示转发芯片在通过非共享管理口接收到数据时,如果所述数据的目的媒体访问控制MAC地址为BMC的MAC地址,则将数据发送给处理器;
[0010]数据发送模块,用于在接收到来自转发芯片的数据后,如果所述数据的目的MAC地址为所述BMC的MAC地址,则将所述数据发送给所述BMC。
[0011 ]基于上述技术方案,本发明实施例中,在将非共享管理口和共享管理口配置为聚合端口后,针对发送给BMC的数据,如果转发芯片通过非共享管理口接收到发送给BMC的数据,则转发芯片可以将数据发送给处理器,由处理器将数据发送给BMC,从而可以将数据发送给BMC,使得BMC能够正确接收数据,解决BMC与外界的通信问题,避免BMC的业务发生异常。
【附图说明】
[0012]为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0013]图1是服务器的内部结构示意图;
[0014]图2和图3是本发明一种实施方式中的应用场景示意图;
[0015]图4是本发明一种实施方式中的数据的传输方法的流程图;
[0016]图5是本发明一种实施方式中的服务器的硬件结构图;
[0017]图6是本发明一种实施方式中的数据的传输装置的结构图。
【具体实施方式】
[0018]在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0019]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0020]在现有技术中,为了保证服务器的可靠性,通常将多个端口配置为聚合端口,例如,将端口O和端口 I配置为聚合端口,这样,可以在多个端口之间进行备份和负载分担。但是,当端口 O和端口 I被配置为聚合端口后,针对发送给BMC的数据,交换机会将数据发送给端口 O或者端口 I。当数据被发送到端口 I时,则NIC无法将数据发送给BMC,导致BMC不能正确接收数据。
[0021]针对现有技术中存在的问题,本发明实施例中提出一种数据的传输方法,该方法可以应用于包括处理器、BMC和转发芯片的服务器上。其中,BMC是服务器的带外管理系统,可以智能的监控和管理服务器。处理器可以是CPU(Central Processing Unit,中央处理器)。转发芯片可以是NIC,在转发芯片上配置有与交换机连接的端口,服务器通过这些端口与交换机通信。
[0022]为了保证服务器的可靠性,可以将多个端口配置为聚合端口,从而在多个端口之间进行备份和负载分担。本发明实施例中,将BMC的共享管理口与非共享管理口(与BMC无关,非共享管理口收到的数据不能直接发送给BMC)配置为聚合端口。转发芯片在通过共享管理口接收到数据时,基于数据的目的MAC(Media Access Control,媒体访问控制)地址,可以将数据发送给BMC,也可以直接将数据转发给其它设备(在命中本地的转发表项时,可以基于该转发表项发送该数据),还可以将数据发送给处理器(在未命中本地的转发表项时,将数据上送给处理器进行处理)。转发芯片在通过非共享管理口接收到数据时,基于数据的目的MAC地址,可以直接将数据转发给其它网络设备,也可以将数据发送给处理器,但不会将数据发送给BMC,而且,当数据的目的MAC地址是BMC的MAC地址时,转发芯片还会丢弃该数据。
[0023]在将共享管理口和非共享管理口配置为聚合端口后,为了使转发芯片在通过非共享管理口接收到目的MAC地址是BMC的MAC地址的数据时,能够将该数据正确转发给BMC,本发明实施例中,转发芯片将数据发送给处理器进行后续处理,而不会丢弃该数据,也不会将该数据转发给其它网络设备。
[0024]本发明实施例中,被配置为聚合端口的共享管理口和非共享管理口可以位于同一个转发芯片上,也可以位于不同的转发芯片上,而且非共享管理口的数量可以为一个或者多个。如图2所示,为共享管理口和非共享管理口位于同一个转发芯片的组网示意图,如图3所示,为共享管理口和非共享管理口位于不同的转发芯片的组网示意图。这两种应用场景的处理流程类似,为了方便描述,本发明实施例中以图2所示的应用场景为例,进行后续说明。
[0025]本发明实施例中,在将多个端口配置为聚合端口后,处理器可以监控并获取到聚合端口的配置信息,该配置信息可以包括聚合端口内的各成员端口的信息,如果获知各成员端口中存在共享管理口和非共享管理口,则采用本发明实施例的技术方案进行处理,如果获知各成员端口中只存在非共享管理口,不存在共享管理口,则采用现有流程进行处理,在此不再赘述。例如,在将端口 O和端口 I配置为聚合端口后,处理器可以获取到聚合端口内包括端口 O和端口 I,且端口 O为共享管理口,端口 I为非共享管理口。
[0026]其中,根据操作系统类型的不同,可以采用不同类型的聚合技术。在一个例子中,可以通过LACP(Link Aggregat1n Control Protocol,链路汇聚控制协议)方式将共享管理口和非共享管理口配置为聚合端口,具体方式在此不再赘述。例如,上述端口 O和端口 I被配置为LACP的聚合端口。
[0027]本发明实施例中,针对后续数据传输过程,BMC和处理器之间可以采用KCS(Keyboard Controller Style,键盘控制器方式)或者USB(Universal Serial Bus,通用串行总线)进行数据传输。BMC和转发芯片之间可以采用SideBand(频带)进行数据传输。转发芯片和处理器之间可以米用PCIE(Peripheral Component Interface Express,总线和接口标准)进行数据传输。
[0028]本发明实施例中,处理器可以获取到BMC的MAC地址。例如,在服务器上直接配置BMC的MAC地址,基于此配置,处理器可以获取到BMC的MAC地址。或者,处理器通过KCS或者USB向BMC发送MAC地址上报命令,由BMC返回自身的MAC地址,使处理器获取到BMC的MAC地址。
[0029]本发明实施例中,处理器在获取到BMC的MAC地址和/或聚合端口的配置信息(包括聚合端口内的各成员端口的信息,如各成员端口中存在共享管理口和非共享管理口)之后,还可以将获取到的信息存储在本地存储介质(如硬盘等)上。这样,当服务器关闭或者重启时,在服务器启动或者重启完成之后,处理器可以直接从本地存储介质中获取到这些相关?目息O
[0030]在上述应用场景下,当服务器配置有聚合端口,且聚合端口包括非共享管理口和共享管理口时,如图4所示,该数据的传输方法可以包括以下步骤:
[0031]步骤401,处理器向非共享管理口所在的转发芯片发送命令,该命令用于指示该转发芯片在通过该非共享管理口接收到数据时,如果该数据的目的MAC地址为BMC的MAC地址,则将该数据发送给处理器。基于此,转发芯片在通过该非共享管理口接收到数据时,如果确定该数据的目的MAC地址为BMC的MAC地址,就会将该数据发送给处理器进行后续处理。
[0032]步骤402,处理器在接收到来自转发芯片的数据后,如果该数据的目的MAC地址为BMC的MAC地址,则将该数据发送给BMC。
[0033]例如,处理器向端口I (非共享管理口)所在的转发芯片发送命令,该转发芯片在通过端口 I接收到数据时,如果数据的目的MAC地址为BMC的MAC地址,则将数据发送给处理器。处理器在接收到来自转发芯片的数据后,如果数据的目的MAC地址为BMC的MAC地址,则将数据发送给BMC。
[0034]其中,在数据的目的MAC地址为BMC的MAC地址时,处理器可以采用IPMI(Intelligent Platform Management Interface,智能平台管理接口)对数据进行封装,将封装后的数据发送给BMC JMC在接收到经过IPMI封装的数据后,对封装后的数据进行解封装,得到其中的数据。而且,BMC可以对数据进行处理,并将响应数据发送给转发芯片,由转发芯片通过BMC的共享管理口(端口O)将响应数据发送出去,从而实现BMC和外界的正常通
?目O
[0035]本发明实施例中,处理器向非共享管理口所在的转发芯片发送命令(用于指示转发芯片在通过该非共享管理口接收到数据时,如果数据的目的MAC地址为BMC的MAC地址,则将数据发送给处理器)的过程,具体可以包括但不限于如下方式:
[0036]方式一、处理器获取BMC的MAC地址,并向非共享管理口所在的转发芯片发送ACL(Access Control List,访问控制列表)策略。其中,该ACL策略用于使转发芯片在通过非共享管理口接收到目的MAC地址为BMC的MAC地址的数据时,将该数据发送给处理器。或者,
[0037]方式二、处理器向非共享管理口所在的转发芯片发送混杂模式的使能命令,以使转发芯片为该非共享管理口使能混杂模式。其中,在非共享管理口使能混杂模式时,转发芯片将通过该非共享管理口收到的所有数据均发送给处理器。
[0038]针对方式一、处理器向转发芯片发送的ACL策略的匹配项为非共享管理口和BMC的MAC地址,动作项为上送处理器。这样,基于此ACL策略,转发芯片在接收到数据时,首先判断该数据是否为通过非共享管理口接收到的数据。如果否,则按照现有流程处理该数据。如果是,则转发芯片判断该数据的目的MAC地址是否为BMC的MAC地址。如果否,则按照现有流程处理该数据。如果是,则转发芯片将该数据发送给处理器进行后续处理。
[0039]针对方式二、转发芯片在为非共享管理口使能混杂模式之后,在通过该非共享管理口接收到数据时,无论该数据的目的MAC地址是什么MAC地址,转发芯片都会将数据发送给处理器。这样,当数据的目的MAC地址为BMC的MAC地址时,转发芯片也可以将该数据发送给处理器进行后续处理。
[0040]本发明实施例中,当从聚合端口中删除共享管理口时,则处理器可以向非共享管理口所在的转发芯片发送撤销ACL策略的命令,以使转发芯片删除该ACL策略;或者,向非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使转发芯片为该非共享管理口去使能混杂模式。基于此,转发芯片在通过该非共享管理口接收到数据后,可以采用现有流程进行处理。当然,在实际应用中,当从聚合端口中删除共享管理口时,处理器也可以不向非共享管理口所在的转发芯片发送撤销ACL策略的命令,或者不向非共享管理口所在的转发芯片发送混杂模式的去使能命令,这样,转发芯片在通过该非共享管理口接收到数据后,仍然采用本发明实施例的技术方案进行处理,在此不再赘述。
[0041]本发明实施例中,当从聚合端口中删除非共享管理口时,则处理器可以向非共享管理口所在的转发芯片发送撤销ACL策略的命令,以使转发芯片删除该ACL策略;或者,向非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使转发芯片为该非共享管理口去使能混杂模式。基于此,转发芯片在通过该非共享管理口接收到数据后,可以采用现有流程进行处理。当然,在实际应用中,当从聚合端口中删除非共享管理口时,处理器也可以不向非共享管理口所在的转发芯片发送撤销ACL策略的命令,或者不向非共享管理口所在的转发芯片发送混杂模式的去使能命令,这样,转发芯片在通过该非共享管理口接收到数据后,仍然采用本发明实施例的技术方案进行处理,在此不再赘述。
[0042]本发明实施例中,当在聚合端口中增加新非共享管理口时,则处理器可以向新非共享管理口所在的转发芯片发送ACL策略,以使转发芯片生效该ACL策略;或者,向新非共享管理口所在的转发芯片发送混杂模式的使能命令,以使转发芯片为该新非共享管理口使能混杂模式。基于此,转发芯片在通过该新非共享管理口接收到数据时,判断该数据的目的MAC地址是否为BMC的MAC地址。如果否,则按照现有流程处理该数据,例如,如果本转发芯片的MAC转发表中存在该数据的目的MAC地址,则基于该MAC转发表中记录的出接口转发该数据,如果本转发芯片的MAC转发表中不存在该数据的目的MAC地址,则可以将数据上送给处理器进行处理。如果是,则转发芯片将该数据发送给处理器进行后续处理。针对该新非共享管理口的处理流程,与上述非共享管理口(端口 I)的处理流程相同,在此不再重复赘述。
[0043]本发明实施例中,当服务器需要关闭或者重启时,在服务器关闭或者重启之前,处理器还可以向非共享管理口所在的转发芯片下发DOWN状态的命令,以使转发芯片设置该非共享管理口为DOWN状态。进一步的,在服务器启动或者重启完成之后,处理器还可以向非共享管理口所在的转发芯片下发UP状态的命令,以使转发芯片设置该非共享管理口为UP状态。此外,在服务器关闭或者重启的过程中,不会影响共享管理口的状态,即共享管理口始终为UP状态。
[0044]其中,当非共享管理口为DOWN状态时,非共享管理口不能生效,此时只有共享管理口处于工作状态,因此,在服务器关闭或者重启期间,只有共享管理口处于工作状态,交换机发送的数据都会发送到共享管理口,而不会发送到非共享管理口。这样,针对BMC的数据,可以发送给BMC。而且,在服务器关闭或者重启期间,处理器不能正常工作,也不会有向处理器发送的数据,将非共享管理口设置为DOWN状态,不会影响正常数据的传输。
[0045]此外,当非共享管理口为UP状态时,该非共享管理口生效,此时,共享管理口和非共享管理口均处于工作状态,因此,在服务器启动或者重启完成之后,交换机发送的数据会发送到共享管理口或者非共享管理口。
[0046]为了保证处理器与BMC之间通信的可靠性,还可以在处理器与BMC之间定时发送心跳报文,基于此,本发明实施例中,处理器还可以周期性向BMC发送心跳报文,BMC可以周期性向处理器发送心跳报文,发送周期可以根据实际情况任意设置,如I秒。如果处理器在预设时间(可以根据实际情况任意设置,如3个发送周期,如3秒)内未接收到来自BMC的心跳报文,则处理器确定处理器与BMC之间的链路发生故障,并向非共享管理口所在的转发芯片下发DOWN状态的命令,以使转发芯片设置该非共享管理口为DOWN状态。
[0047]其中,处理器在确定处理器与BMC之间的链路发生故障之后,还可以记录故障日志,并发送故障告警信息。用户在接收到故障告警信息后,可以手工排除故障。在故障期间,由于非共享管理口为DOWN状态,非共享管理口不能生效,此时只有共享管理口处于工作状态,因此,交换机在向服务器发送数据时,由于非共享管理口为DOWN状态,因此数据不会发送到非共享管理口,而由于共享管理口处于工作状态,g卩UP状态,因此数据可以发送到共享管理口。这样,针对交换机发送给BMC的数据,该数据可以发送到共享管理口,继而将数据发送给BMC。针对交换机发送给处理器的数据,该数据也可以发送到共享管理口,继而将数据发送给处理器,但是,针对交换机发送给处理器的数据,该数据无法发送到非共享管理口,因此,针对交换机发送给处理器的数据,无法在共享管理口和非共享管理口之间进行备份和负载分担。
[0048]本发明实施例中,处理器在利用来自BMC的心跳报文确定处理器与BMC之间的链路故障恢复(如处理器接收到来自BMC的心跳报文)时,则处理器向非共享管理口所在的转发芯片下发UP状态的命令,以使转发芯片设置非共享管理口为UP状态。当非共享管理口为UP状态时,该非共享管理口生效,此时,共享管理口和非共享管理口均处于工作状态。
[0049]本发明实施例中,针对发送给BMC的数据,可以通过转发芯片将数据发送给BMC,也可以通过转发芯片将数据发送给处理器,由处理器将数据发送给BMC,而且,经过处理器的数据的发送时间要长于未经过处理器的数据的发送时间。因此,可能会导致发送给BMC的数据出现乱序。针对该问题,可以在BMC内部设置一个用于缓存乱序数据的队列,且为每个乱序数据设置老化定时器,在老化定时器超时之前,如果接收到新数据,并解决了乱序问题,则将乱序数据组合成正常顺序的数据,进行处理。例如,正常的顺序为数据1、数据2和数据3,假设BMC先接收到数据3,则获知数据3是乱序数据,将数据3缓存到队列。假设又接收到数据I和数据2,则获知已经接收到正常顺序的数据,将数据1、数据2和数据3合并为正常顺序的数据。
[0050]为了将乱序数据组合成正常顺序的数据,可以加大缓存队列的长度,并增加老化定时器的老化时间,以使乱序数据可以有充足的时间来等待其它数据。而且,还可以优化处理器的性能,提高处理器的运行速度,提高处理器与BMC之间的通信速度,以使处理器能够尽快将数据发送给BMC。
[0051 ] 本发明实施例中,BMC的MAC地址可以是共享管理口的MAC地址。
[0052]本发明实施例中,可以在BMC内设置一个Agent(代理)模块,且由该Agent模块完成上述BMC的操作,例如,上述接收来自处理器的数据,向处理器发送心跳报文等流程,均由Agent模块完成。此外,还可以在处理器内设置一个Agent模块,且由该Agent模块完成上述处理器的操作,例如,上述向BMC发送数据,向BMC发送心跳报文等流程,均由Agent模块完成。
[0053]基于上述技术方案,本发明实施例中,在将非共享管理口和共享管理口配置为聚合端口后,针对发送给BMC的数据,如果转发芯片通过非共享管理口接收到发送给BMC的数据,则转发芯片可以将数据发送给处理器,由处理器将数据发送给BMC,从而可以将数据发送给BMC,使得BMC能够正确接收数据,解决BMC与外界的通信问题,避免BMC的业务发生异常。
[0054]基于与上述方法同样的发明构思,本发明实施例中还提供了一种数据的传输装置,应用于包括处理器、BMC和转发芯片的服务器上,该服务器配置有聚合端口,且该聚合端口包括非共享管理口和BMC对应的共享管理口,该数据的传输装置应用在服务器上。其中,该数据的传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的服务器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为本发明提出的数据的传输装置所在的服务器的一种硬件结构图,除了图5所示的处理器、非易失性存储器夕卜,服务器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该服务器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
[0055]如图6所示,为本发明提出的数据的传输装置的结构图,所述装置包括:
[0056]命令发送模块11,用于向非共享管理口所在的转发芯片发送命令,所述命令用于指示转发芯片在通过非共享管理口接收到数据时,如果所述数据的目的媒体访问控制MAC地址为BMC的MAC地址,则将数据发送给处理器;
[0057]数据发送模块12,用于在接收到来自转发芯片的数据后,如果所述数据的目的MAC地址为所述BMC的MAC地址,则将所述数据发送给所述BMC。
[0058]所述命令发送模块11,具体用于在向非共享管理口所在的转发芯片发送命令的过程中,获取所述BMC的MAC地址,并向所述非共享管理口所在的转发芯片发送访问控制列表ACL策略,其中,所述ACL策略用于使所述转发芯片在通过所述非共享管理口接收到目的MAC地址为所述BMC的MAC地址的数据时,将所述数据发送给所述处理器;或者,
[0059]向所述非共享管理口所在的转发芯片发送混杂模式的使能命令,以使所述转发芯片为所述非共享管理口使能混杂模式;且在混杂模式下,所述转发芯片将通过所述非共享管理口收到的数据发送给所述处理器。
[0060]所述命令发送模块11,还用于当从所述聚合端口中删除共享管理口时,向所述非共享管理口所在的转发芯片发送撤销所述ACL策略的命令,以使所述转发芯片删除所述ACL策略;或者,向所述非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使所述转发芯片为所述非共享管理口去使能混杂模式;和/或,和/或,当从所述聚合端口中删除所述非共享管理口时,向所述非共享管理口所在的转发芯片发送撤销所述ACL策略的命令,以使所述转发芯片删除所述ACL策略;或者,向所述非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使所述转发芯片为所述非共享管理口去使能混杂模式。
[0061]所述命令发送模块11,还用于当所述服务器需要关闭或者重启时,在服务器关闭或者重启之前,向所述非共享管理口所在的转发芯片下发DOWN状态的命令,以使所述转发芯片设置所述非共享管理口为DOWN状态;在所述服务器启动或者重启完成之后,向所述非共享管理口所在的转发芯片下发UP状态的命令,以使所述转发芯片设置所述非共享管理口为UP状态。
[0062]所述数据发送模块12,还用于接收所述BMC周期性的向所述处理器发送的心跳报文;
[0063]所述数据的传输装置还包括(在图中未体现):
[0064]确定模块,用于当所述数据发送模块12在预设时间内未接收到来自所述BMC的心跳报文时,则确定所述处理器与所述BMC之间的链路发生故障;
[0065]所述命令发送模块11,还用于向所述非共享管理口所在的转发芯片下发DOWN状态的命令,以使转发芯片设置所述非共享管理口为DOWN状态;
[0066]所述确定模块,还用于利用来自所述BMC的心跳报文确定所述处理器与所述BMC之间的链路故障恢复;
[0067]所述命令发送模块11,还用于在所述处理器与所述BMC之间的链路故障恢复时,则向所述非共享管理口所在的转发芯片下发UP状态的命令,以使所述转发芯片设置所述非共享管理口为UP状态。
[0068]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0069]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0070]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0071]以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【主权项】
1.一种数据的传输方法,应用于包括处理器、基板管理控制器BMC和转发芯片的服务器上,所述服务器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC对应的共享管理口,其特征在于,所述方法包括: 所述处理器向非共享管理口所在的转发芯片发送命令,所述命令用于指示转发芯片在通过所述非共享管理口接收到数据时,如果所述数据的目的媒体访问控制MAC地址为BMC的MAC地址,则将所述数据发送给处理器; 所述处理器在接收到来自所述转发芯片的数据后,如果所述数据的目的MAC地址为所述BMC的MAC地址,则将所述数据发送给所述BMC。2.根据权利要求1所述的方法,其特征在于,所述处理器向非共享管理口所在的转发芯片发送命令的过程,具体包括: 所述处理器获取所述BMC的MAC地址,并向所述非共享管理口所在的转发芯片发送访问控制列表ACL策略,其中,所述ACL策略用于使所述转发芯片在通过所述非共享管理口接收到目的MAC地址为所述BMC的MAC地址的数据时,将所述数据发送给所述处理器;或者, 所述处理器向所述非共享管理口所在的转发芯片发送混杂模式的使能命令,以使所述转发芯片为所述非共享管理口使能混杂模式;且在混杂模式下,所述转发芯片将通过所述非共享管理口收到的数据发送给所述处理器。3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 当从所述聚合端口中删除共享管理口时,所述处理器向所述非共享管理口所在的转发芯片发送撤销所述ACL策略的命令,以使所述转发芯片删除所述ACL策略;或者,向所述非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使所述转发芯片为所述非共享管理口去使能混杂模式;和/或, 当从所述聚合端口中删除所述非共享管理口时,所述处理器向所述非共享管理口所在的转发芯片发送撤销所述ACL策略的命令,以使所述转发芯片删除所述ACL策略;或者,向所述非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使所述转发芯片为所述非共享管理口去使能混杂模式。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当所述服务器需要关闭或者重启时,在所述服务器关闭或者重启之前,所述处理器向所述非共享管理口所在的转发芯片下发DOWN状态的命令,以使所述转发芯片设置所述非共享管理口为DOWN状态;在所述服务器启动或者重启完成之后,所述处理器向所述非共享管理口所在的转发芯片下发UP状态的命令,以使所述转发芯片设置所述非共享管理口为UP状??τ O5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述处理器接收所述BMC周期性向所述处理器发送的心跳报文; 如果所述处理器在预设时间内未接收到来自所述BMC的心跳报文,则所述处理器确定所述处理器与所述BMC之间的链路发生故障,并向所述非共享管理口所在的转发芯片下发DOWN状态的命令,以使所述转发芯片设置所述非共享管理口为DOWN状态; 所述处理器在利用来自所述BMC的心跳报文确定所述处理器与所述BMC之间的链路故障恢复时,则向所述非共享管理口所在的转发芯片下发UP状态的命令,以使所述转发芯片设置所述非共享管理口为UP状态。6.—种数据的传输装置,应用于包括处理器、基板管理控制器BMC和转发芯片的服务器上,所述服务器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC对应的共享管理口,其特征在于,所述装置包括: 命令发送模块,用于向非共享管理口所在的转发芯片发送命令,所述命令用于指示转发芯片在通过非共享管理口接收到数据时,如果所述数据的目的媒体访问控制MAC地址为BMC的MAC地址,则将数据发送给处理器; 数据发送模块,用于在接收到来自转发芯片的数据后,如果所述数据的目的MAC地址为所述BMC的MAC地址,则将所述数据发送给所述BMC。7.根据权利要求6所述的装置,其特征在于, 所述命令发送模块,具体用于在向非共享管理口所在的转发芯片发送命令的过程中,获取所述BMC的MAC地址,并向所述非共享管理口所在的转发芯片发送访问控制列表ACL策略,其中,所述ACL策略用于使所述转发芯片在通过所述非共享管理口接收到目的MAC地址为所述BMC的MAC地址的数据时,将所述数据发送给所述处理器;或者, 向所述非共享管理口所在的转发芯片发送混杂模式的使能命令,以使所述转发芯片为所述非共享管理口使能混杂模式;且在混杂模式下,所述转发芯片将通过所述非共享管理口收到的数据发送给所述处理器。8.根据权利要求7所述的装置,其特征在于, 所述命令发送模块,还用于当从所述聚合端口中删除共享管理口时,向所述非共享管理口所在的转发芯片发送撤销所述ACL策略的命令,以使所述转发芯片删除所述ACL策略;或者,向所述非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使所述转发芯片为所述非共享管理口去使能混杂模式;和/或,当从所述聚合端口中删除所述非共享管理口时,向所述非共享管理口所在的转发芯片发送撤销所述ACL策略的命令,以使所述转发芯片删除所述ACL策略;或者,向所述非共享管理口所在的转发芯片发送混杂模式的去使能命令,以使所述转发芯片为所述非共享管理口去使能混杂模式。9.根据权利要求6所述的装置,其特征在于, 所述命令发送模块,还用于当所述服务器需要关闭或者重启时,在所述服务器关闭或者重启之前,向所述非共享管理口所在的转发芯片下发DOWN状态的命令,以使所述转发芯片设置所述非共享管理口为DOWN状态;在所述服务器启动或者重启完成之后,向所述非共享管理口所在的转发芯片下发UP状态的命令,以使所述转发芯片设置所述非共享管理口为UP状态。10.根据权利要求6所述的装置,其特征在于, 所述数据发送模块,还用于接收所述BMC周期性的向所述处理器发送的心跳报文; 还包括:确定模块,用于当所述数据发送模块在预设时间内未接收到来自所述BMC的心跳报文时,确定所述处理器与所述BMC之间的链路发生故障; 所述命令发送模块,还用于向所述非共享管理口所在的转发芯片下发DOWN状态的命令,以使转发芯片设置所述非共享管理口为DOWN状态; 所述确定模块,还用于利用来自所述BMC的心跳报文确定所述处理器与所述BMC之间的链路故障恢复; 所述命令发送模块,还用于在所述处理器与所述BMC之间的链路故障恢复时,则向所述非共享管理口所在的转发芯片下发UP状态的命令,以使所述转发芯片设置所述非共享管理口为UP状态。
【文档编号】H04L12/937GK105897623SQ201610180203
【公开日】2016年8月24日
【申请日】2016年3月25日
【发明人】雷鸣春, 叶鹏军
【申请人】杭州昆海信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1