什么是 P2P(点对点)网络,它们的用途是什么?

如果您经常使用互联网,那么您很有可能没有遇到过对等或 P2P 一词(term peer-to-peer or P2P)。无论是在新闻文章中(news article),在电视上,还是在与朋友的谈话中,他告诉你他刚刚通过P2P下载了最新版本的(P2P)Linux,你都可能偶然发现了这个词。如果你想知道什么是点对点网络,P2P是做什么用的,还想看一些点对点网络的例子,你应该阅读这篇文章:

什么是对等网络?

对等(Peer-to-peer),或缩写形式的P2P,是指使用分布式架构的计算机网络。在P2P网络中,属于其中的所有计算机和设备都称为对等点,它们共享和交换工作负载(share and exchange workloads)对等网络(peer-to-peer network)中的每个对等点都与其他对等点相等。没有特权对等点,也没有网络中心的主要管理员设备(administrator device)

对等网络的模拟

在某种程度上,对等网络是计算机世界(computer world)中最平等的网络。每个对等点与其他对等点是平等的,每个对等点具有与其他对等点相同的权利和义务。对等点既是客户端又是服务器。

事实上,点对点网络(peer-to-peer network)中可用的每个资源和每个资产都在对等点之间共享,而不涉及任何中央服务器。P2P 网络(P2P network)中的共享资源可以是处理器使用率(processor usage)磁盘存储容量(disk storage capacity)网络带宽(network bandwidth)等。

P2P(点对点)用于什么?

对等网络的主要目标是共享资源并帮助计算机和设备协同工作、提供特定服务或执行特定任务。如前所述,P2P用于共享各种计算资源,例如处理能力、网络带宽(network bandwidth)磁盘存储空间(disk storage space)。但是,对等网络最常见的用例是在 Internet 上共享文件。(use case)对等网络非常适合文件共享(file sharing),因为它们允许连接到它们的计算机同时接收文件和发送文件。

想象一下这种情况:您打开Web 浏览器(web browser)并访问您下载文件的网站。在这种情况下,网站充当服务器,您的计算机充当接收文件的客户端。您可以将其比作单向道路:您下载的文件是一辆从 A 点(网站)到 B 点(您的计算机)的汽车。

从网络或互联网传输到计算机的内容

当您从对等网络(peer-to-peer network)下载相同文件时,使用 BitTorrent 平台作为起点(starting point),下载的执行方式会有所不同。该文件以来自许多其他计算机的位和部分下载到您的计算机,这些计算机也连接到相同的P2P 网络(P2P network)并且已经具有该文件或至少其中的一部分。同时,文件也会从您的计算机发送(上传)到其他需要它的设备。这种情况类似于一条双向的道路:文件就像多辆小型汽车来到您的 PC 上,同时在请求时也留给其他人。

多个对等点在彼此之间共享数据

为什么点对点网络有用?

P2P网络具有一些使其有用的特性:

  • 很难把它们拿下来。即使其中一个节点关闭,其他节点仍在运行和通信。要使P2P(点对点)网络停止工作,您必须关闭其所有对等点。
  • 对等网络具有令人难以置信的可扩展性。添加新的对等点很容易,因为您不需要在中央服务器上进行任何中央配置。
  • 在文件共享方面,对等网络(peer-to-peer network)越大,速度越快。将相同的文件存储在P2P 网络(P2P network)中的许多对等点上意味着当有人需要下载它时,该文件会同时从多个位置下载。

P2P(点对点)网络示例

我们都使用点对点网络来连接计算机和设备,而无需配置服务器。必须为一切创建服务器既昂贵又难以管理,因此在某些情况下,使用P2P网络更容易且更实惠。以下是点对点网络的一些常见用例示例:

