Connecting two computers using an Ethernet cable
Solution 1:
Ethernet is like a pizza. You've found the crust (layer 1) and sauce (layer 2). Your question is which slice are the toppings on?
Conceptually, the toppings are everywhere on a pizza. The practical implementation of this concept consists of a bunch of things spread across the pizza roughly evenly, with each slice having some of them. If some of your pizza slices completely lack pepperoni, they're not proper slices! All of these pepperoni, when you think about them together, implement the concept of pepperoni layer.
Similarly, OSI layers are conceptual and don't have to correspond neatly to any particular piece of hardware or software. The implementation of these concepts involve some concrete solutions. In the lowest layer (physical) these concrete implementations will be common between all network participants (slices), but as you go up the stack, layers will consist of multiple parts spread across networked devices. Pizza works the same way, the crust is common but next layers build on top of it. There's no single common pepperoni.
Each device has to have its own layer 2 and higher implementation. Their implementations follow the same standards, so they can communicate.