CN104601414B - 一种软件定义网络中的ip地址冲突检测方法和装置 - Google Patents

一种软件定义网络中的ip地址冲突检测方法和装置 Download PDF

Info

Publication number
CN104601414B
CN104601414B CN201510079981.8A CN201510079981A CN104601414B CN 104601414 B CN104601414 B CN 104601414B CN 201510079981 A CN201510079981 A CN 201510079981A CN 104601414 B CN104601414 B CN 104601414B
Authority
CN
China
Prior art keywords
vlan
collection
sdn
floods
sdn switch
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
Application number
CN201510079981.8A
Other languages
English (en)
Other versions
CN104601414A (zh
Inventor
黄林波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201510079981.8A priority Critical patent/CN104601414B/zh
Publication of CN104601414A publication Critical patent/CN104601414A/zh
Application granted granted Critical
Publication of CN104601414B publication Critical patent/CN104601414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施方式提出一种软件定义网络(Software Defined Network,SDN)中的IP地址冲突检测方法和装置。方法包括:向第一SDN交换机下发第一流表项,所述第一流表项用于将从连接到第一SDN交换机的第一端点设备(EP)接收到的免费地址解析协议(ARP)报文发送到SDN控制器;确定与第一EP所属的虚拟局域网(VLAN)及所述第一SDN交换机相对应的泛洪VLAN集,并在所述泛洪VLAN集内泛洪所述免费ARP报文。

Description

一种软件定义网络中的IP地址冲突检测方法和装置
技术领域
本发明实施方式属于网络通信技术领域,特别是一种软件定义网络(SoftwareDefined Network,SDN)中的IP地址冲突检测方法和装置。
背景技术
IP地址冲突是指在局域网的环境中IP地址出现重叠。在传统网络中,一般通过发送免费(gratuitous)地址解析协议(Address Resolution Protocol,,ARP)报文感知IP地址冲突。免费ARP报文与普通ARP报文的区别在于:普通的ARP报文封装有其他端点设备(Endpoint device,EP)的IP地址,而免费ARP报文封装的是自身的IP地址。当一台EP发送免费ARP报文后,如果收到ARP响应报文,则说明该IP地址在网络内已经存在。
然而,现有技术的IP地址冲突检测方式只能检测本地交换机的同一虚拟局域网(Virtual Local Area Network,VLAN)内EP之间的IP地址冲突状况。如果EP分别属于本地交换机的不同VLAN,则无法进行IP地址冲突检测。而且,即使EP处于同一VLAN,如果EP分别属于不同的本地交换机,现有技术的IP地址冲突检测方式同样无法进行IP地址冲突检测。因此,现有技术的IP地址冲突检测方式适用情景单一。
发明内容
本发明实施方式提出一种SDN中的IP地址冲突检测方法和装置,以扩充IP地址冲突检测的适用情景。
本发明实施方式的技术方案如下:
本发明实施方式的一方面,提供了一种SDN中的IP地址冲突检测方法,所述方法应用于SDN控制器,该方法包括:
向第一SDN交换机下发第一流表项,所述第一流表项用于将从连接到第一SDN交换机的第一EP接收到的ARP报文发送到SDN控制器;
确定与第一EP所属的VLAN及所述第一SDN交换机相对应的泛洪VLAN集,并在所述泛洪VLAN集内泛洪所述免费ARP报文。
本发明实施方式的一方面,提出了一种SDN中的IP地址冲突检测装置,所述装置应用于SDN控制器,该装置包括:
第一流表项下发模块,用于向第一SDN交换机下发第一流表项,所述第一流表项用于将从连接到第一SDN交换机的第一EP接收到的免费地址解析协议ARP报文发送到SDN控制器;
泛洪模块,用于确定与第一EP所属的虚拟局域网VLAN及所述第一SDN交换机相对应的泛洪VLAN集,并在所述泛洪VLAN集内泛洪所述免费ARP报文。
在本发明实施方式中,通过SDN控制器实现预定地址冲突检测空间内EP之间的IP地址冲突检测方案。无论是分别属于本地交换机的不同VLAN的EP,还是分别属于不同的本地交换机的EP,本发明都可以进行IP地址冲突检测。因此,本发明的IP地址冲突检测方式适用范围更加广泛。
附图说明
图1为现有技术在传统网络中实现IP地址冲突检测的示意图;
图2为根据本发明实施方式,在SDN控制器侧实现IP地址冲突检测的方法流程图;
图3为根据本发明实施方式,在免费ARP报文发出侧实现IP地址冲突检测的方法流程图;
图4为根据本发明实施方式,在ARP应答报文发出侧实现IP地址冲突检测的方法流程图;
图5为根据本发明实现IP地址冲突检测的示范性示意图;
图6为根据本发明实施方式,在SDN控制器侧实现IP地址冲突检测的装置结构图;
图7为根据本发明实施方式,在免费ARP报文发出侧实现IP地址冲突检测的装置结构图;
图8为根据本发明实施方式,在ARP应答报文发出侧实现IP地址冲突检测的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
图1为现有技术在传统网络中实现IP地址冲突检测的示意图。
在图1中,本地交换机1连接有EP1、EP2和EP5;本地交换机2连接有EP3、EP4和EP6,其中EP1、EP2和EP6属于VLAN1;EP3和EP4属于VLAN2;EP5属于VLAN3。
当EP1上配置IP地址时,EP1向本地交换机1发送免费ARP报文,该免费ARP携带EP1自身的MAC地址和IP地址。本地交换机1在本地交换机1的VLAN1内泛洪该免费ARP报文,当冲突设备(如EP2)收到该免费ARP报文时,通过本地交换机1向EP1回应ARP应答报文。EP1收到该ARP应答报文,在自身系统内上报地址冲突信息。
然而,由于ARP报文的特点决定了其不能进行IP转发,因此ARP冲突检测只能在本地的VLAN内检测。比如,图1中EP1和EP5虽然连接到相同的本地交换机,但是不属于同一个VLAN,因此无法针对EP1和EP5执行IP地址冲突检测。同样,传统网络中也无法检测本地设备和远端设备上的IP地址冲突。比如:图1中的EP1和EP6虽然共同属于相同的VLAN,但是分别连接到不同的本地交换机,因此也无法针对EP1和EP6执行IP地址冲突检测。
可见,在现有技术中,在同一本地交换机的不同VLAN内的EP之间,无法进行IP地址冲突检测。而且,在不同的本地交换机的EP之间也无法进行IP地址冲突检测。
实际上,在重叠(Overlay)网络中可能存在独立的地址冲突检测空间,该地址冲突检测空间可能是跨本地交换机和/或跨VLAN的,而且该地址冲突检测空间内的EP不允许IP地址重叠。本发明实施方式通过SDN控制器实现该地址冲突检测空间内的IP地址冲突检测。
图2为根据本发明实施方式,在SDN控制器侧实现IP地址冲突检测的方法流程图。
如图2所示,该方法包括:
步骤201:向第一SDN交换机下发第一流表项,第一流表项用于将从连接到第一SDN交换机的第一EP接收到的免费ARP报文发送到SDN控制器。
第一流表项保证第一SDN交换机从第一EP接收到的免费ARP报文都将上送SDN控制器。SDN控制器从第一EP接收到的免费ARP报文中封装有第一EP的IP地址。
步骤202:确定与第一EP所属的VLAN及第一SDN交换机相对应的泛洪VLAN集,并在泛洪VLAN集内泛洪免费ARP报文。
在SDN控制器上可以配置一或多个泛洪VLAN集,每个泛洪VLAN集可以包含一或多个VLAN。泛洪VLAN集分别有独立的标识,从而相互区分。可以基于发出免费ARP报文的EP所属的VLAN以及该EP所连接的SDN交换机,确定泛洪VLAN集。
比如,可以在SDN控制器上预先建立映射表,在该映射表中保存SDN交换机的数据通路标识(DPID)及SDN交换机的本地VLAN ID与本地VLAN的泛洪VLAN集的对应关系。
比如,针对第一SDN交换机,可以为第一SDN交换机的每个本地VLAN分别建立泛洪VLAN集,该泛洪VLAN集至少包括本地VLAN自身。而且,针对第一SDN交换机的每个本地VLAN,进一步保存第一SDN交换机的DPID及本地VLAN的VLAN ID与本地VLAN的泛洪VLAN集的对应关系,以形成第一SDN交换机的映射表。SDN控制器通常连接有多个SDN交换机,可以将各个SDN交换机的映射表整合为一个整体的映射表。当SDN控制器收到免费ARP报文后,首先查询整体的映射表以确定免费ARP报文的泛洪VLAN集。
比如,SDN控制器接收到第一SDN交换机转发的、源为第一EP的免费ARP报文之后,从免费ARP报文中获取第一EP所属VLAN的VLAN ID,并基于第一SDN交换机的DPID以及该VLAN ID,查询映射表以确定免费ARP报文的泛洪VLAN集。所确定的泛洪VLAN集中包含有第一EP所属VLAN。
为免费ARP报文所确定的泛洪VLAN集即为设定的地址冲突检测空间,在该地址冲突检测空间内不允许IP地址重叠。广义上说,每个泛洪VLAN集都可以视为一个网络(network)。
具体地,在泛洪VLAN集内泛洪免费ARP报文可以包括:首先确定具有属于该泛洪VLAN集的本地VLAN的SDN交换机,并将所确定的SDN交换机组成SDN交换机集;再将免费ARP报文发送到SDN交换机集中的每个SDN交换机,以由每个SDN交换机在属于泛洪VLAN集的各自本地VLAN中泛洪免费ARP报文,从而检测由该泛洪VLAN集所构成的地址冲突检测空间中是否存在与第一EP的IP地址相冲突的设备。
在一个实施方式中,当在泛洪VLAN集所对应的地址冲突检测空间内不存在与第一EP的IP地址相冲突的设备时,比如SDN控制器在预定时间内没有接收到对应于该免费ARP报文的ARP应答报文,SDN控制器向第一SDN交换机发送无地址冲突告知报文,第一SDN交换机将无地址冲突告知报文发送到第一EP。第一EP收到无地址冲突告知报文后可以获知无地址冲突。
在一个实施方式中,当在泛洪VLAN集所对应的地址冲突检测空间内存在与第一EP的IP地址相冲突的设备(比如为第二EP)时,SDN控制器从第二EP接收对应于免费ARP报文的ARP应答报文,将ARP应答报文发送到第一SDN交换机,第一SDN交换机将ARP应答报文发送到第一EP。第一EP收到ARP应答报文后可以获知存在地址冲突,而且冲突设备为第二EP。
作为冲突设备的第二EP收到免费ARP报文后,发现免费ARP报文中封装的第一EP的IP地址与自身IP地址重叠,第二EP向自身相连的本地交换机发出ARP响应报文。第二EP的本地交换机将ARP响应报文发送到SDN控制器,SDN控制器将ARP响应报文发送到第一SDN交换机,第一SDN交换机将ARP响应报文发送到第一EP。第一EP接收到ARP响应报文后,可以获知存在地址冲突,并在自身系统内上报地址冲突信息。
优选地,第一SDN交换机和第二SDN交换机都可以实施为虚拟可扩展局域网隧道终端(VTEP)设备。
图3为根据本发明实施方式,在免费ARP报文发出侧实现IP地址冲突检测的方法流程图,该方法应用于第一SDN交换机。
如图3所示,该方法包括:
步骤301:从SDN控制器接收第一流表项,第一流表项用于将从连接到第一SDN交换机的第一EP接收到的免费ARP报文发送到SDN控制器,从而由SDN控制器在泛洪VLAN集内泛洪免费ARP报文。
步骤302:从SDN控制器接收对应于免费ARP报文的ARP应答报文,其中ARP应答报文是由SDN控制器从第二EP接收的。
步骤303:将ARP应答报文发送到第一EP。
在一个实施方式中,第二EP连接到第一SDN交换机,该方法还包括:
从SDN控制器接收第二流表项,第二流表项用于将从第二EP接收到的所述ARP应答报文发送到SDN控制器。
优选地,第一SDN交换机和第二SDN交换机都可以实施为虚拟可扩展局域网隧道终端(VTEP)设备。
图4为根据本发明实施方式,在ARP应答报文发出侧实现IP地址冲突检测的方法流程图,该方法应用于第二SDN交换机。
如图4所示,该方法包括:
步骤401:从SDN控制器接收第一流表项,第一流表项用于将连接到第二SDN交换机的第二EP发出的ARP应答报文发送到SDN控制器。
步骤402:从SDN控制器接收免费ARP报文,其中免费ARP报文是连接到第一SDN交换机的第一EP发出的、而且被第一SDN交换机发送到SDN控制器。
步骤403:从第二EP接收对应于免费ARP报文的ARP应答报文,并根据第一流表项将ARP应答报文发送到SDN控制器,从而由SDN控制器将ARP应答报文发送到第一SDN交换机,以由第一SDN交换机将ARP应答报文发送到第一EP。
优选地,第一SDN交换机和第二SDN交换机都可以实施为虚拟可扩展局域网隧道终端(VTEP)设备。
下面结合具体实例对本发明进行说明。图5为根据本发明实现IP地址冲突检测的示范性示意图。
在图5中,VTEP1连接有EP1、EP2和EP5;VTEP2连接有EP3、EP4和EP6,其中EP1、EP2和EP6属于VLAN1;EP3和EP4属于VLAN2;EP5属于VLAN3。
SDN控制器向VTEP1下发流表项1,该流表项1用于将VTEP1收到的免费ARP报文和ARP应答报文都发送到SDN控制器。
SDN控制器还向VTEP2下发流表项2,该流表项2用于将VTEP2收到的免费ARP报文和ARP应答报文都发送到SDN控制器.
具体地,流表项1和流表项2具有类似的字段结构,其匹配项均为ARP报文类型标识(0x 0806),动作均为上送到SDN控制器,具体如下:
match:ethtype=0x0806;
action:to controller;
SDN控制器通过下发流表项1和流表项2可以保证VTEP1和VTEP2接收到的所有ARP报文(包括免费ARP报文和ARP应答报文)都能够上送到SDN控制器。
在SDN控制器上配置有一或多个泛洪VLAN集(GROUP),泛洪VLAN集分别有独立的标识。泛洪VLAN集可以视为独立的地址冲突检测空间,在该独立的地址冲突检测空间内不允许IP地址重叠。
泛洪VLAN集与发出免费ARP报文的EP所属的VLAN以及该EP所连接的SDN控制器相关联。
比如,可以在SDN控制器上建立映射表,该映射表包含SDN交换机的DPID以及SDN交换机的本地VLAN ID与泛洪VLAN集的对应关系。
表1为映射表的示范性结构,其中GROUP1、GROUP2、GROUP3和GROUP4分别为泛洪VLAN集的标识。
表1
VLAN标识 DPID 泛洪VLAN集
VLAN1 VTEP1 GROUP1
VLAN3 VTEP1 GROUP2
VLAN1 VTEP2 GROUP3
VLAN2 VTEP2 GROUP4
比如:SDN控制器接收到VTEP1转发的、源为EP1的免费ARP报文。SDN控制器从免费ARP报文中获取EP1所属VLAN的VLAN ID(即VLAN1);然后,SDN控制器在本地查询表1,确定出对应于VLAN1和VTEP1的泛洪VLAN集为:GROUP1。
再比如:SDN控制器接收到VTEP2转发的、源为EP3的免费ARP报文。SDN控制器从免费ARP报文中获取EP3所属VLAN的VLAN ID(即VLAN2);然后,SDN控制器在本地查询表1,确定出对应于VLAN2和VTEP2的泛洪VLAN集为:GROUP4。
泛洪VLAN集可以包括一或多个成员VLAN。优选地,在SDN控制器上可以编辑每个泛洪VLAN集的具体组成,即可以增加或删除泛洪VLAN集中的成员VLAN。泛洪VLAN集中至少包含有映射表中作为表项的VLAN。比如,GROUP1应该至少包括VLAN1;GROUP2应该至少包括VLAN3;GROUP3应该至少包括VLAN1;GROUP4应该至少包括VLAN2。
基于上述详细分析,当SDN控制器收到免费ARP报文之后,可以确定出相应的泛洪VLAN集,然后再在泛洪VLAN集内泛洪免费ARP报文。
下面以EP1发出免费ARP报文为例,针对本发明的泛洪过程进行详细描述。
(1)、假定EP1发出的免费ARP报文所确定的泛洪VLAN集(GROUP1)包含VLAN1和VLAN3:
当EP1上配置IP地址时,EP1向VTEP1发送免费ARP报文,该免费ARP携带EP1自身的MAC地址和IP地址。VTEP1基于流表项1,将免费ARP报文发送到SDN控制器。
SDN控制器确定的泛洪VLAN集(GROUP1)包含VLAN1和VLAN3。SDN控制器接着确定该泛洪VLAN集所对应的VTEP集,即确定本地VLAN包括VLAN1或VLAN3的VTEP设备。属于VLAN1的EP6与VTEP2连接,因此VLAN1为VTEP2的本地VLAN,所以VTEP2属于VTEP集;属于VLAN3的EP5与VTEP1连接,属于VLAN1的EP1和EP2与VTEP1连接,因此VLAN1和VLAN3都是VTEP1的本地VLAN,所以VTEP1也属于VTEP集。因此,最终所确定的VTEP集包括VTEP1和VTEP2。
然后,SDN控制器将免费ARP报文分别发送到VTEP集中的VTEP1和VTEP2,以由VTEP1和VTEP2在属于VLAN集的各自本地VLAN中泛洪免费ARP报文并排除免费ARP报文的源端口。具体地,VTEP1在本地VLAN1中泛洪免费ARP报文,将免费ARP报文泛洪到EP2,VTEP1还在本地VLAN3泛洪免费ARP报文,将免费ARP报文泛洪到EP5。VTEP2在本地VLAN1泛洪免费ARP报文,将免费ARP报文泛洪到EP6。
当冲突设备为EP2时,EP2收到该免费ARP报文后,通过VTEP1向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1可以在自身系统内上报地址冲突信息。
当冲突设备为EP6时,EP6收到该免费ARP报文后,通过VTEP2向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1可以在自身系统内上报地址冲突信息。
(2)、假定EP1发出的免费ARP报文所确定的泛洪VLAN集(GROUP1)包含VLAN1和VLAN2:
当EP1上配置IP地址时,EP1向VTEP1发送免费ARP报文,该免费ARP携带EP1自身的MAC地址和IP地址。VTEP1基于流表项1,将免费ARP报文发送到SDN控制器。
SDN控制器确定的泛洪VLAN集包含VLAN1和VLAN2。SDN控制器接着确定该泛洪VLAN集所对应的VTEP集,即确定本地VLAN包括VLAN1或VLAN2的VTEP设备。属于VLAN1的EP1和EP2与VTEP1连接,因此VLAN1为VTEP1的本地VLAN,所以VTEP1属于VTEP集;属于VLAN1的EP6与VTEP2连接,属于VLAN2的EP3和EP4与VTEP2连接,因此VLAN1和VLAN2都是VTEP2的本地VLAN,所以VTEP2也属于VTEP集。因此,最终所确定的VTEP集包括VTEP1和VTEP2。
然后,SDN控制器将免费ARP报文分别发送到VTEP集中的VTEP1和VTEP2,以由VTEP1和VTEP2在属于VLAN集的各自本地VLAN中泛洪免费ARP报文并排除免费ARP报文的源端口。具体地,VTEP1在本地VLAN1中泛洪免费ARP报文,将免费ARP报文泛洪到EP2。VTEP2在本地VLAN2中泛洪免费ARP报文,将免费ARP报文泛洪到EP3和EP4,VTEP2还在本地VLAN1泛洪免费ARP报文,将免费ARP报文泛洪到EP6。
当冲突设备为EP2时,EP2接收到该免费ARP报文后,通过VTEP1向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1可以在自身系统内上报地址冲突信息。
当冲突设备为EP6时,EP6收到该免费ARP报文后,通过VTEP2向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1可以在自身系统内上报地址冲突信息。
(3)、假定EP1发出的免费ARP报文所确定的泛洪VLAN集(GROUP1)包含VLAN1、VLAN2和VLAN3:
当EP1上配置IP地址时,EP1向VTEP1发送免费ARP报文,该免费ARP携带EP1自身的MAC地址和IP地址。VTEP1基于流表项1,将免费ARP报文发送到SDN控制器。
SDN控制器确定的泛洪VLAN集包含VLAN1、VLAN2和VLAN3。SDN控制器接着确定该泛洪VLAN集所对应的VTEP集,即确定本地VLAN包括VLAN1或VLAN2或VLAN3的VTEP设备。属于VLAN1的EP1和EP2与VTEP1连接,属于VLAN3的EP5与VTEP1连接,因此VLAN1和VLAN3都是VTEP1的本地VLAN,所以VTEP1属于VTEP集;属于VLAN1的EP6与VTEP2连接,属于VLAN2的EP3和EP4与VTEP2连接,因此VLAN1和VLAN2都是VTEP2的本地VLAN,所以VTEP2也属于VTEP集。因此,最终所确定的VTEP集包括VTEP1和VTEP2。
然后,SDN控制器将免费ARP报文分别发送到VTEP集中的VTEP1和VTEP2,以由VTEP1和VTEP2在属于VLAN集的各自本地VLAN中泛洪免费ARP报文并排除免费ARP报文的源端口。具体地,VTEP1在本地VLAN1中泛洪免费ARP报文,将免费ARP报文泛洪到EP2;VTEP1在本地VLAN3中泛洪免费ARP报文,将免费ARP报文泛洪到EP5;VTEP2在本地VLAN2中泛洪免费ARP报文,将免费ARP报文泛洪到EP3和EP4,VTEP2还在本地VLAN1泛洪免费ARP报文,将免费ARP报文泛洪到EP6。
当冲突设备为EP2时,EP2收到该免费ARP报文后,通过VTEP1向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1在自身系统内上报地址冲突信息
当冲突设备为EP6时,EP6收到该免费ARP报文后,通过VTEP2向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1在自身系统内上报地址冲突信息。
当冲突设备为EP5时,EP5收到该免费ARP报文后,通过VTEP1向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1在自身系统内上报地址冲突信息。
(4)、假定EP1发出的免费ARP报文所确定的泛洪VLAN集(GROUP1)包含VLAN1:
当EP1上配置IP地址时,EP1向VTEP1发送免费ARP报文,该免费ARP携带EP1自身的MAC地址和IP地址。VTEP1基于流表项1,将免费ARP报文发送到SDN控制器。
SDN控制器确定的泛洪VLAN集包含VLAN1。SDN控制器接着确定该泛洪VLAN集所对应的VTEP集,即确定本地VLAN包括VLAN1的VTEP设备。属于VLAN1的EP1和EP2与VTEP1连接,因此VLAN1为VTEP1的本地VLAN,所以VTEP1属于VTEP集;属于VLAN1的EP6与VTEP2连接,因此VLAN1为VTEP2的本地VLAN,所以VTEP2也属于VTEP集。因此,最终所确定的VTEP集包括VTEP1和VTEP2。
然后,SDN控制器将免费ARP报文分别发送到VTEP集中的VTEP1和VTEP2,以由VTEP1和VTEP2在属于VLAN集的本地VLAN1中泛洪免费ARP报文并排除免费ARP报文的源端口。具体地,VTEP1在本地VLAN1中泛洪免费ARP报文,将免费ARP报文泛洪到EP2;VTEP2在本地VLAN1泛洪免费ARP报文,将免费ARP报文泛洪到EP6。
当冲突设备为EP2时,EP2收到该免费ARP报文后,通过VTEP1向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1在自身系统内上报地址冲突信息。
当冲突设备为EP6时,EP6收到该免费ARP报文后,通过VTEP2向SDN控制器回应ARP应答报文。SDN控制器收到该ARP应答报文,再通过VTEP1将ARP应答报文发送到EP1,从而EP1在自身系统内上报地址冲突信息。
在一个实施方式中,当SDN控制器收到免费ARP报文且没有查询到相对应的泛洪VLAN集时,将免费ARP报文的源EP所在的VLAN指定为默认的VLAN集,并将免费ARP报文在该默认的VLAN集内泛洪以执行IP地址冲突检测。
以上详细描述了本发明实现IP地址冲突检测的示范性过程。本领域技术人员可以意识到,这种示范性描述仅是示意的,并不用于对本发明实施方式的保护范围进行限定。
基于上述详细分析,本发明实施方式还提出了实现IP地址冲突检测的装置。
图6为根据本发明实施方式,在SDN控制器侧实现IP地址冲突检测的装置结构图,该装置应用于SDN控制器。
如图6所示,该装置600包括:
第一流表项下发模块601,用于向第一SDN交换机下发第一流表项,所述第一流表项用于将从连接到第一SDN交换机的第一EP接收到的免费地址解析协议ARP报文发送到SDN控制器;
泛洪模块602,用于确定与第一EP所属的虚拟局域网VLAN及所述第一SDN交换机相对应的泛洪VLAN集,并在所述泛洪VLAN集内泛洪所述免费ARP报文。
在一个实施方式中,该装置600还包括:
应答报文接收模块603,用于从第二EP接收对应于所述免费ARP报文的ARP应答报文,将所述ARP应答报文发送到第一SDN交换机,以由第一SDN交换机将所述ARP应答报文发送到所述第一EP。
在一个实施方式中,该装置600还包括:
告知模块604,用于当在预定时间内没有接收到对应于所述免费ARP报文的ARP应答报文时,向第一SDN交换机发送无地址冲突告知报文,以由第一SDN交换机将无地址冲突告知报文发送到所述第一EP。
在一个实施方式中:
泛洪模块602,用于确定具有属于该泛洪VLAN集的本地VLAN的SDN交换机,并将所确定的SDN交换机组成SDN交换机集;将免费ARP报文发送到SDN交换机集中的每个SDN交换机,以由所述每个SDN交换机在属于所述泛洪VLAN集的各自本地VLAN中泛洪所述免费ARP报文。
在一个实施方式中:
泛洪模块602,用于从免费ARP报文中获取第一EP所属VLAN的VLAN ID;基于第一SDN交换机的DPID及该VLAN ID,查询预先设定的映射表以确定泛洪VLAN集。
图7为根据本发明实施方式,在免费ARP报文发出侧实现IP地址冲突检测的装置结构图,该装置应用于第一SDN交换机。
如图7所示,该装置700包括:
第一流表项接收模块701,用于从SDN控制器接收第一流表项,第一流表项用于将从连接到第一SDN交换机的第一EP接收到的ARP报文发送到SDN控制器,从而由SDN控制器在泛洪VLAN集内泛洪免费ARP报文;
ARP应答报文接收模块702,用于从SDN控制器接收对应于免费ARP报文的ARP应答报文,其中ARP应答报文是由SDN控制器从第二EP接收的;
ARP应答报文发送模块703,用于将ARP应答报文发送到第一EP。
图8为根据本发明实施方式,在ARP应答报文发出侧实现IP地址冲突检测的装置结构图,该装置应用于第二SDN交换机。
如图8所示,该装置800包括:
第一流表项接收模块801,用于从SDN控制器接收第一流表项,第一流表项用于将连接到第二SDN交换机的第二EP发出的ARP应答报文发送到SDN控制器;
ARP报文接收模块802,用于从SDN控制器接收免费ARP报文,其中免费ARP报文是连接到第一SDN交换机的第一EP发出的、而且被第一SDN交换机发送到SDN控制器;
应答报文接收模块803,用于从第二EP接收对应于免费ARP报文的ARP应答报文,并根据第一流表项将ARP应答报文发送到SDN控制器,从而由SDN控制器将ARP应答报文发送到第一SDN交换机,以由第一SDN交换机将ARP应答报文发送到第一EP。
综上所述,在本发明实施方式中,通过SDN控制器实现预定地址冲突检测空间内多个EP之间的IP地址冲突检测方案。无论是分别属于本地交换机的不同VLAN的EP,还是分别属于不同的本地交换机的EP,本发明都可以进行IP地址冲突检测。因此,本发明的IP地址冲突检测方式适用范围更加广泛。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种软件定义网络SDN中的IP地址冲突检测方法,其特征在于,所述方法应用于SDN控制器,该方法包括:
向第一SDN交换机下发第一流表项,所述第一流表项用于将从连接到第一SDN交换机的第一端点设备EP接收到的免费地址解析协议ARP报文发送到SDN控制器;
确定与第一EP所属的虚拟局域网VLAN及所述第一SDN交换机相对应的泛洪VLAN集,并在所述泛洪VLAN集内泛洪所述免费ARP报文;
所述确定与第一EP所属的VLAN及第一SDN交换机相对应的泛洪VLAN集包括:
从所述免费ARP报文中获取第一EP所属VLAN的VLAN ID;
基于所述第一SDN交换机的数据通路标识DPID及所述VLAN ID,查询预先设定的映射表以确定所述泛洪VLAN集,其中所述泛洪VLAN集的地址冲突检测空间是跨本地交换机和/或跨VLAN的。
2.根据权利要求1所述的方法,其特征在于,所述设定映射表包括:
为第一SDN交换机的每个本地VLAN分别建立泛洪VLAN集,所述泛洪VLAN集包括所述本地VLAN;
针对所述第一SDN交换机的每个本地VLAN,保存第一SDN交换机的DPID及所述本地VLAN的VLAN ID与所述本地VLAN的泛洪VLAN集的对应关系,以形成所述映射表。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
从第二EP接收对应于所述免费ARP报文的ARP应答报文,将所述ARP应答报文发送到第一SDN交换机,以由第一SDN交换机将所述ARP应答报文发送到所述第一EP。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
当在预定时间内没有接收到对应于所述免费ARP报文的ARP应答报文时,向第一SDN交换机发送无地址冲突告知报文,以由第一SDN交换机将所述无地址冲突告知报文发送到所述第一EP。
5.根据权利要求1所述的方法,其特征在于,所述在泛洪VLAN集内泛洪所述免费ARP报文包括:
确定具有属于该泛洪VLAN集的本地VLAN的SDN交换机,并将所确定的SDN交换机组成SDN交换机集;
将所述免费ARP报文发送到所述SDN交换机集中的每个SDN交换机,以由所述每个SDN交换机在属于所述泛洪VLAN集的各自本地VLAN中泛洪所述免费ARP报文。
6.一种软件定义网络SDN中的IP地址冲突检测装置,其特征在于,所述装置应用于SDN控制器,该装置包括:
第一流表项下发模块,用于向第一SDN交换机下发第一流表项,所述第一流表项用于将从连接到第一SDN交换机的第一端点设备EP接收到的免费地址解析协议ARP报文发送到SDN控制器;
泛洪模块,用于确定与第一EP所属的虚拟局域网VLAN及所述第一SDN交换机相对应的泛洪VLAN集,并在所述泛洪VLAN集内泛洪所述免费ARP报文;
所述确定与第一EP所属的VLAN及第一SDN交换机相对应的泛洪VLAN集包括:
从所述免费ARP报文中获取第一EP所属VLAN的VLAN ID;
基于所述第一SDN交换机的数据通路标识DPID及所述VLAN ID,查询预先设定的映射表以确定所述泛洪VLAN集;其中所述泛洪VLAN集的地址冲突检测空间是跨本地交换机和/或跨VLAN的。
7.根据权利要求6所述的装置,其特征在于,还包括:
应答报文接收模块,用于从第二EP接收对应于所述免费ARP报文的ARP应答报文,将所述ARP应答报文发送到第一SDN交换机,以由第一SDN交换机将所述ARP应答报文发送到所述第一EP。
8.根据权利要求6所述的装置,其特征在于,还包括:
告知模块,用于当在预定时间内没有接收到对应于所述免费ARP报文的ARP应答报文时,向第一SDN交换机发送无地址冲突告知报文,以由第一SDN交换机将所述无地址冲突告知报文发送到所述第一EP。
9.根据权利要求6所述的装置,其特征在于,
泛洪模块,用于确定具有属于该泛洪VLAN集的本地VLAN的SDN交换机,并将所确定的SDN交换机组成SDN交换机集;将所述免费ARP报文发送到所述SDN交换机集中的每个SDN交换机,以由所述每个SDN交换机在属于所述泛洪VLAN集的各自本地VLAN中泛洪所述免费ARP报文。
CN201510079981.8A 2015-02-15 2015-02-15 一种软件定义网络中的ip地址冲突检测方法和装置 Active CN104601414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510079981.8A CN104601414B (zh) 2015-02-15 2015-02-15 一种软件定义网络中的ip地址冲突检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510079981.8A CN104601414B (zh) 2015-02-15 2015-02-15 一种软件定义网络中的ip地址冲突检测方法和装置

Publications (2)

Publication Number Publication Date
CN104601414A CN104601414A (zh) 2015-05-06
CN104601414B true CN104601414B (zh) 2018-12-11

Family

ID=53126938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510079981.8A Active CN104601414B (zh) 2015-02-15 2015-02-15 一种软件定义网络中的ip地址冲突检测方法和装置

Country Status (1)

Country Link
CN (1) CN104601414B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681490B (zh) * 2016-03-29 2019-10-22 上海斐讯数据通信技术有限公司 一种基于软件定义网络的防ip地址冲突方法
CN105897493B (zh) * 2016-06-28 2018-11-09 电子科技大学 一种sdn规则冲突的检测方法
CN106685689B (zh) * 2016-10-26 2019-08-27 浙江工商大学 一种基于深度学习的sdn流表冲突检测装置及方法
CN109120741B (zh) * 2018-08-27 2020-10-02 南京中兴新软件有限责任公司 一种重复地址检测方法及装置、计算机可读存储介质
CN108933714A (zh) * 2018-10-24 2018-12-04 郑州云海信息技术有限公司 一种检测ip地址是否存在的方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501355A (zh) * 2013-09-04 2014-01-08 福建星网锐捷网络有限公司 互联网协议地址冲突检测方法、装置及网关设备
CN104104744A (zh) * 2014-07-09 2014-10-15 杭州华三通信技术有限公司 一种ip地址分配的方法和装置
CN104219240A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 一种主机学习方法以及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501355A (zh) * 2013-09-04 2014-01-08 福建星网锐捷网络有限公司 互联网协议地址冲突检测方法、装置及网关设备
CN104104744A (zh) * 2014-07-09 2014-10-15 杭州华三通信技术有限公司 一种ip地址分配的方法和装置
CN104219240A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 一种主机学习方法以及装置

Also Published As

Publication number Publication date
CN104601414A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
US9992154B2 (en) Layer 3 convergence for EVPN link failure
CN104601414B (zh) 一种软件定义网络中的ip地址冲突检测方法和装置
US10050877B2 (en) Packet forwarding method and apparatus
EP3595248B1 (en) Static route advertisement
US9448821B2 (en) Method and system for realizing virtual machine mobility
EP3065342B1 (en) Update of mac routes in evpn single-active topology
EP2853066B1 (en) Layer-3 overlay gateways
EP3264694A1 (en) Signaling ip address mobility in ethernet virtual private networks
US9860169B1 (en) Neighbor resolution for remote EVPN hosts in IPV6 EVPN environment
EP2129049B1 (en) A protecting method and device for ethernet tree service
CN101471875B (zh) 基于环路的报文传送方法、网络系统和节点设备
CN108964940B (zh) 消息发送方法及装置、存储介质
CN104113459A (zh) 一种evi网络中虚拟机平滑迁移方法和装置
CN110233766B (zh) 一种基于IPv6的OTN、PTN、IPRAN、SPN及PON网络自动部署的方法
KR100663854B1 (ko) 네트워크 시스템, 제어 장치, 라우터 장치, 액세스 포인트및 이동 단말기
CN102123106A (zh) 一种虚拟专用局域网服务网络中mac地址学习方法和装置
CN107040441B (zh) 跨数据中心的数据传输方法、装置及系统
WO2016034127A1 (zh) 一种实现双节点互联伪线的系统及方法
CN106060190B (zh) 一种ip地址冲突的处理方法及装置
CN102420762B (zh) 报文转发方法、系统、网络设备和防火墙线卡
WO2015127643A1 (en) Method and communication node for learning mac address in a layer-2 communication network
CN104734953A (zh) 基于vlan实现报文二层隔离的方法、装置及交换机
CN105281951A (zh) Vsu系统中双主用设备冲突检测方法及网络设备
US20150139233A1 (en) Information processing method, device and system
EP2704373B1 (en) Method, apparatus and system for neighbor discovery

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant