第3章 数据链路层

原创 2015年11月20日 19:47:53

3.1 数据链路层的设计问题

数据链路层使用物理层提供的服务在通信信道上发送和接收比特。其完成的功能包括:
(1)向网络层提供一个定义良好的服务接口
(2) 处理传输错误
(3)调节数据流,确保慢速的接收方不会被快速的发送方淹没

3.1.1数据链路层提供的服务

服务包括:
(1) 无确认的无连接服务:以太网,
(2) 有确认的无连接服务
(3) 无确认的有连接服务

3.1.2 成帧

识别比特流开始和结束位置的方法:
(1)字节计数法
(2)字节填充的标志字节法
(3)比特填充的标志比特法
(4)物理层编码违禁法

3.1.3 差错控制

接收方反馈信息,计时器和序号使用

3.1.4 流量控制

解决发送方发送帧的速度超过了接收方能够接受这些帧的速度的方法:
1. 基于反馈的流量控制(feedback-based flow control),接收方给发送方返回信息,允许它发送更多的数据或者至少告诉发送自己的情况如何。
2. 基于速率的流量控制(rate-based flow control),限制发送方传输数据的速率,而无须有高层来处理。

3.2 差错检测和纠正

错处处理的基本策略:
1. 纠错码(error-correcting code):每一个数据块中包含足够多的冗余信息,以便接收方推断出被发送的数据是什么,多用在无线链路等错误发生发生频繁的信道上。
2. 检错码(error-detecting code),冗余信息只能推断是否发送错误,接收方请求重传,多用在高度可靠的信道上(光纤)

3.2.1 纠错码

  1. 海明码
    海明距离(Hamming distance):两个码字中不相同位的个数
  2. 二进制卷积码
    在卷积码中,编码器处理一个输入序列,并生成一个输出序列。卷积吗由其速率和约束长度标识。
  3. 里德所罗门码
    线性码,多项式纠错
  4. 低密度奇偶校验码(LDPC,Low-Density Parity Check )

3.2.3 检错码

对于偶尔出现的错误采用差错检测和重传的处理方式。
检错码:
1. 奇偶
2. 校验和
3. 循环冗余校验(CRC,Cyclic Redundancy Check),也叫多项式编码,编码的基本思想是:将位看成是系数为0或1的多项式。一个k位帧可以看成是一个k-1次多项式的系数列表,该多项式共有k项,从xk1x0,这样的多项式认为是k-1阶多项式。最左边是xk1项的系数。
4. 使用多项式编码时,发送方和接收方必须事先商定一个**生成多项式(generator polynomial)**G(x).生成多项式的最高位和最低位必须是1.
计算CRC的算法过程:
(1)假设G(x)的阶为r,在帧的最低位端加上r个0位,使得该帧现在包含m+r位,对应多项式为xrM(x)
(2)利用模2除法,用对应于G(x)的位串去除对应于xrM(x)的位串。
(3)利用模2减法,对应于xrM(x)的位串中减去余数(总是小于等于r位)。结果就是被传输的带校验和的帧。它的多项式不妨设为T(x).

lua程序设计第二版 读书笔记(5-8章)

书本下载地址                       http://download.csdn.net/detail/myy2012/5349646 本部分下载地址               ...
  • myy2012
  • myy2012
  • 2013年05月09日 17:04
  • 1205

《计算机网络》第3章 数据链路层

数据链路层使用物理层提供的服务在通信信道上发送和接收比特。 功能包括: (1) 向网络层提供一个定义良好的接口 (2) 处理传输错误 (3) 调节数据流,确保慢速的接收方不会被快速的...
  • qq_18738333
  • qq_18738333
  • 2017年03月23日 16:33
  • 983

计算机网络第3章 数据链路层

《计算机网络(第七版)-谢希仁》 第3章 数据链路层 偏向底层,了解为主
  • Mr_R555
  • Mr_R555
  • 2017年10月26日 23:16
  • 149

[课本划重点]深入理解jvm-第3章 垃圾收集器与内存分配策略(2)

先吐槽:欠了鸟哥的更新还给你! -------------------划重点------------------------- 1垃圾收集算法 1.1标记-清除(标记过程参见上一节) ♦️统一...
  • Jelly_Jiang
  • Jelly_Jiang
  • 2016年08月22日 23:36
  • 309

《Drools7.0.0.Final规则引擎教程》第4章 4.1 规则文件

一个标准的规则文件的格式为已“.drl”结尾的文本文件,因此可以通过记事本工具进行编辑。规则放置于规则文件当中,一个规则文件可以放置多条规则。在规则文件当中也可以存放用户自定义的函数、数据对象及自定义...
  • wo541075754
  • wo541075754
  • 2017年07月15日 11:30
  • 1665

《深入剖析Tomcat 》第3章 连接器(Connector)

第3章  连接器(Connector) 3.1  概述 在简介一章里说明了,tomcat由两大模块组成:连接器(connector)和容器(container)。本章将使用连接器来增强ap...
  • u011345136
  • u011345136
  • 2015年04月27日 14:58
  • 392

Java - Thinking in Java 第2章 练习

Thinking in Java1//: object/HelloDate.java /** * Default initialize class. * @author C.L.Wang * @...
  • u012515223
  • u012515223
  • 2015年07月06日 23:14
  • 1388

《 Thinking in Java 》_第3章_操作符_练习题

如果熟悉C或C++的语法,那么只需快速浏览本章和下一章,看看Java与这些语法直接的差异。如果觉得很难理解这两章内容,可以去网站免费下载多媒体课程《Thinking in C》,可快速掌握学习Java...
  • waterydd
  • waterydd
  • 2017年04月19日 10:32
  • 410

JavaScript+DOM编程艺术 第三章 DOM

DOM简介1.HTML DOM:网页被加载时,浏览器会创建文档对象模型 2.DOM操作HTML:改变HTML的元素、属性、CSS样式、对所有事件作出反应DOM操作HTML不要在文档加载完成后使用do...
  • qq_34664510
  • qq_34664510
  • 2017年07月10日 21:34
  • 209

统计学习方法 第3章 k近邻法

统计学习方法 第3章 k近邻法算法k近邻法:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最临近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。训练数据集: 其...
  • super_chicken
  • super_chicken
  • 2017年11月16日 13:03
  • 84
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第3章 数据链路层
举报原因:
原因补充:

(最多只允许输入30个字)