Understanding Computer Networks: Communication Structures, Protocols, and Design

Communication Structures

Key Elements:

  • Naming and Name Resolution: Identifies processes with host and process IDs, utilizing DNS.
  • Routing Strategies:
    • Fixed Routing: Predefined path from source to destination.
    • Virtual Circuit: Fixed path for a single session.
    • Dynamic Routing: Path determined at the time of message sending.
  • Connection Strategies:
    • Circuit Switching: Dedicated physical link for the duration of communication (e.g., mobile phones).
    • Message Switching: Temporary link for a single message transfer (e.g., post office).
    • Packet Switching: Messages divided into fixed-length packets for transmission.
  • Contention: Techniques to manage simultaneous transmission requests:
    • CSMA/CD (Collision Detection): Used in Ethernet.
    • Token Passing: Unique token circulates to control access.
    • Message Slots: Fixed-length slots circulate for message transmission.

OSI Protocol Layers

  • Physical Layer: Handles mechanical and electrical aspects of bit stream transmission (e.g., IEEE 802.11, Bluetooth).
  • Data Link Layer: Manages frames, including error detection and recovery (e.g., Ethernet).
  • Network Layer: Provides connections, routes packets, and maintains routing information.
  • Transport Layer: Responsible for low-level network access and message transfer between clients, including packet partitioning, ordering, flow control, and address generation.
  • Session Layer: Implements session and process-to-process communication protocols.
  • Presentation Layer: Resolves format differences among network sites (e.g., character conversions).
  • Application Layer: Interacts directly with users, handling file transfer, remote login, email, etc.

Failure Detection and Reconfiguration

Failure Detection:

  • Handshaking protocols can be used to detect link failures.
  • Types of failures include site outages, link failures, and message loss.

Reconfiguration:

  • Link failures are broadcasted to all nodes.
  • Site outages require notification to every node.

Design Issues

  • Transparency: The distributed system should appear as a conventional, centralized system to users.
  • Fault Tolerance: The system should continue functioning in case of failures.
  • Scalability: The system should accommodate the addition of new resources to meet increasing demands.
  • Clusters: Collections of semi-autonomous machines acting as a single system.

Ethernet Packet Structure

  • Preamble: Synchronizes transmission rate.
  • MAC Addresses: Unique identifiers for source and destination.
  • Frame Type: Indicates the protocol carried (e.g., IPv4, IPv6).
  • Message Data: Payload of the packet.

Internet Architecture

  • Composed of LANs and routers/gateways.
  • Each host has a unique IP address.

Internet Addresses

IPv4:

  • 32-bit addresses with network and host parts.
  • Classless Inter-Domain Routing (CIDR) for efficient address allocation.
  • Special addresses: network address, broadcast address, loopback address, private addresses, multicast addresses.
  • Network Address Translation (NAT) for conserving public addresses.

IPv6:

  • 128-bit addresses to address IPv4 depletion.
  • Transition from IPv4 through tunneling mechanisms.

IP Datagram

  • Best-effort delivery system.
  • Independent of LAN technologies.
  • Header fields:
    • Version
    • Header Length
    • Total Length
    • Source and Destination IP Addresses
    • ID
    • Protocol
    • Flags
    • Fragment Offset
    • Time to Live (TTL)
    • Service Type

Datagram Fragmentation

  • Occurs when datagram size exceeds Maximum Transmission Unit (MTU) of a network.
  • Fragments are reassembled at the destination host.
  • Header fields used for reassembly: Total Length, Fragment Offset, More Fragments flag.