计算机网络——MAC地址和IP地址
目录
前言
引入
MAC地址与IP地址
IP地址和MAC地址是什么?如何起作用的?
MAC地址如何表示与确定网卡在网络中的确定位置?
DHCP协议自动帮我们配置
操作系统是如何知道对方的MAC地址的?
前言
本博客是博主用于复习计算机网络的博客,如果疏忽出现错误,还望各位指正。
这篇博客是在B站掌芝士zzs这个UP主的视频的总结,讲的非常好。
可以先去看一篇视频,再来参考这篇笔记(或者说直接偷走)。
简单说网络1-计算机是如何通信的?IP地址与mac地址是什么?dhcp与arp又是什么?_哔哩哔哩_bilibili
引入
在家庭网络中有许多的网络设备,比如我们可以有
- 两台计算机A和B
- 一台手机
- 一台电视机
他们都连接到了路由器上,并且路由器通过运营商线路接入了因特网。
在这个网络模型中有许多的应用场景,比如
- 计算机A和计算机B之间可以互相发送文件
- 手机可以通过APP控制电视机
- 电视机访问计算机A上共享的影片
- 计算机和手机访问互联网上的网站
- 在家中通过VPN连接到公司内网进行工作
以上几种应用场景都脱离不了一件事,就是通过网络进行通信。
MAC地址与IP地址
如果我们想要跟对方进行通信,通常我们需要知道对方的IP地址。
但是在网络通信中还有一个非常重要的地址就是MAC地址。在网络通信中起到至关重要的作用。
IP地址和MAC地址是什么?如何起作用的?
在现实生活中,我们如果要给对方写信,除了信件内容以外,我们还需要填写信封,信封有两个重要信息,一个是收件地址,一个是收件人,收件地址表示这封信要寄到哪里,收件人表示信要寄给谁。
同样的道理,在网络世界中,我们要发信息给别人,也需要知道收件地址和收件人,他们就是MAC地址和IP地址,MAC地址就是收件地址,IP地址就是收件人。
我可以住在家里,也可以住在公司,也可以住在父母家……
如果你要给我写信,首先要知道我现在住在哪里。
在网络中也是这样的,如果把网络比喻为我们生活的城市,那网卡就是城市中的建筑,MAC地址就是这栋建筑的物理地址,而IP地址就是在这些建筑中的人。
与写信不同,在计算机网络中发送信息,我们只需要填写内容和对方的IP地址。
操作系统会根据目标IP自动查询ARP表,获取对方的MAC地址,补齐这封信从网卡发出。
虽然计算机、手机、电视机它们是不同类型的电子产品,但是他们的通信都是由内部的网卡设备所进行的。
所以我们统一用网卡来表示设备。每张网卡在出厂时都写入一个地址,就是MAC地址,这个地址是由六个字节构成的。
其中前三个数表示的是网络硬件厂商编号,由国际性电子技术与电子工程师协会分配。后三个字节代表的是该制造厂商所制造的网卡的序列号,所以MAC地址是全球唯一的地址。
虽然可以通过一些其他手段修改MAC地址,但不在我们的讨论范围。
MAC地址如何表示与确定网卡在网络中的确定位置?
比如我们的计算机A通过网线接入到交换机的端口1,那这个端口1就是网络中的具体位置。
就像我们的门牌号一样,交换机就知道了某个MAC地址在端口1上,从而就把MAC地址与端口进行了绑定。
我们的网卡接入网络后,如果要通信,需要给它配置另一个地址,就是IP地址。
IP地址有两种,IPV4地址和IPV6地址。
比如我们常用的192.168.1.X就是IPV4地址,由四位0到255的数字用小数点间隔构成。
目前IPV4技术可以使用的IP地址最多有42亿多个,看上去像是很难用尽,但由于早期编码和分配上的问题,很多区域的编码实际上被空出或不能使用。
随着互联网的快速成长,IPV4的42亿个地址最终于2011年2月3日用尽。
相应的科研组织已经研究出128位的IPV6的IP地址,数量最高可达3.4乘以10到38次方的。
届时每个人家具中的每件网络设备,甚至地球上每一粒沙子都可以拥有自己的IP地址。
DHCP协议自动帮我们配置
现在我们知道了网卡上需要配置好IP地址才可以工作。DHCP协议就在这时起作用。
将电脑插上网线或者手机连入到wifi操作系统,网络协议站会自动向外发送一包DHCP请求,请求为其分配IP地址。
路由器获取到DHCP请求后会为其分配该IP地址,并通过DHCP回复报文发送回去。
操作系统收到了DHCP回报后将其分配的IP地址配置到网卡上。
注意在一个局域网中,IP地址也是唯一的路由器不会分配重复的IP地址给不同的设备。
当然你也可以手动把DHCP关掉,这样你需要手动来配置一个网卡的IP地址。
但是你要保证你配置的IP地址不能与此网络中的其他地址重复,这样网卡就配置好了IP地址。
操作系统是如何知道对方的MAC地址的?
我们上面提到MAC地址是由操作系统来补齐的那操作系统是如何知道对方的MAC地址的?
实际上这一步是由ARP协议来完成的。
当计算机A想向计算机B发送消息时,操作系统并不会立即发出,查询本地缓存,如果没有对方的MAC地址,他会先发送一包ARP广播报文出去。问一下192.168.1.10的MAC地址是多少?(后面可以去看我的ARP抓包实验)
此时网络中的所有设备都收到了这一包请求报文(广播帧),除了192.168.1.10以外的设备都会丢弃这包请求报文,只有192.16 8.1点时会回复自己的MAC地址是多少。
计算机A收到了回复,知道了计算机B的MAC地址,它首先会把计算机B的MAC地址缓存起来,以便下次使用,然后把这封信补全,从网卡发送出去,交换机根据数据包中的目标MAC地址找到了计算机B所在的端口,从此端口发送出去,数据就被计算机B收到了。
相关文章:
计算机网络——MAC地址和IP地址
目录 前言 引入 MAC地址与IP地址 IP地址和MAC地址是什么?如何起作用的? MAC地址如何表示与确定网卡在网络中的确定位置? DHCP协议自动帮我们配置 操作系统是如何知道对方的MAC地址的? 前言 本博客是博主用于复习计算机网络…...
Unity构建详解(7)——AssetBundle格式解析
【文件格式】 文件可以分为文本文件、图片文件、音频文件、视频文件等等,我们常见的这些文件都有行业内的标准格式,其意味着按照一定的规则和规范去保存读取文件,可以获取我们想要的数据。 有些软件会有自己的文件格式,会按照其…...
前端对接fastGPT流式数据+打字机效果
首先在对接api时 参数要设置stream: true, const data {chatId: abc,stream: true,//这里true返回流式数据detail: false,variables: {uid: sfdsdf,name: zhaoyunyao,},messages: [{ content: text, role: user }]}; 不要用axios发请求 不然处理不了流式数据 我这里使用fetch …...
避免使用第三方工具完成电脑环境检测
0. 简介 在之前配置各种深度学习环境的时候经常需要先检测一下电脑的软硬件环境,其实整个过程比较重复和固定,所以我们是否有可能一键检测Python版本、PIP版本、Conda版本、CUDA版本、电脑系统、CPU核数、CPU频率、内存、硬盘等内容这是很多Deepper苦恼…...
vue 中 mixin 的应用场景,原理和合并规则
应用场景 多个组件的相同逻辑可以提出去来一个公共的 mixin 原理 Mixin 的工作原理是将 Mixin 中的选项合并到组件的选项中 合并规则 优先处理 mixinsprops 、method、inject、computed 同名的使用组件内的,不使用mixin 的data 进行合并生命周期和watch 先执行…...
点击按钮(文字)调起elementUI大图预览
时隔一年,我又回来了 ~ 最近在做后台,遇到一个需求,就是点击“查看详情”按钮,调起elementUI的大图预览功能,预览多张图片,如下图: 首先想到的是使用element-ui的el-image组件,但它是…...
全面学习SpringCloud框架指南
要深入学习Spring Cloud框架,你需要系统地掌握其核心组件和概念,并了解如何在实际项目中应用这些知识。以下是一些关键的学习点和相应的学习内容: 一共分为10个模块包括: 1、微服务架构基础: 理解微服务架构的概念和优势。 学习单体架构向微服务架构演进的过程。 掌握…...
5G智慧水利数字孪生可视化平台,推进水利行业数字化转型
5G智慧水利数字孪生可视化平台,推进水利行业数字化转型。随着5G技术的快速发展,越来越多的行业开始探索数字化转型的道路。水利行业作为国民经济的重要支柱,也面临着数字化转型的迫切需求。5G智慧水利数字孪生可视化平台作为水利行业数字化转…...
新手入门:大语言模型训练指南
在这个信息爆炸的时代,人工智能技术正以前所未有的速度渗透到我们生活的方方面面。从智能手机上的语音助手到自动驾驶汽车,AI的应用无处不在。而在这些令人惊叹的技术背后,大语言模型(LLM)扮演着至关重要的角色。它们不…...
Win11 WSL2 install Ubuntu20.04 and Seismic Unix
Win11系统,先启用或关闭Windows功能,勾选“适用于Linux的Windows子系统”和“虚拟机平台”两项 设置wsl默认版本为wsl2,并更新 wsl --list --verbose # 查看安装版本及内容 wsl --set-default-version 2 # 设置wsl默认版本为wsl2 # 已安装…...
rust使用print控制台打印输出五颜六色的彩色红色字体
想要在控制台打印输出彩色的字体,可以使用一些已经封装好的依赖库,比如ansi_term这个依赖库,官方依赖库地址:https://crates.io/crates/ansi_term 安装依赖: cargo add ansi_term 或者在Cargo.toml文件中加入&#…...
贪心算法|435.无重叠区间
力扣题目链接 class Solution { public:// 按照区间右边界排序static bool cmp (const vector<int>& a, const vector<int>& b) {return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.siz…...
C++的并发世界(七)——互斥锁
0.死锁的由来 假设有两个线程T1和T2,它们需要对两个互斥量mtx1和mtx2进行访问。而且需要按照以下顺序获取互斥量的所有权: -T1先获取mte1的所有权,再获取mt2的所有权。 -T2先获取 mtx2的所有权。再铁取 mtx1的所有权。 如果两个线程同时执行,…...
NI-LabView的DAQ缺少或丢失的解决办法(亲测有效)
DAQmx在Labview中不显示或缺失 问题:在NI Packasge Manager安装完DAQ后在labview中不显示控件解决办法 问题:在NI Packasge Manager安装完DAQ后在labview中不显示控件 在打开测量I/O时,见不到 DAQmx,或者在Express中见不到DAQ助手…...
cesium 调整3dtiles的位置 世界坐标下 相对坐标下 平移矩阵
cesium调整3dtiles的位置用到的是平移矩阵,原理是在世界坐标系中用偏移点减去原始点得到一个平移向量,再根据这个向量得到平移矩阵。 原始点:一般是模型的中心点位置,可通过模型的包围盒得到偏移点:可分为两种情况&…...
flutter跑通腾讯云直播Demo
运行示例 前提条件 要求java jdk 11版本 并且配置到了环境变量 重要 要求flutter 版本 2.8.0 并且配置到了环境变量 重要 要求dart-sdk版本2.15 并且配置到了环境变量 重要 您已 注册腾讯云 账号,并完成 实名认证。 申请 SDKAPPID 和 SECRETKEY 登录实时音视频控…...
飞机降落蓝桥杯[2023蓝桥省赛B组]
2023蓝桥省赛B组 B题 飞机降落 题解 标准深搜板子题,难度不大 #include<bits/stdc.h> using namespace std; #define MAX 10 struct node{int t,d,l;//t:飞机到达时间 d:飞机最大盘旋时间 l:飞机降落所需时间bool v;//标记此架飞机是否被搜索过 用于剪枝 };…...
如何动态渲染HTML内容?用v-html!
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
EFcore 6 连接oracle19 WinForm vs2022
用EFcore访问Oracle,终于不需要Oracle的什么安装包了,直接在VS2022中就可以轻松搞定。在csdn上看到一哥们的帖子,测试了一下,发现很方便。使用的场景是:VS2022中EFcore6。经过测试,同 Navicat Premium 16比…...
(delphi11最新学习资料) Object Pascal 学习笔记---第9章第2节(finally代码块)
9.2 finally 代码块 还有第四个用于异常处理的关键字,我已经提到过,但到目前为止还没有使用过,那就是 finally。finally块用于执行一些应始终执行的操作(通常是清理操作)。事实上,无论是否发生异常&…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
