全文预览

滑动窗口协议模拟程序设计与实现

上传者:相惜 |  格式:doc  |  页数:26 |  大小:680KB

文档介绍
qNum>LAF,那么帧不在接收窗口内,于是被丢弃;如果LFR<SeqNum≤LAF,那么帧在接收窗口内,于是被接收。现在接收方需要决定是否发送一个ACK。设SeqNumToACK表示未被确认帧的最大序号,则序号小于或等于SeqNumToACK的帧都已收到。即使已经收到更高序号的分组,接收方仍确认SeqNumToACK的接收。这种确认被称为是累积的(cumulative)。然后它设置LFA=SeqNumToACK,并调整LFA=LFR+RWS。LFRLFR图2-3接收方的滑动窗口窗口协议算法有三个功能:在不可靠链路上可靠地传输帧保持帧的传输顺序支持流量控制设计方案及分析3.1窗口机制总体设计及分析图3-1发送方和接收方状态示意图 设计分析:初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧;(2)发送方打开0号窗口,表示已发出0帧但尚未确认返回信息。此时接收窗口状态不变;(3)发送方打开0、1号窗口,表示0、1号帧均在等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变;(4)接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变;(5)发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收窗口状态仍不变;(6)发送方继续发送2号帧,2号窗口打开,表示2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变;(7)接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变;(8)发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从重发表中删除1号帧。此时接收窗口状态仍不变。

收藏

分享

举报
下载此文档