一种UDP数据包的传输控制方法技术

技术编号:27692226 阅读:12 留言:0更新日期:2021-03-17 04:49
本发明专利技术公开了一种UDP数据包的传输控制方法,所述UDP数据包的头部包括RCMP协议头,所述方法包括:基于所述RCMP协议头建立UDP链接并维护UDP链接;发送和接收数据;结束UDP链接。本发明专利技术根据实际的应用需求在UDP数据包中增加协议头,逻辑简单,实用性强,能够较好的满足音视频业务实时性的要求。

【技术实现步骤摘要】
一种UDP数据包的传输控制方法
本专利技术涉及通信
,更具体的,涉及一种UDP数据包的传输控制方法。
技术介绍
音视频业务的特点是实时、一对一或者一对多、音视频需要同步等一些列的工作,在云会议产品中,使用RTCP协议会引入很多繁琐的逻辑和不可控制性,因此通常直接使用TCP协议来保证RTP数据的完整性,但是TCP协议太过于复杂,在网络差的情况下,因为实行的是退让原则,所以会大量降低带宽的使用率,不符合云会议实时性的要求。
技术实现思路
为了解决上述至少一个技术问题,本专利技术提出了一种UDP数据包的传输控制方法,所述UDP数据包的头部包括RCMP协议头,所述方法包括:基于所述RCMP协议头建立UDP链接并维护UDP链接;发送和接收数据;结束UDP链接;其中,所述RCMP协议头包括以下字段:lost字段,表示丢包数;heart字段,为心跳包标志位;fin字段,为链接终止标志位;sync字段,为链接建立标志位;syncACK字段,为链接建立响应标志位;seq字段表示包序号;lostSEQ字段表示丢失数据包的起始序号;timestamp字段表示包发送的时间;ID字段表示链接的唯一识别标志。进一步地,所述lost字段与lostSEQ字段配合,lost字段非0时,表示包序号lostSEQ到lostSEQ+(lost-1)之间的包丢失;lostSEQ字段表示丢失数据包的起始序号,当lost字段非0时该序号才有效。进一步地,所述基于所述RCMP协议头建立UDP链接包括:客户端向服务器发送链接建立数据包,该链接建立数据包的sync字段为1;服务器收到链接建立数据包,若同意建立链接,则向客户端发送响应数据包,该响应数据包的syncACK字段为1;否则向客户端发送拒绝数据包,该拒绝数据包的fin字段为1;客户端接收到响应数据包,链接建立成功。进一步地,若链接建立数据包、响应数据包或拒绝数据包丢失,则客户端每隔固定的时间重复发送链接建立数据包,直到接收到响应数据包或拒绝数据包。进一步地,所述基于所述RCMP协议头维护UDP链接包括:UDP链接建立成功后,服务器和客户端若预设时间t1内未发出数据包,则向对端发送心跳包;服务器和客户端每隔预设时间t1检查本地记录的链接接收活动时间与当前时间的差是否大于预设时间t2,若是,则删除本地链接的唯一识别标志;其中,所述链接接收活动时间为最后一次接收到数据包或心跳包的时间。进一步地,所述发送和接收数据包括:发送端分别初始化发送缓冲区、发送缓冲区头指针、发送缓冲区尾指针;发送当前数据包,并将当前数据包缓存至发送缓冲区头指针指向的位置,然后计算新的发送缓冲区头指针指向位置,若新的发送缓冲区头指针指向位置不为空,则将当前数据包缓存到新的发送缓冲区头指针指向的位置;若新的发送缓冲区头指针和发送缓冲区尾指针相等,则计算新的发送缓冲区尾指针。进一步地,所述发送和接收数据还包括:接收端初始化接收缓冲区、接收缓冲区头指针、接收缓冲区尾指针;接收到数据包后,首先判断接收缓冲区头指针是否等于接收缓冲区尾指针;如果接收缓冲区头指针等于接收缓冲区尾指针,则接收缓冲区为空,未发生过丢包,将数据包传送给上层模块;若接收缓冲区头指针小于接收缓冲区尾指针,则计算当前丢包数并计算接收到的数据包相对接收缓冲区头指针指向的数据包的序号偏移量;根据偏移量值和丢包数执行不同的数据包接收操作。进一步地,所述发送和接收数据还包括:客户端收到lost字段不为0的请求补包的数据包,则根据lost字段记录的丢包数和lostSEQ字段给出的丢失数据包的起始序号,得到需要重新发送的包序号,若需要重新发送的包序号在接收缓冲区中则重新发送。进一步地,所述结束UDP链接包括:当客户端或服务器需要断开UDP链接时,向对端发送链接终止标志位为1的数据包,然后删除本地记录的链接的唯一识别标志ID值;当客户端或服务器接收到链接终止标志位为1的数据包,则删除本地记录的链接的唯一识别标志ID值。本专利技术公开的一种UDP数据包的传输控制方法,通过增加新的RCMP协议头来实现链接的建立、维护和结束以及数据的收发,逻辑简单,实用性强,能够较好的满足在线会议等音视频业务实时性的要求。附图说明图1示出了根据本专利技术实施例的UDP数据包的传输控制方法中UDP链接建立流程图;图2示出了根据本专利技术实施例的UDP数据包的传输控制方法UDP链接维护流程图;图3示出了根据本专利技术实施例的UDP数据包的传输控制方法发送数据流程图;图4示出了根据本专利技术实施例的UDP数据包的传输控制方法接收缓冲区内容示意图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。名词解释:UDP:用户数据报传输协议(UserDatagramProtocol)。RCMP:本专利技术所提出的基于UDP的RTP控制消息协议(RTPControlMessageProtocol)。RTP:实时传输协议(Real-timeTransportProtocol),RFC3550RTCP:实时传输控制协议(Real-timeTransportControlProtocol),RFC3550根据本专利技术的一个实施例,提供了一种UDP数据包的传输控制方法,所述UDP数据包的头部包括RCMP协议头,所述方法包括:基于所述RCMP协议头建立UDP链接并维护UDP链接;发送和接收数据;结束UDP链接;其中,所述RCMP协议头包括以下字段:lost字段,表示丢包数;heart字段,为心跳包标志位;fin字段,为链接终止标志位;sync字段,为链接建立标志位;syncACK字段,为链接建立响应标志位;seq字段表示包序号;lostSEQ字段表示丢失数据包的起始序号;timestamp字段表示包发送的时间;ID字段表示链接的唯一识别标志。进一步地,所述lost字段与lostSEQ字段配合,lost字段非0时,表示包序号lostSEQ到lostSEQ+(lost-1)之间的包丢失;lostSEQ字段表示丢失数据包的起始序号,当lost字段非0时该序号才有效。在该实施例中,在UDP数据报的头部增加基于本专利技术提出的RCMP协议的头部,称为RCMP协议头(RCMP_HEAD),依靠RCMP_HEAD中携带的信息实现UDP可靠连接和数据传输的可靠性。基于RCMP建立本文档来自技高网...

