全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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)进行流控制,该窗口是接收方允许发送方发送的字节流的数据范围,发送方只能发送位于窗口内的字节流中的字节。发送方可在不超过窗口大小范围的条件下连续发送若干个分组,而不必每次发送都要在前一个分组的ACK确认信息收到后进行。该窗口随着发送方的出站字节流和接收方的入站字节流而滑动,发送方只有收到了接收方的ACK确认,窗口才可以向前移动。TCP传输过程中的滑动窗口并不是固定不变的,在传输过程中会动态调整,接收方会不断的在ACK中将自己的接收窗口大小(window size)通告发送方,发送方将此作为发送窗口的大小。 发送方在两种情况下会停止发送数据:一是网络传输延迟导致发送窗口中全是已发送未确认的数据,二是接收方进程处理太慢导致接收方的接收窗口大小为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 11848.10-2025铀矿石浓缩物分析方法第10部分:硫的测定红外吸收法
- 2023年金华辅警招聘考试真题附答案详解(预热题)
- 2024年丰都县辅警招聘考试题库附答案详解(巩固)
- 2024年四平辅警协警招聘考试真题及一套完整答案详解
- 2024年安徽辅警招聘考试题库参考答案详解
- 2023年雅安辅警协警招聘考试真题完整答案详解
- 2023年锦州辅警协警招聘考试真题含答案详解(精练)
- 2023年长沙辅警协警招聘考试备考题库带答案详解(完整版)
- 2023年连江县辅警招聘考试题库及参考答案详解
- 2023年辽宁辅警协警招聘考试备考题库含答案详解(考试直接用)
- 2025-2026学年苏教版三年级科学上册期中达标测试卷(三)含答案与解析
- 急性胰腺炎(普外科)
- 读书分享交流会《全球通史》课件
- 人教版(2019)选择性必修第二册Unit 1 Science and Scientists Workbook Expanding Your World 课件
- 中学学校安全管理制度汇编
- 前置胎盘临床诊断与处理指南
- 医院行风建设应知应会考核试题及答案
- 如何做好转介绍
- 八年级地理下册全册课件(湘教版)
- GB 7101-2022食品安全国家标准饮料
- 第十一章 锻 压
评论
0/150
提交评论