网络协议之文件下载相关协议

写在前面

文件下载在我们日常生活和工作中无处不在,还是挺重要的存在,所以本文来简单看下多有哪些文件下载的方式。

1:文件下载

1.1:http

比如当我们开发一个文件导入的接口的时候,模板文件的下载一般就是使用这种方式,因为模板文件一般是比较小的,几k,十几k这样,所以直接使用http协议下载是没有任何问题的,但是如果是大文件,比如上G的一个视频文件,就有问题了,因为http方式是比较慢的,效率堪忧,这个时候我们就要考虑其他方式了,比如ftp。

1.2:ftp

工作中,如果是有大量的文件下载需求的话,我们一般可以考虑使用搭建ftp服务器的方式,或者是工作中使用的日常软件,比如idea,maven,jdk等也可以使用ftp的方式来进行共享。

  • 主要命令

    list------获取文件目录;
    reter------取一个文件;
    store------存一个文件。

  • 工作方式

    两个TCP连接:
    连接1:控制连接,打开21端口,接收命令,并返回响应
    连接2:数据连接,需要传输文件时创建一个新连接。

连接非共享,所以速度是要优于http的。

尽管ftp采用了非共享的方式来使用TCP连接传输数据,但因为其只是在一台服务器上的,所以这非共享的TCP连接本质上还是共享了一台服务器的资源的,如宽带,IO,等,此时当其面向公司里的几十号人的时候,可能问题不大,但是当面向千千万万的广大人民群众的时候就显得力不从心了。此时我们就需要来处理只有一台服务器下载文件这个瓶颈,来引入一种分布式的下载方式了。

1.3:p2p

p2p协议就解决了单一服务器带来的宽带,IO等压力。p2p协议下,文件并不是分布在某台机器上,而是分布式在一大批机器上,这每一个机器我们可以称为peer。所以,当我们下载文件的时候就需要找到这样一个peer来下载文件。而要想找到这样一个peer,就需要用到大名鼎鼎的种子文件,即.torrent文件。通过解析种子文件,就可以解析到tracker服务器,tracker告知可以下载该文件的某个IP地址,然后去该地址下载就可以了。

可以看出,文件的存储是非中心化的,但是严重依赖tracker,文件信息都在tracker存储。这其实是单点了。想要解决就要使用真正的非中心化了,这就是DHT协议了,即各自存储可下载文件地址信息。

写在后面

参考文章列表

sftp的基本使用

使用sftp实现多个主机之间互传文件

相关推荐
树℡独7 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
zhang133830890758 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
津津有味道9 小时前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
酣大智9 小时前
接口模式参数
运维·网络·网络协议·tcp/ip
Genie cloud10 小时前
1Panel SSL证书申请完整教程
服务器·网络协议·云计算·ssl
24zhgjx-lxq10 小时前
华为ensp:MSTP
网络·安全·华为·hcip·ensp
ling___xi10 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
REDcker10 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
Up九五小庞11 小时前
用arpspoof实现100%批量切断192.168.110.10 - 192.168.110.100 断网(双向欺骗)--九五小庞
网络·开源
躺柒11 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理