项目简介
本项目基于UDP协议实现了一种可靠的传输层协议(STP),对TCP的握手机制、数据传输和断开连接过程进行了模拟。通过实现单工通信、配置最大分段大小(MSS)和最大窗口大小(MWS),以及模拟数据包丢失、乱序、超时和出错等情况,保证了数据传输的可靠性。
项目的主要特性和功能
- 握手与断开连接:采用类似TCP的握手机制来建立和断开连接。
- 单工通信:连接区分发送方和接收方,接收方除必要控制报文外不发送数据报文。
- 配置MSS:可对STP报文的最大分段大小(MSS)进行配置。
- 固定窗口传输:以固定窗口方式传输数据,只有窗口内每个数据包都被确认传达,才会发送下一个窗口的数据包。
- 模拟网络异常:能模拟数据包及确认包的丢失、乱序、超时和出错情况。
- 文件传输:支持文件的发送与接收,接收方会将数据写入文件。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 启动接收端:在终端输入以下命令启动接收端:
bash
java Receiver [接收端口] [存储文件名]
2. 启动发送端:在另一个终端窗口输入以下命令启动发送端:
bash
java Sender [目的主机ip] [目的端口] [发送文件名] [MSS] [丢包率]
3. 查看发送情况:通过控制台查看发送情况,接收与发送的文件将保存在resource
文件夹中。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】