计算机网络(三)数据链路层

数据链路层

基本概念

数据链路层功能

在物理层提供服务的基础上向网络层提供服务,主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改在为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路

为网络层提供服务

  1. 无确认的无连接服务: 源机器发送数据帧时不需要线建立链路连接,目的机器收到数据帧时不需发回确认。对丢失的帧,数据链路不负责重发而交给上层处理。适用于实时通信或误码率较低的通信信道
  2. 有确认的无连接服务:源机器发送数据帧时不需要建立链路连接,但目的机器收到数据帧时必须发回确认。源机器在所规定的时间内收到确定信号时,就重传丢失的帧,以提高传输的可靠性
  3. 有确认的面向连接服务:帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据

帧定界

两个工作站之间传输时,必须将网络层的分组封装成帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了

首部和尾部中含有很多控制信息,它们的一个重要作用时确定帧的界限,即为帧定界

信道划分介质访问控制:

一种在数据链路层用于控制多个设备如何共享单个通信信道的协议。它的主要目的是通过划分信道资源,使得多个设备能够有序、高效且公平地访问通信介质,从而减少或避免数据冲突和碰撞

在这里插入图片描述

频分多路复用:

在这种技术中,通信信道被划分为多个频率不同的子信道,每个子信道分配给一个设备或一个通信会话。这样,不同的设备可以在不同的频率上同时传输数据,而不会相互干扰

时分多路复用:

时分多路复用将通信信道的时间划分为固定长度的时隙,每个设备在分配给它的时隙中发送数据。这种方法确保了每个设备都有平等的机会访问信道

码分多路复用:

码分多路复用通过为每个设备分配一个唯一的码片序列来实现多路访问。每个设备使用其码片序列对数据进行编码,这样多个设备可以在同一时间、同一频率上发送数据,而接收方能够使用相应的码片序列来分离出原始数据

局域网

局域网(Local Area Network,简称LAN)是一种在一个较小的地理范围内(如家庭、办公室、学校或工厂等)将计算机和其他网络设备连接在一起,以便它们可以相互通信和共享资源的计算机网络。局域网通常使用有线或无线技术进行连接,常见的有线技术包括以太网(Ethernet)、光纤分布式数据接口(Fiber Distributed Data Interface,简称FDDI)等,而无线技术则包括Wi-Fi(基于IEEE 802.11标准)等

局域网特点

  1. 覆盖范围有限:局域网的覆盖范围通常局限在几米到几公里之内。
  2. 高数据传输速率:局域网内部的数据传输速率通常很高,可以达到1 Gbps、10 Gbps甚至更高。
  3. 低延迟:由于网络范围较小,数据在网络内部的传输延迟较低。
  4. 高可靠性:局域网通常采用专用媒介,如电缆或无线频谱,因此网络的可靠性较高。
  5. 易于管理和维护:局域网的管理和维护相对简单,因为它们通常由单一组织或个人控制。
  6. 安全性:局域网可以通过防火墙、入侵检测系统和其他安全措施来保护内部数据不受外部威胁

拓扑结构

局域网的拓扑结构描述了网络设备(如计算机、交换机、路由器等)的物理或逻辑布局

传输介质

局域网可以使用多种传输介质来传输数据,通常为双绞线,同轴电缆,光纤,无线电波

介质访问控制

介质访问控制(MAC)方法决定了设备如何访问传输介质

  1. 载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection, CSMA/CD): 以太网使用的一种协议,设备在发送数据前先检测介质是否空闲,如果检测到碰撞,则停止发送并等待一段随机时间后重试
  2. 载波侦听多路访问/碰撞避免(Carrier Sense Multiple Access with Collision Avoidance, CSMA/CA): 通常用于无线网络,设备在发送数据前先发送一个请求发送(RTS)帧,以避免碰撞
  3. 令牌传递(Token Passing): 网络中有一个特殊的令牌在设备之间传递,只有持有令牌的设备才能发送数据

以太网

以太网(Ethernet)是一种广泛使用的局域网技术,它支持多种传输介质和网卡(网络接口卡)类型

网卡(网络接口卡)

计算机与外界局域网的连接时通过主机箱内插入的一块网络接口板(Adapter,Network Interface Card)实现的。网卡上装有处理器和存储器,时工作子啊数据链路层的网络组件。

网卡是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码及数据缓存功能

全世界的每块网卡在出厂时都有一个唯一的代码,成为访问控制(MAC)地址,这个地址用于控制主机在网络上的数据通信。数据链路层设备(网桥、交换机等)都使用各个网卡的MAC地址

以太网的MAC帧

在这里插入图片描述

