FTP 文件传送协议

目录

1 文件传送协议 FTP

1.1 FTP 的基本工作原理

FTP 特点

主进程的工作步骤

两个连接

两个不同的端口号

NFS 采用另一种思路

1.2 简单文件传送协议 TFTP 

TFTP 的主要特点

TFTP 的工作(很像停止等待协议)


1 文件传送协议 FTP

·文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。

·FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。

·FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

·RFC 959 很早就成为了互联网的正式标准。

1.1 FTP 的基本工作原理

 ·网络环境下复制文件的复杂性:

        (1) 计算机存储数据的格式不同。

        (2) 文件的目录结构和文件命名的规定不同。

        (3) 对于相同的文件存取功能,操作系统使用的命令不同。

        (4) 访问控制方法不同。

FTP 特点

·文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。

·FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

·FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。

·FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤

·打开熟知端口(端口号为 21),使客户进程能够连接上。

·等待客户进程发出连接请求。

·启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。

·回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

两个连接

·控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。

·实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。

·数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

两个不同的端口号

·当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

·接着,服务器进程用自己传送数据的熟知端口 (20) 与客户进程所提供的端口号码建立数据传送连接。

·由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

使用两个不同端口号的好处:

        ·使协议更加简单和更容易实现。

        ·在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。

NFS 采用另一种思路

·NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。

·NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

·例如,计算机 A 的 NFS 客户软件,把要添加的数据和在文件后面写数据的请求一起发送到远地的计算机 B 的 NFS 服务器。

·NFS 服务器更新文件后返回应答信息。

·NFS 在网络上传送的只是少量的修改数据

1.2 简单文件传送协议 TFTP 

·TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议。

·TFTP 使用客户服务器方式使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。

·TFTP 只支持文件传输而不支持交互。

·TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。

TFTP 的主要特点

(1) 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。

(2) 数据 PDU 也称为文件块 (block),每个块按序编号,从 1 开始。

(3) 支持 ASCII 码或二进制传送。

(4) 可对文件进行读或写。

(5) 使用很简单的首部。

TFTP 的工作(很像停止等待协议)

·发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。

·发完数据后在规定时间内收不到确认就要重发数据 PDU。

·发送确认 PDU 的一方若在规定时间内收不到下一个文件块,也要重发确认 PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。

·开始工作时,TFTP 客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知端口号码为  69。

·TFTP 服务器进程要选择一个新的端口和 TFTP 客户进程进行通信。

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

·若文件长度不是 512 字节的整数倍,则最后传送数据 PDU 的数据字段一定不满 512 字节,这正好可作为文件结束的标志。

欢迎一起学习~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redisson分布式锁 原理 + 运用 记录

Redisson 分布式锁 简单入门 pom <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.6</version></dependency>配置类 package com.hmdp.config;import org.redisson.Redisson;…

NLP_引入注意力机制

文章目录 点积注意力创建两个张量x1和x2计算张量点积&#xff0c; 得到原始权重对原始权重进行归一化求出注意力分布的加权和 缩放点积注意力编码器-解码器注意力定义Attention类重构Decoder类重构Seq2Seq类可视化注意力权重 注意力机制中的 Q、K、V自注意力多头自注意力注意力…

CSS 2D转换 3D动画 3D转换

目录 2D转换(transform): 移动translate: 旋转rotate: 缩放scale&#xff1a; CSS3动画&#xff08;transform&#xff09;&#xff1a; 动画常用的属性&#xff1a; 将长图片利用盒子实现动画的效果&#xff1a; 3D转换&#xff1a; 透视perspective&#xff1a; 旋转r…

动态内存经典笔试题分析

1.代码1 void GetMemory(char *p) { p (char *)malloc(100); } void Test(void) { char *str NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } int main&#xff08;&#xff09; { Test&#xff08;&#xff09;&#xff1b; return 0&#x…

WWW 2024 | 时间序列(Time Series)和时空数据(Spatial-Temporal)论文总结

WWW 2024已经放榜&#xff0c;本次会议共提交了2008篇文章&#xff0c;research tracks共录用约400多篇论文&#xff0c;录用率为20.2%。本次会议将于2024年5月13日-17日在新加坡举办。 本文总结了WWW 2024有关时间序列&#xff08;Time Series&#xff09;和时空数据&#xf…

使用rem单位制,实现页面适应性窗口元素

目录 REM单位&#xff1a; 媒体查询&#xff1a; 引入资源&#xff1a; REM适配方案&#xff1a; 适配方案一&#xff1a; rem媒体查询less技术 适配方案二&#xff1a; REM单位&#xff1a; rem(rootem)是一个相对单位&#xff0c;类似于em,em是父元素字体大小。 不同的…

elasticsearch下载及可视化工具下载使用

elasticsearch下载及配置、启动 一、下载 Download Elasticsearch | Elastic 二、启动 双击bat即可。 出现如下说明启动成功&#xff1a; 访问测试&#xff1a; 三、注意 &#xff08;1&#xff09;因为es启动默认端口是&#xff1a;9200,所以需要检查此端口是否被占用。…

