概念
封装成帧&透明传输
封装成帧
透明传输
字符计数法
如果第一个错误,后面将全部错误,所以不常用。
字符填充法
即在控制字符前加转义字符,防止判断错误。
零比特填充法
由于前后都是1个“0”+6个“1”+1个“0”,即解决方法是遇到5个连续的“1”,就在后面填充1个“0”。
违规编码法
由于曼彻斯特编码是通过高低、低高来表示“1”和“0”。所以将两个无效编码方式作为起始和结束。
总结
由于字节计数法Count字段的脆弱性(其值若有差错将导致灾难性后果)以及字符填充实现上的复杂性和不兼容性,目前普遍使用的帧同步方法是比特填充法和违规编码法。
差错控制
概括来说,传输中差错都是由于噪声引起的。其原因包含两个方面:
- 全局性:由于线路本身电器特征所产生的随机噪声(热噪声),时信道固有的,随即存在的。解决办法:提高信噪比来减少或避免干扰。(对传感器调整参数等)
- 局部性:外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。解决办法:通常利用编码技术来解决。
差错控制分为检错编码和纠错编码。
数据链路层编码不同于物理层的数据编码。物理层针对单个比特,解决传输过程中比特同步问题。数据链路层的编码针对一组比特,通过冗余码实现一组二进制比特串在传输过程中是否出现差错。
检错编码
奇偶校验码
只能检查出奇数个比特错误,检错能力为50%。
CRC循环冗余码:
纠错编码
海明码:发现双比特错,纠正单比特错。
工作流程
流量控制和可靠传输机制
较高的发送速率和较低的接受能力不匹配,会造成传输出错,因此需要流量控制。数据链路层的流量控制是点对点的,传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
流量控制方法:
- 停止等待协议:发送窗口大小=1,接收窗口大小=1;
- 后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1;
- 选择重传协议(SR):发送窗口大小>1,接收窗口大小>1;
其中:
- 可靠传输:发送端发啥,接收端接受啥。
- 流量控制:控制发送速率,使接收方有足够的缓冲空间来接受每一帧。
滑动窗口解决两者问题。
停止-等待协议
该协议有书上介绍是属于传输层,有介绍是数据链路层。主要原因是在之前错误率比较高的时候,需要数据链路层来进行部分纠错功能。随时代发展,数据链路层逐渐取消了这项功能。
无差错时
有差错-数据帧丢失或检测到帧出错
有差错-ACK丢失
有差错-ACK迟到
性能分析
小结
后退N帧协议(GBN)
停等协议弊端:太闲了,效率低。
GBN中滑动窗口
GBN发送方必须响应三件事
- 上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。 - 收到了一个ACK
GBN协议中,对n号帧的确认采用累计确认的方式,标明接收方已经收到n号帧和它之前的全部帧。 - 超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
接收方做的事
- 如果正确接收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
- 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:下一个按序接收的帧序号。
运行中的GBN
滑动窗口长度:尺寸W满足:1<=W<=2^n-1。n为采用n个比特对帧进行编号。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
性能分析
good:因连续发送数据帧而提高了信道利用率。
bad:在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
小结
重点总结:
- 累计确认。
- 接收方只按顺序接收帧,不按序无情丢弃。
- 确认序号最大的、按序到达的帧。
- 发送窗口最大为2^n-1,接收窗口为1.
选择重传协议(SR)
GBN的缺点:累计确认->批量重传。解决办法:设置单个确认,加大接受窗口,设置接收缓存,缓存乱序到达的帧。
滑动窗口
GBN发送方必须响应三件事
- 上层的调用
上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层再传输。 - 收到了一个ACK
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界,则窗口向前移动到未确认帧处。如果窗口移动了,并且有未发送的帧,则发送这些帧。 - 超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
接收方做的事
- SR接收方确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧,直到所有帧全部接收,这时才可以按序交付给上层,然后向前移动。
- 如果收到窗口序号外的帧(小于窗口下界),就返回一个ACK。其他情况,就忽略该帧。
运行中SR
窗口长度:W=2^(n-1)
小结
- 对数据帧逐一确认,收一个确认一个
- 只重传出错帧
- 接收方也有缓存
信道划分介质访问控制
传输数据使用的两种链路:
- 点对点链路:打电话一样,没有第三者听到。
应用:PPP协议 - 广播式链路:所有主机共享通信介质。
应用:总线以太网、无线局域网
拓扑结构:总线型、星型
介质访问控制:采取一定的措施,使得两对节点之间的通信不会发生不想干扰的情况。
静态划分信道
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
频分多路复用FDM
时分多路复用TDM
改进->统计时分复用STDM:
波分多路复用WDM
码分多路复用CDM
动态分配-随机访问介质访问控制
ALOHA协议
改进->时隙ALOHA协议
- 纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
- 纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
CSMA协议
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
---|---|---|---|
信道空闲 | 马上发 | 马上发 | p概率马上发,1-p概率等下一个时隙发 |
信道忙 | 继续坚持监听 | 放弃监听,等下一个随机事件再监听 | 放弃监听,等一个随机时间再监听 |
CSMA/CD协议
传播时延对载波监听会造成影响
通过截断二进制指数规避算法确定碰撞后重传时机
CSMA/CA协议
工作原理
CSMA/CD和CSMA/CA比较
动态分配-轮询访问介质访问控制
轮询协议
令牌传递协议
小结
局域网基本概念与体系结构
局域网
局域网拓扑结构
局域网传输介质:
- 有线局域网:双绞线、同轴电缆、光纤
- 无线局域网:电磁波
局域网介质访问控制方法:
- CSMA/CD:常用于总线型局域网,也用于树型网络
- 令牌总线:常用于总线型局域网,也用于树型网路
- 令牌环:用于环形局域网,如令牌环网
局域网分类:
IEEE 802现有标准
- IEEE 802.3:以太网介质访问控制协议以及物理层技术规范
- IEEE 802.5:令牌环网的介质访问控制协议以及物理层技术规范
- IEEE 802.8:光纤技术咨询组,提供光纤联网的技术咨询
- IEEE 802.11:无线局域网的介质访问控制协议以及物理层技术规范
MAC子层和LLC子层
小结
以太网
以太网实现无连接、不可靠服务
以太网拓扑结构和传输介质发展
10BASE-T以太网
适配器和MAC地址
以太网MAC帧
高速以太网
生成树协议STP
小结
无线局域网 IEEE 802.11
802.11的MAC帧头格式
无线局域网分类
-
有固定基础设施无线局域网
-
无固定基础设无线局域网的自组织网络
PPP协议和HDLC协议
局域网只涵盖物理层、数据链路层。广域网涵盖了物理层到网络层。
PPP协议
点对点PPP是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般使用PPP协议。只支持全双工链路。
该协议应满足的要求:
该协议无需满足的要求:
三个组成部分(功能):
PPP状态图:
帧格式
HDLC协议
HDLC的站:
帧格式
两者对比&&小结
链路层设备
物理层扩展以太网
链路层扩展以太网
主要通过网桥和交换机
网桥
透明网桥:
源路由网桥:
多接口网桥–以太网交换机
两种交换方式:
广播域和冲突域
小结
总结
参考文献:王道-《计算机网络》、计算机网络微课堂