Question

I am not very clear about the idea of wire-level protocols. I heard BitTorrent uses it and read that a wirelevel protocol can be considered an opposite of API. I read RMI calls can be considered wirelevel protocols but am still a little confused. Can someone explain this in a better way?

Was it helpful?

Solution

I wouldn't say that something uses a wire-level protocol or doesn't - I'd talk about which wire-level protocol it uses.

Basically, if something's communicating with a remote machine (even conceptually) then there's some data going across the network connection (the wire). The description of that data is the "wire-level protocol". Even within that, you would often stop short of describing individual network packets - so the wire protocol for a TCP-based protocol would usually be defined in terms of opening a connection, the data streams between the two computers, and probably details of when each side would be expected to close the connection.

OTHER TIPS

I googled and found the following:

Examples:

  • HTTP
  • CORBA
  • DCOM
  • SOAP

Did you try this yourself? If so, what don't you understand?

Quoting the answer posted here

A wire-level protocol can be thought of as the complement of an API. Instead of defining functions and creating libraries, you define the conversational byte sequences that pass over a network to make things happen.

When a protocol is specified at the wire-level and published, most technologies can use it, or be made to use it. Compare this to an API, where the actual implementation is specific to the platform.

JMS is an API. HTTP is a protocol. AMQP delivers the middleware equivalent of HTTP while leaving it up to others to provide implementations.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top