当前位置: 首页 > news >正文

计算机网络 —— 数据链路层(以太网)

计算机网络 —— 数据链路层(以太网)

  • 什么是以太网
  • 以太网传输介质和拓扑结构的发展
      • 传输介质的发展:
      • 拓扑结构的发展:
  • 10BASE-T 以太网
  • 适配器和MAC地址
      • 适配器(Adapter)
      • MAC地址
      • 适配器与MAC地址的关系
  • MAC帧
    • 以太网MAC帧
  • 高速以太网

我们今天来看以太网

什么是以太网

以太网(Ethernet)是一种广泛使用的局域网(Local Area Network, LAN)技术,由Xerox公司在1970年代初开发,并与DEC和Intel合作推广,成为业界标准。它是连接计算机和各种设备(如打印机、服务器、网络存储设备等)的主流方式之一,允许它们在有限的地理区域内共享资源和相互通信。以太网的核心规范由IEEE(电气和电子工程师协会)的802.3标准定义。

以太网工作原理的关键要素包括:

  1. 物理层:定义了网络的物理连接方式,包括电缆类型(如双绞线、同轴电缆、光纤)和信号传输速度。速度规格从最初的10Mbps(兆比特每秒)发展到了如今的10Gbps、25Gbps、40Gbps乃至100Gbps及以上。
  2. 数据链路层:分为两个子层——介质访问控制(MAC)子层和逻辑链路控制(LLC)子层。MAC子层负责控制网络设备如何访问共享的传输介质,避免数据碰撞(早期使用CSMA/CD机制,在全双工和光纤环境中不再需要此机制)。LLC子层提供网络层与数据链路层之间的接口,并负责识别网络层协议类型。
  3. 载波侦听多路访问/碰撞检测(CSMA/CD):早期以太网使用的一种介质访问控制方法,设备在发送数据前先监听线路是否空闲,空闲时发送数据,若检测到碰撞则停止发送并等待随机时间后再尝试。
  4. 以太网帧结构:数据在以太网中传输是以帧的形式进行的,包含前导码、帧开始定界符、目的MAC地址、源MAC地址、类型/长度字段、数据负载以及帧校验序列(FCS)。
  5. 以太网交换机:现代以太网中,交换机取代了集线器,提供了点对点的连接,增强了网络性能和隔离性,允许在不同设备间同时进行通信而不冲突。
  6. Power over Ethernet (PoE):一种技术,允许通过以太网线缆同时传输数据和电力,常用于IP电话、无线接入点、安全摄像头等设备。

在这里插入图片描述
在这里插入图片描述

以太网因其简单、可靠、成本效益高、易于安装和维护的特点,成为了家庭、企业、数据中心和广域网互联的基础技术。随着技术的进步,以太网标准不断演进,以满足对更高数据传输速率和更高效网络通信的需求。

以太网传输介质和拓扑结构的发展

以太网的传输介质和拓扑结构的发展是相辅相成的,它们共同推动了以太网技术的进步和广泛应用。以下是以太网传输介质和拓扑结构发展的概述:

传输介质的发展:

  1. 同轴电缆:最初的以太网技术使用的是同轴电缆,包括粗同轴电缆(10Base5)和细同轴电缆(10Base2)。
  2. 双绞线:随着技术的发展,非屏蔽双绞线(UTP)因其成本低廉、安装方便等优点逐渐取代了同轴电缆,成为以太网的主要传输介质。双绞线分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP),其中UTP在数据传输中得到了广泛应用。
  3. 光纤:为了满足更高的传输速率和更远的传输距离,光纤开始被用于以太网传输。千兆以太网(1000BaseLX/SX)和万兆以太网(10GBase-LX/SR)等标准都支持光纤作为传输介质。
  4. 无线介质:随着无线技术的发展,无线以太网(例如Wi-Fi)也成为以太网传输介质的一种形式,它提供了更大的灵活性和移动性。

