北邮软件学院通信协议设计实验:基于SDL的滑动窗口协议分析

需积分: 0 0 下载量 116 浏览量 更新于2024-06-30 收藏 2.68MB DOCX 举报
"北京邮电大学软件学院2019-2020学年的通信协议软件设计实验报告,小组实验一1,主要任务是使用SDL(Sequential Diagram Language)描述通信协议,实验内容包括下载安装PragmaDevStudio,分析并描述滑动窗口协议,模拟分析协议。小组成员分工明确,共同完成停等协议和回退N协议的分析与实现。" 在本次小组实验中,学生们被要求理解和掌握通信协议形式化描述的重要性,特别是SDL语言及其开发工具PragmaDevStudio的使用。SDL是一种用于描述和分析通信协议的形式化语言,它能够清晰地表示协议的状态转移、消息传递和系统结构,便于理解和实现通信协议。 实验任务主要包括以下几个方面: 1. **下载安装开发环境**:实验者需要在Windows 10环境下安装PragmaDevStudio,这是一个专门用于SDL开发的集成环境,支持SDL的系统图、功能块图和进程图的绘制。 2. **协议分析**:选取滑动窗口协议作为分析对象,滑动窗口协议是一种流量控制机制,分为回退N协议和停等协议。回退N协议允许连续发送多个数据帧,而当出现错误时,接收方会要求发送方回退到错误帧的前N个帧重新发送。停等协议则更为简单,每次只发送一个数据帧,等待确认后再发送下一个。 3. **SDL描述**:利用PragmaDevStudio,实验者需要使用SDL语言对选定的通信协议进行详细描述,包括系统的两个主要部分——发送方和接收方的SDL系统图、功能块图和进程图。在停等协议中,既要描述发送方的行为,也要描述接收方的行为。 4. **模拟分析**:通过PragmaDevStudio的模拟功能,对描述的协议进行实际运行和测试,观察协议在不同情况下的行为,验证其正确性和效率。 小组成员按照各自的任务分工,共同完成了实验内容。例如,吴志镛负责停等协议的分析和实现,陈凌云则在停等协议基础上实现了选择重传部分,赵景煜处理模拟发送和接收数据,宋振铭处理回退N协议的接收和ACK处理,陆琪伟关注回退N协议的定时器信号和数据包处理,薛子豪负责数据结构、信号定义和系统架构。 实验报告中提到的停等协议分析指出,停等协议与ARQ协议的主要区别在于前者是全双工,可以同时收发,而ARQ通常是单工,仅有一方发送,另一方接收。停等协议在一般状态下,有两个链路,每个链路都可以独立地发送和接收数据,增加了通信效率,但也可能导致信道资源的浪费。 通过这次实验,学生们不仅加深了对通信协议形式化描述的理解,也掌握了SDL语言的实际应用,为后续的通信协议设计和分析打下了坚实的基础。