CN111327571A - 设备控制方法、装置、控制节点、网络设备、数据中心 - Google Patents
设备控制方法、装置、控制节点、网络设备、数据中心 Download PDFInfo
- Publication number
- CN111327571A CN111327571A CN201811534985.0A CN201811534985A CN111327571A CN 111327571 A CN111327571 A CN 111327571A CN 201811534985 A CN201811534985 A CN 201811534985A CN 111327571 A CN111327571 A CN 111327571A
- Authority
- CN
- China
- Prior art keywords
- control
- field
- message
- equipment
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本发明实施例提供一种设备控制方法、装置、控制节点、网络设备、数据中心,基于RIFT技术对数据中心网络中的设备进行控制与管理,在需要对数据中心网络中某一设备进行访问控制时,网管只需要在控制节点设备上下发控制指令,指定目标控制对象以及待控制项目和待控制项目的值即可,由控制节点设备根据接收到的控制指令生成KV TIE报文,并传送给对应的目标设备,让目标设备完成控制指令对应的控制,无需网管人员与到目标设备上登录,也无需专门建立管理服务器与目标设备之间的netconf连接,简化了对数据中心网络设备的访问控制过程,降低了访问控制的时间成本等,提升了访问控制效率,优化了数据中心网络的管理机制。
Description
技术领域
本发明涉及网络领域,尤其涉及一种设备控制方法、装置、控制节点、网络设备、数据中心。
背景技术
数据中心网络一般使用胖树(Fat Tree)技术,其中的设备通常分为三层,分别是2层、1层以及0层。2层为数据中心网络中的顶层,0层为数据中心网络的底层。所以,2层的设备通常不多,但是1层和0层中的设备数量则比较多,尤其是0层设备,数目成千上万,而相关技术中,在对数据中心中的设备进行控制或访问时,主要通过netconf(IETF在2003年5月成立了Netconf工作组,该工作组主要是为了提出一个全新的基于XML的网络配置(NETCONF)协议而成立的)或MIB(Management Information Base,管理信息库)来实现,这两种访问控制方式都需要直接与待访问的设备建立连接并登陆到对应的设备上才能实现。所以,巨大的设备量会导致对设备的控制或访问非常困难。在大量设备的环境下,一个简单的操作下也会变得非常困难。
所以,针对相关技术中对数据中心网络中设备进行访问时需要专门建立与该设备的连接并等登陆到设备上,导致访问控制难度大的问题,现在亟须提供一种新的设备控制方案。
发明内容
本发明实施例提供的设备控制方法、装置、控制节点、网络设备、数据中心,主要解决的技术问题是:相关技术中对数据中心网络中设备进行访问时需要专门建立与该设备的连接并等登陆到设备上,导致访问控制难度大的问题。
为解决上述技术问题,本发明实施例提供一种设备控制方法,包括:
接收控制指令;
根据控制指令生成KV TIE(Key value Topology Information Element,键值拓扑信息元素)报文,KV TIE报文中包括控制标识Control ID字段、控制数据关键字ControlDataKey字段以及控制数据ControlData字段,Control ID字段用于指示控制项目,ControlData字段中包括控制项目的取值;ControlDataKey字段中包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息;
根据目标控制对象将KV TIE报文发送给数据中心内对应的目标设备。
本发明实施例还提供一种设备控制方法,包括:
接收来自控制节点的KV TIE报文,KV TIE报文中包括Control ID字段、ControlDataKey字段以及ControlData字段,Control ID字段用于指示控制项目,ControlData字段中包括控制项目的取值;ControlDataKey字段包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息;
对KV TIE报文进行解析,确定KV TIE报文中目标控制对象所对应的目标设备;
若目标设备包括本设备,则按照KV TIE报文的指示对本设备的控制项目进行控制。
本发明实施例还提供一种设备控制装置,包括:
指令接收模块,用于接收控制指令;
报文生成模块,用于根据控制指令生成KV TIE报文,KV TIE报文中包括ControlID字段、Control Data Key字段以及ControlData字段,Control ID字段用于指示控制项目,Control Data字段中包括控制项目的取值;ControlDataKey字段包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息;
报文发送模块,用于根据目标控制对象将KV TIE报文发送给数据中心内对应的目标设备。
本发明实施例还提供一种设备控制装置,包括:
报文接收模块,用于接收来自控制节点的KV TIE报文,KV TIE报文中包括ControlID字段、ControlDataKey字段以及ControlData字段,Control ID字段用于指示控制项目,ControlData字段中包括控制项目的取值;ControlDataKey字段包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息;
报文解析模块,用于对KV TIE报文进行解析,确定KV TIE报文中目标控制对象所对应的目标设备;
设备控制模块,用于若目标设备包括本设备,则按照KV TIE报文的指示对本设备的控制项目进行控制。
本发明实施例还提供一种控制节点,控制节点包括第一处理器、第一存储器及第一通信总线;
第一通信总线用于实现第一处理器和第一存储器之间的连接通信;
第一处理器用于执行第一存储器中存储的一个或者多个程序,以实现上述第一种设备控制方法的步骤。
本发明实施例还提供一种网络设备,网络设备包括第二处理器、第二存储器及第二通信总线;
第二通信总线用于实现第二处理器和第二存储器之间的连接通信;
第二处理器用于执行第二存储器中存储的一个或者多个程序,以实现上述第二种设备控制方法的步骤。
本发明实施例还提供一种数据中心,其特征在于,包括至少一个上述控制节点和至少一个上述网络设备。
本发明实施例还提供一种存储介质,该存储介质存储有第一设备控制程序和/或第二设备控制程序,第一设备控制程序可被一个或者多个处理器执行,以实现上述第一种设备控制方法的步骤;第二设备控制程序可被一个或者多个处理器执行,以实现上述第二种设备控制方法的步骤。
本发明的有益效果是:
本发明实施例提供的设备控制方法、装置、控制节点、网络设备、数据中心,在需要对数据中心中的目标设备进行访问控制时,控制节点设备接收控制指令,然后根据控制指令生成KV TIE报文,并根据目标控制对象将KV TIE报文发送给数据中心内对应的目标设备。在KV TIE报文中包括Control ID字段和Control Data Key字段,其中,Control ID字段用于指示控制项目,Control Data Key字段中包括控制项目的取值;另外,KV TIE报文中还包括携带有指示目标控制对象的信息的公共键值字段。对于数据中心中其他网络设备而言,当接收到来自接收来自控制节点的KV TIE报文后,可以对KV TIE报文进行解析,确定出该KV TIE报文中目标控制对象所对应的目标设备,如果确定目标设备包括该设备本身,则按照该KV TIE报文的指示对本设备的控制项目进行控制。在本实施例中,基于RIFT(Routing in fat tree,胖树路由)技术对数据中心网络中的设备进行控制与管理,使得在需要对数据中心网络中某一设备进行访问控制时,网管只需要在控制节点设备上下发控制指令,指定目标控制对象以及待控制项目和待控制项目的值即可,由控制节点设备根据接收到的控制指令生成携带Control ID字段和Control Data Key字段的KV TIE报文,并传送给对应的目标设备,让目标设备完成控制指令对应的控制,无需网管人员与到目标设备上登录,也无需专门建立管理服务器与目标设备之间的netconf连接,简化了对数据中心网络设备的访问控制过程,降低了访问控制的时间成本等,提升了访问控制效率,优化了数据中心网络的管理机制。
本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
图1为本发明实施例一中示出的数据中心的一种示意图;
图2为本发明实施例一中提供的设备控制方法的一种流程图;
图3为本发明实施例一中示出的控制节点发送KV TIE报文的一种流程图;
图4为本发明实施例二中提供的设备控制方法的一种流程图;
图5为本发明实施例三中提供的KV TIE报文的一种示意图;
图6为本发明实施例三中提供的KV TIE报文中公共键值字段的一种示意图;
图7为本发明实施例四中提供的设备控制装置的一种结构示意图;
图8为本发明实施例四中提供的设备控制装置的另一种结构示意图;
图9为本发明实施例四中提供的设备控制装置的又一种结构示意图;
图10为本发明实施例五中提供的控制节点的一种硬件结构示意图;
图11为本发明实施例五中提供的网络设备的一种硬件结构示意图;
图12为本发明实施例五中提供的数据中心的一种示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
首先,请参见图1中示出的数据中心的一种示意图:数据中心1中的设备自上而下被分为2层设备、1层设备和0层设备,在一些示例中,2层也被称为“核心层”(core),1层被称为“汇聚层”(aggregate),0层则被称为“边缘层”(edge)。在图1当中,2层设备包括Spine21、Spine 22;1层设备则包括Node 111、Node 112、Node 121、Node122;0层设备包括Leaf011、Leaf 012、Leaf 021、Leaf 022。
在数据中心中,存在“PoD”(Point of Delivery,交货点)的概念,PoD也被称为“区域”。其中,Node 111、Node 112、Leaf 011、Leaf 012属于PoD1,Node 121、Node 122、Leaf021、Leaf 022属于PoD2。
由于相关技术中在对数据中心中设备进行访问时,需要登录到该设备上,例如,若网管需要对数据中心1中的Leaf 011进行参数配置时,只能登录到Leaf011上,然后通过Leaf 011的人机交互界面向Leaf 011输入参数配置所需要的信息,完成对应参数的重新配置;或者需要建立管理服务器与该设备间的netconf连接,然后通过管理服务器利用netconf连接向Leaf 011发送完成参数配置所需要的各项信息,让Leaf 011在通过netconf连接接收到相关信息后,完成参数修改等工作。但如果需要访问控制的目标设备是Node112,则网管需要登录的设备也会变成Node 112,在通过建立netconf连接实现访问控制的情况下,需要建立的也是Node 112与管理服务器之间的连接,所以这种访问控制方式非常的麻烦,尤其是在对0层设备进行管理的时候,由于0层设备数量庞大,因此更进一步增加了网管对数据中心设备的访问控制的难度,降低了数据中心管理的灵活性,因此,为了解决这些问题,本实施例提供一种设备控制方法,请参见图2示出的设备控制方法的流程图:
S202:控制节点接收控制指令。
在本实施例中,网管可以从数据中心中选择一个或多个控制节点,在通常情况下,网管可以选择数据中心中的2层设备作为控制节点,例如,在图1示出的数据中心当中,可以将Spine21与Spine22作为控制节点。选择2层设备作为控制节点主要是在数据中心中,主要是因为控制节点需要根据控制指令向目标设备,也即目标控制对象发送信息,而2层设备的数据库中存储有数据中心中其他设备的拓扑关系,但对于层级较低的设备,例如1层设备而言,其数据库中没有其所属PoD以外其他PoD中设备的拓扑关系。因此,如果选择1层设备作为控制节点,则可能没办法直接通过该设备实现对其他PoD中设备的访问控制。对于网管而言,如果选择的控制节点是2层设备以外的设别,则需要根据自己需要访问的控制选择相应的控制节点下发控制指令,这会导致数据中心的管理不能得到最大程度的简化。
在本实施例中,控制节点可以接收控制指令,在控制指令中,包括指示需要控制的对象,即目标控制对象的信息,例如,控制指令中会指示本次控制的目标设备的是哪一个或哪几个;另一方面,控制指令中还包括控制项目,即此次控制是要对目标控制对象的哪个或哪些参数进行控制,当然,控制指令中也还应该指定对应控制项目的值,例如,假定控制指令中指示需要对目标设备是否开启零配置模式使能进行控制,则控制指令中也会同时指定到底是开启还是不开启;又例如,假定控制指令中的控制项目是链路代价,则控制指令中也会携带链路代价的具体值。
网管可以在控制节点上通过命令行或netconf、mib等管理接口输入控制指令,例如,假定网管在图1示出的数据中心1当中,网管选择的控制节点是Spine21,则网管可以通过Spine 21的命令行、netconf管理接口以及mib管理接口中的任意一种输入控制指令。
S204:控制节点根据控制指令生成KV TIE报文。
在控制节点接收到控制指令后,可以根据控制指令中所携带的信息生成KV TIE报文,实际上,也就是将控制指令转换成KV TIE报文。
KV TIE报文是基于RIFT(Routing in fat tree,胖树路由)协议的一种报文,RIFT协议定义的键值TIE结构为{KeyID,Value},本实施例中把KeyID作为关键字。KV TIE报文中包括:Control ID字段、Control Data Key字段以及ControlData字段。其中,Control ID字段用于指示控制项目,Control Data字段中包括控制项目的取值。所以,通常,不同的Control ID字段,会对应有不同的Control Data字段。在本实施例中,TIE结构的Value即为ControlData字段的内容,ControlData字段为变长字段,其为键值信息。
在Control Data Key字段中,包括公共键值(ControlDataCommKey)字段,公共键值字段中携带有指示目标控制对象的信息,也即公共键值字段用于指示目标控制对象是哪个设备、哪个端口等信息。在公共键值字段中,通常可以包括设备的系统标识(System ID),链路标识(Link ID)。在本实施例的其他一些示例当中,公共键值字段中还可以包括PoD字段、Level字段。通常,各KV TIE报文的Control Data Key字段中都包括有公共键值字段,在一些情况下,也允许Control Data Key字段中仅包括公共键值字段,但在另外一些情况下,Control Data Key字段中除了包括公共键值字段,还可以包括其他字段,例如方向字段、前缀字段等。
下面对Control ID字段进行介绍:
根据前面的介绍可知,Control ID字段指示的控制项目,也即本KV TIE报文是用于对哪一个或哪几个项目的值进行控制。通常,控制项目包括以下几种中的至少一种:
●“POD值”,例如,在本实施例的一种示例当中,当Control ID字段中的值为“1”的时候,RiftControlIDPoD=1,表征控制项目为POD的值,而Control Data字段中携带的值就是POD的取值。
●“是否零配置模式使能”,例如,在本实施例的一种示例当中,当Control ID字段中的值为“2”的时候,RiftControlIDZTPMode=2,表征控制项目为“是否零配置模式使能”,而Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征零配置模式使能,反之,Control Data字段携带的值为“FALSE”时,表征关闭零配置模式使能。
●“节点名称”,例如,当Control ID字段中的值为“3”的时候,RiftControlIDName=3,表征控制项目为“节点名称”,而Control Data字段中携带的值就是节点的名称,在这种情况下,Control Data字段中的值为字符串类型,例如在本实施例的一种示例当中,Control Data字段的长度为32位。
●“是否Overload(超负荷)置位”,例如,当Control ID字段中的值为“4”的时候,RiftControlIDOverload=4,表征控制项目为“是否超负荷Overload置位”,对应地,Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征进行Overload置位,反之,Control Data字段携带的值为“FALSE”时,表征不进行Overload置位。
●“是否支持叶子到叶子Leaf Indecation特性”,例如,当Control ID字段中的值为“5”的时候,RiftControlIDLeafIndecation=5,表征控制项目为“是否支持叶子到叶子特性”,对应地,Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征支持是否支持叶子到叶子特性,反之,Control Data字段携带的值为“FALSE”时,表征不支持叶子到叶子特性。
●“链路代价”,例如,当Control ID字段中的值为“6”的时候,RiftControlIDCost=6,表征控制项目为“链路代价”,而Control Data字段中携带的值就是链路代价,在这种情况下,Control Data字段中的值为WORD32类型。
●“是否BFD(转发点间故障检测)使能”,例如,当Control ID字段中的值为“7”的时候,RiftControlIDBfdEnable=7,表征控制项目为“是否BFD使能”,对应地,ControlData字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征BFD使能,反之,Control Data字段携带的值为“FALSE”时,表征关闭BFD使能。
●“是否产生默认路由”;例如,当Control ID字段中的值为“8”的时候,RiftControlIDDefaultRouteOriginate=8,表征控制项目为“是否产生默认路由”,对应地,ControlData字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征产生默认路由,反之,Control Data字段携带的值为“FALSE”时,表征不产生默认路由。
●“是否泛洪减少使能”;例如,当Control ID字段中的值为“9”的时候,RiftControlIDFloodReducing=9,表征控制项目为“是否泛洪减少使能”,对应地,ControlData字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征泛洪减少使能,反之,Control Data字段携带的值为“FALSE”时,表征关闭泛洪减少使能。
●“Community”,例如,当Control ID字段中的值为“10”的时候,RiftControlIDCommunity=10,表征控制项目为“Community”,而Control Data字段中携带的值就是Community的值。不过需要说明的是,由于在一个设备上可能会存在多个Community,因此,如果仅仅指示对设备的Community进行控制,设备在接收到KV TIE报文之后,可能不清楚Control Data字段中携带的值是针对哪一个Community的,也即设备没办法根据KV TIE报文明确目标控制对象,所以在本实施例中,当Control ID字段中携带的信息表征控制项目为Community时,在公共键值字段中还包括方向字段,该方向字段用于指示是对设备上的哪一个或哪几个Community为目标控制对象。方向字段可以为BYTE类型。
●“PGP”(Policy Guided Prefixes,策略前缀),例如,当Control ID字段中的值为“10”的时候,RiftControlIDPGP=11,表征控制项目为“PGP”,而Control Data字段中携带的值包括下一跳集合(NexthopSet)、Community集合(CommunitySet)以及代价(Cost)。在本实施例中,当Control ID字段中携带的信息表征控制项目为PGP时,在ControlDataKey字段中还包括前缀字段和方向字段。
可以理解的是,在前述介绍当中,Control ID字段中“1”、“2”…11分别表征POD值、是否零配置模式使能……PGP这11种控制项目,但毫无疑义的是,这主要是在本实施例中数据中心中的各设备已经存储了数值同对应控制项目之间的映射关系,在其他一些示例当中,映射关系也可以不同,例如,当Control ID字段中携带的是“1”时,表征控制项目为PGP,当Control ID字段中携带的是“2”时,表征控制项目为POD值等。甚至,在本实施例的一些示例当中,Control ID字段中的值可以为字符串类型,在这种情况下,甚至可以直接在Control ID字段中携带字符串来指示控制项目,而非采用数字进行指示。
在本实施例的一些示例当中,KV TIE报文中还包括TYPE(类型)字段,该TYPE字段中所携带的信息用于表征KV TIE报文是否是用于控制的报文,例如,在本实施例的一种示例当中,KV TIE报文中的TYPE字段为“WORD16TYPE”字段,则当TYPE=1时,表示该KV TIE报文为控制类型报文。当然,如果TYPE=0,则表示该KV TIE报文不是控制类型的报文。
在本实施例的一些示例当中,KV TIE报文中还包括ControlDataKeyLength(ControlDataKey长度)字段和/或ControlDataLength(ControlData长度)字段,其中,ControlDataKeyLength字段用于指示KV TIE报文中Control Data Key字段的长度,例如,在一种示例中,Length字段为“WORD16ControlDataKeyLength”字段。而ControlDataLength字段中携带的则是Control Data字段的长度。
下面给出了一种KV TIE报文的结构示例:
在本实施例中,KV TIE报文可以是KV N-TIE(Key value north TopologyInformation Element,北向键值拓扑信息元素)报文,也可以是KV S-TIE(Key valuesouth Topology Information Element,南向键值拓扑信息元素)报文。通常情况下,选择KV S-TIE报文用于实现数据中心内目标设备的管理,实现自上而下的管理机制。
S206:控制节点根据目标控制对象将KV TIE报文发送给数据中心内对应的目标设备。
控制节点在生成KV TIE报文后,可以根据该KV TIE报文的目标控制对象确定如何发送该KV TIE报文,进而使得该KV TIE报文得以被传输给目标控制对象对应的目标设备。可以理解的是,目标控制对象有可能就是设备,也有可能是设备上的某一端口或者是某一Community等。
下面结合图3对控制节点发送KV TIE报文的过程进行简单介绍:
S302:控制节点根据数据库中存储的网络拓扑关系查找本设备至目标设备的路由中的下一跳设备。
在数据库中存储有数据中心的网络拓扑结构,控制节点通过查询该网络拓扑关系可以确定出到达目标设备的路由。在确定出到目标设备的路由之后,控制节点就能够确定出到达目标设备的下一跳设备,也即为了将KV TIE报文发送目标设备,控制节点需要先将该KV TIE报文发送到某一设备,该设备即为下一跳设备。
S304:控制节点将KV TIE报文发送给下一跳设备。
在确定出下一跳设备后,控制节点可以将KV TIE报文发送给该下一跳设备,以便下一跳设备再将该KV TIE报文进行传输,直至KV TIE报文到达目标设备。
本实施例提供的设备控制方法,应用于数据中心中的控制节点上,例如应用于2层设备上,通过扩展RIFT协议的键值TIE,使得KV TIE报文支持作为控制类型的报文,进而在接收到来自网管的控制指令时,按照KV TIE报文中的字段格式等将控制指令转换成用于控制的KV TIE报文,然后将该KV TIE报文发送给目标控制对象对应的目标设备,使得目标设备可以按照对应的控制要求进行执行,从而避免在对数据中心中目标设备进行访问控制需要登录到对应的目标设备,或者专门与目标设备建立netconf连接的问题,简化了对数据中心设备的访问过程,优化了数据中心的管理方案。
实施例二:
实施例一中介绍的是能够应用在控制节点上的设备控制方法,本实施例中将对应用于数据中心内非控制节点上的设备的设备控制方法进行介绍。可以理解的是,数据中心内非控制节点的设备即为属于PoD的设备,在本实施例中,为了将这些设备与控制节点进行区分,我们将其称为PoD网络设备:
下面请参见图4示出的应用于PoD网络设备的一种设备控制方法的流程图:
S402:PoD网络设备接收来自控制节点的KV TIE报文。
PoD网络设备会接收控制节点发送的KV TIE报文,可以理解的是,这里所说的接收“来自控制节点的KV TIE报文”并不意味着PoD网络设备是直接从KV TIE报文处接收到的,只是为了说明该KV TIE报文是从控制节点处发送出来的,其可能是直接从控制节点处接收到了该KV TIE报文,也有可能是通过其他PoD网络设备的转发才接收到了该KV TIE报文。例如,对于0层设备而言,其接收到的KV TIE报文同时是直接来自于1层设备,但从本质上来说,该KV TIE报文还是由2层的控制节点发送的。
S404:PoD网络设备对KV TIE报文进行解析,确定KV TIE报文中目标控制对象所对应的目标设备。
PoD网络设备接收到KV TIE报文之后,可以对KV TIE报文进行解析。KV TIE报文中包括:Control ID字段、Control Data Key字段以及Control Data字段。其中,Control ID字段用于指示控制项目,Control Data字段中包括控制项目的取值。所以,通常,不同的Control ID字段,会对应有不同的Control Data字段。在本实施例中,TIE结构的Value即为ControlDataKey字段的内容,ControlData字段为变长字段,其为键值信息。
在Control Data Key字段中,包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息,也即公共键值字段用于指示目标控制对象是哪个设备、哪个端口等信息。在公共键值字段中,通常可以包括设备的系统标识,链路标识。在本实施例的其他一些示例当中,公共键值字段中还可以包括PoD字段、Level字段。通常,各KV TIE报文的ControlData Key字段中都包括有公共键值字段,在一些情况下,也允许Control Data Key字段中仅包括公共键值字段,但在另外一些情况下,Control Data Key字段中除了包括公共键值字段,还可以包括其他字段,例如方向字段、前缀字段等。
下面对Control ID字段进行介绍:
根据前面的介绍可知,Control ID字段指示的控制项目,也即本KV TIE报文是用于对哪一个或哪几个项目的值进行控制。通常,控制项目包括以下几种中的至少一种:
●“POD值”,例如,在本实施例的一种示例当中,当Control ID字段中的值为“1”的时候,RiftControlIDPoD=1,表征控制项目为POD的值,而Control Data字段中携带的值就是POD的取值。
●“是否零配置模式使能”,例如,在本实施例的一种示例当中,当Control ID字段中的值为“2”的时候,RiftControlIDZTPMode=2,表征控制项目为“是否零配置模式使能”,而Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征零配置模式使能,反之,Control Data字段携带的值为“FALSE”时,表征关闭零配置模式使能。
●“节点名称”,例如,当Control ID字段中的值为“3”的时候,RiftControlIDName=3,表征控制项目为“节点名称”,而Control Data字段中携带的值就是节点的名称,在这种情况下,Control Data字段中的值为字符串类型,例如在本实施例的一种示例当中,Control Data字段的长度为32位。
●“是否Overload置位”,例如,当Control ID字段中的值为“4”的时候,RiftControlIDOverload=4,表征控制项目为“是否超负荷Overload置位”,对应地,Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征进行Overload置位,反之,Control Data字段携带的值为“FALSE”时,表征不进行Overload置位。
●“是否支持叶子到叶子Leaf Indecation特性”,例如,当Control ID字段中的值为“5”的时候,RiftControlIDLeafIndecation=5,表征控制项目为“是否支持叶子到叶子特性”,对应地,Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征支持是否支持叶子到叶子特性,反之,Control Data字段携带的值为“FALSE”时,表征不支持叶子到叶子特性。
●“链路代价”,例如,当Control ID字段中的值为“6”的时候,RiftControlIDCost=6,表征控制项目为“链路代价”,而Control Data字段中携带的值就是链路代价,在这种情况下,Control Data字段中的值为WORD32类型。
●“是否BFD使能”,例如,当Control ID字段中的值为“7”的时候,RiftControlIDBfdEnable=7,表征控制项目为“是否BFD使能”,对应地,Control Data字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征BFD使能,反之,Control Data字段携带的值为“FALSE”时,表征关闭BFD使能。
●“是否产生默认路由”;例如,当Control ID字段中的值为“8”的时候,RiftControlIDDefaultRouteOriginate=8,表征控制项目为“是否产生默认路由”,对应地,ControlData字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征产生默认路由,反之,Control Data字段携带的值为“FALSE”时,表征不产生默认路由。
●“是否泛洪减少使能”;例如,当Control ID字段中的值为“9”的时候,RiftControlIDFloodReducing=9,表征控制项目为“是否泛洪减少使能”,对应地,ControlData字段中携带的值为布尔类型,当Control Data字段携带的值为“TRUE”时,表征泛洪减少使能,反之,Control Data字段携带的值为“FALSE”时,表征关闭泛洪减少使能。
●“Community”,例如,当Control ID字段中的值为“10”的时候,RiftControlIDCommunity=10,表征控制项目为“Community”,而Control Data字段中携带的值就是Community的值。不过需要说明的是,由于在一个设备上可能会存在多个Community,因此,如果仅仅指示对设备的Community进行控制,设备在接收到KV TIE报文之后,可能不清楚Control Data字段中携带的值是针对哪一个Community的,也即设备没办法根据KV TIE报文明确目标控制对象,所以在本实施例中,当Control ID字段中携带的信息表征控制项目为Community时,在公共键值字段中还包括方向字段,该方向字段用于指示是对设备上的哪一个或哪几个Community为目标控制对象。方向字段可以为BYTE类型。
●“PGP”,例如,当Control ID字段中的值为“10”的时候,RiftControlIDPGP=11,表征控制项目为“PGP”,而Control Data字段中携带的值包括下一跳集合、Community集合以及代价。在本实施例中,当Control ID字段中携带的信息表征控制项目为PGP时,在ControlDataKey字段中还包括前缀字段和方向字段。
可以理解的是,在前述介绍当中,Control ID字段中“1”、“2”…11分别表征POD值、是否零配置模式使能……PGP这11种控制项目,但毫无疑义的是,这主要是在本实施例中数据中心中的各设备已经存储了数值同对应控制项目之间的映射关系,在其他一些示例当中,映射关系也可以不同,例如,当Control ID字段中携带的是“1”时,表征控制项目为PGP,当Control ID字段中携带的是“2”时,表征控制项目为POD值等。甚至,在本实施例的一些示例当中,Control ID字段中的值可以为字符串类型,在这种情况下,甚至可以直接在Control ID字段中携带字符串来指示控制项目,而非采用数字进行指示。
在本实施例的一些示例当中,KV TIE报文中还包括TYPE字段,该TYPE字段中所携带的信息用于表征KV TIE报文是否是用于控制的报文,例如,在本实施例的一种示例当中,KV TIE报文中的TYPE字段为“WORD16TYPE”字段,则当TYPE=1时,表示该KV TIE报文为控制类型报文。当然,如果TYPE=0,则表示该KV TIE报文不是控制类型的报文。
在本实施例的一些示例当中,KV TIE报文中还包括ControlDataKeyLength字段和/或ControlDataLength字段,其中,ControlDataKeyLength字段用于指示KV TIE报文中Control Data Key字段的长度,例如,在一种示例中,Length字段为“WORD16ControlDataKeyLength”字段。而ControlDataLength字段中携带的则是ControlData字段的长度。
在本实施例中,KV TIE报文可以是KV S-TIE报文,也可以是KV N-TIE报文。通常情况下,选择KV S-TIE报文用于实现数据中心内目标设备的管理,实现自上而下的管理机制。
在本实施例的一些示例当中,PoD网络设备可以先解析KV TIE报文的公共键值字段。然后根据公共键值字段中的确定该KV TIE报文对应的目标设备是否包括本设备。如果确定KV TIE报文对应的目标设备并不包括本设备,则PoD网络设备可以停止对该KV TIE报文做进一步解析。可选地,PoD网络设备可以确定KV TIE报文的公共键值字段中所携带的SystemID是否是本设备的系统标识,若否,则说明该KV TIE报文并非是发送给本设备的,因此,该PoD网络设备可以停止对KV TIE报文的解析。
当然,可以理解的是,这种确定KV TIE报文是否是发送给本设备的做法,或者说这种确定KV TIE报文对应的目标设备是否包括本设备的做法是基于控制节点在生成KV TIE报文时,必定在公共键值字段中明确携带所有目标设备系统标识的。这在KV TIE报文所对应的目标设备数目较少的情况下是完全可行的,但事实上,有一些KV TIE报文所对应的目标设备可能是一个或几个PoD中的全部设备,甚至有可能是数据中心中全部的1层设备和0层设备,则KV TIE报文所对应的目标设备数目庞大,如果在这种情况下依然要求在公共键值字段中携带全部目标设备的SystemID,这显然是不现实的。所以,在本实施例的一些示例当中,KV TIE报文可以是通配报文,例如,某一KV TIE报文是针对某一PoD内全部设备的通配报文,则在公共键值字段中,可以仅指定有效的PoD值,在SystemID和LinkID中均填为“0”,这样,当该PoD内的某一网络设备接收到该KV TIE报文后,可以确定该KV TIE报文是针对本PoD的报文,也即该KV TIE报文所对应的目标设备包括本设备。
所以,在本实施例的一些示例当中,尽管KV TIE报文中的公共键值字段中并未携带PoD网络设备的SystemID,但该PoD网络设备依然可以确定该KV TIE报文所对应的目标设备包括本设备。
S406:若目标设备包括本设备,则PoD网络设备按照KV TIE报文的指示对本设备的控制项目进行控制。
在本实施例中,若PoD网络设备确定所接收到的KV TIE报文的目标设备包括本设备,则PoD网络设备可以按照KV TIE报文的指示对本设备的控制项目进行控制。例如,根据KV TIE报文的指示控制BFD使能,设置链路代价等。
需要说明的是,当KV TIE报文对应的控制项目为链路代价或BFD使能时,KV TIE报文的公共键值字段中需要指定链路标识,即LinkID。但有时当KV TIE报文对应的控制项目为链路代价或BFD使能时,公共键值字段中也并未指定链路标识,在这种情况下,接收到该KV TIE报文的PoD网络设备可以按照如下三种方式中的任意一种进行处理:
方式一:直接丢弃该KV TIE报文;
方式二:本设备不对其进行处理,直接对该设备进行泛洪处理;
方式三:假定该KV TIE报文的目标设备就是本设备,即按照该KV TIE报文的指示对本设备的链路代价或BFD使能进行控制。
可以理解的是,该KV TIE报文的目标设备可能包括本设备以外的第三设备:例如,该KV TIE报文所对应的目标设备本来就不包括本设备,而是包括除本设备以外的其他某一设备(即第三设备),则在这种情况下,PoD网络设备需要将该KV TIE报文发送给第三设备。
又例如,KV TIE报文的目标设备包括本PoD网络设备,但与此同时,其目标设备还包括第三设备,如KV TIE报文为通配报文,则PoD网络设备也需要将该KV TIE报文向第三设备发送。
在本实施例中,PoD网络设备在想第三设备发送KV TIE报文时,采用泛洪的形式进行发送。
本实施例提供的设备控制方法,可以应用于数据中心中除控制节点以外的其他PoD网络设备。在接收到KV TIE报文候,通过解析,根据KV TIE报文中公共键值字段所携带的信息确定本设备是否是该KV TIE报文的目标设备,在是的情况下,PoD网络设备可以按照KV TIE报文的指示进行执行,从而实现网管对本设备的控制。在确定该KV TIE报文的目标设备还包括其他设备的情况下,PoD网络设备还可以通过泛洪等形式将该KV TIE报文发送给对应的设备,以便完成网管对对应设备的访问控制,避免了要求网管登录到其需要访问控制的设备上,也不必要求管理服务器与对应的设备建立netconf连接,提升了对数据中心设备进行访问控制的灵活度和方便程度,降低了网管的负担。
实施例三:
为了使本领域技术人员更清楚前述实施例中所提供设备控制方法的优点与细节,本实施例将结合具体示例继续对设备控制方法控制节点侧和PoD网络设备侧的过程进行介绍:
下面以KV TIE报文为KV S-TIE报文为例进行说明:在本实施例中,数据中心中个设备预定扩展RIFT协议键值TIE,使得KV S-TIE报文支持控制。RIFT定义的键值TIE结构为{KeyID,Value},本例中把KeyID作为关键字,定义KV S-TIE报文包含如下字段:
在ControlDataKey字段中,还定义了一个ControlDataCommKey字段,ControlDataCommKey字段中包含:WORD64SystemID字段和WORD16LinkID字段。通常,每个ControlDataKey字段都包含ControlDataCommKey字段,同时允许ControlDataKey字段中只有ControlDataCommKey字段。
下面对ControlID的类型进行介绍,也即对控制项目进行介绍:
◆RiftControlIDPoD=1,ControlData字段中携带的值即为WORD16Pod值;
◆RiftControlIDZTPMode=2,ControlData字段对应的值为布尔类型,TRUE表示零配置模式使能;
◆RiftControlIDName=3,ControlData字段对应值为字符串类型,长度32,表示节点的名称;
◆RiftControlIDOverload=4,ControlData字段对应值为布尔类型,TRUE表示Overload置位;
◆RiftControlIDLeafIndecation=5,ControlData字段对应值为布尔类型,TRUE表示支持叶子到叶子特性;
◆RiftControlIDCost=6,ControlData字段对应WORD32类型值,表示链路代价;
◆RiftControlIDBfdEnable=7,ControlData字段的值为布尔类型,TRUE表示BFD使能;
◆RiftControlIDDefaultRouteOriginate=8,ControlData字段对应值为布尔类型,TRUE表示产生默认路由;
◆RiftControlIDFloodReducing=9,ControlData字段对应值为布尔类型,TRUE表示泛洪减少使能;
◆RiftControlIDCommunity=10,ControlData字段中携带的值为Community结构体,包含一个或多个Community值;值得注意的是,在这种情况下,ControlDataCommKey字段中还包含BYTE类型的方向字段,
◆RiftControlIDPGP=11,ControlData字段中携带的值为下一跳集合、Community集合以及代价Cost;在这种情况下,ControlDataCommKey字段中还包含前缀字段和方向字段。
下面以控制项目为PGP前缀为例对支持控制类型的KV S-TIE报文的结构进行说明:
下面对结合不同控制情景对设备控制过程进行介绍,请继续结合图1示出的数据中心的示意图:
示例1——目标设备唯一,并且为控制节点的邻居节点:
假定数据中心1中的控制节点为Spine21,而目标设备为Spine21的邻居节点Node111。
网管可以在Spine21上通过命令行或netconf或mib等管理接口输入控制指令,控制指令包含的内容应当能够指示前面介绍的KV S-TIE报文中扩展的各字段的内容。
Spine21将接收到的控制指令转化KV S-TIE报文,由于该KV S-TIE报文的目标设备为Node111,因此,在KV S-TIE报文的公共键值字段中应该携带有Node111的SystemID。
图5示出的是KV S-TIE报文的一种示意图:
KV S-TIE报文50包括类型字段(WORD16TYPE)51、控制标识(WORD16ControlID)字段52、长度(WORD16ControlDataKeyLength)字段53以及控制数据关键字(ControlDataKey)字段54以及ControlData字段55,其中控制数据字段关键字54中包括公共键值(ControlDataCommKey)字段541。在示例1当中,公共键值字段541中携带有Node111的SystemID。
在Spine21构造好KV S-TIE报文后,其可以确定该KV S-TIE报文的目标设备就是自己的邻居,因此,其可以直接把构造好的KV S-TIE报文发往Node111。
Node111收到KV S-TIE报文后,通过解析发现该KV S-TIE报文为控制类型的报文,且公共键值字段里携带的是本设备的SystemID,所以,可以确定该KV S-TIE报文就是用于对本设备的参数进行控制的,因此可以继续解析获取ControlID字段中携带的值,确定该KVS-TIE报文需要控制的项目,再进一步获取ControlData字段中的内容,确定控制项目的取值,然后,Node111按照KV S-TIE报文所指示的控制项目的取值对对应的控制项目进行调整。
示例2——目标设备唯一,并且为控制节点的非邻居节点:
假定数据中心1中的控制节点为Spine21,而目标设备为Spine21的邻居节点Node111。
网管可以在Spine21上通过命令行或netconf或mib等管理接口输入控制指令,控制指令包含的内容应当能够指示前面介绍的KV S-TIE报文中扩展的各字段的内容。
Spine21将接收到的控制指令转化KV S-TIE报文,由于该KV S-TIE报文的目标设备为Node111,因此,在KV S-TIE报文的公共键值字段中应该携带有Node111的SystemID。通常,公共键值字段中SystemID字段的值必须为有效值,且为Spine21数据库中存在的节点,否则Spine21不能产生KV S-TIE报文。
在Spine21构造好KV S-TIE报文后,其可以将该KV S-TIE报文发送给对应地目标设备,假定示例2中SystemID字段中携带的是Leaf 011的SystemID,Leaf 011是Spine21的非邻居节点,Spine21不能直接将KV S-TIE报文发送给Leaf 011,因此,其可以先将该KV S-TIE报文发送给邻居Node111,然后由Node111将该KV S-TIE报文发送给Leaf 011。可以理解的是,在其他示例当中,Spine21向非邻居节点Leaf 011发送KV S-TIE报文时,选择的路由也可以是:Spine21-Node112-Leaf 011。
Node111收到KV S-TIE报文后,通过发现该KV S-TIE报文为控制类型的报文,但公共键值字段里携带的并非是本设备的SystemID,而是自己的邻居Leaf011的SystemID,则Node111不再对KV S-TIE报文继续解析,而是直接将该KV S-TIE报文向Leaf 011泛洪。
Leaf 011收到KV S-TIE报文后,通过解析发现该KV S-TIE报文为控制类型的报文,且公共键值字段里携带的是本设备的SystemID,所以,可以确定该KV S-TIE报文就是用于对本设备的参数进行控制的,因此可以继续解析获取ControlID字段中携带的值,确定该KV S-TIE报文需要控制的项目,再进一步获取ControlData字段中的内容,确定控制项目的取值,然后,Leaf 011按照KV S-TIE报文所指示的控制项目的取值对对应的控制项目进行调整。
示例3——目标设备不唯一,而是指定PoD中的全部设备:
假定数据中心1中的控制节点为Spine21,而目标设备为Spine21的邻居节点Node111。
网管可以在Spine21上通过命令行或netconf或mib等管理接口输入控制指令,控制指令包含的内容应当能够指示前面介绍的KV S-TIE报文中扩展的各字段的内容。
Spine21将接收到的控制指令转化KV S-TIE报文,在本实施例中,KV S-TIE报文的公共键值字段中不仅包括系统标识字段、链路标识字段,如图6所示:公共键值字段60包括系统标识字段61、链路标识字段62以及PoD标识字段63。例如,PoD标识字段63可以为WORD16PoD字段。可以理解的是,在公共键值字段60中也还可以包括Level字段。当然,在一些情景中,公共键值字段中可以包括Level字段,但不包括PoD标识字段。
假定“指定PoD”为图1中的PoD1,则在生成KV S-TIE报文时,Spine21可以在ControlDataCommKey字段中的SystemID字段、LinkID字段填为“0”,在PoD标识字段中填“1”。
在Spine21构造好KV S-TIE报文后,其可以将该KV S-TIE报文发送给对应地目标设备,由于KV S-TIE报文的目标设备是PoD1中的全部设备,因此,Spine21通过查找数据库中网络拓扑关系可以确定为了将KV S-TIE报文发送到Pod1中,可以将该KV S-TIE报文发送给自己的邻居节点Node111和Node112。
Node111和Node112收到KV S-TIE报文后,通过发现该KV S-TIE报文为控制类型的报文,且报文为通配报文,因此按照该KV S-TIE报文的指示在本节点内执行。同时,Node111和Node112还会继续对该KV S-TIE报文向Leaf 011和Leaf 012泛洪,从而保证PoD1中的全部设备都接收到该报文。
Leaf 011和Leaf 012收到KV S-TIE报文后,通过解析发现该KV S-TIE报文为控制类型的报文,且报文为通配报文,因此该KV S-TIE报文的目标设备包括本设备,所以,Leaf011和Leaf 012也会按照该KV S-TIE报文的指示在本节点内执行。
示例4——目标设备不唯一,而是全数据中心网络中的设备:
继续假定数据中心1中的控制节点为Spine21,而目标设备为Spine21的邻居节点Node111。
网管可以在Spine21上通过命令行或netconf或mib等管理接口输入控制指令,控制指令包含的内容应当能够指示前面介绍的KV S-TIE报文中扩展的各字段的内容。
Spine21将接收到的控制指令转化KV S-TIE报文,在本实施例中,KV S-TIE报文的公共键值字段中也同样如图6所示,包括PoD标识字段。由于本实施例中KV S-TIE报文的目标设备是全数据中心网络的设备,因此,Spine21在生成KV S-TIE报文时,可以在ControlDataCommKey字段的PoD标识字段、SystemID字段以及LinkID字段中均填“0”。
在Spine21构造好KV S-TIE报文后,其可以确定自己要将KV S-TIE报文直接发送给哪些设备。因为目标设备是全数据中心网络中的设备,所以Spine21可以将该KV S-TIE报文发送给自己的所有邻居节点,即Node111、Node112、Node121以及Node122。
Node111、Node112、Node121以及Node122收到后,通过发现该KV S-TIE报文为控制类型的报文,且报文为通配报文,因此按照该KV S-TIE报文的指示在本节点内执行。同时,Node111和Node112还会继续对该KV S-TIE报文向Leaf 011和Leaf 012、Leaf 021、Leaf022泛洪,从而保证数据中心中除控制节点以外的全部设备都接收到该报文。
Leaf 011、Leaf 012、Leaf 021以及Leaf 022收到KV S-TIE报文后,通过解析发现该KV S-TIE报文为控制类型的报文,且报文为通配报文,因此该KV S-TIE报文的目标设备包括本设备,所以,这四个设备也会按照该KV S-TIE报文的指示在本节点内执行。
实施例四:
本实施例提供一种设备控制装置,请参见图7示出的该设备控制装置70的一种结构示意图:
设备控制装置70包括指令接收模块702、报文生成模块704以及报文发送模块706,其中指令接收模块702用于接收控制指令;报文生成模块704用于根据控制指令生成KV TIE报文;报文发送模块706用于根据目标控制对象将KV TIE报文发送给数据中心内对应的目标设备。
这里所说的KV TIE报文中包括Control ID字段、Control Data Key字段以及Control Data字段,Control ID字段用于指示控制项目,Control Data字段中包括控制项目的取值;Control Data Key字段中包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息。
可以理解的是,该设备控制装置70可以部署在控制节点侧,实现控制节点侧的设备控制方法流程,其中指令接收模块702的功能可以通过控制节点的输入单元实现,也可以通过通信单元实现。例如,在本实施例的一种示例当中,网管可以通过键盘向控制节点输入控制指令,在本实施例的另外一些示例当中,网管可能是在其他设备向输入控制指令,由其他设备将控制指令发送给控制节点。报文生成模块704的功能则可以通过控制节点的处理器实现,处理器根据控制指令生成KV TIE报文。报文发送模块706的功能则可以通过控制节点的通信装置实现,可以理解的是,控制节点的通信装置可以采用有线或无线的方式将该KV TIE报文发送给数据中心内对应的目标设备。
设备控制装置70实现控制节点侧设备控制方法的细节可以参见前述实施例(例如实施例一、实施例三)的介绍,这里不再赘述。
本实施例还提供另一种设备控制装置,和图7中示出的设备控制装置70不同的是,该设备控制装置部署于数据中心中的PoD网络设备上,其可以同图7中示出的设备控制装置70相互配合,请参见图8示出的该设备控制装置80的一种结构示意图:
该设备控制装置80包括:报文接收模块802、报文解析模块804以及设备控制模块806,其中,报文接收模块802用于接收来自控制节点的KV TIE报文,报文解析模块804用于对KV TIE报文进行解析,确定KV TIE报文中目标控制对象所对应的目标设备;设备控制模块806用于若目标设备包括本设备,则按照KV TIE报文的指示对本设备的控制项目进行控制。
这里所说的KV TIE报文中包括Control ID字段、Control Data Key字段以及Control Data字段,Control ID字段用于指示控制项目,Control Data字段中包括控制项目的取值;Control Data Key字段中包括公共键值字段,公共键值字段中携带有指示目标控制对象的信息。
可以理解的是,该设备控制装置80部署在控制节点侧,因此可以实现PoD网络设备侧的设备控制方法流程,其中报文接收模块802的功能可以通过PoD网络设备的通信装置实现。而报文解析模块804对KV TIE报文进行解析,确定KV TIE报文中目标控制对象所对应的目标设备的功能,以及设备控制模块806的功能则可以通过PoD网络设备的处理器实现。
针对可以部署在PoD网络设备上的设备控制装置,本实施例提供另一种实施方式,请参见图9:
设备控制装置80除了包括报文接收模块802、报文解析模块804以及设备控制模块806意外,还包括报文泛洪模块808,报文泛洪模块808用于在目标设备包括第三设备时,将该KV TIE报文向第三设备进行泛洪。可以理解的是,当将设备控制装置80部署在PoD网络设备上时,报文泛洪模块808的功能也可以通过PoD网络设备的通信装置实现。通信装置可以采用有线或无线的方式将该KV TIE报文泛洪给第三设备。
设备控制装置80实现控制节点侧设备控制方法的细节可以参见前述实施例(例如实施例二以及实施例三)的介绍,这里不再赘述。
本实施例提供的设备控制装置70可以应用于数据中心中的控制节点上,例如应用于2层设备上;而设备控制装置80则可以应用于数据中心中的PoD网络设备上,通过扩展RIFT协议的键值TIE,使得KV TIE报文支持作为控制类型的报文,进而在接收到来自网管的控制指令时,按照KV TIE报文中的字段格式等将控制指令转换成用于控制的KV TIE报文,然后将该KV TIE报文发送给目标控制对象对应的目标设备,使得目标设备可以按照对应的控制要求进行执行,从而避免在对数据中心中目标设备进行访问控制需要登录到对应的目标设备,或者专门与目标设备建立netconf连接的问题,简化了对数据中心设备的访问过程,优化了数据中心的管理方案。
实施例五:
本实施例提供一种存储介质,该存储介质中可以存储有一个或多个可供一个或多个处理器读取、编译并执行的计算机程序,在本实施例中,该存储介质可以存储有第一设备控制程序和第二设备控制程序中的一个,其中,第一设备控制程序可供一个或多个处理器执行实现前述实施例中介绍的任意一种设备控制方法的控制节点侧的流程。第二设备控制程序可供一个或多个处理器执行实现前述实施例中介绍的任意一种设备控制方法PoD网络设备侧的流程。
本实施例中还提供一种控制节点,如图10所示:控制节点100包括第一处理器101、第一存储器102以及用于连接第一处理器101与第一存储器102的第一通信总线103,其中第一存储器102可以为前述存储有第一设备控制程序的存储介质。处理器101可以读取第一设备控制程序,进行编译并执行实现前述实施例中介绍的设备控制方法的控制节点侧的流程。该控制节点100可以是数据中心中的2层设备,控制节点100实现设备控制方法的细节可以参见前述实施例的介绍,这里不再赘述。
本实施例中还提供一种网络设备,如图11所示:网络设备110包括第二处理器111、第二存储器112以及用于连接第二处理器111与第二存储器112的第二通信总线113,其中第二存储器112可以为前述存储有第二设备控制程序的存储介质。处理器111可以读取第二设备控制程序,进行编译并执行实现前述实施例中介绍的设备控制方法的PoD网络设备侧的流程。该网络设备110可以是数据中心中的1层设备或0层设备,网络设备110实现设备控制方法的细节可以参见前述实施例的介绍,这里不再赘述。
除此以外,本实施例还提供一种数据中心,请参见图12,该数据中心12包括至少一个控制节点100和至少一个网络设备110,当然,在通常的数据中心中,一般会包括多个网络设备。
本申请中,各个实施例中的技术特征,在不冲突的情况下,可以组合在一个实施例中使用。
显然,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM,ROM,EEPROM、闪存或其他存储器技术、CD-ROM,数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (26)
1.一种设备控制方法,包括:
接收控制指令;
根据所述控制指令生成键值拓扑信息元素KV TIE报文,所述KV TIE报文中包括控制标识Control ID字段、控制数据关键字ControlDataKey字段以及控制数据ControlData字段,所述Control ID字段用于指示控制项目,所述ControlData字段中包括所述控制项目的取值;所述ControlDataKey字段中包括公共键值字段,所述公共键值字段中携带有指示目标控制对象的信息;
根据所述目标控制对象将所述KV TIE报文发送给数据中心内对应的目标设备。
2.如权利要求1所述的设备控制方法,其特征在于,所述KV TIE报文中还包括类型TYPE字段,所述TYPE字段中携带的信息能够表征所述KV TIE报文是否为用于控制的报文。
3.如权利要求1所述的设备控制方法,其特征在于,所述KV TIE报文中还包括ControlDataKeyLength字段和ControlDataLength字段中的至少一个,所述ControlDataKeyLength字段用于指示所述ControlDataKey字段的长度,所述ControlDataLength字段用于指示所述ControlData字段的长度。
4.如权利要求1所述的设备控制方法,其特征在于,所述KV TIE报文包括南向键值拓扑信息元素KV S-TIE报文。
5.如权利要求1所述的设备控制方法,其特征在于,所述公共键值字段中包括用于指示目标控制对象所对应目标设备的系统标识,以及所述目标设备的链路标识。
6.如权利要求5所述的设备控制方法,其特征在于,所述公共键值字段中还包括用于指示目标控制对象所属交货点PoD的PoD标识和/或Level值。
7.如权利要求1所述的设备控制方法,其特征在于,所述根据所述目标控制对象将所述KV TIE报文发送给数据中心内对应的目标设备包括:
根据数据库中存储的网络拓扑关系查找本设备至所述目标设备的路由中的下一跳设备;
将所述KV TIE报文发送给所述下一跳设备,所述下一跳设备用于将所述KV TIE报文传输给所述目标设备。
8.如权利要求1-7任一项所述的设备控制方法,其特征在于,所述控制项目包括以下几种中的至少一种:POD值、是否零配置模式ZTPMode使能、节点名称、是否超负荷Overload置位、是否支持叶子到叶子LeafIndecation特性、链路代价、是否转发点间故障检测BFD使能、是否产生默认路由、是否泛洪减少使能、Community、PGP策略前缀。
9.如权利要求8所述的设备控制方法,其特征在于,若所述控制项目包括Community,则所述公共键值字段中包括方向字段,所述ControlData字段中包括设备至少一个Community的值。
10.如权利要求9所述的设备控制方法,其特征在于,所述ControlData字段的值为Community结构体。
11.如权利要求8所述的设备控制方法,其特征在于,若所述控制项目包括PGP,则所述ControlDataKey字段中还包括前缀字段和方向字段,所述ControlData字段中包括下一跳集合NexthopSet、CommunitySet集合以及代价Cost。
12.一种设备控制方法,包括:
接收来自控制节点的KV TIE报文,所述KV TIE报文中包括Control ID字段、ControlDataKey字段以及ControlData字段,所述Control ID字段用于指示控制项目,所述ControlData字段中包括所述控制项目的取值;所述ControlDataKey字段包括公共键值字段,所述公共键值字段中携带有指示目标控制对象的信息;
对所述KV TIE报文进行解析,确定所述KV TIE报文中目标控制对象所对应的目标设备;
若所述目标设备包括本设备,则按照所述KV TIE报文的指示对本设备的所述控制项目进行控制。
13.如权利要求12所述的设备控制方法,其特征在于,还包括:
若所述目标设备包括第三设备,则将所述KV TIE报文向所述第三设备进行泛洪,所述第三设备为数据中心中除本设备以外的其他至少一个设备。
14.如权利要求12所述的设备控制方法,其特征在于,所述KV TIE报文中还包括TYPE字段,所述TYPE字段中携带的信息能够表征所述KV TIE报文是否为用于控制的报文。
15.如权利要求12所述的设备控制方法,其特征在于,所述KV TIE报文包括KV S-TIE报文。
16.如权利要求12所述的设备控制方法,其特征在于,所述公共键值字段中包括用于指示目标控制对象所在设备的系统标识,以及所述设备的链路标识。
17.如权利要求16所述的设备控制方法,其特征在于,若所述KV TIE报文中包括本设备的系统标识,或所述KV TIE报文为通配报文,则确定所述目标设备包括本设备。
18.如权利要求12-17任一项所述的设备控制方法,其特征在于,所述控制项目包括以下几种中的至少一种:POD值、是否ZTPMode使能、节点名称、是否Overload置位、是否支持叶子到叶子特性、链路代价、是否BFD使能、是否产生默认路由、是否泛洪减少使能、Community、PGP。
19.如权利要求18所述的设备控制方法,其特征在于,若所述控制项目包括Community,则所述公共键值字段中包括方向字段,所述ControlData字段中包括设备至少一个Community的值。
20.如权利要求18所述的设备控制方法,其特征在于,若所述控制项目包括PGP代价,则所述ControlDataKey字段中包括前缀字段和方向字段,所述ControlData字段中还包括NexthopSet、CommunitySet集合以及Cost。
21.一种设备控制装置(70),包括:
指令接收模块(702),用于接收控制指令;
报文生成模块(704),用于根据所述控制指令生成KV TIE报文,所述KV TIE报文中包括Control ID字段、Control Data Key字段以及ControlData字段,所述Control ID字段用于指示控制项目,所述Control Data字段中包括所述控制项目的取值;所述ControlDataKey字段包括公共键值字段,所述公共键值字段中携带有指示目标控制对象的信息;
报文发送模块(706),用于根据所述目标控制对象将所述KV TIE报文发送给数据中心内对应的目标设备。
22.一种设备控制装置(80),包括:
报文接收模块(802),用于接收来自控制节点的KV TIE报文,所述KV TIE报文中包括Control ID字段、ControlDataKey字段以及ControlData字段,所述Control ID字段用于指示控制项目,所述ControlData字段中包括所述控制项目的取值;所述ControlDataKey字段包括公共键值字段,所述公共键值字段中携带有指示目标控制对象的信息;
报文解析模块(804),用于对所述KV TIE报文进行解析,确定所述KV TIE报文中目标控制对象所对应的目标设备;
设备控制模块(806),用于若所述目标设备包括本设备,则按照所述KV TIE报文的指示对本设备的所述控制项目进行控制。
23.一种控制节点(100),所述控制节点(100)包括第一处理器(101)、第一存储器(102)及第一通信总线(103);
所述第一通信总线(103)用于实现所述第一处理器(101)和所述第一存储器(102)之间的连接通信;
所述第一处理器(101)用于执行所述第一存储器(102)中存储的一个或者多个程序,以实现如权利要求1至11中任一项所述的设备控制方法的步骤。
24.如权利要求23所述的控制节点(100),其特征在于,所述控制节点(102)为数据中心内的2层设备。
25.一种网络设备(110),所述网络设备(110)包括第二处理器(111)、第二存储器(112)及第二通信总线(113);
所述第二通信总线(113)用于实现所述第二处理器(111)和所述第二存储器(112)之间的连接通信;
所述第二处理器(111)用于执行所述第二存储器(112)中存储的一个或者多个程序,以实现如权利要求12至20中任一项所述的设备控制方法的步骤。
26.一种数据中心(12),其特征在于,包括至少一个如权利要求23或24所述的控制节点(100)和至少一个如权利要求25所述的网络设备(110)。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534985.0A CN111327571A (zh) | 2018-12-14 | 2018-12-14 | 设备控制方法、装置、控制节点、网络设备、数据中心 |
EP19895791.2A EP3873035A4 (en) | 2019-12-16 | Device control method and apparatus, control node, network device, and data center | |
PCT/CN2019/125742 WO2020119824A1 (zh) | 2018-12-14 | 2019-12-16 | 设备控制方法、装置、控制节点、网络设备、数据中心 |
US17/321,379 US20210274023A1 (en) | 2018-12-14 | 2021-05-14 | Apparatus control method, device, control node, network apparatus and data center |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534985.0A CN111327571A (zh) | 2018-12-14 | 2018-12-14 | 设备控制方法、装置、控制节点、网络设备、数据中心 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111327571A true CN111327571A (zh) | 2020-06-23 |
Family
ID=71076263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534985.0A Withdrawn CN111327571A (zh) | 2018-12-14 | 2018-12-14 | 设备控制方法、装置、控制节点、网络设备、数据中心 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210274023A1 (zh) |
CN (1) | CN111327571A (zh) |
WO (1) | WO2020119824A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708955A (zh) * | 2021-07-29 | 2021-11-26 | 杭州迪普科技股份有限公司 | 设备配置方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120039161A1 (en) * | 2010-08-16 | 2012-02-16 | Allan David I | Automated traffic engineering for fat tree networks |
CN105785858A (zh) * | 2016-03-02 | 2016-07-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种控制方法、装置以及终端 |
CN106254265A (zh) * | 2015-06-10 | 2016-12-21 | 华为技术有限公司 | 处理报文的方法、装置和系统 |
CN108429686A (zh) * | 2018-01-25 | 2018-08-21 | 北京交通大学 | 一种基于规则拓扑结构网络的路由方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007128604A (ja) * | 2005-11-04 | 2007-05-24 | Kenwood Corp | 再生装置および再生装置制御方法 |
JP2014142823A (ja) * | 2013-01-24 | 2014-08-07 | Azbil Corp | データ作成装置および方法 |
-
2018
- 2018-12-14 CN CN201811534985.0A patent/CN111327571A/zh not_active Withdrawn
-
2019
- 2019-12-16 WO PCT/CN2019/125742 patent/WO2020119824A1/zh unknown
-
2021
- 2021-05-14 US US17/321,379 patent/US20210274023A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120039161A1 (en) * | 2010-08-16 | 2012-02-16 | Allan David I | Automated traffic engineering for fat tree networks |
CN106254265A (zh) * | 2015-06-10 | 2016-12-21 | 华为技术有限公司 | 处理报文的方法、装置和系统 |
CN105785858A (zh) * | 2016-03-02 | 2016-07-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种控制方法、装置以及终端 |
CN108429686A (zh) * | 2018-01-25 | 2018-08-21 | 北京交通大学 | 一种基于规则拓扑结构网络的路由方法 |
Non-Patent Citations (1)
Title |
---|
T. PRZYGIENDA等: "RIFT: Routing in Fat Treesdraft-ietf-rift-rift-00", 《IETF 》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708955A (zh) * | 2021-07-29 | 2021-11-26 | 杭州迪普科技股份有限公司 | 设备配置方法、装置及系统 |
CN113708955B (zh) * | 2021-07-29 | 2023-12-05 | 杭州迪普科技股份有限公司 | 设备配置方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020119824A1 (zh) | 2020-06-18 |
US20210274023A1 (en) | 2021-09-02 |
EP3873035A1 (en) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10200279B1 (en) | Tracer of traffic trajectories in data center networks | |
EP3474502A1 (en) | Reduced configuration for multi-stage network fabrics | |
CN104704779A (zh) | 用于加速软件定义网络中的转发的方法和设备 | |
US11909744B2 (en) | Network verification method and apparatus | |
US10819659B2 (en) | Direct replying actions in SDN switches | |
CN103997414A (zh) | 生成配置信息的方法和网络控制单元 | |
CN101971563A (zh) | 在mpls网络中提供全逻辑连接的方法和装置 | |
CN108540328B (zh) | Ason的控制平面建模方法和装置 | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN111614505B (zh) | 报文处理的方法和网关设备 | |
CN113347059B (zh) | 基于固定探针位置的带内网络遥测最优探测路径规划方法 | |
US10764214B1 (en) | Error source identification in cut-through networks | |
CN113973026B (zh) | 一种站点互连方法、中央控制器和路由反射器 | |
US20240048479A1 (en) | Packet Forwarding Method and Apparatus, Network Device, and Storage Medium | |
CN105207909A (zh) | 一种发送信息的方法和网络装置 | |
CN105763463B (zh) | 一种链路探测报文的传输方法和装置 | |
WO2020010906A1 (zh) | 操作系统os批量安装方法、装置和网络设备 | |
CN105637806A (zh) | 网络拓扑确定方法和装置、集中式网络状态信息存储设备 | |
US10419282B1 (en) | Self-configuring network devices | |
US20210274023A1 (en) | Apparatus control method, device, control node, network apparatus and data center | |
US11343153B2 (en) | BGP logical topology generation method, and device | |
CN110830598B (zh) | Bgp会话建立、发送接口地址和别名的方法及网络设备 | |
US20230254244A1 (en) | Path determining method and apparatus, and computer storage medium | |
CN113765800A (zh) | 传输报文的方法、装置、系统、设备及可读存储介质 | |
US10091056B1 (en) | Distribution of modular router configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200623 |