組播傳輸方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及組播傳輸方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]軟件定義網(wǎng)絡(luò)(Software-Defined Networking,簡(jiǎn)稱(chēng)SDN)是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),通過(guò)將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開(kāi)來(lái),實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺(tái)。在SDN中,網(wǎng)絡(luò)設(shè)備的控制面通常被集中到一個(gè)控制器上,控制器設(shè)備需要向多個(gè)網(wǎng)絡(luò)設(shè)備發(fā)送控制信息,以保證網(wǎng)絡(luò)設(shè)備的正常運(yùn)行。由于一個(gè)SDN中通常包含大量網(wǎng)絡(luò)設(shè)備,控制器會(huì)利用組播協(xié)議向網(wǎng)絡(luò)設(shè)備發(fā)送控制信息,以保證控制信息的發(fā)送效率,減小控制信息的發(fā)送時(shí)延。
[0003]在實(shí)際使用中,控制器和網(wǎng)絡(luò)設(shè)備間的數(shù)據(jù)報(bào)文還很有可能存在跨廣域傳輸?shù)那闆r,數(shù)據(jù)報(bào)文在傳輸過(guò)程中很可能會(huì)發(fā)生丟失。由于組播協(xié)議本身不包含確認(rèn)機(jī)制以及重傳機(jī)制,為保證數(shù)據(jù)報(bào)文傳輸?shù)目煽啃?,需要由組播接收者檢測(cè)數(shù)據(jù)包是否丟失。組播接收者在檢測(cè)到數(shù)據(jù)包丟失后向組播發(fā)送者發(fā)送丟失數(shù)據(jù)包的否定應(yīng)答(NegativeAcknowledgement,簡(jiǎn)稱(chēng)NAK)。組播發(fā)送者接收到NAK后向組播接收者發(fā)送該NAK對(duì)應(yīng)的數(shù)據(jù)包。
[0004]在現(xiàn)有技術(shù)中,檢測(cè)數(shù)據(jù)包丟失的通常做法是有組播發(fā)送者發(fā)送攜帶有順序關(guān)系的發(fā)送序號(hào)的數(shù)據(jù)包,組播接收者根據(jù)數(shù)據(jù)報(bào)文的發(fā)送序號(hào)是否有丟失判斷有數(shù)據(jù)報(bào)文是否有丟失。例如,組播接收者收到了編號(hào)為100和102號(hào)的數(shù)據(jù)報(bào)文,在一定時(shí)間內(nèi)范圍,若組播接收者還是沒(méi)有101號(hào)數(shù)據(jù)報(bào)文,則可以認(rèn)為101號(hào)數(shù)據(jù)報(bào)文已經(jīng)丟失,向組播發(fā)送者發(fā)送101號(hào)數(shù)據(jù)報(bào)文的NAK,請(qǐng)求組播發(fā)送者重新發(fā)送101號(hào)數(shù)據(jù)報(bào)文。
[0005]實(shí)際情況中,雖然組播發(fā)送者是按編號(hào)順序發(fā)送數(shù)據(jù)報(bào)文,但是經(jīng)過(guò)網(wǎng)絡(luò)傳輸?shù)竭_(dá)組播接收者之后,已經(jīng)亂序。所以組播接收者收到102號(hào)數(shù)據(jù)報(bào)文時(shí)不能立即判斷101號(hào)丟失,還需要等待一段時(shí)間,這就是造成了反饋效率的降低,從而降低數(shù)據(jù)報(bào)文的傳輸效率。另外,采用此種方式,當(dāng)某個(gè)數(shù)據(jù)報(bào)文丟失時(shí),組播接收者只有收到其后續(xù)序號(hào)的數(shù)據(jù)報(bào)文才可發(fā)現(xiàn)。這就會(huì)導(dǎo)致組播接收者可能長(zhǎng)時(shí)間無(wú)法發(fā)現(xiàn)某段時(shí)間中最后一個(gè)數(shù)據(jù)報(bào)文的丟失。如果丟失的是最后一個(gè)數(shù)據(jù)報(bào)文,則很可能無(wú)法被發(fā)現(xiàn)。從上述內(nèi)容可以看出,采用現(xiàn)有組播傳輸方法,如果數(shù)據(jù)報(bào)文在傳輸過(guò)程中發(fā)生丟失,可能在長(zhǎng)時(shí)間內(nèi)都難以發(fā)現(xiàn),從而會(huì)導(dǎo)致組播數(shù)據(jù)傳輸可靠性低。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了組播傳輸方法、裝置及系統(tǒng),以解決現(xiàn)有組播傳輸方法數(shù)據(jù)報(bào)文在傳輸過(guò)程中發(fā)生丟失后,可能在長(zhǎng)時(shí)間內(nèi)都難以發(fā)現(xiàn),從而導(dǎo)致組播數(shù)據(jù)傳輸可靠性低的問(wèn)題。
[0007]第一方面,提供了一種組播傳輸方法,包括:從組播組的控制通道接收第一校驗(yàn)報(bào)文,所述第一校驗(yàn)報(bào)文中包括序列號(hào)信息;根據(jù)所述序列號(hào)信息確定所述組播組的應(yīng)接收組播數(shù)據(jù)報(bào)文的信息;從所述組播組的數(shù)據(jù)通道接收組播數(shù)據(jù)報(bào)文;在第一預(yù)定時(shí)間內(nèi),根據(jù)已接收的組播數(shù)據(jù)報(bào)文,以及確定的應(yīng)接收組播數(shù)據(jù)報(bào)文的信息,檢測(cè)是否存在丟失組播數(shù)據(jù)報(bào)文;如果存在丟失組播數(shù)據(jù)報(bào)文,向所述組播組的發(fā)送端發(fā)送否定應(yīng)答NAK,以便于所述發(fā)送端重發(fā)所述丟失組播數(shù)據(jù)報(bào)文,所述NAK中包括所述丟失組播數(shù)據(jù)報(bào)文的序列號(hào)信息。
[0008]結(jié)合第一方面,在第一方面第一種可能的實(shí)現(xiàn)方式中,所述方法還包括:如果未接收到所述NAK對(duì)應(yīng)的組播數(shù)據(jù)報(bào)文,且所述NAK的發(fā)送次數(shù)未到達(dá)預(yù)設(shè)閾值,按照預(yù)定重發(fā)頻率向所述發(fā)送端重復(fù)發(fā)送所述NAK。
[0009]結(jié)合第一方面或第一方面第一種可能的實(shí)現(xiàn)方式,在第一方面第二種可能的實(shí)現(xiàn)方式中,所述方法還包括:確定待發(fā)送的所述組播組的N個(gè)組播數(shù)據(jù)報(bào)文;為所述N個(gè)組播數(shù)據(jù)報(bào)文生成對(duì)應(yīng)的第二校驗(yàn)報(bào)文,所述第二校驗(yàn)報(bào)文中包括所述N個(gè)組播數(shù)據(jù)報(bào)文的序列號(hào)信息;通過(guò)所述組播組的控制通道向接收端發(fā)送所述第二校驗(yàn)報(bào)文,以使所述接收端根據(jù)所述第二校驗(yàn)報(bào)文確定丟包信息;通過(guò)所述組播組的數(shù)據(jù)通道向所述接收端發(fā)送所述N個(gè)組播數(shù)據(jù)報(bào)文。
[0010]結(jié)合第一方面第二種可能的實(shí)現(xiàn)方式,在第一方面第三種可能的實(shí)現(xiàn)方式中,所述N個(gè)組播數(shù)據(jù)報(bào)文的序列號(hào)信息為:所述N個(gè)組播數(shù)據(jù)報(bào)文的發(fā)送序號(hào);或者,所述N個(gè)組播數(shù)據(jù)報(bào)文的初始發(fā)送序號(hào)及所述N個(gè)組播數(shù)據(jù)報(bào)文的數(shù)量N。
[0011]結(jié)合第一方面第二種可能的實(shí)現(xiàn)方式或第一方面第三種可能的實(shí)現(xiàn)方式,在第一方面第四種可能的實(shí)現(xiàn)方式中,所述方法還包括:如果在所述第二校驗(yàn)報(bào)文發(fā)送后的第二預(yù)定時(shí)間內(nèi),未接收到與所述第二校驗(yàn)報(bào)文對(duì)應(yīng)的ACK,則重新向所述接收端發(fā)送所述第二校驗(yàn)報(bào)文。
[0012]第二方面,提供了一種組播傳輸裝置,所述裝置包括:接收單元,用于從組播組的控制通道接收第一校驗(yàn)報(bào)文,所述第一校驗(yàn)報(bào)文中包括序列號(hào)信息;確定單元,用于根據(jù)所述接收單元接收到的所述序列號(hào)信息確定所述組播組的應(yīng)接收組播數(shù)據(jù)報(bào)文的信息;所述接收單元,還用于從所述組播組的數(shù)據(jù)通道接收組播數(shù)據(jù)報(bào)文;檢測(cè)單元,用于在第一預(yù)定時(shí)間內(nèi),根據(jù)所述接收單元已接收的組播數(shù)據(jù)報(bào)文,以及所述確定單元確定的應(yīng)接收組播數(shù)據(jù)報(bào)文的信息,檢測(cè)是否存在丟失組播數(shù)據(jù)報(bào)文;發(fā)送單元,如果所述檢測(cè)單元檢測(cè)到丟失組播數(shù)據(jù)報(bào)文,向所述組播組的發(fā)送端發(fā)送否定應(yīng)答NAK,以便于所述發(fā)送端重發(fā)所述丟失組播數(shù)據(jù)報(bào)文,所述NAK中包括所述丟失組播數(shù)據(jù)報(bào)文的序列號(hào)信息。
[0013]結(jié)合第二方面,在第二方面第一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:準(zhǔn)備單元,用于確定待發(fā)送的所述組播組的N個(gè)組播數(shù)據(jù)報(bào)文;生成單元,用于為所述準(zhǔn)備單元確定的所述N個(gè)組播數(shù)據(jù)報(bào)文生成對(duì)應(yīng)的第二校驗(yàn)報(bào)文,所述第二校驗(yàn)報(bào)文中包括所述N個(gè)組播數(shù)據(jù)報(bào)文的序列號(hào)信息;所述發(fā)送單元,還用于通過(guò)所述組播組的控制通道向接收端發(fā)送所述生成單元生成的所述第二校驗(yàn)報(bào)文,以使所述接收端根據(jù)所述第二校驗(yàn)報(bào)文確定丟包信息;通過(guò)所述組播組的數(shù)據(jù)通道向所述接收端發(fā)送所述準(zhǔn)備單元確定的N個(gè)組播數(shù)據(jù)報(bào)文。
[0014]結(jié)合第二方面第二種可能的實(shí)現(xiàn)方式,在第二方面第三種可能的實(shí)現(xiàn)方式中,所述生成單元,具體用于生成包含所述準(zhǔn)備單元確定的所述N個(gè)組播數(shù)據(jù)報(bào)文的發(fā)送序號(hào)的第二校驗(yàn)報(bào)文;或者用于當(dāng)所述準(zhǔn)備單元確定的所述N個(gè)組播數(shù)據(jù)報(bào)文的發(fā)送序號(hào)連續(xù)時(shí),生成包含所述N個(gè)組播數(shù)據(jù)報(bào)文的初始發(fā)送序號(hào)及待發(fā)送的組播數(shù)據(jù)報(bào)文數(shù)量的第二校驗(yàn)報(bào)文。
[0015]結(jié)合第二方面第二種可能的實(shí)現(xiàn)方式或第二方面第三種可能的實(shí)現(xiàn)方式,在第二方面第四種可能的實(shí)現(xiàn)方式中,所述發(fā)送單元,還用于在所述第二校驗(yàn)報(bào)文發(fā)送后的第二預(yù)定時(shí)間內(nèi),未接收到與所述第二校驗(yàn)報(bào)文對(duì)應(yīng)的ACK,則重新向所述接收端發(fā)送所述第二校驗(yàn)報(bào)文。
[0016]第三方面,提供了一種組播傳輸系統(tǒng),所述系統(tǒng)包括組播發(fā)送者與組播接收者,所述組播發(fā)送者,用于確定待發(fā)送的所述組播組的N個(gè)組播數(shù)據(jù)報(bào)文;為所述N個(gè)組播數(shù)據(jù)報(bào)文生成對(duì)應(yīng)的第一校驗(yàn)報(bào)文,所述第一校驗(yàn)報(bào)文中包括所述N個(gè)組播數(shù)據(jù)報(bào)文的序列號(hào)信息;通過(guò)所述組播組的控制通道向接收端發(fā)送所述第一校驗(yàn)報(bào)文,以使所述接收端根據(jù)所述第一校驗(yàn)報(bào)文確定丟包信息;通過(guò)所述組播組的數(shù)據(jù)通道向所述接收端發(fā)送所述N個(gè)組播數(shù)據(jù)報(bào)文;所述組播接收者,用于從組播組的控制通道接收所述組播發(fā)送者發(fā)送的所述第一校驗(yàn)報(bào)文;根據(jù)所述序列號(hào)信息確定所述組播組的應(yīng)接收組播數(shù)據(jù)報(bào)文的信息;從所述組播組的數(shù)據(jù)通道接收組播數(shù)據(jù)報(bào)文;在第一預(yù)定時(shí)間內(nèi),根據(jù)已接收的組播數(shù)據(jù)報(bào)文,以及確定的應(yīng)接收所述組播發(fā)送者發(fā)送的所述組播數(shù)據(jù)報(bào)文的信息,檢測(cè)是否存在丟失組播數(shù)據(jù)報(bào)文;如果存在丟失組播數(shù)據(jù)報(bào)文,向所述組播組的組播發(fā)送者發(fā)送否定應(yīng)答NAK,以便于所述組播發(fā)送者重發(fā)所述丟失組播數(shù)據(jù)報(bào)文,所述NAK中包括所述丟失組播數(shù)據(jù)報(bào)文的序列號(hào)信息。
[0017]本發(fā)明實(shí)施例提供的組播傳輸方法,從組播組的控制通道接收第一校驗(yàn)報(bào)文,所述第一校驗(yàn)報(bào)文中包括序列號(hào)信息;根據(jù)所述序列號(hào)信息確定應(yīng)接收組播數(shù)據(jù)報(bào)文的信息;從所述組播組的數(shù)據(jù)通道接收組播數(shù)據(jù)報(bào)文;在第一預(yù)定時(shí)間內(nèi),根據(jù)已接收的組播數(shù)據(jù)報(bào)文,以及確定的應(yīng)接收組播數(shù)據(jù)報(bào)文的信息,檢測(cè)是否存在丟失組播數(shù)據(jù)報(bào)文;如果存在丟失組播數(shù)據(jù)報(bào)文,向組播發(fā)送者發(fā)送所述丟失組播數(shù)據(jù)報(bào)文的否定應(yīng)答NAK,以便于所述組播發(fā)送者重發(fā)所述丟失組播數(shù)據(jù)報(bào)文,這樣組播接收者可以利用控制通道接收的校驗(yàn)報(bào)文快速、準(zhǔn)確地發(fā)現(xiàn)在傳輸過(guò)程中丟失的組播數(shù)據(jù)報(bào)文,從而大大提高組播傳輸?shù)目煽啃浴?br>【附圖說(shuō)明】
[0018]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1A為本發(fā)明組播傳輸方法一個(gè)實(shí)施例的流程圖;
[0020]圖1B為本發(fā)明組播傳輸方法另一個(gè)實(shí)施例的流程圖;