一種軟件定義網(wǎng)絡中的ip地址沖突檢測方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實施方式屬于網(wǎng)絡通信技術(shù)領(lǐng)域,特別是一種軟件定義網(wǎng)絡(Software DefinedNetwork,SDN)中的IP地址沖突檢測方法和裝置。
【背景技術(shù)】
[0002] IP地址沖突是指在局域網(wǎng)的環(huán)境中IP地址出現(xiàn)重疊。在傳統(tǒng)網(wǎng)絡中,一般通過發(fā) 送免費(gratuitous)地址解析協(xié)議(AddressResolutionProtocol,,ARP)報文感知IP 地址沖突。免費ARP報文與普通ARP報文的區(qū)別在于:普通的ARP報文封裝有其他端點設(shè) 備(Endpointdevice,EP)的IP地址,而免費ARP報文封裝的是自身的IP地址。當一臺EP 發(fā)送免費ARP報文后,如果收到ARP響應報文,則說明該IP地址在網(wǎng)絡內(nèi)已經(jīng)存在。
[0003] 然而,現(xiàn)有技術(shù)的IP地址沖突檢測方式只能檢測本地交換機的同一虛擬局域網(wǎng) (VirtualLocalAreaNetwork,VLAN)內(nèi)EP之間的IP地址沖突狀況。如果EP分別屬于 本地交換機的不同VLAN,則無法進行IP地址沖突檢測。而且,即使EP處于同一VLAN,如果 EP分別屬于不同的本地交換機,現(xiàn)有技術(shù)的IP地址沖突檢測方式同樣無法進行IP地址沖 突檢測。因此,現(xiàn)有技術(shù)的IP地址沖突檢測方式適用情景單一。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施方式提出一種SDN中的IP地址沖突檢測方法和裝置,以擴充IP地址 沖突檢測的適用情景。
[0005] 本發(fā)明實施方式的技術(shù)方案如下:
[0006] 本發(fā)明實施方式的一方面,提供了一種SDN中的IP地址沖突檢測方法,所述方法 應用于SDN控制器,該方法包括:
[0007] 向第一SDN交換機下發(fā)第一流表項,所述第一流表項用于將從連接到第一SDN交 換機的第一EP接收到的ARP報文發(fā)送到SDN控制器;
[0008] 確定與第一EP所屬的VLAN及所述第一SDN交換機相對應的泛洪VLAN集,并在所 述泛洪VLAN集內(nèi)泛洪所述免費ARP報文。
[0009] 本發(fā)明實施方式的一方面,提出了一種SDN中的IP地址沖突檢測裝置,所述裝置 應用于SDN控制器,該裝置包括:
[0010] 第一流表項下發(fā)模塊,用于向第一SDN交換機下發(fā)第一流表項,所述第一流表項 用于將從連接到第一SDN交換機的第一EP接收到的免費地址解析協(xié)議ARP報文發(fā)送到SDN 控制器;
[0011] 泛洪模塊,用于確定與第一EP所屬的虛擬局域網(wǎng)VLAN及所述第一SDN交換機相 對應的泛洪VLAN集,并在所述泛洪VLAN集內(nèi)泛洪所述免費ARP報文。
[0012] 在本發(fā)明實施方式中,通過SDN控制器實現(xiàn)預定地址沖突檢測空間內(nèi)EP之間的IP 地址沖突檢測方案。無論是分別屬于本地交換機的不同VLAN的EP,還是分別屬于不同的本 地交換機的EP,本發(fā)明都可以進行IP地址沖突檢測。因此,本發(fā)明的IP地址沖突檢測方式 適用范圍更加廣泛。
【附圖說明】
[0013] 圖1為現(xiàn)有技術(shù)在傳統(tǒng)網(wǎng)絡中實現(xiàn)IP地址沖突檢測的示意圖;
[0014] 圖2為根據(jù)本發(fā)明實施方式,在SDN控制器側(cè)實現(xiàn)IP地址沖突檢測的方法流程 圖;
[0015] 圖3為根據(jù)本發(fā)明實施方式,在免費ARP報文發(fā)出側(cè)實現(xiàn)IP地址沖突檢測的方法 流程圖;
[0016] 圖4為根據(jù)本發(fā)明實施方式,在ARP應答報文發(fā)出側(cè)實現(xiàn)IP地址沖突檢測的方法 流程圖;
[0017] 圖5為根據(jù)本發(fā)明實現(xiàn)IP地址沖突檢測的示范性示意圖;
[0018] 圖6為根據(jù)本發(fā)明實施方式,在SDN控制器側(cè)實現(xiàn)IP地址沖突檢測的裝置結(jié)構(gòu) 圖;
[0019] 圖7為根據(jù)本發(fā)明實施方式,在免費ARP報文發(fā)出側(cè)實現(xiàn)IP地址沖突檢測的裝置 結(jié)構(gòu)圖;
[0020] 圖8為根據(jù)本發(fā)明實施方式,在ARP應答報文發(fā)出側(cè)實現(xiàn)IP地址沖突檢測的裝置 結(jié)構(gòu)圖。
【具體實施方式】
[0021] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步 的詳細描述。
[0022] 圖1為現(xiàn)有技術(shù)在傳統(tǒng)網(wǎng)絡中實現(xiàn)IP地址沖突檢測的示意圖。
[0023] 在圖1中,本地交換機1連接有EP1、EP2和EP5 ;本地交換機2連接有EP3、EP4和 EP6,其中EP1、EP2 和EP6 屬于VLANl;EP3 和EP4 屬于VLAN2 ;EP5 屬于VLAN3。
[0024] 當EPl上配置IP地址時,EPl向本地交換機1發(fā)送免費ARP報文,該免費ARP攜 帶EPl自身的MAC地址和IP地址。本地交換機1在本地交換機1的VLANl內(nèi)泛洪該免費 ARP報文,當沖突設(shè)備(如EP2)收到該免費ARP報文時,通過本地交換機1向EPl回應ARP 應答報文。EPl收到該ARP應答報文,在自身系統(tǒng)內(nèi)上報地址沖突信息。
[0025] 然而,由于ARP報文的特點決定了其不能進行IP轉(zhuǎn)發(fā),因此ARP沖突檢測只能在 本地的VLAN內(nèi)檢測。比如,圖1中EPl和EP5雖然連接到相同的本地交換機,但是不屬于 同一個VLAN,因此無法針對EPl和EP5執(zhí)行IP地址沖突檢測。同樣,傳統(tǒng)網(wǎng)絡中也無法檢 測本地設(shè)備和遠端設(shè)備上的IP地址沖突。比如:圖1中的EPl和EP6雖然共同屬于相同的 VLAN,但是分別連接到不同的本地交換機,因此也無法針對EPl和EP6執(zhí)行IP地址沖突檢 測。
[0026] 可見,在現(xiàn)有技術(shù)中,在同一本地交換機的不同VLAN內(nèi)的EP之間,無法進行IP地 址沖突檢測。而且,在不同的本地交換機的EP之間也無法進行IP地址沖突檢測。
[0027] 實際上,在重疊(Overlay)網(wǎng)絡中可能存在獨立的地址沖突檢測空間,該地址沖 突檢測空間可能是跨本地交換機和/或跨VLAN的,而且該地址沖突檢測空間內(nèi)的EP不允 許IP地址重疊。本發(fā)明實施方式通過SDN控制器實現(xiàn)該地址沖突檢測空間內(nèi)的IP地址沖 突檢測。
[0028] 圖2為根據(jù)本發(fā)明實施方式,在SDN控制器側(cè)實現(xiàn)IP地址沖突檢測的方法流程 圖。
[0029] 如圖2所示,該方法包括:
[0030] 步驟201 :向第一SDN交換機下發(fā)第一流表項,第一流表項用于將從連接到第一SDN交換機的第一EP接收到的免費ARP報文發(fā)送到SDN控制器。
[0031] 第一流表項保證第一SDN交換機從第一EP接收到的免費ARP報文都將上送SDN 控制器。SDN控制器從第一EP接收到的免費ARP報文中封裝有第一EP的IP地址。
[0032] 步驟202 :確定與第一EP所屬的VLAN及第一SDN交換機相對應的泛洪VLAN集, 并在泛洪VLAN集內(nèi)泛洪免費ARP報文。
[0033] 在SDN控制器上可以配置一或多個泛洪VLAN集,每個泛洪VLAN集可以包含一或 多個VLAN。泛洪VLAN集分別有獨立的標識,從而相互區(qū)分??梢曰诎l(fā)出免費ARP報文的 EP所屬的VLAN以及該EP所連接的SDN交換機,確定泛洪VLAN集。
[0034] 比如,可以在SDN控制器上預先建立映射表,在該映射表中保存SDN交換機的數(shù)據(jù) 通路標識(DPID)及SDN交換機的本地VLANID與本地VLAN的泛洪VLAN集的對應關(guān)系。
[0035] 比如,針對第一SDN交換機,可以為第一SDN交換機的每個本地VLAN分別建立泛 洪VLAN集,該泛洪VLAN集至少包括本地VLAN自身。而且,針對第一SDN交換機的每個本 地VLAN,進一步保存第一SDN交換機的DPID及本地VLAN的VLANID與本地VLAN的泛洪 VLAN集的對應關(guān)系,以形成第一SDN交換機的映射表。SDN控制器通常連接有多個SDN交 換機,可以將各個SDN交換機的映射表整合為一個整體的映射表。當SDN控制器收到免費 ARP報文后,首先查詢整體的映射表以確定免費ARP報文的泛洪VLAN集。
[0036] 比如,SDN控制器接收到第一SDN交換機轉(zhuǎn)發(fā)的、源為第一EP的免費ARP報文之 后,從免費ARP報文中獲取第一EP所屬VLAN的VLANID,并基于第一SDN交換機的DPID以 及該VLANID,查詢映射表以確定免費ARP報文的泛洪VLAN集。所確定的泛洪VLAN集中包 含有第一EP所屬VLAN。
[0037] 為免費ARP報文所確定的泛洪VLAN集即為設(shè)定的地址沖突檢測空間,在該地址 沖突檢測空間內(nèi)不允許IP地址重疊。廣義上說,每個泛洪VLAN集都可以視為一個網(wǎng)絡 (network)〇
[0038] 具體地,在泛洪VLAN集內(nèi)泛洪免費ARP報文可以包括:首先確定具有屬于該泛洪 VLAN集的本地VLAN的SDN交換機,并將所確定的SDN交換機組成SDN交換機集;再將免費 ARP報文發(fā)送到SDN交換機集中的每個SDN交換機,以由每個SDN交換機在屬于泛洪VLAN 集的各自本地VLAN中泛洪免費ARP報文,從而檢測由該泛洪VLAN集所構(gòu)成的地址沖突檢 測空間中是否存在與第一EP的IP地址相沖突的設(shè)備。
[0039] 在一個實施方式中,當在泛洪VLAN集所對應的地址沖突檢測空間內(nèi)不存在與第 一EP的IP地址相沖突的設(shè)備時,比如SDN控制器在預定時間內(nèi)沒有接收到對應于該免費 ARP報文的ARP應答報文,SDN控制器向第一SDN交換機發(fā)送無地址沖突告知報文,第一SDN 交換機將無地址沖突告知報文發(fā)送到第一EP。第一EP收到無地址沖突告知報文后可以獲 知無地址沖突。
[0040] 在一個實施方式中,當在泛洪VLAN集所對應的地址沖突檢測空間內(nèi)存在與第一 EP的IP地址相沖突的設(shè)備(比如為第二EP)時,SDN控制器從第二EP接收對應于免費ARP報文的ARP應答報文,將ARP應答報文發(fā)送到第一SDN交換機,第一SDN交換機將ARP應答 報文發(fā)送到第一EP。第一EP收到ARP應答報文后可以獲知存在地址沖突,