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

写在前面

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

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

相关推荐
weixin_4277716114 小时前
http 请求body加密
网络·网络协议·http
小杨勇敢飞15 小时前
记录一次 VMware 虚拟机固定 IP 后,FinalShell 连接不上的排查过程
网络·网络协议·tcp/ip
weixin_604236671 天前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
换个昵称都难1 天前
webrtc 音频模块FEC模块
网络·音视频·webrtc
youngerwang1 天前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
zjun10011 天前
TCP专栏-4.四次挥手
网络协议·tcp/ip
智慧光迅AINOPOL1 天前
校园在线巡课系统方案:督导全覆盖
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
酉鬼女又兒1 天前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
Urbano1 天前
工装制作全流程科普:从面料到自动化生产
网络·人工智能
2401_868534781 天前
网规笔记 | 真题解析:2018年11月软考网规-网络安全案例分析
网络