Home » Articles

The Relationship of Services to Protocols

21 February 2016 No Comment by jawad

Services and protocols are distinct concepts although they are frequently  confused. The distinction  is so imprortant however that I emphasize it again  in this article.
A  service is a set of primitive operations that  a layer provides to the layer above it .The service defines  what  operations  the layer is prepared to perform  on behalf of its users , but it says nothing  at all  about how these operations  are implemented A service relates to an interface between two layer, with the lower layer  being the service  user.
A protocol in contrast is a set of rules governing  the format and meaning of the frames, packets or messages that are  exchanged by the peer entities  within a layer. Entities  use protocols  in order to implement their service  definitions. They are free to change their protocols at will , provided they
do not  change the service visible to their users. In this way, the service  and the protocols  are completely  decoupled. An analogy with programming  languages is worth making. A service is like  an abstract data type or an object in an object oriented  language. It defines operations that  can  be performed  on an object but does not specify  how these operations are implemented. A protocol  relates to the implementation
of the service and  as such is not visible to the user of the service.
Many older protocols  did not distinguish the service from the protocols. In effect a typical layer might have had  a service  primitive  send packet with the user providing a pointer  to a fully assembled packet.
This  arrangement meant that all changes to the protocol were  immediately  visible to the users. Hence most network designers row regard such a design as a serious blunder.

Leave your response!

You must be logged in to post a comment.