数据通信——应用层(文件传输FTP)

news2024/10/6 1:44:21

引言

    域名保证了在因特网中标识唯一的用户,而我们用户上网需求自然是发送信息以及共享文件,我们使用的很多传输工具,比如微信、QQ、百度等软件,在上传和下载文件时就会有FTP的参与。那么如何为文件提供收发渠道以完成的共享呢?

FTP应用 

    FTP的文件传输具有灵活性和通用性。FTP可传输任意文件;具备容纳多种文件类型;能够容纳计算机系统存储文件的不同方式;可用容纳在文件表现,类型信息和文件保护模式上的不同等优点。

    FTP允许用户对文件进行增删改查发送这几种方式,也可与另外一台主机通信。然而, 用户并不是真正登录到自己想要存取的计算机上面成为该计算机的用户,而是用FTP程序访问远程资源, 实现用户往返传输文件、文件管理以及电子邮件处理等等功能。虽然双方的计算机可能配有不同的操作系统和文件存储方式,但是在FTP面前,这些都不是影响你使用FTP的问题。

上图是抓包软件对FTP相关流量的抓取 

FTP原理

 如上图,FTP以C/S架构模式工作,它由FTP服务程序、客户端、FTP通信协议三者构成

    我们常说下载和上传,因此自然知道其代表的实际意义和操作。下载的专业术语指:从远程主机拷贝文件到自己的计算机上;而上传自然是将文件从自己的计算机拷贝到远程主机上。所以说,理论和实际相结合我们才能更加清晰它是什么?

    那么?FTP在这个过程中如何进行运作的呢?

FTP传输

    在我们进行文件传输时,首先客户与服务器会建立两条TCP连接。这两条连接分别是:

(1)控制连接(Port 21):主进程中,在客户服务器的整个会话过程中会一直保持

(2)数据连接(Port 22):附属于主进程,它会频繁的消失或出现

注:也正是因为如此FTP端口号为21和22

    FTP开始运作时,控制连接的作用让用户与服务器处于长时间不间断的连接状态,此时,数据连接的建立会提供文件的传输,它依赖于控制连接,如果传输完毕那么该连接就会关闭,等有需要文件传输时再次开启。

 计算机的FTP的传输界面

FTP命令解释器 

    FTP通过C/S架构完成传输,但是如果没有FTP软件工具该怎么办呢?设计者很贴心的添加了一个FTP命令解释器,就是为了应对这个情况。用户可以在网络操作系统环境中直接使用FTP命令来传送文件。而且还可以在FTP命令中进行各种指令操作。 其FTP的语法为:

ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]

 语法中个字段意义如下:

-d 将有关 ftp 命令操作的调试信息发送给 syslogd 守护进程。如果指定-d 标志,则必须编辑/etc/syslog.conf 文件并添加下列中的一项:user.debug FileName如果不编辑/etc/syslog.conf 文件,则不会产生消息。变更了/etc/syslog.conf 文件之后,需要运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的变更。

-g 禁用文件名中的元字符拓展。元字符是一个或一组代替一个或多个字符的字符。一个例字:元字符“*”用来匹配0个或多个前一字符。

-i 关闭多文件传送中的交互式提示

-n 防止在起始连接中的自动登录

-v 显示远程服务器的全部响应,并提供数据传输的统计信息。如果 stdin 不是终端,除非用户调用带有-v 标志的 ftp 命令,或发送 verbose 子命令,否则 ftp 详细方式将禁用。

-f 导致转发凭证。

-k realm 如果远程站的域不同于本地系统的域,系统将允许用户指定远程站的域。因此,域和DCE 单元是同义的。

-q 允许用户指定: send_file 子例程必须用于在网络上发送文件。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。

-C 允许用户指定:通过 send_file 命令发出的文件必须在网络高速缓冲区(NBC)中经过缓存处理。此标志必须在指定了-q 标志的情况下使用。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。

 上图为计算机的FTP命令解释器页面   

    注:以上这些参数,只是说个大概,如果要细致研究,这就是计算机操作系统方面的知识了,后续我在操作系统命令中会再次提到FTP相关信息。而且,FTP这种命令行方式也有点不常用了,现在基本都是用客户端的FTP完成文件传输。

