一种ForCES协议消息的可靠组播传输方法

文档序号:7856516阅读:150来源:国知局
专利名称:一种ForCES协议消息的可靠组播传输方法
技术领域
本发明涉及网络件的技术,具体涉及ForCES网络件内协议消息的可靠组播传输方法。
背景技术
随着互联网等计算机技术网络应用领域的迅速扩大,新特性、新需求不断出现并不断变化,这就要求新一代网络设备应该具有足够的灵活性,能快速地对新业务、新需求作出响应;要求新一代网络设备应该具有足够的开放性,使用户可以根据所开放的资源灵活组合,以提供不同的网络需求服务;要求新一代网络设备应该具有足够的模块化特性,并通过标准化组织进行标准化,使得每个模块可以由不同厂家独立研究开发,又可以通过积木式有机组合成一个整体,这种积木式的发展模式可以极大地加快产品的开发过程,同时也 可以有利于良性竞争、降低成本,个人计算机(PC)的发展已经充分证明了该模式的有效性。为满足新一代网络的以上要求,IETF成立了专门的ForCES(Forwarding andControl Element Separation,转发与控制件分离)工作组。转发与控制分离网络件的典型结构如图I所示。ForCES协议规定了转发件和控制件间信息交换的格式定义方法,信息被表示成一条条的消息格式,该消息被称为“ForCES协议消息”,ForCES协议消息通常可被分成两类控制协议消息和重定向协议消息。控制协议消息是该转发件或控制件自己产生的用于控制类信息交换目的的协议消息,如用于配置或查询转发件或控制件的参数的协议消息等;重定向协议消息是用来承载数据包的协议消息,转发件和控制件间通常需要交换纯数据类信息。为了使ForCES协议标准的设计与所用的不同传输技术无关,ForCES协议的传输机制被设计成如图2所示的结构。信息传输过程由两个单元完成协议单元和传输映射单元。协议单元可能产生两类不同的协议消息控制协议消息和重定向协议消息,传输映射单元通常被划分为两个通道控制协议消息通道和重定向协议消息通道。控制协议消息是用于配置或查询转发件或控制件的参数的协议消息,是ForCES协议的内部消息,控制协议消息的传输需要保证可靠性,在ForCES网络件内主要由控制件向转发件发送。然而在一个ForCES网络件内,一个主控制件与多个转发件相连,控制件以单播的方式向转发件发送控制协议消息,当控制件必须向每个希望接收此消息的转发件发送一份单独的消息时,会带来巨大的冗余信息,会给控制件带来沉重的负担,因为控制件必须多次发送同一条消息,这将影响整个控制件的性能,并造成巨大的网络带宽浪费。为了解决上述问题,现有技术采用组播,控制件一次将数据包发送给多个转发件,即一对多的通信模式。目前使用的组播主要有IP组播和应用层组播。IP组播是指源主机同时向加入的组播组的主机传送同一数据包,数据包在路由器上进行复制与转发,所谓同时,指发送方只需构造一个数据包,在其目的地地址填入IP组播组地址,一次发送出去,而不必端对端地多次重复发送。应用层组播的思想是将对组播功能的支持从路由器转移到终端系统,在终端之间运用原来的单播方式进行传输,这样不必改变原有网络中基础设施,也不需要路由器维护组播组的路由表,可以比较容易地实现组播,加速了应用。ForCES路由器中控制件向转发件发送的控制协议消息需要保证可靠性,而传统IP组播只采用UDP协议来传输消息,不能保证数据的可靠性,因此不能直接用IP组播来实现ForCES路由器中控制件向转发件发送的控制协议消息的组播;对于应用层组播,现在大量的关于应用层组播研究的文献表明应用层组播相比于IP组播带宽消耗更大,可靠性差,传输效率低,在改善ForCES路由器性能方面弊大于利,因此不采用应用层组播。

