周其仁:停止改革,我们将面临三大麻烦

抛开立场观点不谈,且看周小平写一句话能犯多少语病

罗马尼亚的声明:小事件隐藏着大趋势——黑暗中的风:坚持做对的事相信未来的结果

布林肯突访乌克兰,为何选择去吃麦当劳?

中国不再是美国第一大进口国,贸易战殃及纺织业? 美国进一步延长352项中国商品的关税豁免期

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

Mac 地址会重复吗?Mac 地址也会耗尽吗?

顶级算法 2022-07-01
关注顶级算法修炼内功
顶级算法后台回复 1024 有特别礼包

责编:顶级算法 | 来源:汇聚魔杖

链接:sohu.com/a/453658004_100058692

上一篇精彩:无重复字符的最长子串

大家好,我是顶级算法。
排序序列:
1、程序员必知必会的排序一:冒泡排序2、程序员必知必会的排序二:快速排序3、程序员必知必会的排序三:直接插入排序4、程序员必知必会的排序四:希尔排序5、程序员必知必会的排序五:拓扑排序6、程序员必知必会的排序六:选择排序7、程序员必知必会的排序七:归并排序

IP地址和Mac地址产生的目的是方便别人找到自己

Mac地址有点像身份证号码,而IP地址就像门牌号码。在茫茫大海中仅凭一个身份证号码找到一颗别样的沙粒很难,但如果先找到具体的沙滩,沙滩划分很小的网格片区,就很容易通过身份证找到这颗别样的沙粒了。

MAC地址(物理地址、硬件地址)是实实在在的网络设备出身地址,它是由厂商写入网络设备的bios中。

网络设备厂商也并不能随意的使用Mac地址,需要向IEEE申请,当然厂商申请需要付费。

Mac地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,前6位16进制数代表了网络硬件制造商的编号,由IEEE分配,而后3位16进制数是由网络产品制造产商自行分配。这样就可以保证世界上每个网络设备具有唯一的MAC地址,比如一台电脑的网卡坏掉了之后,更换一块网卡之后MAC地址就会变。

IP地址是出于拓扑设计出来的,它为互联网上每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。对于路由器、电脑等网络设备,只要IP地址不重复情况下,IP地址是可以随意的修改。

网络的变迁

早期的以太网只有集线器(Hub)、没有交换机(Switch),所以发出去的包能被以太网内所有的机器监听到,所以数据包就需要带上源mac地址和目的mac地址,每个机器只需要接受和自己的MAC地址相匹配的数据包。另外搜索公众号GitHub猿后台回复“赚钱”,获取一份惊喜礼包。

局域网数据传输并不是通过网络层的IP地址进行路由和转发,想要在局域网中发送数据,还需要知道设备的mac地址。比如我们的电脑向其他局域网中的其他电脑发送数据时,它会先通过ARP(地址解析协议)在局域网中获取目的IP地址所对应的MAC地址。

step1:源主机首先会向局域网中发送ARP的广播请求,只要目标mac地址是FF:FF:FF:FF:FF:FF,局域网内的所有设备都会受到这个请求。

step2:接收到ARP请求的设备会检查目的IP地址和自己的IP地址是否一致,不一致就会忽略当前的ARP请求,一致就会向源主机发送ARP响应。

step3:源主机接收到ARP响应后就会更新本地缓存表并继续向目的主机发送数据。

在局域网中如果采用集线器来连接不同的网络设备,相同的MAC地址一般不会出现太多的问题,因为在集线器连接的局域网中所有的数据帧都会被广播给局域网内的全部主机,而如果通过交换机连接不同的网络设备就会受到影响,因为交换机需要学习局域网中不同设备的Mac地址并将数据帧转发给特定的主机。

所以Mac地址其实是可以重复使用的,只是不能在同一个局域网中使用相同的MAC地址,而跨局域网的网络传输则需要通过网络层的IP协议,所以在不同的局域网使用相同的Mac地址就不存在类似的问题。

Mac地址会有重复

按照IEEE的协定每个网络设备出厂都会有全球唯一的Mac地址,并且使用过的也不会再重复使用。但不意味着Mac地址就不会出现重复了,很多小伙伴们都改过Mac地址,有的直接可以通过系统进行修改。

有的网络设备允许你在管理后台手动的修改mac地址。

以上这些都是通过虚拟的方式覆盖原有的Mac地址,并没有更改掉设备出身时烙印的Mac地址。出身时烙印的Mac地址也并不是不能修改,通过硬件写入的方式同样的可以修改Mac地址,本质上Mac地址就是一串二进制数,存放在了bios的某个存储区域内。

Mac地址还可以用很久

有限的Mac地址,不断的使用,迟早是会消耗完的。但是Mac地址数量足够多,还可以使用很长一段时间。

IP地址是32位二进制数,约43亿个IP地址,而Mac地址是48位二进制数,约281万亿个Mac地址。公网IP地址是在2019年才耗尽的,可想而知,Mac地址池可是比IP地址池大了6万多倍,而且重复的Mac地址只要不在一个局域网内就能正常使用,Mac地址相当于永远都消耗不完。


觉得不错?欢迎转发分享给更多人

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 10T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

👆扫码回复【面试题】即可获取👆



公众号后台回复 算法 或者 算法心得 有惊喜礼包!顶级算法交流群

 「顶级算法」建立了读者算法交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。

扫描添加好友邀你进算法群,加我时注明姓名+公司+职位】


版权申明:内容来源网络,版权归原作者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

往日分享:

如何有效地做算法题?迷你天猫商城系统(附源码),改改就能接外包换钱!五大基本算法之分治算法
算法分析的正确姿势这些书,真tm肝……
字节二面,让写一个LFU缓存策略算法,懵了
HTTPS加密算法和过程数据结构的三要素
数组中只出现一次的数字常见加密算法原理及概念

文章有问题?点此查看未经处理的缓存