Although computer applications sometimes require only desktop resources, applications may unite communicating components from more than one network application, for example, file transfers, e-mail, remote access, network management activities, client/server processes.
There are various protocols which are used at this layer. Definition of a"Protocol" is a set of rules by which two computers communicate. In plain English, you can say that a protocol is a language, for example, English. For me to speak to you and make sense, I need to structure my sentence in a "standard" way which you will understand. Computer communication works pretty much the same way. This is why we have so many different protocols, each one for a specific task.
The last 3 layers of the OSI model are reffered to the "Upper" layers. These layers are responsible for applications communicating between hosts. None of the upper layers know anything about networking or network addresses.