[计网02] 数据链路层 笔记 总结 详解

news2024/12/28 22:55:13

目录

数据链路层概述

主要功能

封装成帧

透明传输

差错检测

冗余码

差错控制

检错编码

纠错编码

奇偶效验法

CRC循环冗余码

静态分配信道

频分多路复用FDM

时分多路复用TDM

波分多路复用WDM

码分多路复用CDM

随机访问介质的访问控制

ALOHA

CSMA

CSMA/CD

CSMA/CA

局域网的基本概念和体系结构

基本概念:

体系结构:

以太网

基本概念:

无线局域网

基本概念:

VLAN基本概念和原理

基本概念:

原理:

操作模式:

实现机制:

优点:


数据链路层概述

结点:
主机、路由器

链路:
网络中两个结点之间的物理通道,链路的传输介质主要有双绞线
光纤和微波。分为有线链路、无线链路。

数据链路:
网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。 就是物理网络

主要功能

  1. 帧封装与解封装:数据链路层将网络层传递的数据报封装成数据帧,添加帧头和帧尾等控制信息。在接收端,数据链路层根据帧的控制信息解封装数据报。

  2. 物理寻址:数据链路层使用物理地址(MAC地址)来标识网络中的节点。每个网络接口都有唯一的MAC地址,用于在局域网中进行节点之间的寻址。

  3. 媒体访问控制(MAC):当多个节点共享同一物理介质时,数据链路层负责调度和控制节点之间的访问。它定义了不同的访问控制协议,如以太网中的CSMA/CD(载波监听多路访问/碰撞检测)。

  4. 帧同步:数据链路层通过在帧中引入同步字节或特定的时钟信号来保持发送方和接收方的同步,确保数据的准确传输。

  5. 差错检测与纠正:数据链路层使用差错检测技术,如循环冗余检验(CRC),来检测并纠正数据传输过程中可能引入的比特错误。

  6. 流量控制与序列号:数据链路层通过流量控制机制,例如滑动窗口协议,确保发送方和接收方之间的数据传输速度匹配,并通过序列号机制对数据帧进行排序和重组。

  7. 为网络层提供服务: 无确认无连接服务,有确认无连接服务,有确认面向连接服务。有连接一定有确认!

封装成帧

封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束

首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法:


1.字符计数法,2字符(节)填充法,3.零比特填充法,4.违规编码法。

透明传输

透明传输是指不管所传数据是什么样的比特组合,
都应当能够在链路上传送。

因此,链路层就“看不见”有什么妨碍数据传输的东西。

当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误,认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

字符填充法

比如键盘和传输的帧,键盘上的每一个字符对于一个固定的值,所以采用字符填充法,不会产生误判信息

差错检测

冗余码

冗余码(Redundancy Code)是一种在数据传输或存储过程中添加的冗余信息,用于检测和纠正错误。冗余码通过在原始数据中添加冗余位(冗余信息)来提供额外的校验信息,以帮助检测和纠正数据中的错误。

差错控制

差错控制(Error Control)是一种用于检测和纠正数据传输或存储中的错误的技术。它包括使用冗余码来检测并纠正传输过程中可能出现的误码,以确保数据的完整性和准确性。

检错编码

检错编码(Error Detection Code)是一种编码技术,用于检测数据传输或存储中的错误。检错编码通过在原始数据中添加冗余位,使接收端能够检测出传输过程中引入的错误。常见的检错编码包括奇偶校验、循环冗余校验(CRC)等。

纠错编码

纠错编码(Error Correction Code)是一种编码技术,用于检测和纠正数据传输或存储中的错误。与检错编码不同,纠错编码不仅可以检测错误,还可以根据冗余信息进行纠正。纠错编码通常采用更复杂的算法,可以纠正单个或多个位错误。常见的纠错编码包括海明码(Hamming Code)、RS码(Reed-Solomon Code)等。

奇偶效验法

奇偶效验法(Parity Check)是一种简单的检错编码方法。它通过在数据中添加一个奇偶位(通常为1个比特),使得数据中的1的个数为奇数或偶数。在接收端,通过检查接收到的数据中的奇偶位来检测错误。如果奇偶位与接收到的数据不匹配,则说明数据传输中发生了错误。

CRC循环冗余码

CRC(Cyclic Redundancy Check)是一种常用的循环冗余码,用于数据传输中的错误检测。CRC通过在数据中添加一组冗余位来生成校验码,接收端使用这个校验码来检测数据是否在传输过程中发生了错误。