发明内容
本发明针对现有技术的不足,提出了 一种ForCES协议消息的可靠组播传输方法。一种ForCES协议消息的可靠组播传输方法,该方法包括以下步骤
步骤一控制件利用可靠组播控制模块查找并选择组播列表,然后使用IGMP协议加入一个新的组播组,并分配ForCES协议组播ID号,控制件依据组播IP地址及ForCES协议组播ID号维护每一个组播组;
步骤二 控制件通过TCP通道向转发件下发一个组播传输加入消息以通知转发件加入组播组。步骤三转发件收到控制件的组播传输加入消息后,使用IGMP协议加入组播组,并通过TCP通道回复一个组播传输加入确认消息。步骤四控制件定时通过控制协议消息通道发送一个会话报文,该报文包括控制件当前所发送数据包的最大序列号。步骤五控制件将要发送给转发件的数据包储存在缓存管理模块中,并通过重定向协议消息通道将数据包发送给转发件。步骤六转发件收到组播消息后,转发件可靠组播控制模块通过丢包检测模块来检测数据包的丢失情况,丢包检测成功则说明数据包没有丢失,转发件将数据包交给上层模块进行处理;丢包检测失败则说明数据包丢失,转发件可靠组播控制模块通过请求模块向控制件发送一个请求包以通知控制件该转发件丢失了数据包,并让控制件可靠组播控制模块通过修复模块启动修复定时器。该请求包通过控制协议消息通道进行传输,控制件收到转发件发送的请求包后,从缓存管理模块中查找修复包,将该修复包通过控制协议消息通道发送给请求该包的转发件。步骤七转发件收到所有的数据包后,向控制件发送一个结束包以通知控制件整个组播发送阶段结束,该结束包通过控制协议消息通道进行传输。步骤八当控制件向转发件发送完所有的数据包后,控制件删除缓存管理模块中的信息,同时控制件维护协议单元中的组播列表以便下次使用。所述的转发件端丢包检测模块,当检测到接收到的数据包序列号与已收到的会话报文中最大序列号不同并且丢包检测定时器超时,丢包检测模块就检测出有数据包丢失。所述的组播传输准备消息包含组播组ID及组播组地址。所述的转发件端丢包检测模块是根据接收到的数据包序列号与已收到会话报文中最大序列号的异同,并结合丢包检测定时器是否超时来检测数据包的丢失情况。有益效果采用本发明方法来进行ForCES路由器中控制协议消息组播传输,与利用单播采用TCP传输时相比,CE的负担大大减小并且占用带宽量将大大减少,从而使ForCES收敛性增强;与采用传统IP组播方法传输时相比,可以保证控制协议消息的可靠传输,从而保证ForCES路由器的性能优良性。