拓扑结构的发展:

  1. 总线型拓扑:早期的以太网采用总线型拓扑,所有设备都连接到一个共享的传输介质上,如同轴电缆。
  2. 星型拓扑:随着集线器(Hub)和交换机(Switch)的出现,以太网的物理结构转变为星型拓扑,其中每个设备都直接连接到中心设备。尽管物理上是星型,但在逻辑上仍然保持总线型拓扑和CSMA/CD协议。
  3. 交换式以太网:交换式以太网的出现标志着以太网拓扑结构的重要转变。交换机的使用消除了碰撞域,提高了网络效率和性能。
  4. 混合拓扑:现代以太网网络可能结合了多种拓扑结构,如星型、环型和总线型,以满足不同的网络需求和优化性能。

在这里插入图片描述

以太网的传输介质和拓扑结构的发展,反映了网络技术在速度、可靠性和灵活性方面的不断进步。随着新技术的出现和现有技术的改进,以太网将继续适应不断变化的网络环境和需求。

10BASE-T 以太网

10BASE-T 是以太网的一种标准,属于IEEE 802.3规范的一部分,是最早广泛应用于局域网(LAN)的技术之一。"10BASE-T"中的各个部分代表了其特性:

  • “10” 表示该标准的最大传输速率为10兆比特每秒(Mbps)。
  • “BASE” 表示使用基带传输,意味着数据信号直接在介质上编码,而不是通过调制载波。
  • “T” 表示使用双绞线(Twisted Pair)作为传输介质,特别是非屏蔽双绞线(UTP,Unshielded Twisted Pair)。

10BASE-T 以太网主要特点包括:

  1. 物理层:使用两对(通常是3类、4类或5类,现代通常要求至少是5e类或以上)非屏蔽双绞线,支持全双工通信,但实际应用中早期的10BASE-T多为半双工操作。在10BASE-T中,通常仅使用四线中的两对(通常是第1、2、3、6线,即橙白、橙、绿白、绿)进行数据传输,其他两线备用或用于其他目的。
  1. 连接器:RJ-45插头和插座是最常用的物理连接器,符合EIA/TIA-568布线标准。
  1. 介质访问控制:采用载波监听多路访问/碰撞检测(CSMA/CD)机制,这意味着设备在发送数据前会监听网络是否空闲,以避免数据包碰撞。如果检测到冲突,设备会等待一个随机的时间间隔后重新尝试发送。
  1. 拓扑结构:10BASE-T 支持星型拓扑结构,网络中的设备通过双绞线连接到中心设备,通常是集线器或后来的交换机。这种结构便于故障隔离和网络扩展。
  1. 安装与维护:相对于早期的粗同轴电缆(如10BASE5)和细同轴电缆(如10BASE2)解决方案,10BASE-T 易于安装和维护,且布线更加灵活。它可以与现有的电话布线系统兼容,简化了在建筑物内部的网络部署。

在这里插入图片描述

随着时间的推移,虽然更快的以太网标准(如100BASE-TX、1000BASE-T)已普及,10BASE-T仍然是基础网络连接的一个选项,尤其是在对带宽需求不高的应用场合。

适配器和MAC地址

适配器(Adapter)和MAC地址(Media Access Control Address)在计算机网络中扮演着核心角色,尤其是对于以太网技术而言。下面是它们的基本概念和功能:

适配器(Adapter)

适配器,也常被称为网络接口卡(NIC,Network Interface Card)或网络接口控制器,在计算机网络中负责实现计算机与网络之间的物理和数据链路层连接。它是一个硬件组件,通常以扩展卡的形式插入主板的PCI插槽或直接集成在主板上。适配器的主要功能包括:

  • 数据封装与解封装:将上层数据包(如IP包)封装成适合在物理介质上传输的数据帧,以及接收时进行相反的过程。
  • 物理地址(MAC地址)管理:每个适配器都有一个全球唯一的MAC地址,用于在网络中标识该设备。
  • 介质访问控制:遵循相应的介质访问控制协议(如以太网的CSMA/CD或无线网络的CSMA/CA),决定何时发送数据到共享介质上。
  • 数据传输:负责实际的数据传输,包括信号的发送与接收。

MAC地址

