FTP协议分析

阅读: 评论:0

FTP协议分析
车头时距
计算机科学与技术
08科技本三
高宇琪
20098121336
FTP协议分析
      08级科技三班  高宇琪 2008121336
  包层模
摘要:ftp协议的中文名字是文件传输协议,它是因特网商使用的最广泛的文件传输协议,它是应用层的一个协议。FTP提供交互式的访问,允许客户知名文件的类型与格式,并允许文件具有访问权限。它实际上用到了传输层的TCP协议,网络层的IP协议,在IP层封装
成IP数据包的形式经过链路层进行传输,具体怎么传输则是通过物理层,数据最后都是在物理层上转换成具体的信号才能传送到指定的地方。TCP/IP 是互联网上的一个公认的结构体系标准,它由五个层次组成:应用层、传输层、数据链路层、网络层、物理层。TCP/IP这的五个层次缺一不可,数据的发送从上之下,数据的接收从下至上,它们相互联系,相互合作从而构成了数据在网络中的完美传输。
关键字:数据链路层,FTP,TCP,IP,物理层。
1. 应用层
    FTP(文件传输协议),就一种文件传输协议,它在因特网上应用非常广泛。它是运行在应用层上。应用层将应用程序的数据传送给传输层,以便进行信息交换它主要为各种应用程序提供了使用的协议。而FTP就是应用层上的一个典型的协议,FTP屏蔽了各计算机系统的细节,因而适用于在异构网络中任意计算机之间传送文件。它采用客户机服务器方式,一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程和若干个从属进程。它的熟知端口号是21。主进程端口号是21,用来控制通道,从进程端口号是20,用来与客户进程所提供的端口号建立数据连接。由于FT
P采用了两个不同的端口号,所以数据连接于控制连接不会发生混乱。文件传输协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务,它的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。传输层为应用层提供服务。
2.传输层
    首先,FTP用到了传输层上的TCP协议。传输层是为应用进程提供端到端的通信,运输层要对收到的报文进行差错检测。TCP协议是面向连接的,可靠的,全双工的,面向字节流的协议。TCP的面向连接是说,应用程序在使用TCP之前必须先建立TCP连接,建立TCP连接采用三次握手协议;在传送数据完毕后,必须释放已经建立的连接,即所谓的TCP的四次挥手。说TCP是可靠的,意思就是通过TCP连接传送的数据,无差错,不丢失,不重复,并且按序到达。TCP的全双工是说它允许通信双方的应用进程在任何时候都能发送数据。建立TCP连接有三个阶段,即:连接建立,连接传送,连接释放。下图就是TCP的三次握手过程。第一次握手时,同步位置SYN=1,同时选择一个初始序号seq=x。这时,客户进程进入SYN-SENT(同步已发送)状态。
TCP协议的格式图2所示:
自制室内单杠
16位源端口号
16位目的端口号
32位序列号
32位确认序列号
4位数
据偏移
miankongqu
6位保留
R
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
16位窗口大小
16位校验和
16位紧急指针
选项
数据
图2
图3
第一次握手时,客户进程发出建立连接请求,同步位置SYN=1,其他的都置0。同时选择一个初始序号seq=x,这里的序列号为2187429587,序列号是从0到232-1之间随机产生的一个数。这时,客户进程进入SYN-SENT(同步已发送)状态。
频偏图4
第二次握手时,服务进程同意建立连接,ack=x+1,从上图可以看出这里的确认号是2187429587+1=2187429587,随即产生了一个序列号2017086955。确认号ACK置1,同步位置SYN=1,ACK为0表示这是一个TCP连接请求。同时自己也发送一个SYN包,这时TCP服务器进程进入SYN-RCVD(同步收到)状态。
图5
第三次握手时,客户进程收到服务器进程的确认后,再向服务器进程给出确认主机A收到后检查确认号是否正确,即第一次发送的确认号+1,以及ACK是否为1,若正确,客户节点会再发送一个确认号(服务器进程的seq+1),ACK=1。这里的确认号ACK置1表示对方同意建立连接,急迫位为1表示发送方使用PUSH位来通知接收方将所有收到的数据立即提交给服务器进程,而不会因等待额外数据而让数据在TCP缓存中停留。其他的置0。TCP连接建立,客户进程进入ESTABLISH(连接建立)状态。
而TCP的连接释放则要经过四步,即四次挥手。如图所示:
图6
第一次挥手时,客户进程先向服务器进程发出连接释放报文,并停止发送数据。这时客户进程把FIN置1,其他的都置0。设其序列号=u,这里的序列号是2187429638,序列号是随机产生的。客户进程进入FIN-WAIT-1(终止等待1)状态。
图7
第二次挥手时,服务器收到连接释放报文段后即发出确认,确认号置1,确认号是第一次挥手的序列号2187429638+1=2187429639,序列号是第一次挥手的确认号加1,所以确认号是: 2017087119,其他的都置0。服务器进入CLOSED-WAITE(关闭等待状态)。这时TCP连接处于半关闭状态。
图8
第三次挥手时,服务器发出的连接释放报文段使终止位FIN=1。服务器还必须重复上次发送过的确认号2187429639,确认位ACK置1,序列号也和上次的相同,终止位FIN置1,其他的置0.。这时服务器进程进入LAST-ACK(最后确认)状态,等待客户的确认。
图9
第四次挥手时。客户进程在收到服务器的连接释放报文,给出确认,确认号置1,确认号为第三次挥手的序列号2017087119+1=2017087120,其他的都置0。再产生一个序列号,这个序列号就是第三次挥手产生的确认号2187429639,这时客户进程进入CLOSED状态。
3.网络层
    其次,FTP用到了网络层的IP协议。网络层是为主机之间提供逻辑通信,它不提供服务质量的承诺。IP协议是一种面向无连接的,尽最大努力交付的服务。面向无连接是说它在发送分组时不需要先建立连接。尽最大努力交付即:它所传送的分组可能出错,丢失,重复和失序,也不保证分组交付的时限。但是正是由于网络层部提供端到端的可靠的服务,就使得网络中的路由器可以做的比较简单,而且价格低廉。如果主机中的进程主机的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理‘流量控制等)。这样可以使网络的造价大大降低,运行方式灵活,能够适应多种应用。简单地说发送端简单地把信息包发送到网络上,在传送信息包之前发送端和接收端没有沟通的过程,也没有对方来确认,因而不知道目的地是否接收到。无连接服务和面向连接服务相对),无论传输是
否正确,不做验证,不发确认,也不保证分组的正确顺序。网络层为传输层提供服务。

本文发布于:2023-05-22 05:03:06,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/108606.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连接   进程   确认   客户
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图