CRC的计算过程涉及到多项式除法。发送端和接收端事先约定一个生成多项式(通常称为CRC多项式),生成多项式在计算CRC时起到关键作用。

发送端将数据帧与生成多项式进行除法运算,将余数作为校验码附加到数据帧的末尾。接收端在接收到数据帧后,使用相同的生成多项式进行除法运算,得到的余数与接收到的校验码进行比较,如果余数为零,则说明数据没有错误。如果余数不为零,则说明数据在传输过程中发生了错误。

CRC具有高效的错误检测能力,能够有效地检测出大部分错误,包括单比特错误和一些多比特错误。它广泛应用于数据通信领域,例如在计算机网络中的以太网、无线通信中的蓝牙和Wi-Fi等协议中都使用了CRC作为数据的校验方法。

不同的CRC多项式可以提供不同的检测能力,常见的CRC多项式有CRC-32、CRC-16等。选择适当的CRC多项式取决于所需的错误检测能力和数据传输环境的特点。

在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧

我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错

不是“可靠传输”
数据链路层发送端发送什么,接收端就收到什么。
链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。
因为他丢弃了余数不为0的帧

静态分配信道

信道划分介质访问控制器
多路复用是一种通信技术,它允许在同一个通信信道上同时传输多路信号。这项技术可以提高信道的使用效率,允许多个通信流同时共享同一物理介质,而不会彼此干扰。

频分多路复用FDM

频分多路复用(Frequency-Division Multiplexing)是一种将多个信号发送在一个共享的通信介质上的技术,通过将频谱分割成许多不同的频率带来实现。每个信号都被分配一个独特的频率范围(频道),这些频道通过一定的频带隔离,防止相互干扰。

  • 优点:可以同时传输多个信号,不同信号在传输过程中相互独立。
  • 缺点:每个信号需要一个独立的频带,频带的宽度限制了可以传输的信号的数量。
时分多路复用TDM

时分多路复用(Time-Division Multiplexing)涉及到将时间划分成多个时隙,每个信号轮流在一个共享的频率上发送一段时间。每个通信流在其分配的时间段内独占信道,然后传输权转移到下一个通信流。

  • 优点:通信信道的利用率高,可以动态分配时间片以适应不同的流量需求。
  • 缺点:如果信道没有充分利用,会造成带宽浪费。
波分多路复用WDM

波分多路复用(Wavelength-Division Multiplexing)是特别用于光纤通信的一种多路复用技术。它类似于频分多路复用,但这里用的是光的不同波长。WDM可以将光纤的带宽分成多个不同的波长通道,每个通道都可以携带一个信号

  • 优点:非常适合光纤通信,可以极大地增加传输容量。
  • 缺点:需要复杂的光学设备来生成、接收和分离不同波长的光。
码分多路复用CDM

码分多路复用(Code-Division Multiplexing),特别是其一种形式码分多址(Code-Division Multiple Access,CDMA),是一种多路复用技术,其中每个通信流使用一个唯一的码来调制数据。所有用户可以同时在同一频率上发送,但是由于每个用户的数据都使用不同的码序列,因此可以在接收端分离。

  • 优点:提供高度的隐私和安全性,可以在相同的频段上同时支持多个用户。
  • 缺点:系统复杂度较高,需要复杂的信号处理技术来分离编码的信号。

随机访问介质的访问控制

动态分配信道
动态媒体接入控制/多点接入特点:信道并非在用户通信时固定分配给用户。

ALOHA

它最早由夏威夷大学开发,用于在广播信道上实现多个终端设备之间的通信。

  1. 纯ALOHA:在纯ALOHA中,终端设备可以随时发送数据帧,而不需要等待其他设备完成发送。当一个设备发送数据帧后,其他设备会监听信道,如果检测到碰撞(多个设备同时发送),则等待一个随机的时间后再次尝试发送。这种随机等待的过程称为随机接入。

  2. 滑动窗口ALOHA:滑动窗口ALOHA引入了时间分槽的概念,将传输时间分为离散的时间槽。每个时间槽都对应一个数据帧的传输。终端设备只能在时间槽开始时发送数据帧,而不能随时发送。如果发生碰撞,设备会等待下一个时间槽再次尝试发送。

对比:

纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。


CSMA

载波监听多路访问协议CSMA (carrier sense multiple access)

CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。

MA: 多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络

总线网络


CSMA/CD

CD ( collision detection)碰撞检测
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。

传播时延会对载波监听产生碰撞影响需要CD碰撞检测

适用于半双工


CSMA/CA

碰撞避免(collision avoidance)
发送数据前,先检测信道是否空闲。
空闲则发出RTS(request to send),RTs包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。

接收端收到RTS后,将响应CTS (clear to send) 。

发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。

发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

适用于无线局域网


局域网的基本概念和体系结构

局域网(LAN)是一种计算机网络,覆盖的范围相对较小,通常限于一个建筑物或一组靠近的建筑物,如家庭、学校、实验室或办公楼。局域网用于连接个人计算机或工作站以共享资源(如打印机和文件服务器)和交换信息。

基本概念:
  • 网络拓扑:局域网的物理或逻辑布局。常见的物理拓扑有星形、环形、总线形等。
  • 通信协议:局域网中设备通信遵循的规则集合,如Ethernet、Wi-Fi等。
  • 带宽:网络中可用于数据传输的最大速率,通常以Mbps(兆比特每秒)或Gbps(吉比特每秒)为单位。
  • 交换机:用于连接网络设备,使数据包能够在网络内正确转发的设备。
  • 路由器:连接不同网络(如局域网和广域网)的设备,同时可以进行数据包转发和路由选择。
体系结构:

局域网通常采用以下几种体系结构:

  • 星形网络:所有节点通过单独的连接线路连接到一个中心节点(通常是网络交换机或集线器)。
  • 总线网络:所有设备共享一条主干传输媒体。
  • 环形网络:每个节点直接连接到两个邻居节点,形成一个闭环。
  • 网状网络:节点之间可以有多个连接,提高了网络的冗余性和可靠性。

以太网

以太网是一种广泛使用的局域网技术,由IEEE 802.3标准定义。它是基于帧的数据链路层通信协议,主要用于局域网中,也可以用于都市区域网(MAN)和广域网(WAN)。

基本概念:
  • 数据帧:以太网上数据的包装单元,含有源地址、目的地址和校验等信息。
  • MAC地址:媒体访问控制地址,用于网络上每个设备的唯一标识。
  • 交换机:以太网中用于连接不同设备的网络交换机,根据MAC地址转发数据帧。
  • 集线器:物理层设备,用于连接多个以太网设备,使它们成为一个网络段。

无线局域网

无线局域网(WLAN)是一种通过无线通信技术连接设备的局域网。最常见的无线局域网技术是Wi-Fi,它是基于IEEE 802.11系列标准的。

基本概念:
  • 无线接入点(AP):连接WLAN设备和有线网络的设备,充当信号的传输和接收点。
  • SSID:服务集标识符,是无线网络的名称,用于区分不同的无线网络。
  • 安全协议:如WEP、WPA、WPA2等,用于加密无线网络中的数据传输,保护网络安全。

在无线局域网中,多个无线接入点可以连接到有线网络,形成一个更广泛的覆盖区域,允许用户在不同位置移动时维持网络连接。

此外,为了增强信号覆盖和网络容量,可以部署多个接入点,形成一个无线网络覆盖网格。


VLAN基本概念和原理

VLAN(Virtual Local Area Network,虚拟局域网)是一个能够将一个物理网络中的设备分割成多个逻辑上分隔的广播域的技术。这种分割是逻辑上的,意味着它不受物理连接的限制。使用VLAN技术,网络管理员可以控制哪些端口在同一个网络中,无论这些端口物理上的位置如何。

基本概念:
  • 广播域:在一个网络中,广播帧会发送到网络上的所有设备。广播域是指能接收到特定广播的所有设备的集合。
  • VLAN ID:每个VLAN都有一个唯一的标识符,称为VLAN ID,这个ID用于区分不同的VLAN。
  • 标记(Tagging):在VLAN中,当数据帧在网络上传输时,会在帧的头部加上一个VLAN标识(通常是IEEE 802.1Q标准中定义的标签),以便在通到其他交换机或设备时能识别出它属于哪个VLAN。
  • 划分方式:VLAN可以根据不同的需求和标准来划分,例如按部门、按服务类型、按安全级别等。