MAC地址是适配器的一个重要属性,它是物理地址的一种,用于在网络中唯一标识每一个网络接口。MAC地址由48位(6字节)的二进制数字组成,通常表示为12位的十六进制数,中间用冒号(:)或短横线(-)分隔,例如02:60:8c:e4:b1:21。MAC地址的前24位(即前三个十六进制数)由IEEE(电气和电子工程师协会)分配给制造商,后24位由制造商自行分配,确保每个出厂的适配器地址都是独一无二的。

适配器与MAC地址的关系

每个网络适配器都有一个固定的MAC地址,该地址在生产时就被固化到硬件中,不能更改。当数据帧在网络中传输时,MAC地址被用作帧的源地址和目的地址,以确定数据应该发往哪个设备或数据来自哪个设备。在数据链路层,网络设备根据MAC地址进行帧的转发决策,确保数据能够准确到达目标节点。在以太网中,MAC地址的使用对于实现局域网内部的通信至关重要。

在这里插入图片描述

MAC帧

MAC帧,全称为Media Access Control frame,中文为介质访问控制帧,是数据链路层(OSI模型的第二层)中MAC子层的数据传输单元。MAC帧主要在局域网(如以太网、Wi-Fi网络)中使用,负责在物理层上传输数据,并实现网络设备之间的直接通信。

MAC帧的基本结构通常包括以下几个部分:

  1. 前导码(Preamble):一系列的比特模式,用于同步接收器并指示新帧的到来。在以太网中,前导码通常由56位的10101010…101010位序列组成。
  2. 帧起始定界符(SFD):一个单独的位模式,用于标记MAC帧的开始。在以太网中,SFD是一个10101011位序列。
  3. 目的MAC地址(Destination MAC Address):接收方网络接口卡的物理地址,长度为6字节(48位)。
  4. 源MAC地址(Source MAC Address):发送方网络接口卡的物理地址,同样为6字节。
  5. 类型/长度字段(Type/Length Field):标识上层协议类型,如IPv4、IPv6等,或在某些情况下表示帧载荷的长度。长度通常为2字节。
  6. 数据字段(Data or Payload):承载来自网络层的数据,其长度可变,最大传输单元(MTU)通常受限于网络类型,例如以太网的最大有效载荷为1500字节。
  7. 帧检验序列(Frame Check Sequence, FCS):用于错误检测的循环冗余校验(CRC)值,通常为4字节。

在802.11无线局域网中,MAC帧的结构可能还包括额外的字段,如帧控制字段、时间戳、地址字段的扩展等,以适应无线环境下的特定需求和管理功能。MAC帧的结构和字段根据具体的网络标准(如IEEE 802.3以太网、IEEE 802.11 Wi-Fi)有所差异,但上述基本组成部分是共通的。

以太网MAC帧

在这里插入图片描述
在这里插入图片描述

高速以太网

高速以太网是指数据传输速率比传统以太网(10Mbps)快的以太网技术,通常涉及100Mbps(快速以太网)、1Gbps(千兆以太网)、10Gbps(万兆以太网)及以上的传输速率。这一术语有时与“快速以太网”交替使用,尽管严格来说,“快速以太网”特指100Mbps的版本。随着技术的演进,现在还有更高速度的标准,如25Gbps、40Gbps、50Gbps、100Gbps乃至更高的以太网技术。

高速以太网的主要特点包括:

  1. 高带宽:显著提高的带宽能够满足大量数据传输的需求,特别是在数据中心、云计算、高清视频流、大数据分析等领域。
  2. 更快的数据传输速度:利用更高效的传输技术和全双工通信,数据传输速率大幅度提升,减少延迟,提高网络效率。
  3. 更好的抗干扰能力:采用更高质量的电缆和光纤技术,以及改进的编码方案,提高了信号完整性,减少了干扰和数据错误。
  4. 全双工通信:相较于早先的半双工或共享介质以太网,高速以太网广泛采用全双工模式,允许数据同时发送和接收,进一步提升吞吐量。
  5. 链路聚合技术:允许组合多个物理链路为一个逻辑链路,增加带宽和提供冗余。
  6. 标准化和兼容性:遵循IEEE 802.3系列标准,确保不同厂商的产品之间高度兼容,易于集成和升级。
  7. 可扩展性和灵活性:支持多种物理层标准,包括双绞线(如Cat5e、Cat6、Cat6a)和光纤,适应不同的网络部署需求。
  8. 先进的流量控制和管理机制:提供增强的QoS(Quality of Service)功能,确保关键应用的带宽和优先级,优化网络资源分配。

