每日一个计算机小知识:MAC地址

每日分享一个有趣的计算机小知识,今日话题:**MAC地址 **

MAC地址全称 Media Access Control Address,直译为媒体控制位地址,也叫物理地址、局域网地址、以太网地址,是网络设备的唯一硬件标识。注意这里的MAC并不是我们常说的苹果笔记本那个Mac,这两者可以说是毫无关系只是碰巧字母一样而已。

它位于OSI七层网络模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)的第2层数据链路层,由制造商烧录在设备网卡上,用于在局域网内精确识别设备并确保数据传输的准确性。

MAC地址的长度为48比特位,也就是6个字节,通常用12个16进制数表示,如 11:1A:2B:3C:4D:5E,它由电气与电子工程师协会IEEE进行统一管理,以确保MAC地址的全球唯一性。

正常一家网卡公司要使用MAC地址,需要先付费向IEEE提出申请,由IEEE给分配前24位作为组织唯一标志符 OUI(Organizationally Unique Identifier),后24位由厂家自己设定。但IEEE对MAC地址的管理并不具有强制性,实际48位都可以由设备公司自己设定。

我们可以通过MAC地址第一个字节的G/L位(第2位)来确定其是否具有全球唯一性。取MAC地址的第一个字节(如02:1A:2B:3C:4D:5E的02),将其从十六进制转为8位二进制,02转二进制是00000010;查看第2位数字若为0,是全球唯一地址(IEEE分配),若为1就是本地管理地址(用户自定义),例子这里从右边开始数第二位是1,表明该MAC地址是本地管理地址。

MAC地址冲突时会出现网络连接异常、数据传输错误、设备频繁掉线等,通常家用网络中,因手动修改MAC地址(本地管理地址)导致冲突的概率较高,设备出厂MAC地址重复(多为山寨设备)也会引发此类问题。

我们的电脑的MAC地址数量取决于其拥有的网络接口数量,每个独立的网络接口(硬件层面)对应一个唯一的MAC地址。一台电脑标配通常1个有线网卡(连接网线)和1个无线网卡(连接WiFi),在windows终端命令窗口中输入 ipconfig /all 看到的物理地址实际就是MAC地址。若电脑还有外接网络设备(如USB无线网卡、虚拟机虚拟网卡、蓝牙共享网络接口),会新增对应数量的MAC地址。

很多人可能会混淆MAC地址和IP地址,IP地址位于OSI参考模型的第三层网络层,IP 是 "逻辑地址",负责在广域网中指路;MAC地址是 "物理地址",负责在局域网中找人。数据传输时,IP地址表示计算机的网络层地址,网络层设备(如路由器)会先通过IP地址跨网路由到目标局域网,数据链路层设备(如交换机)再通过MAC地址在局域网内找到具体设备。

相关推荐
慧慧吖@13 小时前
sse,短轮询,长轮询,webSocket
网络·websocket·网络协议
勇哥java实战分享14 小时前
第一次用 Ollama 跑视觉模型:Qwen2.5-VL 7B 给了我一个意外惊喜
后端
码事漫谈15 小时前
从后端开发者到Agent工程师:一份系统性的学习指南
后端
码事漫谈15 小时前
后端开发如何将创新转化为专利?案例、流程与实操指南
后端
小坏讲微服务16 小时前
SpringCloud零基础学全栈,实战企业级项目完整使用
后端·spring·spring cloud
humors22117 小时前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel
AiXed18 小时前
PC微信协议之nid算法
python·网络协议·算法·微信
Easonmax19 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
百锦再19 小时前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
小羊失眠啦.19 小时前
深入解析Rust的所有权系统:告别空指针和数据竞争
开发语言·后端·rust