原理:
  1. 隔离流量:在没有VLAN的情况下,一个交换机上的所有端口都属于同一个广播域。使用VLAN后,可以将端口分配到不同的VLAN中,每个VLAN内部的流量是隔离的,不同VLAN之间的数据不会直接传送。
  2. 传递数据:为了在不同交换机之间传递VLAN信息,使用了标记(Tagging)方法。当一个数据帧从一个交换机传到另一个交换机时,交换机会在数据帧中加入VLAN ID信息。
  3. VLAN间通信:如果需要不同VLAN之间通信,必须通过路由器或者多层交换机进行路由。这是因为VLAN之间是不同的广播域,而交换机默认不会将流量从一个广播域传送到另一个广播域。
  4. 管理简便:通过VLAN,网络管理员可以更容易地管理网络,例如增加、移动或更改VLAN成员,只需要在交换机上进行简单配置,而无需改变物理布线。
操作模式:
  • 访问链接(Access Link):只能属于一个VLAN的端口,通常连接到终端用户设备。
  • 汇聚链接(Trunk Link):可以通过802.1Q标签传输多个VLAN的端口,通常连接到其他交换机。
实现机制:
  • 静态VLAN:网络管理员手动为每个端口分配VLAN。
  • 动态VLAN:使用软件来自动分配端口到VLAN,通常基于MAC地址、用户名或其他因素。
优点:
  • 提高安全性:通过将网络分段,可以控制不同VLAN之间的访问,增强网络安全。
  • 减少广播流量:每个VLAN都是一个单独的广播域,减少了不必要的广播流量。
  • 更灵活的网络管理:可以根据逻辑分组进行网络划分,而不受物理位置的限制。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于“Python”的核心知识点整理大全30

目录 12.2.3 在 OS X 系统中安装 Pygame 12.2.4 在 Windows 系统中安装 Pygame 12.3 开始游戏项目 12.3.1 创建 Pygame 窗口以及响应用户输入 首先,我们创建一个空的Pygame窗口。使用Pygame编写的游戏的基本结构如下: alien_invasion.py 12.3.2 设…

零刻EQ12 N100 双2.5G网口 All In One新手教程

零刻EQ12 N100 双2.5G网口 All In One新手教程 前言1.硬件配置2.准备工作2.1. ESXI8.0U2镜像2.2. Rufus磁盘工具下载2.3. ikuai镜像下载2.4. StarWindConverter虚拟磁盘格式转换工具下载2.5. OpenWrt镜像下载2.6. 黑群晖RR引导镜像下载(DSM7.2)2.7. 需要准备的硬件2.8. 格式化需…

【C语言(十五)】

动态内存管理 一、为什么要有动态内存分配? 我们已经掌握的内存开辟方式有: int val 20 ; // 在栈空间上开辟四个字节 char arr[ 10 ] { 0 }; // 在栈空间上开辟 10 个字节的连续空间 但是上述的开辟空间的方式有两个特点: • 空间开辟大小是固…

vCenter HA拆分和部署

原创作者:运维工程师 谢晋 vCenter HA拆分和部署 拆分vCenter HA部署vCenter HA 拆分vCenter HA 客户vCenter HA内一台虚拟机出现故障无法连接,报错如下: 点击移除集群报错如下: 查找官方KB,按照官方KB进行移除…

货仓选址

title: 货仓选址 date: 2023-12-19 15:06:02 tags: 排序 categories: 算法进阶指南 题目大意 解题思路 将数组排序后&#xff0c;将货仓建在 x x x 坐标处&#xff0c;其左侧和右侧的商家数量相同的时候最优 实现代码 #include<bits/stdc.h>using namespace std; type…

SQL进阶理论篇(十三):数据库的查询优化器是什么?

文章目录 简介什么是查询优化器查询优化器的两种优化方式总结参考文献 简介 事务可以让数据库在增删改查的过程中&#xff0c;保证数据的正确性和安全性&#xff0c;而索引可以帮数据库提升数据的查找效率。查询优化器&#xff0c;则是帮助我们获取更高的SQL查询性能。 本节我…

FreeRTOS的heap文件

在动态创建任务的时候, 只需要提供一个任务句柄, 内存的分配, TCB的分配, 都是系统来进行的, 也是这个文件做的工作. heap文件一共有5个, 都是内存管理文件, 工程只需要一个就行, 这五个的内存分配方法都不一样. heap1: 只实现了malloc功能, 没有实现free功能.(不用) heap2: 实…

小程序使用web-view无法打开该H5页面不支持打开的解决方法