帧头:

  1. 前导码(Preamble):由64位(8字节)的10101010…101010比特序列组成,用于同步接收方的时钟
  2. 帧开始定界符(Start Frame Delimiter, SFD):由8位的10101011组成,标志帧的开始。
    目的地址(Destination Address):6字节,指定帧的接收者。这可以是单个设备的MAC地址,或者是一个多播地址(前24位为01)或广播地址(全为1)
  3. 源地址(Source Address):6字节,指定帧的发送者的MAC地址
  4. 长度/类型(Length/Type):2字节,指示载荷的字节长度(当值小于1536时)或帧的类型(当值大于1536时,如IPv4、ARP等)

数据(载荷):

载荷部分是帧的实际数据,长度在46到1500字节之间。如果数据不足46字节,发送方会在数据后面填充额外的字节以确保最小帧长度。最大帧长度是1518字节,包括帧头、载荷和帧尾

帧尾:

FCS(Frame Check Sequence): 4字节,是使用循环冗余校验(CRC)算法计算出来的一个值,用于检测帧在传输过程中是否出现了错误

有固定基础设施无线局域网:

  1. 定义:I-WLAN是一种无线网络,其中包含一个或多个无线接入点(APs)作为中心节点,连接有线网络基础设施,如路由器、交换机等
  2. 特点:
    需要固定的网络基础设施,如APs、路由器等
    提供较大的覆盖范围和更高的数据传输速率
    支持无缝漫游,用户可以在AP之间移动而不中断连接
    通常提供更高的安全性和网络管理功能
    适用于需要稳定、高性能无线网络的场合,如企业、学校、公共场所等
  3. 示例:家庭Wi-Fi网络、办公室网络、机场Wi-Fi热点等

无固定基础设施无线局域网:

  1. **定义:**A-WLAN是一种不需要固定基础设施的无线网络,其中的设备直接相互通信,不通过AP或路由器等中心节点

  2. 特点:

    不需要固定的网络基础设施,设备之间直接通信

    覆盖范围和传输速率通常较小

    网络配置简单,但管理功能有限

    安全性可能较低,因为缺乏中心控制节点

    适用于临时或紧急情况,或者是在没有网络基础设施的地方

  3. **示例:**移动设备之间的直接文件共享、临时会议中的无线网络连接等

数据链路层设备

网桥(桥接器)

网桥(Bridge)是一种数据链路层设备,它用于连接两个或多个局域网(LAN),并在这些网络之间转发数据帧。网桥的主要功能是扩展网络的覆盖范围,允许不同的局域网在逻辑上连接起来,而无需物理上直接连接

网桥处理数据的对象时帧,所以它是工作在数据链路层的设备;中继器、放大器处理数据的对象时信号,所以它是工作在物理层的设备

工作原理

  1. 帧转发:网桥接收从一个网络到达的数据帧,检查帧中的源MAC地址,并将其转发到另一个网络,如果目的MAC地址位于另一个网络中
  2. 学习MAC地址:网桥通过学习机制,记录它所连接的每个网络中的MAC地址,并将其存储在地址表中。这样,当它收到一个数据帧时,就可以快速确定该帧应该转发到哪个网络
  3. 过滤和桥接:网桥根据地址表中的信息过滤数据帧,只转发那些目标MAC地址位于其他网络中的帧,以减少不必要的通信

特点:

  1. 连接局域网:网桥主要用于连接两个或多个局域网,使它们能够在逻辑上形成一个更大的网络
  2. 数据帧转发:网桥在数据链路层工作,它接收来自一个局域网的数据帧,检查帧中的MAC地址,并决定是否将其转发到另一个局域网
  3. 学习MAC地址:网桥通过学习机制记录它所连接的每个局域网中的MAC地址,并将其存储在地址表中。这使得网桥能够快速识别和转发数据帧
  4. 过滤和桥接:网桥根据地址表中的信息过滤数据帧,只转发那些目标MAC地址位于其他局域网中的帧,以减少不必要的通信
  5. 透明传输:网桥对数据传输过程不进行任何修改,仅作为一个中继器,透明地转发数据帧
  6. 扩展网络范围:通过连接多个局域网,网桥可以扩展网络的覆盖范围,使得不同的局域网在逻辑上连接起来
  7. 网络分割:网桥可以将一个大的网络分割成多个较小的网络,提高网络的性能和安全性
  8. 网络冗余:网桥可以提供网络冗余,如果一个网络出现故障,数据可以通过其他网络路径进行传输
  9. 支持不同网络技术:网桥可以连接使用不同网络技术的局域网,如以太网和令牌环网
  10. 低层网络设备:网桥是数据链路层的设备,不处理网络层以上的协议,如IP地址和TCP/IP协议

