两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種防御消息攻擊的方法及裝置的制造方法

文檔序號(hào):10626853閱讀:382來(lái)源:國(guó)知局
一種防御消息攻擊的方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種防御消息攻擊的方法及裝置,可以在抵御消息攻擊的同時(shí),保證正常響應(yīng)正常用戶的服務(wù)請(qǐng)求。該方法包括:控制器接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息;所述控制器將接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保存到所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
【專利說(shuō)明】
一種防御消息攻擊的方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種防御消息攻擊的方法及裝置。
【背景技術(shù)】
[0002] 軟件定義網(wǎng)絡(luò)(Software Defined Network,簡(jiǎn)稱SDN)是一種控制功能和轉(zhuǎn)發(fā)功 能相互分離的網(wǎng)絡(luò)架構(gòu)。SDN分為控制層面和數(shù)據(jù)層面,其中控制層面負(fù)責(zé)全網(wǎng)的控制管 理,數(shù)據(jù)層面則按照控制層面指定的規(guī)則轉(zhuǎn)發(fā)數(shù)據(jù)。控制層面的控制設(shè)備稱為中央控制器 (簡(jiǎn)稱控制器),數(shù)據(jù)層面的轉(zhuǎn)發(fā)設(shè)備為網(wǎng)絡(luò)交換機(jī)(簡(jiǎn)稱交換機(jī))??刂破魇钦麄€(gè)SDN的 核心設(shè)備,決策數(shù)據(jù)層面上流量的正確轉(zhuǎn)發(fā)。交換機(jī)依據(jù)控制器發(fā)送的流表實(shí)現(xiàn)對(duì)數(shù)據(jù)包 的處理,例如數(shù)據(jù)包的轉(zhuǎn)發(fā)、丟棄等操作。
[0003] 傳統(tǒng)的網(wǎng)絡(luò)安全中被攻擊的對(duì)象通常是主機(jī)或者服務(wù)器。而在SDN網(wǎng)絡(luò)中,控制 器作為整個(gè)SDN網(wǎng)絡(luò)的核心設(shè)備,同樣面臨被攻擊的可能??刂破髅媾R攻擊形式通常是 Packet_in消息洪泛攻擊,其中Packet_in是一種消息類型。
[0004] 在SDN網(wǎng)絡(luò)中,當(dāng)交換機(jī)接收到數(shù)據(jù)包時(shí),首先與交換機(jī)內(nèi)部流表中各個(gè)流表項(xiàng) 進(jìn)行匹配,若匹配成功,則執(zhí)行所匹配成功的流表項(xiàng)所指示的操作;若內(nèi)部流表中不存在與 該數(shù)據(jù)包匹配的流表項(xiàng),則交換機(jī)構(gòu)造一條Packet_in消息,并將該P(yáng)acket_in消息發(fā)送給 控制器,請(qǐng)求控制器下發(fā)針對(duì)對(duì)該數(shù)據(jù)包進(jìn)行處理的規(guī)則。
[0005] 控制器在接收到Packet_in消息后,經(jīng)過決策,向該交換機(jī)發(fā)送一條流表項(xiàng),該流 表項(xiàng)中包括對(duì)該數(shù)據(jù)包進(jìn)行處理的規(guī)則。因此,控制器一個(gè)重要功能就是有效處理Packet_ in消息。
[0006] 因此,網(wǎng)絡(luò)中惡意攻擊者在對(duì)控制器進(jìn)行攻擊時(shí),通常是構(gòu)造大量無(wú)意義、非法或 者隨機(jī)的數(shù)據(jù)包,使得交換機(jī)無(wú)法與內(nèi)部流表的各個(gè)流表項(xiàng)進(jìn)行匹配,交換機(jī)便會(huì)構(gòu)造大 量的Packet_in消息發(fā)送給控制器。這些Packet_in消息不僅占用控制器的資源,還會(huì)占 用控制器與交換機(jī)之間安全通道的有效帶寬,從而延長(zhǎng)了控制器對(duì)非攻擊的其他數(shù)據(jù)的處 理時(shí)間,甚至無(wú)法響應(yīng)正常用戶的服務(wù)請(qǐng)求。

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