图I是转发与控制分离网络件的结构示意 图2是协议单元与传输映射单元的关系结构示意 图3是CE与FE的组播交互流程示意 图4是CE端可靠组播模块示意 图5是状态信息模块流程示意图;
图6是FE端可靠组播模块示意 图7是丢包检测模块流程示意 图8是请求模块流程示意 图9是修复模块流程示意图。
具体实施例方式 一种ForCES协议消息的可靠组播传输方法,应用于ForCES网络件中控制件与转发件间ForCES协议消息的批量传输,从图3控制件与转发件的组播交互流程图可以看出,交互流程可划分为三个阶段,分别为组播准备阶段(1、2、3)、组播发送阶段(4、5、6、7)、组播结束阶段(8)。该方法包括
步骤一控制件利用可靠组播控制模块查找并选择组播列表,然后使用IGMP协议加入一个新的组播组,并分配ForCES协议组播ID号,控制件依据组播IP地址及ForCES协议组播ID号维护各类组播组;控制件端可靠组播控制模块如图4所示,由缓存管理模块和控制单元组成。缓存管理模块用来存放数据包,当FE出现丢包时,FE向CE发送请求,CE从缓存管理模块中查找FE所需的修复包。同时,为了防止上层交付的数据包速率过快、处理时延过长而导致丢包,应把上层交付的数据包先存放在缓存中,再依次逐个发送;控制单元是CE端可靠组播模块的核心,它由修复模块、状态信息模块和周期定时器组成,主要完成丢包的修复工作,并且完成定时发送当前发送信息的工作。修复模块收到请求包时,从缓存管理模块中查找FE所请求的修复包,并使用可靠的TCP发送给所请求的FE,状态信息模块启动周期定时器,定时从缓存管理模块中读取当前CE所发送的最大序列号,并将该信息封装为会话报文通过控制通道发送给组播组中所有FE。步骤二 控制件可靠组播控制模块通过TCP通道向转发件下发一个组播传输加入消息以通知转发件加入组播组。步骤三转发件收到控制件的组播传输加入消息后,使用IGMP协议加入组播组,并通过TCP通道回复一个组播传输加入确认消息。步骤四控制件定时通过控制协议消息通道发送一个会话报文,该报文包括控制件当前所发送数据包的最大序列号。当缓存管理模块通过重定向通道发送第一个数据包后通知状态信息模块开始发送会话报文,并且进入状态信息模块流程首先判断是否收到来自修复模块的结束包,若收到该通知则直接结束整个状态信息模块流程;若没有收到,则查看缓存管理模块当前已发送数据包的最大序列号,将该序列号填充于会话报文中,然后通过控制通道发送会话报文并且设置周期定时器,当定时器超时进入状态信息模块流程,状态信息模块流程图如图5所示;步骤五控制件将要发送给转发件的数据包储存在缓存管理模块中,并通过重定向协议消息通道将数据包发送给转发件。缓存管理模块用来存放数据包,当FE出现丢包时,FE向CE发送请求,CE从缓存管理模块中查找FE所需的修复包。同时,为了防止上层交付的数据包速率过快、处理时延过长而导致丢包,应把上层交付的数据包先存放在缓存中,再依次逐个发送。步骤六当转发件收到组播消息后,转发件可靠组播控制模块通过丢包检测模块来检测数据包的丢失情况,丢包检测成功则说明数据包没有丢失,转发件将数据包交给上层模块进行处理。如图6所示,FE端可靠组播模块由缓存管理模块与控制单元组成,缓存管理模块用来存放收到的数据包并接受修复包,用于将完整正确的数据交付给上层进行处理,起到缓冲FE端数据流的作用。控制单元是FE端可靠组播模块的核心,它由请求模块、丢包检测模块、修复定时器和丢包检测定时器组成。丢包检测模块是保证组播可靠传输的基础,本发明使用定时器策略和序列号策略相结合的方式来进行丢包检测,具体方法如下丢包检测模块自收到第一个会话报文后即进入丢包检测模块流程,丢包检测模块流程图如图7所示,此后丢包检测模块周期性的接收会话报文,记录更新会话报文中的最大序列号, 每当丢包检测模块收到一个数据包时,通过比较数据包的序列号与该最大序列号来检测是否收到期望的数据包,如果两序列号不同说明数据包丢失;丢包检测失败则说明数据包丢失,转发件可靠组播控制模块通过请求模块向控制件发送一个请求包以通知控制件该转发件丢失了数据包,并让控制件可靠组播控制模块通过修复模块启动修复定时器。该请求包通过控制协议消息通道进行传输。请求模块流程图如图8所示,它负责丢包请求和修复包的接收,当请求模块收到丢包检测模块发来的丢包序列号后,即通过控制协议消息通道向CE端发送相应请求包,同时请求模块启动修复定时器,若在修复定时器超时前未收到修复包,则继续发送该请求包并重置修复定时器,请求模块接收到修复包时,将修复包交付给缓存管理模块,并撤销修复定时器。当FE端可靠组播模块收到上层传送的组播结束通知消息后结束请求模块流程,并通过控制协议消息通道发送结束包给CE端。控制件收到转发件发送的请求包后,从缓存管理模块中查找修复包,将该修复包通过控制协议消息通道发送给请求该包的转发件。修复模块自收到第一个请求包或结束包时进入修复模块流程,当收到请求包时从缓存模块中查找修复包并通过控制通道发送给所请求的FE,当收到结束包时通过缓存管理模块发送给状态信息模块以通知其结束状态信息模块流程。修复模块流程图如图9所示。步骤七转发件收到所有的数据包后,向控制件发送一个结束包以通知控制件整个组播发送阶段结束,该结束包通过控制协议消息通道进行传输。步骤八当控制件向转发件发送完所有的数据包后,控制件删除缓存管理模块中的信息,同时控制件维护协议单元中的组播列表以便下次使用。
权利要求
1.一种ForCES协议消息的可靠组播传输方法,其特征在于,该方法包括以下步骤 步骤一控制件利用可靠组播控制模块查找并选择组播列表,然后使用IGMP协议加入一个新的组播组,并分配ForCES协议组播ID号,控制件依据组播IP地址及ForCES协议组播ID号维护每一个组播组; 步骤二 控制件通过TCP通道向转发件下发一个组播传输加入消息以通知转发件加入组播组; 步骤三转发件收到控制件的组播传输加入消息后,使用IGMP协议加入组播组,并通过TCP通道回复一个组播传输加入确认消息; 步骤四控制件定时通过控制协议消息通道发送一个会话报文,该报文包括控制件当前所发送数据包的最大序列号; 步骤五控制件将要发送给转发件的数据包储存在缓存管理模块中,并通过重定向协议消息通道将数据包发送给转发件; 步骤六转发件收到组播消息后,转发件可靠组播控制模块通过丢包检测模块来检测数据包的丢失情况,丢包检测成功则说明数据包没有丢失,转发件将数据包交给上层模块进行处理;丢包检测失败则说明数据包丢失,转发件可靠组播控制模块通过请求模块向控制件发送一个请求包以通知控制件该转发件丢失了数据包,并让控制件可靠组播控制模块通过修复模块启动修复定时器,该请求包通过控制协议消息通道进行传输,控制件收到转发件发送的请求包后,从缓存管理模块中查找修复包,将该修复包通过控制协议消息通道发送给请求该包的转发件; 步骤七转发件收到所有的数据包后,向控制件发送一个结束包以通知控制件整个组播发送阶段结束,该结束包通过控制协议消息通道进行传输; 步骤八当控制件向转发件发送完所有的数据包后,控制件删除缓存管理模块中的信息,同时控制件维护协议单元中的组播列表以便下次使用; 根据权利要求I所述的一种ForCES协议消息的可靠组播传输方法,其特征在于所述的控制件在利用可靠组播控制模块查找并选择组播列表时,查找到组播列表,则直接使用;查找不到,则可靠组播控制模块建立一个空组播列表。
2.根据权利要求I所述的一种ForCES协议消息的可靠组播传输方法,其特征在于所述的组播传输准备消息包含组播组ID及组播组地址。
3.根据权利要求I所述的一种ForCES协议消息的可靠组播传输方法,其特征在于所述的转发件端丢包检测模块,当检测到接收到的数据包序列号与已收到的会话报文中最大序列号不同并且丢包检测定时器超时,丢包检测模块就检测出有数据包丢失。
全文摘要
本发明公开了一种ForCES协议消息的可靠组播传输方法,在ForCES网络件的传输映射单元加入一个可靠组播模块,转发件内可靠组播模块负责丢包检测工作,控制件内可靠组播模块负责丢包修复工作,通过此方法来实现ForCES网络间内控制协议消息的可靠组播传输。本发明既能够使ForCES网络件内控制件处理较少的控制协议消息,节省网络带宽,又能保证控制协议消息的可靠传输,从而保证ForCES网络件的性能优良性。
文档编号H04L12/18GK102761491SQ20121025700
公开日2012年10月31日 申请日期2012年7月24日 优先权日2012年7月24日
发明者李传煌, 王伟明, 盛权 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1