Understanding Computer Networks: Communication Structures, Protocols, and Design
Posted on May 8, 2024 in Computers
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.