深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC

这篇具有很好参考价值的文章主要介绍了深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

那么这里博主先安利一些干货满满的专栏了!

首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。

高质量博客汇总https://blog.csdn.net/yu_cblog/category_12379430.html?spm=1001.2014.3001.5482


Intelligent Multi-Path TCP Congestion Control for video streaming in Internet of Deep Space Things communication

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

摘要

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

文献分析和学习

今天给大家讲解一下这篇文献,深空物联网通信中视频流的智能多路TCP拥塞控制。然后我也看到了前面很多同学都在讲拥塞控制算法,然后其实我这个也是拥塞控制算法,但是这个背景是不一样的。

首先我们为了后面大家能更好地理解我接下来要讲的内容。我们先明确一下,这篇文章,是在TCP的基础上做拥塞 控制算法的一篇文章。所以,他是在传输层做操作。其次他用的是MPTCP,即多路TCP,再其次,他是针对于视 频流传输的,再其次,他是针对于深空通信的。可能上面的这些名词,在那本《自顶向下》里面可能都没有涉及到,所以,在这我先给大家铺垫一些背景知识。

背景知识铺垫

什么是深空通信?

深空通信是指在太空中进行的通信方式,主要应用于太阳系外的深空探测任务,例如火星探测、木星探测等。深空 通信所涉及到的距离非常遥远,比如,⻢斯克的星舰去到火星之后,要和地球取得 联系,此时就要用到深空通信。

深空通信遇到了什么困难?

基于窗口和ACK,TCP协议(也就是我们上课学习的TCP)在深空链路上的性能很差,具有极高的传播延迟和链路错误。 那么为了解决这个问题,在此之前已经有很多的相关研究去解决这个问题了。但是,这些方法存在以下局限性:

(1)基于规则的方法使用一组固定的规则来处理每种情况,有时候不能灵活处理各种状况。 (3)单路径TCP导致⻓RRT,链路利用率降低。

(2)当经历⻓RRT之后,在源处接收到有关链路条件的旧信息,基于这些过去信息的拥塞处理决策可能不是最优决策。

文章的Solution

所以作者就在本文提出了他的方法,就是DQN for SVC-based CC in MPTCP这个个东⻄,那这个东⻄是什么意思

呢?DQN代表深度Q网络,SVC就是一种视频处理方式,MPTCP就是多路TCP协议。总之就是,

首先发现TCP不太行,所以为了解决问题,首先作者采用MPTCP去替代TCP,然后在此基础上使用SVC对视频做处 理,然后在此基础上,再加上深度Q网络,这样就能很好的保证深空视频传送的拥塞控制效果。然后一下是作者提 出的方法的完整模型图,然后接下来我开始详细讲解这里面的每一个模块,和他们的作用。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

SVC可伸缩视频编码技术

可伸缩视频编码 SVC 是一种视频编码技术,它允许在不同的传输网络和接收端设备上进行动态适应视频的清晰度 和帧率。SVC 可以将原始视频流分成多个编码层,每个编码层具有不同的比特率和解析度,这使得接收端设备可以 选择最适合其带宽和处理能力的编码层来解码视频。

首先,SVC技术先将一部分块数据(也就是一段时间内的视频帧)分成了M部分,其中 M-1 部分是 Enhancement layer ,其中 1 块是 base layer 然后我们就来定义权重函数。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络 

其中 Chi,t 是缓冲器中在t时隙处的第i个块。L(·)是输出块的层编号的函数。W是块的权重,默认值设置为 100,M是总的层数,设置为3,所以L越大的话,(M-L)是越小的,所以这是一个递减的函数。这样定义的话:重量 随着层的减少而增加。(我看前面有些组没有讲这个,不讲也行)

然后,SVC技术被应用到这个领域,是为了解决HoL阻塞的(这个我记得上周也有一个组提到了)。HoL阻塞 (Head-of-Line Blocking)是指,在一个队列中,如果正在处理某一个数据包时,后续的数据包无法立即被处 理,形成了阻塞。

如果我们使用SVC,则可以在数据包中包含有多个不同的分层信息。接收方设备可以根据需要选择不同的分层进行 解码,如果高分辨率层次的数据包遭遇延迟和阻塞,接收方设备可以立即切换到低分辨率层次,从而避免了HoL阻 塞问题。但是如果是没有进行SVC编码,那么接收方主机就只能等着,就阻塞在accept那里了。

