IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络原理-第五章:数据链路层与局域网 -> 正文阅读

[网络协议]计算机网络原理-第五章:数据链路层与局域网

1 数据链路层服务

? 结点: 从数据链路层来看,无论是主机还是路由器等网络设备都可以统称为结点。

? 链路: 通信链路连接的相邻结点的通信信道。

? 帧: 数据链路层传输的数据单元称为帧。帧的构成示意图如下:

在这里插入图片描述

? 主要功能包括:

组帧:将要传输的数据封装成帧,称为组帧或成帧。

链路接入:物理链路分为点对点链路广播链路两大类。在点对点链路中,发送结点和接收结点独占通信链路;在广播链路中,通信链路被多个结点共享。

可靠交付:在相邻结点间数据链路实现数据报的可靠传输。可靠数据传输的数据链路层协议多用于高出错率的链路。

差错控制:为了确保出现差错的帧不再被处理和继续传输,需要采用差错控制措施来处理该帧。


2 差错控制

2.1 差错控制的基本方式

? 典型的差错控制方式有以下 4 种基本方式:

检错重发

发送端对数据进行差错编码,接收端利用差错编码检测数据是否出错,对于出错的数据,接收端请求发送端重发数据加以纠正,直到接收端收到正确数据为止。

前向纠错

发送端对数据进行纠错编码,接收端利用纠错编码进行差错检测,对于发生错误的帧直接进行纠错(接收端)

反馈校验

接收端将收到的数据原封不动发回发送端,发送端通过比对接收端反馈的数据与发送的数据可以确认接收端是否正确接收了已发送的数据。如果发送端发现数据不一致,则重发数据。

检错丢弃

对于出错的数据,不进行纠正,而是直接丢弃错误数据


2.2 差错编码的基本原理

? 差错编码的基本原理:

在待传输数据信息的基础上,附加一定的冗余信息,该冗余信息建立起数据信息的某种关联关系,将数据信息以及附加的冗余信息一同发送到接收端,接收端可以检测冗余信息表征的数据信息的关联关系是否存在,如果存在则没有错误,否则就有错误。

? 差错编码进行差错检测的原理可以概括为下图所示过程:

在这里插入图片描述


2.3 差错编码的检错与纠错能力

? 两个码子的汉明距离: 两个等长码字之间,对应位不同的位数,称为两个码子的汉明距离。

例子:求码子 01100101 与码子 10011101 之间的汉明距离。

在这里插入图片描述
上面图中,两个码子之间位数不同的地方有5处(带有 * 号的位置),所以它们之间的汉明距离为 5。

? 编码集的汉明距离: 编码集中任意两个码子之间汉明距离的最小值,称为编码集的汉明距离。

例子:求编码集 {01100101, 10011101, 10110100} 的汉明距离。

在这里插入图片描述
上面图中,此编码集的任意两个码子的汉明距离分别为 3,4,5,取最小值为该编码集的汉明距离,所以该编码集的汉明距离为 3。


差错编码的检错或纠错能力跟该差错编码的编码集的汉明距离有关。

1?? 对于检错编码,如果编码集的汉明距离 d(s) = r + 1,则该差错编码可以检测 r 位的差错。

2?? 对于纠错编码,如果编码集的汉明距离 d(s) = 2r + 1,则该差错编码可以纠正 r 位的差错


2.4 典型的差错编码

2.4.1 奇偶校验码

? 奇校验码: 在奇校验码编码过程中,1 位冗余位的取值为 “0” 或 “1”,使得编码后的码子中 “1” 的个数为奇数。

例子:对于数据 10110111,采用奇校验码编码后的码子为 101101111

? 偶校验码: 在偶校验码编码过程中,1 位冗余位的取值为 “0” 或 “1”,使得编码后的码子中 “1” 的个数为偶数。

例子:对于数据 10110111,采用偶校验码编码后的码子为 101101110

? 总结: 对于采用奇偶校验的码字,如果在传输过程中有奇数位发生错误,那么奇偶校验码可以检测出错误的发生,但是如果有偶数位发生错误,则无法被检测出来。


2.4.2 汉明码


2.4.3 循环冗余码(CRC)


3 多路访问控制协议

数据链路层使用的信道主要有两种类型:点对点信道广播信道

点对点信道使用一对一的通信方式,信道被通信双方独享。

广播信道使用一对多的广播通信方式,广播信道上连接的结点很多,信道被所有结点共享,必须使用多路访问控制协议(MAC)来协调结点的数据发送。

