文件传送协议

壹、文件传输协议FTP

一、FTP简介

文件传送协议FTP曾是互联网上使用最广泛的协议;

  • 在互联网发展的早期阶段,用FTP传送文件约占整个互联网的通信量的三分之一;知道1995年,www的通信量才首次超过FTP。

FTP实现的是通过网络实现异构计算机间文件的“拷贝”;

FTP屏蔽了计算机系统的细节,适合异构网络中任意计算机之间传送文件;

FTP提供交互式的访问,允许计算机指明文件的类型与格式,并允许文件具有存储权限。

FTP两个连接:

  • 一个用于传输数据(20号端口)
  • 一个用户传输命令(21号端口)

89beba80ba41467794ef533ec6454f1f.jpg

二、FTP的特点

采用客户服务器C/S模式,可为多个客户提供服务。

使用TCP可靠传输协议,客户在和服务器建立连接前要经过“三次握手”的过程,保证客户与服务器之间的连接是可靠的,而且是面向对象,位数据传输提供可靠保证。

三、FTP工作方式与工作情况

主动方式:客户机与服务器21号端口建立连接之后,监听N+1号端口,服务器用20号数据端口主动向客户N+1端口建立连接。

被动方式:客户机用端口N与服务器21号端口建立连接之后,客户端打开N+1端口,发送命令给服务器,服务器开启端口P,客户从端口N+1和服务器端口P建立连接,用来进行数据传送。

FTP的工作情况

a460521a766944c18aff58f9ba8748d5.jpg

客户端除了控制进程和数据传输进程外,还有一个用户界面进程用来和用户交互。

四、FTP文件传输模式与存在的问题

文本模式:ASC II模式,以文本序列传输数据

二进制模式:以二进制序列传输数据

  • 传输文件之前必须要规定文件传输的模式

FTP存在的问题:

  • 用户状态与控制联系起来,没有传送数据的用户会断开连接
  • 必须追踪用户在服务器的目录树上的当前位置
  • 会话数增多,会降低FTP服务器的性能

贰、简单文件传输协议TFTP

一、TFTP简介

TFTP是TCP/IP协议族中的简单文件传送协议,使用客户服务器C/S模式,只支持文件传输而不支持交互。TFTP不支持对用户进行身份验证。

使用UDP无连接协议,不提供可靠性保证。UDP的数据包头相对简单,只包含源端口号和目的端口号,头部开销小。

二、TFTP的主要特点

每次传送的数据单元PDU中有512字节的数据,但最后一次可以不足512字节。

若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须最后发送一个只含首部而无数据的PDU。

TFTP的工作很像停止等待协议。发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发送完数据后在规定时间内收不到确认就要重发数据PDU。

三、TFTP报文格式

c15fb5ce0fff41fcb694e19a96cfc078.jpg

三、TFTP工作流程

384459006e81420bb27ee3e7d81a9008.jpg

ACK表示返回确认

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/589841.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EasyRecovery2024汉化版电脑数据恢复软件下载

EasyRecovery是一款功能强大的数据恢复软件,其主要功能包括但不限于以下几点: 硬盘数据恢复:能够扫描本地计算机中的所有卷,建立丢失和被删除文件的目录树,实现硬盘格式化、重新分区、误删数据、重建RAID等硬盘数据恢…

基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络(CNN)在时间序列中的应用 4.2 长短时记忆网络(LSTM)处理序列依赖关系 4.3 注意力机制(Attention) 4…

细说SVPWM原理及软件实现原理,关联PWM实现

细说SVPWM原理及软件实现原理,关联PWM实现 文章目录 细说SVPWM原理及软件实现原理,关联PWM实现1. 前言2. 基础控制原理回顾2.1 FOC 原理回顾2.2 细说 SVPWM2.2.1 矢量扇区计算2.2.2 矢量作用时间计算 2.2.3 如何理解 U4 U6 2/3Udc?2.2.4 如何理解 U4m…

Linux系统编程--信号与管道

1、信号与管道是什么? 首先了解信号与管道的意义,我们需要了解Linux系统中进程之间是如何通信的。Linux操作系统下,以进程为单位来分配或者管理资源,进程之间不能直接访问资源,因此,要求进程间的资源和信息…

