EUI-64和以太网帧头的混淆

西勒

以太网帧头定义为:

struct ethernet_header {
  uint8_t dest_address[6];
  uint8_t source_address[6];
  uint16_t length_or_ethertype;
};

我的理解是6字节的MAC地址格式现在正式称为EUI-48我还阅读了另一种格式,称为EUI-64,描述了一个8字节的MAC地址。

但是我对...的目的感到困惑EUI-64从表面EUI-64上看,显而易见的原因是当地球上有2 ^ 48个以上的唯一设备时,要处理地址耗尽。但是,我可以找到的所有可用信息谷歌搜索EUI-64似乎只是在谈论有关IPv6的信息。也就是说,EUI-64提供了一种将48位MAC地址映射到IPv6地址的方法。

但是,除了IPv6之外,EUI-64还有其他目的吗?EUI-64是纯粹是为了解决与IPv6有关的问题而发明的,还是为了应对最终用完的48位MAC地址而发明的?

我以为EUI-64主要是为了处理最终用完的48位MAC地址而设计的-这意味着将创建许多具有64位MAC地址(或扩展唯一标识符)的新硬件设备,以使用形式正确的术语。 )但是,如果是这种情况,那么任何现有的网络设备(例如路由器和交换机)将如何分辨源地址和目标地址为48位的数据包与源地址和目标地址为64位的数据包之间的区别。目的地址?

由于以太网报头的前两个字段是2个48位源/目标地址,因此我们不能仅用64位源/目标地址替换这些字段,因为任何检查数据包的软件都不知道如何辨别区别在于,因为在地址之前没有“类型”或“版本”字段。(例如,以IP标头的形式方便地将4位版本字段作为标头的前4位,因此我们可以轻松地区分IPv4和IPv6)。

所以我的问题是:

  1. EUI-64是要解决48位MAC地址用尽的问题,还是仅将MAC地址映射到IPv6地址?

  2. 如果要使用EUI-64解决最终的48位地址耗尽,网络软件如何区分包含48位和64位MAC地址的以太网数据包?

扎克67

由于EUI-48是按24位OUI块分配的,因此地址空间不足。尽管如此,它仍然并将继续用于非常流行的以太网和WiFi网络。

EUI-64是EUI-48的超集,适用于“新”应用程序。当前,它用于Firewire,ZigBee,并以EUI-48的形式用于IPv6。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章