MAC 协议分为以下 3 种:

1?? 信道划分 MAC 协议

2?? 随机访问 MAC 协议

3?? 受控接入 MAC 协议


3.1 信道划分 MAC 协议

MAC 协议的根本任务是解决信道的共享问题,避免多结点通信时的相互干扰。

3.1.1 频分多路复用(FDM)

在频域内将信道带宽划分为多个子信道。

? 原理图:

在这里插入图片描述


3.1.2 时分多路复用(TDM)

将通信信道的传输信号在时域内划分为多个等长的时隙,每路信号占用不同的时隙,在时域上互不重叠,使多路信号合用单一的通信信道。

? 原理图:
在这里插入图片描述


3.1.3 波分多路复用(WDM)

在一根光纤中,传输多路不同波长的光信号。其实本质是一种频分多路复用。

? 原理图:
在这里插入图片描述


3.1.4 码分多路复用(CDM)

从编码域进行划分,使得编码后的信号在同一信道中混合传输。


3.2 随机访问 MAC 协议

随机访问 MAC 协议就是所有用户随机地向信道上发送信息,如果没有产生冲突,则该用户信息发送成功,如果发生冲突或碰撞,导致信息发送失败,每个用户随机退让一段时间后,再次尝试,直至成功。

3.2.1 ALOHA 协议

? 纯 ALOHA: 直接发送 → 信道侦听 → 冲突重发

? 时隙 ALOHA: 时隙开始时发送 → 信道侦听 → 冲突则下一时隙以概率 P 重发


3.2.2 载波监听多路访问协议

? 非坚持 CSMA: 忙则等待随机时间后再监听

? 1-坚持 CSMA: 忙则持续侦听

? P-坚持CSMA: 闲则概率 P 在最近时隙发送


3.2.3 带冲突检测的载波监听多路访问协议(CSMA/CD)

监听空闲后发送,发送时检测碰撞,碰撞后等待重发。


3.3 受控接入 MAC 协议

受控接入的特点是各个用户不能随意接入信道而必须服从一定的控制,又可分为集中式控制分散式控制


3.3.1 集中式控制

由一个主机负责调度其他通信站接入信道,从而避免冲突。

主要方法是轮询技术,又分为轮叫轮询传递轮询

? 轮叫轮询:

主机按顺序从站 1 开始逐个轮询,站 1 如有数据即可发送给主机,站 1 如无数据,则发送控制帧个主机,表示无数据可发;然后主机轮询站 2,在询问完站 N 后,又重复询问站 1。


? 传递轮询:

主机先向站 N 发出轮询帧,站 N 在发送数据后或在告诉主机没有数据发送时,将发送权转移到站 N-1;如此下去,当站 1 发完数据时,将发送权重新发送到主机,此时一个循环就结束了,即刻开始下一个循环。


3.3.2 分散式控制

虽然集中式控制的好处是可以确保每个通信站最终都能获得对信道的使用权,但缺点也显而易见,即一旦主机出现问题,那么整个网络就陷入瘫痪,因此,在现代网络中更倾向于采用随机接入或分散式控制方法。

比较典型的分散式控制方法是令牌技术。

? 令牌环的主要操作过程如下:

  1. 网络空闲时,只有一个令牌在环路上绕行。
  2. 当一个站点需要发送数据时,必须等待并获得一个令牌,将令牌的标志位置设置为1,即可发送数据。
  3. 环路中的每个站点转发数据,边检查数据帧中的目的地址,若为本站点的地址,便读取其中所携带的数据。
  4. 数据帧环绕一周返回时,发送站将其从环路上撤销。
  5. 发送站点完成数据发送后,重新产生一个令牌传至下一个站点,以使其他站点获得发送数据帧的许可权。

4 局域网

局域网(LAN)特点是覆盖面积较小,网络传输速率高,传输误码率低。局域网拓扑类型主要包括星型网络、总线型网络、环形网络等。

数据链路层拆分为逻辑链路控制(LLC)子层和介质访问控制(MAC)子层。


4.1 数据链路层寻址与ARP

? MAC 地址:

主机或路由器它们的适配器(网络接口卡)的地址,称为 MAC 地址、物理地址。

具有多个网络接口的主机或路由器将具有多个 MAC 地址,且全球唯一,长度为 48 位。

