TCP/IP协议族之应用层协议(FTP、TFTP)
文件传送协议FTP: File Transfer Protocol
是因特网上使用得最广泛的文件传送协议。提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。FTP屏蔽了各计算机系统的细节,可在异构网络中任意计算机之间传送文件。
FTP基于TCP,TFTP基于UDP,是文件共享协议的一大类,即复制整个文件。其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。若要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回原节点。
文件共享协议的另一大类是联机访问。联机访问意味着允许多个应用程序同时对一个文件进行存取。和数据库系统不同的是用户不需要调用一个特殊的客户进程,而是由操作系统提供对远地共享文件进行访问的服务,就如同对本地文件的访问一样。使用户可以用远地文件人微言轻输入和输出运行任何应用程序,而操作系统中的文件系统则提供对共享文件的透明存取。透明存取优点:将原来用于处理本地文件的应用程序用来处理远地文件时,不需要对该应用程序作明显改动。属于文件共享协议的有网络文件系统NFS。NFS使本地计算机共享远地的资源,就像这些资源在本地一样。NFS主要应用于TCP/IP网络上。现在也可OS/2、MS-Windows,NetWare等。
主机间传送文件需要解决的主要问题有:
计算机存储数据的格式不同;
文件的目录结构和文件命名的规定不同;
对于相同的文件存取功能,操作系统使用的命令不同;
访问控制方法不同。
FTP只提供文件传送的一些基本的服务,使用TCP可靠的运输服务。
主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
使用客户服务器方式。一个FTP服务器进程可同时为多个客户进提供服务。FTP服务器进程主要由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
主进程的工作步骤:
<1>. 打开熟知端口(TCP21),使客户进程能够连接上。
<2>. 等待客户进程发出连接请求。
<3>. 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程来运行期间根据需要还可能创建其他一些子进程。
<4>. 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。由于FTP使用了一个分离控制连接,因此FTP的控制信息是带外传送的。
当客户进程向服务器进程发出建立连接请求的时候,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码来建立数据传送连接。由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
NFS允许应用程序打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。这样,NFS可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。在网络上传送的只是少量的修改数据。
简单文件传送协议TFTP: Trivial File Transfer Protocol
客户服务器方式,使用UDP数据报,需要有自己差错改正措施。TFTP只支持文件传输而不支持交互。TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份识别。
主要优点:<1>.TFTP可用于UDP环境。当需要将程序或文件同时向许多机器下载时就往往需要使用TFTP。<2>.TFTP代码所占内存较小。
主要特点:
<1>.每次传送的数据报文有512字节的数据,但最后一次可不足512字节。
<2>.数据报文按序编号,从1开始。
<3>.支持ASCII码或二进制传送。
<4>.可对文件进行读或写。
<5>.使用很简单的首部。
TFTP工作很像停止等待协议,每发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发送数据后在规定时间内收不到确认就要重发数据PDU。发送确认PDU的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告终。
在一开始工作时,TFTP客户进程发送一个读请求报文或写请求报文给TFTP服务器进程,其熟知端口号为69。TFTP服务器进程要选择一个新的端口和TFTP客户进程进行通信。若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据报文。若文件长度不是512字节的整数倍,则最后传送数据报文中的数据字段一定不满512字节,这正好可以作为文件结束的标志。
转载于:https://www.cnblogs.com/way_testlife/archive/2010/10/11/1847529.html
TCP/IP协议族之应用层协议(FTP、TFTP)相关推荐
- TCP/IP 协议族 And HTTP 协议 基基基础知识
文章目录 TCP/IP协议群 HTTP 协议 1.HTTP 消息结构 2.HTTP 请求方法 3.HTTP 响应信息 4.HTTP 状态码 5.HTTP content-type 6.请求类型Get与 ...
- OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系
OSI七层协议模型.TCP/IP四层模型和五层协议体系结构之间的关系 一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Ses ...
- OSI七层协议模型、TCP/IP四层模型和五层协议体系
先放图 一.OSI七层协议模型 OSI的七层协议主要包括:物理层(physical layer).数据链路层(data link layer).网络层(network layer).运输层(trans ...
- TCP/IP网络协议栈:ARP协议详解
<TCP/IP网络协议栈:以太网数据包结构.802.3> <TCP/IP网络协议栈:ARP协议详解> <TCP / IP攻击:ARP缓存中毒的基本原理.TCP序列号预测和 ...
- IPv6协议族的其它协议
摘自:<深入理解计算机网络> 王达著 机械工业出版社 相关知识链接 1. IPV4数据报头部格式 2. IPv6数据报头部格式 3. IPv4数据报的封装与解封装 4. IPv4数据报的分 ...
- TCP/IP协议族之运输层协议 ( UDP, TCP)
UDP User Datagram Protocol 用户数据报协议 TCP Transmission Control Protocol 传输控制协议 UDP:向应用层提供无连接的.不 ...
- 『TCP/IP详解——卷一:协议』读书笔记——03
2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程--当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首 ...
- 《TCP/IP详解卷一:协议》 概述
分层 TCP/IP协议族是一组不同层次上的多个协议的组合.TCP/IP通常被认为是一个四层次协议系统. 链路层(数据链路层或网络接口层):通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.用 ...
- 信息系统项目管理师教程(第3版)- OSI七层模型TCP/IP四层模型对应网络协议
一.OSI七层模型: 1.应用层 网络服务与最终用户的一个接口. 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 2.表示层 数据的表示. ...
最新文章
- OSPF高级设置实现全网互通
- linux下载tomcat7命令,linux下安装tomcat7.0
- el-tree 权限 勾选_一周新债总结,最高涨30%,10月26日起可转债交易需要先开权限...
- STL中map用法详解
- Java设计模式笔记(5)建造者模式
- 2021谷饶中学高考成绩查询,高考成绩
- python空行拼接字符串_在python中的每一个空行插入一个新的行字符串
- hive常见的建表方式有哪些?各自的使用场景是?
- ac3168无线网卡驱动下载_70块的笔记本网卡,值不值得换
- 阿里云对象存储OSS是怎么收费的?
- 单元格内容分列多行_excel拆分单元格内容 excel单元格拆分多行
- 服务器连接无线键盘,【罗技 K375s 无线蓝牙键盘使用总结】连接|手感_摘要频道_什么值得买...
- 合肥工业大学计算机和信息学院,合肥工业大学计算机与信息学院
- java中双冒号的用法
- js如何判断闰年?整除的符号是什么?
- 创维E900V22E_卡刷固件及升级说明
- 安卓打包出现“app:processReleaseManifest“问题的一种解决方案
- sudo apt-get install 可以安装的一些软件
- 无忧考吧java的题库准吗,无忧考吧题库_无忧考吧从业题库难度和真正考试难度一样吗_淘题吧...
- 毕业设计项目总结--幼儿托管安全接送系统