栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

趣谈网络协议-应用层(P2P协议)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

趣谈网络协议-应用层(P2P协议)

一、FTP 1. 概述

FTP:文件传输协议,使用两个TCP连接来传输文件

控制连接:客户端主动发起连接,服务端被动打开21端口。改连接将客户端命令传送给服务器,并回传服务器应答(list-获取文件目录;reter-取一个文件;store-存一个文件)数据连接:当有文件进行传输时,创建数据连接用以传输数据 2. FTP两种工作模式

FTP工作模式:主动模式(PORT)和被动模式(PASV)

主动模式:

    客户端随机打开大于1024的端口N,向服务器21端口发起连接,同时客户端监听N+1端口,并通过21端口向服务器发送"port N+1"命令服务器将自己的数据端口20连接到客户端指定端口N+1

被动模式:

    客户端打开任意端口N(大于 1024)和 N+1N端口连接服务器21端口,并发送PASV 命令。服务端开启端口P,服务端21端口返回“227 entering passive mode”消息,消息包含服务器开放用来传输数据的端口P客户端收到消息取得端口号之后,会通过 N+1 号端口连接服务器的端口 P,然后在两个端口之间进行数据传输。
二、P2P 1. 概述

FTP问题:难以解决一服务器的带宽压力

P2P(peer-to-peer)特点:

资源分散存储在多个设备中下载文件时,需要获得已经存储了文件的peer,和这些peer建立点对点连接。一旦下载了文件,当前机器也成了peer的一员。旁边的机器也会从当前机器中下载文件。因此p2p软件一般有下载流量,也有上传流量 2. 种子(.torrent)文件

.torrent 文件:下载文件时,获取有哪些peer有该文件数据

.torrent 文件组成:announce(tracker URL)和文件信息

文件信息:

info区:该种子有几个文件、文件有多长、目录结构,以及目录和文件的名字Name字段:顶层目录名字每个段大小:BitTorrent(简称 BT)协议把一个文件分成很多个小段,然后分段下载。段哈希值:将整个种子中,每个段的 SHA-1 哈希值拼在一起。

P2P下载流程:

    BT客户端解析.torrent文件,得到tracker地址,连接tracker服务器tracker服务器响应下载者,将其他下载者的IP地址提供给下载者下载者连接其他下载者,两者告知对方自己已经有的数据块,交换对方没有的数据块下载者每得到一个块,需要计算出下载快的HASH验证码,与.torrent 文件中的对比。若哈希值一致,则说明数据正确,否则需要重新下载该数据块

上述P2P下载流程的特点:

下载过程非中心化加入P2P网络时,需要依赖tracker(tracker服务器是用来登记有哪些用户在请求哪些资源) 3. 去中心化网络

DHT去中心化网络:

目的:使得tracker去中心化特点:每个加入这个 DHT 网络的人,都要负责存储这个网络里的资源信息和其他成员的联系信息

Kademlia协议:

每个BitTorrent启动,会承担两个角色,分别是peer(监听TCP 端口以上传和下载文件)、DHT node(监听一个UDP 的端口,加入DHT 的网络)DHT 网络里面,每一个 DHT node 都有一个 ID,DHT node 都有责任掌握一些知识,也就是文件索引,也即它应该知道某些文件是保存在哪些节点上。

4. 哈希值

5. DHT 网络中的朋友圈是怎么维护的

6. DHT 网络是如何查找朋友的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725088.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号