CN103973828B - 一种dhcp客户端获取ip地址的方法及装置 - Google Patents
一种dhcp客户端获取ip地址的方法及装置 Download PDFInfo
- Publication number
- CN103973828B CN103973828B CN201310058769.4A CN201310058769A CN103973828B CN 103973828 B CN103973828 B CN 103973828B CN 201310058769 A CN201310058769 A CN 201310058769A CN 103973828 B CN103973828 B CN 103973828B
- Authority
- CN
- China
- Prior art keywords
- dhcp
- message
- host configuration
- dynamic host
- configuration protocol
- 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
Classifications
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供一种DHCP客户端获取IP地址的方法及装置,涉及通信领域,用于解决现有技术存在着的浪费网络带宽,降低网络效率,以及不方便人们维护的问题,从而为DHCP客户端获取DHCP客户端的IP地址提供了方便。该方法包括:控制器生成第一DHCP发现报文并将第一DHCP发现报文经交换机转发至DHCP服务器,以使DHCP服务器生成DHCP提供报文并将DHCP提供报文发送至交换机;控制器接收交换机上报的DHCP提供报文及交换机的用于与DHCP服务器通信的端口,并获取DHCP服务器的地址信息;控制器根据地址信息及该端口生成交换机到DHCP服务器的转发规则,以辅助DHCP客户端获取其IP地址。
Description
技术领域
本发明涉及通信领域,尤其涉及一种DHCP客户端获取IP地址的方法及装置。
背景技术
随着互联网的不断发展,由于人们在互联网上的业务对互联网提出了越来越高的传输质量的要求,因此,一种支持网络创新研究的新型网络openflow网络出现了。
若openflow网络中的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)客户端需获得IP(Internet Protocol,互联网协议)地址,则DHCP客户端在启动时就会广播用于获取IP地址的DHCP发现报文,然后,openflow网络的控制器将接收到的该DHCP发现报文按照普通报文的转发规则进行广播处理,最终当网络中的DHCP服务器接收到该DHCP发现报文后,将会发送一个包括分配给该DHCP客户端的IP地址的DHCP提供报文给该DHCP客户端,以使得该DHCP客户端获取IP地址。或者,可在openflow网络的控制器中手动预先配置DHCP服务器的地址等信息,以使得若DHCP客户端发送DHCP发现报文请求获取IP地址,控制器则可根据预先配置的DHCP服务器的地址等信息生成用于指示DHCP客户端获取IP地址的网络路径的转发规则,从而使得该DHCP客户端根据该转发规则指示的网络路径获取IP地址。
然而,若以广播的形式处理DHCP发现报文,则会导致该网络中其他DHCP客户端及交换机均接收到了该DHCP发现报文,浪费了网络带宽,降低了网络效率;若采用手动预先配置DHCP服务器的地址等信息的方法,一旦DHCP服务器的地址等信息被修改,则需要手动修改控制器的配置信息,给人们维护带来了极大的不便。
发明内容
本发明的实施例提供一种DHCP客户端获取IP地址的方法及装置,用于解决现有技术存在着的浪费网络带宽,降低网络效率,以及不方便人们维护的问题,从而为DHCP客户端获取DHCP客户端的IP地址提供了方便。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种动态主机配置协议DHCP客户端获取因特网协议IP地址的方法,包括:
控制器生成第一DHCP发现报文;
所述控制器发送所述第一DHCP发现报文至交换机,以使所述交换机将所述第一DHCP发现报文转发至DHCP服务器,进而使所述DHCP服务器生成与所述第一DHCP发现报文对应的DHCP提供报文后,所述DHCP服务器将所述DHCP提供报文发送至所述交换机,所述DHCP提供报文包括所述DHCP服务器的地址信息;
所述控制器接收所述交换机上报的报文,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口,并根据所述DHCP提供报文获取所述DHCP服务器的地址信息;
所述控制器根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,使得所述交换机能够根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的I P地址,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。
在第一方面的第一种可能的实现方式中,所述控制器根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,使得所述交换机能够根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址包括:
所述控制器接收所述交换机上报的所述第二DHCP发现报文;
所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述控制器发送所述转发规则至所述交换机,以使所述交换机根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
在第一方面的第二种可能的实现方式中,所述控制器周期性地顺序执行第一方面所述的步骤。
结合前述的第一方面或第一方面的第一种可能的实现方式至第二种可能的实现方式中的任一种实现方式,在第三种可能的实现方式中,所述控制器及所述交换机为openflow网络中的控制器及交换机。
结合前述的第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述控制器发送所述第一DHCP发现报文至交换机,以使所述交换机将所述第一DHCP发现报文转发至DHCP服务器具体包括:
所述控制器发送携带有所述第一DHCP发现报文的包输出消息packet_out至所述交换机,以使所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器。
结合前述的第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述控制器接收所述交换机上报的报文,所述上报的报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口具体包括:
所述控制器接收所述交换机上报的包输入消息packet_in,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
结合前述的第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的介质访问控制层MAC地址。
结合前述的第一方面或第一方面的第一种可能的实现方式至第六种可能的实现方式中的任一种实现方式,在第七种可能的实现方式中,所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息具体包括:
所述控制器根据所述DHCP提供报文获取所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
第二方面,本发明实施例提供一种DHCP客户端获取IP地址的方法,包括:
交换机接收来自控制器的第一DHCP发现报文,所述第一DHCP发现报文为所述控制器生成的;
所述交换机转发所述第一DHCP发现报文至DHCP服务器,以使所述DHCP服务器生成与所述第一DHCP发现报文对应的DHCP提供报文,所述DHCP提供报文包括所述DHCP服务器的地址信息;
所述交换机接收来自所述DHCP服务器的所述DHCP提供报文;
所述交换机上报报文至所述控制器,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口,以使所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息,并根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径;
所述交换机根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。
在第二方面的第一种可能的实现方式中,所述交换机根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址包括:
所述交换机接收来自所述DHCP客户端的所述第二DHCP发现报文;
所述交换机上报所述第二DHCP发现报文至所述控制器,以使所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述交换机接收来自所述控制器的所述转发规则,并根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,以使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
结合前述的第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器及所述交换机为openf low网络中的控制器及交换机。
结合前述的第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述交换机接收来自控制器的第一DHCP发现报文;所述交换机转发所述第一DHCP发现报文至DHCP服务器具体包括:
所述交换机接收来自所述控制器的携带有所述第一DHCP发现报文的包输出消息,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器;
所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器。
结合前述的第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述交换机上报报文至所述控制器,所述上报的报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口具体包括:
所述交换机上报包输入消息至所述控制器,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
结合前述的第二方面或第二方面的第一种可能的实现方式至第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,
所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
第三方面,本发明实施例提供一种控制器,包括:
第一处理单元,用于生成第一DHCP发现报文;
第一发送单元,用于发送所述第一DHCP发现报文至所述交换机,以使所述交换机将所述第一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客户端的IP地址时发送的。
在第三方面的第一种可能的实现方式中,
所述第一接收单元,还用于接收所述交换机上报的所述第二DHCP发现报文;
所述第一处理单元,还用于根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述第一发送单元,还用于发送所述转发规则至所述交换机,以使所述交换机根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
结合前述的第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器及所述交换机为openflow网络中的控制器及交换机。
结合前述的第三方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述第一发送单元,具体用于发送携带有所述第一DHCP发现报文的包输出消息至所述交换机,以使所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器。
结合前述的第三方面的第二种可能的实现方式,在第四种可能的实现方式中,
所述第一接收单元,具体用于接收所述交换机上报的包输入消息,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
结合前述的第三方面或第三方面的第一种可能的实现方式至第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
结合前述的第三方面或第三方面的第一种可能的实现方式至第五种可能的实现方式中的任一种实现方式,在第六种可能的实现方式中,
所述第一处理单元,具体用于根据所述DHCP提供报文获取所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
第四方面,本发明实施例提供一种交换机,包括:
第二接收单元,用于接收来自控制器的第一DHCP发现报文,所述第一DHCP发现报文为所述控制器生成的;
第二发送单元,用于转发所述第一DHCP发现报文至DHCP服务器,以使所述DHCP服务器生成与所述第一DHCP发现报文对应的DHCP提供报文,所述DHCP提供报文包括所述DHCP服务器的地址信息;
所述第二接收单元,还用于接收来自所述DHCP服务器的所述DHCP提供报文;
所述第二发送单元,还用于上报报文至所述控制器,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口,以使所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息,并根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径;
所述第二发送单元,还用于根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。
在第四方面的第一种可能的实现方式中,
所述第二接收单元,还用于接收来自所述DHCP客户端的所述第二DHCP发现报文;
所述第二发送单元,还用于上报所述第二DHCP发现报文至所述控制器,以使所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述第二接收单元,还用于接收来自所述控制器的所述转发规则;
所述第二发送单元,还用于根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,以使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
结合前述的第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器及所述交换机为openflow网络中的控制器及交换机。
结合前述的第四方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述第二接收单元,具体用于接收来自所述控制器的携带有所述第一DHCP发现报文的包输出消息,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器;
所述第二发送单元,具体用于根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器。
结合前述的第四方面的第二种可能的实现方式,在第四种可能的实现方式中,
所述第二发送单元,具体用于上报包输入消息至所述控制器,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
结合前述的第四方面或第四方面的第一种可能的实现方式至第四种可能的实现方式中的任一种实现方式,在第五种可能的实现方式中,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
本发明实施例提供一种DHCP客户端获取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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示该交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种DHCP客户端获取IP地址的方法的方法流程图一;
图2为本发明实施例提供的一种DHCP客户端获取IP地址的方法的方法流程图二;
图3为本发明实施例提供的一种DHCP客户端获取IP地址的方法的方法流程图三;
图4为本发明实施例提供的一种控制器的结构示意图一;
图5为本发明实施例提供的一种交换机的结构示意图一;
图6为本发明实施例提供的一种控制器的结构示意图二;
图7为本发明实施例提供的一种交换机的结构示意图二;
图8为本发明实施例提供的一种通信系统框图一;
图9为本发明实施例提供的一种通信系统框图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供一种DHCP客户端获取IP地址的方法,涉及控制器侧,如图1所示,包括:
S101、控制器生成第一DHCP发现报文。
控制器可主动生成第一DHCP发现报文,第一DHCP发现报文用于触发DHCP服务器生成与第一DHCP发现报文对应的DHCP提供报文,以获取DHCP服务器在网络中的位置。
openf low网络中包括控制器、DHCP客户端、DHCP服务器以及交换机,DHCP客户端与DHCP服务器在控制器的控制下通过交换机进行数据包的传输。
其中,openf low网络实现了数据包转发层和控制层的分离。在openf low网络中,数据包的转发过程由交换机和控制器共同完成,其中,交换机主要负责数据包的转发,控制器主要负责决定数据包的转发规则。交换机接收到数据包后,首先查询存储在交换机中的转发流表是否包括接收到的数据包的转发规则,若未查找到匹配的转发规则,交换机则将该数据包转发至控制器,由控制器来确定该数据包的转发规则,并将该数据包的转发规则下发至相关交换机,即,控制器通过控制交换机中的转发流表,从而实现对整个网络的集中控制。
需要说明的是,转发流表为交换机的一个重要组成部分,转发流表可用来指示交换机将接收到的数据包从哪些端口来进行转发。每个交换机中存储的转发流表包括多个转发流表项,每个转发流表项就为一条转发规则,交换机按照匹配的转发规则对接收到的数据包进行转发。
进一步地,转发规则由匹配域、计数器及操作指令组成,其中匹配域为转发规则的标识,计数器用来计数转发规则的统计数据,操作指令用来指示与该转发规则匹配的数据包应该执行的操作。匹配域中包括转发数据包的目标端口、源端MAC(Media AccessControl,介质访问控制层)地址、目标端MAC地址、源端IP地址、目标端IP地址等信息。
举例来说,若一个DHCP客户端需发送数据包至另一个DHCP客户端,交换机在接收到来自该DHCP客户端的数据包之后,交换机则根据该数据包中携带的该DHCP客户端的MAC地址和该DHCP客户端的IP地址以及另一个DHCP客户端的MAC地址和另一个DHCP客户端的IP地址等信息,在转发流表中查找匹配的转发规则,若查找到匹配的转发规则,交换机则根据该转发规则中的操作指令对该数据包进行操作,如对该数据包进行转发或丢弃,也就是说,若转发规则中的操作指令允许交换机对该数据包进行转发,交换机则可按照该转发规则转发该数据包至转发规则中指示的目标端口。
本领域普通技术人员可以理解,openf low网络中控制器根据DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口等信息可生成交换机到DHCP服务器的转发规则,即从交换机至DHCP服务器的网络路径,控制器生成转发规则的具体方法均为现有技术,此处不再赘述。
S102、控制器发送第一DHCP发现报文至交换机,以使交换机将第一DHCP发现报文转发至DHCP服务器,进而使DHCP服务器生成与第一DHCP发现报文对应的DHCP提供报文后,DHCP服务器将DHCP提供报文发送至交换机,DHCP提供报文包括DHCP服务器的地址信息。
控制器将生成的第一DHCP发现报文发送至openf low网络中的交换机,交换机接收到控制器生成的第一DHCP发现报文后,将该第一DHCP发现报文转发至DHCP服务器,以使得DHCP服务器接收到该第一DHCP发现报文,并根据该第一DHCP发现报文生成相对应的DHCP提供报文,并将该DHCP提供报文返回至交换机,以使得交换机将该DHCP提供报文转发至控制器。
DHCP提供报文可以包括DHCP服务器的地址信息。
特别的,上述控制器及交换机可以为openf low网络中的控制器及交换机。
S103、控制器接收交换机上报的报文,该报文包括DHCP提供报文以及交换机的用于与DHCP服务器通信的端口,并根据DHCP提供报文获取DHCP服务器的地址信息。
控制器接收到来自交换机上报的报文后,该报文中包括DHCP提供报文以及交换机的用于与DHCP服务器通信的端口,控制器根据该DHCP提供报文获取DHCP服务器的地址信息。
S104、控制器根据该地址信息以及该端口生成交换机到DHCP服务器的转发规则,使得交换机能够根据转发规则转发DHCP客户端发送的第二DHCP发现报文至DHCP服务器,进而使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址,转发规则用于指示从交换机至DHCP服务器的网络路径,第二DHCP发现报文为DHCP客户端需获取DHCP客户端的IP地址时发送的。
若有DHCP客户端需获取DHCP客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及该端口等信息,生成交换机到DHCP服务器的转发规则,该转发规则用于指示从交换机至DHCP服务器的网络路径,即DHCP客户端从DHCP服务器获取DHCP客户端的IP地址的网络路径,进而使得交换机根据该转发规则指示的网络路径转发DHCP客户端发送的用于获取DHCP客户端的IP地址的第二DHCP发现报文至DHCP服务器,以获得DHCP服务器为DHCP客户端分配的DHCP客户端的IP地址,避免了现有技术中控制器广播处理DHCP客户端发送的DHCP发现报文而导致的网络中DHCP客户端发送的DHCP客户端发现报文泛滥的问题;或者在控制器中手动预先配置DHCP服务器的地址等信息而导致的维护不方便的问题。
需要说明的是,控制器根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成的交换机到DHCP服务器的转发规则可以包括交换机的MAC地址、交换机的IP地址、DHCP服务器的MAC地址、DHCP服务器的IP地址、交换机的用于与DHCP服务器通信的端口及指示交换机转发数据包的操作指令。
进一步地,DHCP客户端发送第二DHCP发现报文的方式可以为广播,也可以为组播,还可以为其他任何满足要求的发送方式,本发明不做限制。
本发明实施例还提供一种DHCP客户端获取IP地址的方法,涉及交换机侧,如图2所示,包括:
S201、交换机接收来自控制器的第一DHCP发现报文,第一DHCP发现报文为控制器生成的。
控制器主动生成第一DHCP发现报文后,将该第一DHCP发现报文发送至交换机,即交换机接收来自控制器的第一DHCP发现报文。
S202、交换机转发第一DHCP发现报文至DHCP服务器,以使DHCP服务器生成与第一DHCP发现报文对应的DHCP提供报文,DHCP提供报文包括DHCP服务器的地址信息。
交换机接收到第一DHCP发现报文后,将该第一DHCP发现报文转发至DHCP服务器,以使得DHCP服务器生成与第一DHCP发现报文对应的DHCP提供报文,DHCP提供报文可以包括DHCP服务器的地址信息。
S203、交换机接收来自DHCP服务器的DHCP提供报文。
DHCP服务器生成DHCP提供报文后,DHCP服务器将DHCP提供报文发送至交换机。
S204、交换机上报报文至控制器,该报文包括DHCP提供报文以及交换机的用于与DHCP服务器通信的端口,以使控制器根据DHCP提供报文获取DHCP服务器的地址信息,并根据该地址信息以及该端口生成交换机到DHCP服务器的转发规则,转发规则用于指示从交换机至DHCP服务器的网络路径。
交换机接收到来自DHCP服务器的DHCP提供报文后,交换机上报报文至控制器,该报文包括DHCP提供报文以及交换机的用于与DHCP服务器通信的端口,从而,以使控制器可根据DHCP提供报文获取DHCP服务器的地址信息,进而,若有DHCP客户端需获取DHCP客户端的IP地址,控制器则可根据该地址信息以及该端口生成交换机到DHCP服务器的转发规则,并将该转发规则下发至交换机,其中,转发规则用于指示从交换机至DHCP服务器的网络路径。
S205、交换机根据转发规则转发DHCP客户端发送的第二DHCP发现报文至DHCP服务器,进而使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址,第二DHCP发现报文为DHCP客户端需获取DHCP客户端的IP地址时发送的。
若有DHCP客户端需获取DHCP客户端的IP地址,交换机可直接根据控制器下发的交换机到DHCP服务器的转发规则,将DHCP客户端发送的第二DHCP发现报文转发至DHCP服务器,以使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址,其中,第二DHCP发现报文为DHCP客户端需获取DHCP客户端的IP地址时发送的。
本发明实施例提供一种DHCP客户端获取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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
实施例二
本发明实施例提供一种DHCP客户端获取IP地址的方法,如图3所示,包括:
S301、控制器生成第一DHCP发现报文。
openflow网络实现了数据包转发层和控制层的分离。在openflow网络中,数据包的转发过程由交换机和控制器共同完成,其中,交换机主要负责数据包的转发,控制器主要负责决定数据包的转发规则。交换机接收到数据包后,首先查询存储在交换机中的转发流表是否包括接收到的数据包的转发规则,若未查找到匹配的转发规则,交换机则将该数据包转发至控制器,由控制器来确定该数据包的转发规则,并将该数据包下发至相关交换机,即,控制器通过控制交换机中的转发流表,从而实现对整个网络的集中控制。
需要说明的是,转发流表为交换机的一个重要组成部分,转发流表可用来指示交换机将接收到的数据包从哪些端口来进行转发。每个交换机中存储的转发流表包括多个转发流表项,每个转发流表项就为一条转发规则,交换机按照匹配的转发规则对接收到的数据包进行转发。
进一步地,转发规则由匹配域、计数器及操作指令组成,其中匹配域为转发规则的标识,计数器用来计数转发规则的统计数据,操作指令用来指示与该转发规则匹配的数据包应该执行的操作。匹配域中包括转发数据包的目标端口、源端MAC地址、目标端MAC地址、源端IP地址、目标端IP地址等信息。
举例来说,若一个DHCP客户端需发送数据包至另一个DHCP客户端,交换机在接收到来自该DHCP客户端的数据包之后,交换机则根据该数据包中携带的该DHCP客户端的MAC地址和该DHCP客户端的IP地址以及另一个DHCP客户端的MAC地址和另一个DHCP客户端的IP地址等信息,在转发流表中查找匹配的转发规则,若查找到匹配的转发规则,交换机则根据该转发规则中的操作指令对该数据包进行操作,如对该数据包进行转发或丢弃,也就是说,若转发规则中的操作指令允许交换机对该数据包进行转发,交换机则可按照该转发规则转发该数据包至转发规则中指示的目标端口。
本领域普通技术人员可以理解,openflow网络中控制器根据DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口等信息可生成交换机到DHCP服务器的转发规则,即从交换机至DHCP服务器的网络路径,控制器生成转发规则的具体方法均为现有技术,此处不再赘述。
控制器可主动生成第一DHCP发现报文,以用来获取DHCP服务器的地址信息,以及交换机的用于与DHCP服务器通信的端口等信息,其中,DHCP服务器的地址信息可以包括DHCP服务器的IP地址和DHCP服务器的MAC地址。
上述第一DHCP发现报文可以包括控制器的MAC地址、控制器的IP地址、广播MAC地址、广播IP地址以及引导程序协议,其中引导程序协议可以包括UDP(User DatagramProtocol,用户数据报协议)和DHCP。
S302、控制器发送携带有第一DHCP发现报文的包输出消息(packet_out)至交换机。
控制器生成第一DHCP发现报文后,控制器利用openflow网络中的包输出消息将第一DHCP发现报文(即包输出消息携带第一DHCP发现报文)发送至交换机。
本领域普通技术人员可以理解,本发明实施例中,交换机利用包输出消息将第一DHCP发现报文转发至DHCP服务器时可从交换机的端口进行转发,该交换机的端口可以包括非交换机之间的链路连接端口,也可以包括非交换机之间的链路连接端口和交换机之间的链路连接端口。
需要说明的是,为了防止交换机转发第一DHCP发现报文时进入交换机之间的链路进行循环,因此,上述交换机的端口不能全部为交换机之间的链路连接端口。
包输出消息为openflow网络中的指令消息,控制器发送数据包时可根据openflow网络中的包输出消息作为数据包的载体,即将数据包承载于包输出消息之上发送至交换机。
本发明实施例中,openflow网络中的控制器将第一DHCP发现报文承载于包输出消息之上发送至该网络中的交换机,以使交换机根据该包输出消息,将该第一DHCP发现报文转发至目标端口。
特别的,上述控制器及交换机可以为openflow网络中的控制器及交换机。
S303、交换机转发第一DHCP发现报文至DHCP服务器。
交换机接收到来自控制器的携带有第一DHCP发现报文的包输出消息后,交换机根据包输出消息将第一DHCP发现报文转发至DHCP服务器,以使得DHCP服务器接收到来自交换机的第一DHCP发现报文后,根据第一DHCP发现报文生成与第一DHCP发现报文对应的DHCP提供报文,并将DHCP提供报文发送至交换机,其中,包输出消息可用于指示交换机转发第一DHCP发现报文至DHCP服务器,DHCP提供报文可以包括DHCP服务器的地址信息。
S304、交换机接收来自DHCP服务器的DHCP提供报文。
交换机接收来自DHCP服务器的DHCP提供报文,DHCP提供报文具体可以包括DHCP服务器的IP地址和DHCP服务器的MAC地址。
S305、控制器接收交换机上报的包输入消息(packet_in),包输入消息包括openflow消息头和净荷,其中,openflow消息头包括交换机的用于与DHCP服务器通信的端口,净荷包括DHCP提供报文。
交换机接收到来自DHCP服务器的DHCP提供报文后,交换机根据包输入消息转发DHCP提供报文至控制器,即控制器接收交换机上报的报文,该报文包括DHCP提供报文以及交换机的用于与DHCP服务器通信的端口。
包输入消息为openflow网络中的指令消息,交换机发送数据包至控制器时,交换机可根据openflow网络中的包输入消息作为数据包的载体,即将该数据包承载于包输入消息之上发送至控制器。
S306、控制器根据接收到的DHCP提供报文获取DHCP服务器的地址信息,DHCP服务器的地址信息包括DHCP服务器的IP地址和DHCP服务器的MAC地址。
控制器根据接收到的来自交换机上报的DHCP提供报文获取DHCP服务器的地址信息,即DHCP服务器的IP地址和DHCP服务器的MAC地址,以使得若有DHCP客户端需获取DHCP客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成交换机到DHCP服务器的转发规则,该转发规则用于指示从交换机至DHCP服务器的网络路径。
需要说明的是,控制器根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成的交换机到DHCP服务器的转发规则可以包括交换机的MAC地址、交换机的IP地址、DHCP服务器的MAC地址、DHCP服务器的IP地址、交换机的用于与DHCP服务器通信的端口及指示交换机转发数据包的操作指令。
进一步地,本发明实施例中,控制器需周期性的执行S301-S306,以使得控制器可不断更新获取到的DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息,从而防止DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息发生改变(例如DHCP服务器位置发生改变而导致上述信息也一起改变)导致的网络路径出错的问题。
可以理解的是,上述控制器周期性的执行S301-S306,具体可以为控制器按照预设的时间不断的重复执行S301-S306,预设时间可以为1分钟,也可以为3分钟,还可以为5分钟等任何满足要求的时间,本发明不做限制。
特别地,控制器在生成前一个第一DHCP发现报文后到生成下一个第一DHCP发现报文前这段时间内,控制器可执行完S301-S306,即控制器可完成一次获取DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息的过程。
S307、交换机接收来自DHCP客户端的第二DHCP发现报文,第二DHCP发现报文为DHCP客户端需获取DHCP客户端的IP地址时发送的。
若DHCP客户端需从DHCP服务器获取DHCP客户端的IP地址,DHCP客户端则在openflow网络中发送第二DHCP发现报文,交换机接收到DHCP客户端发送的第二DHCP发现报文后,交换机在交换机的转发流表中查找交换机到DHCP服务器的转发规则,若未查找到该转发规则,交换机则将该第二DHCP发现报文上报至控制器。
当然,若交换机在交换机的转发流表中查找到交换机到DHCP服务器的转发规则,交换机则直接根据该转发规则将该第二DHCP发现报文转发至DHCP服务器。
特别的,第二DHCP发现报文可以包括DHCP客户端的MAC地址、全零的IP地址、广播MAC地址、广播IP地址以及引导程序协议,引导程序协议可以包括UDP和DHCP。
进一步地,DHCP客户端发送第二DHCP发现报文的方式可以为广播,也可以为组播,还可以为其他任何满足要求的发送方式,本发明不做限制。
S308、控制器接收交换机上报的第二DHCP发现报文。
若交换机在交换机的转发流表中未查找到该转发规则,交换机则将该第二DHCP发现报文上报至控制器,即控制器接收交换机上报的第二DHCP发现报文。
S309、控制器根据DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口,生成交换机到DHCP服务器的转发规则,转发规则用于指示从交换机至DHCP服务器的网络路径。
控制器接收到交换机转发的第二DHCP发现报文后,控制器根据S305与S306获取的DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口等信息,生成交换机到DHCP服务器的转发规则,该转发规则用于指示从交换机至DHCP服务器的网络路径。
S310、控制器发送转发规则至交换机,以使交换机根据转发规则,发送第二DHCP发现报文至DHCP服务器,进而使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址。
控制器将生成的转发规则发送至交换机,以使交换机可以根据该转发规则,将第二DHCP发现报文转发至DHCP服务器,从而使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址。
需要说明的是,若openflow网络中有DHCP客户端需从DHCP服务器获取DHCP客户端的IP地址时,控制器才执行S305-S307,以使得DHCP服务器可为DHCP客户端分配DHCP客户端的IP地址。
本发明实施例中,若控制器周期性地获取DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息,则网络中一旦有DHCP客户端需从DHCP服务器获取DHCP客户端的IP地址,控制器可直接根据获取的DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息生成交换机到DHCP服务器的转发规则,该转发规则用于指示交换机至DHCP服务器的网络路径,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器广播处理DHCP客户端发送的用于获取DHCP客户端的IP地址的DHCP发现报文而导致的网络中DHCP客户端发送的DHCP发现报文泛滥的问题;或者在控制器中手动预先配置DHCP服务器的地址等信息而导致的维护不方便的问题。
需要说明的是,本发明实施例提供的获取服务器网络路径的方法同时适用于“带内”通信和“带外”通信。“带内”是指网络中交换机和控制器之间的控制信道与交换机之间的数据信道为同一个物理信道,即控制信道借助于数据信道传输控制信息;“带外”是指网络中交换机和控制器之间的控制信道与交换机之间的数据信道为不同的物理信道。
本发明实施例提供一种DHCP客户端获取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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
实施例三
如图4所示,本发明实施例提供一种控制器1,包括:
第一处理单元10,用于生成第一DHCP发现报文。
第一发送单元12,用于发送所述第一DHCP发现报文至所述交换机,以使所述交换机将所述第一DHCP发现报文转发至所述DHCP服务器,进而使所述DHCP服务器生成与所述第一DHCP发现报文对应的所述DHCP提供报文后,所述DHCP服务器将所述DHCP提供报文发送至所述交换机,所述DHCP提供报文包括所述DHCP服务器的地址信息。
第一接收单元11,用于接收所述交换机上报的报文,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口。
所述第一处理单元10,还用于根据所述DHCP提供报文获取所述DHCP服务器的地址信息,并根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,使得所述交换机能够根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。。
所述第一DHCP发现报文可以包括所述控制器的MAC地址、所述控制器的IP地址、广播MAC地址、广播IP地址以及引导程序协议,所述引导程序协议可以包括UDP和DHCP。
所述第二DHCP发现报文可以包括所述DHCP客户端的MAC地址、全零的IP地址、广播MAC地址、广播IP地址以及引导程序协议,所述引导程序协议可以包括UDP和DHCP。
进一步地,所述第一接收单元11,还用于接收所述交换机上报的所述第二DHCP发现报文。
所述第一处理单元10,还用于根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则。
所述第一发送单元12,还用于发送所述转发规则至所述交换机,以使所述交换机根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
进一步地,所述控制器1及所述交换机可以为openflow网络中的控制器及交换机。
进一步地,所述第一发送单元12,具体用于发送携带有所述第一DHCP发现报文的包输出消息至所述交换机,以使所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器。
进一步地,所述第一接收单元11,具体用于接收所述交换机上报的包输入消息,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
进一步地,所述DHCP服务器的地址信息可以包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
进一步地,所述第一处理单元10,具体用于根据所述DHCP提供报文获取所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
本发明实施例提供一种控制器,控制器首先主动生成第一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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示该交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
如图5所示,本发明实施例提供一种交换机2,包括:
第二接收单元20,用于接收来自控制器的第一DHCP发现报文,所述第一DHCP发现报文为所述控制器生成的;
第二发送单元21,用于转发所述第一DHCP发现报文至DHCP服务器,以使所述DHCP服务器生成与所述第一DHCP发现报文对应的DHCP提供报文,所述DHCP提供报文包括所述DHCP服务器的地址信息。
所述第二接收单元20,还用于接收来自所述DHCP服务器的所述DHCP提供报文。
所述第二发送单元21,还用于上报报文至所述控制器,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口,以使所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息,并根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径。
所述第二发送单元21,还用于根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。
进一步地,所述第二接收单元20,还用于接收来自所述DHCP客户端的所述第二DHCP发现报文。
所述第二发送单元21,还用于上报所述第二DHCP发现报文至所述控制器,以使所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则。
所述第二接收单元20,还用于接收来自所述控制器的所述转发规则。
所述第二发送单元21,还用于根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,以使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
进一步地,所述控制器及所述交换机2可以为openflow网络中的控制器及交换机。
进一步地,所述第二接收单元20,具体用于接收来自所述控制器的携带有所述第一DHCP发现报文的包输出消息,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器;
所述第二发送单元21,具体用于根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器。
进一步地,所述第二发送单元21,具体用于上报包输入消息至所述控制器,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
进一步地,所述DHCP服务器的地址信息可以包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
本发明实施例提供一种交换机,交换机将控制器主动生成的第一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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
实施例四
如图6所示,本发明实施例提供一种控制器1,包括第一处理器13、第一接收器14、第一发送器15以及第一存储器16,其中,
第一处理器13为控制器1的控制以及处理中心,通过运行存储在第一存储器16中的软件程序,并调用及处理存储在第一存储器16中的数据,从而控制控制器1进行收发信号,以及实现控制器1的其他功能。
第一发送器15可用于向网络中的其他设备发送信号,特别地,若网络中的交换机需从控制器1接收某种信息,第一发送器15则可发送该信息至网络中的交换机。
第一接收器14可用于接收来自网络中的其他设备的信号,特别地,若网络中的交换机需向控制器1发送某种信息,第一接收器14则可接收来自网络中的交换机的该信息。
第一存储器16可用于存储软件程序及数据,以使得第一处理器13可通过运行存储在第一存储器16中的软件程序,从而实现控制器1的收发信号以及其他功能。
本发明实施例中,第一处理器13生成第一DHCP发现报文并将该第一DHCP发现报文存储于第一存储器16中;第一处理器13指示第一发送器15将该第一DHCP发现报文发送至交换机,以使交换机将该第一DHCP发现报文转发至DHCP服务器,进而使DHCP服务器生成与该第一DHCP发现报文对应的DHCP提供报文后,DHCP服务器将该DHCP提供报文发送至交换机,DHCP提供报文包括DHCP服务器的地址信息;第一接收器14接收交换机上报的报文后,该报文包括DHCP提供报文以及交换机的用于与DHCP服务器通信的端口,第一处理器13对DHCP提供报文进行处理;然后,第一处理器13根据第一存储器16中的DHCP提供报文获取DHCP服务器的地址信息,并将该地址信息及交换机的用于与DHCP服务器通信的端口存储于第一存储器16中;若DHCP客户端需从DHCP服务器获取DHCP客户端的IP地址,DHCP客户端则发送第二DHCP发现报文至交换机;交换机接收到第二DHCP发现报文后,交换机在交换机的转发流表中查找交换机到DHCP服务器的转发规则,若未查找到该转发规则,交换机则上报第二DHCP发现报文至控制器1,即第一接收器14接收交换机上报的第二DHCP发现报文;然后,第一处理器13调出第一存储器16中的DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口,并根据DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口生成该转发规则,以及将该转发规则存储于第一存储器16中,该转发规则用于指示从交换机至DHCP服务器的网络路径;第一处理器13指示第一发送器15将第一存储器16中存储的该转发规则发送至交换机,以使交换机根据该转发规则,将第二DHCP发现报文转发至DHCP服务器,进而使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址。
所述第一DHCP发现报文可以包括所述控制器的MAC地址、所述控制器的IP地址、广播MAC地址、广播IP地址以及引导程序协议,所述引导程序协议可以包括UDP和DHCP。
所述第二DHCP发现报文可以包括所述DHCP客户端的MAC地址、全零的IP地址、广播MAC地址、广播IP地址以及引导程序协议,所述引导程序协议可以包括UDP和DHCP。
进一步地,控制器1及交换机可以为openflow网络中的控制器及交换机。
进一步地,第一发送器15,具体用于发送携带有第一DHCP发现报文的包输出消息至交换机,以使交换机根据包输出消息,将第一DHCP发现报文转发至DHCP服务器,包输出消息用于指示转发第一DHCP发现报文至DHCP服务器。
进一步地,第一接收器14,具体用于接收交换机上报的包输入消息,包输入消息包括openflow消息头和净荷,其中,openflow消息头包括交换机的用于与DHCP服务器通信的端口,净荷包括DHCP提供报文。
进一步地,DHCP服务器的地址信息可以包括DHCP服务器的IP地址和DHCP服务器的MAC地址。
进一步地,第一处理器13,具体用于根据DHCP提供报文获取DHCP服务器的IP地址和DHCP服务器的MAC地址,并将DHCP服务器的IP地址和DHCP服务器的MAC地址存储于第一存储器16中。
本发明实施例提供一种控制器,控制器首先主动生成第一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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
如图7所示,本发明实施例提供一种交换机2,包括第二处理器22、第二接收器23、第二发送器24以及第二存储器25,其中,
第二处理器22为交换机2的控制以及处理中心,通过运行存储在第二存储器25中的软件程序,并调用及处理存储在第二存储器25中的数据,从而控制交换机2进行收发信号,以及实现交换机2的其他功能。
第二发送器24可用于向网络中的其他设备发送信号,特别地,若网络中的控制器需从交换机2接收某种信息,第二发送器24则可发送该信息至网络中的控制器。
第二接收器23可用于接收来自网络中的其他设备的信号,特别地,若网络中的控制器需向交换机2发送某种信息,第二接收器23则可接收来自网络中的控制器的该信息。
第二存储器25可用于存储软件程序及数据,以使得第二处理器22可通过运行存储在第二存储器25中的软件程序,从而实现交换机2的收发信号以及其他功能。
本发明实施例中,第二接收器23接收来自控制器的该第一DHCP发现报文后,第二处理器22将该第一DHCP发现报文进行处理后存储于第二存储器25中;然后,第二处理器22指示第二发送器24将该第一DHCP发现报文转发至DHCP服务器,以使DHCP服务器生成与该第一DHCP发现报文对应的DHCP提供报文,并将该DHCP提供报文发送至交换机,即第二接收器23接收来自DHCP服务器的该DHCP提供报文,DHCP提供报文包括DHCP服务器的地址信息;第二处理器22将该DHCP提供报文进行处理后存储于第二存储器25中,并指示第二发送器24上报报文至控制器,该报文包括该DHCP提供报文以及交换机的用于与DHCP服务器通信的端口,从而使得控制器根据该DHCP提供报文获取DHCP服务器的地址信息并根据地址信息以及交换机的用于与DHCP服务器通信的端口生成交换机到DHCP服务器的转发规则,转发规则用于指示从交换机至DHCP服务器的网络路径;若DHCP客户端需从DHCP服务器获取DHCP客户端的IP地址,DHCP客户端则发送第二DHCP发现报文至交换机,即第二接收器23先接收到第二DHCP发现报文;第二处理器22将第二DHCP发现报文进行处理后存储于第二存储器25中,并在交换机的转发流表中查找交换机到DHCP服务器的转发规则;若未查找到该转发规则,第二处理器22则指示第二发送器24上报第二DHCP发现报文至控制器,进而使得控制器根据保存的DHCP服务器的地址信息及交换机的用于与DHCP服务器通信的端口生成该转发规则,并将该转发规则下发至交换机,该转发规则用于指示从交换机2至DHCP服务器的网络路径,即第二接收器23接收来自控制器的该转发规则;第二处理器22将该转发规则存储于第二存储器25中,并根据该转发规则指示第二发送器24将第二DHCP发现报文转发至DHCP服务器,进而使得DHCP服务器为DHCP客户端分配DHCP客户端的IP地址。
进一步地,控制器及交换机可以为openflow网络中的控制器及交换机。
进一步地,第二接收器23,具体用于接收来自控制器的携带有第一DHCP发现报文的包输出消息,包输出消息用于指示转发第一DHCP发现报文至DHCP服务器。
进一步地,第二发送器24,具体用于根据包输出消息,将第一DHCP发现报文转发至DHCP服务器。
进一步地,第二发送器24,具体用于上报包输入消息至控制器,包输入消息包括openflow消息头和净荷,其中,openflow消息头包括交换机的用于与DHCP服务器通信的端口,净荷包括DHCP提供报文。
进一步地,DHCP服务器的地址信息可以包括DHCP服务器的IP地址和DHCP服务器的MAC地址。
本发明实施例提供一种交换机,交换机将控制器主动生成的第一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客户端的IP地址,控制器则可直接根据前述获取的DHCP服务器的地址信息以及交换机的用于与DHCP服务器通信的端口等信息,生成用于指示交换机至DHCP服务器的网络路径的转发规则,从而使得DHCP客户端可通过交换机从DHCP服务器获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
实施例五
如图8所示,本发明实施例还提供一种通信系统3,用于DHCP客户端获取IP地址,包括:
上述任意所述的控制器1及上述任意所述的交换机2。
进一步地,通信系统3还包括上述所述的DHCP服务器以及DHCP客户端。
本发明实施例提供的一种DHCP客户端获取IP地址的方法应用于上述通信系统3中,如图9所示,以该通信系统包括1个控制器1;3个交换机,分别为交换机26、交换机27以及交换机28;1个DHCP服务器30;以及4个DHCP客户端,分别为DHCP客户端40、DHCP客户端41、DHCP客户端42以及DHCP客户端43为例,其中,DHCP客户端40和DHCP客户端41与交换机26连接,DHCP客户端42和DHCP客户端43与交换机28连接,DHCP服务器30与交换机27连接,控制器1控制整个通信系统,那么,DHCP客户端获取DHCP客户端的IP地址的方法包括:
(1)控制器1周期性获取DHCP服务器30的IP地址,DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息。
(2)若DHCP客户端40需获取DHCP客户端40的IP地址,DHCP客户端40则广播第二DHCP发现报文。
需要说明的是,第二DHCP发现报文包括DHCP客户端MAC地址、全零的IP地址、目标端MAC地址、目标端IP地址以及引导程序协议。
(3)交换机26接收到来自DHCP客户端40的第二DHCP发现报文后,交换机26查询交换机26的转发流表是否包括该交换机26到DHCP服务器30的转发规则,该转发规则用于指示从交换机26至DHCP服务器30的网络路径,即交换机26将该第二DHCP发现报文从交换机26的某些端口转发至DHCP服务器30。
需要说明的是,交换机26的某些端口可以包括非交换机之间的链路连接端口,也可以包括非交换机之间的链路连接端口和交换机之间的链路连接端口。
特别的,为了防止交换机转发第二DHCP发现报文时进入交换机之间的链路进行循环,因此,上述交换机的端口不能全部为交换机之间的链路连接端口。
(4)若交换机26未查询到该交换机26至DHCP服务器30的转发规则,交换机26则上报该第二DHCP发现报文至控制器1。
(5)控制器1根据获取的DHCP服务器30的IP地址,DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息,生成用于指示交换机26至DHCP服务器30的网络路径的转发规则,即DHCP客户端40从DHCP服务器30获取IP地址的网络路径(假设该网络路径为DHCP客户端40-交换机26-交换机27-DHCP服务器30)。
(6)控制器1根据预设的转发规则修改消息发送生成的该转发规则至交换机26和交换机27,以使得交换机26和交换机27按照该转发规则转发该DHCP客户端发现报文至DHCP服务器30,从而,以使得DHCP服务器30为DHCP客户端40分配DHCP客户端40的IP地址,即DHCP客户端40获取DHCP客户端40的IP地址。
转发规则修改消息为openflow网络中的指令消息,控制器发送转发规则时可根据预设的转发规则修改消息作为转发规则的载体,即将转发规则承载于转发规则修改消息之上发送至目标交换机。
上述通信系统中,由于控制器1在周期性地获取DHCP服务器30的IP地址,DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息,因此,若网络中DHCP客户端40需从DHCP服务器30获取DHCP客户端40的IP地址,控制器1可直接生成用于指示交换机26至DHCP服务器30的网络路径的转发规则,即DHCP客户端40从DHCP服务器30获取DHCP客户端40的IP地址的网络路径,以用来指示DHCP客户端40按照控制器指示的网络路径从DHCP服务器30获取DHCP客户端40的IP地址,避免了现有技术中控制器1广播转发DHCP客户端发送的DHCP发现报文而导致的网络中DHCP客户端发送的DHCP发现报文泛滥的问题;或者在控制器1中手动预先配置DHCP服务器30的地址等信息而导致的维护不方便的问题。
特别地,在控制器1获取DHCP服务器30的IP地址,DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息的过程中,由于此时控制器1尚未获取DHCP服务器30的IP地址,DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息,因此,不能生成相应的转发规则,若此时DHCP客户端40需获取DHCP客户端40的IP地址,则DHCP客户端40获取DHCP客户端40的IP地址的方法包括:
(1)若DHCP客户端40需获取DHCP客户端40的IP地址,DHCP客户端40则广播第二DHCP发现报文。
(2)交换机26接收到来自DHCP客户端40的第二DHCP发现报文后,查询交换机26的转发流表是否包括该交换机26到DHCP服务器30的转发规则,该转发规则用于指示交换机26将该第二DHCP发现报文转发至交换机26的某些端口,进而转发至DHCP服务器30。
(3)若交换机26未查询到该转发规则,交换机26则上报该第二DHCP发现报文至控制器1。
(4)由于控制器1并未获取DHCP服务器30的IP地址,DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息,因此,控制器1只能根据普通报文的处理方式生成用于指示交换机26、交换机27以及交换机28广播该第二DHCP发现报文的转发规则。
(5)控制器1根据预设的转发规则修改消息发送步骤(4)中生成的转发规则至交换机26、交换机27以及交换机28,以使得交换机26、交换机27以及交换机28按照该转发规则转发该第二DHCP发现报文。
(6)与交换机27连接的DHCP服务器30接收到该第二DHCP发现报文后,返回对应于第二DHCP发现报文的DHCP提供报文至交换机27,交换机27查询交换机27的转发流表是否包括该DHCP提供报文的转发规则,若未查询到该DHCP提供报文的转发规则,交换机27则将DHCP提供报文承载于包输入消息之上上报至控制器1。
(7)控制器1根据上述接收到的携带有该DHCP提供报文的包输入消息获取DHCP服务器30的IP地址、DHCP服务器30的MAC地址,以及交换机27的用于与DHCP服务器30通信的端口等信息,以生成用于指示从DHCP服务器30至DHCP客户端40的网络路径的转发规则(假设该网络路径为DHCP服务器30-交换机27-交换机26-DHCP客户端40)。
(8)控制器1发送步骤(7)中生成的转发规则至网络路径中的交换机26和交换机27,以使得交换机26和交换机27按照该转发规则转发来自DHCP服务器30的该DHCP提供报文,从而使得DHCP客户端40获取DHCP客户端40的IP地址。
需要说明的是,上述DHCP客户端获取DHCP客户端的IP地址的完整过程为: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客户端获取IP地址的方法应用于另外一种通信系统中,即DHCP客户端需获取DHCP客户端的IP地址时,若该系统包括多个DHCP服务器,控制器则将获取网络中所有DHCP服务器的IP地址,所有DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息。一旦DHCP客户端需获取DHCP客户端的IP地址,控制器则可根据预设规则,如将网络中的DHCP客户端分别分配给不同的DHCP服务器(即将与一台交换机连接的DHCP客户端分配给该DHCP服务器,将与另一台交换机连接的DHCP客户端分配给另一台DHCP服务器等),将DHCP客户端获取DHCP客户端的IP地址时发送的第二DHCP发现报文发送至分配好的DHCP服务器,从而使得DHCP客户端获取DHCP客户端的IP地址。
可以理解的是,上述网络中包括多台DHCP服务器的系统,提高了网络中DHCP服务器部署的灵活性。
本发明实施例提供一种通信系统,由于控制器周期性的获取DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息,因此,若有DHCP客户端需获取DHCP客户端的IP地址,控制器则根据DHCP服务器的IP地址,DHCP服务器的MAC地址,以及交换机的用于与DHCP服务器通信的端口等信息生成用于指示交换机至DHCP服务器的网络路径的转发规则,即DHCP客户端获取DHCP客户端的IP地址的网络路径,以使得DHCP客户端获取DHCP客户端的IP地址,避免了现有技术中控制器以广播形式辅助DHCP客户端获取DHCP客户端的IP地址,或控制器需手动预先配置DHCP服务器的地址等信息的问题,节省了网络带宽,提高了网络效率,以及方便了人们维护。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明方案可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序单元。一般地,程序单元包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read一Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (27)
1.一种动态主机配置协议DHCP客户端获取因特网协议IP地址的方法,其特征在于,包括:
控制器生成第一DHCP发现报文;
所述控制器发送所述第一DHCP发现报文至交换机,以使所述交换机将所述第一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客户端的IP地址时发送的。
2.根据权利要求1所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,使得所述交换机能够根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址包括:
所述控制器接收所述交换机上报的所述第二DHCP发现报文;
所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述控制器发送所述转发规则至所述交换机,以使所述交换机根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
3.根据权利要求1所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器周期性地顺序执行权利要求1中所述控制器执行的各个步骤。
4.根据权利要求1所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器及所述交换机为openflow网络中的控制器及交换机。
5.根据权利要求4所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器发送所述第一DHCP发现报文至交换机,以使所述交换机将所述第一DHCP发现报文转发至DHCP服务器具体包括:
所述控制器发送携带有所述第一DHCP发现报文的包输出消息packet_out至所述交换机,以使所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器。
6.根据权利要求4所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器接收所述交换机上报的报文,所述上报的报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口具体包括:
所述控制器接收所述交换机上报的包输入消息packet_in,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
7.根据权利要求1-6任一项所述的DHCP客户端获取IP地址的方法,其特征在于,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的介质访问控制层MAC地址。
8.根据权利要求7所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息具体包括:
所述控制器根据所述DHCP提供报文获取所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
9.一种DHCP客户端获取IP地址的方法,其特征在于,包括:
交换机接收来自控制器的第一DHCP发现报文,所述第一DHCP发现报文为所述控制器生成的;
所述交换机转发所述第一DHCP发现报文至DHCP服务器,以使所述DHCP服务器生成与所述第一DHCP发现报文对应的DHCP提供报文,所述DHCP提供报文包括所述DHCP服务器的地址信息;
所述交换机接收来自所述DHCP服务器的所述DHCP提供报文;
所述交换机上报报文至所述控制器,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口,以使所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息,并根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径;
所述交换机根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。
10.根据权利要求9所述的DHCP客户端获取IP地址的方法,其特征在于,所述交换机根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址包括:
所述交换机接收来自所述DHCP客户端的所述第二DHCP发现报文;
所述交换机上报所述第二DHCP发现报文至所述控制器,以使所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述交换机接收来自所述控制器的所述转发规则,并根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,以使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
11.根据权利要求9所述的DHCP客户端获取IP地址的方法,其特征在于,所述控制器及所述交换机为openflow网络中的控制器及交换机。
12.根据权利要求11所述的DHCP客户端获取IP地址的方法,其特征在于,所述交换机接收来自控制器的第一DHCP发现报文;所述交换机转发所述第一DHCP发现报文至DHCP服务器具体包括:
所述交换机接收来自所述控制器的携带有所述第一DHCP发现报文的包输出消息,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器;
所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器。
13.根据权利要求11所述的DHCP客户端获取IP地址的方法,其特征在于,所述交换机上报报文至所述控制器,所述上报的报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口具体包括:
所述交换机上报包输入消息至所述控制器,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
14.根据权利要求9-13任一项所述的DHCP客户端获取IP地址的方法,其特征在于,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
15.一种控制器,其特征在于,包括:
第一处理单元,用于生成第一DHCP发现报文;
第一发送单元,用于发送所述第一DHCP发现报文至交换机,以使所述交换机将所述第一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客户端的IP地址时发送的。
16.根据权利要求15所述的控制器,其特征在于,
所述第一接收单元,还用于接收所述交换机上报的所述第二DHCP发现报文;
所述第一处理单元,还用于根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述第一发送单元,还用于发送所述转发规则至所述交换机,以使所述交换机根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
17.根据权利要求15所述的控制器,其特征在于,所述控制器及所述交换机为openflow网络中的控制器及交换机。
18.根据权利要求17所述的控制器,其特征在于,
所述第一发送单元,具体用于发送携带有所述第一DHCP发现报文的包输出消息至所述交换机,以使所述交换机根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器。
19.根据权利要求17所述的控制器,其特征在于,
所述第一接收单元,具体用于接收所述交换机上报的包输入消息,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
20.根据权利要求15-19任一项所述的控制器,其特征在于,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
21.根据权利要求20所述的控制器,其特征在于,
所述第一处理单元,具体用于根据所述DHCP提供报文获取所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
22.一种交换机,其特征在于,包括:
第二接收单元,用于接收来自控制器的第一DHCP发现报文,所述第一DHCP发现报文为所述控制器生成的;
第二发送单元,用于转发所述第一DHCP发现报文至DHCP服务器,以使所述DHCP服务器生成与所述第一DHCP发现报文对应的DHCP提供报文,所述DHCP提供报文包括所述DHCP服务器的地址信息;
所述第二接收单元,还用于接收来自所述DHCP服务器的所述DHCP提供报文;
所述第二发送单元,还用于上报报文至所述控制器,所述报文包括所述DHCP提供报文以及所述交换机的用于与所述DHCP服务器通信的端口,以使所述控制器根据所述DHCP提供报文获取所述DHCP服务器的地址信息,并根据所述地址信息以及所述端口生成所述交换机到所述DHCP服务器的转发规则,所述转发规则用于指示从所述交换机至所述DHCP服务器的网络路径;
所述第二发送单元,还用于根据所述转发规则转发DHCP客户端发送的第二DHCP发现报文至所述DHCP服务器,进而使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址,所述第二DHCP发现报文为所述DHCP客户端需获取所述DHCP客户端的IP地址时发送的。
23.根据权利要求22所述的交换机,其特征在于,
所述第二接收单元,还用于接收来自所述DHCP客户端的所述第二DHCP发现报文;
所述第二发送单元,还用于上报所述第二DHCP发现报文至所述控制器,以使所述控制器根据所述DHCP服务器的地址信息及所述端口,生成所述转发规则;
所述第二接收单元,还用于接收来自所述控制器的所述转发规则;
所述第二发送单元,还用于根据所述转发规则,转发所述第二DHCP发现报文至所述DHCP服务器,以使得所述DHCP服务器为所述DHCP客户端分配所述DHCP客户端的IP地址。
24.根据权利要求22所述的交换机,其特征在于,所述控制器及所述交换机为openflow网络中的控制器及交换机。
25.根据权利要求24所述的交换机,其特征在于,
所述第二接收单元,具体用于接收来自所述控制器的携带有所述第一DHCP发现报文的包输出消息,所述包输出消息用于指示转发所述第一DHCP发现报文至所述DHCP服务器;
所述第二发送单元,具体用于根据所述包输出消息,将所述第一DHCP发现报文转发至所述DHCP服务器。
26.根据权利要求24所述的交换机,其特征在于,
所述第二发送单元,具体用于上报包输入消息至所述控制器,所述包输入消息包括openflow消息头和净荷,其中,所述openflow消息头包括所述端口,所述净荷包括所述DHCP提供报文。
27.根据权利要求22-26任一项所述的交换机,其特征在于,所述DHCP服务器的地址信息包括所述DHCP服务器的IP地址和所述DHCP服务器的MAC地址。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310058769.4A CN103973828B (zh) | 2013-02-01 | 2013-02-01 | 一种dhcp客户端获取ip地址的方法及装置 |
EP13873737.4A EP2940971B1 (en) | 2013-02-01 | 2013-12-28 | Method and apparatus for obtaining an ip address by dhcp client |
PCT/CN2013/090807 WO2014117615A1 (zh) | 2013-02-01 | 2013-12-28 | 一种dhcp客户端获取ip地址的方法及装置 |
US14/812,063 US9736110B2 (en) | 2013-02-01 | 2015-07-29 | Method and apparatus for acquiring IP address by DHCP client |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310058769.4A CN103973828B (zh) | 2013-02-01 | 2013-02-01 | 一种dhcp客户端获取ip地址的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973828A CN103973828A (zh) | 2014-08-06 |
CN103973828B true CN103973828B (zh) | 2017-07-14 |
Family
ID=51242860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310058769.4A Active CN103973828B (zh) | 2013-02-01 | 2013-02-01 | 一种dhcp客户端获取ip地址的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9736110B2 (zh) |
EP (1) | EP2940971B1 (zh) |
CN (1) | CN103973828B (zh) |
WO (1) | WO2014117615A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618156B (zh) * | 2015-01-26 | 2018-11-27 | 新华三技术有限公司 | 网络配置的方法及装置 |
CN107295113B (zh) * | 2016-03-31 | 2020-08-25 | 华为技术有限公司 | 一种网络配置的方法、交换机和服务器 |
CN106254569A (zh) * | 2016-07-28 | 2016-12-21 | 上海斐讯数据通信技术有限公司 | 一种基于sdn网络的ip分配方法 |
WO2018165866A1 (zh) * | 2017-03-14 | 2018-09-20 | 华为技术有限公司 | 一种sdn及其报文转发的方法和装置 |
CN112291079B (zh) * | 2017-03-28 | 2021-10-26 | 华为技术有限公司 | 一种网络业务配置方法及网络管理设备 |
CN109495593B (zh) * | 2017-09-11 | 2022-03-25 | 中兴通讯股份有限公司 | 地址分配方法及系统 |
US10601771B2 (en) * | 2017-11-22 | 2020-03-24 | Adtran, Inc. | Initial configuration of a remote network device |
EP3713165B1 (en) * | 2017-12-11 | 2023-05-31 | Huawei Cloud Computing Technologies Co., Ltd. | Network and network management method |
TWI643520B (zh) * | 2017-12-15 | 2018-12-01 | 智易科技股份有限公司 | 適用於網狀網路的網路裝置及應用其之控制方法 |
CN112565086A (zh) * | 2019-09-10 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 分布式网络系统、报文转发方法、设备及存储介质 |
CN112073241B (zh) * | 2020-09-07 | 2023-07-11 | 三一石油智能装备有限公司 | 一种交换机配置方法、装置、电子设备及存储介质 |
CN112272246A (zh) * | 2020-10-26 | 2021-01-26 | 北京首都在线科技股份有限公司 | 带外网络ip自动配置方法、装置、电子设备及存储介质 |
WO2022220885A1 (en) * | 2021-04-12 | 2022-10-20 | Intel Corporation | Capability discovery in an information centric network |
CN114124647A (zh) * | 2021-10-27 | 2022-03-01 | 中盈优创资讯科技有限公司 | 一种单双端电路发现处理规则页面可配置方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961322B2 (en) * | 2001-09-24 | 2005-11-01 | Motorola, Inc. | Dynamic Internet protocol address management method |
US7590733B2 (en) * | 2005-09-14 | 2009-09-15 | Infoexpress, Inc. | Dynamic address assignment for access control on DHCP networks |
CN101035012B (zh) * | 2006-03-09 | 2011-06-22 | 上海博达数据通信有限公司 | 基于dhcp和ip的以太网多层交换机安全防护方法 |
CN101047618B (zh) * | 2006-03-29 | 2013-11-06 | 华为技术有限公司 | 获取网络路径信息的方法和系统 |
US7846600B2 (en) * | 2006-09-21 | 2010-12-07 | Bloom Energy Corporation | Adaptive purge control to prevent electrode redox cycles in fuel cell systems |
US7869394B1 (en) * | 2006-09-21 | 2011-01-11 | World Wide Packets, Inc. | Limiting data packet forwarding to trusted ports |
US7757000B1 (en) * | 2006-12-14 | 2010-07-13 | Cisco Technology, Inc. | Computed client identifier in DHCP |
JP2010118752A (ja) * | 2008-11-11 | 2010-05-27 | Hitachi Ltd | ネットワークシステム、dhcpサーバ装置、及びdhcpクライアント装置 |
CN101938526A (zh) * | 2009-06-30 | 2011-01-05 | 中兴通讯股份有限公司 | 路由策略的获取方法、终端及服务器 |
CN102075590A (zh) * | 2010-12-16 | 2011-05-25 | 中兴通讯股份有限公司 | 一种基站获取、配置网络参数的方法及相应系统 |
JP5440740B2 (ja) * | 2011-04-21 | 2014-03-12 | 日本電気株式会社 | 通信システム、制御装置、通信方法及びプログラム |
CN102255814A (zh) * | 2011-08-02 | 2011-11-23 | 华为技术有限公司 | 一种选择传送路径的方法、装置和系统 |
US8856384B2 (en) * | 2011-10-14 | 2014-10-07 | Big Switch Networks, Inc. | System and methods for managing network protocol address assignment with a controller |
US9106707B2 (en) * | 2012-08-16 | 2015-08-11 | Dell Products L.P. | DHCP communications configuration system |
-
2013
- 2013-02-01 CN CN201310058769.4A patent/CN103973828B/zh active Active
- 2013-12-28 EP EP13873737.4A patent/EP2940971B1/en active Active
- 2013-12-28 WO PCT/CN2013/090807 patent/WO2014117615A1/zh active Application Filing
-
2015
- 2015-07-29 US US14/812,063 patent/US9736110B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2940971A1 (en) | 2015-11-04 |
EP2940971A4 (en) | 2016-04-06 |
CN103973828A (zh) | 2014-08-06 |
US9736110B2 (en) | 2017-08-15 |
WO2014117615A1 (zh) | 2014-08-07 |
US20150334085A1 (en) | 2015-11-19 |
EP2940971B1 (en) | 2018-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973828B (zh) | 一种dhcp客户端获取ip地址的方法及装置 | |
CN102594711B (zh) | 一种在边缘设备上的报文转发方法和边缘设备 | |
CN104579728B (zh) | 网元设备配置和管理方法、装置及网元设备 | |
EP2974133B1 (en) | Method and system for controlling an underlying physical network by a software defined network | |
CN102035729B (zh) | 一种组播数据转发方法 | |
CN103944826B (zh) | Spbm网络中的表项聚合方法及设备 | |
CN103797774B (zh) | 一种网络地址转换设备及方法 | |
CN101001264B (zh) | L1vpn地址分配的方法、装置、网络边沿设备和编址服务器 | |
CN103209132B (zh) | 在透明多链路互联(trill)网络中实现组播的方法、装置及系统 | |
CN103701944A (zh) | 在公用事业网中提供基于ip的分组通信的方法和系统 | |
CN103166874A (zh) | 一种报文转发方法及设备 | |
CN101364889B (zh) | 一种快速接入组播用户的方法 | |
CN110324159B (zh) | 链路配置方法、控制器和存储介质 | |
CN106357542B (zh) | 提供组播业务的方法和软件定义网络控制器 | |
CN114095305A (zh) | Bier报文转发的方法、设备以及系统 | |
CN103117935A (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
CN105144639A (zh) | 在覆盖网络中至双重连接(vpc)的主机的有效组播传送 | |
CN103200120A (zh) | 一种直接路由方式下的报文转发方法和网络设备 | |
CN101383772A (zh) | 一种自动发现并建立mac路由信息表的方法及装置 | |
CN106375211B (zh) | Vrrp负载均衡场景中的交换机数据处理方法和交换机 | |
CN101119222B (zh) | Hope网络实现组播的方法、装置及系统 | |
CN104734877B (zh) | 一种获取配置服务器信息的方法、装置及系统 | |
CN107786448A (zh) | 建立业务流的转发路径的方法和装置 | |
CN102045239B (zh) | 点到多点伪线保护网络的实现方法及装置 | |
CN104285413B (zh) | 一种数据包转换装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |