0
点赞
收藏
分享

微信扫一扫

数据链路层

爱写作的小土豆 2021-09-30 阅读 13

作用

可以提供可靠的物理传输,可以对原始比特流进行控制,帧同步

五大功能

• 链路的管理(数据怎么样通信,要制定一些规程)
• 编址
• 帧同步(划分帧的边界)
• 差错控制
• 流量控制

点----点

数据链路层协议的位置

↑图:
大框表示路由,小的方块表示路由的端口,端口我们定义为物理层
(对于任何一个端口来讲,不管是路由器的一个端口,通信子网的一个节点的端口还是DTE即数据终端设备的一个端口,比如网卡,对应的都是物理层和数据链路层,它们是绑定在一起的)

1.二进制位流被送到数据链路层的实体(软件的进程或接口本身的硬件的单元),进行帧的同步(把帧的单位划分出来,起始在哪儿,目的地址是否是给自己这个端口的,即是否对应的是这个端口的物理地址,如果是则接收,不是就丢弃)

  1. 进行差错的检测,如果出错,这个帧会被丢掉,如果没出错则继续相应的处理
  2. 把帧当中的有效数据提取出来变成分组送给网络层的进程(比如IP进程)
  3. IP进程根据分组携带的目的IP地址进行路由选择
    知道通过哪个出口链路发送到目的节点(这时要将分组加上帧头帧尾构成一个帧),通过物理接口发送出去

★物理地址:是一个节点判定是否接收一个数据的唯一标志

网卡地址就是物理地址,网卡判定是否接收一个数据的唯一标志就是这个数据携带的地址
是否等于本网卡的地址,是就收,不是就不收。全球的不同国家不同厂商生产的每个网卡
的物理地址都是不重复的

定界与同步

要解决的问题是划分帧的边界(初始和结束)

成帧

将比特流分成离散的帧,并计算每个帧的校验和。把原始二进制位流增加一些控制信息构成数据链路的协议数据单元,通过这些协议数据单元来完成特殊的控制,保证向上层提供可靠的服务

成帧的方法
1. 字符计数法:

在帧头中用一个域来表示整个帧的字符个数
优点:划分边界所增加的额外信息比较少,线路的利用率较高
缺点:若计数出错,对本帧和后面的帧有影响,因此很少采用
在数据链路层传输的时候是没办法保证传送的这些帧之间是这样连续传送的,一
定是有间隙的,但是这个间隙有多久无法预测。所以在数据链路层不能单独使用
这种计数法,需要和其它方法一起使用。但是在高层(网络层或传输层可以单独
使用这种计数法,原因是它们定界的基础是不一样的。在数据链路层需要从原始
的二进制位流中划分出帧的起始和结束的位置,而高层已经收到定界的一个个单
元了,只需要通过字符计数法验证一下给我提交的数据的边界和发送方给我发的
边界是否一致,并不需要区分)

↑图一共有4个帧,每个帧的开头(红色的数字)表示这个帧的长度

2.带字符填充的首位字符定界法:

用DLE STX标示帧的开始,用DLE ETX标示帧的结束,用DLE DLE标示传送数据信息中的
DLE(如果有效数据中出现了DLE就把它加倍)

优点:每一个帧的定界不受前面帧的影响,这个帧出错也不会影响后续的帧
缺点:需要增加更多的额外信息,信道效率较低。局限于8位字符和ASCII字符传送,
也不被普遍采用

3.带位填充的首尾标记定界法:

帧的起始和结束都用一个特殊的位串“01111110”,称为标记(flag)
“0”比特插入删除技术,在传送的数据信息中每遇到5个连续的1在其后加0

☆2,3方法都改变了数据的内容,这样是不太好的

4.物理层编码违例法:

只适用于物理层编码有冗余的网络,如曼彻斯特编码
曼彻斯特编码的冗余编码概念:比如曼彻斯特编码中是用电平从高到低或从低到高表示0
或1的,但是如果持续高电平或持续低电平,那么这样的编码肯定是非法编码。这时规定
持续的高电平位J,持续的低电平为K,起始和结束的位串是0011JJKK,用这样的8个位串
表示帧的开始和结束。
优点:不用修改中间数据内容,因为起始和结束位串在有效数据当中是不会出现的

举报

相关推荐

0 条评论