Сетевой заголовок кадра определяется как:
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 уникальных устройств.Тем не менее, вся доступная информация, которую я могу найти Googling о EUI-64
, говорит только об этом в отношении IPv6.Таким образом, EUI-64
предоставляет способ сопоставления 48-битного MAC-адреса с адресом IPv6.
Но, кроме IPv6, имеет ли EUI-64
какое-либо другое назначение?Был ли EUI-64 изобретен исключительно для решения проблемы, связанной с IPv6, или он также был изобретен для борьбы с возможным исчерпанием 48-битных MAC-адресов?
Я предполагал, что EUI-64 в первую очередь предназначен для решения проблемы возможного исчерпания 48-битных MAC-адресов, то есть будет создано много новых аппаратных устройств с 64-битными MAC-адресами (или расширенными уникальными идентификаторами)используйте формально правильный термин.) Но если это так, как любое существующее сетевое оборудование, такое как маршрутизаторы и коммутаторы, сможет определить разницу между пакетом с 48-битным адресом источника и назначения и пакетом с64-битный адрес источника и назначения?
Поскольку первые два поля заголовка Ethernet являются 2 48-битными адресами источника / назначения, мы не можем просто заменить эти поля 64-битными источником / адресатомадресов, потому что любое программное обеспечение, проверяющее пакет, не будет знать, как определить разницу, так как нет адресов типа или типа, предшествующих адресам.(Таким образом, например, для заголовка IP удобно использовать поле 4-битной версии в качестве первых 4-битов заголовка, поэтому мы легко можем различить IPv4 и IPv6).
Итак, мой вопрос(s):
Предназначен ли EUI-64 для решения проблемы исчерпания 48-битного MAC-адреса или он предназначен только для сопоставления MAC-адресов с IPv6-адресами?
Если EUI-64 предназначен для решения возможного исчерпания 48-битного адреса, как сетевое программное обеспечение может различать пакеты Ethernet, содержащие 48-битные и 64-битные MAC-адреса?