云南大学软件学院
实 验 报 告
课程: 计算机网络原理实验 任课教师:
姓名: 学号: 专业: 成绩:
实验五、传输层可靠传输协议GBN编程实验报告
一、实验目的:
1、编程实现简单可靠的数据传输GBN协议,模拟可靠数据传输
2、理解TCP协议可靠传输的差错检测、重传、累计确认、定时器的可靠传输策略。
二、实验指导:
参考教材。
三、实验要求:
编程实现一个GBN传输协议,采用编程语言不限,要求能将发送――接收流程以及处理方法表现出来.附源代码及注释并附上实验结果截图。
#include
/* ****************************************************************** ALTERNATING BIT AND GO-BACK-N NETWORK EMULATOR: VERSION 1.1 J.F.Kurose
This code should be used for PA2, unidirectional or bidirectional data transfer protocols (from A to B. Bidirectional transfer of data is for extra credit and is not required). Network properties: - one way network delay averages five time units (longer if there are other messages in the channel for GBN), but can be larger - packets can be corrupted (either the header or the data portion) or lost, according to user-defined probabilities
- packets will be delivered in the order in which they were sent (although some can be lost).
**********************************************************************/
#define BIDIRECTIONAL 0 /* change to 1 if you're doing extra credit */ /* and write a routine called B_output */
/* a "msg" is the data unit passed from layer 5 (teachers code) to layer */ /* 4 (students' code). It contains the data (characters) to be delivered */ /* to layer 5 via the students transport level protocol entities. */ struct msg {
char data[20];