类型:

  1. 透明网桥(Transparent Bridge):
    是最基本的网桥类型,它透明地转发数据帧,不修改帧内容
    透明网桥通过学习MAC地址来建立地址表,并根据地址表转发数据帧
  2. 源路由网桥(Source Routing Bridge):
    允许数据帧包含源路由信息,网桥根据这些信息决定帧的转发路径
    源路由网桥通常用于特定的网络环境,如在网络拓扑复杂或需要高可靠性的情况下
  3. 源地址过滤网桥(Source Address Filtering Bridge):
    只转发源地址位于其地址表中的帧
    源地址过滤网桥可以用于限制数据帧的来源,提高网络的安全性
  4. 源地址和目的地址过滤网桥(Source and Destination Address Filtering Bridge):
    同时检查源地址和目的地址,只转发符合特定条件的帧
    这种网桥可以提供更精细的网络控制和过滤功能
  5. 交换网桥(Switching Bridge):
    类似于现代交换机,可以同时与多个网络接口通信
    交换网桥通过硬件加速和多端口设计,提供比传统网桥更高的性能
  6. 虚拟局域网(VLAN)网桥(VLAN Bridge):
    支持VLAN技术,可以将网络分割成多个逻辑上独立的局域网
    VLAN网桥可以实现更细粒度的网络管理,提高网络的性能和安全性
  7. 多协议网桥(Multiprotocol Bridge):
    支持多种网络协议,如以太网和令牌环网
    多协议网桥可以连接使用不同网络技术的局域网,实现网络的互操作性
  8. 路由桥(Routing Bridge):
    结合了路由器和网桥的功能,可以进行跨网络的路由决策
    路由桥通常用于复杂的网络环境,提供高级的网络管理和控制功能

局域交换机

网桥(桥接器) 主要是限制在任意时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机

局域网交换机(Local Area Network Switch)是一种网络设备,用于在局域网(LAN)内部连接计算机和其他网络设备,以实现数据的高效传输。交换机工作在数据链路层,通过其多个端口接收和转发数据帧

原理:

  1. 自学习MAC地址表:
    当交换机启动时,它会初始化一个空的MAC地址表
    当交换机接收到一个数据帧时,它会读取帧中的源MAC地址
    交换机会将源MAC地址与其接收到的端口号关联起来,并存储在MAC地址表中

  2. 帧转发:
    当交换机接收到一个数据帧时,它会检查帧中的目的MAC地址
    如果目的MAC地址在MAC地址表中,交换机会将帧直接转发到相应的端口
    如果目的MAC地址不在MAC地址表中,交换机会将帧广播到所有端口,以让网络中的其他设备学习新的MAC地址
    一旦交换机接收到带有新MAC地址的数据帧,它会更新MAC地址表,并将后续的帧直接转发到相应的端口

  3. VLAN支持:
    一些交换机支持VLAN技术,可以将网络分割成多个逻辑上独立的局域网
    交换机会为每个VLAN维护一个独立的MAC地址表
    交换机可以根据VLAN ID来转发数据帧,确保只有同一VLAN内的设备可以通信

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

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

相关文章

03-echarts如何画立体柱状图

echarts如何画立体柱状图 一、创建盒子1、创建盒子2、初始化盒子(先绘制一个基本的二维柱状图的样式)1、创建一个初始化图表的方法2、在mounted中调用这个方法3、在方法中写options和绘制图形 二、画图前知识1、坐标2、柱状图图解分析 三、构建方法1、创…

构建高效协同平台架构:实现团队协作的新高度

随着企业规模的扩大和工作方式的变革,团队协作变得愈发重要。在这个数字化时代,构建一个高效的协同平台架构,能够为团队提供强大的工具和资源,实现更加高效、灵活的协作方式。本文将探讨协同平台架构的重要性,并介绍如…

UE5不打包启用像素流 ubuntu22.04

首先查找引擎中像素流的位置: zkzk-ubuntu2023:/media/zk/Data/Linux_Unreal_Engine_5.3.2$ sudo find ./ -name get_ps_servers.sh [sudo] zk 的密码: ./Engine/Plugins/Media/PixelStreaming/Resources/WebServers/get_ps_servers.sh然后在指定路径中…

笔试的解题思路很多,

昨天发的笔试题目,留言的人还挺多,这道笔试题目是字节的嵌入式笔试题目,从面试的朋友描述说,对方的面试过程很专业。 现场写代码, 金三银四一直是铁律,去年我一个朋友离职后,也是最近这几天拿到…

【C语言】预处理

个人主页点这里~ 预处理 一、预处理符号二、#define定义常量三、#define定义宏四、带有副作用的宏参数五、宏替换的规则六、宏与函数的对比(一)、宏的优势(二)、宏的劣势(三)、宏和函数的对比 七、#和##1、…

