A previous post in this series discussed the concepts of mechanisms and policies in communication protocols. In his book [1], John Day observes that protocols generally fall into two broad categories based on the mechanisms they implement: relaying/multiplexing protocols and error/flow-control protocols. Relaying protocols deal with moving data between different end points, while error-control protocols ensure data integrity and consistency.
The placement of these two categories alternates within the network’s layer architecture. For instance, Transport and Data Link protocols are primarily concerned with end-to-end error and flow control mechanisms. The difference between the two protocols lies in their scope. Transport protocols deal with end points (communicating entities) positioned across multiple networks, while data link protocols deal with local end points. Similarly, media access control (MAC) and Network protocols deal mainly with relaying and multiplexing mechanisms with different scopes. Another main difference is the presence of feedback mechanisms. Relaying protocols typically operate without feedback, making them less affected by inconsistent state, whereas error-control protocols involve feedback mechanisms to ensure reliability.
This observation leads to viewing the network layer architecture as an alternating sequence of these two sets of functions, as shown in the figure below. This alternation is needed because relaying protocols create opportunities for data loss, which require error-control protocols at the next level to ensure data integrity.
It can be concluded from the above that there are three fundamental types of protocols:
- Relaying and Multiplexing Protocols: Concerned with data transfer and routing through the network.
- Error and Flow-Control Protocols: Ensure that data is transferred without errors and manage the flow of data to prevent congestion.
- Application Protocols: These are designed to meet the specific needs of applications, often relying on the underlying data transfer protocols for communication.
This iterative layering model provides a much simpler view of network protocol operations than the popular OSI and the TCP/IP models. Instead of adhering to strict seven- or four-layer models, the iterative model categorizes protocols by their function rather than their place in the stack. The model also adds the concept of scope in considering network operations.
Another benefit of this model is clarifying the placement of protocols like EIGRP, which does not fit neatly into traditional OSI layers. EIGRP relies on IP for transport but manages its own flow control and error correction, making it better classified by its function rather than its layer. By focusing on purpose and scope, the iterative model avoids rigid layer definitions.
Scope Considerations
A protocol’s scope determines its responsibilities. For instance, it determines how errors are managed within a network. Protocols with less scope (closer to the media) focus on localized policies for error recovery to prevent issues from escalating to higher layers. As scope widens, protocols deal with broader data transfer, making it more efficient to recover from errors at a lower layer with a smaller scope before passing data to a higher layer with a wider scope. This prevents the compounding of errors and maintains a higher quality of service (QoS).
Additionally, application protocols interact directly with systems within the scope of the layer below them. If operating over relaying protocols with a smaller scope, they may be less reliable compared to error-control protocols with the same scope. Having two adjacent protocols with the same scope is redundant, as they essentially perform the same task without introducing any new functionality, highlighting the importance of separating protocols based on their scope in network architecture.
Policy Considerations
Policies define how protocols operate and adapt to different conditions. In relaying and multiplexing protocols, the policy is set by the sender, while in error- and flow-control protocols, the policy is determined by the receiver, reflecting their roles as feedback mechanisms.
Application protocols use a wide variety of policies tailored to the needs of specific applications, while lower-level protocols closer to the media are influenced by the media’s characteristics and use fewer, more constrained policies. Mid-level protocols focus primarily on resource allocation. Separating mechanisms (fixed functions) from policies (variable functions) allows flexibility in how protocols are applied, ensuring that the structure remains consistent while policies can adjust to specific requirements.
References
- J. Day, Patterns in network architecture: A return to fundamentals. 2008.
- R. White and D. Donohue, The Art of Network Architecture, 2014.