FTP流程实例.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FTP流程实例

FTP流程实例 建立命令通道 客户端02首先经由端口2529与FTP服务器22端口21经过TCP三次握手建立连接,建立连接成功后,FTP服务器返回状态码220,表示服务就绪。登陆过程首先由终端向FTP服务器发送登陆用户名”gprs”并等待验证。用户名验证通过后,FTP服务器返回状态码331,表示用户名验证已通过并需要输入密码。终端将登陆密码”ERICgprs”发送给FTP服务器,FTP服务器验证后返回状态码230,表示用户已经登陆。终端向FTP服务器发送命令“TYPE A”,表示设置文件传输类型为ASCII,FTP服务器返回状态码 200,表示命令执行成功。2)建立数据通道 客户端请求被动模式,FTP服务器通过21端口返回227 Entering Passive Mode (221,130,2,222,193,171),服务器将开放端口49579(193*256+171)接受来自客户端的数据连接,客户端则将使用端口2530(2529+1)进行数据连接。然后客户端向FTP服务器发送命令“RETR 1M.rar”,表示要下载文件1M.rar。指定要下载的文件后,客户端由端口2530主动去连接 FTP服务器端口49579,通过TCP三次握手建立数据连接”FTP-DATA”,用于传输数据。建立数据连接后,FTP服务器通过端口21返回状态码150,表示文件状态正确,正在打开数据连接。3)数据传输 通过TCP三次握手建立数据连接时,客户端和服务器协商双方的MSS值(即TCP数据包每次能够传输的最大数据分段)为1452个字节。服务器通过端口49579不断向客户端口2530发送大小为1452字节的TCP数据包,客户端每收到1个或2个数据包后返回ACK确认收到了数据包。可以看到Wireshark每次抓到的FTP数据大小为1506字节,而不是以太网帧最大的1518字节,这是因为在物理层网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合就将帧交“设备驱动程序”做进一步处理。这时抓包软件才能抓到数据,因此Wireshark抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,少了12字节。第63和64两个数据包,服务器向客户端连续发送两个大小为1452字节的TCP数据包,其中第64个包的Seq为1453。客户端收到这两个数据包后,在第65个包回ACK确认,携带的ACK值为2905,表示已收到Seq1453,需要服务器下次发送Seq为2905(1453+1452)的数据包。4)多线程数据传输 上面只是单线程的数据传输,数据只在49579和2530这对端口之间传输。如果再通过TCP三次握手建立一个或多个数据连接用于传输,那就是多线程的数据传输。 客户端又向FTP服务器发送命令请求下载文件” 2M.rar”,协商的MSS值为1460,客户端由端口2534主动去连接 FTP服务器端口9098(35*256+138),建立新的数据连接。3. 常用术语 MTU:Maximum Transmission Unit 最大传输单元 MTU就是IP数据包每次能够传输的最大长度,即以太网帧的最大净载荷payload,大部分网络设备的MTU都是1500。由于以太网EthernetII最大的数据帧是1518Bytes,刨去以太网帧的帧头(DMAC目的地址MAC48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes(有时候也叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,这个值称之为MTU。MTU过大或者过小都会产生IP层分片,导致速率不稳,最大速率也上不去。 MSS:Maximum Segment Size 最大分段大小 MSS就是TCP数据包的最大净载荷payload,默认值为1460,MTU的值1500Bytes减去IP数据包头20Bytes和TCP数据包头20Bytes得到1460Bytes。为了达到最佳的传输效能,TCP协议在建立连接的时候通常要协商双方的MSS值,通讯双方会根据各自提供的MSS最小值确定为这次连接的最大MSS值。 TCP滑动窗口 当网络连接的两端速度不匹配时,发送端的发送速度快于接收端的处理能力,便会出现快速的发送端将慢速的接收端淹没的现象,导致数据丢失。为了防止由于发送端与接收端之间的不匹配而导致的数据丢失,TCP采用滑动口进行流量控制。 滑动窗口机制通过设定的数据发送区间即窗口(单位byte)进行流控制,该窗口是接收方允许发送方发送的字节流的

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档