Emacs之增加/取消输入括号自动匹配(一百三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

vue webpack打包配置生成的源映射文件不包含源代码内容、加密混淆压缩

前言:此案例使用的是vue-cli5 一、webpack源码泄露造成的安全问题 我们在打包后部署到服务器上时,能直接在webpack文件下看到我们项目源码,代码检测出来是不安全的。如下两种配置解决方案: 1、直接在项目的vue.config.js文件中加…

C语言 | Leetcode C语言题解之第30题串联所有单词的子串

题目: 题解: typedef struct {char key[32];int val;UT_hash_handle hh; } HashItem;int* findSubstring(char * s, char ** words, int wordsSize, int* returnSize){ int m wordsSize, n strlen(words[0]), ls strlen(s);int *res (int *)mall…

【测试开发学习历程】python常用的模块(中)

目录 5 time模块 5.1、Python中的四种格式的时间: 5.2、time模块中的常用函数 6 I/O流操作 6.1 创建文件 6.2 读取一个文件存入到另外一个文件 6.3 with open as 结构 6.4 open和with open as的区别 7 Excel的操作模块-openpyxl 7.1、新建Excel文件进行读…

11.范式与反范式设计

范式 1.问题 MySQL的库表设计,在很多时候我们都是率性而为,往往在前期的设计中考虑不全面,同时对于库表结构的划分也并不明确,所以很多时候在开发过程中,代码敲着敲着会去重构某张表结构,甚至大面积重构多…

bestvike 资料 --Spring Boot 2.5.0

Spring Boot 2.5.0 SSM环境搭建 springspringmvcmybatisspring springmvc mybatis # 项目 - 需求分析 概要设计(库表设计) 详细设计(验证库表正确性) 编码(环境搭建业务代码) 测试 部署上线# 员工添加 查询所有功能 SSM - 库表 库: ssm 数据库:mysql 表: id na…

spring-cloud微服务gateway

核心部分:routes(路由), predicates(断言),filters(过滤器) id:可以理解为是这组配置的一个id值,请保证他的唯一的,可以设置为和服务名一致 uri:可以理解为是通过条件匹配之后需要路由到&…

RabbbitMQ基本使用及其五种工作模型

初识MQ 同步通讯和异步通讯 什么是同步通讯呢?举个例子,你认识了一个小姐姐,聊的很火热,于是你们慢慢开始打电话,视频聊天,这种方式就成为同步通讯,那什么是一部通讯呢,同样的&…

gitlab(docker)安装及使用

GitLab GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 下载(docker) 查询docker镜像gitlab-ce gitlab-ce是它的社区版 [rootlocalhost ~]# docker search gitlab-ce NAME …

OpenCV基本图像处理操作(六)——直方图与模版匹配

直方图 cv2.calcHist(images,channels,mask,histSize,ranges) images: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]channels: 同样用中括号括来它会告函数我们统幅图 像的直方图。如果入图像是灰度图它的值就是 [0]如果是彩色图像 的传入的…

SETR——Rethinking系列工作,展示使用纯transformer在语义分割任务上是可行的,但需要很强的训练技巧

题目:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers 作者: 开源:https://fudan-zvg.github.io/SETR 1.研究背景 1.1 为什么要研究这个问题? 自[ 36 ]的开创性工作以来,现有的语义分割模型主要是**基于全卷积网络( FCN )的…

ubuntu20.04安装+ros-noetic安装+内网穿透frp

刷机后的系统安装 ubuntu20.04安装安装ros-noetic安装各种必要的插件安装vscode内网穿透连接实验室主机配置frpc和frps文件运行完成自动化部署免密登录linux的免密登录windows上的免密登录 内网穿透的参考链接:如何优雅地访问远程主机?SSH与frp内网穿透配…

Python学习笔记 - 正则表达式

前言 正则表达式(Regular Expression,在代码中常简写为 regex、regexp、RE 或 re)是预先定义好的一个“规则字符串”,通过这个“规则字符串”可以匹配、查找、替换那些符合“规则”的文本,也就是说正则表达式针对的目标…

MSTP/RSTP的保护功能

目录 原理概述 实验目的 实验内容 实验拓扑 1.配置RSTP/MSTP 2.配置BPDU保护 3.配置根保护 4.配置环路保护 5.配置TC-BPDU保护 原理概述 在RSTP或MSTP交换网络中,为了防止恶意攻击或临时环路的产生,可配置保护功能来增强网络的健壮性和安全性。…

C++vector类(个人笔记)

vector类 1.熟悉vector接口以及使用1.1vector的定义1.2vector迭代器使用1.3vector空间增长1.4vector增删查改1.5vector迭代器失效问题(重点) 2.vector的一些笔试题3.模拟实现vector 1.熟悉vector接口以及使用 vector的C官网文档 1.1vector的定义 (con…