如果我在一个实施HTTPS进行视频流传输的网站上(例如YouTube或Facebook),运营商如何知道我正在观看的分辨率?如果运营商限制所有数据的带宽,那么谈论视频分辨率似乎是错误的方向。如果只是视频,这似乎会引起隐私问题。
#1 楼
这是一个活跃的研究领域。我恰好在这方面做了一些工作,所以我将分享有关基本想法的一切(这项工作是与行业合作伙伴进行的,我不能分享秘密细节:))。tl; dr是通常可以将加密的流量流标识为承载视频,并且通常可以估计其分辨率-但它很复杂,而且并不总是准确的。有很多人正在研究如何更一致,更准确地执行此操作。
视频流量具有一些特定的特征,可以将其与其他类型的流量区分开。在这里,我专门指点播视频,而不是实时流式视频。视频点播通常没有此答案中提到的优先级标签。我还专门指自适应视频,这意味着将视频分为多个段(每个段大约2-10秒),并且每个段的视频均以多种质量等级(质量等级,即:长期视频比特率,编解码器,和分辨率)。在播放视频时,下一个片段的下载质量级别取决于应用程序认为网络可以支持的数据速率。 (这就是此答案中提到的DASH协议。)
如果您的手机正在播放视频,并且您查看随时间流向手机的流量的(加权移动平均值)数据速率,可能看起来像这样:
(这是从Verizon的YouTube会话中捕获的。移动平均线超过15秒,还有短期平均线。 )
本次会议有几个不同的部分:
首先,视频应用程序(YouTube播放器)尝试将缓冲区填充到缓冲区容量。在此期间,它将以网络可以支持的任何速率提取数据。在此阶段,它与大文件下载基本上是无法区分的,除非您可以从远程地址推断出它的视频流量(如本答案所述)。
一旦缓冲区已满,那么您将得到以规则的间隔“爆发”。假设您的缓冲区可以容纳200秒的视频。当缓冲区中有200秒的视频时,该应用程序将停止下载。然后,在播放一段视频(例如5秒钟)后,缓冲区中又有空间了,因此它将下载下一段,然后再次停止。这就是导致这种突发模式的原因。
这种模式非常具有视频的特征-其他应用程序的流量没有这种模式-因此网络服务提供商可以很容易地挑选出承载视频流量的流。在某些情况下,您可能永远也不会观察到这种模式-例如,如果视频太短以至于整个内容都立即加载到缓冲区中,然后客户端停止下载。在这种情况下,很难将视频流量与文件下载区分开(除非您可以通过远程地址找出它)。
无论如何,一旦您识别出流量可以承载视频流量-远程地址(并非总是可能的,因为主要的视频提供商使用的内容分发网络不是视频专有的)或按其流量模式(如果视频会话较长,则可能,如果视频会话很短,则整个视频都很难立即全部加载到缓冲区中)...
现在,正如赫克托所说,您可以通过查看每个“突发”的大小(以字节为单位)来尝试从比特率猜测分辨率。数据:
从每个持续时间的大小,您可以对分辨率进行合理的估计-尤其是如果您保持滚动平均值。
但是,这可能很难。以我的示例中的YouTube会话为例:
并非所有片段的时长都相同-一次请求的视频时长取决于几个因素(质量水平,网络状态,种类播放视频的设备等)。因此,您不必一定要看“突发”并说:“好吧,这是X字节,代表5秒的视频,所以我知道视频数据速率”。有时您可以找出可能的分段持续时间,但有时却很棘手。
对于给定的视频质量级别和分段持续时间,不同的分段将具有不同的大小(取决于诸如该部分中发生了多少运动之类的事情)
即使是相同的视频分辨率,长期数据速率也可能会有所不同-使用VP9编码的1080p视频将不会具有与使用H.264编码的视频相同的长期数据速率。 br />视频质量级别根据感知的网络质量(网络服务提供商可见)和缓冲区状态(不可见)而变化。因此,您可以查看30秒以上的长期数据传输速率,但实际的视频质量水平可能会在30秒内发生多次变化。
在缓冲区排空或填充速度尽可能快的时间内(当您没有这些“爆发”),则很难估算视频中发生的情况。
要使事情更加复杂:有时,视频流会在多个低层流中“分散”。有时会从一个地址中检索部分视频,然后切换到从其他地址中检索视频。
我在上面显示的数据速率图是吗?以下是该时间间隔内的视频分辨率:
在这里,颜色表示视频分辨率。因此...您可以仅根据流量模式来估算发生的情况。但这是一个难题!您可以查看流量中的其他标记。我不能确切地说任何一家服务提供商是如何做到的。但是至少就目前的学术水平而言,没有任何方法可以始终保持完美的准确性(除非您与视频提供商合作...)
如果您有兴趣了解更多有关用于此类问题的技术的信息,那么这里有很多学术文献-例如,请参阅BUFFEST:预测HTTP(S的缓冲区条件和实时要求)自适应流客户端作为起点。 (不是我的论文,只是我刚读过的一篇论文。)
评论
感谢您提出的广泛且非常有趣的答案。
– Steffen Ullrich
17-10-27在5:01
如果我没记错的话,您可以通过右键单击视频并选择“书呆子统计”来尝试在YouTube网站上查看此类统计。
– Andrew T.
17-10-27在15:44
+1谢谢。对于那些自动将先前认可的答案视为理所当然的人:这个答案正是我要求在其他答案上明确引用特定数据包字段的原因。因为可以解释实际情况的答案没有理由在地毯下刷这些关键的低级细节。极端的模糊性强烈表明,事实并非如此,事实确实如此。因此,将来,如果您看到的答案模糊不清,仅凭猜测,就需要一些细节!
–user541686
17-10-28在8:22
所有这些都会引起军备竞赛吗?一旦运营商开始实施它,内容提供商将有动力特别掩盖运营商用来猜测视频是否已传输的那些线索。
–vsz
17-10-30在8:39
TL; DR:流量分析
– Toby Speight
17-10-31在15:18
#2 楼
除了流视频之外,没有什么可以以一致的速率最大化带宽。此外,为了确保流优先处理(例如,与大文件下载不同),流源以一种标记方式标记数据包,以告知运营商其正在流视频。数据包的其余部分已加密,但是告诉ISP如何路由它的元数据可以看到这一部分。如果他们不这样做,则由于ISP当时试图平衡网络流量的所有需求,流很可能会中断或降级。
这就是方法Verizon表示他们会这样做:
Verizon显然不会将视频转换为较低的分辨率本身。相反,它将设置视频应用程序
必须调整的带宽限制。 Verizon告诉Ars:“我们通过将速度设置为不超过10Mbps来管理高清视频吞吐量,它可以提供高达1080p
视频的高清视频。”如果Verizon将视频限制为480p或720p,则Mbps可能会低于
。这意味着订户和流量都受到影响某种方式,因为它是某种类型的视频,因此它被标记了。
如何? Verizon拥有一个视频优化系统,该系统甚至在2017年8月宣布新上限之前,已将Netflix和YouTube的速度限制为10 Mbps。
Verizon承认使用新的视频优化系统,但表示这是临时测试的一部分,并且不会影响视频的实际质量。视频优化似乎适用于无限和有限的移动方案。
但是一些YouTube用户报告了降级的视频,他们说使用
VPN服务可以绕过Verizon限制。 。
这表明Verizon能够识别视频流并相应地限制带宽,即使内容是通过HTTPS(而不是VPN)传递的。
评论
或更准确地说,除了流传输之外,没有别的东西具有恒定的数据速率,ISN不会使带宽最大化。吨将最大限度地利用可用带宽,但流传输不会,它只会比最大带宽具有更多或更少的固定带宽。
– AJ亨德森
17-10-26在15:33
比特率与分辨率的比率一致吗?告诉那些YIFY洪流编码的人...;)
–多项式
17-10-26在15:50
我相信YIFY会这样做:)(嗯,确实。他们现在已经退休了)
–user371366
17-10-26在16:55
如果您可以指定要引用的元数据,那就太好了。这是在TCP / UDP级别还是IP级别?什么数据包字段?
–user541686
17-10-26在17:57
视频托管站点,即使传输的文件实际上是纯文件,近年来也大多在网络服务器中实施了节流,以节省自己的带宽。当我告诉您即使在中等视频托管站点的流量需求方面,“ PB”也不是一个不常见的词,请相信我。如果从开始观看到结束观看,不限制投放的服务将占用相同的总体流量,但如果仅部分观看,则会浪费大量带宽。
–rackandboneman
17-10-26在23:04
#3 楼
Schroeder几乎是正确的,因为它只是一种营销方式,说它们将带宽限制到某些站点IP地址或在数据包上寻找优先级标记。但是值得注意的是,从理论上讲,它们如果唯一的目的是在视频流传输时强制用户达到某个分辨率,而没有其他选择,则可以使这项工作更好。
如今,许多互联网流传输都使用称为DASH(HTTP上的动态自适应流)的过程。此方法的工作方式是请求一小段视频,下载时测量带宽,并以分辨率/压缩方案选择下一个视频块,以便在第一个块完成时及时接收该视频正在播放。
这意味着请求中包含有关用户正在做什么的提示。如果您的设备每3秒钟向网站发送一次请求,请求一个文件下载时间不到3秒钟,则该网站很有可能正在流式传输视频。根据每个持续时间的大小,您可以对分辨率进行合理的估算-特别是如果您保持滚动平均值。然后,您可以将带宽限制为该IP地址。
通过为主要视频提供商(googlevideo(youtube),Netflix等)使用已知的IP地址进行决策加权,可以使算法在没有太多限制的情况下更具攻击性误报。
评论
我了解采用现代编码的视频带宽可能会根据显示的内容而有很大差异。与具有很多剪切,动作和嘈杂背景的动作电影相比,具有较大的相对较大的场所有颜色和很少的场景变化的卡通可能占用的带宽要少得多,尽管我不清楚是否足以使分辨率重叠。
–user123931
17-10-26在16:19
是的-压缩视频是完全正确的(如今,通过网络提供的几乎所有内容都是如此)。但是对于绝大多数视频来说,这很容易发现。平均而言,您期望数据从480p翻倍至720p,再翻一番再达到1080p。
–赫克托
17-10-26在16:31
CBR(恒定比特率)编码在流视频中非常流行,因为它允许流畅且可预测的流。当然,在复杂的场景中质量会受到影响,带宽会“浪费”以在更简单的场景中传输更多的细节,但是易于管理和缓冲速率的可预测性往往会超过这些缺点。另外,我想大多数网站会使用不同分辨率的预设集;他们通过将视频提供给不同的资源,有效地“发布”了比特率到分辨率的映射。
–user371366
17-10-26在17:02
有趣。自从我研究这个问题已经过去了几年-但可以肯定的是,大型播放器VBR-尽管我确定他们会限制任何给定分辨率的最大比特率。
–赫克托
17-10-27在7:44
#4 楼
最大的事情是您连接到的地址。 HTTPS保护正在传输的数据,但不保护您正在与之通信的地址。如果Verizon知道Netflix服务器的IP地址,则它们可以对来自那些IP范围内的IP的数据流施加限制。然后,Netflix将根据可用带宽自动调整其播放。由于恒定的数据传输速率小于最大可能传输速率,因此也很可能会引起注意。这可能意味着某种类型的媒体流,尽管它也可能是带宽受限的文件传输,所以会有一些误报。
我相信他们在宣布更改时提到的技术细节中,他们只是计划使用IP地址来设置限制,但是我不确定这是否会随着时间的推移而改变,或者我是否还记得正确,因为自宣布以来已经有一段时间了,我没有遵守关于我的原始研究的记录。
#5 楼
如果您使用重视安全性/隐私性而不是性能的(适当)VPN,它将使用大量技巧来混淆ISP试图将您正确标识为流视频的任何尝试:ISP会看到您连接到视频CDN不能识别的IP地址(例如Youtube等)-假设您的VPN未由Youtube或任何其他主要视频提供商托管。因此,至少他们不能肯定地将您的远程IP端点标识为视频CDN的一部分。注意:当然,他们可以决定限制它,因为它是VPN,但是到目前为止,主要提供商尚未明确声明他们限制了VPN(因此,这样做绝对是徒劳的,会给美国ISP压制它的机会。
一个好的VPN不会明文(例如QoS)提交任何暗示您流量性质的元数据。这可能会导致奇怪的优先级倒置(例如下载会导致实时VoIP或流视频滞后),但这就是您为隐私付出的代价。
根据您使用的应用层视频协议,它会ISP很难使用流量形状分析将流量正确地识别为视频。例如,如果协议指定服务器应以最大可用带宽(线速)突发发送视频以一次下载大部分/全部视频,而不是逐渐按视频的比特率推送视频,则ISP不知道您是否正在下载Linux ISO,从Youtube或CBS之类的知名内容提供商处下载的流式视频,或为您的工作准备的大型Excel文档。
虽然VPN流量的总量将大致反映发送/接收的实际数据,但良好的VPN会在加密隧道内抛出垃圾数据(甚至在合法流量中引入较小的延迟),从而使流量分析变得更加困难。 VPN引入的垃圾数据和故意延迟越多,VPN速度就越慢,但是从另一方面来说,如果您的VPN流量对流量形状分析具有很高的抵抗力,则它将提高安全性。
有一些局限性:
通过流量形状分析来分析的最简单的流视频类型是一种协议,可将视频下载限制到视频的比特率。根据比特率,他们可以估算出您可能的分辨率。
“实时”视频(观看者看重生成内容后很看重观看)很难隐藏,因为您必须以接近视频比特率的速率传输,以确保良好的响应能力;缓冲和突发数据会给流带来固有的延迟,这可能是用户可能无法接受的(例如,用于视频会议,Twitch.TV等)
当然,作为确保视频的一种方法不能以更高的质量进行流式传输,ISP可以选择将下载的所有内容限制为低于线速的任意比特率-但这存在很多问题:
没有任何特定分辨率的公认的“典型”视频比特率,因此他们可以做出假设,但仅仅是这样:假设。根据编解码器和编码设置,1080p视频的范围可能从低个位数Mbit / s到50 Mbps或更高。
这将成为有效的“一切限制”,并且您永远不会嗅探出最大的广告投放速度,如果您远远低于其广告的最低/最高速度并且没有踩过他们所投放的地雷,则会导致潜在的虚假广告责任如触发节流阀(例如,LTE上典型的每月22 GB的高速数据上限)。
如果他们节流每个人,他们将受到合法用户的强烈反对,这些用户从不流视频,但像以前一样提到,只是通过VPN或其他方式从工作中下载了一个大型Excel文件。
通过推断流量可能是视频,并基于此决定限制流量(即使他们的推断是错误的),用户也会更多可能会认为他们的服务很慢,因此取消/转移到其他提供商,因为ISP不会宣传他们限制了视频以外的其他流量(除非您每月超过给定的上限或碰巧处于饱和塔中;这两种情况因此,总体而言,在ISP进行军备竞赛时,它们试图检测用户的特定内容并根据您所下载的内容进行区分,因此,如果您使用良好的VPN(并假设ISP无法破解您的加密方法),则最终会获胜。 ISP无法确定地检测您的内容,并且猜测的准确性也很高。
我认为,随着用户开始意识到这一点,并采取措施防止ISP检测其内容,ISP将通过降低所有人的广告速度来做出响应(以允许更多订户共享相同的可用频谱);提高价格;消除无限的数据计划(再次);对于那些每月超过任意(相当低)数据上限的用户,更严厉的节制处罚;或故意放慢他们无法明确识别的任何流量(例如VPN流量),并将其归为“可疑”流量。
他们可以说服监管机构,政客和无知的公众,令人信服的是,大多数/所有VPN流量都是非法下载,非法交易(毒品等),并且人们试图“破坏网络安全”。规则”并绕过ISP设置的限制。尽管技术专家会大声疾呼,但我们倾向于被那些参与该系统的人淹没,他们乐于欺骗消费者以快速赚钱。
他们也可以做到所有这些东西同时发生。我在美国无线行业的经验是,正如您认为的那样糟糕,但情况更糟。他们不仅倾向于选择对问题最有益的补救措施,还倾向于青睐那些对客户具有最大敌意的补救措施,从而压制言论自由并违反网络中立原则。
他们也倾向于尝试让用户相互竞争。他们采用的政策使用户受到指责,并把其他用户称为“数据猪”,而不是作为一个团队共同向其施加压力,要求其提供商扩展基础架构来满足需求,而不是试图使群体稀疏以匹配当前可用的资源。 br />
我想这只是人类的天性,这就是为什么如果我们希望无线行业成为类似于电力和自来水的社会的一贯,宝贵的基石,就必须对其进行监管。在那之前,这只是Ma Bell时代的拜占庭专有PSTN的又一个变体。
评论
这实际上是移动ISP当前如何检查视频内容的正确答案,它们具有已知视频服务提供商(例如YouTube等)的IP地址列表,并且仅将带宽限制在这些服务器上。显然,VPN或简单代理会规避此问题,但是大多数用户不使用这些方法,因此不需要高复杂度的解决方案(如其他答案中的解决方案)
–Rob Farr
17-10-30在15:54
#6 楼
Verizon并不能完全识别和阻止加密的高清视频...但是它与Netflix和Youtube等服务达成协议,要求它们识别Verizon IP地址范围并遵守Verizon施加的任何限制。对于较小的服务,我相信Verizon可以使用第二种武器...我很确定,“无限”计划的客户服务协议中的某条条款允许Verizon根据用户的每月计数“不透明”加密流量“网络共享”限制。因此,Verizon可能不知道(或关心)您全天都在家中通过安全摄像头将高清视频流式传输到手机,但是他们可以将流量统计为每月5或10gb的限制(如果您的计划是将其限制为150kbps,不包括网络共享。)
评论
您是否有关于协议第一段的参考/证明?
– HamZa
17-10-30在15:18
#7 楼
不知道您的情况是否如此,但有时提供商会使用代理。当您使用他们的网络(OTA)时可以自动设置。代理具有有效的证书,该证书来自您的提供商。如果是这样,他们只能读取所有HTTPS流量并使用某些软件进行流量整形。如果是这种情况,VPN会有所帮助。因此提供商将自动在您的移动设备上设置APN。互联网流量已从您的移动设备发送到APN。提供者可以使用任何商业流量整形软件来控制视频(来自FB / YT / etc)的流。
即使连接已加密,您也可以从缓冲的工作方式中看到使用哪种视频分辨率,视频下载部分以大块的形式创建目标模式。因此,如果这些块变大,则视频分辨率会更高,使用流量整形软件,您可能可以调节这些下载模式。
使用VPN时,提供商无法确定通过VPN发送的数据类型。他仍然可以看到数据块模式,但通过VPN限制所有数据将导致您的总下载速度降低,我认为这与您合同中提到的商定速度背道而驰。
添加:
您的电话连接到APN。该APN可以充当代理,并且已经具有有效的证书(因此您无需安装它)。您的手机将按照预期接受该证书作为有效证书。如果它充当代理,则提供程序不会因您的HTTPS加密而停止,要求该代理查看您的所有请求。在这种情况下,提供商可以对您的请求或接收到的数据执行任何操作。例如,提供商可以运行软件来优化/压缩视频,然后再将视频从代理发送回手机以保存bandwitdh。
评论
这没有道理-全国范围的移动运营商希望每个人都使用代理并安装证书来检查流量?然后,检查流量的能力如何转化为了解视频分辨率?
– schroeder♦
17-10-30在15:46
评论
一句话:带宽究竟。他们会非常了解您所使用的带宽所流的分辨率。否则,他们将通过限制带宽将分辨率自动降低到480p。
仅仅因为您是https,他们仍然可以在“ youtube.com”上看到您,因此他们可以使用此信息来限制某些带宽,这将自动降低分辨率。
这不违反网络中立性法律吗?据我所知,FCC尚未能够废除它们。
@ Gogeta70美国没有关于网络中立的法律。我们所拥有的只是FCC规则,指定了哪些通信提供商。运营商确实必须遵守这些规则,您说对了这些规则还没有被撤销是正确的,但是由于它们是FCC自己的规则,因此他们可以决定如何执行甚至是否强制执行它们。 FCC实际上正在调查几家类似事件的承运人,但是在特朗普政府成立后的两周内,他们放弃了这些调查。