What dictates if a protocol is transport level protocol or application level protocol by definition? Is wire protocol synonym for transport protocol?

Is it simply that, if it's implemented on the network card driver or operating system, or at the application level? For example:

  • TCP/IP = Transport (Network driver)
  • HTTP = Application (HTTP server)

Why is HTTP protocol called a transport protocol in the terms of SOAP? Is SOAP itself an transport or application level protocol?


Because you're mixing stuff.

Your list assumes the ISO/OSI layer model. Within this model each layer has distinct services/features it has to implement. For a closer look see the wiki or some other third party site. The higher up you are the more specific it usually gets in regards to actually handling specific data instead of general data. As an example for transport protocols:

The transport layer provides the functional and procedural means of transferring variable-length data sequences from a source to a destination host via one or more networks, while maintaining the quality of service functions.

SOAP on the other hand has a different definition of what transport means within its context. Again the wiki is a good reference.

Both SMTP and HTTP are valid application layer protocols used as transport for SOAP.

From the perspective of SOAP those are used to transport itself.


Application and Transport are two of the seven layers in the OSI reference model for computer networks.

Notably, the Internet does not use the full seven layer OSI model and it can be argued that it is really a 5 layer model rather than a 7 layer one (Session and Presentation are not really used as the Application can use protocols in the the transport layer (TCP/IP) directly).

The idea behind having different layers is that they can often be interchanged, and generally don't care about what happens below. That way, if you're using a dialup modem connection, or WiFi, your application will continue to operate the same way (although at the low levels, you might be using an entirely different method of communication).

In modern operating systems, the application generally talks to the operating system's 'network stack' to get a session (e.g. a TCP connection). The program running in user space is the 'Application Layer'.

Sometimes people build things on top of other protocols. So in the case of HTTP (used by web browser) it can also be used as a transport protocol. It is an application level protocol in its own right, but can be used as a transport protocol instead of TCP/IP.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.