1

If packets "hop" from network device to network device across networks using MAC addresses, resolved by ARP, does this suggest that IP is essentially an abstraction?

By abstraction, I mean, the actual movement of packets through networks is from MAC address to MAC address (although the destination IP is included in the packet), and IP only exists to make life easier for software developers (i.e. map multiple IPs to one MAC, group devices into subnets, etc).

  • "By abstraction, I mean, the actual movement of packets through networks is from MAC address to MAC address" That is incorrect. Remember that MAC addressing is only used by some data-link protocols (the IEEE protocols), and of the those that use MAC addressing, some use 48-bit MAC addressing, and some use 64-bit MAC addressing. Other data-link protocols use other addressing (DLCI, VPI/VCI, etc.), or no addressing at all (PPP). Routers strip off the data-link frame, losing any data-link addresses, building a new frame for the next link, with new addressing for the next link. – Ron Maupin Apr 28 at 17:12
7

Is your home postal address an abstraction?

When someone send you a paper mail, they put your address on the envelope, then put the envelope in the mailbox (the first "router").

Then this mail goes from one hop to another through different means: from the mailbox to the local post office (second router), by car from the local post to a sorting center (third router), by truck to the next office, etc...

Potentially the letter can be carried by plane, or even by boat, and can be delivered to the final destination by bicycle, but the emitter doesn't care.

The only piece of information the emitter needs to know is your postal address. It doesn't need to know the address of each hop in the path nor the transportation mean used.

IP works exactly the same way: the emitter knows the IP address of the destination and don't care of the address of each hop or type of network encountered. Note that you are speaking solely of ethernet but there's many other technology used at layer 2.

IP doesn't exist "to make life easier for software developers". A layer 3 address is required for the system to work.

  • 3
    It just occurs to me that we're rapidly approaching the point when using postal mail as an analogy will be quaint and obsolete. Like using fire to explain LEDs. – Ron Trunk Apr 27 at 12:34
5

IP is an abstraction, but not the way you're describing it. In the OSI and TCP/IP models, layers abstract the layers below them. For example, an application protocol, like http, just expects a stream of bytes. Http doesn't know or care how the bytes arrive. Everything that happens below the application layer is abstracted. Media, data rates, clock speed, routing, flow control, error detection -- all of that is abstracted away.

By abstracting lower layers, upper layers don't have to care about the details. It doesn't matter to http whether you're using IPv4 or IPv6, Ethernet or Wi-Fi, DSL or satellite. Everything is abstracted into a stream of bytes.

  • I understand, but am I write in saying that ultimately data is sent from MAC to MAC, not IP to IP (as the MAC layer is below IP). – 19172281 Apr 27 at 12:18
  • @19172281 Ultimately, data is sent from port to port only. Sending from MAC to MAC or from IP to IP is practically the same level of abstraction. – Zac67 Apr 27 at 12:21
  • I presume you mean port in the physical sense? – 19172281 Apr 27 at 12:21
  • Ultimately? Depends on your perspective . Ultimately it's just electrons changing state. – Ron Trunk Apr 27 at 12:28
  • 1
    That’s exactly the point of layers. Imagine having to an email protocol, for example, that had a separate version for Ethernet, wi-fi 10Gb Ethernet, DSL, LTE, 5G, etc. Also remember that not all L2 protocols have MAC addresses. – Ron Trunk Apr 27 at 19:36
3

Is Ethernet's data link layer using MAC addresses an abstraction of the physical layer? The physical layer is the only layer where bits are actually moved. It all depends on your point of view.

Each layer has its own purpose and they all need to work together for a complex network to work.

The transport layer's job is to allow communication between applications running on hosts. An application doesn't have to care about details in between.

The network layer's job (e.g. IP) is to allow communication between hosts across an arbitrarily large network using logical, grouped addresses. The network layer doesn't have to care about physical connections and how a network is actually built.

The data link layer's job (e.g. Ethernet) is to a allow communication between hosts (interfaces) connected to a shared local area network. This is mostly point-to-multipoint using MAC addressing ("physical" addresses). The data link layer doesn't care about how its frames are actually transmitted.

The physical layer's job is to move bits from one place to another. Usually, that's point-to-point, from one end of a cable to the other. It's only here that link speeds, media, distance, line codes and such matter.

Each layer somewhat multiplexes and refines the simpler layer below it. The functionality increases going up each layer.

Yes, each layer is a kind of abstraction of the one below. But it is also much more, introducing another level of functionality.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.