The Relationship of Services to Protocols
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.