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

写在前面

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

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实现多个主机之间互传文件

相关推荐
isyangli_blog17 分钟前
1.Mininet 可视化(MiniEdit)
网络
2301_8059629335 分钟前
ESP32远程OTA升级:从局域网到公网部署
网络·后端·http·esp32
weixin_430750931 小时前
提升备份效率——网络设备配置
网络·华为·信息与通信·一键备份·提高备份效率
DX_水位流量监测1 小时前
德希科技农村供水工程水质在线监测方案
大数据·运维·网络·水质监测·水质传感器·水质厂家·农村供水水质监测方案
欧云服务器1 小时前
魔方云批量更换ip教程
服务器·网络·tcp/ip
瘾大侠2 小时前
HTB - Kobold
网络·安全·web安全·网络安全
智算菩萨2 小时前
AI原生6G网络:语义通信、可重构智能表面与边缘智能的深度融合研究
网络·论文阅读·人工智能·ai·重构·论文笔记·ai-native
郝学胜-神的一滴2 小时前
深度拆解Python迭代协议:从底层原理到核心实践,解锁异步编程的基石
java·网络·python
WHD3063 小时前
企业数据安全体系建设指南:从风险识别到技术落地的全流程(2026版)
大数据·网络·人工智能·安全·系统架构·密码学·安全架构
自动化智库3 小时前
西门子XB208网管型交换机使用方法
运维·服务器·网络