以太网组播可靠传输的方法

文档序号:7597957阅读:646来源:国知局
专利名称:以太网组播可靠传输的方法
技术领域
本发明涉及计算机网络通信领域,尤其涉及以太网组播报文可靠传输的方法。
背景技术
随着网络通信技术的日益发展,组播技术在网络通信中得到了广泛的应用,它具备组播报文一次发送、利用网络接口硬件检查帧的优点,组播技术的实现大大提高了网络中报文的转发效率。但是传统的以太网组播是不可靠的,它不保证每一个组播成员都能收到每一个报文。目前还未发现一种比较成熟的可靠以太组播协议。
与此同时,目前存在一些可靠的单播传输协议,例如HDLC(高级数据链路控制)、SDLC(同步数据链路控制)、LAP(链路访问协议)、LLC2(IEEE802.2中逻辑链路控制2类协议)等等,它们通过确认(ACK)和重传等机制来保证报文的可靠传输。其中LLC2协议可直接应用于以太网,另外也有部分协议通过对HDLC等协议进行修改而应用于以太网。鉴于上述协议提供的是点对点的服务,因此不能直接应用于组播传输。

发明内容
本发明所要解决的技术问题是提供一种以太网可靠组播传输的方法,实现对以太组播报文传输的可靠性,从而解决目前尚无可靠以太组播专有协议的问题,克服传统以太组播不可靠的缺点。
本发明解决所述技术问题所采用的技术方案是,修改可靠以太网单播协议,提供一种以太网可靠组播传输的方法,在所述单播协议传输层增加第一级组播报文传输队列,所述单播协议具有第二级单播传输队列和报文传输的可靠机制,通过两级的发送队列来实现组播报文的可靠传输。
所述的单播协议维护一个第一级传输队列,负责组播报文的实际发送。所述单播协议根据不同的组播目标对象维护多个第二级单播传输队列。具体步骤包括a.待发送组播报文入队到所述的第一级传输队列,并置上组播标记;b.根据组播报文的目标对象分别入队到对应的所述的第二级单播传输队列;c.所述的第一级传输队列进行报文发送;d.该已发送组播报文所有目标对象的ACK报文回来后,该报文出队。即当第一级组播队列接收到同一报文的所有组播目标对象的确认信息后,表明发送成功,就按出队处理。在所述的第一级组播发送队列,报文可以不按顺序出队,也就是说每个已发送报文不用等待它前面的组播报文确认回来后才可以出队,这样可以保证不同组播组的发送报文之间的出队不会相互影响。还包括以下步骤e.所述的第二级单播发送队列在进行报文发送时,根据报文的组播标记位判断报文是组播报文时,只做正常的可靠控制初始化处理(这样每个单播的状态机可以继续正常运转下去,以保持对所有响应报文的正确处理。),不实际发送报文;f.在接收到目标对象的响应报文时,按照可靠控制程序处理确认后,该报文出队,同时通知第一级队列中对应的组播报文,这里需要注意的是,单播队列中报文是按序出队的,这样对于相同组播组的报文,可以保证按序出队。
本发明的有益效果是,通过对可靠以太单播协议进行修改,充分利用了现有单播协议成熟、可靠的优点,增加了对可靠组播的支持,从而解决了目前无可靠以太组播协议的局面。同时由于我们仅采用了一个队列维护所有的组播报文,达到了简单、高效的结果。
以下结合附图和具体实施方式
对本发明作进一步的说明。


