一种IP地址分配的方法和装置制造方法及图纸

技术编号:10543120 阅读:107 留言:0更新日期:2014-10-15 18:07
本发明专利技术提供IP地址分配的方法及装置,所述方法包括:接收来自SDN交换机转发的客户端DHCP报文;根据客户端发送的DHCP报文的不同类型,生成对应的不同响应报文。应用本发明专利技术实施例可以实现为不同IP子网中的客户端分配IP地址,解决了一台DHCP服务器只能为一个子网中的客户端分配IP地址的问题。

【技术实现步骤摘要】
一种IP地址分配的方法和装置
本专利技术涉及通信
,特别是涉及一种IP地址分配的方法和装置。
技术介绍
随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况,这时需要用到动态主机配置协议(DynamicHostConfigurationProtocol,DHCP)为客户端分配IP地址。
技术实现思路
本专利技术提供一种IP地址分配的方法及装置,将现有的依据DHCP协议为客户端分配IP地址的过程在SDN(SoftwareDefinedNetwork,软件定义网络)网络中实现。根据本专利技术实施例的第一方面,提供一种IP地址分配的方法,所述方法应用在SDN中的控制器上,所述方法包括:接收来自SDN交换机转发的客户端DHCP报文;根据客户端发送的DHCP报文的不同类型,生成对应的不同响应报文。根据本专利技术实施例的第二方面,提供一种IP地址分配的方法,所述方法应用在SDN中的交换机上,所述方法包括:接收来自客户端的DHCP报文,若在预置的流表中匹配到所述DHCP报文的流表项,则根据预设规则进行处理;若在预置的流表中未匹配到所述DHCP报文的流表项,则将所述DHCP报文封装为输入数据包发送至SDN控制器;接收来自SDN控制器的报文,若所述控制器报文为客户端的DHCP报文对应的响应报文,则将所述响应报文转发至对应的客户端。根据本专利技术实施例的第三方面,提供一种IP地址分配的装置,所述装置应用在SDN中的控制器上,所述装置包括:报文接收模块,用于接收来自SDN交换机转发的客户端DHCP报文;报文响应模块,用于根据客户端发送的DHCP报文的不同类型,生成对应的不同响应报文。根据本专利技术实施例的第四方面,提供一种IP地址分配的装置,所述装置应用在SDN中的交换机上,所述装置包括:客户端报文处理模块,用于接收来自客户端的DHCP报文,若在预置的流表中匹配到所述DHCP报文的流表项,则根据预设规则进行处理;若在预置的流表中未匹配到所述DHCP报文的流表项,则将所述DHCP报文封装为输入数据包发送至SDN控制器;控制器报文处理模块,用于接收来自SDN控制器的报文,若所述控制器报文为客户端的DHCP报文对应的响应报文,则将所述响应报文转发至对应的客户端。由本专利技术实施例可见,SDN控制器掌握着全局IP子网的配置信息,因此能够根据DHCP报文转发的路径和端口得知客户端的位置,从而能够为不同IP子网中的客户端分配正确的IP地址,解决了现有技术中一台DHCP服务器只能为一个子网中的客户端分配IP地址的问题。附图说明图1示出了本专利技术IP地址分配方法的一个实施例流程图。图2示出了本专利技术IP地址分配方法的另一个实施例流程图。图3示出了本专利技术IP地址分配方法的另一个实施例流程图。图4示出了本专利技术IP地址分配装置所在设备的一种硬件结构图。图5示出了本专利技术IP地址分配装置的一个实施例框图。图6示出了本专利技术IP地址分配装置的另一个实施例框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。DHCP是一个局域网的网络协议,用于给内部网络或网络服务供应商自动分配IP地址。具体实现DHCP客户端向DHCP服务器请求分配IP地址的过程如下:1)发现阶段,DHCP客户端发送DHCPDiscover发现报文在网络上寻找DHCP服务器;2)提供阶段,DHCP服务器向DHCP客户端发送一个包含出租的IP地址和其他设置的DHCPOffer提供报文;3)选择阶段,如果有多台DHCP服务器向DHCP客户端发来DHCPOffer提供报文,则DHCP客户端只接受第一个接收到的DHCPOffer提供报文,然后它就以广播方式回答一个DHCPRequest确认报文,该信息中包含向它所选定的DHCP服务器请求IP地址的内容;4)确认阶段,当DHCP服务器收到DHCP客户端回答的DHCPRequest确认报文之后,它便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCPAck确认响应报文,告诉DHCP客户端可以使用它所提供的IP地址。DHCP客户端在收到DHCPAck确认响应报文后,发送ARP报文到网络上,用来确定DHCP服务器提供的IP地址是否已经被其它客户端所占用。如果已被别的客户端占用,则发送给DHCP服务器一个DHCPDecline包,重新开始DHCP过程;如果没有被占用,则DHCP过程结束,DHCP客户端正式使用该IP地址;5)重新登陆,以后DHCP客户端每次重新登录网络时,就不需要再发送DHCPDiscover发现报文了,而是直接发送包含前一次所分配的IP地址的DHCPRequest确认报文;6)更新租约,DHCP服务器向DHCP客户端出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户端要延长其IP租约,则必须更新其IP租约。由上述DHCP工作流程可以看出,DHCP协议基本上是一个单向驱动协议,DHCP服务器完全是被动的,其动作基本由DHCP客户端的请求行为而触发。这会带来如下三个问题:(1)DHCP服务器不能发现网络上非DHCP客户端已经在使用的IP地址,这将可能带来二次及以上的DHCP过程。多次DHCP过程增加了网络上数据包的传送量,加重了网络的负载。(2)DHCP服务器不具备鉴别主机身份的能力,这会带来严重的安全隐患,若恶意主机假冒DHCP服务器向网络主机提供虚假配置信息,或者恶意主机假冒客户端向DHCP服务器请求大量IP地址使IP地址池枯竭,都将带来严重的后果。(3)DHCP的实现方式只适用于DHCP客户端和服务器处于同一个子网内的情况。为了解决上述DHCP分配IP地址的缺点和不足,本专利技术利用SDN网络中控制平面和转发平面分离的架构特点。利用SDN控制平面充当DHCP服务器,同时在SDN控制平面上进一步部署经过优化的DHCP服务,使得所述SDN控制平面能够用来进行客户端IP地址分配、主机身份鉴定等功能;SDN转发平面则进行DHCP报文的监听和转发等。在实现时,SDN中的控制平面功能由控制器(Controller)实现,控制器主要通过流表项向交换机下发报文转发策略;数据转发平面的功能由交换机(Switch)实现,主要用于按照控制器下发的流表项对报文进行转发。在一种可选的实现方案中,其可以通过OpenFlow(开放流)技术将网络设备的控制面与数据面进行分离,从而实现对网络流量的灵活控制。为了便于理解,下面首先对SDN网络中的基本概念加以说明:SDN控制器:是SDN架构中的控制平面,通过对SDN交换机中的流表进行控制,从而实现对整个SDN网络进行集中控制。SDN交换机:接收SDN控制器设置的流表,并根据流表进行报文转发和处理;另一方面,也会主动向SDN控制器上报本设备的状态和事件,如接口UP(可用)/DOWN(可不用)。流表:由匹配规则(Rule)、动作(Action)和统计本文档来自技高网...
一种IP地址分配的方法和装置

