tcp/quic lab patched
This commit is contained in:
@@ -103,7 +103,38 @@ make
|
||||
sudo tc qdisc del dev lo root
|
||||
```
|
||||
|
||||
### 3.3 & 3.4 进阶测试
|
||||
### 3.3 进阶测试:多路复用与多连接对比
|
||||
|
||||
- **多路复用:** 当前的 `quic_perf_client` 使用单个流 (Stream ID 4)。您可以修改代码并行启动多个流,以测试 QUIC 解决队头阻塞问题的能力。
|
||||
- **网络恢复:** 在长传输过程中,使用 `tc` 设置 100% 丢包 (`loss 100%`) 持续 30 秒,然后删除规则 (`del`),观察连接是否能恢复传输。
|
||||
本实验任务要求对比 TCP 多连接与 QUIC 多流复用的性能。
|
||||
|
||||
**场景 1: TCP 多连接并发**
|
||||
同时建立 5 个 TCP 连接,每个连接传输 20MB 数据 (总计 100MB)。
|
||||
|
||||
1. 启动 TCP 多连接服务器:
|
||||
```bash
|
||||
./tcp_multi_server
|
||||
```
|
||||
2. 启动 TCP 多连接客户端:
|
||||
```bash
|
||||
./tcp_multi_client
|
||||
```
|
||||
3. 记录服务器输出的总时间与吞吐量。
|
||||
|
||||
**场景 2: QUIC 单连接多流复用**
|
||||
建立 1 个 QUIC 连接,在其中同时开启 5 个流 (Stream),每个流传输 20MB 数据 (总计 100MB)。
|
||||
|
||||
1. 启动 QUIC 多流服务器:
|
||||
```bash
|
||||
./quic_multi_server
|
||||
```
|
||||
2. 启动 QUIC 多流客户端:
|
||||
```bash
|
||||
./quic_multi_client
|
||||
```
|
||||
3. 记录服务器输出的统计数据。
|
||||
|
||||
**分析重点:**
|
||||
- 在正常网络下,两者的总耗时差异。
|
||||
- 使用 `tc` 模拟丢包 (如 5%) 后,对比两者性能下降的幅度。QUIC 的多流复用应能避免 TCP 的“队头阻塞”问题 (即一个包丢失不影响其他流的传输),从而在丢包环境下表现更优。
|
||||
|
||||
### 3.4 网络恢复测试
|
||||
|
||||
Reference in New Issue
Block a user