End-systems typically run a variety of applications at the same time. For example, at any given time a browser, a music streaming service, and an email agent could be running.
So how does the end-system know which process to deliver packets to? Well, that’s where the transport layer’s demultiplexing comes in.