【计算机网络篇】数据链路层(6)共享式以太网_网络适配器_MAC地址

news2024/10/25 6:21:20

文章目录

  • 🍔网络适配器
  • 🍔MAC地址
    • 🗒️IEEE 802局域网的MAC地址格式
    • 📒IEEE 802局域网的MAC地址发送顺序
    • 🥚单播MAC地址
    • 🥚广播MAC地址
    • 🥚多播MAC地址
      • 🔎小结

在这里插入图片描述

🍔网络适配器

要将计算机连接到以太网,需要使用相应的网络适配器,简称为网卡
要将计算机接入以太网,都需要使用网卡
在这里插入图片描述
网卡
在这里插入图片描述
在计算机内部,网卡与CPU之间的通信,一般是通过计算机主板上的I/O总线以并行传输方式进行
网卡与外部以太网(局域网)之间的通信,一般是通过传输媒体(同轴电缆,双绞线电缆,光纤)以串行方式进行
在这里插入图片描述
网卡除要实现物理层和数据链路层功能,其另外一个重要功能就是要进行并行传输和串行传输的转换。由于网络的传输速率和计算机内部总线上的传输速率并不相同,因此在网卡的核心芯片中都会包含用于缓存数据的存储器。
在确保网卡硬件正确的情况下,为了使网卡正常工作,还必须要在计算机的操作系统中为网卡安装相应的设备驱动程序。驱动程序负责驱动网卡发送和接收帧。

🍔MAC地址

对于点对点信道,由于只要两个站点分别连接在信道的两端,因此其数据链路层不需要使用地址在这里插入图片描述

然而对于连接有多个站点的广播信道,情况就不一样了,下面来举例说明
总线上的某台主机,要给另一台主机发送帧,由于广播信道天然的广播特性,表示帧的信号会通过总线传播到总线上的其他所有主机
那么这些主机中的网卡如何判断收到的帧是否是发送给自己的呢在这里插入图片描述

很显然,使用广播信道的数据链路层必须使用地址来区分各主机
当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址


假设总线上各主机的数据链路层地址分别用一个不同的大写字母来表示
在这里插入图片描述

在每个主机发送的帧的首部中,都携带有发送主机(源主机)和接收主机(目的主机)的数据链路层地址。由于这类地址是用于媒体接入控制(Medium Access Control,MAC)的,因此被称为MAC地址


假设主机B给主机C发送帧,则在帧首部中的目的地址字段应填入主机C的MAC地址C,而在源地址字段应填入主机B的MAC地址B
这样,总线中的各主机的MAC地址收到该帧后,就可以根据帧首部中的目的地址字段的值是否与自己的MAC地址匹配,决定丢弃或者接收该帧在这里插入图片描述


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


在这里插入图片描述

🗒️IEEE 802局域网的MAC地址格式

IEEE 802标准为局域网规定了一种由48比特构成的MAC地址,每8个比特为1个字节,从左至右依次为第一字节到第六字节
在这里插入图片描述

前三个字节是组织唯一标识符OUI
后三个字节是网络接口标识符
将每4个比特写成一个16进制的字符,共12个字符,将每2个字符分为一组,共6组,各组之间使用短线(-)进行连接,就可以得到MAC地址的标准表示方法
(除标准表示方法外,还可以将短线改为冒号)
另外,还可以将每4个字符分为一组,共3组,各组之间用点连接

在这里插入图片描述

如果我们知道了设备的MAC地址,但是不知道该设备的厂商信息,可以通过设备的MAC地址来查询
在这里插入图片描述


IEEE规定,mac地址的第一个字节的b0位为I/G位,I是单独的意思,G是组的意思

IEEE还考虑到不愿向IEEE的 注册管理机构购买组织唯一标识符OUI的情况,对此,IEEE规定,mac地址的第一个字节的b1位是G/L位,G是全球的意思,L的本地的意思
在这里插入图片描述

📒IEEE 802局域网的MAC地址发送顺序

在这里插入图片描述

🥚单播MAC地址

如下图所示,是一个包含3台主机的总线型以太网,各主机网卡上固化的全球单播MAC地址如图所示
在这里插入图片描述
假设主机B要给主机C发送一个单播帧,主机B首先要构建该单播帧
在帧首部的目的地址字段填入主机C的MAC地址,源地址字段填入自己的MAC地址
在这里插入图片描述

