码迷,mamicode.com
首页 > 其他好文 > 详细

Data-Link Layer Protocol

时间:2015-04-29 21:29:35      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:


数据链路protocol

1.stop-wait

sender发一帧之后停止,等待

receiver收到一帧后,传回一个feedback

sender等到feedback之后才传下一帧

若feedback传丢了?

待timeout之后sender会重发相同的帧,receiver收到了重复的帧,造成error

解决:每个帧给一个sequence number,0-1-0-1-0-1。。。。。。

缺点:信道利用率低,计算公式见课本P99

 

2.顺序接收pipelining protocol

见tananbaum书P254的图

为了提高利用率,允许sender在没收到feedback的情况下一次发一坨frame,receiver按seq num按顺序收,顺序不对的直接扔掉

piggyback:在双向传输时,feedback和receiver传给sender的数据绑一起

若中间的一帧后来发现出错了?会造成大量重传

go-back-N:receiver的buffer容量仅为1。即顺序不对的全扔掉

改进:selective-repeat (go-back-N的大buffer版本)

receiver传一个奇怪的feedback:NAK,表示这一帧错了。然后不管它,接着接收后面的。不过把从出错位以后的帧都先放到一个buffer里,不交给网络层。

sender收到NAK发现那一帧出错,于是重传那一帧。

receiver收到那一帧后把它交给网络层,然后给一个feedback,说buffer里面的我已经收到了不用重新传了

sender知道后接着buffer里面的帧再传。

 

3.sliding-window protocol

设seq num域有n bit,则seq num范围为0--(2^n)-1,

receiver有个能存2^n个帧的buffer

在sender的sliding-window中,当seq num符合的新帧从网络层传来进入头部时候,头指针++。当尾部的帧被receiver确认后,尾指针++。

前面几种protocol都可看作sliding-window的特例。见课本P105

 

Data-Link Layer Protocol

标签:

原文地址:http://www.cnblogs.com/pdev/p/4466893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!