计网 | 文件传输协议

FTP

  概述: File Transfer Protocol 文件传送协议,只提供文件传送的一些基本的服务,是使用TCP可靠的运输服务,主要功能是减少或消除在不同操作系统下处理文件的不兼容性。FTP使用客户服务器模式,一个FTP服务器进程可以为多个客户进程提供服务。FTP服务器进程由两个部分组成,一个主进程,负责接收新的请求;另外有若干个从属进程,负责处理单个请求。
    工作原理:客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口-21,同时还要告诉服务器进程自己的另外一个端口号码,用以建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口-20与客户进程提供的端口号码建立数据连接。即进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接,“控制连接”和“数据连接”。由于FTP使用两个不同的端口号,所以数据连接与控制连接不会发生混乱。
  

TFTP

  概述:Trivial File Transfer Protocol简单文件传输协议,使用客户-服务器方式,使用UDP数据报,只支持文件传输而不支持交互。优点在于TFTP可用于UDP环境(当需要将程序或文件同时向许多机器下载时,UDP支持一对多、多对对等通信,而TCP只支持一对一通信)和TFTP代码占内存较小(可用于较小的计算机或某些特殊用途的设备)。

  工作原理:TFTP客户进程发送一个读请求报文或写请求报文给TFTP服务器进程,其熟知端口号码为69。TFTP服务器进程选择一个新的端口和TFTP客户端进程进行通信。若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据报文,因为TFTP每次传送的数据报文规定最多512字节,最后传送的报文要小于512字节。若文件长度不是512字节的整数倍,则最后传送数据报文中数据字段一定不满512字节,正好可作为文件结束的标志。

转载于:https://www.cnblogs.com/jj81/p/11517010.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 文件传输协议是一种用于在计算机网络中传输文件的协议。在计网课设中,可以使用 Python 编程语言开发一个简单的文件传输程序。 首先,我们需要实现服务端和客户端两个部分。服务端负责接收来自客户端的文件传输请求,并将文件保存到指定位置,而客户端负责将指定的文件发送给服务端。 对于服务端部分,我们可以使用 Python 的 socket 模块来建立服务器。通过 socket 模块可以创建一个 TCP/IP 套接字,在指定的端口上监听客户端的连接请求。一旦有客户端连接上来,服务端开始接收文件。 服务端可以定义一个函数,通过 socket 模块接收客户端发送的文件数据,并将数据保存到指定路径下的文件中。在这个函数中,可以使用 Python 的文件操作函数来写入数据到文件中。同时,为了保证文件的完整性,可以使用校验和算法对接收的数据进行校验。 对于客户端部分,我们同样可以使用 socket 模块来建立一个 TCP/IP 的套接字。客户端需要连接到服务端指定的 IP 地址和端口。连接建立后,客户端通过读取文件内容,并调用 socket 模块的发送函数将文件数据发送给服务端。 客户端可以定义一个函数,通过读取指定路径下的文件内容,并将文件数据分块发送给服务端。在发送过程中,可以使用循环将文件数据读取并发送,直到文件全部发送完毕。为了保证文件传输的可靠性,可以使用确认应答机制来确保每一个数据块都被服务端正确接收。 总结起来,开发一个 Python 文件传输协议需要实现服务端和客户端两个部分。服务端通过 socket 模块建立服务器,接收来自客户端的文件传输请求,并将文件数据保存到指定位置。而客户端通过 socket 模块连接到服务端,并将指定的文件数据发送给服务端。通过这种方式,我们可以实现一个简单的文件传输程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值