0205-2-数据链路层

第 3 章 数据链路层

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

数据链路和帧

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

三个基本问题

  • (1) 封装成帧
    • 将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
      *
  • (2) 透明传输
    • 透明表示一个实际存在的事物看起来好像不存在一样。
    • 帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
      *
  • (3) 差错控制
    • 循环冗余检验 CRC
      目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。

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

    • 冗余码的计算

      • 例子:
        现在 k = 6, M = 101001。
        设 n = 3, 除数 P = 1101,
        被除数是 2^nM = 101001000。
        模 2 运算的结果是:商 Q = 110101,
        余数 R = 001。
        把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2^nM + R
        即:101001001,共 (k + n) 位。
    • 概要: CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
      FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

点对点协议 PPP

PPP 协议的特点

  • 互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议。

PPP 协议的帧格式

  • 示意图:
    F 字段为帧的定界符
    A 和 C 字段暂时没有意义
    FCS 字段是使用 CRC 的检验序列
    信息部分的长度不超过 1500

PPP 协议的工作状态

  • 过程:
    当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
    PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
    这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
    通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

使用广播信道的数据链路层

局域网的数据链路层

  • 局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。
  • 主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域网市场。
  • 可以按照网络拓扑结构对局域网进行分类:
    • 星形网
    • 环形网
    • 总线网
    • 树形网
  • 数据链路层的两个子层
    • 逻辑链路控制 LLC (Logical Link Control)子层
    • 媒体接入控制 MAC (Medium Access Control)子层。
    • 概要: 与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的
      所以以后一般不考虑 LLC 子层
  • 适配器
    • 网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。
      • 适配器的重要功能:
        • 进行串行/并行转换。
        • 对数据进行缓存。
        • 在计算机的操作系统安装设备驱动程序。
        • 实现以太网协议。