在这里插入图片描述

随着技术的不断进步,高速以太网不仅在企业网络中得到广泛应用,也在数据中心、研究网络、高性能计算等领域发挥着核心作用。

相关文章:

计算机网络 —— 数据链路层(以太网)

计算机网络 —— 数据链路层(以太网) 什么是以太网以太网传输介质和拓扑结构的发展传输介质的发展:拓扑结构的发展: 10BASE-T 以太网适配器和MAC地址适配器(Adapter)MAC地址适配器与MAC地址的关系 MAC帧以太…...

记录 unplugin-vue-components不生效

之前用 vite VUE3 TS 开发了几个项目,最近因为一个新项目,想着升级这些版本,就重新起了一个项目,结果遇到了然自己爆炸的问题。 element-plus 官方推荐的按需引入,配置也给的明明白白: npm install -D …...

⭐Unity 控制任意UI的渐隐渐显

使用脚本之前先给要控制的UI加上CanvasGroup组件 解释: 这个脚本使用协程来逐渐改变CanvasGroup的alpha值,从而实现渐隐和渐显的效果。 Mathf.Lerp函数用于在指定的时间内平滑地从当前透明度过渡到目标透明度。 通过调用FadeIn和FadeOut方法,你可以在任…...

web移动前端网页:深度剖析与未来展望

web移动前端网页:深度剖析与未来展望 在数字化浪潮席卷全球的今天,web移动前端网页作为连接用户与数字世界的桥梁,其重要性不言而喻。本文将从四个方面、五个方面、六个方面和七个方面,对web移动前端网页进行深入的剖析和展望&am…...

人脸识别之--计算余弦相似度-android

余弦相似度是比对两个向量是否一致,余弦相似度是通过计算两个向量的夹角余弦值来衡量它们之间的相似度,算出来的值可以直接用作相似度的分数。 公式: 余弦相似度和欧式距离经常用来人脸识别特征对比。 其中: 1、余弦相似度是通…...

C语言王国——数据的内存管理

目录 一、引言 二、整形在内存中的存储 2.1 进制之间的转换 2.1.1 整形的二进制 2.1.2 十进制和二进制 2.1.3 十进制和八进制的转换 2.1.4 十六进制和十进制的转换 2.2 原码,反码,和补码 三、大、小端字节序 3.1 大小端的定义 3.2 为什么会有大…...

Kotlin 协程真的轻量吗?

