專利名稱:隧道組播方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種網(wǎng)絡(luò)數(shù)據(jù)廣播方法,尤其涉及的是一種隧道組播方法,屬于計(jì)算機(jī)通信領(lǐng)域。
背景技術(shù):
基于因特網(wǎng)(INTERNET)的多媒體數(shù)據(jù)廣播應(yīng)用被認(rèn)為大有發(fā)展前景,經(jīng)文獻(xiàn)檢索,作者為L(zhǎng)ars Tvede et.Al,機(jī)械工業(yè)出版社2002年出版的《數(shù)據(jù)廣播》P36-37,提出實(shí)現(xiàn)有選擇的網(wǎng)絡(luò)數(shù)據(jù)廣播,需要建立多條點(diǎn)對(duì)點(diǎn)連接,每條連接針對(duì)一個(gè)用戶,發(fā)送相同的數(shù)據(jù)報(bào),這帶來了服務(wù)器資源的極大浪費(fèi),其結(jié)果是對(duì)可支持的并發(fā)用戶數(shù)量的減少,同時(shí)應(yīng)用程序開發(fā)極其復(fù)雜。網(wǎng)際協(xié)議(IP)組播技術(shù)的出現(xiàn)為網(wǎng)絡(luò)數(shù)據(jù)廣播帶來了新的解決方案,但目前因特網(wǎng)無法支持全網(wǎng)范圍的網(wǎng)際協(xié)議組播,盡管部分路由器具備支持網(wǎng)際協(xié)議組播的能力,但在全網(wǎng)范圍內(nèi)實(shí)現(xiàn)組播涉及到非常多的問題,不但有技術(shù)方面,也涉及到對(duì)組播地址有效分配這樣的管理問題等等。目前看來,很難在中短期內(nèi)使因特網(wǎng)提供全網(wǎng)范圍內(nèi)的組播支持,而目前已出現(xiàn)許多基于網(wǎng)際協(xié)議組播技術(shù)的應(yīng)用產(chǎn)品,其結(jié)果是這些產(chǎn)品只能應(yīng)用于局域環(huán)境,無法擴(kuò)展到廣域網(wǎng)上。
發(fā)明內(nèi)容
和
具體實(shí)施例方式
本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足和缺陷,提供一種隧道組播方法,使其在現(xiàn)有因特網(wǎng)上實(shí)現(xiàn)大容量數(shù)據(jù)組播應(yīng)用,可以在不支持網(wǎng)際協(xié)議組播的網(wǎng)絡(luò)環(huán)境中模擬實(shí)現(xiàn)網(wǎng)際協(xié)議組播功能,并且有效回避了操作系統(tǒng)對(duì)于大量并發(fā)用戶數(shù)據(jù)報(bào)協(xié)議(UDP)連接支持的瓶頸,使用這種方法可以最大限度發(fā)揮網(wǎng)絡(luò)的帶寬資源,使得開發(fā)因特網(wǎng)數(shù)據(jù)廣播業(yè)務(wù)變得十分容易,并且可以實(shí)現(xiàn)基于網(wǎng)際協(xié)議組播的應(yīng)用從局域環(huán)境到廣域環(huán)境的平穩(wěn)擴(kuò)展。本發(fā)明的技術(shù)方案是通過以下途徑實(shí)現(xiàn)的,本發(fā)明方法分為兩個(gè)部分應(yīng)用數(shù)據(jù)流程和用戶信息流程,這兩個(gè)流程異步執(zhí)行,用戶信息流程為應(yīng)用數(shù)據(jù)流程服務(wù),具體如下(1)用戶信息流程●用戶信息接收模塊通過傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)接收用戶加入或退出某個(gè)組播組的請(qǐng)求,并交給用戶信息管理模塊處理;●用戶信息管理模塊根據(jù)用戶的網(wǎng)際協(xié)議地址利用地址解析協(xié)議(ARP),利用套接口輸入輸出(IO)操作等方式獲得該用戶對(duì)應(yīng)的以太網(wǎng)地址(MAC)地址,并將這些信息組成用戶信息數(shù)據(jù)報(bào),其中包括用戶網(wǎng)際協(xié)議地址、UDP接收端口號(hào)、MAC地址以及相應(yīng)的組播地址;●用戶信息管理模塊通過綁定到特定端口A的UDP套接字向下發(fā)送用戶信息數(shù)據(jù)報(bào),該數(shù)據(jù)報(bào)最終以以太幀的形式到達(dá)網(wǎng)卡驅(qū)動(dòng)模塊;● 網(wǎng)卡驅(qū)動(dòng)模塊根據(jù)端口A(對(duì)應(yīng)以太幀中網(wǎng)際協(xié)議分組中的UDP頭的源端口)判別該數(shù)據(jù)幀為用戶信息數(shù)據(jù)幀,將其中信息更新用戶信息表。
網(wǎng)卡驅(qū)動(dòng)模塊中用戶信息表結(jié)構(gòu)如下<用戶網(wǎng)際協(xié)議地址、用戶UDP接收端口號(hào)、用戶MAC地址、組播地址>。
(2)應(yīng)用數(shù)據(jù)流程●業(yè)務(wù)數(shù)據(jù)接收模塊通過TCP連接接收屬于某個(gè)組播組的業(yè)務(wù)數(shù)據(jù)報(bào)即組播數(shù)據(jù)報(bào),并交給業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)模塊;●業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)模塊將接收到的組播數(shù)據(jù)報(bào)通過綁定到特定端口B的UDP套接字向下傳送,該數(shù)據(jù)報(bào)最終以以太幀的形式到達(dá)網(wǎng)卡驅(qū)動(dòng)模塊;●網(wǎng)卡驅(qū)動(dòng)模塊根據(jù)端口B判別該數(shù)據(jù)幀屬于某個(gè)組播組即組播數(shù)據(jù)幀,通過該方法可以將組播數(shù)據(jù)幀和常規(guī)數(shù)據(jù)幀(不需要被發(fā)送到多個(gè)用戶的以太幀)區(qū)分開來,使得網(wǎng)卡驅(qū)動(dòng)模塊可以支持常規(guī)的網(wǎng)絡(luò)功能;●網(wǎng)卡驅(qū)動(dòng)模塊依照用戶信息表并通過中斷調(diào)用向?qū)儆谠摻M播組的各個(gè)用戶重復(fù)發(fā)送該組播數(shù)據(jù)幀,具體方法是,當(dāng)一個(gè)組播數(shù)據(jù)幀到達(dá)驅(qū)動(dòng)時(shí),先發(fā)送它,然后在網(wǎng)卡發(fā)送操作完畢產(chǎn)生的中斷中,根據(jù)用戶信息表中的信息,重置該數(shù)據(jù)幀,再通過網(wǎng)卡向下一個(gè)用戶發(fā)送出去。
由于以太幀允許的最大長(zhǎng)度遠(yuǎn)遠(yuǎn)小于網(wǎng)際協(xié)議分組的最大長(zhǎng)度,為了提高網(wǎng)卡驅(qū)動(dòng)中以太幀數(shù)據(jù)重置的效率,要求發(fā)送過來的業(yè)務(wù)數(shù)據(jù)報(bào)最大長(zhǎng)度必須小于以太幀最大長(zhǎng)度減去以太幀頭長(zhǎng)度、網(wǎng)際協(xié)議分組頭長(zhǎng)度以及UDP數(shù)據(jù)報(bào)頭長(zhǎng)度,如果業(yè)務(wù)數(shù)據(jù)報(bào)的長(zhǎng)度超過該限制,則可以通過應(yīng)用層的分拆和重組來實(shí)現(xiàn)。
以下對(duì)本發(fā)明方法作進(jìn)一步的描述
●物理層數(shù)據(jù)重發(fā)傳統(tǒng)的數(shù)據(jù)廣播方式是由應(yīng)用層負(fù)責(zé)將同樣內(nèi)容的應(yīng)用數(shù)據(jù)報(bào)重發(fā)給各個(gè)客戶,而本發(fā)明將數(shù)據(jù)重發(fā)任務(wù)從應(yīng)用層移到了物理層,重發(fā)對(duì)象由應(yīng)用數(shù)據(jù)報(bào)變成了以太幀,通過修改操作系統(tǒng)內(nèi)核級(jí)的網(wǎng)卡驅(qū)動(dòng)程序來實(shí)現(xiàn)這一目的,需要重發(fā)的單份數(shù)據(jù)從應(yīng)用層到達(dá)網(wǎng)卡驅(qū)動(dòng)層后,由網(wǎng)卡負(fù)責(zé)向各個(gè)目的地址的用戶重發(fā)數(shù)據(jù),就好象從應(yīng)用層到物理層建立了一條高速通道一樣(隧道),這樣可以充分利用網(wǎng)絡(luò)帶寬,減少大量數(shù)據(jù)復(fù)制帶來的操作系統(tǒng)處理開銷,以及減少數(shù)據(jù)經(jīng)過協(xié)議棧的開銷,顯著地提高數(shù)據(jù)重復(fù)發(fā)送的效能。
●中斷調(diào)用數(shù)據(jù)重發(fā)為了實(shí)現(xiàn)高效的網(wǎng)卡數(shù)據(jù)重發(fā)功能,采用在中斷中重發(fā)數(shù)據(jù)的方法,網(wǎng)卡每發(fā)送完一個(gè)以太幀時(shí),會(huì)產(chǎn)生網(wǎng)卡中斷并且調(diào)用中斷處理程序,此時(shí)可以在該中斷處理程序中完成重發(fā)任務(wù)。
●無縫數(shù)據(jù)修改為了實(shí)現(xiàn)無縫的UDP數(shù)據(jù)報(bào)重發(fā)目的還需要根據(jù)用戶信息來更改重發(fā)的以太幀中的部分字段,包括以太幀頭的目標(biāo)地址字段、以太幀中封裝的網(wǎng)際協(xié)議分組頭的目標(biāo)地址字段和校驗(yàn)和字段、以太幀中封裝的網(wǎng)際協(xié)議分組中的UDP頭的目標(biāo)端口字段和校驗(yàn)和字段,設(shè)置方法如下■以太幀頭目標(biāo)地址字段對(duì)應(yīng)用戶信息表中的MAC地址;■網(wǎng)際協(xié)議數(shù)據(jù)報(bào)報(bào)頭目標(biāo)地址字段對(duì)應(yīng)用戶信息表中的網(wǎng)際協(xié)議地址;■UDP頭目標(biāo)端口字段對(duì)應(yīng)用戶信息表中的UDP接收端口。
●網(wǎng)際協(xié)議、UDP校驗(yàn)和快速重算法由于被重發(fā)的以太幀中的內(nèi)容數(shù)據(jù)是一樣的,根據(jù)標(biāo)準(zhǔn)的校驗(yàn)和算法,可以快速地計(jì)算需要重新設(shè)置的二個(gè)校驗(yàn)和,實(shí)現(xiàn)方法如下原有校驗(yàn)和反碼,加上需要修改的新數(shù)據(jù)的反碼,需要修改的新數(shù)據(jù)包括網(wǎng)際協(xié)議數(shù)據(jù)報(bào)報(bào)頭目標(biāo)地址字段、UDP頭目標(biāo)端口字段,減去該新數(shù)據(jù)對(duì)應(yīng)的原數(shù)據(jù)的反碼,再將所得值求反碼,表示式如下C1=~(~C+~D1-~D)C1為新校驗(yàn)和,C為原校驗(yàn)和,D1為修改的新數(shù)據(jù),D為對(duì)應(yīng)的原數(shù)據(jù),~代表反碼操作,根據(jù)UDP標(biāo)準(zhǔn)協(xié)議,若計(jì)算得到的UDP校驗(yàn)和為0則實(shí)際取0xFFFF。
●網(wǎng)際協(xié)議組播數(shù)據(jù)報(bào)隧道發(fā)送技術(shù)該技術(shù)的設(shè)計(jì)目的是將基于網(wǎng)際協(xié)議組播的應(yīng)用從局域網(wǎng)環(huán)境擴(kuò)展到廣域網(wǎng)上。應(yīng)用服務(wù)程序采用網(wǎng)際協(xié)議組播技術(shù)發(fā)送應(yīng)用數(shù)據(jù),客戶端同樣采用網(wǎng)際協(xié)議組播技術(shù)接收來自服務(wù)器的數(shù)據(jù),在局域網(wǎng)環(huán)境中這樣的應(yīng)用模式?jīng)]有問題,但到了廣域網(wǎng)上,由于目前INTERNET不支持網(wǎng)際協(xié)議組播,這樣的通信模式便無法正常工作了。
網(wǎng)際協(xié)議組播數(shù)據(jù)報(bào)隧道發(fā)送技術(shù)專門用于解決這樣的問題,包括服務(wù)器端組播數(shù)據(jù)截獲模塊和客戶端驅(qū)動(dòng)模塊,服務(wù)端程序和應(yīng)用服務(wù)程序位于同一臺(tái)計(jì)算機(jī)或局域網(wǎng)內(nèi)的各個(gè)計(jì)算機(jī)上,服務(wù)端程序捕獲應(yīng)用服務(wù)程序發(fā)送的組播數(shù)據(jù)報(bào),經(jīng)過封裝通過TCP連接送到采用隧道組播技術(shù)構(gòu)建的專用數(shù)據(jù)發(fā)送服務(wù)器即隧道組播服務(wù)器;客戶端驅(qū)動(dòng)程序接收該服務(wù)器發(fā)來的單播UDP數(shù)據(jù)報(bào),經(jīng)過處理后恢復(fù)成原始形式的組播數(shù)據(jù)報(bào),并以相應(yīng)的組播地址和端口通過本地回路127.0.0.1發(fā)送該數(shù)據(jù),這樣原有應(yīng)用客戶端程序就可以接收到數(shù)據(jù)了。該方法就好象在廣域網(wǎng)上通過專門的隧道來傳送組播數(shù)據(jù)報(bào)。
本發(fā)明具有實(shí)質(zhì)性特點(diǎn)和顯著進(jìn)步,本發(fā)明將基于網(wǎng)際協(xié)議組播的應(yīng)用擴(kuò)展到廣域網(wǎng)上,并實(shí)現(xiàn)高效的UDP數(shù)據(jù)報(bào)廣播,以支持超大容量的并發(fā)用戶,采用本發(fā)明后可以實(shí)現(xiàn)以下二個(gè)主要優(yōu)勢(shì)功能網(wǎng)絡(luò)帶寬利用率接近100%,支持超大容量的并發(fā)用戶,其數(shù)目完全由可用網(wǎng)絡(luò)帶寬資源決定,可以用以下公式近似計(jì)算最大并發(fā)用戶數(shù)=服務(wù)器全部可用網(wǎng)絡(luò)帶寬/單用戶數(shù)據(jù)發(fā)送量;可以將網(wǎng)際協(xié)議組播數(shù)據(jù)報(bào)通過INTERNET透明地傳送到終端用戶,并被客戶應(yīng)用程序無縫地接收,通過和微軟的流媒體服務(wù)器配合使用,實(shí)現(xiàn)了廣域范圍內(nèi)的流媒體廣播。
結(jié)合本發(fā)明的內(nèi)容提供以下實(shí)施例隧道組播技術(shù)和現(xiàn)有的流媒體系統(tǒng)配合使用,可以實(shí)現(xiàn)廣域范圍的流媒體廣播,并且可以支持大容量的并發(fā)用戶。隧道組播服務(wù)器是采用隧道組播技術(shù)實(shí)現(xiàn)的專用數(shù)據(jù)組播設(shè)備,視頻服務(wù)器采用微軟的流媒體服務(wù)器,節(jié)目?jī)?nèi)容可以為視頻文件、直播節(jié)目等多種形式。
組播數(shù)據(jù)報(bào)截獲程序(可以運(yùn)行于隧道組播服務(wù)器上也可以運(yùn)行于視頻服務(wù)器上)截獲發(fā)自流媒體服務(wù)器的媒體業(yè)務(wù)數(shù)據(jù)報(bào),經(jīng)過分片處理后發(fā)送到隧道組播服務(wù)器,隧道組播服務(wù)器通過隧道組播技術(shù)以UDP單播數(shù)據(jù)報(bào)的形式將媒體數(shù)據(jù)發(fā)送到屬于該組播組的全部用戶。用戶端的接收驅(qū)動(dòng)程序?qū)⒔邮盏経DP數(shù)據(jù)報(bào)恢復(fù)成標(biāo)準(zhǔn)的原始業(yè)務(wù)數(shù)據(jù)包并以組播的方式通過本地回路127.0.0.1向上發(fā)送,該過程實(shí)現(xiàn)了網(wǎng)際協(xié)議組播數(shù)據(jù)報(bào)的透明傳送。
多臺(tái)隧道組播服務(wù)器完成大并發(fā)量的數(shù)據(jù)分發(fā),按照500Kbps的視頻節(jié)目帶寬速率計(jì)算,通過隧道組播技術(shù),單臺(tái)4端口100M網(wǎng)卡的隧道組播服務(wù)器可支持約800個(gè)并發(fā)用戶,而傳統(tǒng)的服務(wù)器工作方式單臺(tái)(PIII-1G處理器)可以支持的這樣帶寬的視頻業(yè)務(wù)并發(fā)容量小于70個(gè)。
權(quán)利要求
1.一種隧道組播方法,其特征在于分為兩個(gè)部分應(yīng)用數(shù)據(jù)流程和用戶信息流程,這兩個(gè)流程異步執(zhí)行,用戶信息流程為應(yīng)用數(shù)據(jù)流程服務(wù),具體如下(1)用戶信息流程●用戶信息接收模塊通過傳輸控制協(xié)議或用戶數(shù)據(jù)報(bào)協(xié)議接收用戶加入或退出某個(gè)組播組的請(qǐng)求,并交給用戶信息管理模塊處理;●用戶信息管理模塊根據(jù)用戶的網(wǎng)際協(xié)議地址利用地址解析協(xié)議獲得該用戶對(duì)應(yīng)的以太網(wǎng)地址,并將這些信息組成用戶信息數(shù)據(jù)報(bào),其中包括用戶網(wǎng)際協(xié)議地址、接收端口號(hào)、以太網(wǎng)地址以及相應(yīng)的組播地址;●用戶信息管理模塊通過綁定到特定端口A的用戶數(shù)據(jù)報(bào)套接字向下發(fā)送用戶信息數(shù)據(jù)報(bào),該數(shù)據(jù)報(bào)最終以以太幀的形式到達(dá)網(wǎng)卡驅(qū)動(dòng)模塊;●網(wǎng)卡驅(qū)動(dòng)模塊根據(jù)端口A,對(duì)應(yīng)以太幀中網(wǎng)際協(xié)議分組中的用戶數(shù)據(jù)報(bào)報(bào)頭的源端口,判別該數(shù)據(jù)幀為用戶信息數(shù)據(jù)幀,將其中信息更新用戶信息表;(2)應(yīng)用數(shù)據(jù)流程●業(yè)務(wù)數(shù)據(jù)接收模塊通過連接控制協(xié)議接收屬于某個(gè)組播組的業(yè)務(wù)數(shù)據(jù)報(bào)即組播數(shù)據(jù)報(bào),并交給業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)模塊;●業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)模塊將接收到的組播數(shù)據(jù)報(bào)通過綁定到特定端口B的用戶數(shù)據(jù)報(bào)套接字向下傳送,該數(shù)據(jù)報(bào)最終以以太幀的形式到達(dá)網(wǎng)卡驅(qū)動(dòng)模塊;●網(wǎng)卡驅(qū)動(dòng)模塊根據(jù)端口B判別該數(shù)據(jù)幀屬于某個(gè)組播組即組播數(shù)據(jù)幀,通過該方法將組播數(shù)據(jù)幀和常規(guī)數(shù)據(jù)幀區(qū)分開來;●網(wǎng)卡驅(qū)動(dòng)模塊依照用戶信息表并通過中斷調(diào)用向?qū)儆谠摻M播組的各個(gè)用戶重復(fù)發(fā)送該組播數(shù)據(jù)幀,具體方法是,當(dāng)一個(gè)組播數(shù)據(jù)幀到達(dá)驅(qū)動(dòng)時(shí),先發(fā)送它,然后在網(wǎng)卡發(fā)送操作完畢產(chǎn)生的中斷中,根據(jù)用戶信息表中的信息,重置該數(shù)據(jù)幀,再通過網(wǎng)卡向下一個(gè)用戶發(fā)送出去。
2.根據(jù)權(quán)利要求1所述的這種隧道組播方法,其特征是以下對(duì)本發(fā)明方法作進(jìn)一步的描述●物理層數(shù)據(jù)重發(fā)將數(shù)據(jù)重發(fā)任務(wù)從應(yīng)用層移到了物理層,重發(fā)對(duì)象由應(yīng)用數(shù)據(jù)報(bào)變成了以太幀,通過修改操作系統(tǒng)內(nèi)核級(jí)的網(wǎng)卡驅(qū)動(dòng)程序來實(shí)現(xiàn),需要重發(fā)的單份數(shù)據(jù)從應(yīng)用層到達(dá)網(wǎng)卡驅(qū)動(dòng)層后,由網(wǎng)卡負(fù)責(zé)向各個(gè)目的地址的用戶重發(fā)數(shù)據(jù);●中斷調(diào)用數(shù)據(jù)重發(fā)實(shí)現(xiàn)高效的網(wǎng)卡數(shù)據(jù)重發(fā)功能通過采用在中斷中重發(fā)數(shù)據(jù)的方法,網(wǎng)卡每發(fā)送完一個(gè)以太幀時(shí),產(chǎn)生網(wǎng)卡中斷并且調(diào)用中斷處理程序,此時(shí)在該中斷處理程序中完成重發(fā)任務(wù);●無縫數(shù)據(jù)修改實(shí)現(xiàn)無縫的用戶數(shù)據(jù)報(bào)重發(fā)根據(jù)用戶信息來更改重發(fā)的以太幀中的部分字段,包括以太幀頭的目標(biāo)地址字段、以太幀中封裝的網(wǎng)際協(xié)議分組頭的目標(biāo)地址字段和校驗(yàn)和字段、以太幀中封裝的網(wǎng)際協(xié)議分組中的用戶數(shù)據(jù)報(bào)報(bào)頭的目標(biāo)端口字段和校驗(yàn)和字段,設(shè)置方法如下■以太幀頭目標(biāo)地址字段對(duì)應(yīng)用戶信息表中的以太網(wǎng)地址;■網(wǎng)際協(xié)議數(shù)據(jù)報(bào)報(bào)頭目標(biāo)地址字段對(duì)應(yīng)用戶信息表中的網(wǎng)際協(xié)議地址;■用戶數(shù)據(jù)報(bào)報(bào)頭目標(biāo)端口字段對(duì)應(yīng)用戶信息表中的用戶數(shù)據(jù)報(bào)接收端口;●網(wǎng)際協(xié)議、用戶數(shù)據(jù)報(bào)校驗(yàn)和快速重算法被重發(fā)的以太幀中的內(nèi)容數(shù)據(jù)是一樣的,根據(jù)標(biāo)準(zhǔn)的校驗(yàn)和算法,快速地計(jì)算需要重新設(shè)置的二個(gè)校驗(yàn)和,實(shí)現(xiàn)方法如下原有校驗(yàn)和反碼,加上需要修改的新數(shù)據(jù)的反碼,需要修改的新數(shù)據(jù)包括網(wǎng)際協(xié)議數(shù)據(jù)報(bào)報(bào)頭目標(biāo)地址字段、用戶數(shù)據(jù)報(bào)報(bào)頭目標(biāo)端口字段,減去該新數(shù)據(jù)對(duì)應(yīng)的原數(shù)據(jù)的反碼,再將所得值求反碼,表示式如下C1=~(~C+~D1-~D)C1為新校驗(yàn)和,C為原校驗(yàn)和,D1為修改的新數(shù)據(jù),D為對(duì)應(yīng)的原數(shù)據(jù),代表反碼操作,根據(jù)用戶數(shù)據(jù)報(bào)標(biāo)準(zhǔn)協(xié)議,若計(jì)算得到的用戶數(shù)據(jù)報(bào)校驗(yàn)和為0則實(shí)際取0xFFFF;●網(wǎng)際協(xié)議組播數(shù)據(jù)報(bào)隧道發(fā)送技術(shù)網(wǎng)際協(xié)議組播數(shù)據(jù)報(bào)隧道發(fā)送技術(shù)包括服務(wù)器端組播數(shù)據(jù)截獲模塊和客戶端驅(qū)動(dòng)模塊,服務(wù)端程序和應(yīng)用服務(wù)程序位于同一臺(tái)計(jì)算機(jī)或局域網(wǎng)內(nèi)的各個(gè)計(jì)算機(jī)上,服務(wù)端程序捕獲應(yīng)用服務(wù)程序發(fā)送的組播數(shù)據(jù)報(bào),經(jīng)過封裝通過傳輸控制協(xié)議連接送到采用隧道組播技術(shù)構(gòu)建的專用數(shù)據(jù)發(fā)送服務(wù)器即隧道組播服務(wù)器;客戶端驅(qū)動(dòng)程序接收該服務(wù)器發(fā)來的單播用戶數(shù)據(jù)報(bào),經(jīng)過處理后恢復(fù)成原始形式的組播數(shù)據(jù)報(bào),并以相應(yīng)的組播地址和端口通過本地回路127.0.0.1發(fā)送該數(shù)據(jù),原有應(yīng)用客戶端程序就可以接收到數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的這種隧道組播方法,其特征是網(wǎng)卡驅(qū)動(dòng)模塊中用戶信息表結(jié)構(gòu)如下<用戶網(wǎng)際協(xié)議地址、用戶數(shù)據(jù)報(bào)接收端口號(hào)、用戶以太網(wǎng)地址、組播地址>。
4.根據(jù)權(quán)利要求1所述的這種隧道組播方法,其特征是應(yīng)用數(shù)據(jù)流程中發(fā)送過來的業(yè)務(wù)數(shù)據(jù)報(bào)最大長(zhǎng)度必須小于以太幀最大長(zhǎng)度減去以太幀頭長(zhǎng)度、網(wǎng)際協(xié)議分組頭長(zhǎng)度以及用戶數(shù)據(jù)報(bào)報(bào)頭長(zhǎng)度,業(yè)務(wù)數(shù)據(jù)報(bào)的長(zhǎng)度超過該限制,則通過應(yīng)用層的分拆和重組來實(shí)現(xiàn)。
全文摘要
隧道組播方法屬于計(jì)算機(jī)通信領(lǐng)域,分為兩個(gè)部分應(yīng)用數(shù)據(jù)流程和用戶信息流程,兩個(gè)流程異步執(zhí)行,用戶信息流程為應(yīng)用數(shù)據(jù)流程服務(wù),用戶信息流程用戶信息接收模塊接收用戶請(qǐng)求,交用戶信息管理模塊處理;用戶信息管理模塊組成用戶信息數(shù)據(jù)報(bào);并向下發(fā)送用戶信息數(shù)據(jù)報(bào)到達(dá)網(wǎng)卡驅(qū)動(dòng)模塊;網(wǎng)卡驅(qū)動(dòng)模塊將其中信息更新用戶信息表;應(yīng)用數(shù)據(jù)流程業(yè)務(wù)數(shù)據(jù)接收模塊接收業(yè)務(wù)數(shù)據(jù)報(bào),交業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)模塊;業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)模塊將接收到的組播數(shù)據(jù)報(bào)向下傳送到網(wǎng)卡驅(qū)動(dòng)模塊;網(wǎng)卡驅(qū)動(dòng)模塊將組播數(shù)據(jù)幀和常規(guī)數(shù)據(jù)幀區(qū)分開;并向該組播組用戶重復(fù)發(fā)送該組播數(shù)據(jù)幀。本發(fā)明實(shí)現(xiàn)了高效用戶數(shù)據(jù)報(bào)廣播,網(wǎng)絡(luò)帶寬利用率接近100%,并支持超大容量的并發(fā)用戶。
文檔編號(hào)H04L12/18GK1402470SQ0213695
公開日2003年3月12日 申請(qǐng)日期2002年9月12日 優(yōu)先權(quán)日2002年9月12日
發(fā)明者程楊, 黃海欣 申請(qǐng)人:上海華廣科技有限公司