2019-9-27-微软的-P2P-下载方式

title author date CreateTime categories
微软的 P2P 下载方式
lindexi
2019-09-27 09:44:44 +0800
2019-09-27 09:32:42 +0800

微软在 2016 的时候就说要作 P2P 提供的更新,由于微软说每次系统更新使用的服务器费用很大,同时不少用户都说连不上微软的服务器。可是很快微软就砍了这个技术,缘由是P2P的水很深。不过微软收购了 Pando Networks 公司,这是专业作 NYC-based P2P 技术的公司,后续微软就在更新和商店下载使用了P2P技术html

如今在应用商店下载和系统的更新走的都是微软的 P2P 下载方式,经过 P2P 下载方式不只能够帮微软省不少服务器费用,同时也能让用户的下载速度快不少,特别是局域网windows

打开任务管理器,看一下 Background Intelligent Transfer Service 服务是否是占用了不少的 CPU 若是是那么证实系统在进行 P2P 的上传或下载浏览器

做为开发,我关注的是微软正在使用 P2P 下载什么内容,打开 PowerShell 输入下面命令服务器

PS  Get-DeliveryOptimizationStatus

若是此时在进行上传或下载,那么将会显示下面差很少的内容网络

FileId                      : 46de28dd16e575167f79299f5bffa163a8f10266
FileSize                    : 52978067
TotalBytesDownloaded        : 41443731
PercentPeerCaching          : 100
BytesFromPeers              : 41443731
BytesFromHttp               : 0
Status                      : Caching
Priority                    : Background
BytesFromCacheServer        : 0
BytesFromLanPeers           : 40395155
BytesFromGroupPeers         : 0
BytesFromInternetPeers      : 1048576
BytesToLanPeers             : 80790310
BytesToGroupPeers           : 0
BytesToInternetPeers        : 14352384
DownloadDuration            : 00:00:18.7020000
HttpConnectionCount         : 0
LanConnectionCount          : 7
GroupConnectionCount        : 0
InternetConnectionCount     : 128
DownloadMode                : 3
SourceURL                   : http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/20852e53-5ebc-49f2-bfc
                              1-1c032251c75e?P1=1569511260&P2=402&P3=2&P4=iQHSHSFDobj/rWWd1RT/ln/38wPW6hNrkyk+pwU8bp6CE
                              lL6E5/RNVGM8ZoCWq5WjQCwpjUlfqH+gak8Fj+wiw==
NumPeers                    : 290
PredefinedCallerApplication : WU Client Download
ExpireOn                    : 2019/9/29 22:55:18
IsPinned                    : False

对应的关键属性以下spa

  • FileId 说明下载的是什么文件
  • FileSize 文件的大小
  • TotalBytesDownloaded 总下载大小
  • BytesFromPeers 从 P2P 下载的文件大小
  • BytesFromHttp 从 HTTP 下载的文件大小,也就是从微软服务器下载的大小是多少
  • BytesFromLanPeers 从局域网的下载的文件大小
  • DownloadMode 0 仅从HTTP下载,1 从局域网下载,2 从 Group 下载,3 从 Internet 的其余P2P设备下载
  • BytesFromInternetPeers 从外网的P2P设备下载的文件大小
  • BytesToLanPeers 传给局域网设备的文件大小
  • BytesToInternetPeers 传给外网P2P设备的文件大小

经过对比 BytesFromPeers 和 BytesFromHttp 的大小就能够知道使用了 P2P 能够给微软节省了多少服务器费用,虽然微软有Azure能够使用空闲服务器作系统升级等,因此更多看重的是速度的提高code

从上面的数据能够看到,此次下载的文件都是从 P2P 下载的,部分从外网的设备下载资源,更多的是从局域网下载的,此时的下载速度将会很快。同时没有从 HTTP 服务器下载资源,也就是这个资源的下载,微软只是告诉存在这个资源,资源的下载都是从P2P下载不占用任何微软的服务器htm

经过 Get-DeliveryOptimizationPerfSnap -Verbose 能够知道总的下载和上传文件大小blog

FilesDownloaded                 : 2
FilesUploaded                   : 2
TotalBytesDownloaded            : 58,276,025
TotalBytesUploaded              : 137,054,360
AverageDownloadSize             : 29,138,012
AverageUploadSize               : 68,527,180
DownloadMode                    : 3
Files                           : 2
CacheSizeBytes                  : 58,276,025
TotalDiskBytes                  : 126,915,186,688
AvailableDiskBytes              : 9,873,575,936
NumberOfPeers                   : 518
CdnConnections                  : 7
LanConnections                  : 10
GroupConnections                : 0
InternetConnections             : 249
DownlinkBps                     : 35,382
UplinkBps                       : 6,834
ForegroundDownloadRatePct       : 90
BackgroundDownloadRatePct       : 45
UploadRatePct                   : 100
UploadCount                     : 2

在 1903 和以上的系统能够有更多的 PowerShell 命令用于控制 P2P 文件的分发,详细请看官方文档资源

我找了不少文档,如今微软没有将P2P网络开放给开发者,同时限定了资源分发的域名。也就是本身的资源是没法接入到微软的P2P网络的

在 1511 以上的系统都默认开启了 P2P 功能,在世界上有不少电脑都会开启这个P2P功能,因而微软就搭建了世界上最大的P2P网络,若是能接入这个网络,那么网络发现等问题均可以让系通通一作,可是我认为若是微软开放了开发,那么将会很快被干掉,由于会存在大量版权问题,以及zz问题

使用P2P更新不只能够省服务器也能够提升用户的下载速度,难道只有机智微软会这么作?其实微软是落后好久才作出来的,在谷歌浏览器的 Update Engine 就能够经过修改 device policy 开启P2P的功能。另外一个大公司 Twitter 也使用了 P2P 作更新,不过不是更新客户端,而是更新服务器

BitTorrent-like P2P software updates could be coming to Windows 10 - ExtremeTech

http://patents.com/us-7639805.html

Set up Delivery Optimization

Configure Delivery Optimization for Windows 10 updates (Windows 10)

Twitter 使用P2P更新服务器

相关文章
相关标签/搜索