CN104601414B - 一种软件定义网络中的ip地址冲突检测方法和装置 - Google Patents
一种软件定义网络中的ip地址冲突检测方法和装置 Download PDFInfo
- 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
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
技术领域
本发明实施方式属于网络通信技术领域,特别是一种软件定义网络(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报文。
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)
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)
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 | 杭州华三通信技术有限公司 | 一种主机学习方法以及装置 |
-
2015
- 2015-02-15 CN CN201510079981.8A patent/CN104601414B/zh active Active
Patent Citations (3)
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 |