This post is part of a series. The previous post discusses mechanisms vs policy in protocols.
The operation of communication protocols is typically divided into three distinct phases: Enrollment, Establishment (or Synchronization), and Data Transfer. Each phase plays a crucial role in ensuring that communication between systems or applications is successful.
Enrollment Phase
The Enrollment phase is responsible for setting up the foundational information and configurations needed for communication to occur. This phase is about preparing and making a system or protocol ready to participate in communication. This phase includes three key operations:
- Creation and distribution of information: Enrollment creates the necessary information within a network layer that is required to initiate communication. This includes setting up addresses, directories, routing tables, access control rules, and parameters that define the communication capabilities.
- Registration: This involves making the created information (like addresses and capabilities) available within the network. It is distributed to directories or other relevant entities in the network, making the system or protocol known and ready for communication.
- Activation/Deactivation: Even after registration, a protocol might not be immediately available for communication. Activation is the process of enabling a protocol to start communication, while deactivation puts it offline without erasing the registration. Deactivation does not affect ongoing communications but prevents new ones from starting.
De-enrollment is the process of deregistering or deleting the information set up during enrollment, usually after communication has ended.
The enrolment and de-enrollment phases could be (and often are) performed manually as part of network management. Dynamic Host Configuration Protocol (DHCP) is an example of an enrollment activity where IP addresses are assigned dynamically to devices, registering them within the network.
Synchronization Phase
The Establishment or Synchronization phase ensures that the systems or protocols that will communicate are in sync and have a shared understanding or state necessary to carry out data transfer. This phase establishes the initial shared state between communicating entities, ensuring they are ready to exchange data. The state may include synchronized time, sequence numbers, or Quality of Service (QoS) parameters. Desynchronization occurs when the shared state is no longer needed and the protocol wants to terminate the data transfer.
There are two general approaches in handling synchronization by protocols. In in-band protocols, synchronization and data transfer happen within the same protocol. In out-of-band protocols, synchronization and data transfer are handled by separate protocols.
In TCP (Transmission Control Protocol), the three-way handshake is part of the synchronization phase, ensuring both sender and receiver are ready for data exchange.
Data Transfer Phase
The Data Transfer phase is where the actual exchange of information occurs according to the rules and conditions established during the previous phases.
The key activity in this phase, is the transfer of data, where data is exchanged between the communicating entities according to the protocol’s specifications and the QoS parameters established. In some application protocols, data transfer can be subdivided into smaller phases depending on the complexity of the communication or the specific application requirements.
In TCP, once a connection is established, the actual transmission of web pages, emails, or files occurs during the data transfer phase.
References
- J. Day, Patterns in network architecture: A return to fundamentals. 2008.