Windows 10 使用点对点优化更新的交付

  • Windows 10 更新通过Microsoft的服务器和P2P提供。此处有关于此功能的更多信息:优化 Windows 10 更新交付(Optimize Windows 10 update delivery)
  • 在 Internet 上共享大文件通常使用P2P(点对点)网络架构(network architecture)来完成。例如,一些在线游戏平台使用P2P在用户之间下载游戏。暴雪娱乐(Blizzard Entertainment)使用P2P分发暗黑破坏神 III(Diablo III)星际争霸 II(StarCraft II)魔兽(World)世界(Warcraft)。另一家大型出版商Wargaming 也在(Wargaming)他们的《坦克(Tanks)世界(World)》 、《战舰(Warships)世界(World)》和《战机(Warplanes)世界(World)》游戏中做同样的事情。其他的,比如Steam 或 GOG(Steam or GOG),选择不使用P2P并更喜欢在世界各地维护专用下载服务器。
  • 许多Linux操作系统是通过使用P2P传输的BitTorrent下载分发的。此类示例包括UbuntuLinux MintManjaro
  • Windows 7Windows 8.1中,当您在两台计算机之间创建临时网络时,您将在它们之间创建一个对等网络。
  • 如果您使用的是Windows 7、Windows 8.1 或版本 1803(Version 1803)之前的 Windows 10 版本,您可以将家中的计算机连接到家庭(Homegroup),从而在它们之间创建对等网络(peer-to-peer network)家庭组(Homegroup)是一小组计算机,它们相互连接以共享存储和打印机(share storage and printers)。这是对等技术(peer-to-peer technology)最常见的用途之一。有人可能会说家庭组(Homegroups)不能点对点,因为网络中的计算机连接到路由器。但是,请记住,路由器与管理家庭组中的计算机共享(Homegroup share)的内容没有任何共同之处在他们中间。路由器不作为服务器工作,而只是作为本地网络和互联网之间的接口或网关。(interface or gate)如果您愿意,可以在以下文章中找到有关Microsoft选择实施P2P 技术的方式的更多信息: (P2P technology)Win 7 中基于点对点的功能(Peer-To-Peer based Features in Win 7)[MS-HGRP]:家庭组协议([MS-HGRP]: HomeGroup Protocol)家庭组:实用指南拥有 Windows 7 的家庭幸福(HomeGroup: A practical guide to domestic bliss with Windows 7)
  • 不幸的是,点对点网络也常用于非法活动(peer-to-peer networks are also commonly used for illicit activities)P2P是一项有争议的技术,因为它被广泛用于盗版。由于这项技术的优势,网络上有许多网站可以通过P2P网络访问受版权保护的内容,例如电影、音乐、软件或游戏。(P2P)虽然该技术本身并不违法,并且它有许多不涉及盗版的合法用途,但有些人使用P2P的方式是非法的。使用P2P时,请确保不要从事盗版或其他受法律制裁的活动。

在 Windows 10(版本 1709)中加入家庭组

P2P网络是分发内容最经济的方法之一,因为它们使用对等方的带宽,而不是内容创建者的带宽。

P2P(点对点)网络的历史

对等网络的前身似乎是USENET,它是在 1979 年开发的。它是一个允许用户阅读和发布消息/新闻的系统。它是一个类似于今天的在线论坛的网络系统,但不同之处在于(network system)USENET不依赖中央服务器或管理员(server or administrator)USENET将相同的消息/新闻复制到网络中的所有服务器。同样,对等网络分发和使用所有可用的资源。

P2P历史上的下一件大事是1999 年(year 1999)Napster诞生(Napster)的那一年。Napster是人们用来分发和下载音乐的文件共享软件。在Napster(Napster)上分享的音乐通常是受版权保护的,因此分发是非法的。然而,这并没有阻止人们得到它。尽管Napster是让P2P成为主流的公司,但Napster最终失败并被当局关闭,因为上面的所有内容都是非法共享的。如今(Nowadays)P2P仍然是合法和非法地通过 Internet 共享文件的最受欢迎的技术之一。

Napster,一个使用 P2P 的程序

图片来源:(Image source:) 维基百科(Wikipedia)

您对点对点网络还有其他问题吗?

正如您在本指南中所见,点对点是一项复杂的技术,它诞生并基于一个简单的原则:去中心化。你现在知道它的目的是诚实的,尽管它并不总是出于正确的原因使用。有些人争论是否应该禁止它,因为P2P仍然是非法分发受版权保护的内容的最重要手段。但是,是否应该因为作家的手艺很差而禁止使用钢笔?



About the author

我是一名软件工程师,拥有 Xbox Explorer、Microsoft Excel 和 Windows 8.1 Explorer 方面的经验。业余时间,我喜欢玩电子游戏和看电视。我拥有犹他大学的学位,目前在一家国际公司担任软件工程师。



Related posts