主机B将该单播帧发送出去后,主机A和C都会收到该单播帧
主机A的网卡发现该单播帧的目的MAC地址与自己的MAC地址不匹配,于是丢弃该帧
主机C的网卡发现该单播帧的目的MAC地址与自己的MAC地址匹配,于是接受该帧,并将该帧的数据载荷交给上层处理
(注意:接收和接受的区别)
在这里插入图片描述

🥚广播MAC地址

在这里插入图片描述
假设主机B要发送一个广播帧,主机B首先要构建该广播帧,
在帧首部的目的地址字段填入广播的MAC地址,也就是48比特为全1,16进制形式为全F的MAC地址
源地址字段填入自己的MAC地址
在这里插入图片描述

主机B将该广播帧发送出去,主机A和C都会收到该广播帧
主机A和C发现该帧的目的MAC地址是广播MAC地址,于是接受该广播帧,并将该帧的数据载荷交付给上层进行处理
在这里插入图片描述

🥚多播MAC地址

如下图,4个交换机连接形成了一个环路,目的是为了提高网络的可靠性
在这里插入图片描述

然而,环路会造成广播帧在环路中永久兜圈的严重问题,为了解决该问题,交换机之间会交互一种特殊的帧,即BPDU,也就是网桥协议数据单元。
各交换机根据BPDU中的一些参数安装生成树协议所使用的生成树算法,最终某些交换机会阻塞自己的某些接口,这样就破除了环路
而BPDU首部中的目的地址就是生成式协议专用的多播MAC地址01-80-C2-00-00-00
在这里插入图片描述

🔎小结

在这里插入图片描述

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

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

相关文章

【产品面对面】deepin V23 RC 新体验,文件管理器全面升级!

内容来源:deepin(深度)社区 在日复一日的数据海洋遨游中,是否曾因文件杂乱无章而苦恼?是否渴望过有一种魔法,能让文件瞬间归位,触手可及? 今天,我们带着全新的文件管理工…

oracle 数据库导入dmp文件

荆轲刺秦王 从线上正式环境导出的 dmp 文件,导入到本地 oracle 数据库。 1. 创建用户: CREATE USER hf_chip IDENTIFIED BY hf_chip; 2. 授予 CONNECT 和 RESOURCE 基本权限给新用户。 GRANT CONNECT, RESOURCE TO hf_chip; 3. 创建表空间 CREATE TABLESPACE…

海外仓系统能解决海外仓哪些难题?海外仓标准化管理实用指南

海外仓管理问题常常导致业务流程变慢,根据我们的调查显示,至少有48%的海外仓每周都会出现一些“小意外”。甚至这些小问题每天都在发生,问题的出现已经严重影响到了海外仓业务的进行。今天我们将重点分析海外仓比较常见的一些问题&#xff0c…

工程施工安全检测嵌入式解决方案

工程施工安全检测嵌入式解决方案 1 范围1.1 引言1.2 系统概述1.3 文档概述 2 工程施工安全检测系统应用场景2.1 作业操作安全检查2.2 受限空间作业安全检测2.3 应急设备操作行为检测2.4 动火作业安全检测 3 工程施工安全检测系统设计方案概述3.1 AI识别系统3.2 AI关键技术介绍3…

中国最全的hive sql 函数集合(持续更新)

#6/20/24 增加greatest函数: select greatest(1,2,3,4,5,2) 结论:可以用hive presto spark得出正确的结果值 #6/20/24 增加last_value(cl1) ignore nulls over(order by ts ) as dt 函数: 有数据集: 1 1 1 2 2   3 3 …

