delivers the application-specific functionality that is required. there may be many different application programs in this layer.
application layer provides standards for how applications work together. this layer insures the interoperability of applications from different vendors.
receives raw data from the application in use and provides services such as file and message exchange to the application