General protocol for data transfer from one system to another?
There is no one way to send data, there are many different ways to communicate depending on the distance, the data rate, the environment, the application ...

The lowest layer is the physical layer, which actually moves the bits around.


SPI and I²C are for short distances inside a device, where there is not much noise that could disturb the transmission.
For not too fast communication over distances up to some tens of meters serial communication via RS-232 is a good choice.
If there is more noise or longer distance differential signals are used, for example in RS-485. For faster data transmission there is Ethernet, which is becoming more and more popular.
Then there are also various wireless standards.


On top of the physical layer there are more layers organizing how the data is sent, for detecting and correcting errors in transmission, routing in a network, and many other things. For example, the internet protocol is a rather complex stack of several layers, typically on top of the Ethernet protocol.