上位机图像处理和嵌入式模块部署(树莓派4b与消息分发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 和多线程相比较,多进程最大的好处就是安全。一个进程挂了,不影响其他进程的运行。但是多线程也有自己的优点,那…

Ex1-C6油气化工防爆轮式巡检机器人

Ex1系列防爆轮式巡检机器人整机采用防爆设计,防爆等级为Exd II CT4 Gb。机器人通过无轨3D形态导航技术,结合360度防爆云台和无线防爆充电桩,实现整套防爆标准,可广泛应用于石油、燃气、化工、冶金等II类爆炸环境中,代替…

程序员缓解工作压力——方法分享

前言 作为一名初级程序员,我承认自己在应对工作压力方面还有待提高。在日常工作中,我时常感到压力山大,尤其是在面对复杂问题或紧迫的项目期限时。然而,为了保持高效和持久的工作热情,我还是积极寻求并使用了一…

Python 贪吃蛇

文章目录 效果图:项目目录结构main.pygame/apple.pygame/base.pygame/snake.pyconstant.py 效果图: 项目目录结构 main.py from snake.game.apple import Apple # 导入苹果类 from snake.game.base import * # 导入游戏基类 from snake.game.snake im…

Linux之命令行参数与环境变量

命令行参数&环境变量 命令行参数 main函数也是一个函数,其实也可以携带参数的 int main( int argc, char *argv[ ], char *envp[ ] ) {program-statements } 那这里是有三个参数的: 第一个参数: argc 是个整型变量,表示命令行参数的个数…

WIFI/BT中蓝牙的硬件资源是如何调度的 UART和PCM接口传输的是什么信号

安卓或IOS手机中,wifi/bt中的蓝牙是如何调度硬件资源的,尤其是UART和PCM是如何分配的。M.2 wifi/bt模块或其他形式的模块中,蓝牙是如何调度硬件资源的,尤其是UART和PCM是如何分配的。今天我们就图文并茂的解决这个问题。 蓝牙文件…

SQL 基础 | AS 的用法介绍

SQL(Structured Query Language)是一种用于管理和操作数据库的标准编程语言。 在SQL中,AS关键字有几种不同的用法,主要用于重命名表、列或者查询结果。 以下是AS的一些常见用法: 重命名列:在SELECT语句中&a…

Vue生命周期都有哪些?

定义 Vue的生命周期就是实例从创建到销毁的一个过程&#xff0c;即从创建、初始化数据、编译模板、挂载Dom($el)->渲染、更新->渲染&#xff0c;卸载等一系列的过程。el是挂载点如<div id"app"></div>。 Vue的生命周期分为八个阶段 1.beforeCreate…

重看Spring聚焦BeanDefinition分析和构造

目录 一、对BeanDefinition的理解 &#xff08;一&#xff09;理解元信息 &#xff08;二&#xff09;BeanDefinition理解分析 二、BeanDefinition的结构设计分析 &#xff08;一&#xff09;整体结构体会 &#xff08;二&#xff09;重要接口和类分析 三、构造 BeanDef…

保姆级IDEA安装与配置教程(含视频+资料)

课程简介 本套课程主要针对 Java 基础开发相关的工具安装和使用&#xff0c;主要包含有 IDEA 的下载、安装、配置、使用、快捷键的使用等。 本套视频是作为新手最为实用的课程&#xff0c;IDEA 是 Java 企业级开发最为常用的继承开发环境。如果熟练使用 IDEA 的话&#xff0c…

【中断】【ARM64】学习总结

optee中的异常向量表解读–中断处理解读 https://mp.weixin.qq.com/s/gBsy4YDYTHGRsy2zcVr6Vg

c# winform快速建websocket服务器源码 wpf快速搭建websocket服务 c#简单建立websocket服务 websocket快速搭建

完整源码下载----->点击 随着互联网技术的飞速发展&#xff0c;实时交互和数据推送已成为众多应用的核心需求。传统的HTTP协议&#xff0c;基于请求-响应模型&#xff0c;无法满足现代Web应用对低延迟、双向通信的高标准要求。在此背景下&#xff0c;WebSocket协议应运而生…

Polardb集中式部署体验

前言说明 PolarDB是阿⾥云数据库团队⾃主开发的云原⽣数据库。据了解PolarDB是产品品牌统称&#xff0c;云上PolarDB提供了Polardb MySQL版&#xff08;集中式数据库&#xff09;&#xff0c;PolarDB PostgreSQL版&#xff08;集中式数据库&#xff09;和PolarDB分布式版&…

人工智能论文:BERT和GPT, GPT-2, GPT-3 的简明对比和主要区别

在BERT的论文里面&#xff1a; 2018.10 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding&#xff0c;BERT已经解释了BERT&#xff0c;GPT&#xff0c;ELMo的区别。 *ELMo为双向RNN&#xff0c;请忽略。 主要区别&#xff1a; BERT使用的是…

机器学习:深入解析SVM的核心概念【四、软间隔与正则化】

软间隔与正则化 问题一&#xff1a;优化目标函数是如何得到的&#xff1f;得到的过程是怎样的&#xff1f;问题二&#xff1a;拉格朗日乘子法计算详细过程问题三&#xff1a;KKT条件求解过程问题四&#xff1a;结构风险最小化&#xff08;SRM&#xff09;的原理 在前面的讨论中…

批量视频剪辑新选择:一键式按照指定秒数分割视频并轻松提取视频中的音频,让视频处理更高效!

是否经常为大量的视频剪辑工作感到头疼&#xff1f;还在一个个手动分割、提取音频吗&#xff1f;现在&#xff0c;我们为你带来了一款全新的视频批量剪辑神器&#xff0c;让你轻松应对各种视频处理需求&#xff01; 首先&#xff0c;进入媒体梦工厂的主页面&#xff0c;并在板…