关于MPTCP的拥塞控制

即这一部分就是MPTCP。 

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

什么是MPTCP?
MPTCP(Multipath TCP)是一种多路径传输控制协议,他和tcp的区别其实就是mptcp将多条网络路径结合起来。

那么MPTCP本质上,是怎么实现的呢?

MPTCP本质上是将一个上层的报文分成多份,(我们知道,IP报文在如果⻓度超过MTU之后是会分片的,这里也是同一个道理,虽然细节实现可能不一样)然后将这些分割后的数据在不同的TCP子连接上传输。

那么MPTCP优越在哪呢?

TCP的拥塞控制算法我们大家都很熟悉了,即加性递增、乘性减小。当网络出现拥塞时,TCP会将拥塞窗口减半,然后重新进行慢启动,逐渐增大发送窗口。

诶!但是MPTCP的拥塞控制就不一样啦!当MPTCP检测到某个路径出现拥塞时,它会通过弱化该路径的窗口来减 少在该路径上的传输速率,而不是像TCP那样直接将窗口减半。同时,MPTCP支持多路径传输,因此可以在其他 路径上增加传输速率,利用多条路径实现更高的带宽利用率。举一个例子,假设MPTCP同时使用了两个传输路 径,当其中一个路径出现拥塞时,MPTCP可以选择增加另一个路径上的传输速率,从而实现更高的总体传输速 率,而TCP就不行了,他只能把拥塞窗口减半,然后再慢启动!

那么到现在,最后的问题就是,这个MPTCP到底应该怎么在拥塞的时候去调整每个路径上的传输速率呢?

比如说 这里弱化多少,这里增加多少呢?那么这个定量的问题,作者使用强化学习(RL)去解决的。

首先,强化学习是需要一个奖励函数的,也就是我们经常说的 reward function ,需要定义奖励函数,我们首先要 定义状态。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 在这个项目中,我们每隔时间t来计算一次状态。 状态的定义如下。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 其中sit表示在t时刻开始的时间间隔内的第i条TCP路径上的状态,Cwti表示当前路径在当前时间下的拥塞窗口大 小,第二个表示丢包率,第三个表示可用带宽,第四个表示时延。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 所有路径的总状态,可以如上所示了。 等一会儿,我们期望的是,把这个状态丢进强化学习网络里面之后,强化学习网络能告诉我,我这个MPTCP具体

应该怎么调整?所以我们定义 “动作” -- 表示具体应该怎么调整 接下来,我们可以定义,在t开始的特定时间段内,MPTCP和SVC的动作为Ai。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 紧接着,我们再定义奖励函数。

 深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

其中W(Ch,t)表示层权重函数,Lri,t是第i个子流的损失率,并且Thi,t是实现的吞吐量,所以,吞吐量越大 奖励函数值越大的,而层权重函数和丢包率的积其实可以理解成数据包到达对面主机的一个成功率,当然,这个增 大,奖励函数也是要增大的。

接下来,我们利用上面定义好的一系列变量,来分析算法运行的过程。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络 

首先,我们要明确,送进网络里面的,是[si,ai,ri,si],即状态+动作+奖励

(行1-3)算法随机初始化Q和重放缓冲器的值,这个缓冲区是什么意思呢,其实可以理解成重复训练,我们将一 个状态送进网络之后,这个状态可能发生了改变,相对应的他的奖励也会变,这时候我们把这个进入过网络的状态 再次放到等待队列(不完全是队列,它是随机采样进去的,不是先进先出的)里面继续,这样就能通过多次送进网 络,找到每种状态的最大化奖励所对应的动作。(行5-9)系统收集拥塞窗口的大小、每个子流的丢失率、带宽利 用率以及从环境接收的每个子流的RTT。然后,通过选择动作返回的最大奖励,系统执行动作以改变拥塞窗口的大 小(行11-13)<具体怎么改的,我找了很久但是文章中没有提到>。在执行动作之后,系统将状态、动作、奖励和 下一状态存储在重放缓冲器中,并执行随机采样(第14-15行)。最后,对每个学习步骤执行梯度下降(按照我的 理解这里是一个反向传播)以更新网络参数(行16-19)。

到这里,其实就已经可以得到,每一种状态,(即那个1*4的矩阵),所对应的最优的处理动作是什么,也就是 说,MPTCP应该怎么设置每条路的传输速率?都得到了解决。

性能分析 

那么作者具体的模型就是上面所说的内容了,那么他的性能到底怎么样呢? 由于深空环境的特殊性,本次实验的通信环境是通过计算机模拟实现的,而不是通过真实的实验或仿真测试。

为了评估提出的基于 dqn 的 MPTCP CC 方案的性能,我们设置两个具有不同 RRT和损失率的非对称链路。详细的链路设置如表 1 所示。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

现在我们来开始分析这个 DQN for SVC-based CC in MPTCP 的性能。

我们直接看图分析。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 

这个fig4展示了,流数据通过模拟的星际回程链路发送时,成功接收和播放的层的百分比。

我们可以看到 Proposed 就是作者提出的方法,后面的这些是作者用来做对比的方法。

我们可以看到,无论是SVC的BL层的接受概率,还是EL层的接受概率,还是BL+EL的总接受概率,作者提出的这个 方法都远远的超过其他对比的模型。我们可以看这个图,作者提出的方法,EL+BL加起来其实就可以理解成整个完 整的视频数据包到达对方主机的概率。我们可以看到,都接近100%了,我感觉这个有点夸张了其实。

然后前面我们提到,作者引入SVC是为了解决HoL阻塞问题,现在我们看看,解决的效果怎么样。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 

在这个图里面,纵坐标就是HoL阻塞的概率。横坐标就是网络的各链路 rtt 的不对称性。不对称性的定义如下。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

根据各链路 rtt 的不对称性也进行了性能评价。连杆的不对称性根据给出的相对误差来定义。

如图 5(a)所示,很明显,随着上述不对称性的增加,HoL 阻塞也会增加。当最大不对称度为 60%时,模型表示出 HoL 阻塞只有 12%,而其他模型基本在 50%以上。

蓝色这个是作者提出的模型,这是遥遥领先于其他模型了。

然后还有一个图,它是测量了传输一个完整的流文件所花费的时间。

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC,算法,人工智能,tcp/ip,网络协议,网络

 

显然,作者的这个方法太有优势了
可以看到,他这个方案的性能分别比 TCP BBR、DRL-TCP 和 QLE-DS 提高 20%、21%和 19%。

我认为可以改进的地方

虽然,看似,刚才看这些作者给出的这些图,好像感觉这个模型已经完全SOTA了,已经没有上升空间了,其实我认为,这个模型还是有很多要等待改进的地方的。

在这里,我主要对MPTCP提出了一些我的改进的想法。

MPTCP本身已经是一种支持多路径传输的协议,然而在深空网络环境中,由于传输路径的复杂性和不稳定性,MPTCP仍然需要进一步改进以适应不同的传输场景。以下是一些MPTCP进一步改进的方法:首先我是想对安全保障的方面说。

1. 加强安全保障:如前所述,深空网络传输具有重要的安全保障需求,需要提供数据的加密、认证和防篡改等 安全措施。因此,在MPTCP中,进一步封装,加强数据的安全保护,以确保数据传输的安全性和完整性。

2. 感觉这篇文章的实验部分内容有点少,其实可以探究一下SVCM的值对效果的影响。

3. 另外,目前他这里所做的这些实验,只有两条链路去模拟,因此我认为还没有很好的模拟了深空通信的状态,因为深空通信状态太复杂了,因此我认为这个文章还需要补实验,更好模拟深空通信的状态。文章来源地址https://www.toymoban.com/news/detail-636054.html

