Ubuntu One 使用哪种技术进行文件同步?我的学校告诉我 Ubuntu One 和http://one.ubuntu.com被阻止,因为它是一个“点对点应用程序”,而它们仍然允许使用 Google Drive。这是真的?或者是某种误解?我希望得到了解 Ubuntu One 工作原理技术细节的人的回应。
不,是基于云/服务器的文件存储。
Ubuntu One 使用哪种技术进行文件同步?
摘自技术细节维基:
这提供了存储在 Amazon S3 上的可远程访问的磁盘空间。不是使用现有协议(例如 FTP、SFTP、NFS、Webdav)访问这个远程磁盘空间,而是通过一种基于Google Protocol Buffers的此处发明的称为“ubuntuone-storageprotocol”的通信协议。
ubuntu-storage-protocol 包(又名 ubuntuone-storageprotocol)的自述文件摘录:
协议概述:
由于它在其他地方没有得到很好的记录,我还将在这里给出一个非常简短的协议交互概述。
大多数客户端/服务器通信采用客户端发起的请求的形式。来自发起请求的客户端的每条消息都被赋予一个请求 ID,该 ID 在连接的生命周期内是唯一的。
生成请求 ID 的实际方法并不重要,只要它们是偶数(例如 0、2、4、...)并且不会被同一连接上的不同请求重复使用(但请注意,某些请求可能涉及多个消息)。服务器对客户端请求的响应将使用客户端提供的请求 ID,但服务器发起的消息将具有服务器分配的奇数 ID(例如 1、3、5...)。实际上,当设置请求 ID 的低位时,它表示服务器发起的请求。
该协议是异步的,因为多个请求可能同时“在飞行中”,它们的消息(如果请求中有多个消息)任意交错。
[...]
当下载节点的内容时,客户端和服务器有一个简短的交换,然后是一系列带有数据的消息,所有消息都具有相同的请求 ID。上传工作类似——在这两种情况下,请求 ID 标识特定的正在进行的上传或下载。
如此一来,就无法将该协议视为 P2P 连接。点对点意味着多个节点/客户端(但没有保存文件的服务器),其中每个节点/客户端都可以共享文件/连接。在这种情况下,只有一个服务器和几个客户端使用结构化传输协议发送/接收数据。它远不及 BitTorrent、eDonkey 或其他 P2P 协议。
为了建立差异,让我们定义 P2P:
点对点 (P2P) 网络是一种分散式和分布式网络架构,其中网络中的各个节点(称为“对等点”)既充当资源的提供者,又充当资源的消费者,这与集中式客户端 - 服务器模型相反客户端节点请求访问中央服务器提供的资源。
| 归档时间: |
|
| 查看次数: |
319 次 |
| 最近记录: |