我在正式上线版小程序使用 web-view 组件测试时提示&#xff1a;“无法打开该页面&#xff0c;不支持打开 https://xxxxxx&#xff0c;请在“小程序右上角更多->反馈与投诉”中和开发者反馈。” 奇怪的是&#xff0c;“真机调试”、“开发模式”都可以使用 web-view 组件访…

【Netty】NIO与Netty核心概念

目录 NIO编程NIO介绍NIO和BIO的比较缓冲区(Buffer)基本介绍常用API缓冲区对象创建添加数据读取数据 通道(Channel)基本介绍Channel常用类ServerSocketChannelSocketChannel Selector (选择器)基本介绍常用API介绍示例代码 NIO 三大核心原理 Netty核心概念Netty 介绍原生 NIO 存…

扑克牌炸金花

1.创建类 使用权限修饰符定义所需要参数&#xff0c;使用this关键字生成方法 public class gamejinhua { private String suit;//花色 private int rank;//数字 public gamejinhua(String suit, int rank) { this.suit suit; this.rank rank; } 2.使用快捷键生成get和…

基于ssm生鲜配送系统设计及实现论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对生鲜配送信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差…

换热站数字孪生 | 图扑智慧供热 3D 可视化

换热站作为供热系统不可或缺的一部分&#xff0c;其能源消耗对城市环保至关重要。在双碳目标下&#xff0c;供热企业可通过搭建智慧供热系统&#xff0c;实现供热方式的低碳、高效、智能化&#xff0c;从而减少碳排放和能源浪费。通过应用物联网、大数据等高新技术&#xff0c;…

Java多线程技术三:锁的使用——使用ReentrantReadWriteLock类

1 概述 ReentrantLock类具有完全互斥排它的特点&#xff0c;同一时间只有一个线程在执行ReentrantLock.lock()方法后面的任务&#xff0c;这样做保证了同时写实例变量的线程安全性&#xff0c;但 效率是非常低下的。在JDK提供了一种读写锁ReentrantReadWriteLock类&#xff0c;…

Android开发中报错总结之一

在我们开发中经常会遇到报错&#xff0c;今天主要是记录一下&#xff0c;我在开发中遇到的问题&#xff1a; 问题一&#xff1a;material-1.5.0-alpha03\res\values-v31\values-v31.xml:3:5-94: AAPT: error: resource android:color/system_neutral1_1000 not found 解决方案…

基于“Galera+MariaDB”搭建多主数据库集群的实例

1、什么是多主数据库集群 多主数据库集群是一种数据库集群架构&#xff0c;每个节点都可以接收写入操作和读取操作&#xff0c;并且通过心跳机制同步数据&#xff0c;保证数据一致性和高可用性。因多主数据库集群每个节点都可以承担读写操作&#xff0c;因此它可以充分利用各个…

HarmonyOS应用开发-手写板(二)

在前一篇手写板的文章中&#xff08;HarmonyOS应用开发-手写板-CSDN博客&#xff09;&#xff0c;我们通过使用Path实现了一个基本的手写板&#xff0c;但遗憾的是&#xff0c;无法保存所绘制的图像。在本文中&#xff0c;我们将采用canvas和Path2D来重新构建手写板应用。依然只…

数据可视化---柱状图

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…

PHPStorm一站式配置

phpstorm安装好之后&#xff0c;先别急着编码。工欲善其事&#xff0c;必先利其器&#xff0c;配置好下面这些之后让编码事半功倍。 主题 Appearance & Behavior -> Appearance -> Theme 选中 [Light with Light Header] 亮色较为护眼 关闭更新 Appearance & …

在本地通过 k8s 部署一个 nginx 镜像

目标 目标:通过 deployment 启动一个 nginx,并且通过浏览器访问。 目的,熟悉并学习一下 k8s 的一些特性,毕竟看文档和实操是两码事。 本地部署 k8s 简单点,也不用 minikube 和 kubeadmin,直接通过 docker desktop 部署 k8s。 下载 docker desktop 下载完成后会自动…

Docker的安装及使用

目录 安装Docker 安装yum工具 更新本地镜像源 安装docker 启动docker 关闭防火墙 docker启动命令 配置镜像加速 docker的使用 拉取nginx 查看本地镜像 把镜像文件nginx导出成tar文件 查看是否导出成功 ​编辑 删除本地镜像nginx:latest 导入镜像文件nginx 拉取…