[0007] 本發(fā)明實(shí)施例提供一種防御消息攻擊的方法及裝置,可以在抵御消息攻擊的同 時(shí),保證正常響應(yīng)正常用戶的服務(wù)請(qǐng)求。
[0008] 第一方面,本發(fā)明實(shí)施例提供了一種防御消息攻擊的方法,包括:
[0009] 控制器接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息;
[0010] 所述控制器將接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保存到所述各個(gè)交 換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;
[0011] 所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0012] 結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器將接收到的 各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息保存到所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列具體包括:
[0013] 所述控制器確認(rèn)所述上報(bào)消息所屬的交換機(jī)隊(duì)列;
[0014] 所述控制器判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;所 述主機(jī)隊(duì)列為與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì)應(yīng)的各 個(gè)主機(jī)隊(duì)列;
[0015] 在判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述上 報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第一閾值時(shí),所述控制器建立與所 述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,并將所述上報(bào)消息插入到與所述上報(bào)消息 所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;
[0016] 所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),若確定當(dāng)前調(diào) 度的交換機(jī)隊(duì)列為空,還包括:
[0017] 所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上 報(bào)消息數(shù)量和第二閾值確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí);
[0018] 所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各 個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0019] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式 中,所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī) 隊(duì)列進(jìn)行輪詢調(diào)度時(shí),還包括:
[0020] 在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù) 量都小于第三閾值時(shí),所述控制器若接收到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送 的上報(bào)消息,則將接收到的所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息 插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列,所述第三閾值小于第二閾值。
[0021] 結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式 中,所述控制器將接收到的所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息 插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,還包括:
[0022] 在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中存在上報(bào)消息數(shù)量為 零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列;
[0023] 或者,在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù) 量均為零時(shí),刪除所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列。
[0024] 結(jié)合第一方面的第一種至第三種可能的實(shí)現(xiàn)方式中的任--種,在第一方面的第 四種可能的實(shí)現(xiàn)方式中,所述控制器判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng) 的主機(jī)隊(duì)列之后,還包括:
[0025] 在判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述上 報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上 報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列。
[0026] 結(jié)合第一方面的第一種至第四種可能的實(shí)現(xiàn)方式中的任--種,在第一方面的第 五種可能的實(shí)現(xiàn)方式中,所述控制器判斷是否存在所述交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),還 包括:
[0027] 若判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且確定任一主機(jī) 隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的 上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消息插入到與所述上報(bào)消息所屬的 交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第四閾值小于第二閾值。
[0028] 結(jié)合第一方面的第一種至第五種可能的實(shí)現(xiàn)方式中的任--種,在第一方面的第 六種可能的實(shí)現(xiàn)方式中,所述控制器判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng) 的主機(jī)隊(duì)列時(shí),還包括:
[0029] 當(dāng)判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且確定各個(gè)主機(jī) 隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ) 的上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消息插入到所述上報(bào)消息所屬的 交換機(jī)隊(duì)列,其中所述第五閾值小于第二閾值。
[0030] 結(jié)合第一方面和第一方面的第一種至第六種可能的實(shí)現(xiàn)方式中的任-種,在第 一方面的第七種可能的實(shí)現(xiàn)方式中,所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行 輪詢調(diào)度具體包括:
[0031] 所述控制器根據(jù)預(yù)先為各個(gè)交換機(jī)分配的上報(bào)消息權(quán)重對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng) 的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0032] 第二方面,本發(fā)明實(shí)施例提供了一種防御消息攻擊的裝置,該裝置包括:
[0033] 接收模塊,用于接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息;
[0034] 保存模塊,用于將所述接收模塊接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保 存到所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;
[0035] 調(diào)度模塊,用于對(duì)所述保存模塊保存的所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪 詢調(diào)度。
[0036] 結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,還包括:
[0037] 確認(rèn)模塊,用于確認(rèn)所述上報(bào)消息所屬的交換機(jī)隊(duì)列;
[0038] 判斷模塊,用于判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì) 列;所述主機(jī)隊(duì)列為與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì)應(yīng) 的各個(gè)主機(jī)隊(duì)列;
[0039] 第一確定模塊,用于確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù) 量大于第一閾值;
[0040] 建立模塊,用于在所述判斷模塊判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì) 應(yīng)的主機(jī)隊(duì)列、且所述第一確定模塊確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào) 消息數(shù)量大于第一閾值時(shí),建立與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;
[0041] 所述保存模塊,具體用于將所述上報(bào)消息插入到所述建立模塊建立的與所述上報(bào) 消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;
[0042] 第二確定模塊,用于當(dāng)所述調(diào)度模塊對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪 詢調(diào)度時(shí),若確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列為空,根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)各個(gè) 主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量和第二閾值確定各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí);
[0043] 所述調(diào)度模塊,具體用于根據(jù)所述第二確定模塊確定的所述當(dāng)前調(diào)度的交換機(jī)隊(duì) 列對(duì)應(yīng)各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0044] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式 中,還包括第三確定模塊;
[0045] 第三確定模塊,用于在所述調(diào)度模塊根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng) 的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量是否都小于第三閾值;
[0046] 所述保存單元,用于當(dāng)所述第三確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的 各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量是否都小于第三閾值時(shí),若所述接收模塊接收到所 述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的上報(bào)消息,將所述接收模塊接收到的所述當(dāng) 前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì) 列,所述第三閾值小于第二閾值。
[0047] 結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式 中,還包括:
[0048] 第四確定模塊,用于在所述保存模塊將所述接收模塊接收到的所述當(dāng)前調(diào)度的交 換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,確定 所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中是否存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì) 列;
[0049] 刪除模塊,用于在所述第四確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列中存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì) 列;
[0050] 或者,
[0051] 第四確定模塊,用于在所述保存模塊將所述接收模塊接收到的所述當(dāng)前調(diào)度的交 換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,確定所述 當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量是否均為零;
[0052] 刪除模塊,用于在所述第四確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零時(shí),刪除所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī) 隊(duì)列。
[0053] 結(jié)合第二方面的第一種至第三種可能的實(shí)現(xiàn)方式中的任--種,在第二方面的第 四種可能的實(shí)現(xiàn)方式中,所述第一確定模塊,還用于確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列 中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值;
[0054] 所述保存單元,還用于在所述判斷模塊判斷不存在與所述上報(bào)消息所屬的交換機(jī) 隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且所述第一確定模塊確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ) 的上報(bào)消息數(shù)量小于第一閾值時(shí),將所述上報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì) 列。
[0055] 結(jié)合第二方面的第一種至第四種可能的實(shí)現(xiàn)方式中的任--種,在第二方面的第 五種可能的實(shí)現(xiàn)方式中,還包括:
[0056] 第五確定模塊,用于在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列 對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),確定任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所述上 報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值;
[0057] 所述保存單元,還用于在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì) 列對(duì)應(yīng)的主機(jī)隊(duì)列、且第五確定模塊確定任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四 閾值且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),將所述上 報(bào)消息插入到與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第四閾值小 于第二閾值。
[0058] 結(jié)合第二方面的第一種至第五種可能的實(shí)現(xiàn)方式中的任--種,在第二方面的第 六種可能的實(shí)現(xiàn)方式中,還包括:
[0059] 第六確定模塊,用于在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列 對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),確定各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且所述 上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值;
[0060] 所述保存單元,在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng) 的主機(jī)隊(duì)列,且所述第六確定模塊確定各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五 閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),將所述 上報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列,其中所述第五閾值小于第二閾值。
[0061] 結(jié)合第二方面和第二方面的第一種至第六種可能的實(shí)現(xiàn)方式中的任--種,在第 二方面的第七種可能的實(shí)現(xiàn)方式中,所述調(diào)度模塊,具體用于根據(jù)預(yù)先為各個(gè)交換機(jī)分配 的上報(bào)消息權(quán)重對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0062] 本發(fā)明實(shí)施例中所述控制器對(duì)接收到的各個(gè)交換機(jī)發(fā)送的上報(bào)消息,分別保存到 所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;控制器不再對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行單獨(dú)處 理,而是對(duì)各個(gè)交換機(jī)隊(duì)列中的上報(bào)消息進(jìn)行輪詢調(diào)度。從而控制器不再直接針對(duì)接收到 攻擊的交換機(jī)發(fā)送的上報(bào)消息處理完后再處理其他交換機(jī)發(fā)送的上報(bào)消息,而是在上報(bào)消 息保存一個(gè)時(shí)間長(zhǎng)度后,統(tǒng)一對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行輪詢調(diào)度。從而在抵御消 息攻擊的同時(shí),避免了在攻擊發(fā)生時(shí)造成的非攻擊流量的處理時(shí)間延長(zhǎng),保證了正常響應(yīng) 正常用戶的服務(wù)請(qǐng)求。
【附圖說(shuō)明】
[0063] 圖1為本發(fā)明實(shí)施例提供的一種防御消息攻擊的方法流程圖;
[0064] 圖2為本發(fā)明實(shí)施例提供的另一種防御消息攻擊的方法流程圖;
[0065] 圖3為本發(fā)明實(shí)施例提供的又一種防御消息攻擊的方法流程圖;
[0066] 圖4為本發(fā)明實(shí)施例提供的上報(bào)消息處理示意圖;
[0067] 圖5為本發(fā)明實(shí)施例提供的一種防御消息攻擊的裝置示意圖;
[0068] 圖6為本發(fā)明實(shí)施例提供的另一種防御消息攻擊的裝置示意圖;
[0069] 圖7為本發(fā)明實(shí)施例提供的又一種防御消息攻擊的裝置示意圖。
【具體實(shí)施方式】
[0070] 為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn) 一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施 例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的 所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0071] 本發(fā)明提供一種防御消息攻擊的方法及裝置,可以在抵御消息攻擊的同時(shí),保證 正常響應(yīng)正常用戶的服務(wù)請(qǐng)求。其中,方法和裝置是基于同一發(fā)明構(gòu)思的,由于方法及裝置 解決問題的原理相似,因此裝置與方法的實(shí)施可以相互參見,重復(fù)之處不再贅述。
[0072] 本發(fā)明實(shí)施例提供了一種防御消息攻擊的方法及裝置,控制器根據(jù)所連接的交換 機(jī)個(gè)數(shù)維護(hù)一個(gè)共享的多隊(duì)列結(jié)構(gòu),即針對(duì)每個(gè)交換機(jī)建立一個(gè)交換機(jī)隊(duì)列,所有交換機(jī) 隊(duì)列構(gòu)成了一個(gè)共享的多隊(duì)列結(jié)構(gòu)。控制器在接收到任一交換機(jī)發(fā)送的上報(bào)消息后,將接 收到上報(bào)消息插入到該交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列。控制器不再對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消 息進(jìn)行單獨(dú)處理,而是對(duì)各個(gè)交換機(jī)隊(duì)列中的上報(bào)消息進(jìn)行輪詢調(diào)度。從而控制器不再直 接針對(duì)接收到攻擊的交換機(jī)發(fā)送的上報(bào)消息處理完后再處理其他交換機(jī)發(fā)送的上報(bào)消息, 而是對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行輪詢調(diào)度。從而在抵御消息攻擊的同時(shí),避免了在 攻擊發(fā)生時(shí)造成的非攻擊流量的處理時(shí)間延長(zhǎng),保證了正常響應(yīng)正常用戶的服務(wù)請(qǐng)求。
[0073] 本發(fā)明實(shí)施例提供了一種防御消息攻擊的方法,如圖1所示,該方法包括:
[0074] 步驟101,控制器接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息。
[0075] 步驟102,所述控制器將接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保存到所 述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列。
[0076] 步驟103,所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0077] 需要說(shuō)明的是,所述控制器在對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度 時(shí),還可能接收到至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息,則控制器在對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的 交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度的同時(shí),還會(huì)將接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保 存到該至少一個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列。因此,保存上報(bào)消息是有可能和輪詢調(diào)度處理 同時(shí)進(jìn)行的。
[0078] 其中,上報(bào)消息包括交換機(jī)發(fā)送的異步消息或者交換機(jī)向控制器發(fā)送的消息等 等,例如Packet-in消息。交換機(jī)在接收到主機(jī)發(fā)送的數(shù)據(jù)包后,若找不到匹配的流表規(guī) 貝1J,則將這個(gè)數(shù)據(jù)包封裝為packet_in消息上報(bào)給控制器;或者交換機(jī)找到了匹配的流表 規(guī)則,若這條規(guī)則里指明將數(shù)據(jù)包上報(bào)到控制器,則交換機(jī)也將該數(shù)據(jù)包封裝為packet_in 消息上報(bào)給控制器。
[0079] 后續(xù)說(shuō)明以Packet-in消息舉例進(jìn)行說(shuō)明,其他消息可以參照實(shí)施,本發(fā)明實(shí)施 例不再具體贅述。
[0080] 本發(fā)明實(shí)施例中所述控制器對(duì)接收到的各個(gè)交換機(jī)發(fā)送的上報(bào)消息,分別保存到 所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;控制器不再對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行單獨(dú)處 理,而是對(duì)各個(gè)交換機(jī)隊(duì)列中的上報(bào)消息進(jìn)行輪詢調(diào)度。從而控制器不再直接針對(duì)接收到 攻擊的交換機(jī)發(fā)送的上報(bào)消息處理完后再處理其他交換機(jī)發(fā)送的上報(bào)消息,而是在上報(bào)消 息保存一個(gè)時(shí)間長(zhǎng)度后,統(tǒng)一對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行輪詢調(diào)度。從而在抵御消 息攻擊的同時(shí),避免了在攻擊發(fā)生時(shí)造成的非攻擊流量的處理時(shí)間延長(zhǎng),保證了正常響應(yīng) 正常用戶的服務(wù)請(qǐng)求。
[0081] 具體的,所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),具體 根據(jù)預(yù)設(shè)的調(diào)度該交換機(jī)隊(duì)列時(shí)需要的上報(bào)消息數(shù)量分別對(duì)各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì) 列進(jìn)行輪詢調(diào)度。
[0082] 其中,所述預(yù)設(shè)的調(diào)度該交換機(jī)隊(duì)列時(shí)需要調(diào)度的上報(bào)消息數(shù)量,可以根據(jù)預(yù)先 為各個(gè)交換機(jī)分配的上報(bào)消息權(quán)重來(lái)確定。具體可以是管理員通過人機(jī)接口為各個(gè)交換機(jī) 分配上報(bào)消息權(quán)重。
[0083] 則所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),具體可以通 過以下方式,包括:
[0084] 所述控制器確定各個(gè)交換機(jī)的上報(bào)消息權(quán)重;
[0085] 所述控制器根據(jù)各個(gè)交換機(jī)隊(duì)列的上報(bào)消息權(quán)重確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列在 一個(gè)調(diào)度周期中的調(diào)度的Packet-in消息數(shù)量。
[0086] 所述控制器根據(jù)所述確定的當(dāng)前調(diào)度的交換機(jī)隊(duì)列的Packet-in消息數(shù)量調(diào)度 該交換機(jī)隊(duì)列中的Packet-in消息出隊(duì)處理。
[0087] 其中,假設(shè)與控制器相連的交換機(jī)個(gè)數(shù)為n,即各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列分別 為S1,S2,……,Sn,確定的各個(gè)交換機(jī)的上報(bào)消息權(quán)重為WSl,i = 1,2……η。當(dāng)控制器輪 詢到第i個(gè)交換機(jī)隊(duì)列(即交換機(jī)隊(duì)列Si)時(shí),從隊(duì)列中提取[£
個(gè) Packet-in消息進(jìn)行處理。從而保證發(fā)生攻擊交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列中的Packet-in消 息不會(huì)阻塞其他正常交換機(jī)的Packet-in消息處理,起到了一定的隔離防御能力。
[0088] 具體的,上述加權(quán)輪詢調(diào)度流程可以通過以下偽代碼描述:
[0089] 加權(quán)輪詢調(diào)度流程:
[0090] 輸入:pktinMQueue:每個(gè)交換機(jī)的交換機(jī)隊(duì)列組成的MAP,activeSwitches:當(dāng)前 激活的交換機(jī)以及其權(quán)重wsi
[0091]
[0093] 利用上述方法解決了交換機(jī)隊(duì)列之間Packet-in消息處理的競(jìng)爭(zhēng),但可能存在一 定的不足:在主機(jī)(Host)層面,各個(gè)Host分別與交換機(jī)相連,且Host發(fā)送的消息通過交換 機(jī)進(jìn)行轉(zhuǎn)發(fā),若無(wú)法匹配,則通過Packet-in消息發(fā)送給控制器。當(dāng)一個(gè)Host對(duì)控制器進(jìn) 行發(fā)包攻擊時(shí),控制器在調(diào)度該Host所連接的交換機(jī)隊(duì)列中的Packet-in消息時(shí),每次輪 詢都會(huì)先去處理發(fā)生攻擊Host發(fā)送的消息,因此會(huì)導(dǎo)致該Host連接的交換機(jī)上,其他正常 的Host發(fā)送的Packet-in消息無(wú)法得到及時(shí)的接收處理。因此通過以下實(shí)現(xiàn)方式實(shí)施。 [0094] 在其中一個(gè)實(shí)施例中,所述控制器將接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息保 存到所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列,具體可以過通過以下方式:
[0095] a,所述控制器確認(rèn)所述上報(bào)消息所屬的交換機(jī)隊(duì)列。
[0096] 其中,可以根據(jù)上報(bào)消息中攜帶的交換機(jī)的標(biāo)識(shí)信息確定交換機(jī)隊(duì)列。交換機(jī)的 標(biāo)識(shí)信息可以是交換機(jī)的端口號(hào),還可以是地址信息等等。
[0097] b,所述控制器判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列; 所述主機(jī)隊(duì)列為與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì)應(yīng)的 各個(gè)主機(jī)隊(duì)列。
[0098] 其中,與交換機(jī)相連的各個(gè)主機(jī)的主機(jī)隊(duì)列,和該交換機(jī)的交換機(jī)隊(duì)列相對(duì)應(yīng)。
[0099] c,當(dāng)確定不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且所述上報(bào) 消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第一閾值時(shí),所述控制器建立與所述 上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,并將所述上報(bào)消息插入到與所述上報(bào)消息所 屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列。
[0100] 其中,所述控制器建立所述上報(bào)消息所屬的主機(jī)隊(duì)列時(shí),可以根據(jù)所述上報(bào)消息 依據(jù)主機(jī)的標(biāo)識(shí)信息進(jìn)行主機(jī)隊(duì)列的建立,其中,Host的標(biāo)識(shí)信息可以是Host的端口號(hào), 還可以是地址信息等等。
[0101] 上報(bào)消息中還可以攜帶主機(jī)的標(biāo)識(shí)信息,則根據(jù)主機(jī)的標(biāo)識(shí)信息確定該上報(bào)消息 所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,從而將該上報(bào)消息插入到該主機(jī)隊(duì)列。
[0102] 則所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),若確定當(dāng)前 調(diào)度的交換機(jī)隊(duì)列為空,所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列 中已存儲(chǔ)的上報(bào)消息數(shù)量和第二閾值確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì) 列的優(yōu)先級(jí);
[0103] 具體的,所述控制器根據(jù)各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量和第二閾值確定 各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí),可以為:初始建立的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)相同,可以均為第一優(yōu) 先級(jí)等級(jí)。當(dāng)監(jiān)測(cè)到某個(gè)主機(jī)隊(duì)列中的上報(bào)消息數(shù)量達(dá)到第二閾值時(shí),則確定該主機(jī)為攻 擊源,可以將該主機(jī)隊(duì)列的優(yōu)先級(jí)設(shè)置為第二優(yōu)先級(jí)等級(jí),其中第二優(yōu)先級(jí)等級(jí)小于第一 優(yōu)先級(jí)等級(jí)。
[0104] 所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各 個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0105] 可選地,所述控制器根據(jù)當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì) 各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),若確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)交換機(jī)隊(duì)列對(duì)應(yīng)的 各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量都小于第三閾值,所述控制器若接收到所述當(dāng)前調(diào) 度的交換機(jī)隊(duì)列對(duì)應(yīng)交換機(jī)發(fā)送的上報(bào)消息,將接收到的所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng) 交換機(jī)發(fā)送的所述上報(bào)消息插入到當(dāng)前調(diào)度的交換機(jī)隊(duì)列。
[0106] 其中,所述控制器若接收到非當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)交換機(jī)發(fā)送的上報(bào)消 息,則根據(jù)交換機(jī)隊(duì)列中存儲(chǔ)的上報(bào)消息數(shù)量和第三閾值確定是否將接收到的上報(bào)消息存 儲(chǔ)到所述接收到的上報(bào)消息所屬的交換機(jī)隊(duì)列。
[0107] 具體的,控制器預(yù)先為與其連接的各個(gè)交換機(jī)分別建立交換機(jī)隊(duì)列。且交換機(jī) 與各個(gè)Host連接。當(dāng)Host發(fā)生攻擊時(shí),即該Host連接的交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列的 Packet-in消息數(shù)量大于第一閾值,則為該發(fā)生攻擊的Host連接的交換機(jī)依據(jù)Host的端口 號(hào)進(jìn)行Host隊(duì)列的建立。當(dāng)然還可以為與該交換機(jī)相連的各個(gè)Host分別建立Host隊(duì)列。 具體還可以設(shè)置建立的Host隊(duì)列的優(yōu)先級(jí),且初始建立的各個(gè)Host隊(duì)列的優(yōu)先級(jí)相同,均 為第一優(yōu)先級(jí)等級(jí)。當(dāng)某個(gè)Host隊(duì)列中的Packet-in消息數(shù)量達(dá)到第二閾值時(shí),則確定該 Host為攻擊源,可以將該Host隊(duì)列的優(yōu)先級(jí)設(shè)置為第二優(yōu)先級(jí)等級(jí),其中第二優(yōu)先級(jí)等級(jí) 小于第一優(yōu)先級(jí)等級(jí)。當(dāng)攻擊結(jié)束后,即各個(gè)Host隊(duì)列中的Packet-in消息數(shù)量均小于第 三閾值。其中,第三閾值小于第二閾值。
[0108] 通過以上方案,為受到攻擊的交換機(jī)連接的Host建立各自的Host隊(duì)列,可將受到 攻擊的Host的Packet-in消息和其他正常的Host的Packet-in消息分開保存,并輪詢處 理,保證了其他正常的Host中的Packet-in消息得到及時(shí)的處理。
[0109] 可選地,在已建立某個(gè)交換機(jī)對(duì)應(yīng)的主機(jī)隊(duì)列的情況下,所述控制器將接收到的 該交換機(jī)發(fā)送的所述上報(bào)消息插入到該交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列之后,可以確定已建立交 換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列的上報(bào)消息數(shù)量,當(dāng)確定所述主機(jī)隊(duì)列中存在上報(bào)消息存儲(chǔ)量為 零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息存儲(chǔ)量為零的主機(jī)隊(duì)列;或者,當(dāng)確定該交換機(jī)隊(duì)列 對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零時(shí),刪除該交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì) 列。
[0110] 可選地,在確定存在當(dāng)前調(diào)度的交換機(jī)對(duì)應(yīng)的主機(jī)隊(duì)列的情況下,所述控制器將 接收到的所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前 調(diào)度的交換機(jī)隊(duì)列之后,在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中存在上 報(bào)消息數(shù)量為零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列;或者,在確定所述 當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零時(shí),刪除所述當(dāng)前 調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列。
[0111] 可選地,確定已存在主機(jī)隊(duì)列的情況下,所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交 換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),對(duì)各個(gè)交換機(jī)的主機(jī)隊(duì)列進(jìn)行監(jiān)控,在確定任一交換機(jī)隊(duì)列對(duì) 應(yīng)的各個(gè)主機(jī)隊(duì)列中存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列時(shí),刪除該上報(bào)消息數(shù)量為零的主 機(jī)隊(duì)列,或者在確定任一交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零時(shí), 刪除當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列。
[0112] 在其中一個(gè)可選地實(shí)施例中,所述控制器判斷是否存在與所述上報(bào)消息所屬的交 換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列之后,當(dāng)判斷不存在所述交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述 上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述 上報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列。
[0113] 在其中一個(gè)可選地實(shí)施例中,所述控制器判斷是否存在與所述上報(bào)消息所屬的交 換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列之后,當(dāng)判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī) 隊(duì)列、且任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所述上報(bào)消息所屬的交 換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消息插入到與所 述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第四閾值小于第二閾值。
[0114] 其中,第四閾值可以等于上述第三閾值,也可以不等于第三閾值。
[0115] 在其中一個(gè)可選地實(shí)施例中,所述控制器判斷是否存在與所述上報(bào)消息所屬的交 換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列之后,當(dāng)確定存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī) 隊(duì)列、且各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且所述上報(bào)消息所屬的 交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消息插入到所 述上報(bào)消息所屬的交換機(jī)隊(duì)列,其中所述第五閾值小于第二閾值。
[0116] 其中,第五閾值可以等于上述第三閾值或者第四閾值,也可以不等于第三閾值及 第四閾值。
[0117] 具體的,控制器針對(duì)Packet-in消息的接收入隊(duì)流程如圖2所示??刂破黝A(yù)先為 與其連接的各個(gè)交換機(jī)分別建立交換機(jī)隊(duì)列。下面針對(duì)一個(gè)交換機(jī)以Packet-in消息為例 進(jìn)行說(shuō)明。
[0118] 步驟201,接收到交換機(jī)發(fā)送的Packet-in消息;執(zhí)行步驟202。其中,Packet-in 消息中攜帶與交換機(jī)相連的Host的標(biāo)識(shí)信息。
[0119] 步驟202,確定是否建立有Host隊(duì)列,若否,執(zhí)行步驟203,若是,執(zhí)行步驟206。其 中Host隊(duì)列為與上述交換機(jī)相連的所有Host對(duì)應(yīng)的Host隊(duì)列。
[0120] 步驟203,確定該交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列中的Packet-in消息數(shù)量是否大于第 一閾值,若是,執(zhí)行步驟204,若否,執(zhí)行步驟205。
[0121] 步驟204,為所述Host的標(biāo)識(shí)信息對(duì)應(yīng)的Host建立Host隊(duì)列,并將所述 Packet-in消息保存到建立的Host隊(duì)列。
[0122] 步驟205,將接收到的Packet-in消息保存到該交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列。
[0123] 步驟206,確定建立的各個(gè)Host隊(duì)列中的Packet-in消息數(shù)量是否均小于第二閾 值,若是,執(zhí)行步驟207,若否,執(zhí)行步驟208。
[0124] 步驟207,確定該交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列中的Packet-in消息數(shù)量是否大于第 一閾值;若是,執(zhí)行步驟205,若否,執(zhí)行步驟208。
[0125] 步驟208,將接收到的Packet-in消息保存到所述Host的標(biāo)識(shí)信息對(duì)應(yīng)的Host隊(duì) 列。
[0126] 可選地,所述控制器根據(jù)所述確定的各個(gè)交換機(jī)隊(duì)列的Packet-in消息數(shù)量調(diào)度 各個(gè)交換機(jī)隊(duì)列中的Packet-in消息出隊(duì)處理時(shí),若確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列為空,且 確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的建立的任一 Host隊(duì)列不為空時(shí),根據(jù)各個(gè)交換機(jī) 的Packet-in消息權(quán)重確定從當(dāng)前調(diào)度的交換機(jī)隊(duì)列的調(diào)度的Packet-in消息數(shù)量,從所 述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的不為空的各個(gè)Host隊(duì)列中調(diào)度出對(duì)應(yīng)數(shù)量的上報(bào)消息發(fā) 送。其中對(duì)應(yīng)數(shù)量為確定的Packet-in消息數(shù)量。
[0127] 可選地,根據(jù)各個(gè)交換機(jī)的Packet-in消息權(quán)重確定從所述當(dāng)前調(diào)度的交換機(jī)隊(duì) 列的調(diào)度的Packet-in消息數(shù)量,從所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的不為空的各個(gè)Host 隊(duì)列中調(diào)度出對(duì)應(yīng)數(shù)量的上報(bào)消息發(fā)送,具體可以通過以下方式:
[0128] 從所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的不為空的Host隊(duì)列中上報(bào)消息數(shù)量不大于 第二閾值的Host隊(duì)列(即第一優(yōu)先級(jí)等級(jí)對(duì)應(yīng)的Host隊(duì)列)中優(yōu)先調(diào)度第一數(shù)量的上報(bào) 消息;
[0129] 從所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的不為空的Host隊(duì)列中上報(bào)消息的數(shù)量大于 第二閾值的其他Host隊(duì)列(即第二優(yōu)先級(jí)等級(jí)對(duì)應(yīng)的Host隊(duì)列)中調(diào)度第二數(shù)量的上報(bào) 消息;
[0130] 其中,所述第一數(shù)量和第二數(shù)量之和小于等于所述Packet-in消息數(shù)量,且在所 述第一數(shù)量大于等于Packet-in消息數(shù)量時(shí),所述第二數(shù)量為0。
[0131] 例如:確定某個(gè)交換機(jī)隊(duì)列的對(duì)應(yīng)數(shù)量為10個(gè),若當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的 不為空的Host隊(duì)列中上報(bào)消息數(shù)量不大于第二閾值的Host隊(duì)列的上報(bào)消息數(shù)量總和大于 等于10,則在該次輪詢中,從該上報(bào)消息數(shù)量不大于第二閾值的Host隊(duì)列中調(diào)度10個(gè)上 報(bào)消息處理,若當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的不為空的Host隊(duì)列中上報(bào)消息數(shù)量不大于 第二閾值的Host隊(duì)列的上報(bào)消息數(shù)量總和小于10,例如為8個(gè),則從該上報(bào)消息數(shù)量不大 于第二閾值的Host隊(duì)列中調(diào)度8個(gè)上報(bào)消息處理,然后在當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的不 為空的Host隊(duì)列中上報(bào)消息的數(shù)量大于第二閾值的其他Host隊(duì)列中調(diào)度2個(gè)上報(bào)消息處 理。
[0132] 其中,若確定任一交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)Host隊(duì)列為空,刪除該交換機(jī)隊(duì)列對(duì)應(yīng) 的各個(gè)Host隊(duì)列。
[0133] 具體的,控制器針對(duì)交換機(jī)隊(duì)列及Host隊(duì)列中的Packet-in消息的調(diào)度出隊(duì)流程 如圖3所示。
[0134] 其中,假設(shè)與控制器相連的交換機(jī)個(gè)數(shù)為n,即各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列分別 為S1,S2,……,Sn,確定的各個(gè)交換機(jī)隊(duì)列的上報(bào)消息權(quán)重為W Sl,i = 1,2……η。當(dāng)控制器 輪詢到第i個(gè)交換機(jī)隊(duì)列(即交換機(jī)隊(duì)列Si)時(shí),從隊(duì)列中提取[1 個(gè)Packet-in消息進(jìn)行處理。
[0135] 步驟301,確定交換機(jī)隊(duì)列Si是否為空,若否,執(zhí)行步驟302,若是,執(zhí)行步驟304。
[0136] 步驟302,對(duì)交換機(jī)隊(duì)列Si中的Packet-in消息進(jìn)行調(diào)度處理;執(zhí)行步驟303。具 體的,可以從交換機(jī)隊(duì)列中提取ti
個(gè)Packet-in消息進(jìn)行處理。
[0137] 步驟303,計(jì)算i = (i+1) % η,且經(jīng)過計(jì)算后的i不等于0 ;執(zhí)行步驟301。
[0138] 步驟304,確定該交換機(jī)隊(duì)列Si是否有對(duì)應(yīng)的Host隊(duì)列,若否,執(zhí)行步驟303,若 是,執(zhí)行步驟305。
[0139] 步驟305,確定該交換機(jī)隊(duì)列Si對(duì)應(yīng)的所有Host隊(duì)列是否均為空,若是,執(zhí)行步驟 306,若否,執(zhí)行步驟307。
[0140] 步驟306,刪除交換機(jī)隊(duì)列Si對(duì)應(yīng)的所有Host隊(duì)列。執(zhí)行步驟303。
[0141] 步驟307,處理交換機(jī)隊(duì)列Si對(duì)應(yīng)的各個(gè)Host隊(duì)列中的Packet-in消息。執(zhí)行步 驟 303。
[0142] 其中,處理交換機(jī)隊(duì)列Si對(duì)應(yīng)的各個(gè)Host隊(duì)列中的Packet-in消息采用輪詢調(diào) 度(Round Bob in)方式。具體如下:
[0143] 優(yōu)先對(duì)未受到攻擊的Host隊(duì)列之間進(jìn)行輪詢調(diào)度,從而保證未受到攻擊的 Host隊(duì)列中的Packet-in消息能夠得到及時(shí)的處理。若之前在建立Host隊(duì)列時(shí)建立了 Host隊(duì)列的優(yōu)先級(jí),則可以根據(jù)優(yōu)先級(jí)等級(jí)的大小對(duì)Host隊(duì)列進(jìn)行調(diào)度。而受到攻擊 的Host隊(duì)列的優(yōu)先級(jí)最低,最后調(diào)度。例如:當(dāng)調(diào)度到交換機(jī)隊(duì)列2時(shí),該交換機(jī)隊(duì)列2 為空,則以輪詢調(diào)度的方式依次從所有Host隊(duì)列取出Μ個(gè)Packet-in消息進(jìn)行處理,其 中
。若所有未收到攻擊的消息數(shù)量不足Μ個(gè),則對(duì)收到攻擊的 Host隊(duì)列中的Packet-in消息進(jìn)行調(diào)度。如圖4所示,假設(shè)M = 5,Host隊(duì)列4為受到攻擊 的Host對(duì)應(yīng)的Host隊(duì)列。調(diào)度時(shí),依次取出1、2、3、4號(hào)Packet-in消息,非攻擊Host隊(duì) 列中的消息個(gè)數(shù)不足5個(gè),貝U從Host隊(duì)列4中取出5號(hào)Packet-in消息進(jìn)行調(diào)度。
[0144] 本發(fā)明實(shí)施例還提供了一種防御消息攻擊的裝置,如圖5所示,該裝置應(yīng)用于控 制器中,該裝置包括:
[0145] 接收模塊501,用于接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息;
[0146] 保存模塊502,用于將所述接收模塊501接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消 息分別保存到所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;
[0147] 調(diào)度模塊503,用于對(duì)所述保存模塊502保存的所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì) 列進(jìn)行輪詢調(diào)度。
[0148] 本發(fā)明實(shí)施例中所述控制器對(duì)接收到的各個(gè)交換機(jī)發(fā)送的上報(bào)消息,分別保存到 所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;控制器不再對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行單獨(dú)處 理,而是對(duì)各個(gè)交換機(jī)隊(duì)列中的上報(bào)消息進(jìn)行輪詢調(diào)度。從而控制器不再直接針對(duì)接收到 攻擊的交換機(jī)發(fā)送的上報(bào)消息處理完后再處理其他交換機(jī)發(fā)送的上報(bào)消息,而是在上報(bào)消 息保存一個(gè)時(shí)間長(zhǎng)度后,統(tǒng)一對(duì)各個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行輪詢調(diào)度。從而避免了在 攻擊發(fā)生時(shí)造成的非攻擊流量的處理時(shí)間延長(zhǎng),甚至無(wú)法響應(yīng)正常用戶的服務(wù)請(qǐng)求。并且 通過在控制器層面進(jìn)行改進(jìn),減少了交換機(jī)的負(fù)擔(dān),不再影響交換機(jī)的轉(zhuǎn)發(fā)效率。
[0149] 可選地,如圖6所示,該裝置還可以包括:
[0150] 確認(rèn)模塊504,用于確認(rèn)所述上報(bào)消息所屬的交換機(jī)隊(duì)列。
[0151] 判斷模塊505,用于判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī) 隊(duì)列;所述主機(jī)隊(duì)列為與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì) 應(yīng)的各個(gè)主機(jī)隊(duì)列。
[0152] 第一確定模塊506,用于在所述判斷模塊505判斷不存在與所述上報(bào)消息所屬的 交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息 數(shù)量大于第一閾值。
[0153] 建立模塊507,在所述判斷模塊505判斷不存在所述上報(bào)消息所屬的述交換機(jī)隊(duì) 列對(duì)應(yīng)的主機(jī)隊(duì)列且所述第一確定模塊506確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存 儲(chǔ)的上報(bào)消息數(shù)量大于第一閾值時(shí),建立與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì) 列;
[0154] 所述保存模塊502,具體用于將所述上報(bào)消息插入到所述建立模塊507建立的與 所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;
[0155] 第二確定模塊508,用于當(dāng)所述調(diào)度模塊503對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì) 列進(jìn)行輪詢調(diào)度時(shí),若確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列為空,根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列 對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量和第二閾值確定各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí);
[0156] 所述調(diào)度模塊503,具體用于根據(jù)所述第二確定模塊508確定的所述當(dāng)前調(diào)度的 交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0157] 可選地,該裝置還可以包括第三確定模塊;
[0158] 所述第三確定模塊,用于在所述調(diào)度模塊503根據(jù)當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的 各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列 對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量是否都小于第三閾值;
[0159] 所述保存單元502,用于當(dāng)所述第三確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì) 應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量是否都小于第三閾值時(shí),若所述接收模塊501 接收到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的上報(bào)消息,將所述接收模塊501接 收到的當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到當(dāng)前調(diào)度的交換 機(jī)隊(duì)列,所述第三閾值小于第二閾值。
[0160] 可選地,該裝置還包括:
[0161] 第四確定模塊,用于在所述保存模塊502將所述接收模塊501接收到的所述當(dāng)前 調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后, 確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中是否存在上報(bào)消息存儲(chǔ)量為零的 主機(jī)隊(duì)列;
[0162] 刪除模塊,用于在所述第四確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列中存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì) 列;
[0163] 或者,
[0164] 第四確定模塊,用于在所述保存模塊502將所述接收模塊501接收到的所述當(dāng)前 調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列 之后,確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量是否均為 令;
[0165] 刪除模塊,用于在所述第四確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零時(shí),刪除所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī) 隊(duì)列。
[0166] 可選地,所述第一確定模塊506,還用于確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已 存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值;
[0167] 所述保存模塊502,還用于在所述判斷模塊505判斷不存在與所述上報(bào)消息所屬 的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且所述第一確定模塊506確定所述上報(bào)消息所屬的交換機(jī) 隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),將所述上報(bào)消息插入到所述上報(bào)消息所屬 的交換機(jī)隊(duì)列。
[0168] 可選地,該裝置還包括:
[0169] 第五確定模塊,用于在所述判斷模塊505判斷存在與所述上報(bào)消息所屬的交換機(jī) 隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),確定任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所 述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值;
[0170] 所述保存模塊502,還用于在所述判斷模塊505判斷存在與所述上報(bào)消息所屬的 交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且第五確定模塊確定任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量 大于第四閾值且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí), 將所述上報(bào)消息插入到與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第 四閾值小于第二閾值。
[0171] 可選地,該裝置還可以包括:
[0172] 第六確定模塊,用于在所述判斷模塊505判斷存在與所述上報(bào)消息所屬的交換機(jī) 隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),確定各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且 所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值;
[0173] 所述保存模塊502,在所述判斷模塊505判斷存在與所述上報(bào)消息所屬的交換機(jī) 隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,且所述第六確定模塊確定各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均 小于第五閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值 時(shí),將所述上報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列,其中所述第五閾值小于第二 閾值。
[0174] 具體的,所述調(diào)度模塊503,具體用于根據(jù)預(yù)先為各個(gè)交換機(jī)分配的上報(bào)消息權(quán)重 對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0175] 本發(fā)明還提供了一種防御消息攻擊的裝置,如圖7所示,其中該裝置可以設(shè)置于 控制器中,該裝置用于執(zhí)行圖1或者圖2或者圖3所示的方法,具體包括處理器701、存儲(chǔ)器 702、收發(fā)器703。其中,處理器701分別與存儲(chǔ)器702及收發(fā)器703連接。本發(fā)明實(shí)施例中 不限定上述部件之間的具體連接介質(zhì),本發(fā)明實(shí)施例在圖7中以存儲(chǔ)器702、處理器701、收 發(fā)器703之間通過總線連接,總線在圖7中以粗線表示,其它部件之間的連接方式,僅是進(jìn) 行示意性說(shuō)明,并不引以為限。
[0176] 本發(fā)明實(shí)施例中存儲(chǔ)器702,用于存儲(chǔ)處理器701執(zhí)行的程序代碼,可以是只 讀存儲(chǔ)器(read-only memory,簡(jiǎn)稱 R0M),隨機(jī)存取存儲(chǔ)器(random-access memory,簡(jiǎn) 稱:RAM),也可以是電可擦可編程只讀存儲(chǔ)器(Electrically Erasable Programmable Read-Only Memory,簡(jiǎn)稱EEPR0M)、磁盤存儲(chǔ)介質(zhì)或者其他磁存儲(chǔ)設(shè)備、或者能夠用于攜帶 或存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì), 但不限于此,例如存儲(chǔ)器702可以是上述存儲(chǔ)器的組合。
[0177] 所述處理器701執(zhí)行所述存儲(chǔ)器702所存放的程序,實(shí)現(xiàn)本發(fā)明圖1或者圖2或 者圖3所示的防御消息攻擊的方法。
[0178] 收發(fā)器703接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息;
[0179] 處理器701將收發(fā)器703接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保存到所 述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;
[0180] 處理器701對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0181] 其中,各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列保存在存儲(chǔ)器702中。
[0182] 處理器701將收發(fā)器703接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息保存到所述各 個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列,具體可以通過以下方式:
[0183] 處理器701確認(rèn)收發(fā)器703接收到的所述上報(bào)消息所屬的交換機(jī)隊(duì)列;判斷是否 存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;所述主機(jī)隊(duì)列為與與所述上報(bào)消 息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列;
[0184] 在判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述上 報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第一閾值時(shí),所述控制器建立與所 述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,并將所述上報(bào)消息插入到與所述上報(bào)消息 所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;
[0185] 處理器701對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),若確定當(dāng)前調(diào) 度的交換機(jī)隊(duì)列為空,根據(jù)當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消 息數(shù)量和第二閾值確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí);然后根據(jù)當(dāng) 前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
[0186] 其中,各個(gè)主機(jī)對(duì)應(yīng)的主機(jī)隊(duì)列保存在存儲(chǔ)器702中。與交換機(jī)相連的各個(gè)主機(jī) 的主機(jī)隊(duì)列,和該交換機(jī)的交換機(jī)隊(duì)列相對(duì)應(yīng)。
[0187] 處理器701根據(jù)當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主 機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),在確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上 報(bào)消息數(shù)量都小于第三閾值時(shí),若收發(fā)器703接收到當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī) 發(fā)送的上報(bào)消息,則處理器701將收發(fā)器703接收到的當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換 機(jī)發(fā)送的所述上報(bào)消息插入到當(dāng)前調(diào)度的交換機(jī)隊(duì)列,所述第三閾值小于第二閾值。
[0188] 處理器701將收發(fā)器703接收到的當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的 所述上報(bào)消息插入到當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,在確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各 個(gè)主機(jī)隊(duì)列中存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì) 列;或者,在確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零 時(shí),刪除當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列。
[0189] 處理器701判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列之 后,在判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述上報(bào)消息 所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),將收發(fā)器703接收到的所述 上報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列。
[0190] 處理器701判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí), 若判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且確定任一主機(jī)隊(duì)列中已 存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息 數(shù)量小于第一閾值時(shí),將收發(fā)器703接收到的所述上報(bào)消息插入到與所述上報(bào)消息所屬的 交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第四閾值小于第二閾值。
[0191] 其中,第四閾值可以等于上述第三閾值,也可以不等于第三閾值。
[0192] 處理器701判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí), 當(dāng)判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且確定各個(gè)主機(jī)隊(duì)列中已 存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消 息數(shù)量小于第一閾值時(shí),將收發(fā)器703接收到的所述上報(bào)消息插入到所述上報(bào)消息所屬的 交換機(jī)隊(duì)列,其中所述第五閾值小于第二閾值。
[0193] 其中,第五閾值可以等于上述第三閾值或者第四閾值,也可以不等于第三閾值及 第四閾值。
[0194] 處理器701對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度,具體可以通過以 下方式:
[0195] 根據(jù)預(yù)先為各個(gè)交換機(jī)分配的上報(bào)消息權(quán)重對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì) 列進(jìn)行輪詢調(diào)度。
[0196] 本發(fā)明實(shí)施例中控制器中的處理器701對(duì)收發(fā)器703接收到的每個(gè)交換機(jī)發(fā)送的 上報(bào)消息,分別保存到存儲(chǔ)器702中存儲(chǔ)的該交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列;控制器不再對(duì)每 個(gè)交換機(jī)發(fā)送的上報(bào)消息進(jìn)行單獨(dú)處理,而是對(duì)所有交換機(jī)隊(duì)列中的上報(bào)消息進(jìn)行輪詢調(diào) 度。從而控制器不再直接針對(duì)接收到攻擊的交換機(jī)發(fā)送的上報(bào)消息處理完后再處理其他交 換機(jī)發(fā)送的上報(bào)消息,而是在上報(bào)消息保存一個(gè)時(shí)間長(zhǎng)度后,統(tǒng)一對(duì)各個(gè)交換機(jī)發(fā)送的上 報(bào)消息進(jìn)行輪詢調(diào)度。從而在抵御消息攻擊的同時(shí),避免了在攻擊發(fā)生時(shí)造成的非攻擊流 量的處理時(shí)間延長(zhǎng),保證了正常響應(yīng)正常用戶的服務(wù)請(qǐng)求。
[0197] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī) 可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形 式。
[0198] 本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程 圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算 機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理 器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生 用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能 的裝置。
[0199] 這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特 定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或 多個(gè)方框中指定的功能。
[0200] 這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì) 算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或 其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖 一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0201] 盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造 性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu) 選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0202] 顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【主權(quán)項(xiàng)】
1. 一種防御消息攻擊的方法,其特征在于,包括: 控制器接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息; 所述控制器將接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保存到所述各個(gè)交換機(jī) 對(duì)應(yīng)的交換機(jī)隊(duì)列; 所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。2. 如權(quán)利要求1所述的方法,其特征在于,所述控制器將接收到的各個(gè)交換機(jī)發(fā)送的 所述上報(bào)消息保存到所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列具體包括: 所述控制器確認(rèn)所述上報(bào)消息所屬的交換機(jī)隊(duì)列; 所述控制器判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;所述主 機(jī)隊(duì)列為與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì)應(yīng)的各個(gè)主 機(jī)隊(duì)列; 在判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述上報(bào)消 息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第一閾值時(shí),所述控制器建立與所述上 報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,并將所述上報(bào)消息插入到與所述上報(bào)消息所屬 的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列; 所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),若確定當(dāng)前調(diào)度的 交換機(jī)隊(duì)列為空,還包括: 所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消 息數(shù)量和第二閾值確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí); 所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主 機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。3. 如權(quán)利要求2所述的方法,其特征在于,所述控制器根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì) 列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),還包括: 在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量都 小于第三閾值時(shí),所述控制器若接收到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的上 報(bào)消息,則將接收到的所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入 到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列,所述第三閾值小于第二閾值。4. 如權(quán)利要求3所述的方法,其特征在于,所述將接收到的所述當(dāng)前調(diào)度的交換機(jī)隊(duì) 列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,還包括: 在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中存在上報(bào)消息數(shù)量為零的 主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列; 或者,在確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均 為零時(shí),刪除所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列。5. 如權(quán)利要求2至4任一所述的方法,其特征在于,所述控制器判斷是否存在與所述上 報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列之后,還包括: 在判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定所述上報(bào)消 息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消 息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列。6. 如權(quán)利要求2至5任一所述的方法,其特征在于,所述控制器判斷是否存在與所述上 報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列之后,還包括: 若判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列且確定任一主機(jī)隊(duì)列 中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào) 消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消息插入到與所述上報(bào)消息所屬的交換 機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第四閾值小于第二閾值。7. 如權(quán)利要求2至6任一所述的方法,其特征在于,所述控制器判斷是否存在與所述上 報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列時(shí),還包括: 當(dāng)判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列、且確定各個(gè)主機(jī)隊(duì)列 中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上 報(bào)消息數(shù)量小于第一閾值時(shí),所述控制器將所述上報(bào)消息插入到所述上報(bào)消息所屬的交換 機(jī)隊(duì)列,其中所述第五閾值小于第二閾值。8. 如權(quán)利要求1至7任一所述的方法,其特征在于,所述控制器對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng) 的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度具體包括: 所述控制器根據(jù)預(yù)先為各個(gè)交換機(jī)分配的上報(bào)消息權(quán)重對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交 換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。9. 一種防御消息攻擊的裝置,其特征在于,包括: 接收模塊,用于接收至少一個(gè)交換機(jī)發(fā)送的上報(bào)消息; 保存模塊,用于將所述接收模塊接收到的各個(gè)交換機(jī)發(fā)送的所述上報(bào)消息分別保存到 所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列; 調(diào)度模塊,用于對(duì)所述保存模塊保存的所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào) 度。10. 如權(quán)利要求9所述的裝置,其特征在于,還包括: 確認(rèn)模塊,用于確認(rèn)所述上報(bào)消息所屬的交換機(jī)隊(duì)列; 判斷模塊,用于判斷是否存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列;所 述主機(jī)隊(duì)列為與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)相連的各個(gè)主機(jī)對(duì)應(yīng)的各 個(gè)主機(jī)隊(duì)列; 第一確定模塊,用于確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大 于第一閾值; 建立模塊,用于在所述判斷模塊判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的 主機(jī)隊(duì)列、且所述第一確定模塊確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息 數(shù)量大于第一閾值時(shí),建立與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列; 所述保存模塊,具體用于將所述上報(bào)消息插入到所述建立模塊建立的與所述上報(bào)消息 所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列; 第二確定模塊,用于當(dāng)所述調(diào)度模塊對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào) 度時(shí),若確定當(dāng)前調(diào)度的交換機(jī)隊(duì)列為空,根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主 機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量和第二閾值確定各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí); 所述調(diào)度模塊,具體用于根據(jù)所述第二確定模塊確定的所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì) 應(yīng)的各個(gè)主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。11. 如權(quán)利要求10所述的裝置,其特征在于,還包括第三確定模塊; 所述第三確定模塊,用于在所述調(diào)度模塊根據(jù)所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列的優(yōu)先級(jí)對(duì)各個(gè)主機(jī)隊(duì)列進(jìn)行輪詢調(diào)度時(shí),確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng) 的各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量是否都小于第三閾值; 所述保存單元,用于當(dāng)所述第三確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè) 主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量是否都小于第三閾值時(shí),若所述接收模塊接收到所述當(dāng) 前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的上報(bào)消息,則將所述接收模塊接收到的所述當(dāng)前 調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列, 所述第三閾值小于第二閾值。12. 如權(quán)利要求11所述的裝置,其特征在于,還包括: 第四確定模塊,用于在所述保存模塊將所述接收模塊接收到的所述當(dāng)前調(diào)度的交換機(jī) 隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,確定所述 當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列中是否存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列; 刪除模塊,用于在所述第四確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī) 隊(duì)列中存在上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列時(shí),刪除所述上報(bào)消息數(shù)量為零的主機(jī)隊(duì)列; 或者, 第四確定模塊,用于在所述保存模塊將所述接收模塊接收到的所述當(dāng)前調(diào)度的交換機(jī) 隊(duì)列對(duì)應(yīng)的交換機(jī)發(fā)送的所述上報(bào)消息插入到所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列之后,確定所述 當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量是否均為零; 刪除模塊,用于在所述第四確定模塊確定所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主 機(jī)隊(duì)列存儲(chǔ)的上報(bào)消息數(shù)量均為零時(shí),刪除所述當(dāng)前調(diào)度的交換機(jī)隊(duì)列對(duì)應(yīng)的各個(gè)主機(jī)隊(duì) 列。13. 如權(quán)利要求10至12任一所述的裝置,其特征在于,所述第一確定模塊,還用于確定 所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值; 所述保存單元,還用于在所述判斷模塊判斷不存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列 對(duì)應(yīng)的主機(jī)隊(duì)列、且所述第一確定模塊確定所述上報(bào)消息所屬的交換機(jī)隊(duì)列中已存儲(chǔ)的上 報(bào)消息數(shù)量小于第一閾值時(shí),將所述上報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列。14. 如權(quán)利要求10至13任一所述的裝置,其特征在于,還包括: 第五確定模塊,用于在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng) 的主機(jī)隊(duì)列時(shí),確定任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值、且所述上報(bào)消 息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值; 所述保存單元,還用于在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì) 應(yīng)的主機(jī)隊(duì)列、且第五確定模塊確定任一主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量大于第四閾值 且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),將所述上報(bào)消 息插入到與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的主機(jī)隊(duì)列,其中,所述第四閾值小于第 二閾值。15. 如權(quán)利要求10至14任一所述的裝置,其特征在于,還包括: 第六確定模塊,用于在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng) 的主機(jī)隊(duì)列時(shí),確定各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾值、且所述上報(bào) 消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值; 所述保存單元,在在所述判斷模塊判斷存在與所述上報(bào)消息所屬的交換機(jī)隊(duì)列對(duì)應(yīng)的 主機(jī)隊(duì)列,且所述第六確定模塊確定各個(gè)主機(jī)隊(duì)列中已存儲(chǔ)的上報(bào)消息數(shù)量均小于第五閾 值、且所述上報(bào)消息所屬的交換機(jī)隊(duì)列已存儲(chǔ)的上報(bào)消息數(shù)量小于第一閾值時(shí),將所述上 報(bào)消息插入到所述上報(bào)消息所屬的交換機(jī)隊(duì)列,其中所述第五閾值小于第二閾值。16.如權(quán)利要求9至15任一所述的裝置,其特征在于,所述調(diào)度模塊,具體用于根據(jù)預(yù) 先為各個(gè)交換機(jī)分配的上報(bào)消息權(quán)重對(duì)所述各個(gè)交換機(jī)對(duì)應(yīng)的交換機(jī)隊(duì)列進(jìn)行輪詢調(diào)度。
【文檔編號(hào)】H04L12/863GK105991588SQ201510080973
【公開日】2016年10月5日
【申請(qǐng)日】2015年2月13日
【發(fā)明人】李金明, 胡成臣, 王換招
【申請(qǐng)人】華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
霍林郭勒市| 海晏县| 福建省| 沽源县| 永平县| 民乐县| 江都市| 多伦县| 聊城市| 诸暨市| 萝北县| 沙雅县| 托克逊县| 瓦房店市| 宁晋县| 托克逊县| 淅川县| 和平区| 革吉县| 玉龙| 昌都县| 疏勒县| 内黄县| 江孜县| 乃东县| 台湾省| 湖南省| 佛学| 会昌县| 祁东县| 蒲江县| 察哈| 昌乐县| 柳州市| 伊金霍洛旗| 南昌县| 通城县| 高雄县| 肇源县| 白沙| 麻阳|