Can someone break this down for me? Are 4 and 6 previously reserved MAC prefixes?
Certain routers are processing both IP packets and ethernet frames through the same logic. They want to know which it is. Ethernet frames start with the destination mac address, which used to be sequential and reaching higher numbers seemed far away so most started with 0 or 1. IP packets start with the IP version, so they're 4 or 6.
As a result, some vendors basically implement the following:
def is_ethernet_frame(data):
return not (data.startswith(4) or data.startswith(6))
And similar to the problems with os.name.startswith('Windows 9')
type issues, now we reach the higher numbers, these systems have issues.That reasoning was broken as it assumed sequential assignment is the only way to go.
"I believe IEEE changed their strategy to attempt to purposefully higher the chance of collisions with MAC squatters, to encourage people to register and pay the fee"