In-Depth Notes on Internet Structure and Networking Protocols
Internet Structure
- Definition: A network composed of networks, where ISPs (Internet Service Providers) vary by tiers.
- Types of ISPs:
- Tier 1 ISPs: Backbone providers, interconnect without paying.
- Tier 2 ISPs: Regional providers, may have to pay Tier 1 ISPs.
- Tier 3 ISPs: Local carriers linked to Tier 2 ISPs.
- Network Resilience: Achieved through multihoming, where ISPs offer connections to multiple upstream providers for redundancy.
- Traceroute Utility: Helps end hosts probe and discover the pathway that packets take to a specific destination.
Packet Loss and Variable Delays
- Packet Loss Causes:
- Unreliable transmission links (e.g., radio bit error rates ~10^-6, optical ~10^-15).
- Buffers (queues) have finite capacities. When full, new incoming packets are discarded.
- Loss strategies: Previous nodes, source systems may attempt retransmission, or may not.
- Variable Delays:
- Processing Delay: Time taken to check for errors and route the packet (~microseconds).
- Queuing Delay: Time packets spend waiting in queues, influenced by network congestion.
- Transmission Delay: Time to push all bits of the packet into the link, calculated as \frac{L}{R} where L is packet size and R is link bandwidth.
- Propagation Delay: Time for a signal to travel through the cable, calculated with the physical length of the link divided by its propagation speed.
Types of Delay in Packet-Switched Networks
- Nodal Delay Components:
- d_{proc} = Processing delay (a few microseconds)
- d_{queue} = Queuing delay (depends on current load)
- d{trans} = Transmission delay, d{trans} = \frac{L}{R}
- d_{prop} = Propagation delay (milliseconds to hundreds of seconds)
- Total Delay: d{nodal} = d{proc} + d{queue} + d{trans} + d_{prop}
Example Calculation
- Scenario: Sending a 50,000 byte message from Houston to Mark on Mars at 1Kbps:
- Transmission Delay: \frac{50000 \times 8}{1000} = 400 seconds.
- Propagation Delay (56 million km): \frac{56 \times 10^6 \text{ km} \times 10^3}{3 \times 10^8 \text{ m/s}} = 186 seconds.
- Total Delay: 400 + 186 = 586 seconds.
Protocols and Layering in Networking
- Protocols: Define rules for communication (e.g., TCP, IP, HTTP), with services that specify functionality offered.
- Architecture Layers:
- Application Layer: User-facing applications (e.g., HTTP, DNS).
- Transport Layer: Reliable (e.g., TCP) or unreliable (e.g., UDP) data transfers.
- Network Layer: Responsible for routing (e.g., IP).
- Data Link Layer: Transfers data between adjacent network elements (e.g., Ethernet).
Application Layer Structures
- Client-Server Model:
- Constantly running servers with fixed IPs; clients can connect intermittently.
- Peer-to-Peer (P2P) Model:
- Distributed system where any client can become a server - self-scaling as new peers join.
- Hybrid Model:
- Combines aspects of both, with the server maintaining user information and clients communicating directly.
Summary Points for Networking
- Internet is a complex blend of protocols and architectures.
- Understanding packet loss, delays, and the structure of protocols aids in navigating networking concepts.
- Layering forms the fundamental basis of network modularity and organization, essential in maintaining scalable and manageable systems.