[發(fā)明專利]Linux系統(tǒng)中多網(wǎng)卡接收組播數(shù)據(jù)的方法無效
| 申請?zhí)枺?/td> | 200610138661.6 | 申請日: | 2006-11-10 |
| 公開(公告)號: | CN101179411A | 公開(公告)日: | 2008-05-14 |
| 發(fā)明(設計)人: | 盧王飛 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L12/18 | 分類號: | H04L12/18;H04L29/06 |
| 代理公司: | 北京中博世達專利商標代理有限公司 | 代理人: | 申健 |
| 地址: | 518057廣東省深圳市南山區(qū)*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | linux 系統(tǒng) 網(wǎng)卡 接收 數(shù)據(jù) 方法 | ||
技術領域
本發(fā)明涉及UDP(用戶數(shù)據(jù)協(xié)議)組播數(shù)據(jù)傳輸技術,尤其涉及Linux系統(tǒng)中多網(wǎng)卡準確接收組播數(shù)據(jù)的方法。
背景技術
目前在Linux系統(tǒng)的UDP組播數(shù)據(jù)接收過程中,存在有一臺機器安裝有多塊網(wǎng)卡接收到相同或者不同網(wǎng)段的組播數(shù)據(jù)的情況。在這種網(wǎng)絡情況下進行組播數(shù)據(jù)接收時,如果只在一個網(wǎng)卡中進行數(shù)據(jù)接收,可能出現(xiàn)接收不到組播的問題,而如果同時在所有的網(wǎng)卡中進行組播數(shù)據(jù)的接收,又可能出現(xiàn)接收重復數(shù)據(jù)的問題。
發(fā)明內容
為了克服上述缺陷,本發(fā)明的目的在于提供一種Linux系統(tǒng)多網(wǎng)卡準確接收組播數(shù)據(jù)的方法,
為達到上述目的,本發(fā)明一種Linux系統(tǒng)中多網(wǎng)卡接收組播數(shù)據(jù)的方法,包括如下步驟:
(1)列舉本機中所有網(wǎng)卡的IP地址;
(2)綁定目標組播地址;
(3)將本機中所有網(wǎng)卡的IP地址加入目標組播地址組;
(4)加入目標組播地址組的網(wǎng)卡接收目標組播數(shù)據(jù),在收到目標組播數(shù)據(jù)后,解析出本機中接收到目標組播數(shù)據(jù)的網(wǎng)卡的IP地址;
(5)保留該目標組播地址組中收到來自正確IP地址的目標組播數(shù)據(jù)的網(wǎng)卡的IP地址,該目標組播地址組中其余的網(wǎng)卡則離開該目標組播地址組。
進一步地,所述步驟(5)具體為:
目標組播地址組中若只有一個網(wǎng)卡接收到來自正確的IP地址的目標組播數(shù)據(jù),則直接將該網(wǎng)卡標記為接收到組播數(shù)據(jù)的網(wǎng)卡,并將該網(wǎng)卡的IP地址保留在目標組播地址組中;
目標組播地址組中若有多個網(wǎng)卡同時接收到來自相同且正確的IP地址的目標組播數(shù)據(jù),則標記其中一個網(wǎng)卡為接收到組播數(shù)據(jù)的網(wǎng)卡,并將該網(wǎng)卡的IP地址保留在目標組播地址組中,該目標組播地址組中其余網(wǎng)卡全部離開該目標組播地址組。
進一步地,所述目標組播數(shù)據(jù)為用戶數(shù)據(jù)協(xié)議組播數(shù)據(jù)。
本發(fā)明的UDP組播數(shù)據(jù)接收方法,通過檢測、解析接收目標組播數(shù)據(jù)包的網(wǎng)卡IP地址,選擇不同的網(wǎng)卡中接收組播數(shù)據(jù)包,不僅可以很好地完成在多網(wǎng)卡情況下,保證接收到目標組播數(shù)據(jù);同時還可以避免在接收過程出現(xiàn)多余或者重復的數(shù)據(jù)包。
附圖說明
圖1為Linux系統(tǒng)中多網(wǎng)卡準確接收組播數(shù)據(jù)的流程圖。
具體實施方式
下面結合附圖對本發(fā)明技術方案做進一步詳細的說明。如圖1所示,本發(fā)明的方法主要包括如下步驟:
S1、列舉本機中的所有網(wǎng)卡的IP地址。列舉出網(wǎng)卡地址個數(shù)以及每一個IP地址。例如本機中安裝有兩塊網(wǎng)卡:192.168.1.10和10.1.1.10。
S2、采用Linux系統(tǒng)特性,綁定目標組播地址。目標組播地址是組播數(shù)據(jù)的目的地址。在Linux系統(tǒng)中,綁定組播地址是一種系統(tǒng)特性,通過采用綁定組播地址這種系統(tǒng)特性,能夠在后面的步驟中,選擇不同的網(wǎng)卡加入組播地址組。關于組播地址段的定義,InternetAssigned?Numbers?Authority(IANA,互聯(lián)網(wǎng)網(wǎng)絡號分配機構)已經(jīng)將D類地址空間分配為IP組播地址,范圍:224.0.0.0~239.255.255.255。例如:現(xiàn)有目標組播IP地址為224.1.1.1,目標端口8000,則綁定組播地址224.1.1.1與8000。
S3、將所有的網(wǎng)卡IP地址加入目標組播地址組,接收組播數(shù)據(jù)。在收到組播數(shù)據(jù)包后,解析出接收到組播數(shù)據(jù)的本地網(wǎng)卡的IP地址。
在實際情況中,大致可以分為以下三種情況:
情況1:只有一個網(wǎng)卡接收到目標組播數(shù)據(jù)。例如:只有192.168.1.10收到組播數(shù)據(jù),則直接標記接收網(wǎng)卡為192.168.1.10。
情況2:兩個網(wǎng)卡分別接收到不同來源的目標組播數(shù)據(jù)。
例如:192.168.1.10中接收到的組播數(shù)據(jù)發(fā)自:192.168.1.1;10.1.1.10中接收到的發(fā)自10.1.1.1。假設目標組播數(shù)據(jù)來源應該為192.168.1.1,則標記接收網(wǎng)卡為192.168.1.10。
情況3:兩個網(wǎng)卡同時接收到來源相同的目標組播數(shù)據(jù)。例如:192.168.1.10與10.1.1.10中接收到的是完全相同的數(shù)據(jù)。這種情況,只需要在兩塊網(wǎng)卡中任意選擇一個作為接收網(wǎng)卡。
S4、保留收到組播數(shù)據(jù)的網(wǎng)卡加入目標組播地址組,其他所有的網(wǎng)卡都離開組播地址組。例如:保留網(wǎng)卡192.168.1.10加入到組播組224.1.1.1中,選擇另一塊網(wǎng)卡10.1.1.10離開組播地址組:224.1.1.1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610138661.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





