亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種主機(jī)學(xué)習(xí)方法以及裝置制造方法

文檔序號(hào):7813314閱讀:142來(lái)源:國(guó)知局
一種主機(jī)學(xué)習(xí)方法以及裝置制造方法
【專(zhuān)利摘要】本發(fā)明提供一種主機(jī)學(xué)習(xí)方法以及裝置,應(yīng)用于SDN網(wǎng)絡(luò)中的控制設(shè)備,其中該方法包括:接收交換機(jī)上送的源端主機(jī)的報(bào)文,獲取所述報(bào)文的報(bào)文信息,所述報(bào)文信息包括報(bào)文的VLAN屬性信息;根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解析協(xié)議ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文封裝至Openflow報(bào)文中;將所述VLAN屬性信息添加至所述Openflow報(bào)文中,指示交換機(jī)通過(guò)其泛洪端口將所述Openflow報(bào)文在所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行泛洪;在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述ARP確認(rèn)報(bào)文中攜帶的目的主機(jī)的主機(jī)信息,從而完成對(duì)源端主機(jī)以及目的主機(jī)信息的學(xué)習(xí)。
【專(zhuān)利說(shuō)明】-種主機(jī)學(xué)習(xí)方法以及裝置

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種主機(jī)學(xué)習(xí)方法以及裝置。

【背景技術(shù)】
[0002] SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))是一種新型的網(wǎng)絡(luò)架構(gòu),通常包 含實(shí)現(xiàn)控制面功能的控制器(Controller)和若干實(shí)現(xiàn)數(shù)據(jù)面功能的交換機(jī)(Switch)。
[0003] SDN技術(shù)中最為流行的是OpenFlow (開(kāi)放流)協(xié)議,在基于OpenFlow協(xié)議的SDN 中,各個(gè)Open flow交換機(jī)分別連接不同的主機(jī),該主機(jī)可以是實(shí)際存在的主機(jī),也可以是 虛擬主機(jī),控制設(shè)備和Open flow交換機(jī)之間通過(guò)控制通道運(yùn)行Open flow協(xié)議,由控制設(shè) 備向Open flow交換機(jī)下發(fā)Open flow流表項(xiàng),指導(dǎo)Open flow交換機(jī)對(duì)各主機(jī)之間數(shù)據(jù) 層面的數(shù)據(jù)轉(zhuǎn)發(fā)。然而,控制設(shè)備向Open flow交換機(jī)下發(fā)Open flow流表項(xiàng)時(shí)必須要知 道主機(jī)信息,才能指導(dǎo)網(wǎng)絡(luò)中的數(shù)據(jù)轉(zhuǎn)發(fā)?,F(xiàn)有技術(shù)中由網(wǎng)絡(luò)管理員手工配置各主機(jī)信息, 在主機(jī)設(shè)備較多時(shí),使用手工配置則會(huì)導(dǎo)致信息配置易出錯(cuò),處理效率較慢等問(wèn)題。


【發(fā)明內(nèi)容】

