zoukankan      html  css  js  c++  java
  • 计算机网络(二)——数据链路层

    iwehdio的博客园:https://www.cnblogs.com/iwehdio/

    1、数据链路层

    • 数据链路层的基本概念:
      • 数据链路层的信道类型:
        • 点到点信道:一对一。
        • 广播信道:一对多。
      • 链路:一条点到点的物理线路段。
      • 数据链路:处理物理线路以外,还必须有通信协议来控制数据的传输。
      • 数据链路层传送的是帧。
    • 数据链路层的基本问题:
      • 封装成帧:

        • 就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,确定了帧的界限。

      • 透明传输:

        • 在传输的数据中出现了尾部帧的内容,导致计算机理解错误。
        • 通过字节/字符填充解决,插入转义字符。
      • 差错控制:

        • 传输过程中可能会产生比特差错,0和1可能会互相转换。
        • 一段时间内,传输错误的比特栈所有比特的比例称为误码率。
        • 判断有没有错误的方法:循环冗余检验。
        • 使用差错检测技术只能做到无差错接收,要做到可靠传输必须再加上确认和重传机制,需要由上层实现。
    • PPP协议:
      • 点到点的数据链路层协议。

      • 有身份验证的功能。

      • 支持多种网络层协议和物理层链路。

      • 组成:

        • 数据链路层协议可以用于异步串行或同步串行介质。
        • 使用链路控制协议(LCP)建立并维护数据链路层连接。
        • 网络控制协议(NCP)运行在点到点连接上使用多种网络层协议。
      • PPP协议帧格式:

        • 首部 - 信息部分 - 尾部。
        • 帧头和帧尾都是7E。
        • PPP有一个两个字节的协议字段。表示信息字段是那种类型的数据。
        • 字节填充或零比特填充实现透明传输。
        • 不使用序号和确认机制。

    2、以太网

    • 以太网的的特点:

      • 动态随机接入。
      • B向D发送数据,A、C、E都能收到但不处理,只有D接收B发送的数据。
      • 使用CSMA/CD协议:多点接入、载波监听、碰撞检测。
      • 发送具有不确定性,不适合长距离的传输。
      • 不能进行全双工通信,只能进行半双工通信。
      • 最短有效帧长为64字节,小于64字节的都被认为是无效帧。
    • 以太网:

      • 以太网与数据链路层的两个子层:
        • 逻辑链路控制子层。
        • 媒体接入控制子层。
      • 以太网提供的是不可靠的交付,当接收到有差错的数据就丢弃。
    • 以太网信道利用率:

      • 争用期长度为2t,即端到端传播时延的两倍。检测到碰撞后不发送信号。
      • 信道利用率:a等于端到端时延与帧发送时间之比。a越小表示利用率越高。最大信道利用率为1/(1+a)。
    • MAC地址:

      • 硬件地址又称为物理地址或MAC地址。
      • 适配器从网络上每收到一个帧,就用硬件检测帧中的MAC地址。是发往本站的则首先,否则丢弃。
      • 发往本站的三种帧:单播(一对一)、广播(一对全体)、多播(一对多)。
    • 以太网帧格式:

      • 最常用的是以太网V2的格式。
      • 目的地址 - 源地址 - 类型 - 数据 - 帧校验序列。
      • 帧之间最小间隔为9.6微秒。

    • 扩展以太网:

      • 在数据链路层扩展:网桥。一定程度上隔绝了冲突,但是效率降低。
      • 交换机:网桥中每个接口接的不是一个碰撞域,而是一台计算机。每两个计算机都可以同时通信,没有碰撞。
    • 生成树算法:

      • 透明网桥使用,为了避免产生转发的帧在网络中不停兜圈子。
      • 对于生成树,整个连通域中不存在回路,即任何两个站之间只有一条路径。
    • 虚拟局域网:

      • LAN:一个局域网。
      • VLAN:虚拟局域网,按虚拟网段划分局域网。
    • 高速以太网:

      • 可在全双工方式下工作而无冲突发生。
      • 不使用CSMA/CD协议。帧格式不变。
      • 帧间隔缩短为0.96微秒。

    iwehdio的博客园:https://www.cnblogs.com/iwehdio/
  • 相关阅读:
    MyBatis入门基础
    复制复杂链表
    二叉树中和为某一值的所有路径
    树的层次遍历
    Statement, PreparedStatement和CallableStatement的区别
    JSP有哪些动作?
    latex 输入矩阵
    Struts简单入门实例
    在Eclipse里面配置Struts2
    Windows使用Github
  • 原文地址:https://www.cnblogs.com/iwehdio/p/13263608.html
Copyright © 2011-2022 走看看