计算机网络(三、数据链路层)

作者:大三的土狗
专栏:计算机网络知识
在这里插入图片描述


前言

    数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。
在这里插入图片描述
在这里插入图片描述


1、使用点对点信道的数据链路层

数据链路和帧

  • 数据链路层使用的信道主要有以下两种类型:
    • 点对点信道。这种信道使用一对一的点对点通信方式。
    • 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发
  • 数据链路层模型
  • 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
  • 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
  • 数据链路层传送的是帧

三个基本问题

  • (1) 封装成帧

    • 将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
      在这里插入图片描述
  • (2) 透明传输

    • 透明表示一个实际存在的事物看起来好像不存在一样。
    • 帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
      *
  • (3) 差错控制

在这里插入图片描述

  • 循环冗余检验 CRC
    目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。

  • 帧检验序列 FCS
    在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

  • 冗余码的计算

    • 例子:
      现在 k = 6, M = 101001。
      设 n = 3,
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
加0规则:按指定的除数的位数-1,加在传送的数据后面 101001000 3)商的规则 补位后,余数部分首位是0,除数首位是1,商0 其它商1 4)求余数的规则: 异或(不同为1,相同为0) 5) 最后留下余数R,做FCS 6) 最终传送数据是:传送数据 + 余数 101001001 7) 接受方:用接收到的数据/协商好的除数==>余数为0,传输过程没有错误;否则错误,扔掉,要求重传 8)说明 除数是数据链路层协商定的 商不管 注 具有r检测位的多项式,能够检测出所有小于或等于r的突发错误 长度大于r+1的错误,逃脱的概率是1/(2的r次方) 仅能做到无差错接收(不是可靠传输) CRC是检错码。CRC是具有纠错功能的,但是在计算机网络中,一般是出错就直接要求重传,所以默认CRC是检错码(不是纠错码) 概述:在接收端不但能检查错误,而且还能纠正检查出来的错误。常见的纠错编码是海明编码 概述:在信息字段中插入若干位数据,用于监督码字里的哪一位数据发生了变化,具有一位纠错能力 1)求出校验码位数 原理 假设信息位有k位,冗余位r位,整个码字的长度就设置为k+r位 每一位数据有0、1两个状态,r位可以示2^r种状态 一种状态示一个码元发生了错误;k+r位码元,需要k+r种状态示 还额外需要一位示数据的正确情况 所以2^r-1>=k+r才能检查一位错误 例子 推导D=101101的海明码,信息位有6位

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值