Linux系统中HTTP代理的常见问题及解决方案

亲爱的Linux用户们&#xff0c;是不是有时候觉得HTTP代理就像是一个魔法盒子&#xff0c;让你在数字世界中自由穿梭&#xff1f;但是&#xff0c;就像所有的魔法物品一样&#xff0c;它也会偶尔出点小状况。今天&#xff0c;我们就来一起探讨一下Linux系统中HTTP代理的常见问题…

DC-9靶机渗透详细流程

信息收集&#xff1a; 1.存活扫描&#xff1a; arp-scan -I eth0 -l 发现靶机ip&#xff1a;192.168.10.132 └─# arp-scan -I eth0 -l 192.168.10.1 00:50:56:c0:00:08 (Unknown) 192.168.10.2 00:50:56:e5:b1:08 (Unknown) 192.168.10.132 //靶机 00:0c…

【漏洞复现】狮子鱼CMS某SQL注入漏洞

Nx01 产品简介 狮子鱼CMS&#xff08;Content Management System&#xff09;是一种网站管理系统&#xff0c;它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能&#xff0c;包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面&#xf…

如何快速搭建springboot项目(新手入门)

一、创建项目 1.1、创建项目 1.2、配置编码 1.3、取消无用提示 1.4、取消无用参数提示 二、添加POM父依赖 <!-- 两种方式添加父依赖或者import方式 --> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-p…

Android 粒子喷泉动效

一、前言&#xff1a; 在学习open gl es实现动效的时候&#xff0c;打算回顾了一下用普通的2D坐标系实现粒子效果和 open gl 3d 坐标系的区别&#xff0c;以及难易程度&#xff0c;因此本篇以Canvas 2D坐标系实现了一个简单的demo。 粒子动效原理&#xff1a; 粒子动效本质上…

macOS Sonoma 14.3.1(23D60)发布

系统介绍 黑果魏叔2 月 9 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 14.3.1 更新&#xff08;内部版本号&#xff1a;23D60&#xff09;&#xff0c;本次更新距离上次发布隔了 17 天。 魏叔 查询苹果官方更新日志&#xff0c;macOS Sonoma 14.3.1 修复内容和 …

Web Services 服务 是不是过时了?创建 Web Services 服务实例

Web Services 是不是过时了&#xff1f; 今天是兔年最后一天&#xff0c;先给大家拜个早年 。 昨天上午视频面试一家公司需要开发Web Services 服务&#xff0c;这个也没有什么&#xff0c;但还需要用 VB.net 开发。这个是多古老的语言了&#xff0c;让我想起来了 10年 前 写 …

剑指offer——替换空格

目录 1. 题目描述与背景1.1 题目描述1.2 背景 2. 一般思路 &#xff08;时间复杂度为O(n)&#xff09;3. 分析4. 完整代码4.1 标准答案 1. 题目描述与背景 1.1 题目描述 请实现一个函数&#xff0c;把字符串中的每个空格替换成 “ %20 ” 。例如&#xff1a;输入“ we are hap…

[office] excel求乘积的公式和方法 #媒体#笔记#经验分享

excel求乘积的公式和方法 本文首先给出两个常规的excel求乘积的链接&#xff0c;然后再例举了一个文字和数字在同一单元格里面的excel求乘积的公式写法。 excel求乘积的方法分为两种&#xff0c;第一种是直接用四则运算的*来求乘积&#xff0c;另外一种就是使用PRODUCT乘积函数…

AJAX——认识URL

1 什么是URL&#xff1f; 统一资源定位符&#xff08;英语&#xff1a;Uniform Resource Locator&#xff0c;缩写&#xff1a;URL&#xff0c;或称统一资源定位器、定位地址、URL地址&#xff09;俗称网页地址&#xff0c;简称网址&#xff0c;是因特网上标准的资源的地址&…

2024年【氧化工艺】新版试题及氧化工艺操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 氧化工艺新版试题是安全生产模拟考试一点通生成的&#xff0c;氧化工艺证模拟考试题库是根据氧化工艺最新版教材汇编出氧化工艺仿真模拟考试。2024年【氧化工艺】新版试题及氧化工艺操作证考试 1、【单选题】 对现场窨…

Python入门:常用模块—os模块及sys模块

os模块 sys模块 import sys print(sys.argv) # 命令参数list&#xff0c;第一个元素是程序本身路径 print(sys.exit()) # 退出程序&#xff0c;正常退出是exit(0) print(sys.version) # 获取python解释程序的版本信息 print(sys.maxint()) # 最大…

SpringCloud-微服务概述、SpringCloud入门概述、服务提供与消费

1.学习前言 1.1 学习前提 熟练使用SpringBoot 微服务快速开发框架了解过Dubbo Zookeeper 分布式基础电脑配置内存不低于8G 1.2 文章大纲 Spring Cloud 五大组件 服务注册与发现——Netflix Eureka负载均衡&#xff1a; ​ 客户端负载均衡——Netflix Ribbon ​ 服务端负载…