2

I am sorry if its basics, but I did not find the appealing answer for it over the Internet. Why only MAC is used to transfer the packet to a device ? MAC address is only obtained by ARP for a specific IP address. So, why not just let the routers maintain IP addresses of the neighbouring routers and route packets using IP addresses of routers instead of MAC addresses ?

Why not redesign the architecture, to only use IP address for routing as well as moving the packet in the data link layer too ?

Why do we need MAC addresses?" Why can't network devices such as the routers just send the packet to the next router using the router's IP address?

Note : I know that MAC address is used to identify the system in a network. But you see the source never knew the MAC address of receiver. All it knew was its IP address and MAC address of next hop.

I'm reading Data Comm and Networking by Forouzan ( Ed 5) and it says that even routers have an IP address. So why use the mac address at all. The router can store the IP address of the source and route it to the next router .

EDIT : The question that I was getting as suggestion to this one does not answer my query. There are multiple counter points and proof that I have presented here which could have been done which is not answered by the one which is suggested. So please read my question before making any assumptions.

Himanshu Poddar
  • 7,112
  • 10
  • 47
  • 93
  • Routers do not deliver packet on the same network. Routers route packets _between_ networks. You have other devices (bridges, switches, hubs, etc.) that deliver _frames_ (in which the packets are encapsulated) directly from host to host, and a bridge does not look at the packet, only the layer-2 address on the frame. That allows it to deliver any type of layer-3 protocols (IPv4, IPX, IPv6, AppleTalk, etc.) because it only knows about the layer-2 protocol, e.g. ethernet. Layer-2 on the LAN, and layer-3 between LANs. – Ron Maupin Dec 04 '19 at 17:10
  • But this still does not clarifies, why only IP address of routers is not used, I mean we could have configured it this way – Himanshu Poddar Dec 04 '19 at 17:16
  • No. IP was designed to route packets between networks, while bridges were designed to switch frames on the same network. If you change the network protocol or add a different network protocol (for example, adding IPv6 to your IPv4 network), you do not want to change all the switches in your network (switching is done in hardware). A router never sees a packet unless it is destined for a different network. – Ron Maupin Dec 04 '19 at 17:20
  • I think what you fail to understand is that there are many, many different data-link protocols (ethernet, Wi-Fi, token ring, FDDI, HDLC, PPP, frame relay, ATM, etc.) each with their own requirements, and there are also many network protocols. The separation in layers allows you to mix and match layer-2 and layer-3 protocols. Remember, it took a long time for IP and ethernet to emerge as the networking winners, and IPv4 is going away in favor of IPv6 (a separate incompatible network protocol). IP and ethernet were developed by different people for different things. – Ron Maupin Dec 04 '19 at 17:25
  • `IP was designed to route packets between networks` as you said then why do we use ARP to determine MAC address of next router HOP why not only use IP address of next router to route packets – Himanshu Poddar Dec 04 '19 at 17:26
  • ARP and MAC addressing are only used by the IEEE LAN protocols. For example, if the next router hop is across ATM (common for DSL), then it uses VPI/VCI, not MAC addressing. You are not looking at the big picture. – Ron Maupin Dec 04 '19 at 17:28
  • Also, IPv6 does not use ARP, which requires broadcast that IPv6 does not have. – Ron Maupin Dec 04 '19 at 17:28
  • Since I am a beginner in networking therefore I did not understand this `if the next router hop is across ATM (common for DSL), then it uses VPI/VCI, not MAC addressing.` can you please write an answer explaining the concept in a simpler way – Himanshu Poddar Dec 04 '19 at 17:29
  • Your question is actually off-topic here. There are other SE sites for this. For example, [networkengineering.se], where you will find questions and answers about this subject already, so read those first to make sure what you ask doesn't get closed as a duplicate question. – Ron Maupin Dec 04 '19 at 22:19

1 Answers1

0

What do you think makes more sense: Having one protocol like Ethernet handle all the layer 2 details so that its layer 3 payload doesn't have to care, or force IP, ARP, WoL, IPX, MPLS, SLPP, and dozens more implement it on their own? The whole purpose of OSI layers is that upper layers need not know all the lower layer's details and lower layers need need not support the upper layer's features.

MAC addresses are used for the layer 2 protocol which encapsulates a layer 3 protocol. If all the necessary features were embedded into IP, then you'd be leaving other protocols to re-implement layer 2 routing on their own. This would be wildly inefficient.

forest
  • 206
  • 4
  • 15