图1是本发明的两级发送队列示意图。
图2是本发明的组播报文发送流程图。
图3是本发明的组播报文确认流程图。
图4是一个两级发送队列的状态示意图1。
图5是一个两级发送队列的状态示意图2。
图6是一个两级发送队列的状态示意图3。
具体实施例方式
以LLC2作为可靠以太单播协议为例,在LLC2传输层增加一级组播队列进行组播报文的管理,如图1所示。其中第二级队即原有的LLC2层的单播发送队列,针对不同的目标将会存在多个第二级队列;第一级队列为第二级队列之上的一个组播发送队列,本队列仅有一个,负责所有组播报文的维护。
下面详细描述本发明中对应的组播报文的发送和确认方法1.组播报文发送,如图2所示。
a.组播报文入队到第一级队列;b.检查每个涉及到的单播的PCB(协议控制块)的状态,如果其中有任何一个状态非正常,则组播报文出队,同时报告错误;c.将该报文打上组播标记,入队到每个涉及的第二级队列(单播发送队列)中;d.将每个单播PCB中相应的状态字段(例如发送状态变量字段)以及定时器等都做正常LLC2处理,但实际不发送报文;e.将第一级队列中的组播报文发送。
2.组播报文确认,如图3所示。
a.对端返回响应时,相应单播PCB就会将队列中的报文出队。
如果发现是组播报文,那么,就返回来查找第一级队列中的组播发送的控制块,将目标列表中对应的目标清除;b.当组播报文所有对应目标的响应都回来后,就将该组播报文出队;c.如果某个单播PCB的响应出现了问题,那么该单播PCB就将该组播报文当作单播报文一样进行处理,进行重传;d.如果单播报文重传仍然失败,表明源与目标之间的链路出现故障,此时将该单播报文出队,同时查找到第一级队列中对应的组播报文,将该报文出队,同时报告错误。
以下以一个简单的例子进行说明,一个以太网络中包含5台主机,分别以A、B、C、D、E命名,以A为源进行组播报文的发送,同时假设所有连接都出于正常状态a.假设组播报文1,目标对象为B、E,报文1入第一级发送队列,打上组播标记后,分别入B、E对应的单播发送队列,进行相应控制处理后,队列1将报文1进行实际发送;
b.假设组播报文2,目标对象为B、E,报文2入第一级发送队列,打上组播标记后,分别入B、E对应的单播发送队列,进行相应控制处理后,队列1将报文2进行实际发送;c.假设组播报文3,目标对象为C、D,报文3入第一级发送队列,打上组播标记后,分别入C、D对应的单播发送队列,进行相应控制处理后,队列1将报文3进行实际发送;d.假设组播报文4,目标对象为B、E,报文4入第一级发送队列,打上组播标记后,分别入B、E对应的单播发送队列,进行相应控制处理后,队列1将报文4进行实际发送。此时发送队列的状态如图4所示;e.假设此后A收到B、E对报文1的确认,则在单播发送队列中将报文出列,同时清除第一级队列中报文1对应的目标,当报文1所有目标均被清除后,将报文1从第一级队列中出队。此时发送队列的状态如图5所示;f.假设此后A收到C、D对报文3的确认,则在单播发送队列中将报文出列,同时清除第一级队列中报文3对应的目标,当报文3所有目标均被清除后,将报文3从第一级队列中出队。此时发送队列的状态如图6所示,注意此时第一级队列中报文3不是按序出队的。
g.我们观察第二级队列的情况,由于此队列是按照LLC2的处理方式进行确认、出队的,报文4将不可能比报文2早出队,因此对应到第一级队列中,报文4也将不可能比报文2早出队。这样我们利用了LLC2按序出队的特点,来保证同一组播组报文的按序出队。
本组播方案采用LLC2的流控方式,故障检测采用保活报文的方式,因这些内容不涉及创新部分,同时不影响数据通信的正常流程,故在此不再赘述。
权利要求
1.一种以太网组播可靠传输的方法,包括具有可靠传输的单播协议,其特征在于,增加第一级组播传输队列在所述单播协议的第二级单播传输队列上,通过两级的报文传输队列,进行以太网组播报文可靠传输的管理。
2.如权利要求1所述太网组播可靠传输的方法,其特征在于,所述的第一级组播传输队列负责组播报文的实际发送。
3.如权利要求1或2所述太网组播可靠传输的方法,其特征在于,所述的组播传输队列只有一个。
4.如权利要求1所述太网组播可靠传输的方法,其特征在于,包括以下步骤a.待发送组播报文入队到所述的第一级组播传输队列,并置上组播标记;b.根据组播报文的目标对象分别入队到对应的所述的第二级单播传输队列;c.所述的第一级传输队列进行报文发送;d.该已发送组播报文所有目标对象的ACK报文回来后,该报文出队。
5.如权利要求4步骤d所述太网组播可靠传输的方法,其特征在于,所述的第一级组播传输队列,报文可以不按顺序出队。
6.如权利要求4或5权利要求所述太网组播可靠传输的方法,其特征在于,还包括如下步骤e.所述的第二级单播传输队列在进行报文发送时,根据报文的组播标记位判断报文是组播报文时,只做正常的可靠控制初始化处理,不实际发送报文;f.接收到目标接收对象的响应报文时,所述的第二级单播传输队列按照可靠控制程序处理确认后,该报文出队,同时通知第一级队列中对应的组播报文。
全文摘要
以太网组播可靠传输的方法,涉及计算机网络通信领域,尤其涉及以太网组播报文可靠传输的方法。本发明的以太网组播可靠传输的方法,修改以太网单播协议,在所述单播协议传输层增加第一级组播报文传输队列,所述单播协议具有第二级单播传输队列和报文传输的可靠机制,通过两级的发送队列来实现组播报文的可靠传输。本发明的有益效果是,通过对可靠以太单播协议进行修改,充分利用了现有单播协议成熟、可靠的优点,增加了对可靠组播的支持,从而解决了目前无可靠以太组播协议的局面。同时由于我们仅采用了一个队列维护所有的组播报文,达到了简单、高效的结果。
文档编号H04L12/56GK1655531SQ20041008152
公开日2005年8月17日 申请日期2004年12月17日 优先权日2004年12月17日
发明者宋舰, 朱永权 申请人:迈普(四川)通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1