从TCP/IP模型全面认识FTP
2007-08-18 00:00:00 来源:WEB开发网核心提示: 5、 服务器端发送一个SYN包给客户端的暂时端口,源端口为20,从TCP/IP模型全面认识FTP(2),暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;6、 客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包;7、 服务器端发送一个ACK包;8、 发送数据的主机以这个连
5、 服务器端发送一个SYN包给客户端的暂时端口,源端口为20,暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;
6、 客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包;
7、 服务器端发送一个ACK包;
8、 发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR表示客户端要发送数据,RETR表示服务器端发送数据),这些TCP段都需要对方进行ACK确认(注:因为TCP协议是一个面向连接的协议);
9、 当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认;
10、 客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。
下面是FTP PORT模式前几步步骤:
以下是引用片段:
/==================================
||
|[ftpClient][ftpServer]|
||
|(TCP:21连接初始化,控制端口)|
|SYN|
|Portxxxx---------------------->Port21[TCP]|
|SYN+ACK|
|Portxxxx<----------------------Port21|
|ACK|
|Portxxxx---------------------->Port21|
||
|(控制操作:用户列目录或传输文件)|
||
|Port,IP,Portyyyy|
|Portxxxx--------------------àPort21|
|PortSeccussful|
|Portxxxx<----------------------Port21|
|List,RetrorStor|
|Portxxxx---------------------->Port21|
||
||
|(TCP:20连接初始化,数据端口)|
|SYN|
|Portyyyy<----------------------Port20|
|SYN+ACK|
|Portyyyy---------------------->Port20|
|ACK|
|Portyyyy<----------------------Port20|
||
||
|(数据操作:数据传输)|
|Data+ACK|
|Portyyyy<--------------------->Port20|
|.|
|.|
|.|
||
==================================/
- ››TCP超时/丢失重传
- ››iphone图片拉伸的几种方法
- ››iphone正则表达式的简单使用
- ››iPhone开发Unresolved Symbols CAKeyframeAnimati...
- ››IPhone开发-“此证书是由未知颁发机构签名”解决方...
- ››IPhone开发-整合私钥和证书,生成.p12文件
- ››iPhone应用开发-UIPickerView选取器详解
- ››iphone 获取屏幕的宽度和高度
- ››iPhone读取工程包中的二进制文件
- ››iPhone新手机 不挂YouTube APP
- ››iPhone 获取指定格式的时间和日期
- ››IPad使用UIModalPresentationFormSheet时隐藏键盘...
更多精彩
赞助商链接