專(zhuān)利名稱(chēng):以太網(wǎng)組播可靠傳輸?shù)姆椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及以太網(wǎng)組播報(bào)文可靠傳輸?shù)姆椒ā?br>
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)的日益發(fā)展,組播技術(shù)在網(wǎng)絡(luò)通信中得到了廣泛的應(yīng)用,它具備組播報(bào)文一次發(fā)送、利用網(wǎng)絡(luò)接口硬件檢查幀的優(yōu)點(diǎn),組播技術(shù)的實(shí)現(xiàn)大大提高了網(wǎng)絡(luò)中報(bào)文的轉(zhuǎn)發(fā)效率。但是傳統(tǒng)的以太網(wǎng)組播是不可靠的,它不保證每一個(gè)組播成員都能收到每一個(gè)報(bào)文。目前還未發(fā)現(xiàn)一種比較成熟的可靠以太組播協(xié)議。
與此同時(shí),目前存在一些可靠的單播傳輸協(xié)議,例如HDLC(高級(jí)數(shù)據(jù)鏈路控制)、SDLC(同步數(shù)據(jù)鏈路控制)、LAP(鏈路訪問(wèn)協(xié)議)、LLC2(IEEE802.2中邏輯鏈路控制2類(lèi)協(xié)議)等等,它們通過(guò)確認(rèn)(ACK)和重傳等機(jī)制來(lái)保證報(bào)文的可靠傳輸。其中LLC2協(xié)議可直接應(yīng)用于以太網(wǎng),另外也有部分協(xié)議通過(guò)對(duì)HDLC等協(xié)議進(jìn)行修改而應(yīng)用于以太網(wǎng)。鑒于上述協(xié)議提供的是點(diǎn)對(duì)點(diǎn)的服務(wù),因此不能直接應(yīng)用于組播傳輸。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種以太網(wǎng)可靠組播傳輸?shù)姆椒ǎ瑢?shí)現(xiàn)對(duì)以太組播報(bào)文傳輸?shù)目煽啃?,從而解決目前尚無(wú)可靠以太組播專(zhuān)有協(xié)議的問(wèn)題,克服傳統(tǒng)以太組播不可靠的缺點(diǎn)。
本發(fā)明解決所述技術(shù)問(wèn)題所采用的技術(shù)方案是,修改可靠以太網(wǎng)單播協(xié)議,提供一種以太網(wǎng)可靠組播傳輸?shù)姆椒?,在所述單播協(xié)議傳輸層增加第一級(jí)組播報(bào)文傳輸隊(duì)列,所述單播協(xié)議具有第二級(jí)單播傳輸隊(duì)列和報(bào)文傳輸?shù)目煽繖C(jī)制,通過(guò)兩級(jí)的發(fā)送隊(duì)列來(lái)實(shí)現(xiàn)組播報(bào)文的可靠傳輸。
所述的單播協(xié)議維護(hù)一個(gè)第一級(jí)傳輸隊(duì)列,負(fù)責(zé)組播報(bào)文的實(shí)際發(fā)送。所述單播協(xié)議根據(jù)不同的組播目標(biāo)對(duì)象維護(hù)多個(gè)第二級(jí)單播傳輸隊(duì)列。具體步驟包括a.待發(fā)送組播報(bào)文入隊(duì)到所述的第一級(jí)傳輸隊(duì)列,并置上組播標(biāo)記;b.根據(jù)組播報(bào)文的目標(biāo)對(duì)象分別入隊(duì)到對(duì)應(yīng)的所述的第二級(jí)單播傳輸隊(duì)列;c.所述的第一級(jí)傳輸隊(duì)列進(jìn)行報(bào)文發(fā)送;d.該已發(fā)送組播報(bào)文所有目標(biāo)對(duì)象的ACK報(bào)文回來(lái)后,該報(bào)文出隊(duì)。即當(dāng)?shù)谝患?jí)組播隊(duì)列接收到同一報(bào)文的所有組播目標(biāo)對(duì)象的確認(rèn)信息后,表明發(fā)送成功,就按出隊(duì)處理。在所述的第一級(jí)組播發(fā)送隊(duì)列,報(bào)文可以不按順序出隊(duì),也就是說(shuō)每個(gè)已發(fā)送報(bào)文不用等待它前面的組播報(bào)文確認(rèn)回來(lái)后才可以出隊(duì),這樣可以保證不同組播組的發(fā)送報(bào)文之間的出隊(duì)不會(huì)相互影響。還包括以下步驟e.所述的第二級(jí)單播發(fā)送隊(duì)列在進(jìn)行報(bào)文發(fā)送時(shí),根據(jù)報(bào)文的組播標(biāo)記位判斷報(bào)文是組播報(bào)文時(shí),只做正常的可靠控制初始化處理(這樣每個(gè)單播的狀態(tài)機(jī)可以繼續(xù)正常運(yùn)轉(zhuǎn)下去,以保持對(duì)所有響應(yīng)報(bào)文的正確處理。),不實(shí)際發(fā)送報(bào)文;f.在接收到目標(biāo)對(duì)象的響應(yīng)報(bào)文時(shí),按照可靠控制程序處理確認(rèn)后,該報(bào)文出隊(duì),同時(shí)通知第一級(jí)隊(duì)列中對(duì)應(yīng)的組播報(bào)文,這里需要注意的是,單播隊(duì)列中報(bào)文是按序出隊(duì)的,這樣對(duì)于相同組播組的報(bào)文,可以保證按序出隊(duì)。
本發(fā)明的有益效果是,通過(guò)對(duì)可靠以太單播協(xié)議進(jìn)行修改,充分利用了現(xiàn)有單播協(xié)議成熟、可靠的優(yōu)點(diǎn),增加了對(duì)可靠組播的支持,從而解決了目前無(wú)可靠以太組播協(xié)議的局面。同時(shí)由于我們僅采用了一個(gè)隊(duì)列維護(hù)所有的組播報(bào)文,達(dá)到了簡(jiǎn)單、高效的結(jié)果。
以下結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
圖1是本發(fā)明的兩級(jí)發(fā)送隊(duì)列示意圖。
圖2是本發(fā)明的組播報(bào)文發(fā)送流程圖。
圖3是本發(fā)明的組播報(bào)文確認(rèn)流程圖。
圖4是一個(gè)兩級(jí)發(fā)送隊(duì)列的狀態(tài)示意圖1。
圖5是一個(gè)兩級(jí)發(fā)送隊(duì)列的狀態(tài)示意圖2。
圖6是一個(gè)兩級(jí)發(fā)送隊(duì)列的狀態(tài)示意圖3。
具體實(shí)施例方式
以LLC2作為可靠以太單播協(xié)議為例,在LLC2傳輸層增加一級(jí)組播隊(duì)列進(jìn)行組播報(bào)文的管理,如圖1所示。其中第二級(jí)隊(duì)即原有的LLC2層的單播發(fā)送隊(duì)列,針對(duì)不同的目標(biāo)將會(huì)存在多個(gè)第二級(jí)隊(duì)列;第一級(jí)隊(duì)列為第二級(jí)隊(duì)列之上的一個(gè)組播發(fā)送隊(duì)列,本隊(duì)列僅有一個(gè),負(fù)責(zé)所有組播報(bào)文的維護(hù)。
下面詳細(xì)描述本發(fā)明中對(duì)應(yīng)的組播報(bào)文的發(fā)送和確認(rèn)方法1.組播報(bào)文發(fā)送,如圖2所示。
a.組播報(bào)文入隊(duì)到第一級(jí)隊(duì)列;b.檢查每個(gè)涉及到的單播的PCB(協(xié)議控制塊)的狀態(tài),如果其中有任何一個(gè)狀態(tài)非正常,則組播報(bào)文出隊(duì),同時(shí)報(bào)告錯(cuò)誤;c.將該報(bào)文打上組播標(biāo)記,入隊(duì)到每個(gè)涉及的第二級(jí)隊(duì)列(單播發(fā)送隊(duì)列)中;d.將每個(gè)單播PCB中相應(yīng)的狀態(tài)字段(例如發(fā)送狀態(tài)變量字段)以及定時(shí)器等都做正常LLC2處理,但實(shí)際不發(fā)送報(bào)文;e.將第一級(jí)隊(duì)列中的組播報(bào)文發(fā)送。
2.組播報(bào)文確認(rèn),如圖3所示。
a.對(duì)端返回響應(yīng)時(shí),相應(yīng)單播PCB就會(huì)將隊(duì)列中的報(bào)文出隊(duì)。
如果發(fā)現(xiàn)是組播報(bào)文,那么,就返回來(lái)查找第一級(jí)隊(duì)列中的組播發(fā)送的控制塊,將目標(biāo)列表中對(duì)應(yīng)的目標(biāo)清除;b.當(dāng)組播報(bào)文所有對(duì)應(yīng)目標(biāo)的響應(yīng)都回來(lái)后,就將該組播報(bào)文出隊(duì);c.如果某個(gè)單播PCB的響應(yīng)出現(xiàn)了問(wèn)題,那么該單播PCB就將該組播報(bào)文當(dāng)作單播報(bào)文一樣進(jìn)行處理,進(jìn)行重傳;d.如果單播報(bào)文重傳仍然失敗,表明源與目標(biāo)之間的鏈路出現(xiàn)故障,此時(shí)將該單播報(bào)文出隊(duì),同時(shí)查找到第一級(jí)隊(duì)列中對(duì)應(yīng)的組播報(bào)文,將該報(bào)文出隊(duì),同時(shí)報(bào)告錯(cuò)誤。
以下以一個(gè)簡(jiǎn)單的例子進(jìn)行說(shuō)明,一個(gè)以太網(wǎng)絡(luò)中包含5臺(tái)主機(jī),分別以A、B、C、D、E命名,以A為源進(jìn)行組播報(bào)文的發(fā)送,同時(shí)假設(shè)所有連接都出于正常狀態(tài)a.假設(shè)組播報(bào)文1,目標(biāo)對(duì)象為B、E,報(bào)文1入第一級(jí)發(fā)送隊(duì)列,打上組播標(biāo)記后,分別入B、E對(duì)應(yīng)的單播發(fā)送隊(duì)列,進(jìn)行相應(yīng)控制處理后,隊(duì)列1將報(bào)文1進(jìn)行實(shí)際發(fā)送;
b.假設(shè)組播報(bào)文2,目標(biāo)對(duì)象為B、E,報(bào)文2入第一級(jí)發(fā)送隊(duì)列,打上組播標(biāo)記后,分別入B、E對(duì)應(yīng)的單播發(fā)送隊(duì)列,進(jìn)行相應(yīng)控制處理后,隊(duì)列1將報(bào)文2進(jìn)行實(shí)際發(fā)送;c.假設(shè)組播報(bào)文3,目標(biāo)對(duì)象為C、D,報(bào)文3入第一級(jí)發(fā)送隊(duì)列,打上組播標(biāo)記后,分別入C、D對(duì)應(yīng)的單播發(fā)送隊(duì)列,進(jìn)行相應(yīng)控制處理后,隊(duì)列1將報(bào)文3進(jìn)行實(shí)際發(fā)送;d.假設(shè)組播報(bào)文4,目標(biāo)對(duì)象為B、E,報(bào)文4入第一級(jí)發(fā)送隊(duì)列,打上組播標(biāo)記后,分別入B、E對(duì)應(yīng)的單播發(fā)送隊(duì)列,進(jìn)行相應(yīng)控制處理后,隊(duì)列1將報(bào)文4進(jìn)行實(shí)際發(fā)送。此時(shí)發(fā)送隊(duì)列的狀態(tài)如圖4所示;e.假設(shè)此后A收到B、E對(duì)報(bào)文1的確認(rèn),則在單播發(fā)送隊(duì)列中將報(bào)文出列,同時(shí)清除第一級(jí)隊(duì)列中報(bào)文1對(duì)應(yīng)的目標(biāo),當(dāng)報(bào)文1所有目標(biāo)均被清除后,將報(bào)文1從第一級(jí)隊(duì)列中出隊(duì)。此時(shí)發(fā)送隊(duì)列的狀態(tài)如圖5所示;f.假設(shè)此后A收到C、D對(duì)報(bào)文3的確認(rèn),則在單播發(fā)送隊(duì)列中將報(bào)文出列,同時(shí)清除第一級(jí)隊(duì)列中報(bào)文3對(duì)應(yīng)的目標(biāo),當(dāng)報(bào)文3所有目標(biāo)均被清除后,將報(bào)文3從第一級(jí)隊(duì)列中出隊(duì)。此時(shí)發(fā)送隊(duì)列的狀態(tài)如圖6所示,注意此時(shí)第一級(jí)隊(duì)列中報(bào)文3不是按序出隊(duì)的。
g.我們觀察第二級(jí)隊(duì)列的情況,由于此隊(duì)列是按照LLC2的處理方式進(jìn)行確認(rèn)、出隊(duì)的,報(bào)文4將不可能比報(bào)文2早出隊(duì),因此對(duì)應(yīng)到第一級(jí)隊(duì)列中,報(bào)文4也將不可能比報(bào)文2早出隊(duì)。這樣我們利用了LLC2按序出隊(duì)的特點(diǎn),來(lái)保證同一組播組報(bào)文的按序出隊(duì)。
本組播方案采用LLC2的流控方式,故障檢測(cè)采用?;顖?bào)文的方式,因這些內(nèi)容不涉及創(chuàng)新部分,同時(shí)不影響數(shù)據(jù)通信的正常流程,故在此不再贅述。
權(quán)利要求
1.一種以太網(wǎng)組播可靠傳輸?shù)姆椒ǎň哂锌煽總鬏數(shù)膯尾f(xié)議,其特征在于,增加第一級(jí)組播傳輸隊(duì)列在所述單播協(xié)議的第二級(jí)單播傳輸隊(duì)列上,通過(guò)兩級(jí)的報(bào)文傳輸隊(duì)列,進(jìn)行以太網(wǎng)組播報(bào)文可靠傳輸?shù)墓芾怼?br>
2.如權(quán)利要求1所述太網(wǎng)組播可靠傳輸?shù)姆椒?,其特征在于,所述的第一?jí)組播傳輸隊(duì)列負(fù)責(zé)組播報(bào)文的實(shí)際發(fā)送。
3.如權(quán)利要求1或2所述太網(wǎng)組播可靠傳輸?shù)姆椒?,其特征在于,所述的組播傳輸隊(duì)列只有一個(gè)。
4.如權(quán)利要求1所述太網(wǎng)組播可靠傳輸?shù)姆椒?,其特征在于,包括以下步驟a.待發(fā)送組播報(bào)文入隊(duì)到所述的第一級(jí)組播傳輸隊(duì)列,并置上組播標(biāo)記;b.根據(jù)組播報(bào)文的目標(biāo)對(duì)象分別入隊(duì)到對(duì)應(yīng)的所述的第二級(jí)單播傳輸隊(duì)列;c.所述的第一級(jí)傳輸隊(duì)列進(jìn)行報(bào)文發(fā)送;d.該已發(fā)送組播報(bào)文所有目標(biāo)對(duì)象的ACK報(bào)文回來(lái)后,該報(bào)文出隊(duì)。
5.如權(quán)利要求4步驟d所述太網(wǎng)組播可靠傳輸?shù)姆椒?,其特征在于,所述的第一?jí)組播傳輸隊(duì)列,報(bào)文可以不按順序出隊(duì)。
6.如權(quán)利要求4或5權(quán)利要求所述太網(wǎng)組播可靠傳輸?shù)姆椒?,其特征在于,還包括如下步驟e.所述的第二級(jí)單播傳輸隊(duì)列在進(jìn)行報(bào)文發(fā)送時(shí),根據(jù)報(bào)文的組播標(biāo)記位判斷報(bào)文是組播報(bào)文時(shí),只做正常的可靠控制初始化處理,不實(shí)際發(fā)送報(bào)文;f.接收到目標(biāo)接收對(duì)象的響應(yīng)報(bào)文時(shí),所述的第二級(jí)單播傳輸隊(duì)列按照可靠控制程序處理確認(rèn)后,該報(bào)文出隊(duì),同時(shí)通知第一級(jí)隊(duì)列中對(duì)應(yīng)的組播報(bào)文。
全文摘要
以太網(wǎng)組播可靠傳輸?shù)姆椒?,涉及?jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及以太網(wǎng)組播報(bào)文可靠傳輸?shù)姆椒?。本發(fā)明的以太網(wǎng)組播可靠傳輸?shù)姆椒ǎ薷囊蕴W(wǎng)單播協(xié)議,在所述單播協(xié)議傳輸層增加第一級(jí)組播報(bào)文傳輸隊(duì)列,所述單播協(xié)議具有第二級(jí)單播傳輸隊(duì)列和報(bào)文傳輸?shù)目煽繖C(jī)制,通過(guò)兩級(jí)的發(fā)送隊(duì)列來(lái)實(shí)現(xiàn)組播報(bào)文的可靠傳輸。本發(fā)明的有益效果是,通過(guò)對(duì)可靠以太單播協(xié)議進(jìn)行修改,充分利用了現(xiàn)有單播協(xié)議成熟、可靠的優(yōu)點(diǎn),增加了對(duì)可靠組播的支持,從而解決了目前無(wú)可靠以太組播協(xié)議的局面。同時(shí)由于我們僅采用了一個(gè)隊(duì)列維護(hù)所有的組播報(bào)文,達(dá)到了簡(jiǎn)單、高效的結(jié)果。
文檔編號(hào)H04L12/56GK1655531SQ20041008152
公開(kāi)日2005年8月17日 申請(qǐng)日期2004年12月17日 優(yōu)先權(quán)日2004年12月17日
發(fā)明者宋艦, 朱永權(quán) 申請(qǐng)人:邁普(四川)通信技術(shù)有限公司