【技术保护点】
一种IP地址分配的方法,其特征在于,所述方法应用在软件定义网络SDN中的控制器上,所述方法包括:接收来自SDN交换机转发的客户端DHCP报文;根据客户端发送的DHCP报文的不同类型,生成对应的不同响应报文。

【技术特征摘要】
1.一种IP地址分配的方法,其特征在于,所述方法应用在软件定义网络SDN中的控制器上,所述方法包括:接收来自SDN交换机转发的客户端DHCP报文;根据客户端发送的DHCP报文的不同类型,生成对应的不同响应报文;其中,若所述DHCP报文的类型为DHCPDiscover报文,则为所述客户端分配一个IP地址,并生成包含该分配的IP地址的DHCPOffer响应报文;若所述DHCP报文的类型为DHCPRequest报文,则为所述客户端生成对应的DHCPAck或DHCPNack报文;其中,当确定所述DHCPRequest报文中包括的IP地址可以使用,则生成DHCPAck报文,若确定所述IP地址不可使用,则生成DHCPNack报文;在生成DHCPACK响应报文后,生成DHCP客户端身份识别报文,其中所述身份识别报文包括目标客户端当前使用的目标IP地址;将所述身份识别报文封装成Packetout报文发送至对应的SDN交换机;判断在预设时间范围内是否收到所述目标客户端对所述身份识别报文回复的身份响应报文,若未收到,则确定所述目标客户端为非法DHCP客户端,回收所述目标客户端的目标IP地址,并将所述目标客户端加入黑名单;向SDN交换机下发流表,设置在预设的时间范围内,对来自黑名单中客户端发送的报文进行丢弃。2.如权利要求1所述的方法,其特征在于,所述生成包含该分配的IP地址的DHCPOffer响应报文之前,还包括:向网络中的所有客户端发送冲突检测报文询问当前分配的IP地址是否正在被使用;判断在预设时间内是否接收到来自客户端对于所述冲突检测报文回复的冲突响应报文,若收到,则为所述客户端重新分配IP地址并重新向网络中的所有客户端发送冲突检测报文询问当前分配的IP地址是否正在被使用。3.如权利要求1所述的方法,其特征在于,所述为所述客户端分配一个IP地址之前,还包括:若所述DHCP报文的类型为DHCPOffer、DHCPAck、DHCPNack报文时,则丢弃所述DHCP报文。4.如权利要求1所述的方法,其特征在于,所述方法还包括:设置流表,所述流表中设置有以下过滤规则:当接收到DHCP客户端报文的源端口号为67、目的端口号为68时,则动作Action设置为丢弃当前匹配的报文;将所述流表下发至对应的SDN交换机。5.一种IP地址分配的方法,其特征在于,所述方法应用在软件定义网络SDN中的交换机上,所述方法包括:接收来自客户端的DHCP报文,若在预置的流表中匹配到所述DHCP报文的流表项,则根据预设规则进行处理;若在预置的流表中未匹配到所述DHCP报文的流表项,则将所述DHCP报文封装为输入数据包发送至SDN控制器;接收来自SDN控制器的报文,若所述控制器报文为客户端的DHCP报文对应的响应报文,则将所述响应报文转发至对应的客户端;其中,若所述DHCP报文的类型为DHCPDiscover报文,则所述响应报文为包含所述SDN控制器为所述客户端分配的IP地址的DHCPOffer响应报文;若所述DHCP报文的类型为DHCPRequest报文且所述DHCPRequest报文中包括的IP地址可以使用,则所述响应报文为DHCPAck报文;若所述DHCP报文的类型为DHCPRequest报文且所述DHCPRequest报文中包括的IP地址不可使用,则所述响应报文为DHCPNack报文;在所述接收来自SDN控制器的报文之后,接收控制器发送的身份识别报文,将所述身份识别报文发送至对应的客户端,并在判断出所述客户端为非法DHCP客户端时,接收控制器下发的关于该客户端的DHCP报文过滤流表,在预定时间内,对接收到该客户端发送的报文直接进行丢弃处理。6.如权利要求5所述的方法,其特征在于,所述根据预设规则进行处理,具体包括:若所述DHCP报文的源端口号为67、目的端口号为68,则丢弃所述DHCP报文。7.如权利要求5所述的方法,其特征在于,所述接收来自SDN控制器的报文之后,还包括:若所述控制器报文为预分配的IP地址的冲突检测报文,则将所述冲突检测报文转发至对应的所有客户端;若接收到客户端对所述冲突检测报文回复的冲突响应报文,则将所述冲突响应报文封装为输入数据包发送至SDN控制器。8.一种IP地址分配的装置,其特征在于,所述装置应用在软件定义网络SDN中的控制器上,...

【专利技术属性】
技术研发人员:江玉八
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1