Tags:conceptcomputernetworksnetworkosimodel Status:🟩


Computer Networks

Summary

Computer networks are fundamental to distributed systems, enabling communication between processes running on different hosts. A network allows systems to share resources, coordinate actions, and ensure data exchange, but also introduces challenges such as heterogeneity, security concerns, and failures.

Foundations of Networking

Basis model

  • Hosts can include various devices such as laptops, servers, and other computing devices.
  • Processes operate on these hosts, executing tasks and services.
  • Communication between processes occurs through messages sent and received over designated communication channels.
  • Both processes and communication channels are susceptible to failures, impacting the reliability and efficiency of the distributed system.

Failures

  • Channel failures can result in issues such as dropped, lost, reordered, or duplicated messages.
  • Channels can also experience two types of failures:
    • Omission failures: When a channel fails to send a message that should have been sent.
    • Byzantine failures: When a channel behaves unpredictably, possibly sending incorrect or misleading messages.

Security

An attacker can perform various malicious actions on messages, including:

  • Intercepting messages
  • Copying messages
  • Modifying or transforming messages
  • Inserting new messages
  • Deleting existing messages

Channel failure handling

Various strategies are employed to handle different types of channel failures:

  • Message Corruption: Checksums help verify that messages have not been altered during transmission, ensuring data integrity.
  • Lost Messages: Mechanisms like acknowledgments, timeouts, and retransmissions ensure that messages that fail to reach their destination are resent, maintaining communication flow.
  • Duplicated or Reordered Messages: Sequence numbers are used to track the order of messages, helping to identify and manage duplicates and ensuring that messages are processed in the correct sequence.
  • Security: Cryptography and secure protocols safeguard messages against unauthorized access and alterations, ensuring the confidentiality and integrity of data.

Open System Interconnection (OSI) Model

The Open Systems Interconnection (OSI) Model provides a framework for understanding how different protocols interact and work together in a layered approach.
The physical layer could be a wireless connection, fiber connection or a wired connection.
OSI Model - Network Layer
OSI Model - Transport Layer
OSI Model - Application layer

Protocols in Networking

  • Processes and Protocols: Processes in distributed systems adhere to protocols, which are defined sequences of message exchanges and data formats. These protocols ensure standardized communication between processes.
  • Examples of Protocols: Common protocols include TCP (Transmission Control Protocol), UDP (User Datagram Protocol), SMTP (Simple Mail Transfer Protocol), and HTTP (Hypertext Transfer Protocol).
  • Protocol Stacks: Protocols are often organized in stacks, where each layer adds specific functionality. Each layer communicates with the layers directly above and below it, allowing for modular and flexible networking.