首页 > 代码库 > FTP原理分析
FTP原理分析
ftp是TCP/IP的一种具体应用,他工作在OSI模型的第七层,即应用层。仅基于TCP的服务,不支持UDP。
ftp服务的具体工作工程如下:
1.当FTP客户端发出请求时,系统将动态分配一个端口(如1032)
2.若ftp服务器在端口21上侦听到该请求,则ftp客户端的端口1032与ftp服务器的端口21之间建立一个ftp会话连接,21被称为命令端口,或者会话端口
3.当需要传输数据时,ftp客户端再动态打开一个端口连接到ftp服务器的20端口(如1033),这样就可以在这两个端口之间进行数据传输,当数据传输完成后,这两个端口会自动关闭,20称为数据端口
4.当ftp客户端断开与ftp服务端的连接时,客户端上动态分配的端口会自动释放掉。
ftp访问的匿名用户账户为anonymous。
根据数据连接的建立方式,ftp的数据传输可以分为主动模式(Initiative)和被动模式(Passive)
主动模式是ftp客户端向服务端发送准备接收数据的IP地址和端口号,有服务端主动发起并建立连接到指定的IP地址和端口号。
在被动模式下,客户端通过PASV命令获得服务器端IP地址和数据端口,然后向服务器端发送连接请求,建立数据连接。
在双方的连接过程中,命令连接的方向都是相同的,都是由客户端向服务器端连接,不同之处体现在数据连接的过程中。在主动模式中,数据连接是从服务器端开始的,而在被动模式中,数据连接是从客户端开始的。
FTP原理分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。