关于java:Mac地址会不会重复怎么做到全球唯一的

42次阅读

共计 1390 个字符,预计需要花费 4 分钟才能阅读完成。

问大家一个计算机的基础知识:IP 地址和 Mac 地址为什么会产生?置信很多小伙伴都晓得: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 地址相匹配的数据包。

局域网数据传输并不是通过网络层的 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 的某个存储区域内。

正文完
 0