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

目录

数据链路层概述

主要功能

封装成帧

透明传输

差错检测

冗余码

差错控制

检错编码

纠错编码

奇偶效验法

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都是一个单独的广播域,减少了不必要的广播流量。
  • 更灵活的网络管理:可以根据逻辑分组进行网络划分,而不受物理位置的限制。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Weblogic Server工具WLST的使用

1.Weblogic脚本工具WLST介绍 可以用命令行来操作 Weblogic scripting tools 2.Weblogic WLST三种工作模式 2.1 wlst.sh tips:weblogic的T3 协议与HTTP/HTTPS 协议 操作如下:wlst在 common目录下 weblogic14c/wlserver/common/bin/ [weblogicfysedu32 weblogic]$…

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!😎 前言🙌【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!查看自己的配置文件:最终成功访问如图所示: 总结撒花…

C# SQLite基础工具类

目录 1、安装System.Data.SQLite工具包 2、创建数据库 3、数据库的连接与断开 4、执行一条SQL语句 5、批量执行sql语句 6、返回首行首列值 7、执行sql语句返回datatable 1、安装System.Data.SQLite工具包 2、创建数据库 /// <summary> /// 数据库路径 …

深度学习模型压缩方法:知识蒸馏方法总结

本文将介绍深度学习模型压缩方法中的知识蒸馏,内容从知识蒸馏简介、知识的种类、蒸馏机制、师生网络结构、蒸馏算法以及蒸馏方法等六部部分展开。 一、知识蒸馏简介 知识蒸馏是指用教师模型来指导学生模型训练,通过蒸馏的方式让学生模型学习到教师模型的知识。在模型压缩中,…

在RT-Thread中使用SystemView进行调试分析

一、SystemView SystemView is a toolkit for visual analysis of any embedded system. SystemView gives complete insight into an application, to gain a deep understanding of the runtime behavior, going far beyond what a debugger is offering. This is particula…

VUE实现购物商城网站前端源码

文章目录 1.设计来源1.1 登录注册页面1.2 主界面1.3 列表界面1.4 详细界面1.5 购物车界面 2.源码2.1源码目录结构2.2源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/135054910 VUE实现购物商城网站前端源码&…

thinkphp的生命周期

1.入口文件 index.php 用户通过入口文件&#xff0c;发起服务请求&#xff0c;是整个应用的入口与七点 定义常量&#xff0c;加载引导文件&#xff0c;不要放任何业务处理代码 2.引导文件 start.php; 加载常量->加载环境变量->注册自动加载->注册错误与异常->加…

在modelsim中查看断言

方法一&#xff1a;单纯的modelsim环境 &#xff08;1&#xff09;编译verilog代码时按照system verilog进行编译 vlog -sv abc.v 或者使用通配符编译所有的.v或者.sv文件 &#xff08; vlog -sv *.sv *.v&#xff09; &#xff08;2&#xff09;仿真命令加一个-assert…

手把手教你制作微信图书小程序商城

随着微信小程序的普及和发展&#xff0c;越来越多的商家开始意识到微信小程序的商机。微信小程序商城成为了各行各业商家们开展线上业务的首选。那么&#xff0c;如何制作一款自己的微信图书小程序商城呢&#xff1f;下面就手把手教你一步步完成。 第一步&#xff0c;登录乔拓云…

前端路由模式

文章目录 一、hash 模式Hash 模式的特点window.onhashchange 事件 二、history 模式history APIwindow.onpopstate 事件解决history模式下页面刷新404问题 如何选择合适的路由模式 一、hash 模式 hash 模式是一种把前端路由的路径用 # 拼接在真实 url 后面的模式&#xff0c;通…

CentOS 7 制作openssh 9.6 rpm包更新修复安全漏洞 —— 筑梦之路

2023年12月18日 openssh 发布新版9.6p1&#xff0c;详细内容阅读OpenSSH: Release Notes 背景说明 之前也写过多篇制作openssh rpm包的文章&#xff0c;为何要重新来写一篇制作openssh 9.6版本的&#xff1f; openssh 9.6 rpm包制作和之前存在区别&#xff0c;对于CentOS 7来…

贝叶斯判别

参考文献&#xff1a; 6 判别分析 | 多元统计分析示例https://www.cnblogs.com/qizhou/p/13495598.html 一、问题描述 贝叶斯判别的本质是一类分类问题&#xff1a;基于若干采样样本&#xff0c;如何学习一个分类器对新样本数据进行分类并保证分类错误的概率最小。 假设 一…

java并发编程五 ReentrantLock,锁的活跃性

多把锁 一间大屋子有两个功能&#xff1a;睡觉、学习&#xff0c;互不相干。 现在小南要学习&#xff0c;小女要睡觉&#xff0c;但如果只用一间屋子&#xff08;一个对象锁&#xff09;的话&#xff0c;那么并发度很低 解决方法是准备多个房间&#xff08;多个对象锁&#xf…

Windows 11 系统下JDK17的下载与配置

一般地&#xff0c;在做Java项目的时候&#xff0c;我一般喜欢用 Idea 软件来写代码&#xff0c;idea是代码编辑器&#xff0c;JDK是用来翻译写好的代码&#xff0c;两者缺一不可&#xff01;&#xff01;&#xff01; 下面我就来讲一下如何进行JDK17的下载与配置 JDK17的下载…

鸿蒙ArkTS语言介绍与TS基础语法

1、ArkTS介绍 ArkTS是HarmonyOS主力应用开发语言&#xff0c;它在TS基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等响应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨端应用。 JS 是一种属于网络的高级脚本语言&#xff0c;已经被广泛用…

联盟 | Shoplazza X HelpLook,AI技术助推商业效能增长

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;其在各个领域的影响力日益增强。特别是近几年&#xff0c;无论是独立站还是电商平台&#xff0c;都在积极探索利用AI来分析数据以及提升运营效率的方式。 在这场AI技术的浪潮中&#xff0c;Shoplazza 与 Hel…

Jmeter关联操作

1.首先右键添加一个线程选择线程组,命名为线程组-1&#xff0c;添加取样器选择HTTP请求--城市天气 2.线程组-1右键&#xff0c;添加取样器选择后置处理器中的JSON提取器 3.线程组-1右键,添加取样器选择后置处理器中的BeanShell 后置处理程序(必须平级) 4.首先右键添加一个线程选…

JVM启动流程(JDK8)

JVM启动流程(JDK8) JVM的启动入口是位于jdk/src/share/bin/java.c的JLI_Launch函数,其定义如下: int JLI_Launch(int argc, char ** argv, /* main argc, argc */int jargc, const char** jargv, /* java args */int appclassc, const char** appclass…

贵金属入门知识有哪些?

贵金属作为国际知名的理财产品之一&#xff0c;市场人气居高不下&#xff0c;当前由于社会上的不确定分享增加&#xff0c;出于保值避险需求的推动&#xff0c;贵金属迎来了新一波发展高峰。对于刚刚接触贵金属市场的交易者来说&#xff0c;了解贵金属入门知识&#xff0c;做好…

安卓开发学习---kotlin版---笔记(三)

网络 安卓主页的网络框架&#xff1a;OkHttp 在OkHttp的基础上进行封装的&#xff1a;Retrofit框架&#xff0c;更常使用 OkHttp学习 在使用网络请求的时候&#xff0c;先添加网络访问权限&#xff1a; <uses-permission android:name"android.permission.INTERNET&…