4. 简易TCP协议
在完成本实验所有实验要求,并且此前完成了所有基础实验的情况下,实验分给予20分满分。
在基础实验的传输层,我们实现了完整的UDP协议,这并不困难。而另一个在传输层被广泛使用的TCP协议,其完整实现的难度不亚于目前基础实验的整个协议栈。为了降低难度,我们在net-lab工程上添加了TCP协议框架,你只需要补充完整tcp.c文件中的tcp_in函数,并通过实验自测。
4.1. 实验自测
TCP自测需要通过main测试。
接着,选择“在终端中运行”
打开 wireshark,选择物理机的真实网卡作为抓包对象,并设置过滤条件为:tcp
打开TCP&UDPDebug调试工具,点击“创建连接”,类型选择“TCP”,目标 IP:192.168.254.13( 该目标IP地址需要改成你自己代码中config.h中定义的IP地址 ,关于目标IP地址的定义可参考 Windows开发环境搭建),目标端口号:61000,本机端口号随机。设置完成,点击创建。
点击连接
在TCP&UDPDebug调试工具的发送窗口输入“abc”测试字符串,点击发送。此时UDP调试工具能够接收到虚拟网卡回送的数据包。如下图所示。
此时,Wireshark上也有数据包的交互。
4.2. 实验提交
请提交实验报告和代码。
实验报告需要给出设计方案、实验结果及分析。