计算机网络笔记

第三章 : 数据链路层

3.1数据链路层问题

  • 数据链路层地位

    • 网络中的主机,路由器都必须实现数据链路层
    • 局域网的主机,交换机等都必须实现数据链路层

    注意:不同链路层可能采用不同协议

    • 数据链路层信道类型

    • 点对点

    • 一对一的通信方式

    • 广播信道

    • 一对多 必须使用专用的共享信道协议

3.1.1数据链路和帧

  • 链路
    • 一条无源的点到点的物理线路段,中间没有任何其他的交换节点
    • 一条链路只是一条通路的一个组成部分
    • 物理链路
  • 数据链路
    • 把实现控制数据的协议的硬件和软件加到链路上,构成了数据链路
    • 逻辑链路
    • 典型实现:适配器(网卡)
    • 一般的适配器都包含了数据链路层和物理层这两层的功能
  • 为什么需要数据链路层
    • 物理层解决了节点透明传输bits的问题
    • 物理层没有解决的问题
      • 传输错误的问题
      • 谁接收的问题
      • 传输结束问题

3.1.2 三个基本问题

  • 封装成帧

    • 在一段数据的前后分别添加首部和尾部,构成一个帧
    • 首部和尾部一个重要作用就是帧定界(确定帧的界限)
  • 透明传输

    • 字节填充
  • 差错控制

    • 传输的过程中可能会因为各种原因导致一个或多个比特错误

    • 循环冗余检验(crc)

    • CRC校验的原理

      • 多项式表示

        • 对如下二进制bit字符串:

        • 可以将其表示为一个虚拟变量 (x) 的多项式方程 (二进制加权形式):

        • 例:字符串 (1100101) 可以表示为:
        • 这样做的目的是,方便之后进行数学编码和对二进制数据串的操作 (如:模二运算)。
      • 模二多项式除法

        • 通常一个多项式B(x)除以另一个多项式G(x)会产生一个商多项式Q(x)和一个余数多项式R(x):

        • 由于 模二减法=模二加法,上式可重写为:

3.2点对点协议 ppp

3.2.1ppp协议特点

协议应满足的需求

  • 协议的组成

  • 一个将ip封装到串行链路的方法

  • 一个链路控制协议(lcp) 用于建立、配置和测试链路
  • 一套网络网络控制协议(ncp) 每个协议支持不同的网络层协议

3.2.2ppp帧格式

各字段的意义

  • 首部的第一个字段和尾部的第二个字段都是标志字段F(flag)规定为0x7E
  • 首部中第二个字段为地址字段A规定为0xFF
  • 首部第三个字段为控制字段c规定为0x03
  • 首部第四个字段为两个字节的协议字段
  • 尾部第一个字段为两个字节用于crc检测的帧检测序列fcs

字节填充(异步传输)

  • 将原始数据中出现的控制字符、帧定界符替换
  • 在数据前填充一个字节作为转义 后一个字节编码改变
    • 控制字符+0x20 定界符7->5 eg: 0x7D -> 0x5D

零比特填充(同步传输)

  • 如果发送端发现五个1相连 在后面添加一个0
  • 同理接收端发现五个1相连 删除后面的一个0

3.2.3ppp协议工作过程

  • 连接建立

    • 用户拨号接入isp后建立一条用户电脑和isp的物理连接

    • 个人电脑向isp发送一系列链路控制协议lcp分组建立lcp连接

    • 然后网络层网络控制协议ncp给新接入的用户分配一个临时的ip

  • 连接释放

    • ncp释放网络层连接
    • 收回分配的IP地址
    • lcp断开连接释放物理链路层连接
    • 最后释放物理层连接

计算机网络笔记
http://example.com/2024/06/07/我的计算机网络/
作者
wangzj
发布于
2024年6月7日
许可协议