CN105162706B - 组播传输方法、装置及系统 - Google Patents
组播传输方法、装置及系统 Download PDFInfo
- Publication number
- CN105162706B CN105162706B CN201410229489.XA CN201410229489A CN105162706B CN 105162706 B CN105162706 B CN 105162706B CN 201410229489 A CN201410229489 A CN 201410229489A CN 105162706 B CN105162706 B CN 105162706B
- Authority
- CN
- China
- Prior art keywords
- multicast
- data message
- message
- multicast data
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Abstract
本发明实施例公开了组播传输方法、装置及系统,从组播组的控制通道接收包括序列号信息的第一校验报文;根据序列号信息确定组播组的应接收组播数据报文的信息;从组播组的数据通道接收组播数据报文;在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,向组播组的发送端发送否定应答NAK,以便于发送端重发丢失组播数据报文。采用本发明的组播传输方法,组播接收者可以利用校验报文快速准确地发现传输过程中丢失的组播数据报文,从而大大提高组播传输的可靠性。
Description
技术领域
本发明涉及通信领域,尤其涉及组播传输方法、装置及系统。
背景技术
软件定义网络(Software-Defined Networking,简称SDN)是一种新型网络创新架构,通过将网络设备控制面与数据面分离开来,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。在SDN中,网络设备的控制面通常被集中到一个控制器上,控制器设备需要向多个网络设备发送控制信息,以保证网络设备的正常运行。由于一个SDN中通常包含大量网络设备,控制器会利用组播协议向网络设备发送控制信息,以保证控制信息的发送效率,减小控制信息的发送时延。
在实际使用中,控制器和网络设备间的数据报文还很有可能存在跨广域传输的情况,数据报文在传输过程中很可能会发生丢失。由于组播协议本身不包含确认机制以及重传机制,为保证数据报文传输的可靠性,需要由组播接收者检测数据包是否丢失。组播接收者在检测到数据包丢失后向组播发送者发送丢失数据包的否定应答(NegativeAcknowledgement,简称NAK)。组播发送者接收到NAK后向组播接收者发送该NAK对应的数据包。
在现有技术中,检测数据包丢失的通常做法是有组播发送者发送携带有顺序关系的发送序号的数据包,组播接收者根据数据报文的发送序号是否有丢失判断有数据报文是否有丢失。例如,组播接收者收到了编号为100和102号的数据报文,在一定时间内范围,若组播接收者还是没有101号数据报文,则可以认为101号数据报文已经丢失,向组播发送者发送101号数据报文的NAK,请求组播发送者重新发送101号数据报文。
实际情况中,虽然组播发送者是按编号顺序发送数据报文,但是经过网络传输到达组播接收者之后,已经乱序。所以组播接收者收到102号数据报文时不能立即判断101号丢失,还需要等待一段时间,这就是造成了反馈效率的降低,从而降低数据报文的传输效率。另外,采用此种方式,当某个数据报文丢失时,组播接收者只有收到其后续序号的数据报文才可发现。这就会导致组播接收者可能长时间无法发现某段时间中最后一个数据报文的丢失。如果丢失的是最后一个数据报文,则很可能无法被发现。从上述内容可以看出,采用现有组播传输方法,如果数据报文在传输过程中发生丢失,可能在长时间内都难以发现,从而会导致组播数据传输可靠性低。
发明内容
本发明实施例提供了组播传输方法、装置及系统,以解决现有组播传输方法数据报文在传输过程中发生丢失后,可能在长时间内都难以发现,从而导致组播数据传输可靠性低的问题。
第一方面,提供了一种组播传输方法,包括:从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;根据所述序列号信息确定所述组播组的应接收组播数据报文的信息;从所述组播组的数据通道接收组播数据报文;在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。
结合第一方面,在第一方面第一种可能的实现方式中,所述方法还包括:如果未接收到所述NAK对应的组播数据报文,且所述NAK的发送次数未到达预设阈值,按照预定重发频率向所述发送端重复发送所述NAK。
结合第一方面或第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述方法还包括:确定待发送的所述组播组的N个组播数据报文;为所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息;通过所述组播组的控制通道向接收端发送所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息;通过所述组播组的数据通道向所述接收端发送所述N个组播数据报文。
结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述N个组播数据报文的序列号信息为:所述N个组播数据报文的发送序号;或者,所述N个组播数据报文的初始发送序号及所述N个组播数据报文的数量N。
结合第一方面第二种可能的实现方式或第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,所述方法还包括:如果在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则重新向所述接收端发送所述第二校验报文。
第二方面,提供了一种组播传输装置,所述装置包括:接收单元,用于从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;确定单元,用于根据所述接收单元接收到的所述序列号信息确定所述组播组的应接收组播数据报文的信息;所述接收单元,还用于从所述组播组的数据通道接收组播数据报文;检测单元,用于在第一预定时间内,根据所述接收单元已接收的组播数据报文,以及所述确定单元确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;发送单元,如果所述检测单元检测到丢失组播数据报文,向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。
结合第二方面,在第二方面第一种可能的实现方式中,所述装置还包括:准备单元,用于确定待发送的所述组播组的N个组播数据报文;生成单元,用于为所述准备单元确定的所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息;所述发送单元,还用于通过所述组播组的控制通道向接收端发送所述生成单元生成的所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息;通过所述组播组的数据通道向所述接收端发送所述准备单元确定的N个组播数据报文。
结合第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述生成单元,具体用于生成包含所述准备单元确定的所述N个组播数据报文的发送序号的第二校验报文;或者用于当所述准备单元确定的所述N个组播数据报文的发送序号连续时,生成包含所述N个组播数据报文的初始发送序号及待发送的组播数据报文数量的第二校验报文。
结合第二方面第二种可能的实现方式或第二方面第三种可能的实现方式,在第二方面第四种可能的实现方式中,所述发送单元,还用于在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则重新向所述接收端发送所述第二校验报文。
第三方面,提供了一种组播传输系统,所述系统包括组播发送者与组播接收者,所述组播发送者,用于确定待发送的所述组播组的N个组播数据报文;为所述N个组播数据报文生成对应的第一校验报文,所述第一校验报文中包括所述N个组播数据报文的序列号信息;通过所述组播组的控制通道向接收端发送所述第一校验报文,以使所述接收端根据所述第一校验报文确定丢包信息;通过所述组播组的数据通道向所述接收端发送所述N个组播数据报文;所述组播接收者,用于从组播组的控制通道接收所述组播发送者发送的所述第一校验报文;根据所述序列号信息确定所述组播组的应接收组播数据报文的信息;从所述组播组的数据通道接收组播数据报文;在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收所述组播发送者发送的所述组播数据报文的信息,检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,向所述组播组的组播发送者发送否定应答NAK,以便于所述组播发送者重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。
本发明实施例提供的组播传输方法,从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;根据所述序列号信息确定应接收组播数据报文的信息;从所述组播组的数据通道接收组播数据报文;在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,向组播发送者发送所述丢失组播数据报文的否定应答NAK,以便于所述组播发送者重发所述丢失组播数据报文,这样组播接收者可以利用控制通道接收的校验报文快速、准确地发现在传输过程中丢失的组播数据报文,从而大大提高组播传输的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明组播传输方法一个实施例的流程图;
图1B为本发明组播传输方法另一个实施例的流程图;
图2A为本发明组播传输装置一个实施例的示意图;
图2B为本发明组播传输装置另一个实施例的示意图;
图3为本发明组播传输系统一个实施例的示意图;
图4为本发明组播传输装置另一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1A,为本发明组播传输方法一个实施例的流程图,该实施例包括以下步骤:
步骤101,从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息。
组播传输设备首先从组播组的控制通道接收发送端发送的第一校验报文,所述第一校验报文中包括序列号信息,根据所述序列号信息可以确定应接收的组播数据报文的序列号。其中,所述组播传输设备可以是组播路由,也可以是组播组成员;所述发送端可以是组播源,也可以是组播路由。这样,从组播组的控制通道获取应接收的组播数据报文的序列号信息,既保证了序列号信息的准确性,也可以避免对数据通道的占用,降低数据通道的拥塞和丢包,从而快速获取该序列号信息。
在接收到所述第一校验报文后,向所述发送端发送与所述第一校验报文对应的肯定应答(Acknowledgement,简称ACK)。
步骤102,根据所述序列号信息确定所述组播组的应接收组播数据报文的信息。
所述组播传输设备可以从所述第一校验报文中获取序列号信息;并根据序列号信息确定所述组播传输设备应接收数据报文。例如,如果所述第一校验报文包括初始发送序号0及该报文序列的步长10,那么说明应接收数据报文包括序列号为0至9的十个组播数据报文。
步骤103,从所述组播组的数据通道接收组播数据报文。
所述组播组的数据通道接收组播数据报文,与从组播组的控制通道接收第一校验报文可以同时进行。
步骤104,在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文。
为快速发现丢失的数据报文,组播传输设备需要预先设置一个第一预定时间,作为检测所述报文序列是否存在丢失报文的截止时间,其中,第一预定时间可以根据需要进行设定。在实际使用中,由于发送端通常通过控制通道先发送第一校验报文,然后通过数据通道逐个发送组播数据报文,第一校验报文的发送时间与最后一个组播数据报文之间会存在一个发送时间间隔。另外,由于组播网络的复杂性,报文在组播网络中传输也可能会产生一定的时延。因此可以根据实际情况预先设定该第一预定时间,第一预定时间可以大于等于所述发送时间间隔与所述时延之和。
在第一预定时间内,组播传输设备根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,可以检测是否存在丢失组播数据报文。例如,当已接收的组播数据报文为序列号为0至9的十个组播数据报文,但是在第一预定时间内只接收到了,序列号为0至9的九个组播数据报文,那么可以判定序列号为9的组播数据报文已经在传输过程中丢失。
步骤105,如果存在丢失组播数据报文,向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。
如果存在丢失组播数据报文,所述组播传输设备向所述第一校验报文的发送端发送所述丢失组播数据报文的NAK,所述NAK中包括所述丢失组播数据报文的序列号信息。以便于所述发送端再次向所述组播传输设备发送所述丢失报文,从而保证组播通信的可靠性。例如,当发现序列号为9的组播数据报文在传输过程中丢失时,可以向发送端发送序列号为9的组播数据报文NAK,发送端在接收到所述NAK后,会重新向所述组播传输设备发送序列号为9的组播数据报文。所述NAK中也可以包括其他可以用于确定所述丢失组播数据报文的信息。当丢失数据报文为多个时,可以为每一个丢失数据报文生成一个NAK,也可以共同生成一个NAK。
为提升传输效率,在未接收到所述NAK对应的组播数据报文时,可以按照预定第一重发频率向所述发送端重复发送丢失组播数据报文的NAK,直至接收到所述NAK对应的数据报文或到重发次数到达预设阈值。
上述步骤101至105可以由组播用户接收端实施,也可以由组播传输设备,例如,组播路由器实施。
从上述实施例可以看出,通过从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;根据所述序列号信息确定所述组播组的应接收组播数据报文的信息;这样,在后续从所述组播组的数据通道接收组播数据报文时,组播传输设备可以利用校验报文快速、准确地检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息,从而大大提高组播传输的可靠性。
参见图1B,为本发明组播传输方法另一个实施例的流程图。在前述步骤105之后,还可以包括如下步骤:
步骤106,确定待发送的所述组播组的N个组播数据报文。
其中,组播传输设备可以根据本地发送缓存大小设定批量发送周期;当发送周期到达时,组播传输设备检查发送缓存中的准备发送的数据报文,从而确定待发送数据报文。
步骤107,为所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息。
在生成第二校验报文时,可以先确定所述N个组播数据报文的序列号,然后生成包含所述序列号的校验报文。
在确定某一个组播数据报文的序列号时,可以直接将所述组播数据报文携带的序号作为所述组播数据报文的序列号;或者,也可以为所述组播数据报文分配一个对应的序列号,并将该序列号写入所述组播数据报文。例如,当组播数据报文携带的序号为X时,可以将X作为该组播数据报文的序列号,也可以重新为该组播数据报文分配一个序列号Y。
所述N个组播数据报文的序列号都确定之后,生成第二校验报文,其中第二校验报文可以包括所述N个组播数据报文中每一个组播数据抱报文的序列号。在报文序列内数据报文数量较多,且序列号连续时,为减小第一校验报文的数据量,所述第一校验报文可以只包含所述报文序列内数据报文的初始序列号及所述报文序列的步长,即,所述N个组播数据报文的初始发送序号及所述N个组播数据报文的数量N。接收端可以根据初始发送选序号及步长可以推断出所有的该报文序列内所有数据报文的序号。例如,在待发送的组播数据报文序列包括序列号为0到9的10个组播数据报文时,所述第一校验报文,可以包含0至9这10个序列号,也可以只包括该报文序列的初始序列号0及该报文序列的步长10。
步骤108,通过所述组播组的控制通道向接收端发送所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息。
在第二校验报文生成之后,组播传输设备可以通过所述组播组的控制通道向接收端发送所述第二校验报文。其中,所述接收端可以是组播路由也可以是组播组成员。接收端可以利用第二验证报文,确定的应接收组播数据报文的信息,并根据接收的组播数据报文确定在传输过程中丢失的组播数据报文。具体的过程可以参见步骤101至步骤105,在此就不在赘述。
如果在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则重新向所述接收端发送所述第二校验报文,则可以判该第二校验报文在传输过程中丢失,此时可以重新向所述接收端发送所述第二校验报文。在重新向所述接收端发送所述第二校验报文时,可以采用单播的方式。
步骤109,通过所述组播组的数据通道向所述接收端发送所述N个组播数据报文。
在通过所述组播组的控制通道向接收端发送所述第二校验报文的同时,或所述第二校验报文发送完成后,组播传输设备通过所述组播组的数据通道向接收端发送所述N个组播数据报文。通过数据通道向接收端发送组播数据报文的过程在此就不再赘述。
接收端可以根据第二校验报文判断所述N个组播数据报文是否都在被接收到。如果其中某个组播数据报文没有被接收端接收到,接收端可以向组播传输设备发送与该组播数据报文对应的NAK。组播传输设备接收到该NAK后,向所述接收端再次发送所述NAK对应的组播数据报文。
上述步骤106至109可以由组播源实施,也可以由组播传输设备,例如,组播路由器实施。
采用本实施例的组播传输方法,组播传输设备通过从组播组的控制通道接收的第一校验报文,在接收组播数据报文时,可以利用该第一校验报文快速、准确地发现在传输过程中丢失的组播数据报文,从而大大提高组播传输的可靠性;在向组播用户接收端发送组播数据报文时,通过生成第二校验报文,可以使接收端快速、准确地发现在传输过程中丢失的组播数据报文。
结合图1A和图1B提供的组播传输方法,即上述步骤101至109可以由组播传输设备,例如,组播路由器实施。
与本发明组播传输方法相对应,本发明还提供了组播传输装置及组播传输系统。
参见图2A,为本发明组播传输装置一个实施例示意图。
该组播发送装置包括:接收单元201,确定单元202,检测单元203,发送单元204。
其中,接收单元201,用于从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息。
所述确定单元202,用于根据所述接收单元201接收到的所述序列号信息确定所述组播组的应接收组播数据报文的信息。
所述接收单元201,还用于从所述组播组的数据通道接收组播数据报文。
所述检测单元203,用于在第一预定时间内,根据所述接收单元201已接收的组播数据报文,以及所述确定单元202确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文。
所述发送单元204,如果所述检测单元203检测到丢失组播数据报文,向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。
所述发送单元204,还用于在未接收到所述NAK对应的组播数据报文,且所述NAK的发送次数未到达预设阈值时,按照预定重发频率向所述发送端重复发送所述NAK。
所述发送单元204,还用于在所述接收单元201接收到所述第一校验报文后,向所述发送端发送所述第一校验报文对应的ACK。
如图2B所示,所述装置还可以包括:准备单元205,生成单元206。
所述准备单元205,用于确定待发送的所述组播组的N个组播数据报文。
所述生成单元206,用于为所述准备单元205确定的所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息。
具体来说,所述生成单元206可以用于生成包含所述准备单元205确定的所述N个组播数据报文的发送序号的第二校验报文;也可以用于当所述准备单元205确定的所述N个组播数据报文的发送序号连续时,生成包含所述N个组播数据报文的初始发送序号及待发送的组播数据报文数量的第二校验报文。
所述发送单元204,还用于通过所述组播组的控制通道向接收端发送所述生成单元206生成的所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息;通过所述组播组的数据通道向所述接收端发送所述准备单元205确定的N个组播数据报文。
所述发送单元204,还用于在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则重新向所述接收端发送所述第二校验报文。所述发送单元204在重新向所述组播接收者发送所述第二校验报文时,可以采用组播方式,也可以采用单播方式。
所述接收单元201,还可以用于接收接收端发送的NAK。所述发送单元204,还可以用于在所述接收单元201接收到来自所述接收端的NAK时,向所述接收端发送所述NAK对应的组播数据报文。
在本实施例中,组播传输装置在接收组播数据报文时,可以利用第一校验报文快速发现在传输过程中丢失的组播数据报文,从而大大提高组播传输的可靠性;组播传输装置还可以用于对组播数据报文进行发送,在发送组播数据报文时,生成第二校验报文,可以为组播接收者快速发现在传输过程中丢失的组播数据报文创造条件。
参见图3,为本发明组播传输系统一个实施例示意图。
如图3所示所述系统包括组播发送者301与组播接收者302。
所述组播发送者301,用于确定待发送的N个组播数据报文;为所述N个组播数据报文生成对应的第一校验报文,所述第一校验报文中包括所述N个组播数据报文的序列号信息;通过所述组播组的控制通道向接收端发送所述第一校验报文;通过所述组播组的数据通道向接收端发送所述N个组播数据报文。本发明实施例中,所述组播发送者可以是组播源,也可以是组播路由器。其中,所述N个组播数据报文的序列号信息可以为所述N个组播数据报文的发送序号;当所述N个组播数据报文的发送序号连续时,所述N个组播数据报文的序列号信息可以为所述N个组播数据报文的初始发送序号及所述N个组播数据报文的数量N。
所述组播接收者302,用于从组播组的控制通道接收所述第一校验报文;根据所述序列号信息确定应接收组播数据报文的信息;从所述组播组的数据通道接收组播数据报文;在预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,确定是否存在丢失组播数据报文;如果存在丢失组播数据报文,向所述组播发送者301发送所述丢失组播数据报文的NAK,以便于所述组播发送者301重发所述丢失组播数据报文。本发明实施例中,所述组播接收者可以是组播接收端设备,也可以是组播路由器。
所述组播发送者301,还用于如果在所述第一校验报文发送后的第二预定时间内,未接收到与所述第一校验报文对应的ACK,则重新向所述接收端发送所述第一校验报文。
所述组播发送者301,还用于采用单播方式重新向所述接收端发送所述第一校验报文。
所述组播发送者301,还用于如果接收到来自所述接收端的NAK,则向所述接收端发送所述NAK对应的组播数据报文。
所述组播接收者302,还用于如果未接收到所述NAK对应的组播数据报文,且所述NAK的发送次数未到达预设阈值,按照预定重发频率向所述发送端重复发送所述NAK。
所述组播接收者302,还用于在接收到所述第一校验报文后,向所述发送端发送与所述第一校验报文对应的肯定应答ACK。
上述组播发送者301可以为组播源,也可以是组播传输设备,例如组播路由器。上述组播接收者302可以为组播用户接收端,也可以是组播传输设备,例如组播路由器。根据以上描述可知,由参与该组播组的组播传输设备,例如组播路由器实施,可以实现组播数据报文传输的分段丢包发现和重传,不仅可以提高丢包发现和重传效率,还可以避免丢包对接收端的影响,提高组播用户的体验。
参见图4,为本发明实施例提供的另一组播传输装置的结构示意图。
如图4所示,所述组播传输装置包括处理器401,存储器402,通信接口403,所述处理器401、所述存储器402与所述通信接口403之间通过总线404连接。
其中,所述总线404可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器402用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。所述存储器402可能包含随机存取存储器(Random Access Memory,简称RAM)存储器,也可能还包括非易失性存储器(Non-Volatile Memory),例如至少一个磁盘存储器。
所述处理器401执行所述存储器402存放的程序,用于:通过通信接口403从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;根据所述序列号信息确定所述组播组的应接收组播数据报文的信息;通过通信接口403从所述组播组的数据通道接收组播数据报文;在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,通过通信接口403向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。这样,可以快速、准确地发现在传输过程中丢失的组播数据报文,从而大大提高组播传输的可靠性。
所述处理器401,还用于如果未接收到所述NAK对应的组播数据报文,且所述NAK的发送次数未到达预设阈值,按照预定重发频率通过通信接口403向所述发送端重复发送所述NAK。
所述处理器401,还用于在接收到所述第一校验报文后,通过通信接口403向所述发送端发送与所述第一校验报文对应的肯定应答ACK。
所述处理器401,还用于确定待发送的所述组播组的N个组播数据报文;为所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息;通过通信接口403使用所述组播组的控制通道向接收端发送所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息;通过通信接口403使用所述组播组的数据通道向所述接收端发送所述N个组播数据报文。其中,所述N个组播数据报文的序列号信息可以为所述N个组播数据报文的发送序号;当所述N个组播数据报文的发送序号连续时,所述N个组播数据报文的序列号信息可以为:所述N个组播数据报文的初始发送序号及所述N个组播数据报文的数量N。这样,在向组播用户接收端发送组播数据报文时,通过生成第二校验报文,可以使接收端快速、准确地发现在传输过程中丢失的组播数据报文。
所述处理器401,还用于如果在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则通过通信接口403重新向所述接收端发送所述第二校验报文。在重新向所述接收端发送所述第二校验报文时,可以采用单播方式。
所述处理器401,还用于如果接收到来自所述接收端的NAK,则通过通信接口403向所述接收端发送所述NAK对应的组播数据报文。
上述处理器401可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种组播传输方法,其特征在于,所述方法包括:
组播传输设备从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;
所述组播传输设备根据所述序列号信息确定所述组播组的应接收组播数据报文的信息;
所述组播传输设备从所述组播组的数据通道接收组播数据报文;
所述组播传输设备在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;
如果存在丢失组播数据报文,所述组播传输设备向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息;
所述方法还包括:
所述组播传输设备确定待发送的所述组播组的N个组播数据报文;
所述组播传输设备为所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息;
所述组播传输设备通过所述组播组的控制通道向接收端发送所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息;
所述组播传输设备通过所述组播组的数据通道向所述接收端发送所述N个组播数据报文。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果未接收到所述NAK对应的组播数据报文,且所述NAK的发送次数未到达预设阈值,所述组播传输设备按照预定重发频率向所述发送端重复发送所述NAK。
3.如权利要求1所述的方法,其特征在于,所述N个组播数据报文的序列号信息为:
所述N个组播数据报文的发送序号;或者,
所述N个组播数据报文的初始发送序号及所述N个组播数据报文的数量N。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述组播传输设备如果在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则重新向所述接收端发送所述第二校验报文。
5.一种组播传输装置,其特征在于,应用于组播传输设备,所述装置包括:
接收单元,用于从组播组的控制通道接收第一校验报文,所述第一校验报文中包括序列号信息;
确定单元,用于根据所述接收单元接收到的所述序列号信息确定所述组播组的应接收组播数据报文的信息;
所述接收单元,还用于从所述组播组的数据通道接收组播数据报文;
检测单元,用于在第一预定时间内,根据所述接收单元已接收的组播数据报文,以及所述确定单元确定的应接收组播数据报文的信息,检测是否存在丢失组播数据报文;
发送单元,如果所述检测单元检测到丢失组播数据报文,向所述组播组的发送端发送否定应答NAK,以便于所述发送端重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息;所述装置还包括:
准备单元,用于确定待发送的所述组播组的N个组播数据报文;
生成单元,用于为所述准备单元确定的所述N个组播数据报文生成对应的第二校验报文,所述第二校验报文中包括所述N个组播数据报文的序列号信息;
所述发送单元,还用于通过所述组播组的控制通道向接收端发送所述生成单元生成的所述第二校验报文,以使所述接收端根据所述第二校验报文确定丢包信息;通过所述组播组的数据通道向所述接收端发送所述准备单元确定的N个组播数据报文。
6.如权利要求5所述的装置,其特征在于,
所述生成单元,具体用于生成包含所述准备单元确定的所述N个组播数据报文的发送序号的第二校验报文;或者用于当所述准备单元确定的所述N个组播数据报文的发送序号连续时,生成包含所述N个组播数据报文的初始发送序号及待发送的组播数据报文数量的第二校验报文。
7.如权利要求5或6所述的装置,其特征在于,
所述发送单元,还用于在所述第二校验报文发送后的第二预定时间内,未接收到与所述第二校验报文对应的ACK,则重新向所述接收端发送所述第二校验报文。
8.一种组播传输系统,其特征在于,所述系统包括组播发送者与组播接收者,
所述组播发送者,用于确定待发送的所述组播组的N个组播数据报文;为所述N个组播数据报文生成对应的第一校验报文,所述第一校验报文中包括所述N个组播数据报文的序列号信息;通过所述组播组的控制通道向接收端发送所述第一校验报文,以使所述接收端根据所述第一校验报文确定丢包信息;通过所述组播组的数据通道向所述接收端发送所述N个组播数据报文;
所述组播接收者,用于从组播组的控制通道接收所述组播发送者发送的所述第一校验报文;根据所述序列号信息确定所述组播组的应接收组播数据报文的信息;从所述组播组的数据通道接收组播数据报文;在第一预定时间内,根据已接收的组播数据报文,以及确定的应接收所述组播发送者发送的所述组播数据报文的信息,检测是否存在丢失组播数据报文;如果存在丢失组播数据报文,向所述组播组的组播发送者发送否定应答NAK,以便于所述组播发送者重发所述丢失组播数据报文,所述NAK中包括所述丢失组播数据报文的序列号信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410229489.XA CN105162706B (zh) | 2014-05-28 | 2014-05-28 | 组播传输方法、装置及系统 |
PCT/CN2014/090463 WO2015180418A1 (zh) | 2014-05-28 | 2014-11-06 | 组播传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410229489.XA CN105162706B (zh) | 2014-05-28 | 2014-05-28 | 组播传输方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105162706A CN105162706A (zh) | 2015-12-16 |
CN105162706B true CN105162706B (zh) | 2018-07-31 |
Family
ID=54698010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410229489.XA Active CN105162706B (zh) | 2014-05-28 | 2014-05-28 | 组播传输方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105162706B (zh) |
WO (1) | WO2015180418A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106385322B (zh) * | 2016-09-07 | 2019-11-15 | 海能达通信股份有限公司 | 一种数据组呼方法、装置及系统 |
CN106911485B (zh) * | 2017-03-16 | 2020-09-15 | 恒生电子股份有限公司 | 用于可靠组播传输数据的方法及设备 |
CN112398797B (zh) * | 2019-08-19 | 2023-05-02 | 贵州白山云科技股份有限公司 | 数据传输方法、接收装置、发送装置、介质、设备及系统 |
CN111180049A (zh) * | 2019-12-31 | 2020-05-19 | 广州市华奕电子科技有限公司 | 医学影像数据一对多快速传送方法 |
CN111865625A (zh) * | 2020-07-17 | 2020-10-30 | 大连飞创信息技术有限公司 | 一种可靠组播软件实现方法 |
WO2022111693A1 (zh) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | 数据传输方法和相关设备 |
CN113315815B (zh) * | 2021-05-10 | 2023-03-03 | 华锐分布式(北京)技术有限公司 | 文件传输方法、装置、计算机设备和存储介质 |
CN116389178B (zh) * | 2023-04-07 | 2023-11-03 | 国家气象信息中心(中国气象局气象数据中心) | 一种数据文件udp组播丢失帧级补调方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1722506A1 (en) * | 2005-05-10 | 2006-11-15 | Harris Corporation | Multicast data communication method and network |
CN101848096A (zh) * | 2009-03-26 | 2010-09-29 | 华为技术有限公司 | 减少组播确认风暴的方法和装置 |
CN102217258A (zh) * | 2011-04-12 | 2011-10-12 | 华为技术有限公司 | 探测处理方法、数据发送端、数据接收端以及通信系统 |
CN102547386A (zh) * | 2012-01-12 | 2012-07-04 | 华为技术有限公司 | 数据重传方法、系统、组播服务器及用户终端 |
CN102761491A (zh) * | 2012-07-24 | 2012-10-31 | 浙江工商大学 | 一种ForCES协议消息的可靠组播传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309199A (zh) * | 2007-05-18 | 2008-11-19 | 华为技术有限公司 | 避免业务数据丢失的方法及系统及实体 |
CN102291374A (zh) * | 2010-06-21 | 2011-12-21 | 华为技术有限公司 | 一种拼接流传输的方法、装置及系统 |
CN102318272B (zh) * | 2011-06-29 | 2013-12-18 | 华为技术有限公司 | 一种进程组中的异常组成员离开的方法 |
-
2014
- 2014-05-28 CN CN201410229489.XA patent/CN105162706B/zh active Active
- 2014-11-06 WO PCT/CN2014/090463 patent/WO2015180418A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1722506A1 (en) * | 2005-05-10 | 2006-11-15 | Harris Corporation | Multicast data communication method and network |
CN101848096A (zh) * | 2009-03-26 | 2010-09-29 | 华为技术有限公司 | 减少组播确认风暴的方法和装置 |
CN102217258A (zh) * | 2011-04-12 | 2011-10-12 | 华为技术有限公司 | 探测处理方法、数据发送端、数据接收端以及通信系统 |
CN102547386A (zh) * | 2012-01-12 | 2012-07-04 | 华为技术有限公司 | 数据重传方法、系统、组播服务器及用户终端 |
CN102761491A (zh) * | 2012-07-24 | 2012-10-31 | 浙江工商大学 | 一种ForCES协议消息的可靠组播传输方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015180418A1 (zh) | 2015-12-03 |
CN105162706A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105162706B (zh) | 组播传输方法、装置及系统 | |
JP4275122B2 (ja) | 遅延変動を減少する送信装置及び関連方法 | |
US7710973B2 (en) | Error masking for data transmission using received data | |
CN103269260A (zh) | 数据传输方法、数据接收端、数据发送端和数据传输系统 | |
CN108833293B (zh) | 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置 | |
JP2009260969A (ja) | Ttiバンドリング伝送を改善する方法及び通信装置 | |
CN104780028A (zh) | 一种实现tcp数据报文重传的方法及设备 | |
US9197373B2 (en) | Method, apparatus, and system for retransmitting data packet in quick path interconnect system | |
CN103141050B (zh) | 快速通道互联系统中数据包重传方法、节点 | |
WO2020119347A1 (zh) | 一种消息传输方法、装置、设备及介质 | |
KR102046792B1 (ko) | 송신 노드로부터 목적지 노드로의 데이터 전송 방법 | |
CN107104902B (zh) | 一种rdma数据传输的方法、相关装置与系统 | |
CN110247736B (zh) | 一种数据传输方法及装置 | |
CN109981385B (zh) | 一种实现丢包检测的方法、装置和系统 | |
CN103973414A (zh) | 一种数据传输方法及装置 | |
JP2012186839A (ja) | Udp基盤の通信方法 | |
CN106911485B (zh) | 用于可靠组播传输数据的方法及设备 | |
JPWO2013011545A1 (ja) | 送信装置、受信装置、通信装置、通信システムおよび送信方法 | |
US9432145B2 (en) | Multi-cast optimized medium access method for wireless network | |
CN107820218A (zh) | 报文传输方式的设定方法及设备 | |
CN108667563A (zh) | 一种前向纠错包个数获取方法及装置 | |
CN109586931B (zh) | 组播方法及终端设备 | |
CN104850517B (zh) | 一种dma传输报文数据的方法及装置 | |
CN104426866A (zh) | 一种数据传输方法及装置 | |
WO2013052060A1 (en) | Communication over a wireless connection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |