命名数据网络中的视频传输研究综述
2021-01-15胡晓艳童钟奇张国强郑少琦赵丽侠
胡晓艳 童钟奇 徐 恪 张国强 郑少琦 赵丽侠 程 光,2,3 龚 俭,2,3
1(东南大学网络空间安全学院 南京 211189)
2(计算机网络和信息集成教育部重点实验室(东南大学) 南京 211189)
3(网络空间国际治理研究基地(东南大学) 南京 211189)
4(网络通信与安全紫金山实验室 南京 211189)
5(清华大学计算机科学与技术系 北京 100084)
6(南京师范大学计算机科学与技术学院 南京 210046)(xyhu@njnet.edu.cn)
伴随着移动应用、数字化内容传播的快速增长,互联网已经成为一个主要由直播和视频点播等内容分发服务所主导的网络.根据Cisco发布的全球互联网统计报告[1],目前视频流量在所有流量中占比达到了73%,并且依旧在快速增长.预计到2021年,视频流量将占所有互联网流量的82%.
然而目前的IP网络是为了实现点到点之间资源共享的网络体系结构,并不是针对视频传输这种内容分发类任务而设计的,难以很好地满足视频传输的需求.首先,使用TCP协议在建立连接后需要维护已建立的连接,不能在视频传输双方发生移动时动态调整[2];其次,使用TCP协议时1次传输任务只对应1条连接,因此多路径获取内容的能力较差[3];然后,TCP建立连接的过程增加了网络延迟.使用UDP协议传输内容时可以减少延迟但是无法保证传输的可靠性[4];综合了TCP的可靠性和UDP的低握手延时的QUIC(quick UDP Internet connection)协议[5]的IP地址切换策略会导致其更易遭受拒绝服务攻击(denial of service, DoS)[6].最后,IP网络虽然支持组播,但是实现组播通信需要较大的开销,组播路由器也需要统计和维护组内用户的信息,协调工作较为复杂[7].
为了满足互联网用户日益增长的数据内容传输的需求,研究人员提出了下一代互联网体系结构——信息中心网络(information-centric networking, ICN).内容中心网络(content-centric networking, CCN)[8]是最有前途的ICN网络体系结构.命名数据网络(named data networking, NDN)[9]具体研究CCN网络体系结构联网的各种机制.在NDN中,数据内容的获取由用户驱动,用户发送带有特定名称的Interest报文请求数据,内容提供者用匹配该名称的Data报文响应用户的请求.同时,NDN允许网络节点缓存内容,以便节点中缓存的数据内容可以满足其他用户的请求,可以有效地减少视频传输延迟和网络内负载.此外,按名称获取内容使得NDN中用户可以从多路径并行获取内容,而且NDN天然地支持多播和多路径传输,也可以更好地支持网络的动态性,有利于视频传输等内容分发类任务.
本文对应用NDN传输视频的研究工作进行了调研,指明了该项研究工作未来的研究方向和尚且存在的挑战.
1 视频传输和NDN背景
1.1 视频传输需求
视频是连续的图像序列,一组图像按先后顺序播放从而产生动态效果.视频传输技术综合了图像处理技术、通信技术和网络技术,其目的是对源视频数据进行编码压缩、传输、解码和播放.视频数据相较于网络中的图像、文字等数据有很大的不同.从对视频质量的主观评价方法来考虑,视频传输主要有4种需求:
1) 需要提高视频传输的码率[10].视频是连续的图像流,所需传输数据量非常大.视频传输任务需要在有限的带宽内提升消费者收到的视频码率,充分利用不断变化的带宽.
2) 需要保证视频播放的稳定性.移动设备的比例不断增加,视频更多的在移动设备上播放.移动设备所处的无线网络中带宽等条件不断变化,带来更加动态的网络环境.因此视频传输需要保证视频播放时的稳定性,即减少播放时的卡顿和视频码率的频繁切换.
3) 需要对视频版权和隐私进行保护.视频内容作为一种特殊的财产,需要对其进行版权保护,以保障内容提供商自身的利益.此外,不论是消费者还是生产者的隐私都不应在传输中被泄露.
4) 需要满足传输不同类型视频时的特殊需求[11].不同类型的视频对于视频传输的需求可能不同.虚拟现实(virtual reality, VR)视频由于其码率高,数据量多,因此对带宽要求较高.增强现实(aug-mented reality, AR)需要根据当前环境中的上下文信息实时地更新传输的数据内容.实时视频传输则需要网络能快速地检索和传输新内容,对延迟的要求十分苛刻.
1.2 IP中视频传输存在的问题
现有的视频传输服务都是在传统IP网络体系结构的基础上建立的.IP网络体系结构是为了实现1对1的通信所设计的.然而目前的视频传输大都是1对多甚至多对多的数据分发类任务,即便在IP上设计了不同的传输协议,如基于UDP的实时传输协议(Real-Time Transport Protocol, RTP)、实时流传输协议(Real-Time Streaming Protocol, RTSP)、QUIC协议、基于TCP的超文本传输协议(Hypertext Transfer Protocol, HTTP)和实时消息传输协议(Real-Time Messaging Protocol, RTMP)等,依然不能很好地满足视频传输的各种需求.以下是对这些不足的总结描述:
1) IP网络体系结构没有充分利用网络带宽.IP网络端到端的设计理念限制了IP网络内容分发的能力,组播的实现需要额外的协议和路由器的支持.此外,TCP通过建立1对1的连接来传输数据,使得IP网络从多路径获取数据的能力较差.传统的IP网络体系结构中使用多路径TCP(multipath TCP, MPTCP)[3]以及多路径QUIC(multipath QUIC, MPQUIC)[12]协议并行获取数据,但是MPTCP使用轮询算法进行数据调度,没有考虑各个子路径之间的性能差异,从而无法充分利用多路径传输数据的能力[13].而MPQUIC协议使用了与MPTCP相同的数据调度算法,因此与MPTCP有着相同的问题[11].
2) IP网络体系结构对移动性的支持较差,降低了视频播放的稳定性.当前视频网站所使用的自适应视频流技术多采用基于TCP的HTTP协议.而TCP是通过建立的连接来传输内容的,需要在视频传输时维护建立的连接,当客户端或服务器发生移动时,需要建立新的TCP连接.为了提供对移动性的支持,QUIC放弃了TCPIP网络中使用五元组(源IP,源端口,目的IP,目的端口,协议标识符)来唯一标识一条连接的方式,而是使用了一个全局唯一的随机生成的ID(连接ID)来标识一条连接.这样,当通信一方的物理网络发生变化时,在原先网络中建立的QUIC连接仍然可以保持[5],但是在网络层中仍然需要处理IP地址变化带来的影响.IP地址的移动大多使用基于隧道技术的移动IP[2]来控制,移动IP虽然保持了连接中通信两端的IP地址不变,但是由于代理的存在,所选择的路径可能不是最优路径.
3) IP网络体系结构中一般通过中间代理的方式对通信双方身份信息的隐私进行保护,如洋葱路由[14]等,这会使网络监管变得十分棘手.此外,IP网络中通过加密保护传输内容的隐私,如传输层的安全套接层(secure sockets layer, SSL)[15]安全传输层协议(Transport Layer Security, TLS)[16]以及网络层的IPSec(Internet Protocol Security)协议[17],由于层与层之间是相互透明的,可能会导致重复加密而造成额外的开销.
4) IP网络体系结构较难同时保证高可靠和低延迟的视频传输.使用TCP协议会因TCP的3次握手而产生较高的起始延迟,这在实时视频传输中有时是不能被接受的;使用UDP协议虽然没有3次握手造成的延迟,但是UDP协议难以保证可靠传输,数据包丢失和数据包乱序都会降低接收到的视频质量.综合了TCP和UDP优势的QUIC协议在应对IP地址切换时的策略使其易受DoS攻击,并且服务器重传的数据中出现了错误字节时还会产生数据泄露的问题[6].目前广泛应用于视频分发的内容分发网络(content delivery network, CDN)采用CS架构[18],仅适用于不考虑实时性的静态资源.但是对于实时性要求高的内容,在第1次从父节点请求内容时,父节点需要向服务器请求该内容并缓存再发送给客户端,父节点存储内容以及再分发的额外时延降低了用户的体验质量(quality of experience, QoE).
1.3 NDN背景及其在视频传输方面的优势
1.3.1 NDN背景
NDN路由器是NDN中最为核心的网络元素,它由3种数据结构构成,即内容存储器(content store, CS),用于缓存经过的数据内容;待定兴趣表(pending interest table, PIT),用于存储当前已被转发但尚未被满足的Interest报文信息;转发信息表(forwarding information base, FIB)用于存储路由信息.
NDN中有3类实体,即生产者、消费者和NDN路由器.生产者是内容的提供者,负责发布数据内容;而消费者是发布内容的订阅者,从网络中请求其所需内容;NDN路由器负责向消费者传输被请求的数据内容.此外,NDN中主要有2种报文,即Interest报文和Data报文.Interest报文由消费者发出,携带被请求的数据内容的名称;Data由生产者发出,响应Interest报文,承载着消费者请求的数据内容.
NDN路由器处报文转发过程如图1所示.当节点收到一个Interest报文,首先判断CS中是否有匹配的Data报文.如果有则返回该Data报文并丢弃该Interest报文;若没有则查询PIT中是否已存在与该Interest报文名称相匹配的条目.若存在,则将该Interest报文的进入接口添加到PIT中匹配条目的接口列表上;若不存在则查询是否可以根据FIB转发该Interest报文.若找到匹配的FIB表项,根据表项中记录的下一跳转发兴趣报文.FIB表项可以记录多个下一跳以支持兴趣报文的多路径转发.若没有找到匹配的FIB表项,就丢弃该Interest报文或者返回一个NACK报文.
Fig. 1 Forwarding process of NDN packets
当节点收到了一个Data报文,首先查询是否可以根据PIT转发该Data报文.如果没有找到匹配的PIT条目则丢弃该Data报文.如果找到匹配的PIT条目则按照PIT条目中接口转发该Data报文,并根据所用的缓存策略决定是否将该Data报文缓存以便响应将来的数据请求.
1.3.2 NDN在视频传输方面的优势
相较于传统的网络体系结构,NDN在视频传输上有4方面的优势:
1) NDN的网络缓存机制、多播以及多路径传输获取内容的能力可以充分利用带宽传输视频.NDN允许网络内缓存,这在一定程度上拉近了消费者与数据源之间的距离,增加了消费者感知到的带宽.NDN的Interest报文聚合机制自然地支持了组播,避免了网络冗余的视频传输,有效地利用了带宽.结合了网络编码[19]的NDN也允许从多路径多数据源获取数据,即NDN内节点可以从多个接口转发Interest报文至多个数据源请求相关内容块,为视频内容的并行传输提供了可能性,进而加快内容获取的速度,也增加了消费者感知到的带宽.
2) NDN对移动性的支持相对简单,传输可靠,更好地保证视频播放的稳定性.相较于生产者端,随着移动设备的不断增多,更多的移动设备成为了消费者端设备.而NDN天然地支持消费者端的移动,消费者位置变化后只需要简单地重发Interest报文即可.此外,NDN的多路径获取内容的能力以及网络内缓存的存在,一定程度上缓解了生产者移动带来的影响,提高了视频传输的稳定性.
3) NDN更易实现隐私保护策略.NDN中通过命名只能得到请求的内容名称,而无法得到请求该内容的消费者的信息.NDN中的每包加密的策略不会导致重复加密的问题.此外,NDN数据传输时不需要建立连接,因此不会存在对信道的攻击.
4) NDN更易满足高质量和低延迟的视频传输需求.NDN在传输时不需要建立连接,没有连接建立时产生的延迟,网络中缓存的存在和支持多路径获取内容的能力也有助于加快内容获取速度,降低消费者延迟.NDN中以Interest报文和Data报文对的形式传输数据内容,每次Interest报文的重传意味着前面发送的Interest报文或其匹配Data报文的丢失,新Interest报文的发送也意味着确认收到前面传输的Data报文,巧妙地实现了传输层的功能,为视频内容的可靠传输提供了保障.
1.3.3 NDN中视频传输涉及协议
视频传输涉及路由、传输和应用协议3个方面.在NDN中传输视频时,路由指节点接收到视频Data报文或请求视频内容的Interest报文后根据其命名方案进行定向和转发的过程.NDN架构中没有单独的传输层实现可靠的视频传输,而是将传输层协议的功能分散到应用、应用的支持库以及转发平面的策略中.NDN的视频应用协议定义视频的生产者和消费者何时发送消息和发送消息的规则,确定了消息的内容、消息的语法结构以及不同字段的语义.
NDN按名路由解决了IP网络中的地址耗尽、NAT穿透和可伸缩的地址管理的问题.NDN中的路由表构建可以用类似于IP路由表构建的方式完成,通过广播路由器可转发或可满足的名称前缀,由路由通知构建FIB表.在NDN的路由中,需要解决2个主要的问题:一是在允许无界的命名空间限制路由表项的数量;二是支持Interest报文的多路径转发.目前NDN中主要使用的路由协议是命名数据链路状态协议(Named Data Link State Routing Protocol, NLSR)[20],它使用ChronoSync[21]传播路由更新,ChronoSync是一个NDN中使用Interest报文和Data报文进行同步的协议;在单个域内有着层次信任模型;在网络节点中通过构建的网络拓扑使用Dijkstra算法计算到达每个节点的成本,从而对下一跳的优先级进行排序.
NDN通过以下策略实现传输层功能[22]:1个Data报文匹配1个Interest报文的模式实现了数据发送方和接收方速度的匹配;Data报文在响应Interest报文的同时扮演着选择性确认的功能;超时重传则是由数据消费者端的应用来确定的,若用户仍然需要超时未被响应的Interest报文所请求的数据,应用则需要重发该请求,而重传该请求的接口则由转发策略根据各接口历史传输数据的性能来确定;此外,NDN通过逐跳管理PIT大小来管理流量负载,当路由器流量超载时可以减少或停止向其邻居转发Interest报文,这也意味着实现了分布式的流量管理策略;NDN的网络缓存也可以用来缓解拥塞后的视频数据重传,即便发生了拥塞,缓存中的副本也可以稳步地向视频消费者处推进,避免了拥塞崩溃的发生.
NDN中视频传输尚处于理论阶段,缺乏公认的标准化组织确立统一的适用于NDN的视频应用协议.目前NDN中针对视频的应用协议大多与研究者所设定的不同视频传输场景相关.不同视频应用协议在不改变原始Interest报文和Data报文结构的基础上,通过在报文中添加不同字段,并结合不同的命名策略,满足不同视频传输场景下应用协议的不同需求.Interest报文和Data报文在遵循1对1的基础上由视频应用程序确定发送时机以及发送规则.
综上所述,NDN的路由、传输和应用协议融为了一个紧密相连的整体.
2 NDN中视频传输已有方案剖析
本节主要介绍NDN中探索1.1节所提的视频传输需求的解决方案,即如何提高传输的视频码率、如何保证视频播放时的稳定性、如何保护视频版权和隐私以及如何在NDN中传输新型的视频,并在最后将这些策略在IP中的表现与NDN体系结构下作对比.
2.1 NDN中视频传输码率提升方案
为了提高视频的传输码率,可以通过减少需要传输的数据量,充分地利用带宽和NDN中多源获取数据的能力来实现.目前在NDN中主要利用以下策略提升视频的传输码率:通过视频编码减少传输的数据量;通过动态自适应流(dynamic adaptive strea-ming, DAS)技术充分利用带宽;采用P2P(peer to peer)技术和网络编码技术充分利用NDN从多源获取数据的能力.
2.1.1 NDN中视频编码方案选择
视频传输前进行编码可以减少传输中的数据量,NDN中现有方案沿用了IP下主流的2种编码方案,即AVC编码方案和SVC编码方案.
1) 应用于NDN上的高级视频编码(advanced video coding, AVC)[23].目前NDN上大部分的视频传输方案都是基于AVC设计的,如文献[24-25]等.与H.263,MPEG-2等前代编码标准相比,AVC编码在增加了少量的编码开销后,显著减少了在传输相同图像质量、帧率和分辨率时所需的码流.AVC还具有兼容性强等优势,可以在较低的带宽上传输更高质量的图像.
Fig. 2 Name space when using AVC
2) 应用于NDN上的分层视频编码(scalable vide coding, SVC)[26].与AVC相比,SVC更多地考虑了对变化网络的适应性.SVC采用分层编码模式,提供一个基础层和若干个增强层.SVC同时具有空间、时间和质量3方面的可伸缩性,在一定的带宽范围内都能提供可靠的视频服务.文献[27]实现了NDN与SVC和DAS结合的视频传输,提出使用SVC编码可以用更少的传输数据量获得更好的视频码率.但是当使用SVC编码时,使用先进先出的报文转发策略是不公平的,因为在SVC中,基础层的优先级是要高于增强层的.作者据此提出了按照分层优先级来转发数据包的策略:Interest报文的优先级高于Data报文,Data报文中视频层级越高,优先级越低.
2.1.2 NDN中自适应视频流的应用
基于HTTP的自适应视频流传输(dynamic adaptive streaming over HTTP, DASH)[28]是目前IP网络中使用最广泛的为充分利用带宽、提高用户QoE的视频传输方案,DASH以数据块的方式传输数据,由用户驱动数据获取,客户端具有根据自身所处网络环境自适应调节所请求的码率的能力.显然,DASH与NDN有许多相同之处:都是由客户端驱动;都是以数据块的方式来处理数据;对潜在的多个数据源提供支持.种种相通之处使DAS在NDN中可以得到更好的应用.
如何在现实中将DAS应用于NDN,文献[29]提供了2种可供参考的实施方式:一是沿用现有DASH应用的设计,在NDN与应用之间设置一层代理,将HTTP数据请求报文打包成Interest报文后再经由NDN网络传输.这种方法不需要重新设计应用,减少了程序再开发的额外消耗,但是中间代理降低了数据传输效率.二是基于NDN开发全新的NDN-DAS,这种方法需要重新开发应用,但是部署完成后有更高的效率.因为NDN目前尚处于理论阶段,与DAS的结合也都是考虑基于NDN全新设计的NDN-DAS.下面将介绍NDN-DAS的2个主要研究方向:报文命名方案和可用带宽估计.
2.1.2.1 NDN-DAS的命名方案
NDN-DAS的命名方案依旧遵循分层、人类可读的命名规则.但是在与不同编码方案结合时会有所不同,这里主要介绍与2.1.1节中的SVC编码和AVC编码结合时的NDN-DAS的命名方案.
1)与AVC编码结合时NDN-DAS的命名方案.文献[19-20]都是基于AVC编码的NDN-DAS的实现方案.命名方案虽有区别,但是整体思路相同,本文用文献[19]中的方案来介绍NDN在AVC编码方案下的命名.图2是使用AVC编码时的数据段的命名方案.在video下有不同的码率标识.每个码率都是对整个视频的编码,在可用带宽变化时请求不同的码率来完成视频码率的自适应切换.
2) 使用SVC编码时NDN-DAS的命名方案.文献[27,30]中介绍了基于SVC编码的NDN-DAS方案,图3是文献[27]中所使用的命名方案.
Fig. 3 Name space when using SVC
在segments下是不同层的标识,与SVC编码的分层方式对应.消费者端在请求时根据估计的带宽请求不同层.增强层是对基础层的补充,与基础层一起解码成原视频.
2.1.2.2 NDN中可用带宽估计
可用带宽估计在NDN的自适应视频流传输中是非常基础和重要的一环,它是视频码率切换是否合适的关键因素,不合适的带宽估计可能会导致播放的频繁中断或者码率的频繁切换.根据带宽估计算法中所使用的度量方法的不同将NDN-DAS的码率自适应算法分为3类:
1) 基于带宽的带宽估计.基本思想是根据当前观测到的带宽和之前带宽的特征来估计接下来的带宽.
文献[31]指出NDN的多源获取数据的能力相较于IP可以更有效地提升用户感知到的带宽,为充分利用NDN多源获取数据的能力,需要有效地对每个链路上的可用带宽进行检测,使用当前可用带宽最高的链路进行传输.文中简单地选择了当前观测到的最高带宽的链路进行传输并根据观测到的带宽确定请求的码率,在测试中表现出了较IP下单链路的DASH更好的性能.
2) 基于缓冲区的带宽估计.基本思想是先下载最低码率的若干个视频段填满播放缓冲区.如果播放时间大于下载这些段的时间,也就是缓冲区的填充速度大于缓冲区的消耗速度,则会尝试请求视频的增强层段数据,直到缓冲区的填充速度与消耗速度相接近.
文献[32]提出的BOLA(buffer occupancy based Lyapunov algorithm)是一种典型的基于缓冲区的带宽估计方法.将自适应算法定义为一个效用最大化的问题,包含2个关键指标——视频平均码率和重新缓存持续时间.平均码率增加代表效用提高,重新缓存持续时间增加代表效用减少.该算法使用Lyapunov函数来最大化平均码率和最小化重新缓存持续时间.
3) 综合预测.结合带宽和缓冲区等多方面因素,综合预测下一请求视频块的码率.
文献[33]引入成本的概念,即请求不同质量视频付出的代价,具体来说就是占用的带宽和占用的缓冲区空间.同时以QoE作为用户的收益,用户请求新的码率时需要均衡代价和收益,也就是选择利润最高的视频码率进行请求.
文献[34]中将带宽预测视为一个上下文多臂老虎机问题.以最优用户QoE和(包括视频平均码率、视频码率下降和视频卡顿)为目标.将下个视频段的码率选择作为动作集合,QoE变化作为奖励,使用UCB模型解决快速预测的需求.
由于NDN支持从多个数据源获取数据,而多条路径上的带宽相差可能很大,基于带宽的带宽估计可能会带来更多的不确定性.而基于缓冲区的估计仅考虑缓冲区填充速度,可能会更好地支持NDN中带宽的估计.文献[35]对这2种不同类型的带宽估计算法进行了比较实验,实验结果表明:使用基于缓冲区的带宽估计会获得更高的视频码率、更少的播放中断和视频码率切换.
2.1.3 NDN中P2P技术的应用
P2P是目前被广泛采用的内容再分发的手段.P2P的“PullMesh”结构与NDN的设计理念十分相似,且NDN与P2P都是基于内容分布和去中心化的思想,种种相似性使得在NDN上部署P2P的前景十分可观.下面介绍2种在NDN上部署P2P已有的尝试.
文献[25]实现了一种先使用蜂窝网络从服务器获取数据,然后在消费者间构建了基于NDN的P2P共享结构.消费者在从蜂窝网络获取了数据后从设备的WiFi接口发送通告,告知对等节点自身已有的内容.对等节点可以通过WiFi接口向该节点请求内容.此外,该结构还将蜂窝网络接口也加入到了FIB中,当其他节点请求的内容不存在时也可以从该节点通过蜂窝网络向数据源请求数据内容.这种结合了IP与NDN的设计可以有效地推进IP向NDN的平滑过渡.
文献[36]将一个IP中的P2P系统Hippo[37]移植到了NDN中.Hippo由一个控制层和一个媒体转发层构成.控制层负责P2P系统中的服务器和用户的管理等,媒体转发层负责数据的共享和传输.Hippo将少量的控制数据从大量的媒体数据中剥离开来,简化了NDN下媒体数据与控制数据的区分过程,证实了NDN下P2P的可行性.
2.1.4 NDN中网络编码的应用
在传统NDN中,节点没有转发策略的协调机制,也就是说当消费者的某一个接口收到了返回的Data报文时,其他已经在传输的请求相同Data报文的Interest报文或者响应其他相同Interest报文的Data报文并不会停止传输.这样会导致不同路径上相同内容的多次交付,造成不必要的冗余.此外在NDN中,一个Interest报文只能由一个特定的同名Data报文或该Data报文在缓存中的副本来响应,也在一定程度上降低了网络内缓存的命中率.为了充分利用NDN网络多路径转发和网络内缓存的优势,将网络编码技术引入到NDN的视频传输中.
网络编码是一种融合了路由和编码的信息交换技术,它的核心思想是在网络中的各个节点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游节点,中间节点扮演着编码器或信号处理器的角色.根据图论中的最大流-最小割定理,数据的发送方和接收方通信的最大速率不能超过双方之间的最大流值(或最小割值),如果采用传统多播路由的方法,一般不能达到该上界.文献[19]以蝴蝶网络的研究为例,指出通过网络编码可以达到多播路由传输的最大流界,提高了信息的传输效率,从而奠定了网络编码在现代网络通信研究领域的重要地位.
文献[38-44]中NDN与网络编码结合的基本思路类似,首先将一段视频内容包含的所有Data报文当作一个集合,并将这个集合按序分为大小相等的子集,每个子集称为一“代”.由于视频大小不一,整个视频文件集合的大小可能不同,但是“代”的大小在约定好后不会再改变.将每一代中的每一个Data报文看作一个向量,通过线性计算将每一代中的Data报文都编码为线性不相关的编码后Data报文(编码块),它们有着相同的名称.因此同代多个编码后Data报文可以响应同一个Interest报文,网络可以并发地获取同一代视频内容的编码块,客户端只需要收到足够的线性无关的编码后Data报文就可以解码出原数据.
文献[38]实现了一个引入网络编码的CCN架构——NC-CCN.首先指出引入网络编码后命名上的变化会简化Interest报文发送时的管道操作和缓存中内容管理的复杂度,并且消费者只需关注是否收到足够线性无关的数据包即可.但是PIT中Interest报文聚合会导致消费者收到线性相关的数据报文,由nonce确定是否存在环路的机制在引入网络编码后也不再有效.然后作者重新设计了FIB,CS和转发过程.在FIB中建立了Interest报文和Data报文1对多的关系,在CS中缓存同一内容的线性无关数据报文块,多路径转发从而充分利用网络带宽.在最后的实验中测试了它与传统CCN的性能差异,为后续的研究者在网络架构的角度上提供了指导.
为了防止同一个编码块多次响应同一个Interest报文,文献[40-41]中提出了一个控制机制,根据接口已发送同代数据内容编码块的数量判断是否响应Interest报文.此外,为了防止Interest报文聚合引发的问题,更改了Interest报文的命名,还在命名中加入了客户端已有线性无关编码块数量的信息.
文献[42]探讨了无线环境中将网络编码引入到NDN中的效果.现在的设备大多配备了多种无线接口,在无线环境中,网络构成复杂多变,网络编码的引入有效地利用这些接口同步获取数据,减少了数据获取的延迟.同时,网络编码的引入使得NDN中Interest报文和Data报文的关系从1对1变成了1对多,即引入了网络编码的NDN中一个Interest报文可以由同一代中的多个Data报文响应,提高了网络内缓存的命中率,可以有效地支持无线异构网络环境下的无缝网络切换.
文献[43]考虑了基于SVC编码的网络编码视频传输方案.当采用了SVC编码时,不同视频层之间存在着关联,下层是上层的基础.作者采用了将每一层作为一级,然后在每一级上分代的策略.然后为了最大化用户的平均视频码率,给SVC编码的每一层分配了不同的重要程度,给低层次的分配更大的重要程度,因为对于底层的需求更大.并且依据重要程度设计了一个全新的转发策略,即先转发重要程度高的报文再转发重要程度低的报文.作者在实验中证明了NDN下SVC与网络编码结合的可行性.表1是对2.1节NDN中视频码率提高策略的对比.
Table 1 Comparison of Strategies to Improve Video Bitrate
2.2 NDN中保证视频播放稳定性方案
视频播放的稳定性直接影响着用户体验.面对视频内容越来越多地由移动设备生产、由移动设备消费的情况,需要考虑NDN对于生产者和消费者移动性的支持.此外,由于网络中缓存或服务器存在轮流切换使用的情况,可能会造成网络抖动的出现.并且网络环境不断变化,可能会出现网络拥塞以及链接失效等情况.下面介绍NDN如何解决这3个方面的问题.表2是针对这3个问题的解决策略的对比.
Table 2 Comparison of Strategies to Maintain Playback Stability
2.2.1 NDN中移动时稳定性的保持
随着移动设备的普及,视频内容越来越多地在移动端被播放.同时,随着网络直播的兴起(如twitch、斗鱼等)、视频通话的普及以及移动设备性能的提高,移动设备也成为了视频生产者中重要的一部分.因此在NDN视频中,移动性需要从消费者端和生产者端2方面来讨论.
2.2.1.1 NDN中对消费者端移动性的支持
如1.2节中所述,IP中通信双方任意一方的移动都需要额外的协议支持,而在NDN中,由于NDN是由消费者驱动的网络结构,因此NDN中内在地支持消费者的移动性.文献[45-46]的实验中都证明了NDN对于消费者端移动性的支持.当消费者重定位后,可以简单地重新发送以前发送的但尚未被满足的Interest报文即可,不需要在网络中对消费者执行新的注册等操作.此外,NDN的网络缓存功能也一定程度上缓解了消费者端移动带来的负面影响,消费者移动后重发的Interest报文可能在转发的过程中直接被前面传输后缓存的Data报文响应.NDN对消费者端移动性的自然支持对视频传输非常有利,因为视频传输的大部分场景如点播、直播,服务器一般不移动,更多的是视频的消费者处于移动之中.
2.2.1.2 NDN中对生产者端移动性的支持
尽管NDN中内容名称不再包含位置信息,但这并不意味着内容与位置分离.具体地说,内容的发布首先是将内容名称发布到相近的路由系统中的网关路由器.因此,即使生产者移动到了另外一个点,Interest报文仍会发送到该网关路由器.如果没有额外的控制机制,用户和其他路由器都不知道原本发往该生产者的Interest报文该转向哪里.虽然Interest报文可以在所有修改了相关的FIB条目的路由器中重新转发分发,但这明显对NDN网络的稳定性有较大影响.并且FIB条目修改前的Interest报文转发的失败,会导致严重的路由振荡.虽然NDN中的网络缓存以及多路径获取内容的能力一定程度上缓解了生产者端移动的影响,但是无法彻底消除生产者移动带来的问题.根据位置信息与命名分离的程度,将NDN中现有的解决生产者移动性问题的方案分为部分分离(partial separation, PS)和完全分离(total separation, TS).
文献[47-49]都使用了部分分离的方法解决NDN中生产者端移动带来的问题.在部分分离方法中,有一个网关作为代理代替移动生产者发送和接收报文.生产者移动后依旧将新数据报文发送到原网关处,消费者也依旧将Interest报文发送到网关处请求数据.因此,移动只会影响网关和移动生产者之间的路径.但是这种方法可能会增加内容转发的路径长度,增加延迟.
文献[45,50]使用了完全分离的方法解决NDN中生产者端移动带来的问题.完全分离方法需要部署一个位置服务器来记录定位信息.为了找到内容或主机,消费者首先会向位置服务器发送一个请求来查询定位信息.然后,消费者在获取到移动后的位置信息后再将相关Interest报文以新的路径转发到相应数据源处.这种方法可以保证选择的路由是最佳的,但是在生产者不断移动的情况下可能需要不断地向位置服务器发送请求,造成资源浪费.
文献[51]在NDN上设计了一种路由策略,用于缓解NDN中生产者移动性问题.在Interest中添加一个字段Hint,将ISP的名称从命名中分割出来存入该字段中,命名中其余部分保持不变.在转发过程中,先按照原始NDN的策略按命名的最长匹配转发,当缓存没有命中并且最后查找FIB表中也没有下一跳路由时,根据Hint中的内容查找表,表中存放的是该ISP可能存在的位置,根据查找结果转发.在生产者发生移动时,查找表中的内容也会更新.作者提供的是一种在生产者移动后向ISP可能存在的位置转发的策略.不能保证获取数据但是一定程度上缓解了生产者移动带来的影响.
2.2.2 NDN中网络抖动的缓解
由于网络内缓存的特性,在NDN网络中会出现网络抖动(又称作“乒乓效应”).考虑以下场景:消费者首先请求一些低码率视频段,若这些段已经在网络内缓存且距离消费者较近,消费者会以一个更快的速度接收到这些段.根据可用带宽估计算法,消费者会认为可以请求更高码率的视频段.然而,若高码率的段没有在距离较近的路由器内被缓存,并且消费者到生产者之间的吞吐率不足以支持高码率的段,那么消费者又会切换回请求低码率,从而会在高低码率之间持续抖动.
为了缓解NDN中可能出现的网络抖动的问题,文献[52]中介绍了缓存内容感知的带宽预测方法DASH-INC.假设NDN中仍有一些位置的感念,使得消费者端可以感知获取的内容是来自缓存还是来自内容提供商处,从而在带宽预测中调整请求的码率.为实现消费者端对内容位置的感知,在中间节点中添加了更改MPD文件的手段,消费者通过获取到的MPD文件中的相关信息了解即将请求的内容的具体位置.DASH-INC避免了NDN中可能出现的网络抖动的问题,但是需要中间节点较多的额外计算能力.
文献[53]利用非线性自回归外生模型(nonlinear autoregressive with external input, NARX),提出了一种基于接收信号强度(received signal strength, RSS)、延迟和网络切换成本的切换预测机制.首先使用整数线性规划(integer linear programming, ILP)构建了一个在已知场景下解决网络切换决策问题的数学模型,这个ILP模型最小化了在某一确定时间段内的总成本,包括切换成本和使用特定网络的成本.然后使用这个ILP模型训练NARX.最后使用训练好的NARX模型根据RSS和延迟信息自动做出NDN网络切换决策.性能评估表明,该机制能够较好地避免网络抖动,并且在延迟方面有一定优势.
2.2.3 网络环境动态变化时稳定性的保持
网络环境是动态变化的,网络环境的改变可能会导致网络拥塞、链路失效等问题.IP网络的报文转发包含2个阶段.首先在路由平面,路由器之间会交换路由更新并选择最优路由构造转发表,因此IP路由平面是有状态且自适应性的.然后在转发平面,路由器严格按照转发表转发数据报文,因此IP的转发平面是无状态的且没有任何自适应性的.IP中可靠稳定的视频数据传输完全依赖于路由平面,当出现了拥塞或链路失效的问题时,需要路由平面的控制,缓解拥塞或重新选择转发路径.并且IP路由的收敛需要一定的时间,视频传输的稳定性在动态的网络环境下难以得到保证.
相比之下,NDN的有状态转发可以在动态的网络环境下依然较好地保证视频传输的稳定性.具体地说,与IP不同,NDN中的视频传输通信由消费者发送Interest报文驱动,中间网络节点可以通过多路径转发该Interest报文,并且会记录对该Interest报文的转发.匹配的视频数据Data报文就会按照记录的路径返回给消费者(对称路由).因此,NDN网络节点可以观测到每条路径传输视频数据的性能(如往返时延、吞吐量),探测到导致报文丢失的问题(如链路失效或拥塞),使用多条备份路径绕开有问题的区域.由于NDN具备这种有状态的转发平面,路由平面只需关注如拓扑或策略这种长期的变化,无需处理短期的网络波动,可以一定程度上保证视频传输的稳定性[54].
2.3 NDN中视频版权和隐私保护方案
一个合理的网络体系结构既需要对视频服务提供商的利益提供保护,也就是对视频版权的保护,也需要对生产者、消费者以及网络内节点的隐私进行保护.在本节中,我们分别介绍如何保护视频版权和如何保护隐私.
2.3.1 NDN中视频版权保护
网络需要对视频版权进行保护,用户只有获取内容提供商的授权后才能获取视频内容.合适的版权管理方式是对内容提供商的利益的保障,服务提供商只有在利益得到保障后,才会支持NDN的大规模部署.
版权保护的前提是用户身份验证.IP网络中可以使用OpenID,oAuth(open authorization)协议实现用户身份验证,并且IP地址也可以作为唯一标识辅助验证.但是在NDN中,用户信息与Interest报文解耦,Interest报文只承担请求数据的功能,不传递用户名和密码等身份验证信息.因此在NDN中,用户身份验证十分棘手.当前NDN中已有的版权保护措施中,都是通过给用户分配一个全局唯一的ID解决身份验证的问题.这种方法违背了NDN设计之初用户身份信息与报文解耦的设计理念,但是这些策略仍可以作为后续研究的一些参考.
目前在NDN中,对版权保护的思路主要有2种:一种是对内容加密,只有具有对应密钥的消费者才能解密;另一种是对消费者访问权限进行管理.
2.3.1.1 NDN中的内容加密
当使用对内容加密的方式保护视频版权时,为每个消费者提供一个不同的密钥,并将相同内容用不同密钥加密的方式显然不适合NDN.因为当把同一内容用不同密钥加密时,同一个Data报文就不能响应多个用户的请求,丧失了NDN网络内缓存等带来的优势.
目前在NDN中通过对内容加密从而进行版权保护的主流方法是使用广播加密技术(broadcast encryption, BE)[55].广播加密技术是一种密钥管理手段,允许内容生产者将加密后的报文以异步的方式传输到不断变化的消费者集合,并能有效地剔除泄密者和订阅到期的消费者.
Fig. 4 Integrated structure of DAS and BE in NDN
文献[56]中提出了一种在NDN上使用广播加密的自适应视频流框架,如图4所示.将广播加密技术BE、自适应视频流DAS和NDN网络体系结构结合.在NDN上传输自适应视频流,在自适应视频流上用BE对其内容加密.使用一个全球可信实体(license agent, LA)为已授权的消费者发布一组预先生成的密钥.生产者随机选择这一组密钥中的一个加密内容,并发送加密后的Data报文,因此只有具有这组密钥的消费者才能正确地解密Data报文获取内容.
2.3.1.2 NDN中消费者访问权限的管理
由于NDN的命名策略中不包含主机的标识,并且NDN允许网络内缓存,内容提供商和网络节点无法检查Interest报文是否有权利访问内容,因此很难控制用户的访问权限.
在NDN中解决访问控制的一种策略是引入AAA,AAA是认证(authentication)、授权(authori-zation)和计费(accounting)的简称,是网络安全中进行访问控制的一种安全管理机制.
文献[57-58]都实现了NDN中的AAA访问控制机制.在这种方法中,每个消费者都被分配了一个特定的ID.每个用户都将通过为NDN设计的AAA服务器进行身份验证,并将根据访问控制策略进行访问控制.当内容生产者收到来自用户的Interest报文时,它将被转发到AAA服务器,并根据服务器的决策做出响应.此外,NDN路由器会维护一个访问控制列表,每一条记录都是由内容名、允许访问ID和拒绝访问ID组成.当路由器收到Interest报文时首先查找访问控制表,如果允许访问,路由器就可以决定是否回复相应的Data报文(如果已缓存)或是否继续转发该Interest报文.如果表中不存在相应名称的表项,将Interest报文转发给AAA服务器决定访问策略.
2.3.2 NDN中的隐私保护
在视频传输中,隐私保护也是一个很重要的方面.在NDN中,除了对消费者、生产者的隐私保护,还需要考虑到对NDN中特有的网络内缓存的隐私保护.下面将阐述这些问题和现有的一些解决方案.
1) 在NDN中,内容可以在网络中被缓存.相较于从生产者端,从网络内缓存可以更快地获取内容.因此可以根据获取数据的时延,推测该内容在附近网络中的流行程度.文献[59]认为当一种内容被大量地分发时,就不再需要保护该内容的隐私.作者设置了一个流行程度的阈值.当流行程度低于该阈值时,使用客户端和服务器端约定好的带有随机数的名字命名Interest报文和Data报文,网络内的缓存内容不再可以回复多用户请求,但是该方法保护了内容的隐私.
2) 攻击者参与到用户所在的网络中,可能已知某一特定受害者的某些特征,试图从缓存内容中分辨出特定的受害者并分析其请求的内容.文献[60]也认为当内容的流行度高时则不需要保护该内容的隐私.作者也设置了一个内容流行度阈值,当内容的流行度低时则不在网络内进行缓存,从而增加攻击者区分特定用户的难度.文献[61]提出可以在消费者和生产者之间建立一个安全通道来传输隐私内容.作者借鉴了洋葱路由的设计理念,在网络中选取2个中间节点作为代理.第1个代理只知道消费者的位置而不知道请求的内容名称,第2个代理只知道请求的内容名称而不知道消费者位置.第2个代理获取内容后传回第1个代理,再由第1个代理传回消费者端.
3) NDN使用对人类友好可读的命名方式,命名包含了生产者的信息.这种命名方式虽简化了转发流程但是暴露了生产者的信息.文献[62]使用一种基于Hash算法的混淆命名方案.Data报文的名称是内容的Hash加密散列,消费者端首先获取Data报文加密后的名称并存储这些名称,然后通过Hash加密后的混淆命名请求Data报文.
4) NDN中的网络缓存中存放着最近被请求过的内容,并且NDN使用最长前缀匹配来确定是否存在相关的内容.因此,攻击者只需要发送具有特定前缀的Interest报文,根据收到的Data报文就可以探测带有该前缀的所有缓存中的内容.并且可以根据收到的Data报文的时延估计缓存所在的具体位置.目前尚且没有针对网络内缓存的隐私性的保护措施.表3是对2.3节中NDN中版权保护和隐私保护策略的对比.
Table 3 Comparison of Strategies to Protect Privacy and Copyright
Continued (Table 3)
2.4 NDN中新型视频的传输方案
相较于传统的点播视频传输,实时视频、VR视频和AR视频在实时性、网络带宽和生产者消费者间的协调上有着更多的需求,下面介绍这些视频类型在NDN传输中的解决方案.
2.4.1 NDN中实时视频的传输
实时视频作为目前流行的社交方式已经得到了迅速的普及和推广.相较于传统的点播视频,视频直播(包括视频会议、视频电话、网络直播等)有更高的实时性的需求.目前NDN中大都是将一段时间的视频内容作为处理对象,消费者在获取到一段时间内的完整视频后才开始播放.文献[24]使用了一种基于帧的实时视频方案NDNLive.视频都是按帧播放的,NDNLive中将帧作为基本单位分割,1个段中只包含1帧里的部分内容,使得获取可播放的1帧的时间会减少.NDNLive在兴趣管道技术的基础上设计了一种帧流水线,减少网络环境变化带来的影响.
NDN中实时视频的生产者以一定的速度不断生成新数据,因此直播流的元数据信息需要被生产者实时更新.当一个新的消费者想要加入到视频传输中时,消费者必须获取当前段号等元数据信息来建立多媒体播放流水线.下面是在NDN中实时视频传输获取新数据的2种实现方法:
1) 文献[63]提出了一种实时数据检索协议(real-time data retrieval, RDR),用一个元数据包打包新数据的信息,元数据包可以是在回复请求这种元数据包的Interest报文时生成,也可以周期性地自动生成.消费者用特殊的Interest报文请求该元数据包,然后根据收到的元数据包中信息调整Interest报文的发送.
2) 文献[64]将各种元信息打包在Data报文中,设计了一种“追赶”最新内容的策略.当用户想要加入实时流的传输中时,先发送一个Interest报文请求之前的内容,然后用一个比生产者产生新Data报文速度更快的速度发送Interest报文,直到请求到了最新的Data报文后降低Interest报文发送的速度.
此外,在NDN中,消费者自己控制数据获取的速度,在实时视频传输中,消费者不应该请求还不存在的段.因此,消费者需要对Interest报文的发送速率进行控制.下面是2种消费者对Interest报文的发送速率进行控制的手段:
1) 文献[65]介绍了兴趣管道技术.在播放前先以一个合适的间隔发送一些Interest报文,管道大小就是发送的Interest报文的个数.生产者端在收到无法满足的Interest报文时先存储这些Interest报文,在相应的数据生成时回复这些Interest报文.管道大小可以根据实时的RTT进行自适应的调整,RTT大时扩大管道,RTT小时缩小管道.当收到了所有的Data报文之后发送新的Interest报文.此外,可以根据当前RTT为兴趣报文设置一个超时重传时间,在超时后重发Interest报文.
2) 文献[66]提出可以在Data报文中添加包生成时间.在每个单独的Data报文中都添加一个包生成时间.虽然消费者与生产者的时钟可能没有同步,但是这些信息仍然可以用来计算Data报文之间的时间差.消费者可以估计平均时间间隔,并从先前确定的实时流的最新部分开始动态调整Interest报文的发送.如果消费者没有接收到足够的Data报文以回放,考虑到实时流数据更新很快,未正确接收到的Data报文可能很快就被替换掉了,消费者端不会选择暂停播放,而是会跳到最近的部分,然后继续播放.
2.4.2 NDN中360°视频的传输
360°视频[67]提供给用户全方位的全景视频观看体验.VR和AR视频是在360°视频的基础之上,强调用户与模拟环境的交互.VR通过VR设备阻断人眼与现实世界的连接,通过设备实时渲染的画面,营造出一个全新的世界.利用VR设备生成一种模拟环境,是一种多源信息融合的交互式3维动态视景和实体行为系统仿真,使用户沉浸到该环境中.AR则是在现实世界基础上的叠加,丰富用户在现实世界里的体验.AR可以根据给定的上下文实时定制内容,其中上下文可能包括时空信息,如用户的位置和时间、视角和交互选择.如果来自用户的上下文和生成的定制内容之间存在持续的流媒体关系,AR是最有效的交互方式.
文献[68]介绍了VR视频的要求.HMD(head mounted displays)是实现VR体验的基础设备,HMD的供应商建议多媒体系统对头部运动的反应速度应与HMD刷新率一样快.目前HMD的刷新率是120 Hz,所以整个系统的反应时间应该在10 ms以内.为了满足这种延迟约束,在目前的虚拟现实视频传输系统中,服务器发送完整的全景视频,在接受了完整的视频后,用户的HMD根据用户视角的变化实时提取视频.因此大多数传输的视频数据没有被使用,导致了大量的冗余.此外,VR视频分辨率需求也更高(一般为4 096×2 160p以及以上),并且视野更大(360°全方位),从而对视频比特率也有更高的要求.NDN的网络内缓存和从多源获取数据的特性可以为VR视频传输提供更有利的支持.
文献[65]实现了一种基于NDN的实时VR视频系统.用一个控制平面控制生产者和消费者之间的消息同步,在NDN上传输VR视频.设计并实现了一个基于HTML5的一种可移植的视频播放器,最后在实验中证明了NDN传输实时VR视频的可行性.但是作者并没有对比NDN下VR传输较IP是否存在优势.
文献[69]在NDN上实现了基于视点的自适应视频流的传输.视点是用户视角现在所处的位置.作者综合考虑了视频中不同视点受关注的程度以及同一视点处不同码率的视频段被请求的次数(流行程度),设计了一种按概率缓存的缓存算法.在消费者端和生产者端设置缓冲区,消费者通过兴趣管道一次发送多个Interest报文,缓冲区负责将收到的Data报文排序解码等待播放.最后在实验中证明了NDN网络对比IP网络有更小的检索延迟.
文献[70]在分析了AR的需求后,指出了在IP中实现AR的劣势,以及NDN在满足这些需求上的优势即AR的部署需要将计算密集型任务卸载到网络边缘,需要本地资源的发现服务,需要有效地处理多源多目标流问题.相较于IP,NDN可以更好地支持这些需求.最后提出了一个NDN中AR Browser的体系结构的设想,但是作者并未实现该设想.表4是对2.4节中NDN下新型视频传输策略的对比.
Table 4 Comparison of Strategies to Deliver New Video Type
2.5 NDN和IP中视频传输技术对比
NDN以内容为中心的设计理念,使其在视频传输的某些策略上相较于IP网络有着独特的优势.但是全新的设计也必然会带来一些全新的问题,下面将会结合2.1~2.4节中的具体问题,对比总结2种网络体系结构在视频传输上的优劣势.
首先在提高传输视频码率的策略上,HTTP作为IP下使用最广泛的视频传输协议,HTTP客户端驱动的特性是自适应视频流传输的基础,HTTP协议的HTTP-GET请求要被打包成传输层的TCP报文并在网络层进一步打包成IP报文,额外的报文头造成了较多的传输冗余.相较于IP,NDN的Interest报文和Data报文无需再打包,可直接交付给链路层进行传输,减少了头部开销.并且NDN的设计理念就是由用户驱动数据获取,相较于IP更加契合DAS由客户端独立确定请求的视频码率的特性.但是NDN多源获取数据的能力使得NDN-DAS中带宽估计容易出现偏差.为减少误差,可以考虑使用QoE驱动的带宽估计策略,即以增加用户体验为目标,而不是一味地追带宽的最高利用率.P2P是IP中常用的内容再分发策略,在IP下需要额外的P2P协议的支持,并且相关P2P应用大多基于UDP开发,也无法保证可靠传输.但是由于NDN与P2P在设计上存在的相似性,NDN中可以以较小的代价实现P2P并且可以保证数据传输的可靠性.值得注意的是,NDN的内容经P2P再分发需要确定再分发的范围.过大的分发范围,会使得FIB表表项大量增多,数据可达性的公告也会消耗额外的资源,因此不一定会有更好的收益.需要选择一个合适的分发范围,从而确保内容再分发收益的最大化.通过区分原始数据与再分发数据的命名,使得路由器可以区分是否是再分发的内容,继而决定是否继续转发,从而控制再分发的范围;IP下的网络编码被用于增加传输中的带宽利用,在NDN中的网络编码提高了带宽利用率的同时也增加了NDN下的缓存利用率.但是网络编码的引入也使得缓存中内容的细粒度发生了变化,降低了传统的缓存管理策略的效率.可以考虑将缓存管理的粒度从单个数据包变为一组编码后数据包,以“代”的粒度进行缓存中内容的管理,缓解缓存管理策略效率降低的问题.
在保证视频播放时的稳定性的策略上,NDN中客户端发生移动时的处理较传统IP存在较大优势,可以简单地重发Interest解决生产者端的移动问题.NDN与IP网络在生产者服务器端发生移动后都可以通过代理解决移动性问题.但是NDN还可以采用地址服务器和添加Hint域的手段解决或者缓解生产者移动带来的问题;网络内缓存作为NDN中的一个重要的特性,给内容传输带来了很多益处,但是网络内缓存的存在,也使得NDN下的网络抖动问题较IP网络更易出现.从用户角度考虑,视频传输最终的目的是增加用户QoE,以带宽和缓冲区为基础,从QoE的角度,即视频码率、视流畅度和码率切换3个方面综合考虑请求的码率,可能会缓解网络抖动带来的影响.
在保护视频版权和隐私的策略上,NDN中目前的版权保护策略中用户身份识别都是通过添加用户ID实现的,将用户信息与命名再次绑定,与NDN最初的设计理念相悖.NDN提供的每包签名的机制,为用户身份验证提供了一个很好的手段,完善并实现每包签名与秘钥分发等策略的结合,可以更有效地为NDN中的视频内容的版权提供保护;NDN和IP网络都可以通过中间代理的形式保护用户的身份隐私,NDN额外地可以通过对命名的Hash保护身份信息.在对于传输内容的隐私保护上,NDN支持的每包加密减少了对额外协议的需求.但是NDN的网络内的缓存也成为了新的需要进行隐私保护的对象.可以考虑在缓存节点以一定的概率回复Interest报文,即便缓存中存在攻击者所请求的内容,也概率性地选择回复还是继续转发,从而混淆攻击者获得的信息.
在传输新型视频的策略上,IP中一般使用基于UDP的传输协议来传输实时视频,因此不能保证可靠传输,无法保证实时视频的质量.NDN相较于IP,以多路径转发、兴趣报文聚合和网络内缓存为基础,用户的视频内容段请求通过兴趣报文的聚合自发地形成多播树,生产者处或者网络内缓存处的视频段内容可以同时满足多个用户的请求,沿着多播树返回给用户,因而天然地支持组播,可以更有效地支持1对多的直播类视频内容的传输.而IP的组播的实现则需要额外的协议支持,实现复杂因而未能大面积部署.此外,如2.4.2节中所述,目前的网络发展程度不足以支持VR视频传输所要求的带宽等条件,导致VR尚未大规模应用.相较于传统网络体系结构,NDN的多路径转发、网络内缓存的存在都一定程度上增加了消费者感知到的带宽,可以更加有力地支持VR的普及.表5是对本节中提到的IP与NDN的优劣势的对比与总结.
Table 5 Comparisonof Different Strategies in IP and NDN
3 NDN视频传输的未来研究方向与挑战
虽然目前在将NDN应用到视频传输的一些问题上已经有了一些解决方案,但是还有不少值得研究的方向,面临着不少的挑战,下面将讨论NDN视频传输未来的研究方向与挑战.
3.1 视频传输码率的进一步提升
随着视频传输技术的不断发展,包括新编码技术、深度学习等新兴技术应用于视频传输的方案不断涌现.这些新兴技术多是应用在传统IP网络下的视频传输中,将其部署到NDN中并验证其在NDN视频传输中的效果值得更多的研究.
首先,随着终端设备计算能力的不断提升,视频解码能力也不断上升,视频传输的最高码率也从1 080×720 p上升到了2 160×1 080 p,甚至4 096×2 160 p的码率.为了进一步压缩视频,减少所需的传输量,ITU-T VCEG推出了H.265HEVC[71],Google推出了VP9AV1[72].H.265和VP9相较于H.264进一步减少了约40%的编码后数据量.两者的应用场景稍有区别,H.265多应用于企业和安防,VP9因其简单、方便部署以及开源的特性在互联网应用中使用较多.将H.265和VP9应用至NDN下的视频传输中必将会节约更多的视频传输所需带宽.但是需要为其选择合适的应用场景,并需要针对不同的编码方案设计新的报文命名方案.不同编码方案应用到NDN-DAS中也需要根据编码的特性合理地设计分层请求方案.
此外,目前在NDN中的视频传输方案在传输时只是将视频视为简单的比特流而没有考虑到视频内容的相关性,在大的时间尺度上视频内容会有大量的冗余(比如同一个篮筐在篮球比赛中反复出现).可以考虑将视频中多次出现的特征图像提取出来只进行一次传输,在后续的视频传输中传输其余部分的内容,然后在客户端处使用已经传输过的特征进行内容的补足.深度神经网络提供了一种从图像中提取有意义的特征对象的机制,并且目前的端设备,包括移动设备都有了很强的计算能力,可以有力地支持深度学习在视频传输上的应用.文献[73]中将超分辨率技术(super resolution, SR)[74]与DASH结合设计了NAS,作者训练了多层SR模型,根据带宽的预测和当前设备的计算能力动态请求不同的视频层和模型层.针对不同类别的视频内容需要训练不同的模型,模型和内容被请求的概率也会有所区别.与IP网络中将模型和视频内容都存储在服务器中不同,在NDN中网络内缓存会作为内容源,是否可以根据模型和视频内容不同的请求概率而对两者采用不同的缓存方式,从而提高缓存命中率,进一步增加用户感知带宽、减少延迟值得更多研究.此外,深度学习需要消耗大量的计算资源,这些计算资源消耗的成本在视频传输中是否带来了更多的收益也值得进一步探讨.
3.2 视频传输中缓存利用率的提升
NDN天然地支持多播使其适合于视频内容分发,但是在传输不同视频内容中,使用单一的缓存管理策略可能无法达到较高的缓存利用率.
首先在点播视频的传输中,数据可能会被重复使用,因此网络内缓存中的内容有很大概率被再次请求.而在实时视频中,新内容以很快的速度产生,消费者也总是请求最新的数据,因此旧数据很快就会过时.在缓存中保留过时的旧数据会降低缓存的命中率.针对不同类型的实时视频,可能需要针对性地设计不同的缓存策略.如在视频会议中,将内容在网络边缘缓存被再次请求的概率很低,将其缓存在靠近生产者的核心路由器上会有更大的概率被命中.在大型活动的直播上,请求相同内容的用户很多,边缘路由器和核心路由器同时缓存并不断以新内容替换旧内容可能会保持较高的缓存命中率.
此外,当把网络编码引入到NDN中后,虽增加了网络内缓存的命中率和网络多播传输的最大流界,但是还没有研究者关注引入网络编码后NDN缓存中内容管理的问题.传统的NDN都是在单个数据报文的粒度上进行缓存中内容的管理,而引入网络编码后,缓存中内容管理的粒度变成了对整个一代的内容块的管理.此外,在NDN中引入网络编码后网络节点可以通过再编码同一代数据内容的编码块响应Interest报文,并且缓存节点处同一代编码块的数量可以决定其响应该代Interest报文的能力[44].这些为网络节点之间以数据内容代的粒度高效地协同缓存和使用缓存的编码块提供了可能性,值得进一步的研究.
3.3 隐私保护策略的改进
目前保护隐私性的策略,不论是建立安全通道还是根据阈值选择是否缓存,都损失了部分网络内缓存带来的优势.而且根据阈值选择是否缓存的策略的前提是流行度与隐私性直接相关,现实世界中两者之间的关系会更加复杂.设计一个贴合实际情况并且能充分利用NDN网络内缓存优势的隐私保护方案仍需要更多的研究.此外,如2.3.2节中所述,NDN目前尚且没有针对网络缓存中的内容隐私性的保护策略.如何在不破坏缓存的可访问性的前提下设计网络内缓存中内容隐私保护策略仍需要更多的研究.
3.4 动态异构无线网络动态性的自适应
随着移动设备访问在线服务的不断增长,移动设备已经是视频传输服务中的主要服务对象.同一用户可能处于多种不同的无线网络环境中,如蜂窝网络、WiFi网络等.用户终端设备也配置了不同的无线网络访问接口,用户可以根据不同的标准,比如不同网络的可用带宽来选择最适合他们的访问类型.这些方案最终会影响用户体验,而用户体验对于视频传输服务是至关重要的.
无线网络中的用户一般都有很高的移动性,给用户设备带来了一种非常动态的网络环境,用户当前选择的最优传输方案可能不会一直保持.而NDN支持多源获取数据的能力一定程度上缓解动态网络环境带来的影响.以当前的高速铁路网为例,文献[75]中指出在当前的高速铁路上使用HSPA+网络时会产生频繁的TCP流切换,并且随着列车速度的增加,切换次数增多且丢包率增大,基站的增多也加剧了TCP切换的次数.并且切换时TCP建立连接和关闭连接的时间也大大增加.考虑在高速铁路上的视频传输问题,使用NDN可以多接口并行发送Interest报文,无需建立连接,切换基站不会造成连接断开从而需要重新建立连接的问题,可以无缝地进行基站间的切换.但是目前在NDN中多源获取数据时的接口选择是在当前接口效率达不到传输需求时再切换到新接口,接口切换的延迟可能会降低用户体验质量,可以考虑动态地检测接口性能,在接口效率降低之前主动切换防止接口切换延迟的发生,或者动态选择最优接口提高用户体验质量.此外,在启用了DAS的视频传输中,可以将接口选择和视频码率选择作为一个联合优化过程.如何有效地利用NDN对多接口的支持从而使得NDN在无线网络环境中给视频传输提供更稳定高质量的服务,今后需要更进一步的研究.
3.5 360°视频传输性能的提升
作为近几年新兴的视频类型,VR视频相较于传统的视频需要传输更多的内容,IP中已有许多结合了机器学习等方法的VR视频传输技术,文献[76]中结合DASH和机器学习技术,设计了一个DRL360模型预测下一个请求的Tile的码率.将最大化客户端QoE的和(包括视野处视频平均质量、重新缓冲和视野处平均码率变化)作为训练目标.以“请求的下一个Tile的码率”为动作集合,以用户QoE变化为奖励,以客户端缓冲区占用、记录的带宽等为状态集,使用2个长短期记忆网络(long short-term memory, LSTM)模型分别预测带宽和用户视野.文献[77]中提出一个低延迟的多视野MVP(multi-viewpoint)交互视频系统iView.使用多模态学习综合视频帧中内容、头部运动、视点、网络状态和客户端状态等特征,充分利用这些特征之间的相关性.以多模态学习的输出作为DRL(deep reinforce learning)的输入,从而输出对请求的Tile的预测结果.文献[67]中认为传统的用户感知质量评价标准(PSNR等)不再适用于VR视频,而综合视点移动速度、景深(depth of field)和亮度变化的评价标准可以更好地反映用户主观感知到的视频质量.然后作者以此评价标准,设计了一种VR视频传输方案Pano,使用可变大小的Tile,并设计了一个查找表使其可以兼容现有的VR视频传输技术.Pano中将各个影响因素视为相互独立,但是在实际中这些因素存在相互关联性.从更完整、更细致的角度分析这些因素对用户感知到的视频质量的影响会更具说服力.将IP下VR视频传输技术与NDN结合,结合VR视频技术中常用的按视点请求内容的技术,针对NDN多路经获取数据的能力,按不同路径的带宽等条件动态请求用户视点以及视点周围的内容块,加强用户QoE,验证NDN相较于IP网络在传输VR视频上的优势,还需要更多的研究.
而对于AR视频,用户实时定制内容的特性导致其所需计算量大.因此在AR视频传输中,需要将计算密集型任务卸载到云或网络边缘.相较于IP,NDN用户驱动数据获取的方式可以更好地解决计算链路中服务发现的问题,因此可以更好地实现边缘计算以支持AR视频传输任务;此外,对于云和网络边缘的资源提供商,需要为其在NDN上设计一种合适的计费模式.文献[78]中分析了当前云资源计费模式的优劣,指出使用拍卖的方式可以更好地进行资源分配,并设计了一种组合双向拍卖的竞价模式,为云服务提供商和移动用户提供了一个竞价平台,允许用设计好的竞拍语言在一次竞拍中竞拍多个云服务.NDN中用户驱动的数据传输模式与竞拍行为中的用户报价方式相似,可以更好地支持这种竞拍的定价模式.但是在NDN下这种竞拍模式中用户身份难以确定的问题仍旧亟待解决.虽然NDN相较于IP对于AR视频的传输可以有更好的支持,但是NDN中的AR传输仍处于初始阶段,还需要更多的研究.
3.6 NDN视频传输实际部署
NDN较IP网络在视频传输等内容分发类的任务上有着极大的优势,但不可否认的是,NDN的实际部署需要大量的基础性工作,如给现有的路由器中添加存储单元和改变其转发结构.IP网络和NDN在数据发送和接受的设计上是相悖的,IP网络使用服务器pull的数据发送方式,而NDN则采用客户端驱动的数据请求方式,这种相悖的设计理念使得在IP层下部署中间代理,将IP报文转换为NDN报文的设计实现困难.此外,现有网络视频应用都是基于IP所设计的,如果直接采用放弃IP网络直接部署NDN网络,则会面临大量的应用重新设计的工作.如何有效地设计一种让IP网络平滑过渡到NDN网络的策略,是目前NDN实际部署亟待解决的问题.
此外,视频传输类的带宽集中型应用在实际部署后会造成互联网中数据量大幅度提高,文献[79]中证明了在不同的网络性能和能量损耗的约束条件下,都存在最优的传输路径.此外,NDN支持多播和多路径转发也带来了多路径间流量分配的问题,文献[80]中将IP网络中流量管理模块间的协调问题视为一个分布式原-对问题(distributed primal-dual problem),使用基于对数屏障的方法将原来的NP难问题转化为一系列无约束最优化问题,证明了最优解的存在性.在NDN部署前提前考虑流量工程问题可以减少NDN实际部署后的工作量,文献[79]中所提出的ROD(routing on demand)是基于OSPF(open shortest path first)设计的流量转发机制,文献[80]中所提的LBPM是在TCP下的多路径转发协议,如何改动使其适用于NDN仍需要进一步的研究.
4 总 结
视频流量已经成为互联网中最主要的流量,并且依旧有不断增长的趋势.是否存在更佳的网络体系结构支持视频传输类的内容分发任务,引起了众多学者的广泛关注.NDN作为被提出的多种网络体系结构中最具潜力的体系结构,相较于IP,在视频传输上有内在支持多播、支持多路径获取数据、支持网络内缓存等众多优势.本文针对当前已有的NDN中视频传输技术进行了详细的介绍和分析.