TFTP

    TFTP是FTP的一种分类,它全称为简单文件传输协议。TFTP使用UDP作为传输手段,提供非交互式传输服务。介于FTP的TCP稳定传输,TFTP功能单调的多:它仅支持文件传输;不支持交互;没有太多命令集;没有认证机制;不允许用户列出目录内容或者与服务器协商来决定那些可得到的文件名。TFTP协议一般多用于局域网以及远程UNIX计算机中,而常见的FTP协议则多用于互联网中;

TFTP协议的优势

尽管与FTP相比TFTP的功能要弱得多,但是TFTP具有两个优点:

1)TFTP能够用于那些有UDP而无TCP的环境;

2)TFTP代码所占的内存要比FTP小。

    尽管这两个优点对于普通计算机来说并不重要,但是对于那些不具备磁盘来存储系统软件的自举硬件设备来说TFTP特别有用。

TFTP协议与FTP协议的相同点

    TFTP协议的作用和我们经常使用的FTP大致相同,都是用于文件传输,可以实现网络中两台计算机之间的文件上传与下载。可以将TFTP协议看作是FTP协议的简化版本。

有关FTP和TFTP的就是这些,不过这些内容还没有完。主要是写通信的,应用层涉及更多的是操作系统和命令等内容。我不想在这里提太多,会有相应的章节整理相关命令。

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

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

相关文章

一篇文章带你了解最近很火的RunnerGo测试平台

在当今这个数字化时代,应用程序的性能至关重要。一款可靠的性能测试工具,能够为企业带来无数的好处。最近,一款名为RunnerGo的开源性能测试工具备受瞩目。本文将详细介绍RunnerGo的特点、优势以及如何解决性能测试中的痛点。 RunnerGo产品介绍…

位运算符与高级操作

位运算符与高级操作 运算符 高级操作 左移实现乘法 左移n位等价于乘以2的n次方 int x; x 2; x x << 2; x x << 3;使用左移实现乘法运算仅限于乘以2的倍数 是不是只要左移就能够实现乘以2的倍数呢? char x 120; x x << 1;右移实现除法 右移n位等价于除…

ipad触控笔有必要买吗?比较好用的电容笔

如果你想用iPad画画&#xff0c;苹果Pencil会是个不错的选择。然而&#xff0c;苹果原装的电容笔价格却高得让很多人望而却步。所以&#xff0c;比较好的办法就是选用一个平替电容笔。我曾经使用过ipad&#xff0c;也是一个数码爱好者&#xff0c;最近两年我开始接触使用平替电…

Spring MVC 中的数据验证技术

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

cmdb运维管理平台在哪能看

cmdb运维管理平台功能你可以在云呐 进行查看  CMDB运维管理平台是一种IT资产管理工具&#xff0c;它可以帮助企业对IT资源进行有效的管理和监控。以下是一些常见的应用场景&#xff1a;  IT资产清单管理&#xff1a;通过CMDB运维管理平台可以对企业的IT资产进行全面的清单管…

微软考虑引入小型核反应堆;诺基亚推出“网络即代码”平台丨RTE开发者日报 Vol.58

开发者朋友们大家好&#xff1a; 这里是「RTE 开发者日报」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

CISSP,你值得拥有(我的学习之路)

&#xff08;只分享三点&#xff1a;怎么学、怎么练、怎么考。&#xff09; 我为啥去考CISSP 我是个在信安行业摸爬滚打将近20年的老油条&#xff0c;知道CISSP这个认证是很早前的事情了&#xff0c;但一直以来都觉得它有点难&#xff0c;加上人又懒得要命&#xff0c;也就始…

学会安装Redis数据库到服务器或计算机(Windows版)

Redis 是一个基于内存的开源数据库系统&#xff0c;被广泛应用于 Web 应用、消息队列、缓存、实时统计等领域。它支持多种数据结构&#xff0c;包括字符串、哈希表、列表、集合、有序集合等&#xff0c;并提供了多种操作命令。 Redis 的特点如下&#xff1a; 内存存储&#xf…

打开网站显示“不安全”怎么办?

在互联网世界中&#xff0c;安全是一个至关重要的问题。然而&#xff0c;当您尝试访问某些网站时&#xff0c;可能会看到“不安全”的警告。这通常是因为这些网站没有部署SSL证书。SSL证书是一种数字证书&#xff0c;可确保互联网通信的安全性和保密性。 “打开网站显示不安全”…

什么是城市坐标系,与国家坐标系的区别?

文章目录 先说国家坐标系什么是城市坐标系城市坐标系建设规范常见的城市坐标系 先说国家坐标系 先1954年我国建立了第一代国家大地坐标系统&#xff0c;即北京54坐标系&#xff0c;英文缩写BJ54&#xff0c;坐标原点在苏联&#xff0c;椭球参数直接拿苏联的。第一代坐标系的椭…

八大排序详解

目录 1.排序的概念及应用 1.1 排序的概念 1.2 排序的应用 1.3 常见的排序算法 2.常见排序算法的实现 2.1 直接插入排序 2.1.1 基本思想 2.1.2 动图解析 2.1.3 排序步骤&#xff08;默认升序&#xff09; 2.1.4 代码实现 2.1.5 特性总结 2.2 希尔排序 2.2.1 基本思…

基于Xilinx UltraScale+ MPSOC(ZU9EG/ZU15EG)的高性能PCIe数据预处理平台

PCIE707是一款基于PCIE总线架构的高性能数据预处理FMC载板&#xff0c;板卡具有1个FMC&#xff08;HPC&#xff09;接口&#xff0c;1路PCIe x4主机接口、1个RJ45千兆以太网口、2个QSFP 40G光纤接口。板卡采用Xilinx的高性能UltraScale MPSOC系列FPGA作为实时处理器&#xff0c…

苹果手机充电充不进去什么原因?尝试这些方法拯救!

虽然苹果手机价格比较昂贵&#xff0c;但也抵挡不了大家对它的喜爱与追捧。无论是在国内还是国外&#xff0c;苹果手机都拥有着十分庞大的用户群体。 一些使用过苹果手机的朋友表示&#xff0c;苹果手机耗电快并且还出现过充不进电的情况。那么&#xff0c;苹果手机充电充不进…

【面试高高手】——Spring(12题)

文章目录 1.Spring是什么&#xff1f;2.为什么需要Spring?3.说下你对Spring的AOP、IOC的理解&#xff1f;4.基于java的AOP实现有哪些&#xff1f;5.AOP的原理&#xff1f;6.如何使用Java实现动态代理?7. Spring AOP和AspectJ AOP有什么区别&#xff1f;8.SpringAOP通知类型&a…

518抽奖软件,支持半透明框,让界面布局更美观规整

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 半透明框的用途 把零散的界面元素统一放置在…

3秒钟解析超买超卖和Renko图表关系

不管是刚进入市场中的外汇新手&#xff0c;还是已经在外汇市场中赚的盆满钵满&#xff0c;只要还是外汇市场中的一份子&#xff0c;一定在不止一次听说过超买和超卖。今天FPmarkets澳福和各位投资者一起探讨超买超卖和Renko图表的关系。 超买在FPmarkets看来就是指大部分市场参…

【Git】Deepin提示git remote: HTTP Basic: Access denied 错误解决办法

git remote: HTTP Basic: Access denied 错误解决办法 1.提交代码的时候提示2. 原因3.解决方案 1.提交代码的时候提示 git remote: HTTP Basic: Access denied 错误解决办法 2. 原因 本地git配置的用户名、密码与gitlabs上注册的用户名、密码不一致。 3.解决方案 如果账号…

9+铜死亡+缺氧+分型+单细胞+实验生信思路

今天给同学们分享一篇铜死亡缺氧分型实验的生信文章“Unraveling Colorectal Cancer and Pan-cancer Immune Heterogeneity and Synthetic Therapy Response Using Cuproptosis and Hypoxia Regulators by Multi-omic Analysis and Experimental Validation”&#xff0c;这篇文…

vscode快捷生成html标签

vscode快捷生成代码片段 ul>li*2.silder会生成如下代码片段 再或者 ul>li*6.silder>p.silder$会生成如下代码片段 如果页面中涉及到上面这种情况的代码块的时候可以使用这种方法快捷生成对应的代码块

freeswitch-02

文章目录 1. 拨号计划1.1 定义1.2 XML Dialplan1.2.1 配置文件的结构1.2.2 默认配置文件简介 1.3 正则表达式1.4 通道变量1.5 工作机制1.6 常用的Dialplan App1.7 小结 2. SIP协议2.1 SIP协议基础2.2 HTTP协议和SIP协议2.3 3PCC 3. 媒体3.1 媒体处理3.1.1 音频编码3.1.2 透传、…