本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)發(fā)送方法及裝置。
背景技術(shù):
隨著互連網(wǎng)技術(shù)的發(fā)展,應(yīng)用網(wǎng)絡(luò)的用戶也越來越多,特別是應(yīng)用較為廣泛的無線保真(Wireless-Fidelity,Wi-Fi)的應(yīng)用。當(dāng)今社會,Wi-Fi網(wǎng)絡(luò)的使用已經(jīng)隨處可見,例如:一般家庭用戶,還是小商戶(如餐館、咖啡館、網(wǎng)吧等),以及大公司、機場、音樂廳等公共場所,Wi-Fi網(wǎng)絡(luò)的使用給人們的生活、工作及學(xué)習(xí)帶來了較大便利性。
目前,無線路由器作為Wi-Fi網(wǎng)絡(luò)信號的轉(zhuǎn)發(fā)器,供站點(終端設(shè)備,如筆記本電腦、支持Wi-Fi功能的智能手機等等)連接使用Wi-Fi網(wǎng)絡(luò)。在連接同一Wi-Fi網(wǎng)絡(luò)的各個站點獲取數(shù)據(jù)時,有時會使用到Wi-Fi網(wǎng)絡(luò)的組播流量,即連接到Wi-Fi網(wǎng)絡(luò)上的多個站點同時接收無線路由器發(fā)送的同一組播數(shù)據(jù)。其中,數(shù)據(jù)的發(fā)送者稱為組播源,數(shù)據(jù)接收者稱為該數(shù)據(jù)的組播組,加入同一組播組的接收者稱為組播組成員。例如:某公司不同會議室的人員觀看同一電視會議等等。
發(fā)明人在實現(xiàn)本發(fā)明過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中無線路由器在基于Wi-Fi網(wǎng)絡(luò)發(fā)送組播數(shù)據(jù)時,向連接于無線路由器的每一個站點都發(fā)送一份組播數(shù)據(jù),不管連接于無線路由器的各個站點是否需要該組播數(shù)據(jù)未在,若確定不需要該組播數(shù)據(jù)則將其直接丟棄。由于無線路由器會向與其連接的各個站點均發(fā)送組播數(shù)據(jù),浪費了無線路由器大量的Wi-Fi流量,進(jìn)而使得導(dǎo)致組播組內(nèi)該些站點中真正需要組播數(shù)據(jù)的組播組成員,獲取到組播數(shù)據(jù)的速度較慢。特別是,當(dāng)連接于同一無線路由器,且不為組播組成員的站點組播組內(nèi)的組播較多組成員較多,但需要接收組播數(shù)據(jù)的組播組成員較少時,使得組播組成員接收組播數(shù)據(jù)的組播組成員獲取組播數(shù)據(jù)的速度較慢,效率較低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種數(shù)據(jù)發(fā)送方法及裝置,用以解決現(xiàn)有技術(shù)中由于無線路由器會向與其連接的各個站點均發(fā)送組播數(shù)據(jù),浪費了無線路由器大量的Wi-Fi流量,進(jìn)而使得組播組內(nèi)該些站點中真正需要組播數(shù)據(jù)的組播組成員,獲取到組播數(shù)據(jù)的速度較慢的問題。
一方面,本發(fā)明實施例提供一種數(shù)據(jù)發(fā)送方法,包括:
獲取組播數(shù)據(jù)包;其中,所述組播數(shù)據(jù)包中包含組播組目的IP地址及組播組目的MAC地址;
根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址;
將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,生成單播數(shù)據(jù)包;
將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員。
另一方面,本發(fā)明實施例提供一種數(shù)據(jù)發(fā)送裝置,包括:
第一獲取單元,用于獲取組播數(shù)據(jù)包;其中,所述組播數(shù)據(jù)包中包含組播組目的IP地址及組播組目的MAC地址;
第二獲取單元,用于根據(jù)所述從第一獲取單元獲取的組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址;
替換單元,用于將所述第一獲取單元獲取的所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述第二獲取單元獲取的所述組播組成員對應(yīng)的MAC地址;
生成單元,用于根據(jù)所述替換單元將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述第二獲取單元獲取的所述組播組成員對應(yīng)的MAC地址后,生成單播數(shù)據(jù)包;
發(fā)送單元,用于將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員。
本發(fā)明實施例提供的數(shù)據(jù)發(fā)送方法及裝置,首先,無線路由器獲取組播數(shù)據(jù)包,根據(jù)該組播數(shù)據(jù)包中包含組播組IP地址確定組播組內(nèi)待接收數(shù)據(jù)的組播組成員,獲取該待接收數(shù)據(jù)的組播組成員對應(yīng)的MAC地址;其次,無線路由器根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址,將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,生成單播數(shù)據(jù)包;最后,將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員;與現(xiàn)有技術(shù)相比,本發(fā)明實施例中無線路由器只向組播組內(nèi)的組播組成員,定向發(fā)送由組播數(shù)據(jù)包轉(zhuǎn)換的單播數(shù)據(jù)包,而非是向連接與無線路由器的所有網(wǎng)絡(luò)設(shè)備發(fā)送組播數(shù)據(jù)包,能夠節(jié)省大量的網(wǎng)絡(luò)資源,從而提升了組播組內(nèi)組播組成員獲取數(shù)據(jù)包的速度及效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了本發(fā)明實施例提供的一種數(shù)據(jù)發(fā)送方法的流程圖;
圖2示出了本發(fā)明實施例提供的一種組播數(shù)據(jù)包報頭的示意圖;
圖3示出了本發(fā)明實施例提供的一種數(shù)據(jù)發(fā)送裝置的組成框圖;
圖4示出了本發(fā)明實施例提供的另一種數(shù)據(jù)發(fā)送裝置的組成框圖;
圖5示出了本發(fā)明實施例提供的一種無線路由器的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實施例提供一種數(shù)據(jù)發(fā)送方法,該方法應(yīng)用于無線路由器中,如圖1所示,該方法包括:
101、獲取組播數(shù)據(jù)包。
本發(fā)明實施例所述的無線路由器,具有組播轉(zhuǎn)發(fā)功能,用于接收組播源(即組播數(shù)據(jù)包發(fā)送者)發(fā)送的組播數(shù)據(jù)包,以及將接收到的組播數(shù)據(jù)包轉(zhuǎn)發(fā)至組播組。在無線路由器執(zhí)行組播之前,接收并獲取組播源(即組播數(shù)據(jù)包發(fā)送者)發(fā)送的組播數(shù)據(jù)包,其中,所述組播數(shù)據(jù)包的報頭中至少包含組播組目的IP地址及組播組目的MAC地址;還可以包括組播數(shù)據(jù)包的版本、類型、端口、存活時間等內(nèi)容。示例性的,如圖2所示,圖2示出了本發(fā)明實施例提供的一種組播數(shù)據(jù)包報頭的示意圖,需要說明的是,圖2僅為示例性的舉例,本發(fā)明實施例對組播數(shù)據(jù)包的報頭中包含的具體內(nèi)容、對包頭內(nèi)容所占的字節(jié)數(shù)及具有組播功能無線路由器的具體種類不作限定。
在實際應(yīng)用中,一個無線路由器中可能記錄有多個組播組IP地址,該些組播組IP地址對應(yīng)的組播組可能是永久的,也可能是臨時的;可能是組播組內(nèi)的一個主機只加入到一個組播組內(nèi),也可能是一個主機同時加入到多個組播組內(nèi)。組播組目的IP地址用于標(biāo)識一個IP組播組,無線路由器對獲取的組播數(shù)據(jù)包進(jìn)行解析,可獲取組播組目的IP地址,其目的在于,通過該組播組目的IP地址,可從多個組播組對應(yīng)的IP地址中確認(rèn)一個目的IP地址,并將獲取的數(shù)據(jù)包發(fā)送至組播組目的IP地址內(nèi)的組播組成員。
102、根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址。
終端設(shè)備(主機)向組播源發(fā)送加入某個組播組的請求信息,當(dāng)組播源允許該終端設(shè)備(主機)加入某組播組時,由具有組播功能的無線路由器將該終端設(shè)備(主機)的IP地址和/或MAC地址等能夠唯一標(biāo)識終端設(shè)備(主機)的信息進(jìn)行記錄,以便后續(xù)進(jìn)行組播數(shù)據(jù)包的發(fā)送。加入到組播組的終端設(shè)備(主機),可以選擇組播組成員身份的繼續(xù)或者退出。
當(dāng)終端設(shè)備(主機)請求加入組播組后,向無線路由器發(fā)送報告報文(report報文),已告知無線路由器該終端設(shè)備(主機)已加入組播組。在終端設(shè)備(主機)向無線路由器發(fā)送report報文時,攜帶有其自身的唯一標(biāo)識終端設(shè)備(主機)的信息,例如MAC地址等等。無線路由器將終端設(shè)備(主機)的MAC地址進(jìn)行存儲,當(dāng)無線路由器需向組播組內(nèi)的組播組成員發(fā)送組播數(shù)據(jù)包時,直接從無線路由器的預(yù)置存儲路徑下獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址的即可。
需要說明的是,在無線路由器進(jìn)行組播數(shù)據(jù)包的轉(zhuǎn)發(fā)時,依賴于MAC地址,而非是組播組成員的IP地址。IP地址是無線路由器提供的,不同的終端設(shè)備(主機)所分配的IP地址不同;而MAC地址是網(wǎng)卡的物理地址,其與網(wǎng)絡(luò)無關(guān),即無論將帶有MAC地址的硬件(如網(wǎng)卡、集線器、無線路由器等)接入到網(wǎng)絡(luò)的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶設(shè)定。
103、將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,生成單播數(shù)據(jù)包。
在現(xiàn)有技術(shù)中,無線路由器在接收到組播源發(fā)送的組播數(shù)據(jù)包后,根據(jù)組播組目的IP地址確定組播組后,將組播數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),由連接于該無線路由器上的所有終端設(shè)備(主機)依次接收該組播數(shù)據(jù)包;當(dāng)連接于該無線路由器上的所有終端設(shè)備(主機),且不存在組播組內(nèi)的終端設(shè)備(主機)接收到組播數(shù)據(jù)包后,若確定該組播數(shù)據(jù)包為其需要的,則將該組播數(shù)據(jù)包存儲、使用;若確定組播數(shù)據(jù)包不為其所需要的,則將接收到的組播數(shù)據(jù)包丟棄;既浪費了無線路由器的帶寬資源,降低了需要獲取組數(shù)據(jù)包的獲取數(shù)據(jù)包的速度。
為了解決上述問題,無線路由器對組播數(shù)據(jù)包進(jìn)行解析,獲取其包含的組播組目的MAC地址,并將該組播組目的MAC地址替換為步驟102獲取的組播組成員對應(yīng)的MAC地址,將組播數(shù)據(jù)包轉(zhuǎn)換為單播數(shù)據(jù)包。其目的在于,僅向組播組內(nèi)的組播組成員定向發(fā)送數(shù)據(jù)包,而非是向連接于無線路由器上的所有終端設(shè)備(主機)均發(fā)送組播數(shù)據(jù)包,能夠節(jié)省無線路由器不必要帶寬資源的消耗,同時還能夠提高需要獲取組播數(shù)據(jù)包的速度。
需要說明的是,所述組播數(shù)據(jù)包與單播數(shù)據(jù)包中所包含的數(shù)據(jù)是相同的,不同點在于,無線路由器在對其轉(zhuǎn)發(fā)時的轉(zhuǎn)發(fā)次數(shù)存在差異。對于單播數(shù)據(jù)包的轉(zhuǎn)發(fā)而言,無線路由器同時給多個的接收者(組播組成員)傳輸相同的單播數(shù)據(jù)包,也必須相應(yīng)的復(fù)制多份的相同單播數(shù)據(jù)包;對于組播數(shù)據(jù)的轉(zhuǎn)發(fā)而言,無線路由器同時給多個的接收者(組播組成員)傳輸相同的組播數(shù)據(jù)包,轉(zhuǎn)發(fā)一份的相同數(shù)據(jù)包即可。
104、將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員。
在實際應(yīng)用中,本發(fā)明實施例所述的組播數(shù)據(jù)包為組播視頻數(shù)據(jù)包。示例性的,家庭中多臺電視使用機頂盒觀看同一個電視節(jié)目時,組播源可向與該機頂盒連接的無線路由器發(fā)送組播視頻數(shù)據(jù)包;或者,某公司不同會議室的人員觀看同一電視會議時,不同會議室的主機作為組播組成員,接收無線路由器發(fā)送的從組播源獲取的組播視頻數(shù)據(jù)包。為了便于理解,本發(fā)明實施例以組播數(shù)據(jù)包為組播視頻數(shù)據(jù)包為例進(jìn)行說明,但應(yīng)當(dāng)明確的是,該種說明方式并非意在限定組播數(shù)據(jù)包僅能為組播視頻數(shù)據(jù)包;所述組播數(shù)據(jù)包還可以為文件組播數(shù)據(jù)包、應(yīng)用程序(Application,APP)組播數(shù)據(jù)包等等,本發(fā)明實施例在此不再進(jìn)行一一贅述。
本發(fā)明實施例提供的數(shù)據(jù)發(fā)送方法,首先,無線路由器獲取組播數(shù)據(jù)包,根據(jù)該組播數(shù)據(jù)包中包含組播組IP地址確定組播組內(nèi)待接收數(shù)據(jù)的組播組成員,獲取該待接收數(shù)據(jù)的組播組成員對應(yīng)的MAC地址;其次,無線路由器根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址,將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,生成單播數(shù)據(jù)包;最后,將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員;與現(xiàn)有技術(shù)相比,本發(fā)明實施例中無線路由器只向組播組內(nèi)的組播組成員,定向發(fā)送由組播數(shù)據(jù)包轉(zhuǎn)換的單播數(shù)據(jù)包,而非是向連接與無線路由器的所有網(wǎng)絡(luò)設(shè)備發(fā)送組播數(shù)據(jù)包,能夠節(jié)省大量的網(wǎng)絡(luò)資源,從而提升了組播組內(nèi)組播組成員獲取數(shù)據(jù)包的速度及效率。
進(jìn)一步的,作為對上述實施例的細(xì)化和擴展,在步驟102根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址時,首先,確定所述組播組成員的數(shù)量,并根據(jù)所述組播組成員的數(shù)量復(fù)制相同個數(shù)的所述組播數(shù)據(jù)包;其次,對所述組播數(shù)據(jù)包進(jìn)行解析,并獲取組播數(shù)據(jù)包報頭中的目的MAC地址;最后,將所述組播數(shù)據(jù)包報頭中的目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址。
示例性的,若連接于同一無線路由器的終端設(shè)備(主機)共有50個,其中有10個終端設(shè)備(主機)屬于同一組播組,組播組的IP地址為XX.XX.XX.1,當(dāng)路由器向該組播組轉(zhuǎn)發(fā)組播數(shù)據(jù)包時,分別獲取組播組內(nèi)10個終端設(shè)備(主機)的MAC地址,將組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,復(fù)制、生成10個單播數(shù)據(jù)包,并分別發(fā)送給組播組內(nèi)的10個組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址;而不是向連接于同一無線路由器的50個終端設(shè)備(主機)均發(fā)送數(shù)據(jù)包。特別是,當(dāng)連接于同一路由器上,且屬于非組播組成員的終端設(shè)備(主機)較多時,通過本發(fā)明實施例所述的方式,能夠大量的減少無線路由器不必要的帶寬資源,又提高了組播組成員獲取組播數(shù)據(jù)包的獲取速度。
進(jìn)一步的,在實際應(yīng)用中,可能會存在如下情況:組播組內(nèi)的組播組成員雖然在該組播組內(nèi),但是,該組播組成員并不想繼續(xù)接收無線路由器發(fā)送的組播數(shù)據(jù)包;或者,在無線路由器向該組播組發(fā)送組播數(shù)據(jù)包前,該組播組成員未主動退出該組播組;該些情況下,依然會浪費無線路由器的不必要的網(wǎng)絡(luò)資源消耗。
為了解決上述問題,無線路由器在組播組目的IP地址向組播組發(fā)送組播數(shù)據(jù)之前,向所述組播組IP地址對應(yīng)的組播組發(fā)送詢問信息,所述詢問信息用于確定所述組播組內(nèi)的組播組成員是否接收組播數(shù)據(jù);根據(jù)所述組播組成員對所述詢問信息的響應(yīng)信息確定所述組播組內(nèi)待接收數(shù)據(jù)的組播組成員。在確定組播組內(nèi)待接收數(shù)據(jù)的組播組成員之后,僅獲取所述組播組內(nèi)待接收數(shù)據(jù)的組播組成員對應(yīng)的MAC地址,并向組播組內(nèi)待接收數(shù)據(jù)的組播組成員發(fā)送組播數(shù)據(jù)包轉(zhuǎn)換的單播數(shù)據(jù)包。因此,在無線路由器對組播數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)時,無需對未對詢問信息進(jìn)行響應(yīng)的組播組成員進(jìn)行發(fā)送,進(jìn)一步減少了無線路由器不必要的帶寬消耗,提高待接收數(shù)據(jù)的組播組成員獲取組播數(shù)據(jù)包的速度
可選的,在無線路由器獲取到組播數(shù)據(jù)包之后,無線路由器通過向組播組內(nèi)的組播組成員發(fā)送詢問信息的方式確定組播組內(nèi)的待接收數(shù)據(jù)的組播組成員,若組播組成員對無線路由器發(fā)送的詢問信息進(jìn)行響應(yīng),則確認(rèn)該組播組成員為待接收數(shù)據(jù)的組播組成員。在實際應(yīng)用中,為了讓組播組內(nèi)的組播組成員獲取到該組播數(shù)據(jù)包的內(nèi)容,在無線路由器向組播組內(nèi)的組播組成員發(fā)送詢問信息時,無線路由器對組播數(shù)據(jù)包進(jìn)行解析獲取該組播數(shù)據(jù)包的內(nèi)容簡要說明,并將該組播數(shù)據(jù)包的內(nèi)容簡要說明攜帶于詢問信息中,以便組播組成員確定是否接收組播數(shù)據(jù)包。
需要說明的是,單播數(shù)據(jù)包發(fā)送的數(shù)量與待接收數(shù)據(jù)的組播組成員的數(shù)量一一對應(yīng);若單播數(shù)據(jù)包發(fā)送的數(shù)量多余待接收數(shù)據(jù)的組播組成員的數(shù)量,則浪費了無線路由器不必要的帶寬消耗;若單播數(shù)據(jù)包發(fā)送的數(shù)量少于待接收數(shù)據(jù)的組播組成員的數(shù)量,則導(dǎo)致組播組內(nèi)的部分待接收數(shù)據(jù)的組播組成員接收不到單播數(shù)據(jù)包。
在無線路由器啟動組播轉(zhuǎn)單播功能,并將組播數(shù)據(jù)包轉(zhuǎn)換成單播數(shù)據(jù)包后,大大提高了數(shù)據(jù)的發(fā)送速度,即待接收數(shù)據(jù)的組播組成員接收數(shù)據(jù)的速度也明顯提高。示例性的,以用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)為例,假設(shè)組播組成員有三臺,將組播視頻數(shù)據(jù)包轉(zhuǎn)換為單播數(shù)據(jù)包后,視頻數(shù)據(jù)包的發(fā)送速率可由原來的平均每臺3-5Mbps提高到平均每臺20Mbps以上,也就是說,可以由原來的流暢播放480p視頻提高到流暢播放1080P視頻。無線路由器接收組播數(shù)據(jù)包,并將其進(jìn)行轉(zhuǎn)發(fā),發(fā)送組播數(shù)據(jù)包的速度理論上,在有干擾的環(huán)境下,無線路由器發(fā)送組播數(shù)據(jù)包的的速度可以達(dá)到130Mbps左右;在無干擾的環(huán)境下,無線路由器發(fā)送組播數(shù)據(jù)包的速度可以達(dá)到300Mbps左右。
進(jìn)一步的,在啟動無線路由器組播轉(zhuǎn)發(fā)功能之前,需檢測并確定無線路由器是否開啟組播轉(zhuǎn)單播功能,該組播轉(zhuǎn)單播功能由一個控制按鍵所控制,若控制按鍵為開啟狀態(tài),則說明無線路由器啟動組播功能;若控制按鍵為關(guān)閉狀態(tài),則說明無線路由器未啟動組播功能。在實際應(yīng)用中,無論無線路由器是否開始組播功能,該無線路由器的用戶都無從查覺,組播轉(zhuǎn)單播功能的開啟或者關(guān)閉是在無線路由器有組播需求時啟動的;但是為了確保組播數(shù)據(jù)轉(zhuǎn)發(fā)的及時性,無線路由器默認(rèn)為組播功能為常開狀態(tài)。
進(jìn)一步的,作為對上述圖1所示方法的實現(xiàn),本發(fā)明另一實施例還提供了一種數(shù)據(jù)發(fā)送裝置。該裝置實施例與前述方法實施例對應(yīng),為便于閱讀,本裝置實施例不再對前述方法實施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述,但應(yīng)當(dāng)明確,本實施例中的裝置能夠?qū)?yīng)實現(xiàn)前述方法實施例中的全部內(nèi)容。
本發(fā)明實施例還提供一種數(shù)據(jù)發(fā)送裝置,該裝置應(yīng)用于數(shù)據(jù)的發(fā)送裝置中,如圖3所示,所述裝置還包括:
第一獲取單元31,用于獲取組播數(shù)據(jù)包;其中,所述組播數(shù)據(jù)包中包含組播組目的IP地址及組播組目的MAC地址;本發(fā)明實施例所述的數(shù)據(jù)的發(fā)送裝置,具有組播轉(zhuǎn)發(fā)功能,用于接收組播源(即組播數(shù)據(jù)包發(fā)送者)發(fā)送的組播數(shù)據(jù)包,以及將接收到的組播數(shù)據(jù)包轉(zhuǎn)發(fā)至組播組。在數(shù)據(jù)的發(fā)送裝置執(zhí)行組播之前,接收并獲取組播源(即組播數(shù)據(jù)包發(fā)送者)發(fā)送的組播數(shù)據(jù)包,其中,所述組播數(shù)據(jù)包的報頭中至少包含組播組目的IP地址及組播組目的MAC地址;還可以包括組播數(shù)據(jù)包的版本、類型、端口、存活時間等內(nèi)容;
第二獲取單元32,用于根據(jù)所述從第一獲取單元31獲取的組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址;當(dāng)終端設(shè)備(主機)請求加入組播組后,向數(shù)據(jù)的發(fā)送裝置發(fā)送報告報文(report報文),已告知數(shù)據(jù)的發(fā)送裝置該終端設(shè)備(主機)已加入組播組。在終端設(shè)備(主機)向就是數(shù)據(jù)的發(fā)送裝置發(fā)送report報文時,攜帶有其自身的唯一標(biāo)識終端設(shè)備(主機)的信息,例如MAC地址等等。數(shù)據(jù)的發(fā)送裝置將終端設(shè)備(主機)的MAC地址進(jìn)行存儲,當(dāng)數(shù)據(jù)的發(fā)送裝置需向組播組內(nèi)的組播組成員發(fā)送組播數(shù)據(jù)包時,直接從數(shù)據(jù)的發(fā)送裝置的預(yù)置存儲路徑下獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址的即可;
需要說明的是,在數(shù)據(jù)的發(fā)送裝置進(jìn)行組播數(shù)據(jù)包的轉(zhuǎn)發(fā)時,依賴于MAC地址,而非是組播組成員的IP地址。IP地址是數(shù)據(jù)的發(fā)送裝置提供的,不同的終端設(shè)備(主機)所分配的IP地址不同;而MAC地址是網(wǎng)卡的物理地址,其與網(wǎng)絡(luò)無關(guān),即無論將帶有MAC地址的硬件(如網(wǎng)卡、集線器、數(shù)據(jù)的發(fā)送裝置等)接入到網(wǎng)絡(luò)的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶設(shè)定。
替換單元33,用于將所述第一獲取單元31獲取的所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述第二獲取單元32獲取的所述組播組成員對應(yīng)的MAC地址;其目的在于,僅向組播組內(nèi)的組播組成員定向發(fā)送數(shù)據(jù)包,而非是向連接于數(shù)據(jù)的發(fā)送裝置上的所有終端設(shè)備(主機)均發(fā)送組播數(shù)據(jù)包,能夠節(jié)省數(shù)據(jù)的發(fā)送裝置不必要帶寬資源的消耗,同時還能夠提高需要獲取組播數(shù)據(jù)包的速度;
生成單元34,用于根據(jù)所述替換單元33將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述第二獲取單元獲取的所述組播組成員對應(yīng)的MAC地址后,生成單播數(shù)據(jù)包;需要說明的是,所述組播數(shù)據(jù)包與單播數(shù)據(jù)包中所包含的數(shù)據(jù)是相同的,不同點在于,數(shù)據(jù)的發(fā)送裝置在對其轉(zhuǎn)發(fā)時的轉(zhuǎn)發(fā)次數(shù)存在差異。對于單播數(shù)據(jù)包的轉(zhuǎn)發(fā)而言,數(shù)據(jù)的發(fā)送裝置同時給多個的接收者(組播組成員)傳輸相同的單播數(shù)據(jù)包,也必須相應(yīng)的復(fù)制多份的相同單播數(shù)據(jù)包;對于組播數(shù)據(jù)的轉(zhuǎn)發(fā)而言,數(shù)據(jù)的發(fā)送裝置同時給多個的接收者(組播組成員)傳輸相同的組播數(shù)據(jù)包,轉(zhuǎn)發(fā)一份的相同數(shù)據(jù)包即可;
發(fā)送單元35,用于將所述生成單元34生成的所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員。
進(jìn)一步的,如圖4所示,所述替換單元33包括:
確定模塊331,用于確定所述組播組成員的數(shù)量;
復(fù)制模塊332,用于根據(jù)所述確定模塊331確定的所述組播組成員的數(shù)量復(fù)制所述組播數(shù)據(jù)包;
解析模塊333,用于對所述組播數(shù)據(jù)包進(jìn)行解析;
獲取模塊334,用于在所述解析模塊333對所述組播數(shù)據(jù)包進(jìn)行解析過程中,獲取組播數(shù)據(jù)包報頭中的組播組目的MAC地址;
替換模塊335,用于將所述獲取模塊334獲取的所述組播數(shù)據(jù)包報頭中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址。
進(jìn)一步的,如圖4所示,第二獲取單元32包括:
確定模塊321,用于根據(jù)所述組播組目的IP地址確定組播組內(nèi)待接收數(shù)據(jù)的組播組成員;
獲取模塊322,用于獲取所述確定模塊321確定的所述組播組內(nèi)待接收數(shù)據(jù)的組播組成員對應(yīng)的MAC地址。
進(jìn)一步的,如圖4所示,所述確定模塊321包括:
發(fā)送子模塊3211,用于向所述組播組IP地址對應(yīng)的組播組發(fā)送詢問信息,所述詢問信息用于確定所述組播組內(nèi)的組播組成員是否接收組播數(shù)據(jù);
確定子模塊3212,用于根據(jù)所述組播組成員對是發(fā)送子模塊3211發(fā)送的所述詢問信息的響應(yīng)信息確定所述組播組內(nèi)待接收數(shù)據(jù)的組播組成員。
進(jìn)一步的,如圖4所示,所述裝置還包括:
確定單元36,用于在所述生成單元生成單播數(shù)據(jù)包之前,確定是否啟動組播轉(zhuǎn)單播功能;
啟動單元37,用于當(dāng)所述確定單元36確定未啟動組播轉(zhuǎn)單播功能時,啟動所述組播轉(zhuǎn)單播功能;
所述生成單元34,還用于當(dāng)所述確定單元36確定已啟動組播轉(zhuǎn)單播功能時,生成所述單播數(shù)據(jù)包。
進(jìn)一步的,所述組播數(shù)據(jù)包為組播視頻數(shù)據(jù)包。
本發(fā)明實施例提供的數(shù)據(jù)的發(fā)送裝置,首先,無線路由器獲取組播數(shù)據(jù)包,根據(jù)該組播數(shù)據(jù)包中包含組播組IP地址確定組播組內(nèi)待接收數(shù)據(jù)的組播組成員,獲取該待接收數(shù)據(jù)的組播組成員對應(yīng)的MAC地址;其次,無線路由器根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址,將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,生成單播數(shù)據(jù)包;最后,將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員;與現(xiàn)有技術(shù)相比,本發(fā)明實施例中無線路由器只向組播組內(nèi)的組播組成員,定向發(fā)送由組播數(shù)據(jù)包轉(zhuǎn)換的單播數(shù)據(jù)包,而非是向連接與無線路由器的所有網(wǎng)絡(luò)設(shè)備發(fā)送組播數(shù)據(jù)包,能夠節(jié)省大量的網(wǎng)絡(luò)資源,從而提升了組播組內(nèi)組播組成員獲取數(shù)據(jù)包的速度及效率。
需要說明的是,針對上述數(shù)據(jù)的發(fā)送裝置,凡是本發(fā)明實施例中使用到的各個單元模塊的功能都可以通過硬件處理器(hardware processor)來實現(xiàn)。
示例性的,如圖5所示,圖5示出了本發(fā)明實施例提供的一種無線路由器的結(jié)構(gòu)示意圖,該服務(wù)器可以包括:處理器(processor)51、通信接口(Communications Interface)52、存儲器(memory)53和總線54,其中,處理器51、通信接口52、存儲器53通過總線54完成相互間的通信。通信接口52可以用于服務(wù)器與客戶端之間的信息傳輸。處理器51可以調(diào)用存儲器53中的邏輯指令,以執(zhí)行如下方法:獲取組播數(shù)據(jù)包;其中,所述組播數(shù)據(jù)包中包含組播組目的IP地址及組播組目的MAC地址;獲取組播數(shù)據(jù)包;其中,所述組播數(shù)據(jù)包中包含組播組目的IP地址及組播組目的MAC地址;根據(jù)組播組目的IP地址獲取組播組內(nèi)組播組成員對應(yīng)的MAC地址;將所述組播數(shù)據(jù)包中的組播組目的MAC地址替換為所述組播組成員對應(yīng)的MAC地址,生成單播數(shù)據(jù)包;將所述單播數(shù)據(jù)包分別發(fā)送至所述組播組內(nèi)的組播組成員。
此外,上述的存儲器53中的邏輯指令可以通過軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。