From my understanding, the ethernet drivers are where the rubber hits the road in terms of sending data over the network. It is where the CPU transfers bits to hardware which somehow goes over the network.
The question is how you do this at the lowest level possible, i.e. without using a unix command like netcat
or something equivalent in C.
From what it sounds like, the ethernet "network card" is a piece of hardware with highly varied implementations. So each version of a MacBook might have a different network card, not to mention each PC version. So it sounds like there could be thousands of different network card implementations. Which is why the operating system like Linux has the "driver" abstraction. The driver is created by the hardware manufacturer so that it fits the ~specification~ Linux has for I'm guessing a "socket", but not sure. Please correct me if I'm wrong.
So what I'm wondering is, how I find out on my Mac how to directly connect to an ethernet driver (at the lowest-level possible), so I can then figure out how to send 1 bit into the network (not going to ask about where to send in the network, because that is probably a further complicated question).