计算机网络3

103 阅读2分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路

         数据链路层(只管比特传输是否出错)

一.使用的信道

1. 点对点信道

 

2.广播信道 :通过向所有站点发送分组的方式传输信息 <类比与数据结构的树>

 

二.数据链路层的简单模型

1.

 

从数据链路层来看

 

2.数据链路和帧

  (1)链路:是一条无源的点到点的物理线路段,中间没有任何其他的交换结点

一条链路只是一条通路的一个组成部分

(2)数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。可以加点适配器(网卡)来实现协议的硬件和软件。

(3)数据链路层传送的是帧

<1>封装成帧:网络层IP数据传到链路层在这里头尾穿上衣服包装一下就变成了帧。

 

 SOH:十六进制编码 01(00000001)EOT: 十六进制04(00000100)

 

传输过程

 

<2>透明传输

但是可能出现编码重复的情况,数据并未能真正到达结束符(EOT),可能出现二进制代码恰好和SOH或者EOT这种控制字符一样,就会出现错误

 

解决方法 : 使用字节填充方法 (在传输过程中的数据添加ESC)

 

<3>差错检测 :在传输过程中可能会产生比特差错 1可能变成0而0也可能变成1

解决方法 :对数据进行循环冗余检验

例子:现在发送1101011011,并采用多项式P(x)= x^4 + x +1 发送

1> M=1101011011

2> P=10011   

3> n=p的位数 - 1 = 4

4>X= 11010110110000 (在M后面填4个0)

  模2 ,求余数Y。

按如下公式进行模2运算

 

结果:

 

5>然后将Y补在M的后面作为被除数,继续除P,若除下的余数为0,则说明传输过程中没有出错。

 

开发者涨薪指南

48位大咖的思考法则、工作方式、逻辑体系