14.FTP传输分析
某网络拓扑如图所示,主机 H 登录 FTP 服务器后自服务器上传一个大小为 18000B的文件 F,假设 H 传输 F 建立数据连接时,选择的初始序号为 100,MSS=1000B,拥塞控制初始阈值为 4MSS,RTT=10ms,忽略 TCP 的传输时延,在 F 的传输过程中,H 以 MSS段向服务器发送数据,且未发生差错,丢包和乱序。请分析下面的问题。
(1)FTP 的控制连接是持久的还是非持久的?FTP 的数据连接是持久的还是非持久的?H 登录 FTP 服务器时,建立的 TCP 连接是控制连接还是数据连接?(3分)
(2)H 通过数据连接发送 F 时,F 的第一个字节序号是多少?在断开数据连接的过程中,FTP 发送的第二次挥手的 ACK 序号是多少?
(3)F 发送过程中,当 H 收到确认序号为 2101 的确认段时,H 的拥塞窗口调整为多少?收到确认序号为 7101 的确认段时,H 的拥塞窗口调整为多少?
(4)H 从请求建立数据连接开始,到确认 F 已被服务器全部接收为止,至少需要多长时间,期间应用层数据平均发送速率是多少?
题目信息提炼:
主机H通过FTP上传18,000B文件F,MSS=1000B,初始序号=100,拥塞窗口初始阈值=4MSS,RTT=10ms。
FTP传输分析
(1)持久性
控制连接:持久 ✔
数据连接:非持久 ✔
登录时建立控制连接 ✔
(2)TCP序号与连接释放
F的第一个字节序号:
- 初始序列号(ISN)= 100
- SYN报文消耗序号100,数据从101开始
答案:101
第二次挥手ACK序号:
- 文件F占用序号101~18,100(18,000B)
- FIN报文序号=18,101
- ACK序号=FIN+1=18,102
(3)拥塞窗口调整
收到ack=2101时:
- 确认字节范围:100~2100(2 MSS)
- 慢启动阶段:cwnd从1 MSS→2 MSS→3 MSS
答案:3 MSS
收到ack=7101时:
- 确认字节范围:100~7100(7 MSS)
- 慢启动阶段:cwnd增长至4 MSS(阈值)
- 拥塞避免阶段:每RTT窗口+1 MSS(确认5/6/7 MSS时,cwnd=5/6/7 MSS)
答案:7 MSS
(4)最短传输时间与平均速率
传输过程:
- 慢启动阶段(3 RTT):
- RTT1:发送1 MSS(1-1000)→ cwnd=2 MSS
- RTT2:发送2 MSS(1001-3000)→ cwnd=4 MSS
- RTT3:发送4 MSS(3001-7000)→ cwnd=8 MSS(进入拥塞避免)
- 拥塞避免阶段(2 RTT):
- RTT4:发送8 MSS(7001-15000)→ 剩余3 MSS
- RTT5:发送剩余3 MSS(15001-18000)→ 传输完成
总时间:6RTT × 10ms = 60ms
平均速率:
- 数据量:18,000B = 144,000 bit
- 时间:50ms = 0.06s
- 速率:144,000bit / 0.06s = 2.4Mbps