链路层的滑动窗口协议

链路层的滑动窗口协议
  • 发送方维护一组连续的允许发送的帧的序号,称为发送窗口
  • 接收方也维护着一组连续的允许接收的帧的序号,称为接收窗口
  • 发送窗口用来对发送方进行流量控制,而发送方窗口大
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(1)初始化。开网络层允许;ack_expected = 0(此时处于发送窗口的下沿);next_frame_to_send = 0,frame_expected = 0(初始化正在发送的和期待的序号);nbuffered = 0(进行发送窗口大小初始化);(2)等待事件发生(网络层准备好,到达,收到坏,超时)。(3)如果事件为网络层准备好,则执行以下步骤。从网络层接收一个分组,放入相应的缓冲区;发送窗口大小加1;使用缓冲区中的数据分组、next_frame_to_send和frame_expected构造,继续发送;next_frame_to_send加1;跳转(7);(4)如果事件为到达,则从物理层接收一个,则执行以下步骤。首先检查的seq域,若正是期待接收的(seq = frame_expected),将中携带的分组交给网络层,frame_expected加1;然后检查的ack域,若ack落于发送窗口内,表明该序号及其之前所有序号的均已正确收到,因此终止这些的计时器,修改发送窗口大小及发送窗口下沿值将这些去掉,继续执行步骤(7);(5)如果事件是收到坏,继续执行步骤(7)。(6)如果事件是超时,即:next_frame_to_send = ack_expected,从发生超时的开始重发发送窗口内的所有,然后继续执行步骤(7)。(7)若发送窗口大小小于所允许的最大值(MAX-SEQ),则可继续向网络层发送,否则则暂停继续向网络层发送,同时返回互步骤(2)等待。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值