【技术保护点】
1.一种UDP数据包的传输控制方法,其特征在于,所述UDP数据包的头部包括RCMP协议头,所述方法包括:/n基于所述RCMP协议头建立UDP链接并维护UDP链接;/n发送和接收数据;/n结束UDP链接;/n其中,所述RCMP协议头包括以下字段:/nlost字段表示丢包数;heart字段,为心跳包标志位;fin字段,为链接终止标志位;sync字段,为链接建立标志位;syncACK字段,为链接建立响应标志位;seq字段,表示包序号;lostSEQ 字段,表示丢失数据包的起始序号;timestamp字段,表示包发送的时间;ID字段表示链接的唯一识别标志。/n

【技术特征摘要】
1.一种UDP数据包的传输控制方法,其特征在于,所述UDP数据包的头部包括RCMP协议头,所述方法包括:
基于所述RCMP协议头建立UDP链接并维护UDP链接;
发送和接收数据;
结束UDP链接;
其中,所述RCMP协议头包括以下字段:
lost字段表示丢包数;heart字段,为心跳包标志位;fin字段,为链接终止标志位;sync字段,为链接建立标志位;syncACK字段,为链接建立响应标志位;seq字段,表示包序号;lostSEQ字段,表示丢失数据包的起始序号;timestamp字段,表示包发送的时间;ID字段表示链接的唯一识别标志。


2.根据权利要求1所述的方法,其特征在于,所述lost字段与lostSEQ字段配合,lost字段非0时,表示包序号lostSEQ到lostSEQ+(lost-1)之间的包丢失;lostSEQ字段表示丢失数据包的起始序号,当lost字段非0时该序号才有效。


3.根据权利要求2所述的方法,其特征在于,所述基于所述RCMP协议头建立UDP链接包括:
客户端向服务器发送链接建立数据包,该链接建立数据包的sync字段为1;
服务器收到链接建立数据包,若同意建立链接,则向客户端发送响应数据包,该响应数据包的syncACK字段为1;否则向客户端发送拒绝数据包,该拒绝数据包的fin字段为1;
客户端接收到响应数据包,链接建立成功。


4.根据权利要求3所述的方法,其特征在于,若链接建立数据包、响应数据包或拒绝数据包丢失,则客户端每隔固定的时间重复发送链接建立数据包,直到接收到响应数据包或拒绝数据包。


5.根据权利要求4所述的方法,其特征在于,所述基于所述RCMP协议头维护UDP链接包括:
UDP链接建立成功后,服务器和客户端若预设时间t1内未发出数据包,则向对端发送心跳包;
服务器和客户端每隔预设时间t1检查本地记录的链接接收活动时间与...

【专利技术属性】
技术研发人员:员召伟
申请(专利权)人:全时云商务服务股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1