軟件定義網(wǎng)絡(luò)報(bào)文監(jiān)控方法和sdn控制器、交換設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種軟件定義網(wǎng)絡(luò)報(bào)文監(jiān)控方法和SDN控 制器、交換設(shè)備。
【背景技術(shù)】
[0002] SDN(Software Def ined Network,軟件定義網(wǎng)絡(luò))網(wǎng)絡(luò)中的拓?fù)溆蒘DN控制器維 護(hù),SDN交換設(shè)備之間的轉(zhuǎn)發(fā)路徑由SDN控制器根據(jù)拓?fù)溆?jì)算得到,主機(jī)之間的轉(zhuǎn)發(fā)流表也 是由SDN控制器下發(fā)到指定的SDN交換設(shè)備上。SDN控制器也可以對(duì)某個(gè)主機(jī)進(jìn)行實(shí)時(shí)的 流量監(jiān)控,只要將該主機(jī)發(fā)出的報(bào)文或者發(fā)送到該主機(jī)的報(bào)文封裝為SDN Packet-in報(bào)文 發(fā)送到SDN控制器即可,由SDN控制器統(tǒng)一解析報(bào)文內(nèi)容。也可以在SDN交換設(shè)備上部署 傳統(tǒng)的監(jiān)控協(xié)議(如基于采樣的流量監(jiān)控技術(shù)sFlow),由SDN交換設(shè)備上的監(jiān)控客戶端和 監(jiān)控服務(wù)器獨(dú)立進(jìn)行報(bào)文交互,監(jiān)控客戶端和監(jiān)控服務(wù)器之間通過(guò)用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)報(bào)文傳遞監(jiān)控?cái)?shù)據(jù)包。
[0003] SDN交換設(shè)備將被監(jiān)控主機(jī)的數(shù)據(jù)報(bào)文封裝在Packet-in報(bào)文中上送SDN控制器 可以完成對(duì)主機(jī)的監(jiān)控,但是會(huì)占用SDN控制器的存儲(chǔ)和中央處理器(Central Processing Unit,CPU)資源,尤其在被監(jiān)控主機(jī)數(shù)量比較多時(shí),SDN控制器的負(fù)擔(dān)就會(huì)過(guò)重,影響SDN網(wǎng) 絡(luò)的正常效率;直接在SDN交換設(shè)備上部署傳統(tǒng)的監(jiān)控協(xié)議需要在SDN交換設(shè)備上配置傳 統(tǒng)的路由協(xié)議,影響SDN控制器對(duì)網(wǎng)絡(luò)的完全控制,當(dāng)主機(jī)在網(wǎng)絡(luò)中發(fā)生迀移時(shí)還需要重 新在接入交換設(shè)備上配置傳統(tǒng)的監(jiān)控協(xié)議,使用場(chǎng)景比較受限。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明提出了一種SDN網(wǎng)絡(luò)報(bào)文監(jiān)控方法和SDN控制器、交換設(shè)備,有 效解決了現(xiàn)有技術(shù)中SDN控制器存儲(chǔ)監(jiān)控?cái)?shù)據(jù)導(dǎo)致的負(fù)擔(dān)過(guò)重、或依賴(lài)監(jiān)控協(xié)議實(shí)現(xiàn)監(jiān)控 控制的問(wèn)題。
[0005] 本發(fā)明提出的技術(shù)方案是:
[0006] 一種SDN網(wǎng)絡(luò)報(bào)文監(jiān)控方法,該方法應(yīng)用于SDN網(wǎng)絡(luò),SDN網(wǎng)絡(luò)包括SDN控制器和 SDN交換設(shè)備,SDN交換設(shè)備支持多級(jí)流表,該方法包括:
[0007] SDN控制器確定鏡像隧道,該鏡像隧道是被監(jiān)控主機(jī)所在的源SDN交換設(shè)備與監(jiān) 控服務(wù)器所在的目的SDN交換設(shè)備之間的隧道;
[0008] 所述SDN控制器分別為所述鏡像隧道上的所述源SDN交換設(shè)備、所述目的SDN交 換設(shè)備創(chuàng)建并下發(fā)表ID為1的鏡像流表,使所述源SDN交換設(shè)備以及所述目的SDN交換設(shè) 備接收到所述鏡像流表后,分別根據(jù)表ID為1將鏡像流表保存在多級(jí)流表的第一級(jí)流表 中。
[0009] 一種SDN控制器,該SDN控制器所在的SDN網(wǎng)絡(luò)還包括SDN交換設(shè)備,SDN交換設(shè) 備支持多級(jí)流表,該SDN控制器包括:
[0010] 鏡像隧道確定模塊,用于確定鏡像隧道,鏡像隧道是被監(jiān)控主機(jī)所在的源SDN交 換設(shè)備與監(jiān)控服務(wù)器所在的目的SDN交換設(shè)備之間的隧道;
[0011] 流表創(chuàng)建模塊,用于分別為鏡像隧道上的源SDN交換設(shè)備、目的SDN交換設(shè)備創(chuàng)建 并下發(fā)表ID為1的鏡像流表,使源SDN交換設(shè)備以及目的SDN交換設(shè)備接收到鏡像流表后, 分別根據(jù)表ID為1將鏡像流表保存在多級(jí)流表的第一級(jí)流表中。
[0012] 一種SDN交換設(shè)備,該SDN交換設(shè)備支持多級(jí)流表,當(dāng)所述SDN交換設(shè)備為SDN控 制器創(chuàng)建的鏡像隧道上的源SDN交換設(shè)備或目的SDN交換設(shè)備時(shí),該設(shè)備包括:
[0013] 接收模塊,用于接收SDN控制器創(chuàng)建并下發(fā)的表ID為1的鏡像流表;
[0014] 存儲(chǔ)模塊,用于根據(jù)表ID為1將鏡像流表保存在多級(jí)流表的第一級(jí)流表中;
[0015] 接收模塊還用于,接收目的主機(jī)信息或源主機(jī)信息是被監(jiān)控主機(jī)的地址信息的原 始數(shù)據(jù)報(bào)文。
[0016] 綜上,本發(fā)明提出了一種SDN網(wǎng)絡(luò)報(bào)文監(jiān)控方法,SDN控制器在源SDN交換設(shè)備與 目的SDN交換設(shè)備之間建立鏡像隧道,當(dāng)源SDN交換設(shè)備監(jiān)控到被監(jiān)控主機(jī)發(fā)出的原始數(shù) 據(jù)報(bào)文、或發(fā)送給被監(jiān)控主機(jī)的原始數(shù)據(jù)報(bào)文后,復(fù)制監(jiān)控到的原始數(shù)據(jù)報(bào)文,將復(fù)制的數(shù) 據(jù)報(bào)文進(jìn)行封裝并添加鏡像標(biāo)簽得到封裝報(bào)文,然后將攜帶鏡像標(biāo)簽的封裝報(bào)文通過(guò)鏡像 隧道轉(zhuǎn)發(fā)給目的SDN交換設(shè)備,使得目的SDN交換設(shè)備剝離鏡像標(biāo)簽并解封裝該封裝報(bào)文, 得到復(fù)制的數(shù)據(jù)報(bào)文,并將該復(fù)制的數(shù)據(jù)報(bào)文發(fā)送給監(jiān)控服務(wù)器,實(shí)現(xiàn)對(duì)被監(jiān)控主機(jī)的流 量監(jiān)控。該方法不需要占用SDN控制器的內(nèi)存和CPU資源,不會(huì)影響SDN控制器的工作效 率,也不必依賴(lài)監(jiān)控協(xié)議,能夠高效便捷的實(shí)現(xiàn)對(duì)被監(jiān)控主機(jī)的流量監(jiān)控。
【附圖說(shuō)明】
[0017] 圖1為本發(fā)明實(shí)施例的流程圖;
[0018] 圖2為本發(fā)明方法實(shí)施例的OpenFlow網(wǎng)絡(luò)結(jié)構(gòu)圖;
[0019] 圖3為方法實(shí)施例的流程圖;
[0020] 圖4為本發(fā)明實(shí)施例的SDN控制器結(jié)構(gòu)圖;
[0021] 圖5為本發(fā)明實(shí)施例的SDN交換設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022] 現(xiàn)有技術(shù)SDN網(wǎng)絡(luò)中進(jìn)行流量監(jiān)控時(shí),一種方法通過(guò)將被監(jiān)控主機(jī)發(fā)出的原始數(shù) 據(jù)報(bào)文或者發(fā)送到被監(jiān)控主機(jī)的原始數(shù)據(jù)報(bào)文封裝為SDN Packet-in報(bào)文發(fā)送到SDN控制 器,由SDN控制器統(tǒng)一解析報(bào)文內(nèi)容;另一種方法是通過(guò)在SDN交換設(shè)備上部署傳統(tǒng)的監(jiān)控 協(xié)議,由SDN交換設(shè)備上的監(jiān)控客戶端和監(jiān)控服務(wù)器獨(dú)立進(jìn)行報(bào)文交互。然而第一種方法 會(huì)占用SDN控制器的存儲(chǔ)和CPU資源,尤其在被監(jiān)控主機(jī)數(shù)量比較多時(shí),SDN控制器的負(fù)擔(dān) 就會(huì)過(guò)重,影響SDN網(wǎng)絡(luò)的正常效率;第二種方法需要在SDN交換設(shè)備上配置傳統(tǒng)的路由協(xié) 議,影響SDN控制器對(duì)網(wǎng)絡(luò)的完全控制,當(dāng)主機(jī)在網(wǎng)絡(luò)中發(fā)生迀移時(shí)還需要重新在接入交 換設(shè)備上配置傳統(tǒng)的監(jiān)控協(xié)議,使用場(chǎng)景比較受限。
[0023] 為解決上述技術(shù)問(wèn)題,本發(fā)明提出一種SDN網(wǎng)絡(luò)報(bào)文監(jiān)控的方法,本發(fā)明實(shí)施例 的技術(shù)方案是:
[0024] 如圖1所示,本發(fā)明一種SDN網(wǎng)絡(luò)報(bào)文監(jiān)控的方法應(yīng)用于SDN控制器上,SDN控制 器執(zhí)行以下步驟:
[0025] 步驟101 :SDN控制器確定鏡像隧道,該鏡像隧道是被監(jiān)控主機(jī)所在的源SDN交換 設(shè)備與監(jiān)控服務(wù)器所在的目的SDN交換設(shè)備之間的隧道。
[0026] 本步驟中,SDN控制器將被監(jiān)控主機(jī)所在的SDN交換設(shè)備確定為源SDN交換設(shè)備, 將監(jiān)控服務(wù)器所在的SDN交換設(shè)備確定為目的SDN交換設(shè)備,并根據(jù)拓?fù)湓谠碨DN交換設(shè) 備與目的SDN交換設(shè)備之間建立一條鏡像隧道,該鏡像隧道上除源SDN交換設(shè)備和目的SDN 交換設(shè)備外,還可能存在其他中間SDN交換設(shè)備。
[0027] 步驟102 :SDN控制器分別為鏡像隧道上的源SDN交換設(shè)備、目的SDN交換設(shè)備創(chuàng) 建并下發(fā)表ID為1的鏡像流表,使源SDN交換設(shè)備以及目的SDN交換設(shè)備接收到鏡像流表 后,分別根據(jù)表ID為1將鏡像流表保存在多級(jí)流表的第一級(jí)流表中。
[0028] 本步驟中,SDN控制器分別為鏡像隧道上的源SDN交換設(shè)備、目的SDN交換設(shè)備創(chuàng) 建并下發(fā)鏡像流表。
[0029] 具體地,SDN控制器為源SDN交換設(shè)備創(chuàng)建表ID為1的鏡像流表,該鏡像流表的 表ID為1,使得源SDN交換設(shè)備將該鏡像流表保存在多級(jí)流表的第一級(jí)流表中。該表ID為 1的鏡像流表的匹配項(xiàng)是被監(jiān)控主機(jī)的地址信息,動(dòng)作項(xiàng)是復(fù)制原始數(shù)據(jù)報(bào)文、將復(fù)制的數(shù) 據(jù)報(bào)文進(jìn)行