CN105791054B - 一种基于流分类实现的自主可控可靠组播传输方法 - Google Patents
一种基于流分类实现的自主可控可靠组播传输方法 Download PDFInfo
- Publication number
- CN105791054B CN105791054B CN201610256805.1A CN201610256805A CN105791054B CN 105791054 B CN105791054 B CN 105791054B CN 201610256805 A CN201610256805 A CN 201610256805A CN 105791054 B CN105791054 B CN 105791054B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- mtu
- packet
- multicast
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于流分类实现自主可控的可靠组播传输方法,在特定网络中事先对所有可用IP静态划分管理,并自主设置所需的组播组;对网络传输中五元组决定的某一条流根据已知的传输数据特征进行分类,不同类型的流对应不同的优先等级和不同的纠错方法;采用心跳机制实现对传输通道MTU检测及拥塞状况的监控,并依据流分类信息实现传输路径的动态转换和拥塞控制;数据发送过程中基于流分类信息实现数据安全认证标记,多媒体数据分层组播,数据纠错和分片预处理以及多路径选择;数据接收过程中依据流分类信息实现数据分层订阅,分类纠错和重组解析;本发明便于在独立或已知各节点数据传输特征的IP网络中实现自主可控的可靠组播传输。
Description
技术领域
本发明属于网络传输技术领域,特别涉及一种基于流分类实现的自主可控可靠组播传输方法。
背景技术
随着网络技术的发展,FTP,SMTP,HTTP等传统数据业务已不能满足人们通信业务的需求,多点会议,资源同步,数据收集等多点对多点的高带宽多媒体应用的需求日益增加,IP组播避免在链路上传输重复报文,从而节省了网络带宽,可实现高效的组播通讯。对于承担特殊任务或试验的内部专用网络系统,设备的支持为构建独立专用的IP组播网提供了方便,而专用网络中对数据传输的安全性和可靠性有更高的要求。当前支持IP组播的标准传输层协议只有UDP,因而报文传输是不可靠的,而IP层数据传输只提供尽力型服务,不保证传输的可靠性。
自组播推出以来,业界也一直致力于可靠组播(RM:Reliable Multicast)研究。可靠组播除了需要完成基本的组播功能外,还必须针对差错控制、流量及拥塞控制和端到端延迟等问题提出解决办法。可靠组播协议机制的研究困难在于应用数据对可靠性要求差异很大,要综合考虑应用的服务要求和应用所处的网络环境,并利用通信流的特点提供高性能、低开销的RM通信服务。RM的核心是RM错误恢复算法和拥塞控制算法两部分。最理想的RM算法应当使吞吐率最大,而恢复的时延最小。
综合分析目前提出的可靠组播协议,在差错控制方面,主要有前馈、反馈及混合三种机制,前馈是采用FEC(Forward Error Correction,前向纠错)的方式,为发送数据添加纠错编码,接收方自动纠正发生的错误。反馈是采用ARQ(Automatic Repeat Request,自动重传请求)方式,重新传输丢失的数据包。前馈机制可以较好地保证数据传输的实时性,但以数据冗余作为代价,且纠错能力有限,反馈机制可以重传数据,但付出的是降低传输效率和增大时延的代价。
在流量及拥塞控制的实现上,可以分为基于发送方和接收方两种机制,前者由每个接收者向发送方发送反馈信息,发送方根据这些信息动态调整发送速率,后者则由接收方根据接收情况,动态调整自己的接收内容,增加或退订某些数据业务。基于发送方的拥塞控制会给发送方造成很大的压力,尤其是在用户增多时容易造成反馈风暴。基于接收方的拥塞控制比较适合多用户、大规模网络环境,但需要发送方提供分层业务或原始数据具有易分层的属性。
对于一些实时性及可靠性要求都较高的应用,OSI传输层的TCP协议和UDP协议都不甚完美,针对两者的诸般缺陷,业界也陆续推出了几个新的传输层协议,如适用于实时媒体流传输的SCTP(Stream Control Transfer Protocol,流控制传送协议),旨在替代UDP的DCCP(Datagram Congestion Control Protocol,数据拥塞控制协议)及UDP协议的升级版UDP-Lite(轻量级用户数据报协议)等。
流传输控制协议SCTP提供—种面向连接的可靠双向传输服务,与TCP和UDP最大不同是“多宿多流”的优点。多宿性是指SCTP可以使用多宿主机(具有多个网络接口的计算机)的多个网络接口,建立相互协作的冗余数据通道,提高数据的可靠性和可用性。多流性则是指SCTP为两个端点之间提供多条数据流用于消息传输,有效避免了TCP中常见的单个报文丢失影响后续报文发送的线头阻塞现象。
DCCP是IETF提出的旨在取代UDP的新传输协议,是一个可以进行拥塞控制的非可靠传输协议,提供多种拥塞控制机制,由用户进行协商选择。类似TCP,DCCP也是面向连接的,DCCP的两大功能就是通过建立、维护和拆除不可靠连接的数据流以及对不可靠数据流进行拥塞控制。虽然DCCP拟在解决互联网中的不可靠流传输,但目前也有研究者对DCCP能否取代UDP提出了质疑,即DCCP与TCP进行频带竞争方面尚需改进,相比于UDP,基于DCCP协议的应用具有更大的时延和更高的丢包率。
UDP-Lite协议适应于网络的差错率比较大,应用于对轻微差错不敏感的状态,例如视频图像传输。在UDP-Lite协议中,一个数据包到底需不需要对其载荷进行校验,或者是校验多少位都可以由用户控制,因此具有更高的可控性和较大的选择权。
到目前为止,业界虽然已经提出了许多协议和模型,但是还没有迹象显示其中哪个协议可能成为可靠组播的技术标准。其原因有两方面:一是目前解决差错控制、拥塞控制和流量控制的基本方法之间存在一定程度的矛盾,很难有效地将它们统一到一个共同的框架中来。这种矛盾几乎使任何可行的协议或模型只能侧重于某几个方面,设计一个完全满足所有应用需求的可靠组播协议,只会导致协议性能根本无法满足应用需求;二是不同的应用对可靠性的要求差异很大,即使能研究出一个满足所有要求的协议,对个别应用来说,运行这样庞大的机制也是很不经济的。由于实时与可靠,差错控制与拥塞控制本身就存在一定的矛盾,因此没有一种协议可以满足可靠传输的所有要求,都只适用于不同场景的不同需求。因此,随着研究的深入,业界不再追求建立一个通用的、标准的可靠组播通信模型,转而针对不同的应用需求,有取舍地选择侧重方向。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种基于流分类实现的自主可控可靠组播传输方法,在特定网络中事先对所有可用IP静态划分管理,并自主设置所需的组播组,对网络传输中由源IP,目的IP,源端口,目的端口和传输协议五元组决定的某一条流根据已知的传输数据特征进行分类;根据流分类信息实现数据分层组播传输,数据多路径传输,拥塞控制以及数据分类纠错,满足多种类型数据的传输需求,提高数据传输安全性,便于在独立或已知各节点数据传输特征的IP网络中实现自主可控的可靠组播传输。
为了实现上述目的,本发明采用的技术方案是:
一种基于流分类实现的自主可控可靠组播传输方法,包括:
采用心跳机制实现对传输通道MTU(Maximum Transfer Unit,最大传输单元)检测及拥塞状况监控,依据流分类信息实现传输路径的动态转换和拥塞控制;
数据发送过程中基于流分类信息实现数据安全认证标记、多媒体数据分层组播、数据纠错和分片预处理以及多路径选择处理;
数据接收过程中依据流分类信息实现数据分层订阅、分类纠错和重组解析。
所述传输通道MTU检测中,MTU列表由网络中各节点自行维护更新,包含内容为当前本节点到所有组播地址的各通道及与之对应的MTU值,在网络某一节点启动时对本节点MTU列表进行初始化,运行过程中也要按照特定的超时时间更新MTU列表,初始化及闲置超时处理进程包括以下几个阶段:
步骤1,网络中某一节点启动并初始化过程中,初始化机制向MTU探测模块发送MTU探测启动信号;
步骤2,系统运行期间各网络节点都以周期t判断有无传输任务,若无传输任务则将生成计时清零信号,使得通道闲置计时器计时清零,若有传输任务则生成允许计时信号使得闲置计时器计时加1,当闲置计时器计时达到t时,则向MTU探测模块发送MTU探测启动信号;
步骤3,MTU探测模块在接收到MTU探测启动信号后,探测各通道的MTU值,再将探测到的MTU值写入MTU列表。
所述步骤3中探测各通道的MTU值的过程包括:
假设本网络有n个组播组,则每个网络节点需要探测本节点到组播地址的n条通道的MTU。假设MTU可能聚类在初始探测空间[Mmin,Mmax)中,其中的Mmin,…,Mi…Mmax选为RFC1191建议的MTU值,则按照如下过程对n条通道同时进行探测:
1)探测源节点发送最小长度为Mmin的探测分组到一个组播地址,设置探测分组为不可分片,所有收到探测包的接收端发送反馈信息确认完整收到探测包的包长,探测源节点在一定时间段T(T取为从源探测包发出至所有该通道的反馈信息被完整收到所经历的时长)内记录收到的反馈信息数目m(由于另有心跳包检测通道的拥塞状况,所以在发送最小探测数据包时,不考虑路径拥塞造成的探测包或反馈信息丢失,此时可认为m是该组播组所有接收成员数目);
2)初始探测分组长度M=Mmax,探测分组设为不可分片,所有收到探测包的接收端发送反馈信息确认完整收到探测包的包长,在时间段T内若收到反馈数小于m,则以粒度s递减探测包长,即M=M-s,其中s取合适的粒度值,直到收到m个确认接收反馈,此时探测包长M即为该通道的MTU。
所述拥塞状况监控包括以下步骤:
步骤1,数据接收端接收带有时间戳标记的心跳包,据此计算心跳包到达时延T,根据T的取值分情况进行处理:
①T∈[0,高级组时延上限]:接收端加入基本组播、增强组播、高级组播;
②T∈(高级组时延上限,增强组时延上限]:接收端加入基本组播、增强组播;
③T∈(增强组时延上限,基础组时延上限]:接收端加入基本组播;
④T∈(基础组时延上限,∞):判断当前通道通断情况,若未断开则向发送端发送一个调整发送速率的反馈信号;若判断当前通道断开则发送当前接收数据包标识的反馈信号和一个超时信号;
步骤2,将反馈信号发送至路径切换及拥塞控制模块接口,并根据超时信号切换接收端IP和发送端IP;
步骤3,识别反馈信号,计算数据在该通道的往返时间,向发送端发送传输速率控制信号。
所述流分类是指在特定网络中事先对所有可用IP静态划分管理,并自主设置所需的组播组,对网络传输中由源IP、目的IP、源端口、目的端口和传输协议五元组决定的某一条流根据已知的传输数据特征进行分类,不同类型的流对应不同的优先等级和不同的纠错方法。其中包括但不限于:
流分类信息包括:
1)各通道对应的源IP地址;
2)五元组与数据优先级的对应关系;
3)五元组与数据纠错类型的对应关系。
所述数据发送过程中:
数据安全认证标记是在一条完整的数据,即未经处理的原始用户数据的首/尾部添加自定义的特殊标志位,或按一定规律在原始用户数据中插入自定义的特殊标志位,所述自定义的特殊标志位,只有客户、服务器两端上对应的程序进程可以进行解析,其他进程无法正确识别;
多媒体数据分层组播包括对多媒体数据采用分层编码进行分层,分为一个基本层,多个增强层,分别做好层标记,然后将已分层数据指定发送到不同的组播组;
数据纠错和分片预处理是指根据流分类信息获取数据包的优先级和纠错类型,查询MTU列表获取当前通道的MTU值,根据当前通道MTU值、与纠错类型对应的纠错码位数以及其他头部尾部占用位数计算数据包净载荷p,再根据p进行数据包的分片和重组,随后再写入纠错编码;
多路径选择处理是指根据应用数据流信息为数据包写入流编码,包括TSN(Transmission Sequence Number,传输顺序号)和SSN(Stream Sequence Number,流顺序号)。
所述数据接收过程中,分类纠错和重组解析包括以下步骤:
步骤1:根据流分类信息获取数据的优先级别,将优先级高的数据提交上层分类纠错处理,优先级低的数据先缓存,缓存区满则提交缓存数据给分类纠错模块;
步骤2:根据流分类信息获取数据包的纠错类型,若纠错类型为FEC:根据纠错码进行纠错,完成纠错后的数据包则视为可靠数据包;若纠错类型为ARQ:检测是否有错,若有错则向发送方发出出错重传请求信号,信号中包含需要进行重传的数据包标识位,若无错则该数据包为可靠数据包;若纠错类型为一定出错程度可容忍:检测出错程度,若出错程度超出了可容忍范围则将该数据包丢弃,若出错程度在可容忍范围之内则将其视为可靠数据包;
步骤3:对同一条流的数据包按顺序进行重组,解析自定义的安全标识位,提取应用层数据。
与现有技术相比,本发明的有益效果是:
1、基于流分类实现组播网络的自主可控配置和安全高效管理
在特定网络中,各节点传输数据类型相对固定,根据本网络的各项传输数据需求,事先对所有可用IP静态划分管理,并自主设置所需的组播组,一个组播组传输的多媒体数据层级也可自主设定。各节点根据数据传输需求申请相应的IP,加入相应的组播组,多媒体数据也可分层指定到不同的组播组,这些设置仅涉及终端节点,减少对网络设备依赖,使得网络管理更加简明方便。流分类信息可由管理员统一发送给组播组所有成员,本发明所提到的安全认证和专有协议标示也可不定期自主实现全网更新,避免现有组播技术中UDP协议不可靠的安全缺陷,提高数据传输安全性和可靠性。
2、基于流分类实现对多种不同特征数据的优先级处理和分类纠错,提高传输性能和质量
在网络传输的数据中,视频会议等多媒体数据实时性要求高,但对个别数据包出差或丢失并非特别敏感;实验、测试或者任务数据不要求高实时性,但要求数据内容准确无误;某些特殊监控任务数据既要求实时又要求准确…因此对网络传输中某一条流根据已知的传输数据特征进行分类,不同类型的流对应不同的优先等级和不同的纠错方法:对实时性要求高的数据传输应设置高的优先级处理;对准确性和实时性都要求高的数据应采用FEC前向纠错方式;对于图片或视频等可靠性要求不高的数据传输则可借鉴Udp-light的思想,根据差错可容忍的程度对数据包接收或者要求重传…这样针对不同特征数据的优先级处理和分类纠错,提高了网络对多业务数据传输的性能和质量。
3、采用心跳机制实现异构网络传输通道MTU检测和路径拥塞监控,提高数据传输的稳定性和高效性
数据包在网络中的传输受通道MTU限制,整条传输通道中最小的MTU将成为瓶颈。为实现数据传输的最高效率,本发明所述方法采用心跳机制,实现对传输通道MTU检测,以便传输前对数据进行合适的分片,避免过多过频繁的小包数据传输和传输过程中网络设备对大包数据的分片与重组对网络设备的转发效率和性能的影响。
另一方面,采用心跳机制实现对拥塞状况的监控,并根据拥塞严重程度采取不同的措施。网络拥塞不严重的情况下,首先降低多媒体数据接收层级以缓解线路压力,其次降低数据发送速率进行调整,如果路径拥塞严重,则可动态切换传输路径。这样多层次的拥塞控制策略保证数据传输效率。
4、结合多平面的网络线路实现多路径选择,为关键数据提供保障
在对数据传输质量要求高的网络中,采用双平面或多平面网络结构能在一定程度上提高传输可靠性。双平面网络是指各节点终端都配有双网卡,通信链路、路由均有主线和备用线路,但现有技术是双平面独立数据传输,只简单起到备份作用。本发明所述多路径的选择方法借鉴SCTP协议的“多宿多流”特点,使双平面构成相互协作的冗余数据通道,在一条路径出现故障后可动态切换到另一路径,保证传输数据连续不中断,提高数据传输可靠性。
附图说明
图1是本发明的整体结构图。
图2是本发明的总体数据处理流程图。
图3是图2中数据传输通道的心跳检测流程图。
图4是图2中时延判断及分层处理流程图。
图5是图2中路径切换及拥塞控制流程图。
图6是图2中多路径选择模块流程图。
图7是图2中数据预处理流程图。
图8是图2中数据发送模块流程图。
图9是图2中数据分类纠错流程图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如图1所示一种基于流分类实现自主可控的可靠组播传输方法,图2所示该方法总体数据处理流程。在特定网络中,各节点传输数据类型相对固定,视频会议等多媒体数据实时性要求高,但对个别数据包出差或丢失并非特别敏感;实验、测试或者任务数据不要求高实时性,但要求数据内容准确无误;某些特殊监控任务数据既要求实时又要求准确…根据本网络的各项传输数据需求,事先对所有可用IP静态划分管理,并自主设置所需的组播组,对网络传输中某一条流根据已知的传输数据特征进行分类,不同类型的流对应不同的优先等级和不同的纠错方法,流分类信息包括但不限于以下内容:
1)各通道对应的源IP地址;
2)五元组与数据优先级的对应关系;
3)五元组与数据纠错类型的对应关系;
在本发明中,组播地址、源IP地址和端口号实际确定了一条流,根据该条流传输数据的特征和传输需求,可事先设定该条流的数据处理优先级和纠错类型。在具体实现中可设计示例如下表1,网络节点发送或者接收到一条新的数据流时,根据其组播地址、源IP地址和端口号即可查到该条流对应的数据优先级和纠错类型,从而采取相应的处理方法。
表1
首先在数据传输网络中,采用心跳机制实现对传输通道MTU检测及拥塞状况的监控,依据流分类信息实现传输路径的动态转换和拥塞控制。
数据包在网络中的传输受通道MTU限制,整条传输通道中最小的MTU将成为瓶颈。对于数据包长从几十个字节到几千个字节不等的多种不同类型数据传输,过多过频繁的小包数据传输和传输过程中网络设备对大包数据的分片与重组都会影响网络设备的转发效率和性能。为实现数据传输的最高效率,本发明所述方法采用心跳机制实现对传输通道MTU检测。
MTU列表包含内容为当前所有通道及与之对应的MTU值,MTU列表由网络中各节点自行维护更新,包含内容为当前本节点到所有组播地址的各通道及与之对应的MTU值,例如下表2。
表2
源IP地址a | 组播地址1 | MTU1 |
源IP地址a | 组播地址2 | MTU2 |
源IP地址a | … | … |
源IP地址b | 组播地址1 | MTUx |
… | … | … |
在网络某一节点启动时对MTU列表进行初始化,运行过程中也要按照特定的超时时间更新MTU列表,如图3所示MTU检测方法,初始化及闲置超时处理进程包括以下几个阶段:
步骤1,初始化过程中,初始化机制向MTU探测模块发送“MTU探测启动信号”;
步骤2,系统运行期间以周期t判断有无传输任务,若无传输任务则将生成计时清零信号,使得通道闲置计时器计时清零,若有传输任务则生成允许计时信号使得闲置计时器计时加1,当闲置计时器计时值达到t时,则向MTU探测模块发送“MTU探测启动信号”;
步骤3,MTU探测模块在接收到“MTU探测启动信号”后,探测各通道的MTU值,再将探测到的MTU值写入MTU列表。
本发明提出一种可行的MTU探测实现方法如下:
假设本网络有n个组播组,则每个网络节点需要探测本节点到组播地址的n条通道的MTU。假设MTU可能聚类在初始探测空间[Mmin,Mmax)中,Mmin,…,Mi…Mmax一般选为RFC1191建议的MTU值,可以按照如下过程对n条通道同时进行探测:
1)探测源节点发送最小长度为Mmin的探测分组到一个组播地址,设置探测分组为不可分片,所有收到探测包的接收端发送反馈信息,确认完整收到探测包的包长,探测源节点在一定时间段T(T取为从源探测包发出至所有该通道的反馈信息被完整收到所经历的时长)内记录收到的反馈信息数目m(由于另有心跳包检测通道的拥塞状况,所以在发送最小探测数据包时,不考虑路径拥塞造成的探测包或反馈信息丢失,此时可认为m是该组播组所有接收成员数目);
2)初始探测分组长度M=Mmax,探测分组设为不可分片,所有收到探测包的接收端发送反馈信息确认完整收到探测包的包长,在时间段T内若收到反馈数小于m,则以粒度s递减探测包长(即M=M-s,s可取合适的粒度值,例如16或32),直到收到m个确认接收反馈,此时探测包长M即为该通道的MTU。
采用心跳机制实现对传输通道MTU检测及拥塞状况的监控,拥塞状况的监控方法包括以下步骤:
步骤1,如图4所示,数据接收端接收带有时间戳标记的心跳包,据此计算心跳包到达时延T,根据T的取值分情况进行处理:
①T∈[0,高级组时延上限]:接收端加入基本组播、增强组播、高级组播;
②T∈(高级组时延上限,增强组时延上限]:接收端加入基本组播、增强组播;
③T∈(增强组时延上限,基础组时延上限]:接收端加入基本组播;
④T∈(基础组时延上限,∞):判断当前通道通断情况,若未断开则向发送端发送一个调整发送速率的反馈信号;若判断当前通道断开则发送当前接收数据包标识的反馈信号和一个超时信号;
此处仅讲述了分层数据仅有一个基本层、两个增强层(高级层代表第二个增强层)的情况,若有组多个增强层则将[0,高级组时延上限]再进行细化即可。组播与数据层、组播组与接收方链路状况的对应关系如下:
步骤2,将反馈信号发送至路径切换及拥塞控制模块接口,并根据超时信号切换接收端IP和发送端IP;
步骤3,识别反馈信号,计算数据在该通道的往返时间,向发送端发送传输速率控制信号。
如果分层处理不足以缓解路径拥塞状况,则根据心跳检测路径拥塞的反馈信号进行路径切换与拥塞控制,方法如图5所示:
步骤1,接收来自延时判断及分层处理机制模块的反馈信号,识别反馈信号向IP写入模块发送“超时信号”(用以表征切换通道时源IP地址的改变情况,并由此确定数据包的源IP地址);
步骤2,根据反馈信号中的时间戳计算出往返时间,根据往返时间向底层传输发送传输速率控制信号;
步骤3,将当前接收的数据包标识信息发送至底层传输模块;
其次如图1在数据发送端,基于流分类信息实现数据安全认证标记,多媒体数据分层组播,多路径选择,数据纠错和分片预处理以及多流处理模块;
数据安全标记:可添加自定义的防篡改标志位模块,例如在一条完整的数据(即未经分片合并等处理的原始用户数据)首/尾部(或按一定规律在原始用户数据中插入标志位)添加自定义的特殊标志位(只有客户、服务器两端上对应的程序进程可以进行解析,其他进程则无法正确识别;如:在首部添加111011000110101101001000);
多媒体数据分层组播:根据用户数据的数据类型标志位(常体现为各异的文件的后缀名)来区分是否为多媒体数据,对多媒体数据进行分层(一个基本层,多个增强层),分别做好层标记,将非多媒体数据指定为基本层数据;
多路径选择模块:根据流分类信息为待发送数据选择发送路径,即写入源IP和目的IP地址,同时在发送过程中根据路径的拥塞反馈信号动态切换路径。具体过程如图6所示,根据已分层数据的层标记为各层数据制定与之对应的组播地址(各层与组播地址的对应关系由组播与数据层表确定),根据超时信号来确定是否需要更换当前源IP地址,再根据当前所选用的通道经查询流分类信息后写入与该通道对应的源IP地址从而形成IP数据报。
为提高数据安全性,可在IP头部“协议”字段写入能够代表此专有协议的标志(不与当前已有协议标志相同即可),本网络的所有成员可识别处理此协议的数据包;
数据纠错和分片预处理如图7所示:不同流的数据根据其内容的属性特征采用不同的纠错方法,从流分类信息中获取相对应的纠错类型信息,同时查询MTU列表获取当前通道的MTU值,根据当前通道MTU值、与纠错类型对应的纠错码位数以及其他头部尾部占用位数计算数据包净载荷p,再根据p进行数据包的分片和重组;随后再写入纠错编码;最后将大小适中的数据包传送至多流处理模块接口。
多流处理模块根据应用层数据信息为数据包写入流编码,包括TSN(TransmissionSequence Number,传输顺序号)和SSN(Stream Sequence Number,流顺序号),最后将数据送至底层传输模块。
底层传输模块如图8所示,处理流程包括:
1)接收心跳包及经过多流处理的数据包,将其转换为比特流进行传输;
2)接收出错重传请求信号,搜索需要进行重传的数据包并进行重传;
3)接收“传输速率控制信号”以及“当前接收的数据包标识位”,若此时无需进行路径切换则仅根据“传输速率控制信号”调节传输速率,若需要进行路径切换,则读取“当前接收的数据包标识位”寻找重发节点,在切换路径后,更新重传的数据包IP信息并重新发送;
最后如图1在数据接收端,依据流分类信息实现数据分层订阅,分类纠错和重组解析。
接收端底层对收到的数据包进行识别,如果收到心跳包,则记录心跳包的时间戳,进行时延判断及分层处理(如图4过程),实现数据分层订阅,如果收到传输严重超时信号(表明当前传输路径阻断,需要更换路径),则一方面将当前通道IP对应的缓存中的所有数据包提交分类纠错处理,另一方面发送信号标记当前路径切换,接收端IP更换;如果收到业务数据包,则获取数据包的优先级别,将优先级高的数据包直接送至数据分类纠错模块;将优先级较低的数据包送入缓存,若缓存空间已满则将缓存中的数据包送至数据分类纠错模块接口。
数据分类纠错模块如图9,处理流程为:
1)接收来自数据优先等级判断模块与当前IP的缓存的数据包,根据IP信息从配置文件1中读取数据包的纠错类型,根据纠错类型对各数据包进行分类纠错:
①纠错类型为FEC:根据纠错码进行纠错,完成纠错后的数据包则视为“可靠数据包”;
②纠错类型为ARQ:检测是否有错,若有错则向发送方的“底层传输”发出“出错重传请求信号”(包含需要进行重传的数据包标识位),若无错则该数据包为“可靠数据包”;
③纠错类型为“一定出错程度可容忍”(实现方式类似于UDP-Lite):检测出错程度,若出错程度超出了可容忍范围则将该数据包丢弃,若出错程度在可容忍范围之内则将其视为“可靠数据包”;
2)将“可靠数据包”送至数据包重组模块接口处;
数据包重组解析模块:接收经过纠错的数据,解析数据的“自定义防篡改标志位”形成可读数据,按数据组织格式发往应用层的相关进程进行后续处理。
Claims (8)
1.一种基于流分类实现的自主可控可靠组播传输方法,其特征在于:
采用心跳机制实现对传输通道MTU检测及拥塞状况监控,依据流分类信息实现传输路径的动态转换和拥塞控制,其中MTU表示最大传输单元;
数据发送过程中基于流分类信息实现数据安全认证标记、多媒体数据分层组播、数据纠错和分片预处理以及多路径选择处理;
数据接收过程中依据流分类信息实现数据分层订阅、分类纠错和重组解析;
其中,所述流分类是指在特定网络中事先对所有可用IP静态划分管理,并自主设置所需的组播组,对网络传输中由源IP、目的IP、源端口、目的端口和传输协议五元组决定的某一条流根据已知的传输数据特征进行分类,不同类型的流对应不同的优先等级和不同的纠错方法,流分类信息包括:
1)各通道对应的源IP地址;
2)五元组与数据优先级的对应关系;
3)五元组与数据纠错类型的对应关系。
2.根据权利要求1所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述传输通道MTU检测中,MTU列表由网络中各节点自行维护更新,包含内容为当前本节点到所有组播地址的各通道及与之对应的MTU值,在网络某一节点启动时对本节点MTU列表进行初始化,运行过程中也要按照特定的超时时间更新MTU列表,初始化及闲置超时处理进程包括以下几个阶段:
步骤1,网络中某一节点启动并初始化过程中,初始化机制向MTU探测模块发送MTU探测启动信号;
步骤2,系统运行期间各网络节点都以周期t判断有无传输任务,若无传输任务则将生成计时清零信号,使得通道闲置计时器计时清零,若有传输任务则生成允许计时信号使得闲置计时器计时加1,当闲置计时器计时达到t时,则向MTU探测模块发送MTU探测启动信号;
步骤3,MTU探测模块在接收到MTU探测启动信号后,探测各通道的MTU值,再将探测到的MTU值写入MTU列表。
3.根据权利要求2所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述步骤3中探测各通道的MTU值的过程包括:
假设本网络有n个组播组,则每个网络节点需要探测本节点到组播地址的n条通道的MTU,假设MTU可能聚类在初始探测空间[Mmin,Mmax)中,其中的Mmin,…,Mi…Mmax选为RFC1191建议的MTU值,则按照如下过程对n条通道同时进行探测:
1)探测源节点发送最小长度为Mmin的探测分组到一个组播地址,设置探测分组为不可分片,所有收到探测包的接收端发送反馈信息,确认完整收到探测包的包长,探测源节点在一定时间段T内记录收到的反馈信息数目m,T取为从源探测包发出至所有该通道的反馈信息被完整收到所经历的时长,由于另有心跳包检测通道的拥塞状况,所以在发送最小探测数据包时,不考虑路径拥塞造成的探测包或反馈信息丢失,此时可认为m是该组播组所有接收成员数目;
2)初始探测分组长度M=Mmax,探测分组设为不可分片,所有收到探测包的接收端发送反馈信息确认完整收到探测包的包长,在时间段T内若收到反馈数小于m,则以粒度s递减探测包长,即M1=M-s,其中s取合适的粒度值,直到收到m个确认接收反馈,此时探测包长M1即为该通道的MTU值。
4.根据权利要求1所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述拥塞状况监控包括以下步骤:
步骤1,数据接收端接收带有时间戳标记的心跳包,据此计算心跳包到达时延T1,根据T1的取值分情况进行处理:
①T1∈[0,高级组时延上限]:接收端加入基本组播、增强组播、高级组播;
②T1∈(高级组时延上限,增强组时延上限]:接收端加入基本组播、增强组播;
③T1∈(增强组时延上限,基础组时延上限]:接收端加入基本组播;
④T1∈(基础组时延上限,∞):判断当前通道通断情况,若通道未断开则向发送端发送一个调整发送速率的反馈信号;若判断当前通道断开则发送当前接收数据包标识的反馈信号和一个超时信号;
步骤2,将反馈信号发送至路径切换及拥塞控制模块接口,并根据超时信号切换接收端IP和发送端IP;
步骤3,识别反馈信号,计算数据在该通道的往返时间,向发送端发送传输速率控制信号。
5.根据权利要求1所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述数据发送过程中:
数据安全认证标记是在一条完整的数据,即未经处理的原始用户数据的首/尾部添加自定义的特殊标志位,或按一定规律在原始用户数据中插入自定义的特殊标志位,所述自定义的特殊标志位,只有客户或服务器两端上对应的程序进程可以进行解析,其他进程无法正确识别;
多媒体数据分层组播包括对多媒体数据采用分层编码进行分层,分为一个基本层,多个增强层,分别做好层标记,然后将已分层数据指定发送到不同的组播组;
数据纠错和分片预处理是指根据流分类信息获取数据包的优先级和纠错类型,查询MTU列表获取当前通道的MTU值,根据当前通道MTU值、与纠错类型对应的纠错码位数以及其他头部尾部占用位数计算数据包净载荷p,再根据p进行数据包的分片和重组,随后再写入纠错编码;
多路径选择处理是指根据应用数据流信息为数据包写入流编码,包括传输顺序号TSN和流顺序号SSN。
6.根据权利要求5所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述数据发送过程中,根据流分类信息为待发送数据选择发送路径,即写入源IP和目的IP地址,同时在发送过程中根据路径的拥塞反馈信号动态切换路径,由此实现多路径选择;写入流编码的数据送至底层传输模块,底层传输模块处理流程如下:
1)接收心跳包及经过多流处理的数据包,将其转换为比特流进行传输;
2)接收出错重传请求信号,搜索需要进行重传的数据包并进行重传;
3)接收传输速率控制信号以及当前接收的数据包标识位,若此时无需进行路径切换则仅根据传输速率控制信号调节传输速率,若需要进行路径切换,则读取当前接收的数据包标识位寻找重发节点,在切换路径后,更新重传的数据包IP信息并重新发送。
7.根据权利要求6所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述多路径选择的具体过程:根据已分层数据的层标记为各层数据制定与之对应的组播地址,根据超时信号来确定是否需要更换当前源IP地址,再根据当前所选用的通道经查询流分类信息后写入与该通道对应的源IP地址从而形成IP数据报。
8.根据权利要求1所述基于流分类实现的自主可控可靠组播传输方法,其特征在于,所述数据接收过程中,接收端底层对收到的数据包进行识别,如果收到心跳包,则记录心跳包的时间戳,进行时延判断及分层处理,实现数据分层订阅;
分类纠错和重组解析包括以下步骤:
步骤1:根据流分类信息获取数据的优先级别,将优先级高的数据提交上层分类纠错处理,优先级低的数据先缓存,缓存区满则提交缓存数据给分类纠错模块;
步骤2:根据流分类信息获取数据包的纠错类型,若纠错类型为FEC:根据纠错码进行纠错,完成纠错后的数据包则视为可靠数据包;若纠错类型为ARQ:检测是否有错,若有错则向发送方发出出错重传请求信号,信号中包含需要进行重传的数据包标识位,若无错则该数据包为可靠数据包;若纠错类型为一定出错程度可容忍:检测出错程度,若出错程度超出了可容忍范围则将该数据包丢弃,若出错程度在可容忍范围之内则将其视为可靠数据包;
步骤3:对同一条流的数据包按顺序进行重组,解析自定义的安全标识位,提取应用层数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256805.1A CN105791054B (zh) | 2016-04-22 | 2016-04-22 | 一种基于流分类实现的自主可控可靠组播传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256805.1A CN105791054B (zh) | 2016-04-22 | 2016-04-22 | 一种基于流分类实现的自主可控可靠组播传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105791054A CN105791054A (zh) | 2016-07-20 |
CN105791054B true CN105791054B (zh) | 2018-10-19 |
Family
ID=56398319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610256805.1A Active CN105791054B (zh) | 2016-04-22 | 2016-04-22 | 一种基于流分类实现的自主可控可靠组播传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105791054B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254267B (zh) * | 2016-08-31 | 2020-01-14 | 浙江宇视科技有限公司 | 一种数据转发路径调整方法及网关设备 |
CN106447865A (zh) * | 2016-10-25 | 2017-02-22 | 贵州华尚高新技术有限公司 | 一种智能锁低功耗远程控制系统的使用方法及系统 |
CN108401002B (zh) * | 2017-02-07 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 文件传输方法及设备 |
CN106850452B (zh) * | 2017-02-22 | 2020-05-22 | 华南理工大学 | 一种网络缓存受限的分布最优流控制方法 |
CN109309563B (zh) * | 2017-07-27 | 2021-12-24 | 科大国盾量子技术股份有限公司 | 一种信息的纠错处理方法及系统 |
CN107743079B (zh) * | 2017-09-29 | 2021-05-04 | 网宿科技股份有限公司 | 线路探测方法、设备及计算机可读存储介质 |
CN109842465A (zh) * | 2017-11-24 | 2019-06-04 | 阿里巴巴集团控股有限公司 | 数据传输方法、数据端设备 |
CN108234468A (zh) * | 2017-12-28 | 2018-06-29 | 中国电子科技集团公司第三十研究所 | 一种基于标签的跨域数据传输保护方法 |
CN111371631B (zh) * | 2018-12-25 | 2022-04-19 | 成都鼎桥通信技术有限公司 | 一种心跳机制检测方法、终端设备和存储介质 |
CN110278158B (zh) * | 2019-08-09 | 2024-01-30 | 京信网络系统股份有限公司 | 组播数据包发送方法、计算机设备和存储介质 |
CN112243253B (zh) * | 2019-10-24 | 2022-07-08 | 北京大学 | 一种通信设备 |
CN110784399A (zh) * | 2019-11-04 | 2020-02-11 | 海南大学 | 一种mptcp网络多路径优化组合传输方法及系统 |
CN113037624A (zh) * | 2019-12-25 | 2021-06-25 | 华为技术有限公司 | 一种数据流控制的方法和装置 |
CN111163013B (zh) * | 2020-03-02 | 2022-04-29 | 西南交通大学 | 一种基于udp的半可靠数据传输拥塞控制方法 |
CN113971102A (zh) * | 2020-07-22 | 2022-01-25 | 国民技术股份有限公司 | 一种生成检错纠错电路的方法、检错纠错系统及存储介质 |
CN112235406A (zh) * | 2020-10-15 | 2021-01-15 | 儒安物联科技集团有限公司 | 基于组播和内存备份的子网设备信息同步方法 |
CN114697240B (zh) * | 2020-12-31 | 2024-07-23 | 华为技术有限公司 | 数据传输方法、装置、系统及存储介质 |
CN113255776B (zh) * | 2021-05-28 | 2021-11-05 | 北京心之灵人工智能科技有限公司 | 一种识别网络分类节点自增方法 |
CN115967467A (zh) * | 2021-10-09 | 2023-04-14 | 中兴通讯股份有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN114844837B (zh) * | 2022-04-25 | 2023-09-26 | 西安交通大学 | 多服务队列环境中基于时延的拥塞控制方法和控制装置 |
CN114679395B (zh) * | 2022-05-27 | 2022-08-09 | 鹏城实验室 | 异构网络的数据传输探测方法及系统 |
CN118473919A (zh) * | 2022-11-09 | 2024-08-09 | 中科方德软件有限公司 | 一种基于组播的软件部署方法及装置 |
CN116545991B (zh) * | 2023-05-18 | 2024-08-06 | 湖北广电玖云大数据有限公司 | 一种基于交换网络的多媒体通信方法及系统 |
CN117614645B (zh) * | 2023-10-23 | 2024-08-23 | 深圳市德航智能技术有限公司 | 一种工业计算机通信中的网络数据传输加密系统 |
CN118075168B (zh) * | 2024-04-18 | 2024-06-21 | 四川省大数据中心 | 一种个人健康信息码数据链路性能优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621747A (zh) * | 2009-08-12 | 2010-01-06 | 广州海格通信集团股份有限公司 | 一种无线mesh网络的可靠组播传输方法 |
CN102480346A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种网络数据可靠传输方法 |
CN104717259A (zh) * | 2013-12-16 | 2015-06-17 | 中国科学院声学研究所 | 分布式中转服务器网络辅助的多路径数据传输系统与方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2264954B1 (en) * | 2009-06-18 | 2012-02-01 | Alcatel Lucent | Method and apparatus for congestion control |
US20120230293A1 (en) * | 2011-03-08 | 2012-09-13 | Edward Grinshpun | Method of performing an inter-technology handoff in a loosely coupled architecture |
-
2016
- 2016-04-22 CN CN201610256805.1A patent/CN105791054B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621747A (zh) * | 2009-08-12 | 2010-01-06 | 广州海格通信集团股份有限公司 | 一种无线mesh网络的可靠组播传输方法 |
CN102480346A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种网络数据可靠传输方法 |
CN104717259A (zh) * | 2013-12-16 | 2015-06-17 | 中国科学院声学研究所 | 分布式中转服务器网络辅助的多路径数据传输系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105791054A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105791054B (zh) | 一种基于流分类实现的自主可控可靠组播传输方法 | |
US7289500B1 (en) | Method and system for reliable multicast data transmission | |
CN105471869B (zh) | 一种互联网电视内容请求的连接复用方法及系统 | |
US6577599B1 (en) | Small-scale reliable multicasting | |
US20050243722A1 (en) | Method and apparatus for group communication with end-to-end reliability | |
US10516646B2 (en) | Video signal transmission system | |
US9838326B2 (en) | System and method for equalizing transmission delay in a network | |
CN108882008B (zh) | 一种数据转换的方法和设备 | |
EP1914933B1 (en) | Method and apparatus for retransmission request reduction in a network | |
WO2016034029A1 (zh) | 业务流量的处理方法和装置 | |
CN110138632A (zh) | 一种数据传输方法和装置 | |
KR101600060B1 (ko) | 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터 | |
CN104025523B (zh) | 用于向多个接收方发送消息的装置和方法 | |
CN107135216A (zh) | 一种加强弱网环境流媒体传输方法 | |
CN110113662A (zh) | 一种适应多种网络状况的视频监控客户端系统 | |
CN110099086A (zh) | 一种基于融合传输系统的数据传输方法 | |
CN110474721A (zh) | 视频数据传输方法、装置及计算机可读存储介质 | |
CN106686410B (zh) | Hls流媒体传输方法以及装置 | |
CN109076062A (zh) | 边缘节点控制 | |
US11502986B2 (en) | Reducing transmission delay of transmitting data in Wi-Fi | |
US20090238183A1 (en) | Packet processing system and method thereof | |
CN110474951A (zh) | 一种指纹采集方法和视联网服务器 | |
CN111245733B (zh) | 一种数据传输的方法和装置 | |
CN116455532A (zh) | 一种数据的可靠传输方法、装置、设备及电子介质 | |
CN110336796A (zh) | 一种通信方法和通信装置 |
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 |