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