I have just started learning about the different layers of the Internet. As I understand it, the Transport layer is responsible for extending the Network layer's host-to-host delivery service to process-to-process delivery by multiplexing application messages from host processes to the network edge and demultiplexing network datagrams from the network edge to the appropriate processes.
Conceptually, why do we need the Transport layer at all? Can't the host processes take responsibility for multiplexing segments, and the network edge can be responsible for demultiplexing them once they reach the correct host?
My thinking is that, by providing a Transport layer, we can have a "separation of concerns" between creating a message, delivering it to the network, and then delivering it to the appropriate host, but I'm not sure if this is a partial/whole answer. Any clarification would be much appreciated!
Note: I read this post that asks a similar question, and the answer is that it having a Transport layer which implements a protocol that guarantees reliability etc. simplifies applications at Layer 5, but I'm more concerned with the Transport layer overall, regardless of the protocol that's being run on it.