CSMA/CD 协议

  • CSMA/CD 表示载波监听多点接入 / 碰撞检测。
    • 多点接入 :说明这是总线型网络,许多主机以多点的方式连接到总线上。
    • 载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
    • 碰撞检测 :在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。
  • 具体内容
    • 记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期 。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
    • 当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 {0, 1, …, (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。
    • 概要: 示意图

使用广播信道的以太网

使用集线器的星形拓扑

  • 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。
    这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)

以太网的信道利用率

  • 一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ 使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。
  • 发送一帧占用线路的时间是 T0 + τ ,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax为:

以太网的 MAC 层

  • MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。
  • 一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。

以太网帧格式:

  • 类型 :标记上层使用的协议;
    数据 :长度在 46-1500 之间,如果太小则需要填充;
    FCS :帧检验序列,使用的是 CRC 检验方法;

扩展的以太网

在物理层扩展以太网

  • 用多个集线器可连成更大的局域网
    • 用集线器组成更大的局域网都在一个碰撞域中
      • 优点
        • 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
        • 扩大了局域网覆盖的地理范围。
      • 缺点
        • 碰撞域增大了,但总的吞吐量并未提高。
        • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

在数据链路层扩展以太网

  • 在数据链路层扩展局域网是使用网桥。
    • 网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。
      网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口 。
      • 优点
        • 过滤通信量。
        • 扩大了物理范围。
        • 提高了可靠性。
        • 可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网。
      • 缺点
        • 存储转发增加了时延。
        • 在MAC 子层并没有流量控制功能。
        • 具有不同 MAC 子层的网段桥接在一起时时延更大。
        • 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。
    • 交换机
      • 交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。
        正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。
        • 下图中,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B,先查交换表,此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧,主机 B 回应该帧向主机 A 发送数据包时,交换机查找交换表得到主机 A 映射的接口为 1,就发送数据帧到接口 1,同时交换机添加主机 B 到接口 2 的映射。

虚拟局域网

  • 虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息。
  • 例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网,A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。
  • 使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机。IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网。

高速以太网

100BASE-T 以太网

  • 速率达到或超过 100 Mb/s 的以太网称为高速以太网
  • 可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。

吉比特以太网

  • 允许在 1 Gb/s 下全双工和半双工两种方式工作。
  • 在半双工方式下使用 CSMA/CD 协议(全双工方式不需要使用 CSMA/CD 协议)。

10 吉比特以太网

  • 10 吉比特以太网只工作在全双工方式
  • 也不使用 CSMA/CD 协议。

使用高速以太网进行宽带接入

  • 以太网接入的重要特点是它可提供双向的宽带通信,并且可根据用户对带宽的需求灵活地进行带宽升级。
  • 采用以太网接入可实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率和降低了传输的成本。

其他类型的高速局域网接口

集线器在转发帧时,不对传输媒体进行检测。

网桥在转发帧之前必须执行 CSMA/CD 算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/476027.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣 第 124 场双周赛 解题报告 | 珂学家 | 非常规区间合并

前言 整体评价 T4的dp解法没想到,走了一条"不归路", 这个区间合并解很特殊,它是带状态的,而且最终的正解也是基于WA的case,慢慢理清的。 真心不容易,太难了。 T1. 相同分数的最大操作数目 I 思路: 模拟 c…

代码提交commit规范工具

一、idea工具 1.1安装 下载插件,以下是插件名 git commit message helper 安装后重启idea。 1.2使用 第一步: 根据代码提交的不同情况,选择不同的类型 feat表示:新增特性 fix表示:修复bug 等等。。。。 1.3效果…

HTTP请求报文与响应报文格式

HTTP请求报文与响应报文格式 HTTP请求报文与响应报文格式 请求报文包含四部分: a、请求行:包含请求方法、URI、HTTP版本信息b、请求首部字段c、请求内容实体d、空行 响应报文包含四部分: a、状态行:包含HTTP版本、状态码、状态码…

IO进程线程作业day1

1> 使用fgets统计给定文件的行数 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <unistd.h> int main(int argc, const char *argv[]) {//判断外部输入文件名是否规范if(argc!2){printf("in…

语义分割-基础知识

1.cls_iou计算: cls0_iou预测正确的像素个数/&#xff08;预测为该类别的像素个数真实标签为该类别的像素个数-预测正确的像素个数&#xff09; mean_iou各个类别的像素预测准确值相加/像素总个数2.转置卷积(Transposed Convolution) 转置卷积不是卷积的逆运算 转置卷积也是卷…

通过写代码学习AWS DynamoDB (3)- 一致性hash

简介 在本文中&#xff0c;我们将简单介绍一致性hash&#xff08;consistent hash&#xff09;的概念&#xff0c;以及一致性hash可以解决的问题。然后我们将在模拟的DDB实现中实现一个简单版本的基于一致性harsh实现的partition。 问题 在《通过写代码学习AWS DynamoDB &am…

2024免费人像摄影后期处理工具Portraiture4.1

Portraiture作为一款智能磨皮插件&#xff0c;确实为Photoshop和Lightroom用户带来了极大的便利。通过其先进的人工智能算法&#xff0c;它能够自动识别并处理照片中的人物皮肤、头发和眉毛等部位&#xff0c;实现一键式的磨皮美化效果&#xff0c;极大地简化了后期处理的过程。…

三防平板和普通平板的区别?

①、三防平板和普通平板的主要区别在于其具有更强的耐久性和防护性能。"三防" 是指防水、防尘和防摔&#xff0c;这意味着三防平板能够在恶劣的环境中使用&#xff0c;例如户外、工厂和野外等地方。 三防平板和普通平板的一些区别主要有以下几点&#xff1a; 防水性…

2024年重磅消息:来自OpenAI发布的视频生成模型Sora

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

huggingface库LocalTokenNotFoundError:需要提供token

今天刚开始学习huggingface&#xff0c;跑示例的时候出了不少错&#xff0c;在此记录一下&#xff1a; (gpu) F:\transformer\transformers\examples\pytorch\image-classification>.\run.bat Traceback (most recent call last):File "F:\transformer\transformers\e…

使用RegNet替换YOLOX中原始的Backbone

使用mmdetection 中的RegNet bcakbones替换YOLOX中原始的Backbone 将mmdet/models/backbones/regnet.py中相关的代码复制到YOLOX中&#xff0c;并进行适配 注意通道数要适配 in_channels [64, 160, 384] &#xff0c;可以通过调试后&#xff0c;先运行到后后端输出结果出&a…

删除链表的倒数第N个节点

删除链表的倒数第N个节点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 进阶&#xff1a;你能尝试使用一趟扫描实现吗&#xff1f; 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例…