实际二分搜索(写出函数,再用二分搜索法找左右边界 画图理解

实际二分搜索(写出函数,再用二分搜索法找左右边界 看到最大值的最小化,左边界,最小化的最大值,右边界 画图理解 爱吃香蕉的珂珂 class Solution {public int minEatingSpeed(int[] piles, int h) {int left1,right10…

Linux - 输入输出

一、输出格式 echo //末尾自带换行 -n //取消自带换行 -e //支持转移符 常见转义符 \n换行 \t制表符 printf // 格式化输出字符串 %-10s // %s代表字符串 -10 左对齐容纳10个字符 二、输入输出重定向 file descriptors &#x…

欧洲杯背后的CDN

随着欧洲杯在德国的顺利举行,上亿中国网友为了观看比赛熬了十几个不眠之夜,欢呼呐喊。他们或守在电视机前,或拿着手机、平板,公交车上地铁里也都是拿着手机看比赛视频的人。不仅各个互联网视频平台流量激增,就连运营商…

el-upload组件校验不通过预览列表依然显示图片问题解决

如图校验不通过的图片依然显示在预览列表了&#xff0c;需要在校验不通过的时候移除图片 <el-uploadclass"upload-cls":action"ossSignature.host":auto-upload"false"ref"upload":list-type"listType":limit"limi…

【C++】函数模版和类模版详解

探索C中的函数模版和类模版 一、函数模版&#xff08;Function Templates&#xff09;二、类模版&#xff08;Class Templates&#xff09;三、总结 在C编程中&#xff0c;模版&#xff08;Templates&#xff09;是一种强大的工具&#xff0c;允许程序员编写通用的代码&#xf…

商超便利店收银系统源码推荐

细节决定成败&#xff0c;无论是做什么事情都要注重细节&#xff0c;让我们来看看关于商超便利店陈列的“细节”有哪些需要注意的地方。 首先要注意商品不要摆太高&#xff0c;放在适当位置即可&#xff01; 商超便利店内&#xff0c;销量最佳的物品摆放位置依次为与顾客视线…

吴恩达:从 Agent 到 Agentic,超越基础模型的下一代 AI

Agentic AI&#xff1a;超越基础模型的下一代 AI — 来自吴恩达的洞察 “与其争论哪些工作才算是真正的 Agent&#xff0c;不如承认系统可以具有不同程度的 Agentic 特性。” —— 吴恩达 2024年 Snowflake 峰会开发者日上&#xff0c;人工智能领域的领军人物吴恩达 (Andrew…

查看nginx安装/配置路径,一个服务器启动两个nginx

查看nginx安装/配置路径 查看nginx的pid&#xff1a; ps -ef | grep nginx查看pid对应服务的启动路径 ll /proc/2320/exe使用检查配置文件命令&#xff0c;查看配置文件位置 /usr/local/nginx/sbin/nginx -t一个服务启动两个nginx 拷贝一份程序&#xff0c;cpbin是我自己创…

如何恢复删除的文件?五种方法,高效恢复全解析整理

随着科技的日新月异&#xff0c;电子设备已无处不在地融入我们的日常生活和工作之中。无论是手机还是电脑&#xff0c;它们已成为我们存储个人数据、工作文档和学习资料的重要载体。然而&#xff0c;在享受数字时代便捷的同时&#xff0c;我们也需警惕一个潜在风险——文件丢失…

腾讯云部署的java服务,访问阿里云的mysql数据库,带宽异常偏高,可能是什么原因

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

opencv学习笔记(2)

设置鼠标回调函数 setMouseCallback(winname, callback, userdata) winname:窗口名字 callback:回调函数 userdata:传回callback中 callback(event, x, y, flags,userdata) event:鼠标事件 x: 鼠标的x坐标 y: 鼠标的y坐标 flags:鼠标键和组合键 userdata:setMouseCallback传回…

环境科学SCI期刊,不含APC的开放获取期刊,值得投

一、期刊名称 Journal of Water and Health 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;环境科学与生态学 影响因子&#xff1a;2.3 中科院分区&#xff1a;4区 三、期刊征稿范围 《水与健康杂志》是一本同行评审的开放获取期刊&#xff0c;致力于向…

手机照片同步到群辉NAS

手机中最宝贵的数据莫过于“照片”,这些包含美好回忆的数字信息是不能丢失的。NAS的作用就是存储,其中最重要的一项功能就是手机照片的同步。 在群辉NAS丰富的套件中,“Synology Photos”就是解决这个功能,今天我们来看看如何操作。 一、安装套件 打开群晖套件中心→所有…

详解工业网关在线探测功能及用途

详解工业网关在线探测功能及用途 工业网关作为工业物联网&#xff08;IIoT&#xff09;架构中的关键组件&#xff0c;扮演着桥梁的角色&#xff0c;它连接了现场的各类传感器、执行器以及更高级别的云平台或企业系统。在线探测功能是工业网关诸多能力中的一项重要特性&#xf…

Linux和Windows(VS 2019)下安装使用Log4cpp日志库

目录 一、Log4cpp简介 二、Windows下的Log4cpp的安装 1、下载网址 2、解决方案 三、Vistual Studio中使用第三方库 1、拷贝对应下图路径下的include文件进入你的项目目录下面去&#xff0c;并将之前编译好的库文件也放在对应项目目录下面去。 2、打开你的项目&#xff0…