application layer provides standards for how applications work together. this layer insures the interoperability of applications from different vendors.
delivers the application-specific functionality that is required. there may be many different application programs in this layer.
enables client application programs to access the other layers, and it defines the protocols that applications use to exchange data