So, a router gets a request to relay a message to my IP address 81.214.105.162, on port 1024. These two values are unique to my device in the network, so what is the need for a MAC address?
I have read the other similar questions for this, but it still hasn’t clicked for me. I know that it must use a MAC address since layer 2 doesn’t know about IP addresses, but I am asking why is it designed that way. I also know that IP addresses change often, but I don’t see where is that an issue, sending or receiving a packet doesn’t rely on previous transfers, so there isn’t a need to identify previous IP addresses (then it would’ve made sense to introduce MAC to ensure we know that Device A had IP M and N previously, like a database key).
The analogy of thinking of them as street addresses doesn’t cut it for me neither, IP is Street Name, City, Postal code, Country, a MAC address is just a house number, need both to get the full address. Makes sense if we didn’t have a private IP, but a private IP here also plays the house number role. IP changes, we also change our addresses, mail still gets to us as long as we tell our new address to people we want to communicate with, which happens automatically at every communication in networks. I am really not just asking a duplicate question or something that I didn’t put effort into thinking about, so please don’t close the question.
Till now, two answers made some sense for me. Software licensing, which would be impossible to base on an ever-changing address, but that is just a side use of the OSI protocol, and just simply because MAC came before IP, and it would be simpler to keep the additional bytes and the cost of their routing, than to redesign the whole system, which would’ve made sense if the other answers weren’t describing MAC as an absolute need for networks, even if we were to invent a different model.