前言 在官方文档的介绍中,提到了: 协程是轻量的 并给出了一个例子: fun main() = runBlocking {repeat(50_000) {// 启动大量的协程launch {delay...

Cantata 24.04 全新发布:以代码为中心的测试实现革命性升级!

简介 Cantata 24.04于2024年4月发布,以开创性的功能彻底革新了软件测试。此版本的主要功能是以代码为中心(Code-Centred)的方法,可以更快、更高效地在C/C的代码编辑器中创建单元和集成测试。 Cantata 24.04采用C中的最新标准并全…...

【问题记录】VMware 17.5.1下载VMware tools失败报错的解决方法

一,问题现象 Ubuntu可以上网,但是下载VMware tools失败,报错提示:“连接到更新服务器时发生证书错误。请检查您的Internet设置或联系您的系统管理员。” 下载安装VMware tools: 报错提示: 二&#xff0…...

Android - RadioGroup中多个radiobutton同时被选中问题

问题描述: 动态创建radio button, 并将多个button添加到radio group中。但是实际运行时多个radiobutton会被同时选中: 代码如下: mRadioGroup findViewById(R.id.radioGroup);mDevButtons new RadioButton[device_count];for(int i0;i<device_count;i) {mDevButtons[i] …...

如何在ElementTree文本中嵌入标签

在 ElementTree 中&#xff0c;你可以使用 Element 对象的方法来创建新的标签&#xff0c;并将其嵌入到现有的 XML 结构中。下面是一个简单的示例&#xff0c;演示了如何在 ElementTree 文本中嵌入新的标签&#xff1a; 1、问题背景 我正在使用Python ElementTree模块来处理HT…...

C语言宏定义+条件编译

1、宏定义 1.概念 C语言中的宏定义是一种预处理指令&#xff0c;它允许开发者为一段代码或值定义一个名称&#xff0c;称为宏。在编译程序时&#xff0c;预处理器会在实际编译之前对源代码进行预处理&#xff0c;将宏名称替换为其定义的内容。宏定义通常使用 #define 指令来实…...

python实现自动化测试框架如何进行数据参数化?这个包可以了解下

1.数据参数化介绍 只要你是负责编写自动化测试脚本的&#xff0c;数据参数化这个思想你就肯定会用 &#xff0c;数据参数化的工具你肯定的懂一些 &#xff0c;因为它能大大的提高我们自动化脚本编写效率 。 1.1什么是数据参数化 所谓的数据参数化 &#xff0c;是指所执行的测…...

面试题:Redis和MySql数据库如何保持数据一致性?

前提引入&#xff1a; 在高并发的场景下&#xff0c;大量的请求直接访问Mysql很容易造成性能问题。所以&#xff0c;我们都会用Redis来做数据的缓存&#xff0c;削减对数据库的请求。但是&#xff0c;Mysql和Redis是两种不同的数据库&#xff0c;如何保证不同数据库之间数据的一…...

直流遥控器 继电器8-10V应用 降压恒压SL3036电源芯片

在现代电子设备中&#xff0c;电源的稳定性和可靠性对于设备的正常运行至关重要。特别是在直流遥控器这类设备中&#xff0c;由于其需要长时间稳定运行且对电压稳定性要求较高&#xff0c;因此选择一款合适的电源芯片显得尤为重要。本文将重点介绍SL3036电源芯片在直流遥控器继…...

论文Abstract怎么写

摘要是你要写的最后一项内容 步骤 首先先通读自己的文章&#xff0c;清楚自己写的文章是研究型还是技术型&#xff0c;适合描述性的摘要还是知识性。 描述性摘要内含研究目的、目标及方向等&#xff0c;不讲研究结果。字数大约100-200字。知识性摘要则包含研究结果&#xff0c…...

PS系统教程19

渐变与照片调色 增加色彩背景新建图层选好渐变拉选图片渐变 与图层模式结合 也可以变换颜色 看起来比较自然&#xff0c;因为是与人物结合起来 也可以选择系统里面的一些色调 可以进行多次调试...

Excel函数之MAP

MAP 语法 MAP(array, [arrar2], ……, lambda(value,[value2], ……, calculation)) array:需要进行映射的数组,可以有多个 注:多个数组的形状大小尽可能保持一致,否则将出现错误值 value:数组中的每个值,每次取一个值,每个 array 按顺序对应一个 value calculation:…...

在2024年WWDC大会上,苹果宣布了其全新的“Apple Intelligence”AI功能以及ISO18功能

以下是一些主要的新增功能&#xff1a; Apple WWDC 2024开发者大会6月11日凌晨在总部Apple Park举行 1.智能照片编辑&#xff1a; 照片&#xff1a;AI驱动的照片润饰功能,可以根据用户描述生成自定义表情符号​ 2.Safari浏览助手&#xff1a; Safari&#xff1a;AI助手能够总…...

解决linux jenkins要求JDK版本与项目版本JDK不一致问题

背景–问题描述&#xff1a; 新入职公司&#xff0c;交接人说jenkins运行有问题&#xff0c;现在都是手动发布&#xff0c;具体原因让我自己看&#xff08;笑哭&#xff09;。我人都蒙了&#xff0c;测试环境都手动发布&#xff0c;那不是麻烦的要死&#xff01; 接手后&am…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...

6.9-QT模拟计算器

源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...