[0004] 有鑒于此,本發(fā)明提供了一種主機(jī)學(xué)習(xí)方法以及裝置來(lái)解決上述問(wèn)題。
[0005] 本發(fā)明提供了一種主機(jī)學(xué)習(xí)方法,應(yīng)用于SDN網(wǎng)絡(luò)中的控制設(shè)備,其中所述方法 包括:
[0006] 接收交換機(jī)上送的源端主機(jī)的報(bào)文,獲取所述報(bào)文的報(bào)文信息,所述報(bào)文信息包 括報(bào)文的VLAN屬性信息;
[0007] 根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解析協(xié)議ARP請(qǐng)求報(bào)文,并將所 述ARP請(qǐng)求報(bào)文封裝至Open flow報(bào)文中;
[0008] 將所述VLAN屬性信息添加至所述Open flow報(bào)文中,指示交換機(jī)通過(guò)其泛洪端口 將所述Open flow報(bào)文在所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行泛洪;
[0009] 在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述ARP確認(rèn)報(bào)文中攜帶的目的 主機(jī)的主機(jī)信息。
[0010] 本發(fā)明還提供一種主機(jī)學(xué)習(xí)裝置,應(yīng)用于SDN網(wǎng)絡(luò)中的控制設(shè)備,其中所述裝置 包括:
[0011] 報(bào)文信息獲取單元,用于接收交換機(jī)上送的源端主機(jī)的報(bào)文,獲取所述報(bào)文的報(bào) 文信息,所述報(bào)文信息包括報(bào)文的VLAN屬性信息;
[0012] ARP報(bào)文生成單元,用于根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解析協(xié) 議ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文封裝至Open flow報(bào)文中;
[0013] Open flow報(bào)文泛洪單元,用于將所述VLAN屬性信息添加至所述Open flow報(bào)文 中,指示交換機(jī)通過(guò)其泛洪端口將所述Open flow報(bào)文在所述VLAN屬性信息對(duì)應(yīng)的VLAN 內(nèi)進(jìn)行泛洪;
[0014] 目的主機(jī)學(xué)習(xí)單元,用于在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述ARP 確認(rèn)報(bào)文中攜帶的目的主機(jī)的主機(jī)信息。
[0015] 本發(fā)明提供的主機(jī)學(xué)習(xí)方法以及裝置根據(jù)Open flow交換機(jī)上送的源端主機(jī)的報(bào) 文生成請(qǐng)求目的主機(jī)信息的ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文泛洪,在接收到目的主機(jī) 的ARP確認(rèn)報(bào)文后,根據(jù)所述ARP確認(rèn)報(bào)文學(xué)習(xí)其中攜帶的目的主機(jī)的主機(jī)信息,從而完成 對(duì)主機(jī)信息的學(xué)習(xí)。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0016] 圖1是本發(fā)明SDN網(wǎng)絡(luò)組網(wǎng)示意圖;
[0017] 圖2是本發(fā)明實(shí)施例中主機(jī)學(xué)習(xí)方法流程框圖;
[0018] 圖3是本發(fā)明實(shí)施例中主機(jī)學(xué)習(xí)方法工作流程圖;
[0019] 圖4是本發(fā)明實(shí)施例中主機(jī)學(xué)習(xí)裝置所在控制設(shè)備的硬件架構(gòu)示意圖;
[0020] 圖5為本發(fā)明實(shí)施例中主機(jī)學(xué)習(xí)裝置的邏輯結(jié)構(gòu)示意圖;
[0021] 圖6為本發(fā)明實(shí)施例中ARP報(bào)文泛洪單元的邏輯結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0022] 目前,SDN技術(shù)中最為流行的是Open flow協(xié)議,以下將以O(shè)pen flow協(xié)議為例進(jìn) 行說(shuō)明,需要說(shuō)明的是,本申請(qǐng)并不排除其他能夠?qū)崿F(xiàn)SDN功能的協(xié)議。
[0023] 本發(fā)明實(shí)施例所應(yīng)用的一種網(wǎng)絡(luò)環(huán)境如圖1所示,在Open flow協(xié)議搭建的SDN網(wǎng) 絡(luò)中,包括控制設(shè)備、多個(gè)Open flow交換機(jī)(SW1、SW2、SW3)以及接入不同Open flow交換 機(jī)的主機(jī)(Hostl、Host2、Host3)。其中,主機(jī)可以是實(shí)際存在的主機(jī)也可以是VM(Virtual Machine,虛擬主機(jī))。Open flow交換機(jī)與Open flow交換機(jī),或Open flow交換機(jī)與主 機(jī)之間可以通過(guò)數(shù)據(jù)通道通信,控制設(shè)備和Open flow交換機(jī)之間可以通過(guò)控制通道運(yùn)行 Open flow協(xié)議,控制設(shè)備向Open flow交換機(jī)下發(fā)Open flow流表,以指導(dǎo)Open flow交 換機(jī)對(duì)各主機(jī)之間數(shù)據(jù)層面的數(shù)據(jù)轉(zhuǎn)發(fā)。
[0024] 本發(fā)明通過(guò)接收Open flow交換機(jī)上送的源端主機(jī)的報(bào)文,根據(jù)所述報(bào)文生成請(qǐng) 求目的主機(jī)信息的地址解析協(xié)議ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文泛洪,在接收到ARP 確認(rèn)報(bào)文后,根據(jù)所述ARP確認(rèn)報(bào)文學(xué)習(xí)其中攜帶的目的主機(jī)的主機(jī)信息,以解決現(xiàn)有技 術(shù)中所遇到的困境。
[0025] 在本實(shí)施例中,主機(jī)學(xué)習(xí)方法的處理流程如圖2所示,該方法應(yīng)用在SDN網(wǎng)絡(luò)的控 制設(shè)備上,包括以下步驟:
[0026] 步驟201,接收交換機(jī)上送的源端主機(jī)的報(bào)文,獲取所述報(bào)文的報(bào)文信息,所述報(bào) 文信息包括報(bào)文的VLAN屬性信息。
[0027] 在具體實(shí)現(xiàn)中,Open flow交換機(jī)接收到報(bào)文時(shí),可以將接收的報(bào)文與自身預(yù)存的 流表項(xiàng)進(jìn)行匹配,在匹配成功時(shí),根據(jù)所匹配到的流表項(xiàng)的指示進(jìn)行處理;在未匹配至自身 預(yù)存的任意一項(xiàng)流表項(xiàng)時(shí),則將接收的報(bào)文上送控制設(shè)備處理。
[0028] 本發(fā)明實(shí)施例也可以在SDN網(wǎng)絡(luò)中的控制設(shè)備與各Open flow交換機(jī)建立Open flow連接后,為各Open flow交換機(jī)下發(fā)一條默認(rèn)的上送流表項(xiàng),并將該上送流表項(xiàng)的優(yōu) 先級(jí)設(shè)置為低于其他流表項(xiàng)的優(yōu)先級(jí),例如該上送流表項(xiàng)的優(yōu)先級(jí)可以設(shè)置為〇(優(yōu)先級(jí) 數(shù)字越大代表優(yōu)先級(jí)越高),以使Open flow交換機(jī)在接收到報(bào)文時(shí),根據(jù)優(yōu)先級(jí)由高至低 依次匹配Open flow交換機(jī)上預(yù)存的流表項(xiàng),當(dāng)匹配到優(yōu)先級(jí)為0的上送流表項(xiàng)時(shí),也可認(rèn) 為接收的報(bào)文未匹配到Open flow交換機(jī)上預(yù)存的流表項(xiàng),則將匹配到所述上送流表項(xiàng)的 報(bào)文上送至控制設(shè)備處理。
[0029] 控制設(shè)備在接收到由Open flow交換機(jī)上送的報(bào)文時(shí),則可以認(rèn)為該報(bào)文為未匹 配到Open flow交換機(jī)預(yù)存的任意一條流表項(xiàng)(包括匹配到默認(rèn)的上送流表項(xiàng))的報(bào)文。 那么,控制設(shè)備首先根據(jù)所述報(bào)文中攜帶的源端主機(jī)信息學(xué)習(xí)其主機(jī)MAC地址以及主機(jī)的 接入位置,并保存所述源MAC地址與接收所述報(bào)文的Open flow交換機(jī)端口的對(duì)應(yīng)關(guān)系。再 根據(jù)所述對(duì)應(yīng)關(guān)系生成轉(zhuǎn)發(fā)流表項(xiàng)下發(fā)至接收該報(bào)文的Open flow交換機(jī)端口,用于將匹 配所述轉(zhuǎn)發(fā)流表項(xiàng)的報(bào)文通過(guò)與其對(duì)應(yīng)的Open flow交換機(jī)端口轉(zhuǎn)發(fā)出去。該轉(zhuǎn)發(fā)流表項(xiàng) 的優(yōu)先級(jí)可以高于上送流表項(xiàng)的優(yōu)先級(jí),例如將該轉(zhuǎn)發(fā)流表項(xiàng)的優(yōu)先級(jí)設(shè)置為5,以使在該 端口再次接收到報(bào)文時(shí),根據(jù)該流表項(xiàng)優(yōu)先級(jí)的順序有高至低進(jìn)行匹配。
[0030] 在初始的SDN網(wǎng)絡(luò)中,各主機(jī)的主機(jī)信息可能均未知,只有在學(xué)習(xí)到該源端主機(jī) 的主機(jī)信息后,可以根據(jù)源端主機(jī)發(fā)送的報(bào)文中攜帶的目的IP地址、DIP信息以及VLAN屬 性信息查找到其目的主機(jī),并進(jìn)一步學(xué)習(xí)目的主機(jī)的主機(jī)信息。然而,并不是所有的報(bào)文都 攜帶有VLAN屬性信息,若接收的報(bào)文中未攜帶其VLAN屬性信息,可以進(jìn)一步獲取其VLAN 屬性信息。
[0031] 在獲取到報(bào)文中的DIP信息后,判斷所述報(bào)文中是否攜帶VLAN屬性信息,若是,獲 取所述報(bào)文中攜帶的VLAN屬性信息;否則判斷接收所述報(bào)文的交換機(jī)端口是否具有VLAN 屬性信息,若是,獲取接收所述報(bào)文的交換機(jī)端口的VLAN屬性信息;否則,獲取接收所述報(bào) 文的交換機(jī)端口所對(duì)應(yīng)的所有VLAN的VLAN屬性信息。
[0032] 具體地,在獲取源端主機(jī)發(fā)送的報(bào)文中攜帶的DIP信息后,對(duì)于VLAN屬性信息的 獲取可以為以下多種形式,例如:
[0033] 1、源端主機(jī)發(fā)送的報(bào)文中攜帶有VLAN屬性信息。
[0034] Open flow交換機(jī)在接收到源端主機(jī)發(fā)送的報(bào)文后,將該報(bào)文內(nèi)容封裝于Open flow協(xié)議的Packet In報(bào)文發(fā)送至控制設(shè)備。若源端主機(jī)發(fā)送的報(bào)文的VLAN Tag (虛擬 局域網(wǎng)標(biāo)簽)中攜帶有VLAN屬性信息時(shí),根據(jù)報(bào)文中的VLAN屬性信息以及DIP信息,生成 ARP請(qǐng)求報(bào)文(ARP Request報(bào)文)。
[0035] 2、Packet In報(bào)文的Match (匹配)字段中攜帶有VLAN屬性信息。
[0036] Open flow交換機(jī)在接收到源端主機(jī)發(fā)送的報(bào)文后,將該報(bào)文內(nèi)容封裝于Open flow協(xié)議的Packet In報(bào)文發(fā)送至控制設(shè)備。若源端主機(jī)發(fā)送報(bào)文中沒(méi)有攜帶VLAN Tag, 則獲取Packet In報(bào)文的Match字段攜帶的VLAN屬性信息。
[0037] 3、通過(guò)Net conf獲取接收?qǐng)?bào)文的端口的默認(rèn)VLAN屬性。
[0038] 若源端主機(jī)發(fā)送的報(bào)文中未攜帶VLAN屬性信息時(shí),則通過(guò)Net conf獲取接收?qǐng)?bào) 文的端口的默認(rèn)VLAN屬性信息。
[0039] 4、遍歷接收?qǐng)?bào)文端口對(duì)應(yīng)的所有VLAN,獲取VLAN屬性信息。
[0040] 若源端主機(jī)發(fā)送的報(bào)文中未攜帶VLAN屬性信息,且接收?qǐng)?bào)文端口不具有默認(rèn) VLAN屬性信息,則遍歷接收?qǐng)?bào)文端口對(duì)應(yīng)的所有VLAN,并獲取接收所述報(bào)文的交換機(jī)端口 所對(duì)應(yīng)的所有VLAN的VLAN屬性信息。
[0041] 步驟202,根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解析協(xié)議ARP請(qǐng)求報(bào) 文,并將所述ARP請(qǐng)求報(bào)文封裝至Open flow報(bào)文中。
[0042] 在獲取到報(bào)文的DIP信息以及VLAN屬性信息后,根據(jù)該將該DIP信息、VLAN屬性 信息以及源端主機(jī)發(fā)送的報(bào)文中包括的目的IP地址生成ARP請(qǐng)求報(bào)文。將該ARP請(qǐng)求報(bào) 文的目的IP地址設(shè)置為源端主機(jī)發(fā)送的報(bào)文中的目的IP地址,目的MAC地址設(shè)置為全F, 源IP地址設(shè)置為全0,源MAC設(shè)置為所述控制設(shè)備接口的MAC地址。
[0043] 將生成的ARP請(qǐng)求報(bào)文封裝在Open flow協(xié)議的Packet Out報(bào)文中。
[0044] 步驟203,將所述VLAN屬性信息添加至所述Open flow報(bào)文中,指示交換機(jī)通過(guò)其 泛洪端口將所述Open flow報(bào)文在所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行泛洪。
[0045] 將生成的ARP請(qǐng)求報(bào)文封裝在Packet Out報(bào)文后,將源端主機(jī)發(fā)送的報(bào)文中的 VLAN屬性信息設(shè)置到Packet Out報(bào)文的Match (匹配)域中,并將所述Open flow報(bào)文通 過(guò)Open flow交換機(jī)的指定Flood(泛洪)端口在與所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行 泛洪。在本發(fā)明實(shí)施方式中,控制設(shè)備可區(qū)分Open flow交換機(jī)中Open flow交換機(jī)之間連 接的端口(Switch端口)以及Open flow交換機(jī)與非Open flow交換機(jī)連接的端口(Host 端口)。在圖 1 中,Open flow 交換機(jī) SW1 的 port2 和 port3,SW2 的 port2 和 port3 以及 SW3 的 port2 和 port3 均為 Switch 端口;Open flow 交換機(jī) SW1 的 portl,SW2 的 portl 以 及SW3的port 1均為Host端口。其中,Switch端口可以不進(jìn)行主機(jī)學(xué)習(xí),而Host端口則 可以進(jìn)行主機(jī)探測(cè)與學(xué)習(xí)。
[0046] 在本發(fā)明實(shí)施例中控制設(shè)備還可以在各Open flow交換機(jī)的Switch端口下發(fā)一 條允許通過(guò)的流表項(xiàng),該允許通過(guò)的流表項(xiàng)包括Open flow交換機(jī)中Switch端口之間連接 的對(duì)應(yīng)關(guān)系。對(duì)于該允許通過(guò)的流表項(xiàng)的優(yōu)先級(jí)可以設(shè)為高于上述上送流表項(xiàng)以及轉(zhuǎn)發(fā)流 表項(xiàng),例如優(yōu)先級(jí)設(shè)為10。在從該Switch端口接收的報(bào)文均按照優(yōu)先級(jí)順序有高至低進(jìn)行 匹配,若報(bào)文匹配到該允許通過(guò)的流表項(xiàng),即根據(jù)該允許通過(guò)的流表項(xiàng)進(jìn)行正常轉(zhuǎn)發(fā),保證 報(bào)文不會(huì)上送到控制設(shè)備上。
[0047] 本發(fā)明實(shí)施例中,在對(duì)生成的ARP請(qǐng)求報(bào)文泛洪后,Open flow交換機(jī)的所有端口 (Switch端口和Host端口)都會(huì)發(fā)出這個(gè)ARP請(qǐng)求報(bào)文。由于Switch端口可以不進(jìn)行主 機(jī)學(xué)習(xí),因此相鄰的Open flow交換機(jī)從Switch端口收到ARP請(qǐng)求報(bào)文時(shí),不對(duì)該報(bào)文做 任何處理。
[0048] 步驟204,在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述ARP確認(rèn)報(bào)文中攜 帶的目的主機(jī)的主機(jī)信息。
[0049] 在Open flow報(bào)文從Host端口發(fā)出后,只有連接在Host端口下的目的主機(jī)會(huì)收 至IJARP請(qǐng)求報(bào)文,并會(huì)回復(fù)ARP確認(rèn)報(bào)文(ARP Reply報(bào)文),控制設(shè)備收到這個(gè)ARP確認(rèn)報(bào) 文后進(jìn)行遠(yuǎn)端學(xué)習(xí),從而從學(xué)習(xí)到所述ARP確認(rèn)報(bào)文中攜帶的目的主機(jī)的MAC地址、目的主 機(jī)的接入位置等主機(jī)信息,保證根據(jù)源端報(bào)文觸發(fā)源端主機(jī)以及目的主機(jī)的主機(jī)學(xué)習(xí)。
[0050] 在學(xué)習(xí)到源端主機(jī)和/或目的主機(jī)的主機(jī)信息后,可能會(huì)有主機(jī)因?yàn)樽陨碓虺?現(xiàn)各種異常狀況,例如主機(jī)連接斷開(kāi)等。當(dāng)感知到Open flow端口狀態(tài)變化或者Open flow 連接變化時(shí),需要將相應(yīng)的主機(jī)信息刪除。但是立即刪除可能會(huì)導(dǎo)致閃斷的情況,致使大量 主機(jī)需要重新學(xué)習(xí),影響數(shù)據(jù)業(yè)務(wù)處理。或者控制設(shè)備感知不到主機(jī)出現(xiàn)問(wèn)題,此時(shí)也需要 一種機(jī)制來(lái)探測(cè)這種情況。因此本發(fā)明實(shí)施例可以通過(guò)定期老化機(jī)制保證主機(jī)信息的有效 性。
[0051] 具體地,在學(xué)習(xí)到源端主機(jī)和/或目的主機(jī)的主機(jī)信息后,在老化周期內(nèi)定期通 過(guò)Open flow的Packet Out報(bào)文將探測(cè)報(bào)文從該主機(jī)所屬的Open flow交換機(jī)的HOST端 口發(fā)送出去,同時(shí)開(kāi)啟老化計(jì)時(shí)器。若在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)接收到所述主機(jī)的回應(yīng)報(bào)文,則重置所 述老化計(jì)時(shí)器,更新接收到該回應(yīng)報(bào)文時(shí)設(shè)置的主機(jī)時(shí)間戳,若在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)未接收到所 述主機(jī)的回應(yīng)報(bào)文,則將與所述主機(jī)對(duì)應(yīng)的主機(jī)信息老化。
[0052] 以下結(jié)合圖3對(duì)本發(fā)明完整的實(shí)施方式進(jìn)行進(jìn)一步闡述。
[0053] 步驟301,交換機(jī)接收源端主機(jī)發(fā)送的報(bào)文。
[0054] 步驟302,判斷源端主機(jī)發(fā)送的報(bào)文是否未匹配到交換機(jī)預(yù)存的任意一條流表 項(xiàng)?
[0055] Open flow交換機(jī)接收到源端主機(jī)發(fā)送的報(bào)文時(shí),可以將接收的報(bào)文與自身預(yù)存 的流表項(xiàng)進(jìn)行匹配,若匹配成功轉(zhuǎn)步驟303處理;若匹配失敗轉(zhuǎn)步驟304處理。
[0056] 步驟303,根據(jù)匹配到的流表項(xiàng)的指示進(jìn)行處理。
[0057] 步驟304,將接收的報(bào)文上送控制設(shè)備處理。
[0058] 步驟305,控制設(shè)備學(xué)習(xí)源端主機(jī)發(fā)送報(bào)文中的源MAC地址以及主機(jī)接入位置。
[0059] 控制設(shè)備在接收到由Open flow交換機(jī)上送的報(bào)文時(shí),則可以認(rèn)為該報(bào)文為需要 學(xué)習(xí)源端主機(jī)信息并進(jìn)行ARP泛洪的報(bào)文。那么,控制設(shè)備則根據(jù)所述報(bào)文中攜帶的源端 主機(jī)信息學(xué)習(xí)其主機(jī)MAC地址以及主機(jī)的接入位置,即源端主機(jī)的主機(jī)信息。
[0060] 步驟306,控制設(shè)備保存所述源MAC地址與接收所述報(bào)文的Open flow交換機(jī)端口 的對(duì)應(yīng)關(guān)系。
[0061] 步驟307,根據(jù)所述對(duì)應(yīng)關(guān)系生成轉(zhuǎn)發(fā)流表項(xiàng),并下發(fā)至接收所述報(bào)文的端口。
[0062] 根據(jù)所述對(duì)應(yīng)關(guān)系生成轉(zhuǎn)發(fā)流表項(xiàng)下發(fā)至接收該報(bào)文的Open flow交換機(jī)端口, 可用于將匹配所述轉(zhuǎn)發(fā)流表項(xiàng)的報(bào)文通過(guò)與其對(duì)應(yīng)的Open flow交換機(jī)端口轉(zhuǎn)發(fā)出去。該 轉(zhuǎn)發(fā)流表項(xiàng)的優(yōu)先級(jí)可以高于上送流表項(xiàng)的優(yōu)先級(jí),以使在該端口再次接收到報(bào)文時(shí),根 據(jù)該流表項(xiàng)優(yōu)先級(jí)的順序有高至低進(jìn)行匹配。
[0063] 步驟308,解析所述源端主機(jī)發(fā)送的報(bào)文,獲取所述報(bào)文中的DIP信息。
[0064] 在初始的SDN網(wǎng)絡(luò)中,只有在學(xué)習(xí)到該源端主機(jī)的主機(jī)信息后,可以根據(jù)源端主 機(jī)發(fā)送的報(bào)文中攜帶的DIP信息以及VLAN屬性信息查找到其目的主機(jī),并進(jìn)一步學(xué)習(xí)目的 主機(jī)的主機(jī)信息。
[0065] 步驟309,判斷所述報(bào)文中是否攜帶VLAN屬性信息?
[0066] Open flow交換機(jī)在接收到源端主機(jī)發(fā)送的報(bào)文后,將該報(bào)文內(nèi)容封裝于Open flow協(xié)議的Packet In報(bào)文發(fā)送至控制設(shè)備。若源端主機(jī)發(fā)送的報(bào)文的VLAN Tag中攜帶 有VLAN屬性信息時(shí),判斷所述報(bào)文中攜帶VLAN屬性信息,轉(zhuǎn)步驟310處理,否則判斷所述 報(bào)文中未攜帶VLAN屬性信息,轉(zhuǎn)步驟311處理。
[0067] 或者Open flow交換機(jī)在接收到源端主機(jī)發(fā)送的報(bào)文后,將該報(bào)文內(nèi)容封裝于 Open flow協(xié)議的Packet In報(bào)文發(fā)送至控制設(shè)備。若源端主機(jī)發(fā)送報(bào)文中沒(méi)有攜帶VLAN Tag,則獲取Packet In報(bào)文的Match字段攜帶的VLAN屬性信息,并由步驟310處理,若獲 取Packet In報(bào)文的Match字段未攜帶的VLAN屬性信息,則轉(zhuǎn)步驟311處理。
[0068] 步驟310,根據(jù)所述VLAN屬性信息以及所述DIP信息生成ARP請(qǐng)求報(bào)文。
[0069] 根據(jù)獲取的所述VLAN屬性信息以及報(bào)文中攜帶的所述DIP信息生成ARP請(qǐng)求報(bào) 文,將該ARP請(qǐng)求報(bào)文封裝在Open flow協(xié)議的Packet Out報(bào)文中從各Open flow交換機(jī) 的Flood端口發(fā)出,即對(duì)該ARP請(qǐng)求報(bào)文泛洪。
[0070] 步驟311,判斷接收所述報(bào)文的Open flow交換機(jī)端口是否具有VLAN屬性信息?
[0071] 若源端主機(jī)發(fā)送的報(bào)文中未攜帶VLAN屬性信息時(shí),則通過(guò)Net conf獲取接收?qǐng)?bào) 文的端口的默認(rèn)VLAN屬性信息,并轉(zhuǎn)步驟310處理,若未獲取到接收?qǐng)?bào)文的端口的默認(rèn) VLAN屬性信息,轉(zhuǎn)步驟312處理。
[0072] 步驟312,獲取所述Open flow交換機(jī)的端口所對(duì)應(yīng)的所有VLAN的VLAN屬性信 肩、。
[0073] 若源端主機(jī)發(fā)送的報(bào)文中未攜帶VLAN屬性信息,且接收?qǐng)?bào)文端口不具有默認(rèn) VLAN屬性信息,則遍歷接收?qǐng)?bào)文端口對(duì)應(yīng)的所有VLAN,獲取VLAN屬性信息,獲取所述Open flow交換機(jī)的端口所對(duì)應(yīng)的所有VLAN的VLAN屬性信息。
[0074] 步驟313,將該ARP請(qǐng)求報(bào)文封裝在Open flow協(xié)議的Packet Out報(bào)文中。
[0075] 步驟314,將獲取的VLAN屬性信息設(shè)置在Packet Out報(bào)文的Match字段。
[0076] 步驟315,將該P(yáng)acket Out報(bào)文從各Open flow交換機(jī)的Flood端口發(fā)出,即對(duì)該 ARP請(qǐng)求報(bào)文泛洪。
[0077] 步驟316,接收到ARP確認(rèn)報(bào)文。
[0078] 目的主機(jī)在接收到ARP請(qǐng)求報(bào)文時(shí),則回復(fù)ARP確認(rèn)報(bào)文以告知自身的主機(jī)信息。
[0079] 步驟317,學(xué)習(xí)所述ARP確認(rèn)報(bào)文中攜帶的目的主機(jī)的主機(jī)信息。
[0080] 控制設(shè)備收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后進(jìn)行遠(yuǎn)端學(xué)習(xí),從而從學(xué)習(xí)到所述 ARP確認(rèn)報(bào)文中攜帶的目的主機(jī)的MAC地址、目的主機(jī)的接入位置等主機(jī)信息,保證根據(jù)源 端報(bào)文觸發(fā)源端主機(jī)以及目的主機(jī)的主機(jī)學(xué)習(xí)。
[0081] 步驟318,定期向?qū)W習(xí)到主機(jī)信息的主機(jī)發(fā)送探測(cè)報(bào)文,并開(kāi)啟計(jì)時(shí)器。
[0082] 在學(xué)習(xí)到源端主機(jī)和/或目的主機(jī)的主機(jī)信息后,在老化周期內(nèi)定期通過(guò)Open flow的Packet Out報(bào)文將探測(cè)報(bào)文從該主機(jī)所屬的Open flow交換機(jī)的HOST端口發(fā)送出 去,同時(shí)開(kāi)啟老化計(jì)時(shí)器。
[0083] 步驟319,預(yù)設(shè)時(shí)長(zhǎng)內(nèi)是否接收到所述主機(jī)的回應(yīng)報(bào)文?
[0084] 若在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)接收到所述主機(jī)的回應(yīng)報(bào)文,轉(zhuǎn)步驟320,否則轉(zhuǎn)321處理。
[0085] 步驟320,重置所述老化計(jì)時(shí)器,更新接收到該回應(yīng)報(bào)文時(shí)設(shè)置的主機(jī)時(shí)間戳。
[0086] 步驟321,將與所述主機(jī)對(duì)應(yīng)的主機(jī)信息老化。
[0087] 由此可見(jiàn),本發(fā)明根據(jù)Open flow交換機(jī)上送的源端主機(jī)的報(bào)文生成請(qǐng)求目的主 機(jī)信息的ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文泛洪,在接收到ARP確認(rèn)報(bào)文后,根據(jù)所述 ARP確認(rèn)報(bào)文學(xué)習(xí)其中攜帶的目的主機(jī)的主機(jī)信息,以完成對(duì)于源端主機(jī)以及目的主機(jī)的 主機(jī)信息的學(xué)習(xí)。并且可通過(guò)定期老化機(jī)制保證主機(jī)信息的有效性。
[0088] 請(qǐng)參考圖4,為本發(fā)明主機(jī)學(xué)習(xí)裝置所在控制設(shè)備的硬件架構(gòu)示意圖,其基本硬件 環(huán)境包括CPU、內(nèi)存、轉(zhuǎn)發(fā)芯片、非易失性存儲(chǔ)器以及其他硬件。圖5為該主機(jī)學(xué)習(xí)裝置的邏 輯結(jié)構(gòu)示意圖,其從本質(zhì)上說(shuō)是一個(gè)邏輯裝置。在本實(shí)施方式中,以軟件實(shí)現(xiàn)為例,該主機(jī) 學(xué)習(xí)裝置在邏輯層面上包括報(bào)文信息獲取單元501、ARP報(bào)文生成單元502、0pen flow報(bào)文 泛洪單元503以及目的主機(jī)學(xué)習(xí)單元504。其中:
[0089] 報(bào)文信息獲取單元501,用于接收Open flow交換機(jī)上送的源端主機(jī)的報(bào)文,獲取 所述報(bào)文的報(bào)文信息,所述報(bào)文信息包括報(bào)文的VLAN屬性信息;
[0090] ARP報(bào)文生成單元502,用于根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解 析協(xié)議ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文封裝至Open flow報(bào)文中;
[0091] Open flow報(bào)文泛洪單元503,用于將所述VLAN屬性信息添加至所述Openflow報(bào) 文中,以使Open flow交換機(jī)將所述Open flow報(bào)文經(jīng)由Open flow交換機(jī)的泛洪端口在 所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行泛洪;
[0092] 目的主機(jī)學(xué)習(xí)單元504,用于在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述 ARP確認(rèn)報(bào)文中攜帶的目的主機(jī)的主機(jī)信息。
[0093] 進(jìn)一步地,所述主機(jī)學(xué)習(xí)裝置還包括源端主機(jī)學(xué)習(xí)單元505,用于在所述Open flow交換機(jī)上送的源端主機(jī)的報(bào)文為未匹配到Open flow交換機(jī)預(yù)存的任意一條流表項(xiàng) 的報(bào)文時(shí),學(xué)習(xí)所述報(bào)文中攜帶的源端主機(jī)信息,所述源端主機(jī)信息為源媒體接入控制MAC 地址以及主機(jī)的接入位置。
[0094] 進(jìn)一步地,所述主機(jī)學(xué)習(xí)裝置還包括信息保存單元506、轉(zhuǎn)發(fā)流表生成單元507以 及轉(zhuǎn)發(fā)流表下發(fā)單元508,其中,信息保存單元506,用于保存所述源MAC地址與接收所述報(bào) 文的Open flow交換機(jī)端口的對(duì)應(yīng)關(guān)系;轉(zhuǎn)發(fā)流表生成單元507,用于根據(jù)所述對(duì)應(yīng)關(guān)系生 成轉(zhuǎn)發(fā)流表項(xiàng),以使將匹配所述轉(zhuǎn)發(fā)流表項(xiàng)的報(bào)文通過(guò)與其對(duì)應(yīng)的Open flow交換機(jī)端口 轉(zhuǎn)發(fā)出去;轉(zhuǎn)發(fā)流表下發(fā)單元508,用于將所述轉(zhuǎn)發(fā)流表項(xiàng)下發(fā)至接收所述報(bào)文的端口。
[0095] 請(qǐng)參考圖6,所述報(bào)文信息獲取單元501具體包括DIP信息獲取模塊5011以及 VLAN信息獲取模塊5012。其中
[0096] DIP信息獲取模塊5011,用于解析所述源端主機(jī)發(fā)送的報(bào)文,獲取所述報(bào)文信息 中的DIP信息;VLAN信息獲取模塊5012,用于判斷所述報(bào)文中是否攜帶VLAN屬性信息,若 是,獲取所述報(bào)文中攜帶的VLAN屬性信息;否則判斷接收所述報(bào)文的交換機(jī)端口是否具有 VLAN屬性信息,若是,獲取接收所述報(bào)文的交換機(jī)端口的VLAN屬性信息;否則,獲取接收所 述報(bào)文的交換機(jī)端口所對(duì)應(yīng)的所有VLAN的VLAN屬性信息。
[0097] 進(jìn)一步地,所述主機(jī)學(xué)習(xí)裝置還包括老化探測(cè)單元509,老化探測(cè)單元509用于定 期向?qū)W習(xí)到主機(jī)信息的主機(jī)發(fā)送探測(cè)報(bào)文,同時(shí)開(kāi)啟計(jì)時(shí)器,若在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)接收到所述 主機(jī)的回應(yīng)報(bào)文,則重置所述計(jì)時(shí)器,否則將與所述主機(jī)對(duì)應(yīng)的主機(jī)信息老化。
[0098] 從以上各種方法和裝置的實(shí)施方式中可以看出,本發(fā)明根據(jù)Open flow交換機(jī)上 送的源端主機(jī)的報(bào)文生成請(qǐng)求目的主機(jī)信息的ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文泛洪, 在接收到ARP確認(rèn)報(bào)文后,根據(jù)所述ARP確認(rèn)報(bào)文學(xué)習(xí)其中攜帶的目的主機(jī)的主機(jī)信息,以 完成對(duì)于源端主機(jī)以及目的主機(jī)的主機(jī)信息的學(xué)習(xí)。本發(fā)明還可通過(guò)定期老化機(jī)制保證主 機(jī)信息的有效性,以及避免網(wǎng)絡(luò)不穩(wěn)定時(shí)導(dǎo)致主機(jī)信息頻繁變化等情況的發(fā)生。
[0099] 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1. 一種主機(jī)學(xué)習(xí)方法,應(yīng)用于SDN網(wǎng)絡(luò)中的控制設(shè)備,其特征在于,所述方法包括: 接收交換機(jī)上送的源端主機(jī)的報(bào)文,獲取所述報(bào)文的報(bào)文信息,所述報(bào)文信息包括報(bào) 文的虛擬局域網(wǎng)VLAN屬性信息; 根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解析協(xié)議ARP請(qǐng)求報(bào)文,并將所述 ARP請(qǐng)求報(bào)文封裝至Open flow報(bào)文中; 將所述VLAN屬性信息添加至所述Open flow報(bào)文中,指示交換機(jī)通過(guò)其泛洪端口將所 述Open flow報(bào)文在所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行泛洪; 在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述ARP確認(rèn)報(bào)文中攜帶的目的主機(jī) 的主機(jī)信息。
2. 如權(quán)利要求1所述的方法,其特征在于,所述交換機(jī)上送的源端主機(jī)的報(bào)文為未匹 配到交換機(jī)預(yù)存的任意一條流表項(xiàng)的報(bào)文時(shí),學(xué)習(xí)所述報(bào)文中攜帶的源端主機(jī)信息,所述 源端主機(jī)信息為源媒體接入控制MAC地址以及主機(jī)的接入位置。
3. 如權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 保存所述源MAC地址與接收所述報(bào)文的交換機(jī)端口的對(duì)應(yīng)關(guān)系; 根據(jù)所述對(duì)應(yīng)關(guān)系生成轉(zhuǎn)發(fā)流表項(xiàng),用于將匹配所述轉(zhuǎn)發(fā)流表項(xiàng)的報(bào)文通過(guò)與其對(duì)應(yīng) 的交換機(jī)端口轉(zhuǎn)發(fā)出去; 將所述轉(zhuǎn)發(fā)流表項(xiàng)下發(fā)至接收所述報(bào)文的端口。
4. 如權(quán)利要求1所述的方法,其特征在于,所述報(bào)文信息還包括雙列直插式封裝DIP信 息,所述獲取報(bào)文的報(bào)文信息具體包括: 解析所述源端主機(jī)發(fā)送的報(bào)文,獲取所述報(bào)文信息中的DIP信息; 判斷所述報(bào)文中是否攜帶虛擬局域網(wǎng)VLAN屬性信息,若是,獲取所述報(bào)文中攜帶的 VLAN屬性信息; 否則判斷接收所述報(bào)文的交換機(jī)端口是否具有VLAN屬性信息,若是,獲取接收所述報(bào) 文的交換機(jī)端口的VLAN屬性信息; 否則,獲取接收所述報(bào)文的交換機(jī)端口所對(duì)應(yīng)的所有VLAN的VLAN屬性信息。
5. 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 定期向?qū)W習(xí)到主機(jī)信息的主機(jī)發(fā)送探測(cè)報(bào)文,同時(shí)開(kāi)啟計(jì)時(shí)器,若在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)接收 到所述主機(jī)的回應(yīng)報(bào)文,則重置所述計(jì)時(shí)器,否則將與所述主機(jī)對(duì)應(yīng)的主機(jī)信息老化。
6. 如權(quán)利要求1至5中任意一項(xiàng)所述的方法,其特征在于,所述目的主機(jī)的主機(jī)信息包 括主機(jī)的MAC地址以及主機(jī)的接入位置中的至少一項(xiàng)。
7. -種主機(jī)學(xué)習(xí)裝置,應(yīng)用于SDN網(wǎng)絡(luò)中的控制設(shè)備,其特征在于,所述裝置包括: 報(bào)文信息獲取單元,用于接收交換機(jī)上送的源端主機(jī)的報(bào)文,獲取所述報(bào)文的報(bào)文信 息,所述報(bào)文信息包括報(bào)文的VLAN屬性信息; ARP報(bào)文生成單元,用于根據(jù)所述報(bào)文信息生成請(qǐng)求目的主機(jī)信息的地址解析協(xié)議 ARP請(qǐng)求報(bào)文,并將所述ARP請(qǐng)求報(bào)文封裝至Open flow報(bào)文中; Open flow報(bào)文泛洪單元,用于將所述VLAN屬性信息添加至所述Open flow報(bào)文中,指 示交換機(jī)通過(guò)其泛洪端口將所述Open flow報(bào)文在所述VLAN屬性信息對(duì)應(yīng)的VLAN內(nèi)進(jìn)行 泛洪; 目的主機(jī)學(xué)習(xí)單元,用于在接收到目的主機(jī)回復(fù)的ARP確認(rèn)報(bào)文后,學(xué)習(xí)所述ARP確認(rèn) 報(bào)文中攜帶的目的主機(jī)的主機(jī)信息。
8. 如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 源端主機(jī)學(xué)習(xí)單元,用于在所述交換機(jī)上送的源端主機(jī)的報(bào)文為未匹配到交換機(jī)預(yù)存 的任意一條流表項(xiàng)的報(bào)文時(shí),學(xué)習(xí)所述報(bào)文中攜帶的源端主機(jī)信息,所述源端主機(jī)信息為 源媒體接入控制MAC地址以及主機(jī)的接入位置。
9. 如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 信息保存單元,用于保存所述源MAC地址與接收所述報(bào)文的交換機(jī)端口的對(duì)應(yīng)關(guān)系; 轉(zhuǎn)發(fā)流表生成單元,用于根據(jù)所述對(duì)應(yīng)關(guān)系生成轉(zhuǎn)發(fā)流表項(xiàng),以使將匹配所述轉(zhuǎn)發(fā)流 表項(xiàng)的報(bào)文通過(guò)與其對(duì)應(yīng)的交換機(jī)端口轉(zhuǎn)發(fā)出去; 轉(zhuǎn)發(fā)流表下發(fā)單元,用于將所述轉(zhuǎn)發(fā)流表項(xiàng)下發(fā)至接收所述報(bào)文的端口。
10. 如權(quán)利要求7所述的裝置,其特征在于,所述報(bào)文信息還包括雙列直插式封裝DIP 信息,所述報(bào)文信息獲取單元具體包括: DIP信息獲取模塊,用于解析所述源端主機(jī)發(fā)送的報(bào)文,獲取所述報(bào)文信息中的DIP信 息; VLAN信息獲取模塊,用于判斷所述報(bào)文中是否攜帶VLAN屬性信息,若是,獲取所述報(bào) 文中攜帶的VLAN屬性信息;否則判斷接收所述報(bào)文的交換機(jī)端口是否具有VLAN屬性信息, 若是,獲取接收所述報(bào)文的交換機(jī)端口的VLAN屬性信息;否則,獲取接收所述報(bào)文的交換 機(jī)端口所對(duì)應(yīng)的所有VLAN的VLAN屬性信息。
11. 如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 老化探測(cè)單元,用于定期向?qū)W習(xí)到主機(jī)信息的主機(jī)發(fā)送探測(cè)報(bào)文,同時(shí)開(kāi)啟計(jì)時(shí)器,若 在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)接收到所述主機(jī)的回應(yīng)報(bào)文,則重置所述計(jì)時(shí)器,否則將與所述主機(jī)對(duì)應(yīng)的 主機(jī)信息老化。
【文檔編號(hào)】H04L29/06GK104219240SQ201410446486
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2014年9月3日 優(yōu)先權(quán)日:2014年9月3日
【發(fā)明者】黃林波 申請(qǐng)人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1