Core Network Communication Protocols and Distributed Systems Explained
Classified in Computers
Written on in English with a size of 3.78 KB
Understanding Network Communication Models
Client-Server Communication Model
In the Client-Server model, one process (the server) executes orders or commands requested by another process (the client).
Distributed Applications
Distributed applications consist of different programs that may be located on various machines, such as client and server machines, working together to achieve a common goal.
Network Communication Layers
Network communication can be conceptualized at different levels:
- Application Layer: Deals with the communication processes of application components.
- Physical/Architectural Layer: Focuses on the physical transmission of information.
Protocols and Services
- Protocol: A set of rules governing communication between two entities at a given level. Communication at this level is often virtual.
- Service: The functionality that a given architectural level immediately provides to the layer above it.
- Interface: The method of communication between two adjacent-level entities on the same machine.
Network Bridging and IP Protocol
- Bridge: A device that physically connects two logically distinct networks.
- IP Protocol (Internet Protocol): Responsible for the transmission and reception of units of information (datagrams) between computers across a network.
Flow Control in Network Protocols
Flow Control Mechanisms
Flow control is essential to prevent the saturation of receiver buffers. It involves taking actions to stop or slow the flow of Protocol Data Units (PDUs). This can be complicated by delays between the sender and receiver.
Transmission Control Protocol (TCP)
Key Characteristics of TCP
TCP is a robust, connection-oriented protocol with the following characteristics:
- Connection-Oriented: Requires a connection to be established before data transmission.
- Full-Duplex Point-to-Point Connection: Allows simultaneous two-way communication between two endpoints.
- Sequencing: Ensures data segments arrive in the correct order.
- Error Detection: Identifies corrupted data.
- Retransmission for Error Recovery: Recovers lost or corrupted data blocks through retransmission (byte-oriented).
- Explicit Flow Control: Manages data flow, often using a credit-based mechanism, to prevent receiver overload.
- Congestion Detection and Reaction: Identifies network congestion and adjusts transmission rates accordingly.
TCP Connection Identification
Each TCP connection is uniquely identified by two sockets at its ends: a source socket and a target socket.
TCP Segment Format
The TCP protocol uses a single PDU format: the TCP segment. Data and control segments are differentiated using a series of flags in the TCP header.
TCP Flow Control Implementation
A TCP entity assigns a pair of buffers to each established connection:
- One buffer holds data delivered by the application entity for transmission.
- The other buffer stores received data, making it accessible to the application entity.
User Datagram Protocol (UDP)
UDP: A Connectionless Transport Protocol
UDP is a transport layer protocol based on the exchange of datagrams. It allows sending datagrams through the network without a prior connection, as each datagram includes sufficient addressing information in its header.