如果适配器接收到的帧的目的 MAC 地址与自己的 MAC 地址匹配,或者目的 MAC 地址为 FF-FF-FF-FF-FF-FF(广播地址),则接收并处理该帧,否则丢弃该帧。


? 地址解析协议(ARP):

地址解析协议(ARP),用于根据本网内目的主机或默认网关的 IP 地址获取其 MAC 地址。

ARP 的基本思想:在每一台主机中设置专用内存区域,称为 ARP 高速缓存(也称为 ARP 表),用于存储该主机所在局域网中其他主机和路由器(即默认网关)的 IP 地址与 MAC 地址的映射关系。ARP 通过广播ARP 查询报文,来询问某目的 IP 地址对应的 MAC 地址。

关于 ARP 有两点需要注意:

  1. ARP 查询分组是通过一个广播帧发送的,而 ARP 响应分组是通过一个标准的单播帧发送的。
  2. ARP 是即插即用的,也就是说,一个 ARP 表示自动建立的。

? ARP 与 DNS 区别:

解析内容方面:DNS 将主机域名解析为对应的 IP 地址;而 ARP 将 IP 地址解析为对应的 MAC 地址。
解析范围方面:DNS 可以解析 Internet 内任何位置的主机域名;而 ARP 只为在同一个子网上的主机和路由器接口解析 IP 地址。
实现机制方面:DNS 是一个分布式数据库,DNS 的解析需要在层次结构的 DNS 服务器之间进行查询;而 ARP 通过在局域网内广播 ARP 查询,维护 ARP 表,获取同一子网内主机或路由器接口的 IP 地址与 MAC 地址映射关系。


4.2 以太网

以 IEEE802.3 标准规定的一种网络,称为以太网。

最重要的有线局域网要技术是以太网,采用的是总线型。

以太网采用了 CSMA/CD 访问控制方法。


? 以太网技术:

1?? 传统以太网技术:

10Base-5:表示数据传输率为 10Mbit/s,采用基带传输的方法,单段的电缆的最大传输距离为 500 米,使用的是同轴电缆。

10Base-T:表示数据传输率为 10Mbit/s,采用基带传输的方法,单段的电缆的最大传输距离为 100 米,使用的传输介质是非屏蔽的双绞线(UTP)。

2?? 快速以太网技术:

100Base-TX:表示数据传输率为 100Mbit/s,采用基带传输的方法,使用的传输介质是两对 5 类 UTP。

100Base-T4:表示数据传输率为 100Mbit/s,采用基带传输的方法,使用的传输介质是四对 3、4或5 类 UTP。

100Base-FX:表示数据传输率为 10Mbit/s,采用基带传输的方法,使用的传输介质是光纤。

3?? 千兆位以太网:

4?? 万兆位以太网:


4.3 交换机

? 交换机转发和过滤:

可以依据接收到的链路层帧的目的 MAC 地址,选择性地转发到相应的端口。

以目的 MAC 地址为主键,查找交换表。


? 交换机的自学习:

交换机通过自学习构建交换表


? 交换机的优点:

  • 消除冲突,提高性能;
  • 支持异质链路;
  • 易于进行网络管理;

4.4 虚拟局域网

一种基于交换机(支持 VLAN 功能)的逻辑分割广播域的局域网应用形式。

  1. 不受物理位置的限制,以软件的方式划分和管理局域网中的工作组

  2. 能够抑制广播风暴

  3. 划分方法:

    • 基于交换机端口
    • 基于 MAC 地址
    • 基于上层协议类型或地址

5 点对点链路协议

5.1 PPP

能够处理差错检测、支持多种上层协议、允许连接时协商 IP 地址、允许省份认证。

典型应用:拨号上网

功能:

  • 成帧
  • 链路控制协议 LCP
  • 网络控制协议 NCP

5.2 HDLC 协议

PPP 只工作于具有单个发送方和单个接收方的点对点链路中,而 HDLC 协议可应用于点对点链路和点对多链路。

帧定界:

帧的定界符是 01111110


? HDLC 有 3 种类型的帧:

  • 信息帧(I 格式)
  • 管理帧(S 格式)
  • 无序号帧(U 格式)

? 位填充:

发送端:只要发现数据字段5个连续的1,就立即插入一个 0,保证数据子弹不会出现连续的6个1;

接收端:发现数据流中5个连续的1,就删除其后的0,还原成原来的信息。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:35:11  更:2021-10-06 12:35:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/29 8:24:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码