到了这里,关于深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 视频流识别---python

    在Python中实现预处理,需要用到一些常见的图像处理库,如OpenCV、PIL等。 首先,需要加载视频并读取视频帧。可以使用OpenCV库中的cv2.VideoCapture()函数读取视频,然后使用cv2.read()函数读取视频的每一帧。读取到的每一帧是一个numpy数组,可以对其进行各种图像处理操作。 以下

    2024年01月17日
    浏览(52)
  • 音视频——视频流H264编码格式

    我们了解了什么是宏快,宏快作为压缩视频的最小的一部分,需要被组织,然后在网络之间做相互传输。 H264更深层次 —》宏块 太浅了 ​ 如果单纯的用 宏快 来发送数据是 杂乱无章 的,就好像在没有 集装箱 出现之前,货物总是随意被堆放到船上。 上货(编码),下货是非

    2024年02月15日
    浏览(60)
  • 【vue2】前端如何播放rtsp 视频流,拿到rtsp视频流地址如何处理,海康视频rtsp h264 如何播放

    最近在写vue2 项目其中有个需求是实时播放摄像头的视频,摄像头是 海康 的设备,搞了很长时间终于监控视频出来了,记录一下,放置下次遇到。文章有点长,略显啰嗦请耐心看完。 测试?测试什么?测试rtsp视频流能不能播放。 video mediaplay官网 即(VLC) 下载、安装完VLC后

    2024年02月05日
    浏览(55)
  • 利用ffmpeg分析视频流

    ffprobe -show_packets -i \\\"rtsp://192.168.61.46:8554/live?channel=0type=0\\\":该命令用于显示 RTSP 流中的数据包信息,例如时间戳、大小、持续时间等。 ffprobe -i \\\"rtsp://192.168.61.46:8554/live?channel=0type=0\\\":该命令用于显示输入 RTSP 流的基本信息,例如时长、编解码器、分辨率等。 ffprobe -show_format -

    2024年02月13日
    浏览(42)
  • web,h5海康视频接入监控视频流记录一

    项目需求,web端实现海康监控视频对接接入,需实现实时预览,云台功能,回放功能。 web端要播放视频,有三种方式,一种是装浏览器装插件,一种是装客户端exe,还有就是无插件了。浏览器装插件很早前已经行不通了,chrome42还是44之前的可以。客户端装软件,一般接受度

    2024年02月15日
    浏览(41)
  • 【音视频】基于NGINX如何播放rtmp视频流

    现阶段直播越来越流行,直播技术发展也越来越快。Webrtc、rtmp、rtsp是比较火热的技术,而且应用也比较广泛。本文通过实践来展开介绍关于rtmp如何播放。 本文重点介绍基于NGINX如何播放rtmp视频流 可以参考上一篇博文:【音视频】基于webrtc协议浏览器播放rtsp https://blog.csdn.n

    2024年01月19日
    浏览(64)
  • m3u8视频流,视频切片处理

    随着客户的增加,mp4文件播放的弊端也日益凸显。 mp4缺点 1):mp4的关键帧元素往往很大,需要加载很长时间才能开始播放。 2):当用户打开一个视频播放的时候,浏览器会持续请求下载mp4文件直到下载完成,就算是用户暂停视频播放浏览器也会持续这种下载状态,给服务器硬

    2024年02月02日
    浏览(61)
  • live555推送实时视频流

    1,linux 环境: 官网上下载,下载地址:http://www.live555.com/liveMedia/public/ live555 版本:“2018.12.14” 参考:http://www.live555.com/liveMedia/faq.html 这个FAQ要仔细阅读。 2,编译 根据不同的平台来配置,并生成对应的Makefile 2.1 ARM平台: 修改交叉编译工具 cp config.armlinux config.arm vi config.arm

    2023年04月08日
    浏览(79)
  • Qt推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)

    推流程序将视频流推送到流媒体服务器后,此时就等待验证拉流播放,一般可以选择ffplay命令行播放或者vlc等播放器打开播放,也可以选择网页直接打开拉流地址播放,一般主流的浏览器都支持网页直接播放hls/m3u8/webrtc类型的视频流,而且推流的主要目的可能就是为了能够在

    2024年02月05日
    浏览(81)
  • 将电脑本地视频转成rtsp和rtmp视频流

    1、安装rtsp-simple-server rtsp-server 下载好的文件直接运行就好 2、打开FFmpeg开始推流 udp推流 tcp推流 循环推流 其中: -re 为以流的方式读取; -stream_loop 为循环读取视频源的次数,-1为无限循环; -i 为输入的文件; -f 为格式化输出到哪里;

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包