CN110651450B - 一种网络及网络管理方法 - Google Patents
一种网络及网络管理方法 Download PDFInfo
- Publication number
- CN110651450B CN110651450B CN201880025044.6A CN201880025044A CN110651450B CN 110651450 B CN110651450 B CN 110651450B CN 201880025044 A CN201880025044 A CN 201880025044A CN 110651450 B CN110651450 B CN 110651450B
- Authority
- CN
- China
- Prior art keywords
- switch
- flow table
- backbone
- fin
- dhcp
- 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.)
- Active
Links
Images
Classifications
-
- 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
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络,包括第一翅片和第二翅片,每个翅片包括至少一个骨干交换机和至少一个叶子交换机,翅片间通过骨干交换机通信,每个骨干交换机内存储有第一流表集,每个叶子交换机内存储有第二流表集。通过预先存储的流表集控制了该网络在引导阶段时产生的报文的广播范围。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种网络和对该网络的管理方法。
背景技术
软件定义网络实现了控制面与转发面的分离,即,控制面的功能,例如定义如何处理报文,由控制器实现,而转发面的功能,例如根据控制器的定义来处理接收到的报文,仍然由交换机实现。交换机的管理面和控制器之间的连接通常采用一张网络,称之为管理网络,不同交换机的转发面之间的连接通常采用另一张网络,称之为转发网络。网络引导阶段,控制器需要将网络中的各类设备,包括控制器、交换机等,从失控、无序的状态引导至受控、有序的状态。引导阶段包括设备资源,例如互联网协议IP地址,的分配,设备之间拓扑关系的发现等。
在引导阶段,由于交换机的端口连接关系,网络拓扑结构等信息的缺失,控制器无法精确设计报文的转发路径。因此,在引导阶段一般采用广播的方式将报文,例如动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)报文,发送至目的地。该过程中会产生大量的广播报文,影响网络的引导效率。
发明内容
本申请提供了一种网络,该网络在引导阶段产生的DHCP报文的广播范围得到抑制,提升了引导效率。
本申请的第一方面提供了一种网络,该网络包括第一翅片和第二翅片,每个翅片包括至少一个骨干交换机和至少一个叶子交换机,所述第一翅片的叶子交换机通过所述第一翅片的骨干交换机与所述第二翅片的骨干交换机通信,所述第二翅片的叶子交换机通过所述第二翅片的骨干交换机与所述第一翅片的骨干交换机通信,每个翅片内的叶子交换机之间通过本翅片的骨干交换机通信,每个翅片的叶子交换机的上行转发端口连接本翅片的骨干交换机,每个翅片的骨干交换机的下行转发端口连接本翅片的叶子交换机,每个翅片的骨干交换机的上行转发端口连接其他翅片的骨干交换机;
每个骨干交换机内存储有第一流表集,所述第一流表集包括上行流流表和第一下行流流表,所述上行流流表指示将通过下行转发端口接收的报文从所有转发端口发出;所述第一下行流流表指示将通过上行转发端口接收的报文丢弃;
每个叶子交换机内存储有第二流表集,所述第二流表集包括所述上行流流表和第二下行流流表,所述第二下行流流表指示将通过上行转发端口接收的报文从所有下行转发端口发出。所述第一流表集和所述第二流表集可以由网络运维人员预先配置在交换机内。
该网络通过第一流表集和第二流表集的设置,首先为第一翅片内的交换机分配IP地址,在第一翅片内的交换机分配完IP地址前,其余翅片内的交换机生成的DHCP请求不会跨越翅片广播,有效抑制了DHCP请求的广播范围,降低了网络压力,提升了网络的引导效率。
在一种可能的实现方式中,所述第一翅片的第一叶子交换机的下行转发端口连接动态主机配置协议DHCP服务器。
所述第一翅片的第二叶子交换机,用于生成第一DHCP请求,将所述第一DHCP请求广播出去。
所述第一翅片的第一骨干交换机,用于从所述第一骨干交换机的下行转发端口接收所述第一DHCP请求,根据所述上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出。
所述第二翅片的第二骨干交换机,用于从所述第二骨干交换机的上行转发端口接收所述第一DHCP请求,根据所述第一下行流流表,丢弃所述第一DHCP请求;
所述第一叶子交换机,用于从所述第一叶子交换机的上行转发端口接收所述第一DHCP请求,根据所述第二下行流流表,将所述第一DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器。所述第二骨干交换机和所述第一叶子交换机可以同时运行。
所述第一叶子交换机,用于从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第一DHCP请求生成的第一DHCP响应,根据所述上行流流表,将所述第一DHCP响应从所述第一叶子交换机的所有转发端口发出。
所述第一骨干交换机,用于从所述第一骨干交换机的下行转发端口接收所述第一DHCP响应,根据所述上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出。
所述第二叶子交换机,用于从所述第二叶子交换机的上行转发端口接收所述第一DHCP响应,根据所述第二下行流流表,将所述第一DHCP响应从所述第二叶子交换机的下行转发端口发送至所述第二叶子交换机的管理端口,所述第二叶子交换机的管理端口与所述第二叶子交换机的下行转发端口连接。
以上介绍了第二叶子交换机获取IP地址的过程,该过程中,第二叶子交换机生成的DHCP请求不会在第一翅片的相邻翅片中广播,抑制了DHCP请求的广播域,降低了网络压力,提升了网络的引导效率。
在一种可能的实现方式中,所述第一骨干交换机,用于生成第二DHCP请求,将所述第二DHCP请求广播出去。
所述第二骨干交换机,用于从所述第二骨干交换机的上行转发端口接收所述第二DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求。
所述第一叶子交换机,用于从所述第一叶子交换机的上行转发端口接收所述第二DHCP请求,根据所述第二下行流流表,将所述第二DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器。
所述第一叶子交换机,用于从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第二DHCP请求生成的第二DHCP响应,根据所述上行流流表,将所述第二DHCP响应从所述第一叶子交换机的所有转发端口发出。
所述第一骨干交换机,用于从所述第一骨干交换机的下行转发端口接收所述第二DHCP响应,根据所述上行流流表将所述第二DHCP响应从所述第一骨干交换机的转发端口发送至所述第一骨干交换机的管理端口,所述第一骨干交换机的管理端口与所述第一骨干交换机的转发端口连接。
以上介绍了第一骨干交换机获取IP地址的过程,该过程中,第一骨干交换机生成的DHCP请求不会在第一翅片的相邻翅片中广播,抑制了DHCP请求的广播域,降低了网络压力,提升了网络的引导效率。
在一种可能的实现方式中,所述第二骨干交换机,用于获取第三DHCP请求,将所述第三DHCP请求广播出去,所述第三DHCP请求由所述第二骨干交换机生成,或由所述第二翅片的叶子交换机生成并发送至所述第二骨干交换机的下行转发端口。
所述第一骨干交换机,用于从所述第一骨干交换机的上行转发端口接收所述第三DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求。
在第一翅片内的交换机均获取IP地址前,第二翅片内的交换机生成的DHCP请求不会跨翅片广播,抑制了DHCP请求的广播域,降低了网络压力,提升了网络的引导效率。
在一种可能的实现方式中,所述第一叶子交换机的下行转发端口连接控器。
所述控制器,用于在所述DHCP服务器为所述第一翅片的各个交换机分配IP地址后,识别所述第一翅片的各个交换机的转发端口的连接关系,根据所述连接关系为所述第一翅片的各个交换机生成对应的第三流表集,所述第三流表集的优先级高于所述第一流表集和所述第二流表集,或所述第一翅片的各个交换机收到所述第三流表集后删除所述第一流表集和所述第二流表集;所述第三流表集包括正向流流表和逆向流流表,所述正向流流表指示将类型为DHCP请求的报文转发至所述DHCP服务器;所述逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机。
第一翅片内的交换机均获取了IP地址后,控制器与第一翅片内的交换机建立通信连接,识别第一翅片内的交换机的转发端口的连接关系,并为第一翅片内的每个交换机生成对应的第三流表集。此后,第一翅片的相邻翅片的交换机生成的DHCP请求得以被路由至DHCP服务器,第一翅片的相邻翅片的交换机开始引导。
本申请的第二方面提供了一种报文处理方法,所述方法运用于第一方面或第一方面的任一种可能的实现方式提供的网络;所述方法包括:
所述第一翅片的第二叶子交换机生成第一DHCP请求,并将所述第一DHCP请求广播出去;所述第一翅片的第一骨干交换机从所述第一骨干交换机的下行转发端口接收所述第一DHCP请求,根据所述上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出;所述第二翅片的第二骨干交换机从所述第二骨干交换机的上行转发端口接收所述第一DHCP请求,根据所述第一下行流流表,丢弃所述第一DHCP请求;所述第一叶子交换机从所述第一叶子交换机的上行转发端口接收所述第一DHCP请求,根据所述第二下行流流表,将所述第一DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器;所述第一叶子交换机从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第一DHCP请求生成的第一DHCP响应,根据所述上行流流表,将所述第一DHCP响应从所述第一叶子交换机的所有转发端口发出;所述第一骨干交换机从所述第一骨干交换机的下行转发端口接收所述第一DHCP响应,根据所述上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出;所述第二叶子交换机从所述第二叶子交换机的上行转发端口接收所述第一DHCP响应,根据所述第二下行流流表,将所述第一DHCP响应从所述第二叶子交换机的下行转发端口发送至所述第二叶子交换机的管理端口,所述第二叶子交换机的管理端口与所述第二叶子交换机的下行转发端口连接。
本申请的第三方面提供了一种报文处理方法,所述方法运用于第一方面或第一方面的任一种可能的实现方式提供的网络;所述方法包括:
所述第一翅片的第一骨干交换机生成第二DHCP请求,将所述第二DHCP请求广播出去;所述第二翅片的第二骨干交换机从所述第二骨干交换机的上行转发端口接收所述第二DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求;所述第一叶子交换机从所述第一叶子交换机的上行转发端口接收所述第二DHCP请求,根据所述第二下行流流表,将所述第二DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器;所述第一叶子交换机从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第二DHCP请求生成的第二DHCP响应,根据所述上行流流表,将所述第二DHCP响应从所述第一叶子交换机的所有转发端口发出;所述第一骨干交换机从所述第一骨干交换机的下行转发端口接收所述第二DHCP响应,根据所述上行流流表将所述第二DHCP响应从所述第一骨干交换机的转发端口发送至所述第一骨干交换机的管理端口,所述第一骨干交换机的管理端口与所述第一骨干交换机的转发端口连接。
本申请的第四方面提供了一种报文处理方法,所述方法运用于第一方面或第一方面的任一种可能的实现方式提供的网络;所述方法包括:
所述第二翅片的第二骨干交换机获取第三DHCP请求,将所述第三DHCP请求广播出去,所述第三DHCP请求由所述第二骨干交换机生成,或由所述第二翅片的叶子交换机生成并发送至所述第二骨干交换机的下行转发端口;所述第一骨干交换机从所述第一骨干交换机的上行转发端口接收所述第三DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求。
本申请的第二、第三、第四方面提供的方法可以组合使用。
本申请的第五方面提供了一种骨干交换机,所述骨干交换机包括存储器、处理器、上行转发端口和下行转发端口;
所述存储器中存储有第一流表集和可执行代码,所述第一流表集包括上行流流表和第一下行流流表,所述上行流流表指示将通过所述下行转发端口接收的报文从所有转发端口发出;所述第一下行流流表指示将通过所述上行转发端口接收的报文丢弃;
所述处理器,用于执行所述可执行代码,根据所述第一流表集处理接收到的报文。
在一种可能的实现方式中,所述骨干交换机还用于接收控制器生成的第三流表集,所述第三流表集的优先级高于所述第一流表集或所述骨干交换机收到所述第三流表集后删除所述第一流表集;所述第三流表集包括第一正向流流表和第一逆向流流表,所述第一正向流流表指示将类型为DHCP请求的报文转发至DHCP服务器;所述第一逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机。
该骨干交换机即第一方面或第一方面的任一种可能的实现方式提供的网络中的任一骨干交换机。该骨干交换机运行时执行第二方面或第三方面或第四方面中骨干交换机侧的动作。
本申请的第六方面提供了一种叶子交换机,所述叶子交换机包括存储器、处理器、上行转发端口和下行转发端口;
所述存储器中存储有第二流表集和可执行代码,所述第二流表集包括上行流流表和第二下行流流表,所述上行流流表指示将通过所述下行转发端口接收的报文从所有转发端口发出,所述第二下行流流表指示将通过所述上行转发端口接收的报文从所述下行转发端口发出;所述方法包括:
所述处理器,用于执行所述可执行代码,根据所述第二流表集处理接收到的报文。
在一种可能的实现方式中,所述叶子交换机还用于接收控制器生成的第四流表集,所述第四流表集的优先级高于所述第二流表集或所述叶子交换机收到所述第四流表集后删除所述第二流表集;所述第四流表集包括第二正向流流表和第二逆向流流表,所述第二正向流流表指示将类型为DHCP请求的报文转发至DHCP服务器;所述第二逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机。
该叶子交换机即第一方面或第一方面的任一种可能的实现方式提供的网络中的任一叶子交换机。该叶子交换机运行时执行第二方面或第三方面或第四方面中叶子交换机侧的动作。
本申请第七方面提供了一种存储介质,该存储介质中存储了第一流表集和可执行代码,所述可执行代码被交换机执行时,所述交换机根据所述第一流表集执行第二方面或第三方面或第四方面中骨干交换机侧的动作。该存储介质包括但不限于只读存储器,随机访问存储器,快闪存储器、HDD或SSD。
本申请第八方面提供了一种存储介质,该存储介质中存储了第二流表集和可执行代码,所述可执行代码被交换机执行时,所述交换机根据所述第二流表集执行第二方面或第三方面或第四方面中叶子交换机侧的动作。该存储介质包括但不限于只读存储器,随机访问存储器,快闪存储器、HDD或SSD。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需要使用的附图作以简单地介绍。
图1为本申请实施例提供的网络的结构示意图;
图2为本申请实施例提供的另一网络的结构示意图;
图3a为本申请实施例提供的交换机的结构示意图;
图3b为本申请实施例提供的另一交换机的结构示意图;
图3c为本申请实施例提供的另一交换机的结构示意图;
图4为本申请实施例提供的另一网络的结构示意图;
图5为本申请实施例提供的另一网络的结构示意图;
图6为本申请实施例提供的另一网络的结构示意图;
图7为本申请实施例提供的另一网络的结构示意图;
图8为本申请实施例提供的另一网络的结构示意图;
图9为本申请实施例提供的另一网络的结构示意图;
图10为本申请实施例提供的另一网络的结构示意图;
图11为本申请实施例提供的另一网络的结构示意图;
图12为本申请提供的交换机的结构示意图;
图13为本申请提供的控制器的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方法进行描述。
本申请中各个“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系。
网络架构
图1示出了本申请中提供的网络的结构示意图。网络由Y个翅片(fin)构成,翅片也可以称之为豆荚(pod)或部署单元(deployment unit)。每个翅片是一个交换机组,每个翅片包括两层交换机。翅片内上层的交换机称之为骨干交换机,翅片内下层的交换机称之为叶子交换机。图1所示的网络,一共有Fin 1,Fin M,Fin N…Fin Y一共Y个翅片。每个翅片有N个叶子交换机和z个骨干交换机。以Fin 1为例,Fin 1的骨干交换机记为骨干交换机11,骨干交换机1i,骨干交换机1j…骨干交换机1z。Fin 1的叶子交换机记为叶子交换机11,叶子交换机12,叶子交换机13,…叶子交换机1n,…叶子交换机1N。
叶子交换机作为网络架构中的接入交换机,负责将DHCP服务器、业务服务器、控制器接入到网络中。对于机架服务器,叶子交换机具体指的是被配置在服务器机架的顶端的接入式交换机,又被称作架顶(top-of-rack,TOR)交换机。对于塔式服务器或者刀片服务器,叶子交换机可以采用其他形态,例如通过ASIC实现。骨干交换机对叶子交换机起汇聚作用,用来实现本翅片内叶子交换机之间的报文转发,以及不同翅片间的报文转发。
每个交换机设置有上行转发端口和下行转发端口。骨干交换机的下行转发端口与叶子交换机连接,骨干交换机的上行转发端口与其他翅片的骨干交换机连接。叶子交换机的下行转发端口与服务器连接,叶子交换机的上行转发端口与骨干交换机连接。叶子交换机的管理端口与该叶子交换机的一个下行转发端口连接。骨干交换机的管理端口与该骨干交换机的一个下行转发端口连接。这种将管理端口与交换机的转发端口连接的方式,称之为带内管理。
每个翅片由至少两个骨干交换机和至少一个叶子交换机构成。一个翅片中,每个叶子交换机和至少两个骨干交换机连接。例如,一个翅片内的骨干交换机和叶子交换机采用CLOS网络连接,也即一个翅片内的每个骨干交换机和该翅片内的每一个叶子交换机连接,如图1。
一个翅片中有至少一个骨干交换机和网络中其他翅片的骨干交换机连接,使得该翅片的叶子交换机能够和该网络中任一叶子交换机通信。网络中多个骨干交换机组成一个骨干交换机组,一个交换机组内包括各个翅片的至少一个骨干交换机。具体的连接方式有多种,这里介绍几种示例:
示例一,如图2,骨干交换机组G1内包括骨干交换机11,骨干交换机M1,…骨干交换机N1,…骨干交换机Y1,共Y个骨干交换机。骨干交换机组G1内的任意两台骨干交换机连接。因此,骨干交换机组G1中任意两台骨干交换机可以直接通信。
示例二,一个骨干交换机组内有一台骨干交换机与该骨干交换机组内其余每个骨干交换机连接。因此,该骨干交换机组中任意两台骨干交换机可以通过该骨干交换机通信。例如,骨干交换机N1与骨干交换机组G1中其余骨干交换机连接。因此,骨干交换机组G1中任意骨干交换机可以通过骨干交换机N1访问骨干交换机组G1中的其他骨干交换机。
本申请中,交换机是一个网络设备,用于将服务器、控制器、DHCP服务器接入到网络,并在服务器、控制器、DHCP服务器之间转发报文。例如,交换机可以根据控制器下发的流表(flow table)对报文进行处理。例如,交换机可以支持OpenFlow协议。该交换机可以通过在通用计算机上运行软件实现,也可以由集成电路实现。该集成电路可以为专用集成电路(application-specific integrated circuit ASIC)或可编程逻辑器件(programmablelogic device,PLD)。上述PLD可以是复杂可编程逻辑器件(complex programmable logicdevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
本申请中的流表包括匹配域和执行域。如果交换机接收的报文能够匹配上一条流表的匹配域,则交换机按照该条流表的执行域处理该报文。
本申请中控制器通过流表对交换机进行控制。例如,控制器可以通过OpenFlow协议与交换机通信。控制器可以有一台或多台,当有多台控制器时,该多台服务器分布式部署。控制器也称之为软件定义网络控制器。
本申请中,动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器用于提供DHCP服务,例如接收DHCP请求,生成相应的DHCP响应。
本申请中,业务服务器是用于执行一个或多个软件程序的计算设备。具体实现中,服务器可以为物理计算机。服务器类型有多种,例如,机架服务器、塔式服务器、刀片服务器。
交换机结构
图3a介绍了本申请实施例提供的交换机的结构示意图。交换机包括主机(英文:host),主机配置有媒体访问控制(media access control,缩写:MAC)地址。交换机通过管理端口与控制器通信。交换机的管理端口与交换机的至少一个下行转发端口连接。管理端口发出的报文,经过转发端口发送至其他交换机、DHCP服务器或控制器。其他交换机、DHCP服务器或控制器发送的目的地为交换机的主机的报文,经过交换机的转发端口发送至管理端口,然后经过管理端口发送至交换机的主机。
管理端口可以为硬件端口或逻辑端口。如图3b所示,为本发明实施例提供的一种交换机的结构示意图,在该实施例中,交换机的主机上运行有操作系统,该操作系统包括网络与管理协议栈(networking and management stack)。操作系统通过网络与管理协议栈的管理端口与交换机的转发端口连接,该管理端口也称之为本地端口(local port)。
如图3c所示,为本发明实施例提供的一种交换机的结构示意图,在该实施例中,交换机包括管理面和转发面。主机支持管理面的运行。管理面负责对交换机进行管理,包括生成DHCP请求,生成DHCP答复,接收控制器发送的用于生成流表的内容并根据该内容生成对应的流表并存入转发面等。转发面负责接收报文,将报文与流表进行匹配,对匹配上的报文进行处理等。转发面可以通过集成电路实现。
管理面通过管理端口与转发端口连接,转发面与转发端口连接。因此,管理面通过转发端口与转发面通信。以交换机的管理端口与转发面的port 1通信为例。如果DHCP服务器发送一个报文至交换机的port 2,该报文通过port 2进入交换机的转发面后,如果该报文需要被发往管理面,则转发面将该报文从port 1发送至管理端口。管理面从管理端口接收到该报文,并根据该报文生成了对应的答复报文后,管理面从管理端口发出该答复报文,经由port 1发送至转发面,再通过转发面的其他转发端口发往交换机外部。
如图4,在本申请的一个实施方式中,该网络包括3个翅片,即Fin 1,Fin 2和Fin3。每个翅片内包括z个骨干交换机,例如Fin 1内的骨干交换机11,…骨干交换机1z。每个翅片内包括N个叶子交换机,例如Fin 1内的叶子交换机11,叶子交换机12,…叶子交换机1N。参考前述图1所示的网络架构,翅片之间通过骨干交换机通信。Fin 2为Fin 1的相邻Fin,即Fin 2内至少一个骨干交换机与Fin 1内的骨干交换机连接。
该网络中每一个交换机、业务服务器在正常工作前,均需要请求DHCP服务器分配IP地址。由于此时控制器既不清楚交换机之间的连接关系,也不清楚每个交换机的地址信息,因此无法向各个交换机下发精确控制DHCP请求流向的流表。
对此,现有技术中采取的做法是每个交换机均将接收到的DHCP请求从所有转发端口广播出去。例如,业务服务器向叶子交换机31发送DHCP请求,叶子交换机31将该DHCP请求广播至Fin 3内所有骨干交换机,包括骨干交换机31和骨干交换机3z。随后,骨干交换机31将该DHCP请求广播至叶子交换机32、叶子交换机3N,以及与骨干交换机31连接的其他Fin的骨干交换机,例如Fin 2的骨干交换机。Fin 3内其余骨干交换机的动作与骨干交换机31类似。因此,该DHCP请求将在Fin 1和Fin 2内被大量广播。
为了避免DHCP请求被大量广播,本申请提供的网络的交换机中预先设置了流表集。该设置的动作在网络中的服务器或交换机发起DHCP请求之前完成。例如,可以在每个交换机上预存储流表集,并配置为交换机启动时加载该流表集。
每个骨干交换机中预存储了第一流表集。
第一流表集包括:
将从下行转发端口接收到的报文从所有转发端口发出(第一上行流流表);
将从上行转发端口接收到的报文丢弃(第一下行流流表)。
每个叶子交换机中预存储了第二流表集。
第二流表集包括:
将从下行转发端口接收到的报文从所有转发端口发出(第二上行流流表);
将从上行转发端口接收到的报文从下行转发端口发出(第二下行流流表)。
表1和表2中具体介绍了第一流表集和第二流表集的设计。其中,上行流指示从下行转发端口进入交换机的报文流,下行流指示从上行转发端口进入交换机的报文流。每个流表集均包括上行流流表和下行流流表。上行流流表包括至少一条流表,下行流流表包括至少一条流表。
表1
表2
与DHCP服务器直接连接的翅片之外的翅片内的每个骨干交换机的第一流表集中,还包括第三下行流流表,该第三下行流流表的匹配域为:报文的目的MAC地址为该骨干交换机的MAC地址;动作域为:将报文从所有下行转发端口发出。该下行流流表的优先级高于表1中的骨干交换机的第一下行流流表。
以图5为例,介绍业务服务器获取IP地址的过程,该业务服务器连接的叶子交换机11和DHCP服务器连接的叶子交换机1N位于相同翅片。
1.业务服务器启动后,发送DHCP请求至叶子交换机11。
2.叶子交换机11从下行转发端口接收该DHCP请求,将该DHCP请求匹配第二流表集中的第二上行流流表,根据第二上行流流表的动作域从所有转发端口发出该DHCP请求。
3.骨干交换机11到1z从下行转发端口接收该DHCP请求,将该DHCP请求匹配第一流表集中的第一上行流流表,根据第一上行流流表的动作域从所有转发端口发出该DHCP请求。
4.叶子交换机11到1N从上行转发端口接收该DHCP请求,将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从下行转发端口发出该DHCP请求。
5.DHCP服务器接收到该DHCP请求,为该业务服务器分配IP地址,根据分配的IP地址生成DHCP响应,并将该DHCP响应发送至叶子交换机1N。
6.叶子交换机1N从下行转发端口接收该DHCP响应,将该DHCP响应匹配第二流表集中的第二上行流流表,根据第二上行流流表的动作域从所有转发端口发出该DHCP响应。
7.骨干交换机11、1z从下行转发端口接收该DHCP响应,将该DHCP响应匹配第一流表集中的第一上行流流表,根据第一上行流流表的动作域从所有转发端口发出该DHCP响应。
8.叶子交换机11、12、1N从上行转发端口接收该DHCP响应,将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从下行转发端口发出该DHCP响应。业务服务器接收到叶子交换机11发送的该DHCP响应,
通过该DHCP响应,获取DHCP服务器分配给自己的IP地址。
在第3步中,骨干交换机11、1z发送至Fin 2的骨干交换机的DHCP请求被匹配上了Fin 2的骨干交换机内设置的第一流表集中的第一下行流流表,因此丢弃了该DHCP请求。保证了DHCP请求不会跨翅片传输,减少DHCP请求对网络造成的压力。在第7步中,骨干交换机11、1z发送至Fin 2的骨干交换机的DHCP响应被匹配上了Fin 2的骨干交换机内设置的第一流表集中的第一下行流流表,因此丢弃了该DHCP响应。保证了DHCP响应不会跨翅片传输,减少了网络的压力。
以图6为例,介绍了业务服务器发起DHCP请求以请求分配IP地址的流程,该业务服务器连接的叶子交换机和DHCP服务器连接的叶子交换机位于不同的翅片。
1.业务服务器启动后,发送DHCP请求至叶子交换机31。
2.叶子交换机31从下行转发端口接收该DHCP请求,将该DHCP请求匹配第二流表集中的第二上行流流表,根据第二上行流流表的动作域从所有转发端口发出该DHCP请求。
3.骨干交换机31、3z从下行转发端口接收该DHCP请求,将该DHCP请求匹配第一流表集中的第一上行流流表,根据第一上行流流表的动作域从所有转发端口发出该DHCP请求。
4.叶子交换机31、32、3N从上行转发接口接收该DHCP请求,将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从下行转发端口发出该DHCP请求。由于DHCP服务器不连接于Fin 3内任一叶子交换机,
因此没有设备响应该DHCP请求。
在第3步中,骨干交换机31、3z发送至Fin 2的骨干交换机的DHCP请求被匹配上了Fin 2的骨干交换机内设置的第一流表集中的第一下行流流表,因此丢弃了该DHCP请求。
交换机启动时也需要发起DHCP请求以向DHCP服务器请求分配IP地址。
以图7为例,介绍叶子交换机11获取IP地址的过程,该叶子交换机11和DHCP服务器连接的叶子交换机1N位于相同翅片。
1.叶子交换机11的主机(管理面)生成DHCP请求,通过叶子交换机11的管理端口将DHCP请求发送至叶子交换机11的转发面。叶子交换机11的转发面将DHCP请求从所有转发端口广播出去。
2.骨干交换机11、1z从下行转发端口接收该DHCP请求,将该DHCP请求匹配第一流表集中的第一上行流流表,根据第一上行流流表的动作域从所有转发端口发出该DHCP请求。
3.叶子交换机11、12、1N从上行转发端口接收该DHCP请求,将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从下行转发端口发出该DHCP请求。
4.DHCP服务器接收到该DHCP请求,为叶子交换机11分配IP地址,根据分配的IP地址生成DHCP响应,并将该DHCP响应发送至叶子交换机1N。
5.叶子交换机1N从下行转发端口接收该DHCP响应,将该DHCP响应匹配第二流表集中的第二上行流流表,根据第二上行流流表的动作域从所有转发端口发出该DHCP响应。
6.骨干交换机11、1z从下行转发端口接收该DHCP响应,将该DHCP响应匹配第一流表集中的第一上行流流表,根据第一上行流流表的动作域从所有转发端口发出该DHCP响应。
第6步后,叶子交换机11从上行转发端口接收该DHCP响应,将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从所有下行转发端口发出该DHCP响应。由于其中一个下行转发端口与叶子交换机11的管理端口连接,因此叶子交换机11的主机(管理面)获取该DHCP响应,也即获取了DHCP服务器分配给叶子交换机11的IP地址。叶子交换机12,…叶子交换机1N同样将将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从所有下行转发端口发出该DHCP响应。但是由于DHCP响应中携带的地址信息不属于叶子交换机12,…叶子交换机1N,因此叶子交换机12,…叶子交换机1N的主机(管理面)不记录该DHCP响应。
在第2步中,骨干交换机11、1z发送至Fin 2的骨干交换机的DHCP请求被匹配上了Fin 2的骨干交换机内设置的第一流表集中的第一下行流流表,因此丢弃了该DHCP请求。保证了DHCP请求不会跨翅片传输,减少DHCP请求对网络造成的压力。
以图8为例,介绍了Fin 3内叶子交换机31发起DHCP请求以请求分配IP地址的流程,叶子交换机31和DHCP服务器连接的叶子交换机1N位于不同翅片。
1.叶子交换机31的主机(管理面)生成DHCP请求,通过叶子交换机31的管理端口将DHCP请求发送至叶子交换机31的转发面。叶子交换机31的转发面将DHCP请求从所有转发端口广播出去。
2.骨干交换机31、3z从下行转发端口接收该DHCP请求,将该DHCP请求匹配第一流表集中的第一上行流流表,根据第一上行流流表的动作域从所有转发端口发出该DHCP请求。
3.叶子交换机31、32、3N从上行转发端口接收该DHCP请求,将该DHCP请求匹配第二流表集中的第二下行流流表,根据第二下行流流表的动作域从下行转发端口发出该DHCP请求。
在第2步中,骨干交换机31、3z发送至Fin 2的骨干交换机的DHCP请求被匹配上了Fin 2的骨干交换机内设置的第一流表集中的第一下行流流表,因此Fin 2的骨干交换机丢弃了该DHCP请求。保证了该DHCP请求不会跨翅片传输,减少DHCP请求对网络造成的压力。在第3步中,由于DHCP服务器不连接于Fin 3内任一叶子交换机,因此没有设备响应该DHCP请求。
Fin 1内其余叶子交换机和骨干交换机获取IP地址的过程类似。
通过第一流表集和第二流表集,和与DHCP服务器连接的叶子交换机位于同一翅片的交换机、业务服务器均可以从DHCP服务器获取到自己的IP地址。期间,其余翅片内发送至该翅片的DHCP请求均被该翅片内的骨干交换机丢弃。降低了DHCP报文的广播范围,降低了网络负担。
与DHCP服务器连接的叶子交换机位于同一翅片的交换机的IP地址分配完毕后,各个叶子交换机与DHCP服务器器以及控制器建立通信连接。具体可以为传输控制协议(Transmission Control Protocol,TCP)连接。
通过该通信连接,控制器识别Fin 1内各个交换机的转发端口的连接关系,包括交换机间的转发端口的连接关系,每个交换机的管理端口和转发端口的连接关系,以及Fin 1的骨干交换机和Fin 2的骨干交换机的转发端口的连接关系。
如图9,DHCP服务器为Fin 1内的各个交换设备分配了IP地址后,控制器识别骨干交换机11的port 1与叶子交换机11的port 1、骨干交换机11的port 2与叶子交换机12的port 1、骨干交换机11的port N与叶子交换机1N的port 1连接。
并且,控制器识别骨干交换机1z的port 1与叶子交换机11的port z、骨干交换机1z的port 2与叶子交换机12的port z、骨干交换机1z的port N与叶子交换机1N的port z连接。
并且,控制器识别Fin 1内每个交换机的管理端口与转发端口port m连接。并且,控制器识别骨干交换机11的port 3与骨干交换机21连接,骨干交换机11的port 4与骨干交换机2z连接。
并且,控制器识别Fin 1内每个叶子交换机的转发端口与业务服务器的连接关系。例如,叶子交换机12的port 2与业务服务器连接。
本申请中,两个交换机连接指代两个交换机的转发端口之间直接连接,例如骨干交换机11和叶子交换机11,两个交换机通过其他交换机通信指代两个交换机的通信链路中包括其他交换机,例如骨干交换机21和叶子交换机11通过骨干交换机11通信。
根据识别的Fin 1内各个交换机的转发端口的连接关系,控制器为各个骨干交换机生成第三流表集,将第三流表集发送至Fin 1内的对应的骨干交换机。第三流表集的优先级高于第一流表集,或者骨干交换机接收第三流表集后删除第一流表集。控制器为各个叶子交换机生成第四流表集,将第四流表集发送至Fin 1内的对应的叶子交换机。第四流表集的优先级高于第二流表集,或者叶子交换机接收第四流表集后删除第二流表集。
第三流表集包括:
将DHCP请求转发至DHCP服务器(第一正向流流表);
将报文转发至报文携带的目的MAC地址对应的交换机或业务服务器(第一逆向流流表)。
表3
第四流表集包括:
将DHCP请求转发至DHCP服务器(第二正向流流表);
将报文转发至报文携带的目的MAC地址对应的交换机或业务服务器(第二逆向流流表)。
表4
控制器按照交换机间的转发端口的连接关系为Fin 1内每个交换机生成的正向流流表和逆向流流表。如表3和表4所示,正向流指示目的地为DHCP服务器的报文流(类型为DHCP请求),逆向流指示目的地为交换机或业务服务器的报文流。正向流流表包括至少一条流表,逆向流流表包括至少一条流表。
每个交换机的正向流流表的匹配域包括UDP报文,目的端口67,即确定报文为DHCP请求。动作域为将DHCP请求转发至DHCP服务器。每个交换机的动作域的具体实现可以不同。例如骨干交换机11和骨干交换机1z的第一正向流流表的动作域为将DHCP请求通过port N发出。叶子交换机1N的第二正向流流表的动作域为将DHCP请求通过port z-2发出。叶子交换机11的第二正向流流表的动作域为将DHCP请求通过port 1发出。叶子交换机12的第二正向流流表的动作域为将DHCP请求通过port 1发出。
每个交换机的正向流流表的动作域指示将报文转发至DHCP服务器,具体可以为该交换机将报文从转发端口发出,该转发端口与该交换机至DHCP服务器的通信路径上的下一跳交换机连接。
每个交换机的逆向流流表的匹配域包括目的MAC地址。该目的MAC地址可以为Fin1内任一骨干交换机或叶子交换机或业务服务器的MAC地址,或Fin 2内任一骨干交换机的MAC地址。每个交换机的动作域的具体实现可以不同。例如目的MAC地址为骨干交换机21的MAC地址时,叶子交换机1N的第二逆向流流表的动作域为将DHCP响应通过port 1发出,骨干交换机11的第一逆向流流表的动作域为将DHCP响应通过port 3发出。例如目的MAC地址为骨干交换机2z的MAC地址时,叶子交换机1N的第二逆向流流表的动作域为将DHCP响应通过port 1发出,骨干交换机11的第一逆向流流表的动作域为将DHCP响应通过port 4发出。例如目的MAC地址为叶子交换机1N的MAC地址时,叶子交换机1N的第二逆向流流表的动作域为将DHCP响应通过port m发出。例如目的MAC地址为业务服务器的MAC地址时,叶子交换机1N的第二逆向流流表的动作域为将DHCP响应通过port z发出,骨干交换机1z的第一逆向流流表的动作域为将DHCP响应通过port 2发出,叶子交换机12的第二逆向流流表的动作域为将DHCP响应通过port 2发出。
每个交换机的逆向流流表的动作域指示将报文转发至目的交换机,报文携带的目的MAC地址为目的交换机的MAC地址。逆向流流表的动作域具体可以为将报文从转发端口发出,该转发端口与该交换机至目的交换机的通信路径上的下一跳交换机连接。或目的MAC地址为该交换机的MAC地址时,该转发端口与该交换机的管理端口连接。针对不同的目的MAC地址,每个交换机的第三流表集或第四流表集中可以包含相同或不同的逆向流流表。
获取第三流表集或第四流表集后,Fin 1内的交换机能够将Fin 1的相邻Fin内交换机/业务服务器生成的DHCP请求路由至DHCP服务器,并将DHCP服务器生成的DHCP响应路由回Fin 1的相邻Fin。
以图10为例,业务服务器连接的叶子交换机和DHCP服务器连接的叶子交换机位于相邻翅片(Fin 2和Fin 1)。下面描述骨干交换机21获取IP地址的过程,Fin 2内其他骨干交换机获取IP地址的过程与之类似。
1.骨干交换机21的主机(管理面)生成DHCP请求,通过骨干交换机21的管理端口将DHCP请求发送至骨干交换机21的转发面。骨干交换机21的转发面将DHCP请求从所有转发端口广播出去。假设骨干交换机21与骨干交换机11连接。
2.骨干交换机11获取该DHCP请求,将该DHCP请求匹配第三流表集中的第一正向流流表,根据第一正向流流表的动作域从下行转发端口发送至叶子交换机1N。
3.叶子交换机1N获取该DHCP请求,将该DHCP请求匹配第四流表集中的第二正向流流表,根据第二正向流流表的动作域从下行转发端口发送至DHCP服务器。
4.DHCP服务器生成该DHCP请求对应的DHCP响应,将该DHCP响应发送至叶子交换机1N。
5.叶子交换机1N获取该DHCP响应,将该DHCP响应匹配第四流表集中的第二逆向流流表,根据第二逆向流流表的动作域从上行转发端口发送至骨干交换机11。
6.骨干交换机11获取该DHCP响应,将该DHCP响应匹配第三流表集中的第一逆向流流表,根据第一逆向流流表的动作域从上行转发端口发送至骨干交换机21。
第6步后,骨干交换机21获取该DHCP响应,由于该DHCP响应携带的目的MAC地址为骨干交换机21的MAC地址,因此骨干交换机21将该DHCP响应与骨干交换机21的下行流流表匹配,并将该DHCP响应从所有下行转发端口发出。由于其中一个下行转发端口与骨干交换机21的管理端口连接,因此骨干交换机21的主机(管理面)获取该DHCP响应,也即获取了DHCP服务器分配给骨干交换机21的IP地址。
在第1步中,骨干交换机21发送至Fin 3的骨干交换机的DHCP请求被匹配上了Fin3的骨干交换机内设置的第一流表集中的下行流流表,因此丢弃了该DHCP请求。保证了Fin2内的交换机或业务服务器生成的DHCP请求不会在Fin 3内广播,减轻了网络压力。
Fin 2内的骨干交换机获取IP地址后(Fin 2内其他骨干交换机获取IP地址的过程参考骨干交换机21),控制器为Fin 2内的骨干交换机生成第三流表集,将第三流表集发送对应的骨干交换机。随后,DHCP服务器为Fin 2内的叶子交换机生成的DHCP响应得以根据Fin 2内的骨干交换机的第三流表集路由至Fin 2内的叶子交换机。Fin 2内的叶子交换机获取IP地址后,控制器为Fin 2内的叶子交换机生成第四流表集,将第四流表集发送Fin 2内对应的叶子交换机。随后,与Fin 2相邻的Fin 3的业务服务器和交换机生成的DHCP请求得以通过第三流表集发送至DHCP服务器。Fin 3内的交换机得以获取IP地址,并获取对应的第三流表集或第四流表集。
以图11为例,业务服务器连接的叶子交换机和DHCP服务器连接的叶子交换机位于相邻翅片。下面描述Fin 2内的骨干交换机和叶子交换机分别获取了第三流表集和第四流表集后,Fin 2内的业务服务器获取IP地址的过程。
1.业务服务器启动后,发送DHCP请求至叶子交换机21。
2.叶子交换机21从下行转发端口接收该DHCP请求,将该DHCP请求匹配第四流表集中的第二正向流流表,根据第二正向流流表的动作域将该DHCP请求发送至骨干交换机21。
3.骨干交换机21从下行转发端口接收该DHCP请求,将该DHCP请求匹配第三流表集中的第一正向流流表,根据第一正向流流表的动作域将该DHCP请求发送至骨干交换机11。假设骨干交换机21与骨干交换机11连接。
4.骨干交换机11获取该DHCP请求,将该DHCP请求匹配第三流表集中的第一正向流流表,根据第一正向流流表的动作域从转发端口发送至叶子交换机1N。
5.叶子交换机1N获取该DHCP请求,将该DHCP请求匹配第四流表集中的第二正向流流表,根据第二正向流流表的动作域将该DHCP请求发送至DHCP服务器。
6.DHCP服务器生成该DHCP请求对应的DHCP响应,将该DHCP响应发送至叶子交换机1N。
7.叶子交换机1N获取该DHCP响应,将该DHCP响应匹配第四流表集中的第二逆向流流表,根据第二逆向流流表的动作域将该DHCP响应发送至骨干交换机11。
8.骨干交换机11获取该DHCP响应,将该DHCP响应匹配第三流表集中的第一逆向流流表,根据第一逆向流流表的动作域将该DHCP响应发送至骨干交换机21。
9.骨干交换机21获取该DHCP响应,将该DHCP响应匹配第三流表集中的第一逆向流流表,根据第一逆向流流表的动作域将该DHCP响应发送至叶子交换机21。
10.叶子交换机21获取该DHCP响应,将该DHCP响应匹配第四流表集中的第二逆向流流表,根据第二逆向流流表的动作域将该DHCP响应发送至业务服务器。至此,业务服务器通过该DHCP响应获取分配给自己的IP地址。
通过以上网络管理方法,网络中与DHCP服务器连接的Fin 1内的交换机和业务交换机首先完成IP地址分配过程,期间其余Fin内的DHCP请求不会在Fin间广播,减少了网络压力。Fin 1内的交换机和业务交换机的IP地址分配完毕后,控制器对Fin 1内的交换机的转发端口连接关系进行识别,并根据交换机的转发端口连接关系,为Fin 1内的交换机生成单播流表集(包括第三流表集和第四流表集)。通过该单播流表集,与Fin 1相邻的Fin(Fin2)内的DHCP请求得以通过Fin 1发送至DHCP服务器,对应的DHCP响应也得以返回Fin 2。Fin2内的交换机获取IP地址和第三流表集后,Fin 2的相邻Fin(Fin 3)内的交换机得以获取IP地址,第三流表集和第四流表集。依此类推,整个网络中从与DHCP服务器相连的Fin开始,逐层的Fin内的交换机获取IP地址,每一层Fin内的交换机获取IP地址,第三流表集后和第四流表集,下一层Fin内的交换机才能获取IP地址,第三流表集和第四流表集,直至整个网络中的交换机和业务服务器均的IP地址分配完毕且控制器为每个交换机配置了第三流表集或第四流表集,网络的引导阶段结束。其中,与DHCP服务器连接的Fin为第一层Fin,与第一层Fin连接的Fin为第二层Fin,依此类推。该网络管理方法,逐层为交换机分配IP地址,限制了每一层Fin内发出的DHCP报文的广播域,极大的降低了网络负载。
图12提供了一种交换机200。交换机200包括总线202、处理器204、通信接口206、存储器208。处理器204、存储器208和通信接口206之间通过总线202通信。前述网络中各个交换机均可以采用交换200的架构。处理器204被配置为执行上述流程中交换机侧的动作。
通信接口206包括了转发端口。存储器208内存储了可执行代码。
处理器204可以通过处理芯片210和(central processing unit,CPU)组合实现。处理芯片210通过集成电路实现,可以为ASIC或PLD或网络处理单元中的一种或多种的组合。上述PLD可以是CPLD,FPGA,GAL中任意一种或多种的组合。存储器408可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。或者,存储器408包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
处理器204的CPU工作时,支持交换机200的管理面,即交换机的主机。管理面与控制器通信,接收控制器下发的用于生成流表的内容,并生成对应的流表并发送至处理芯片210。存储器208中存储有可执行代码,处理器204执行该可执行代码以执行上述流程中控制器侧的动作。具体的,存储器108中存储有操作系统和报文处理模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等,处理器204执行操作系统以对交换机200进行控制。报文处理模块可以用于生成DHCP请求。处理芯片210工作时,支持交换机200的转发面。处理芯片210内设置有存储器用于存储处理器204发送的流表,该存储器可以为RAM、ROM、快闪存储器、HDD、SSD、三态内容寻址内存(ternary content addressable memory)中任意一种或多种的组合。
处理器204也可以通过CPU实现。此情况下,处理器204的CPU工作时,支持交换机200的管理面和转发面。处理器204通过通信接口206接收控制器下发的用于生成流表的内容,并生成对应的流表并发送至存储器208。存储器208中还存储有流表匹配模块,处理器204根据流表匹配模块将报文与流表匹配,并且按照流表的动作域处理报文。
图13提供了一种控制器400。控制器400包括总线402、处理器404、通信接口406和存储器408。处理器404、存储器408和通信接口406之间通过总线402通信。通信接口406用于与交换机通信。
其中,处理器404可以为CPU。存储器408可以包括易失性存储器,例如RAM。或者,存储器408可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD。控制器400通过通信接口406与被控制器400管理的交换机通信,例如发送任意流表集至交换机,从交换机接收报文或发送报文至交换机。
存储器408中存储有可执行代码,处理器404执行该可执行代码以执行上述流程中控制器侧的动作。具体的,存储器408中存储有操作系统、流表生成模块和报文处理模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等,处理器404执行操作系统以对控制器400进行控制。流表生成模块和报文处理模块运行于操作系统之上。报文处理模块用于识别交换机的管理端口和转发端口之间的连接关系,以及交换机间的转发端口的连接关系。流表生成模块用于记录交换机的管理端口和转发端口之间的连接关系,以及交换机间的转发端口的连接关系,生成相应的第三流表集或第四流表集,并通过通信接口406发送第三流表集或第四流表集至相应的交换机。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
结合本申请公开内容所描述的方法可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、快闪存储器、ROM、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、HDD、SSD、光盘或者本领域熟知的任何其它形式的存储介质中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件或软件来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上该的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上该仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、改进等,均应包括在本申请的保护范围之内。
Claims (12)
1.一种网络系统,其特征在于,包括第一翅片和第二翅片,每个翅片包括至少一个骨干交换机和至少一个叶子交换机,所述第一翅片的叶子交换机通过所述第一翅片的骨干交换机与所述第二翅片的骨干交换机通信,所述第二翅片的叶子交换机通过所述第二翅片的骨干交换机与所述第一翅片的骨干交换机通信,每个翅片内的叶子交换机之间通过本翅片的骨干交换机通信,每个翅片的叶子交换机的上行转发端口连接本翅片的骨干交换机,每个翅片的骨干交换机的下行转发端口连接本翅片的叶子交换机,每个翅片的骨干交换机的上行转发端口连接其他翅片的骨干交换机;
每个骨干交换机内存储有第一流表集,所述第一流表集包括第一上行流流表和第一下行流流表,所述第一上行流流表指示将通过下行转发端口接收的报文从所有转发端口发出,所述第一下行流流表指示将通过上行转发端口接收的报文丢弃;
每个叶子交换机内存储有第二流表集,所述第二流表集包括第二上行流流表和第二下行流流表,所述第二上行流流表指示将通过下行转发端口接收的报文从所有转发端口发出,所述第二下行流流表指示将通过上行转发端口接收的报文从所有下行转发端口发出。
2.如权利要求1所述的网络系统,其特征在于,所述第一翅片的第一叶子交换机的下行转发端口连接动态主机配置协议DHCP服务器;
所述第一翅片的第二叶子交换机,用于生成第一DHCP请求,将所述第一DHCP请求广播出去;
所述第一翅片的第一骨干交换机,用于从所述第一骨干交换机的下行转发端口接收所述第一DHCP请求,根据所述第一上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出;
所述第二翅片的第二骨干交换机,用于从所述第二骨干交换机的上行转发端口接收所述第一DHCP请求,根据所述第一下行流流表,丢弃所述第一DHCP请求;
所述第一叶子交换机,用于从所述第一叶子交换机的上行转发端口接收所述第一DHCP请求,根据所述第二下行流流表,将所述第一DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器;
所述第一叶子交换机,用于从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第一DHCP请求生成的第一DHCP响应,根据所述第二上行流流表,将所述第一DHCP响应从所述第一叶子交换机的所有转发端口发出;
所述第一骨干交换机,用于从所述第一骨干交换机的下行转发端口接收所述第一DHCP响应,根据所述第一上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出;
所述第二叶子交换机,用于从所述第二叶子交换机的上行转发端口接收所述第一DHCP响应,根据所述第二下行流流表,从所述第二叶子交换机的所有下行转发端口发送所述第一DHCP响应,以使所述第二叶子交换机的管理端口接收所述第一DHCP响应,所述第二叶子交换机的管理端口与所述第二叶子交换机的一个下行转发端口连接。
3.如权利要求2所述的网络系统,其特征在于,所述第一翅片的第一叶子交换机的下行转发端口连接DHCP服务器;
所述第一骨干交换机,用于生成第二DHCP请求,将所述第二DHCP请求广播出去;
所述第二骨干交换机,用于从所述第二骨干交换机的上行转发端口接收所述第二DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求;
所述第一叶子交换机,用于从所述第一叶子交换机的上行转发端口接收所述第二DHCP请求,根据所述第二下行流流表,将所述第二DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器;
所述第一叶子交换机,用于从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第二DHCP请求生成的第二DHCP响应,根据所述第二上行流流表,将所述第二DHCP响应从所述第一叶子交换机的所有转发端口发出;
所述第一骨干交换机,用于从所述第一骨干交换机的下行转发端口接收所述第二DHCP响应,根据所述第一上行流流表从所述第一骨干交换机的所有转发端口发送所述第二DHCP响应,以使所述第一骨干交换机的管理端口接收所述第二DHCP响应,所述第一骨干交换机的管理端口与所述第一骨干交换机的一个转发端口连接。
4.如权利要求2所述的网络系统,其特征在于,
所述第二骨干交换机,用于获取第三DHCP请求,将所述第三DHCP请求广播出去,所述第三DHCP请求由所述第二骨干交换机生成,或由所述第二翅片的叶子交换机生成并通过所述第二骨干交换机的下行转发端口发送给所述第二骨干交换机;
所述第一骨干交换机,用于从所述第一骨干交换机的上行转发端口接收所述第三DHCP请求,根据所述第一下行流流表,丢弃所述第三DHCP请求。
5.如权利要求2所述的网络系统,其特征在于,所述第一叶子交换机的下行转发端口连接控制器;
所述控制器,用于在所述DHCP服务器为所述第一翅片的各个交换机分配IP地址后,识别所述第一翅片的各个交换机的转发端口的连接关系,根据所述连接关系为所述第一翅片的骨干交换机生成第三流表集,为所述第一翅片的叶子交换机生成第四流表集,所述第三流表集的优先级高于所述第一流表集且所述第四流表集的优先级高于所述第二流表集,或所述第一翅片的骨干交换机收到所述第三流表集后删除所述第一流表集且所述第一翅片的叶子交换机收到所述第四流表集后删除所述第二流表集;所述第三流表集包括第一正向流流表和第一逆向流流表,所述第一正向流流表指示将类型为DHCP请求的报文转发至所述DHCP服务器;所述第一逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机,所述第四流表集包括第二正向流流表和第二逆向流流表,所述第二正向流流表指示将所述类型为DHCP请求的报文转发至所述DHCP服务器;所述第二逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机。
6.一种报文处理方法,其特征在于,所述方法用于包括第一翅片和第二翅片的网络系统,每个翅片包括至少一个骨干交换机和至少一个叶子交换机,所述第一翅片的叶子交换机通过所述第一翅片的骨干交换机与所述第二翅片的骨干交换机通信,所述第二翅片的叶子交换机通过所述第二翅片的骨干交换机与所述第一翅片的骨干交换机通信,每个翅片内的叶子交换机之间通过本翅片的骨干交换机通信,所述第一翅片的第一叶子交换机的下行转发端口连接DHCP服务器,每个翅片的叶子交换机的上行转发端口连接本翅片的骨干交换机,每个翅片的骨干交换机的下行转发端口连接本翅片的叶子交换机,每个翅片的骨干交换机的上行转发端口连接其他翅片的骨干交换机;
每个骨干交换机内存储有第一流表集,所述第一流表集包括第一上行流流表和第一下行流流表,所述第一上行流流表指示将通过下行转发端口接收的报文从所有转发端口发出,所述第一下行流流表指示将通过上行转发端口接收的报文丢弃;
每个叶子交换机内存储有第二流表集,所述第二流表集包括第二上行流流表和第二下行流流表,所述第二上行流流表指示将通过下行转发端口接收的报文从所有转发端口发出,所述第二下行流流表指示将通过上行转发端口接收的报文从所有下行转发端口发出;所述方法包括:
所述第一翅片的第二叶子交换机生成第一DHCP请求,并将所述第一DHCP请求广播出去;
所述第一翅片的第一骨干交换机从所述第一骨干交换机的下行转发端口接收所述第一DHCP请求,根据所述第一上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出;
所述第二翅片的第二骨干交换机从所述第二骨干交换机的上行转发端口接收所述第一DHCP请求,根据所述第一下行流流表,丢弃所述第一DHCP请求;
所述第一叶子交换机从所述第一叶子交换机的上行转发端口接收所述第一DHCP请求,根据所述第二下行流流表,将所述第一DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器;
所述第一叶子交换机从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第一DHCP请求生成的第一DHCP响应,根据所述第二上行流流表,将所述第一DHCP响应从所述第一叶子交换机的所有转发端口发出;
所述第一骨干交换机从所述第一骨干交换机的下行转发端口接收所述第一DHCP响应,根据所述第一上行流流表,将所述第一DHCP请求从所述第一骨干交换机的所有转发端口发出;
所述第二叶子交换机从所述第二叶子交换机的上行转发端口接收所述第一DHCP响应,根据所述第二下行流流表,将所述第一DHCP响应从所述第二叶子交换机的下行转发端口发送至所述第二叶子交换机的管理端口,所述第二叶子交换机的管理端口与所述第二叶子交换机的一个下行转发端口连接。
7.如权利要求6所述的方法,所述方法还包括:
所述第一翅片的第一骨干交换机生成第二DHCP请求,将所述第二DHCP请求广播出去;
所述第二翅片的第二骨干交换机从所述第二骨干交换机的上行转发端口接收所述第二DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求;
所述第一叶子交换机从所述第一叶子交换机的上行转发端口接收所述第二DHCP请求,根据所述第二下行流流表,将所述第二DHCP请求从所述第一叶子交换机的下行转发端口发送至所述DHCP服务器;
所述第一叶子交换机从所述第一叶子交换机的下行转发端口接收所述DHCP服务器根据所述第二DHCP请求生成的第二DHCP响应,根据所述第二上行流流表,将所述第二DHCP响应从所述第一叶子交换机的所有转发端口发出;
所述第一骨干交换机从所述第一骨干交换机的下行转发端口接收所述第二DHCP响应,根据所述第一上行流流表将所述第二DHCP响应从所述第一骨干交换机的转发端口发送至所述第一骨干交换机的管理端口,所述第一骨干交换机的管理端口与所述第一骨干交换机的一个转发端口连接。
8.如权利要求7所述的方法,所述方法还包括:
所述第二翅片的第二骨干交换机获取第三DHCP请求,将所述第三DHCP请求广播出去,所述第三DHCP请求由所述第二骨干交换机生成,或由所述第二翅片的叶子交换机生成并发送至所述第二骨干交换机的下行转发端口;
所述第一骨干交换机从所述第一骨干交换机的上行转发端口接收所述第三DHCP请求,根据所述第一下行流流表,丢弃所述第二DHCP请求。
9.一种骨干交换机,其特征在于,所述骨干交换机包括存储器、处理器、上行转发端口和下行转发端口;
所述存储器中存储有第一流表集,所述第一流表集包括第一上行流流表和第一下行流流表,所述第一上行流流表指示将通过所述下行转发端口接收的报文从所有转发端口发出;所述第一下行流流表指示将通过所述上行转发端口接收的报文丢弃;
所述处理器,用于根据所述第一流表集处理接收到的报文。
10.如权利要求9所述的骨干交换机,其特征在于,所述骨干交换机还用于接收控制器生成的第三流表集,所述第三流表集的优先级高于所述第一流表集或所述骨干交换机收到所述第三流表集后删除所述第一流表集;所述第三流表集包括第一正向流流表和第一逆向流流表,所述第一正向流流表指示将类型为DHCP请求的报文转发至DHCP服务器;所述第一逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机。
11.一种叶子交换机,其特征在于,所述叶子交换机包括存储器、处理器、上行转发端口和下行转发端口;
所述存储器中存储有第二流表集,所述第二流表集包括第二上行流流表和第二下行流流表,所述第二上行流流表指示将通过所述下行转发端口接收的报文从所有转发端口发出,所述第二下行流流表指示将通过所述上行转发端口接收的报文从所述下行转发端口发出;所述处理器,用于根据所述第二流表集处理接收到的报文。
12.如权利要求11所述的叶子交换机,其特征在于,所述叶子交换机还用于接收控制器生成的第四流表集,所述第四流表集的优先级高于所述第二流表集或所述叶子交换机收到所述第四流表集后删除所述第二流表集;所述第四流表集包括第二正向流流表和第二逆向流流表,所述第二正向流流表指示将类型为DHCP请求的报文转发至DHCP服务器;所述第二逆向流流表指示将报文转发至所述报文的目的MAC地址对应的交换机。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/084776 WO2019205082A1 (zh) | 2018-04-27 | 2018-04-27 | 一种网络及网络管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110651450A CN110651450A (zh) | 2020-01-03 |
CN110651450B true CN110651450B (zh) | 2021-05-07 |
Family
ID=68294639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880025044.6A Active CN110651450B (zh) | 2018-04-27 | 2018-04-27 | 一种网络及网络管理方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110651450B (zh) |
WO (1) | WO2019205082A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884883B (zh) * | 2022-06-16 | 2024-01-30 | 深圳星云智联科技有限公司 | 一种流量转发方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103124240A (zh) * | 2013-02-07 | 2013-05-29 | 北京华为数字技术有限公司 | 网关配置方法、网关设备及网络系统 |
CN103685009A (zh) * | 2012-08-31 | 2014-03-26 | 华为技术有限公司 | 数据包的处理方法、控制器及系统 |
US8880739B1 (en) * | 2010-05-19 | 2014-11-04 | Amazon Technologies, Inc. | Point backbones for network deployment |
CN105745882A (zh) * | 2014-12-16 | 2016-07-06 | 北京大学深圳研究生院 | 一种基于网络的扁平路由的实现方法 |
CN106059821A (zh) * | 2016-06-29 | 2016-10-26 | 重庆邮电大学 | 一种基于sdn的数据中心业务服务质量保障方法 |
US9621511B2 (en) * | 2013-09-10 | 2017-04-11 | Arista Networks, Inc. | Method and system for auto-provisioning network devices in a data center using network device location in network topology |
CN106899503A (zh) * | 2015-12-18 | 2017-06-27 | 华为技术有限公司 | 一种数据中心网络的路由选择方法及网络管理器 |
CN107005479A (zh) * | 2014-12-17 | 2017-08-01 | 华为技术有限公司 | 软件定义网络sdn中数据转发的方法、设备和系统 |
CN107211036A (zh) * | 2015-12-18 | 2017-09-26 | 华为技术有限公司 | 一种数据中心网络组网的方法以及数据中心网络 |
CN107809367A (zh) * | 2017-11-07 | 2018-03-16 | 锐捷网络股份有限公司 | 一种sdn网络的设备上线方法及sdn控制器、网络设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016039758A1 (en) * | 2014-09-11 | 2016-03-17 | Hewlett Packard Enterprise Development Lp | Non-minimum cost forwarding for packet-switched networks |
CN106130911B (zh) * | 2016-08-31 | 2019-04-05 | 星融元数据技术(苏州)有限公司 | 转发流表切片化的脊交换机所组构的云计算中心网络架构 |
-
2018
- 2018-04-27 WO PCT/CN2018/084776 patent/WO2019205082A1/zh active Application Filing
- 2018-04-27 CN CN201880025044.6A patent/CN110651450B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880739B1 (en) * | 2010-05-19 | 2014-11-04 | Amazon Technologies, Inc. | Point backbones for network deployment |
CN103685009A (zh) * | 2012-08-31 | 2014-03-26 | 华为技术有限公司 | 数据包的处理方法、控制器及系统 |
CN103124240A (zh) * | 2013-02-07 | 2013-05-29 | 北京华为数字技术有限公司 | 网关配置方法、网关设备及网络系统 |
US9621511B2 (en) * | 2013-09-10 | 2017-04-11 | Arista Networks, Inc. | Method and system for auto-provisioning network devices in a data center using network device location in network topology |
CN105745882A (zh) * | 2014-12-16 | 2016-07-06 | 北京大学深圳研究生院 | 一种基于网络的扁平路由的实现方法 |
CN107005479A (zh) * | 2014-12-17 | 2017-08-01 | 华为技术有限公司 | 软件定义网络sdn中数据转发的方法、设备和系统 |
CN106899503A (zh) * | 2015-12-18 | 2017-06-27 | 华为技术有限公司 | 一种数据中心网络的路由选择方法及网络管理器 |
CN107211036A (zh) * | 2015-12-18 | 2017-09-26 | 华为技术有限公司 | 一种数据中心网络组网的方法以及数据中心网络 |
CN106059821A (zh) * | 2016-06-29 | 2016-10-26 | 重庆邮电大学 | 一种基于sdn的数据中心业务服务质量保障方法 |
CN107809367A (zh) * | 2017-11-07 | 2018-03-16 | 锐捷网络股份有限公司 | 一种sdn网络的设备上线方法及sdn控制器、网络设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019205082A1 (zh) | 2019-10-31 |
CN110651450A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10171567B2 (en) | Load balancing computer device, system, and method | |
US10063470B2 (en) | Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof | |
EP3435606B1 (en) | Message processing method, computing device, and message processing apparatus | |
US10298449B2 (en) | Automatically generated virtual network elements for virtualized packet networks | |
US9059868B2 (en) | System and method for associating VLANs with virtual switch ports | |
US8433779B2 (en) | Computer system for allocating IP address to communication apparatus in computer subsystem newly added and method for newly adding computer subsystem to computer system | |
US10594586B2 (en) | Dialing test method, dialing test system, and computing node | |
US11223597B2 (en) | Network and network management method | |
CN105657081A (zh) | 提供dhcp服务的方法、装置及系统 | |
EP3664420A1 (en) | Managing address spaces across network elements | |
CN114070723B (zh) | 裸金属服务器的虚拟网络配置方法、系统及智能网卡 | |
CN109039771B (zh) | 一种多网卡绑定配置方法及系统 | |
WO2022060914A1 (en) | Systems and methods for zero-touch provisioning of a switch in intermediate distribution frames and main distribution frames | |
US20230026183A1 (en) | Dynamic resource management across software-defined data centers | |
CN110651450B (zh) | 一种网络及网络管理方法 | |
US10778544B2 (en) | Dynamic allocation of processing queues for control packets in software defined networks | |
US10015133B2 (en) | Value-added service deployment method, network device, and value-added service device | |
US9876689B1 (en) | Automatically generated virtual network elements for virtualized local area networks | |
US20220239627A1 (en) | Managing internet protocol (ip) address allocation to tenants in a computing environment | |
CN114765601A (zh) | 一种地址前缀获取方法及装置 | |
CN114258109A (zh) | 一种路由信息传输方法及装置 | |
WO2022143572A1 (zh) | 一种报文处理方法及相关设备 | |
CN107666440B (zh) | 交换机及交换系统 | |
WO2024087691A1 (zh) | 一种报文处理方法及相关设备 | |
WO2022012383A1 (zh) | 一种报文传输的方法、装置、系统及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220330 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |