实验内容 设计一个滑动窗口协议,在仿真环境下编程实现有噪音信道两站点间无差错双工通信 信道模型 8000bps全双工卫星信道 单向传播时延270毫秒 信道误码率为10-5 物理层接口:提供帧传输服务,帧间有1ms帧边界 网络层属性:分组长度固定256字节 实现Go BackN协议
2019-12-21 21:16:09 3KB GoBacKN 数据链路层 滑动窗口协议
1
计算机网络数据链路层gobackn协议 typedef struct{ unsigned char kind; //FRAME_DATA unsigned char ack; //ACK number unsigned char seq; //seq bumber unsigned char data[PKT_LEN]; //传输数据 unsigned int padding; //CRC校验和 }frame;
2019-12-21 20:23:35 5KB gobackN
1
模仿数据链路层的gobackn协议 /*该协议是搭载ack的回退n步协议*/ #include #include "protocol.h" #define max_seq 7 #define flag 126 #define ESC 100 #define wait_time 2700 //发送计时器等待的时间 #define ack_wait_time 280 static int phl_ready = 0; unsigned char buf[max_seq+1][270]; unsigned char ack[8]; //发送空的ack帧 unsigned char in_buf[600], last_buf[520];//接收时的缓冲区;去掉冗余之后的缓冲区,为防备因误码两帧合并为一帧而定义了很大一个数组 int nbuffered=0; //发送的帧数 int buf_size[max_seq+1]; //记下以发送各帧的帧长 int next_frame_to_send=0; int frame_in_phl=0; //用于成帧 int frame_expected=0; int ack_expected=0; int between(int a,int b,int c) { if( ((a<=b)&&(b
2019-12-21 19:48:49 425KB go back n gobackn
1