Computer Networking: A Top-Down Approach - Chapter 1: Introduction and Foundations

Foundations of Computer Networks and the Internet

  • Nuts-and-Bolts View of the Internet:

    • End Systems (Hosts): Computing devices connected to the network that reside at the network edge. These run application programs (e.g., Web browsers, email clients, streaming video players). In contemporary networks, billions of connected devices populate the Internet edge.
    • Non-Traditional and Smart Connected Devices:
    • Internet Protocol (IP) picture frames and Web-enabled toasters with integrated weather forecasting.
    • Voice over IP (VoIP) Internet telephones and Internet-connected smart refrigerators.
    • Slingbox hardware providing remote television control over IP.
    • Tweet-a-watt power meters measuring and publishing residential energy consumption.
    • Sensorized smart bed mattresses monitoring sleep biomechanics.
    • Commercial Internet-connected security cameras and Amazon Echo smart assistants.
    • Implantable medical hardware (e.g., pacemakers and wireless cardiac home monitors).
    • Consumer wearables (e.g., Fitbit fitness trackers) and Augmented Reality (AR) headsets.
    • Packet Switches: Intermediary devices that forward discrete chunks of data (packets) across network links. Key switches include link-layer switches (predominantly in access networks) and routers (in the network core).
    • Communication Links: Physical channels conveying data via guided or unguided media. Links include coaxial cable, twisted-pair copper wire, optical fiber, terrestrial radio spectrum, and satellite channels. Every link transmits data at a specific transmission rate, known as link capacity or bandwidth, measured in bits per second (bps\text{bps}).
    • Networks: Collections of physical communication links, packet switches, and end systems administered as a unified infrastructure by specific commercial, educational, or governmental organizations.
    • Network of Networks: The Internet does not connect every host to a single central switch; it is a global interconnection of independent, loosely hierarchical Internet Service Providers (ISPs).
    • Internet Standards and Governance:
    • RFC (Request for Comments): Technical and engineering documents defining the protocols, procedures, and architectural foundations of the Internet.
    • IETF (Internet Engineering Task Force): The open international standards organization responsible for producing and maintaining RFC standards.
  • Service View of the Internet:

    • Infrastructure for Distributed Applications: Provides underlying data transport capabilities to diverse network applications, including the World Wide Web, streaming video platforms, multimedia teleconferencing, electronic mail, multiplayer online games, electronic commerce, social networks, and interconnected Internet of Things (IoT) appliances.
    • Application Programming Interface (API): Exposes a standardized programming interface ("hooks") to distributed applications running across end systems. The API allows software developers to specify destination addresses and transmission options, functioning analogously to a postal service offering varying delivery models.

Network Protocols: Principles, Definitions, and Human Analogies

  • Definition of a Protocol:

    • A protocol defines the exact format and order of messages exchanged between two or more communicating network entities, along with the precise actions taken upon the transmission or reception of a message or upon internal timer events.
    • Protocols govern every communication action across the Internet between hardware components, operating systems, and user applications.
  • Human Protocol Analogy:

    • Standard greeting sequence: Person 1 transmits "Hi"; Person 2 receives the message and returns "Hi".
    • Time inquiry sequence: Person 1 sends "Got the time?"; Person 2 processes the inquiry, reads their clock, and transmits "2:00".
    • Protocols fail or stall if unexpected messages or timing anomalies occur (e.g., silence instead of a reply).
  • Computer Network Protocol Analogy:

    • Transmission Control Protocol (TCP) and Hypertext Transfer Protocol (HTTP) handshake and transfer:
    • End System 1 transmits a TCP connection request packet to End System 2.
    • End System 2 replies with a TCP connection response packet, establishing the transport socket.
    • End System 1 transmits an HTTP GET http://gaia.cs.umass.edu/kurose_ross request message.
    • End System 2 processes the uniform resource locator (URL) and transmits the requested web <file> back to the requester.

The Network Edge: Access Networks and Physical Media

  • Network Edge Anatomy:

    • Hosts comprise clients (desktops, mobile devices, IoT hardware) and servers (typically consolidated in massive enterprise data centers).
    • Access networks physically link end systems to the very first router (the edge router) encountered on a path toward the network core.
  • Residential and Commercial Access Networks:

    • Cable-Based Access:
    • Employs Hybrid Fiber-Coax (HFC) architecture, using fiber optics from the cable headend to regional distribution hubs, and coaxial cable branches to individual neighborhood residences.
    • Operates as a shared broadcast medium: All households attached to a cable segment share the upstream and downstream link capacity.
    • Uses Frequency Division Multiplexing (FDM): Channels are segregated into distinct frequency bands (e.g., video channels, upstream data channels, downstream data channels, control channels) over the same physical conductor.
    • Asymmetric transmission rates: Downstream rates range from 40 Mbps40\,\text{Mbps} to 1.2 Gbps1.2\,\text{Gbps}; upstream rates range from 30 Mbps30\,\text{Mbps} to 100 Mbps100\,\text{Mbps}.
    • Terminated at the ISP facility by a Cable Modem Termination System (CMTS), which translates analog radio frequency signals from residential cable modems into digital packets routed to the Internet.
    • Digital Subscriber Line (DSL):
    • Operates over dedicated copper telephone wires running directly from a home telephone jack to a local telephone company Central Office (CO).
    • Uses a DSL access multiplexer (DSLAM) located at the Central Office to separate voice and high-speed data frequencies.
    • Voice traffic is routed onto the traditional Public Switched Telephone Network (PSTN); digital network data is multiplexed directly to the ISP routing backbone.
    • Employs dedicated point-to-point lines (no shared local access medium with neighbors).
    • Transmission rates: Downstream dedicated rates of 24–52 Mbps24\text{--}52\,\text{Mbps}; upstream dedicated rates of 3.5–16 Mbps3.5\text{--}16\,\text{Mbps}.
    • Home Networks:
    • Typically integrate multiple functions into a single customer-premises device: a cable or DSL modem, a hardware router, an IP network address translation (NAT) engine, a stateful packet-filtering firewall, an Ethernet switch operating at 1 Gbps1\,\text{Gbps}, and a wireless local area network access point.
    • Wireless Local Area Networks (WLAN):
    • Connects mobile end systems within a short radius (typically ≈100 ft\approx 100\,\text{ft}, or tens to hundreds of meters) to an access point (AP) wired to the edge network.
    • Governed by IEEE 802.11802.11 specifications (802.11b/g/n802.11\text{b/g/n} commonly termed WiFi), offering transmission capacities of 11 Mbps11\,\text{Mbps}, 54 Mbps54\,\text{Mbps}, and up to 450 Mbps450\,\text{Mbps}.
    • Wide-Area Cellular Access Networks:
    • Provided by mobile cellular network operators using base transceiver stations (cell towers) covering areas spanning tens of kilometers.
    • Uses 4G4\text{G} LTE and 5G5\text{G} infrastructure to deliver mobile transmission speeds in the tens to hundreds of Mbps\text{Mbps} (6G6\text{G} under standard development).
    • Enterprise Access Networks:
    • Utilized by companies, academic institutions, and government campuses.
    • Interconnects internal server farms (institutional mail servers, internal web servers) and client workstations via enterprise Ethernet switches and institutional boundary routers connected via leased lines to an upstream ISP.
    • Wired Ethernet standards provide dedicated access links operating at 100 Mbps100\,\text{Mbps}, 1 Gbps1\,\text{Gbps}, or 10 Gbps10\,\text{Gbps}.
  • Host Packetization and Link Transmission Rate:

    • When an end system transmits an application message, it partitions the data into chunks of LL bits, designated as packets.
    • If a link operates at capacity RR bits/sec (link bandwidth), the transmission delay (dtransd_{\text{trans}}) to push all LL bits into the physical link is:     dtrans=LRd_{\text{trans}} = \frac{L}{R}
  • Physical Transmission Media:

    • Guided Media: Signals propagate within physical boundaries.
    • Twisted Pair (TP): Two insulated copper wires twisted in a regular spiral pattern to reduce electromagnetic induction from adjacent pairs.
      • Category 5 (Cat 5): Supports 100 Mbps100\,\text{Mbps} and 1 Gbps1\,\text{Gbps} Ethernet.
      • Category 6 (Cat 6): Designed with enhanced shielding to support 10 Gbps10\,\text{Gbps} Ethernet.

Ethernet RJ45 connector

  • Coaxial Cable: Two concentric copper conductors isolated by a circular dielectric material and wrapped in an outer protective sheath.
    • Supports bidirectional, broadband signal propagation across multiple frequency channels at hundreds of Mbps\text{Mbps} per channel.

Coaxial cable construction

  • Fiber Optic Cable: Extremely thin, flexible glass strands that channel short optical pulses of light, where each light pulse represents a bit.
    • Provides high transmission speeds (tens to hundreds of Gbps\text{Gbps} per fiber strand).
    • Exhibits low attenuation, enabling repeaters to be spaced hundreds of kilometers apart.
    • Completely immune to electromagnetic interference (EMI) and external electrical noise.
    • Unguided Media: Signals propagate freely through the atmosphere and physical space without physical conduits.
  • Electromagnetic spectrum carries radio waves in half-duplex (directional) or broadcast modes.
  • Susceptible to physical environmental degradation: path loss, physical obstruction reflection, multipath fading, and interference/noise.
  • Transmission Directional Modes:
    • Simplex: Signal transmission occurs strictly in one unalterable direction (only one device transmits; the other receives).
    • Half-Duplex: Signal propagation is bidirectional, but communication cannot occur simultaneously (only one device can transmit at a given time).
    • Full-Duplex: Bidirectional communication occurs simultaneously along both paths.
  • Radio Link Categories:
    • WiFi (WLAN): Short distances (tens of meters); rates of 10–100s Mbps10\text{--}100\text{s}\,\text{Mbps}.
    • Cellular (Wide-Area): Regional coverage (≈10 km\approx 10\,\text{km}); rates of tens to hundreds of Mbps\text{Mbps}.
    • Bluetooth: Short-range personal area networks replacing equipment cables over low-rate channels.
    • Terrestrial Microwave: Highly directional, point-to-point parabolic dish links operating up to 45 Mbps45\,\text{Mbps}.
    • Satellite Communication: Relays signals via geostationary orbit (GEO) at 36,000 km36{,}000\,\text{km} altitude (≈270 ms\approx 270\,\text{ms} propagation delay per hop, rates up to 45 Mbps45\,\text{Mbps}) or via Low Earth Orbit (LEO) constellations.

The Network Core: Switching Paradigms, Store-and-Forward Transmission, and Network Delay

  • Core Routing and Forwarding:

    • The network core comprises a mesh of interconnected packet switches (routers).
    • Forwarding (Data Plane Action): Local operational process within a router that takes an incoming packet from an input link interface and moves it to the appropriate output link interface.
    • Routers read the destination address header field and query an internal local forwarding table to determine the outgoing port.
    • Routing (Control Plane Action): Network-wide distributed process that coordinates across all routers using routing algorithms to calculate optimal paths from source to destination hosts.
  • Store-and-Forward Packet Switching:

    • A packet switch must receive the entire packet (all LL bits) before it can begin transmitting the first bit onto the outbound link.
    • Single-Hop Baseline:
    • Given packet length L=10 Kbits=10,000 bitsL = 10\,\text{Kbits} = 10{,}000\,\text{bits} and link capacity R=100 Mbps=100×106 bpsR = 100\,\text{Mbps} = 100 \times 10^6\,\text{bps}:       dtrans=10×103 bits100×106 bps=0.1 ms=10−4 secondsd_{\text{trans}} = \frac{10 \times 10^3\,\text{bits}}{100 \times 10^6\,\text{bps}} = 0.1\,\text{ms} = 10^{-4}\,\text{seconds}
    • Pipelined Multi-Hop Delay Formulation:
    • For NN packets transmitted across EE identical store-and-forward links of rate RR with link propagation delay dpropd_{\text{prop}}, the total time to deliver all packets is governed by pipeline dynamics:       Delay=N⋅LR+(E−1)⋅LR+E⋅dprop\text{Delay} = N \cdot \frac{L}{R} + (E - 1) \cdot \frac{L}{R} + E \cdot d_{\text{prop}}Delay=N⋅dtrans+(E−1)⋅dtrans+E⋅dprop\text{Delay} = N \cdot d_{\text{trans}} + (E - 1) \cdot d_{\text{trans}} + E \cdot d_{\text{prop}}
  • Step-by-Step Numerical Latency Examples:

    • Single-Link File Transmission (A to B):
    • File size =30 Kbits= 30\,\text{Kbits}, packet size L=10 KbitsL = 10\,\text{Kbits}, number of packets N=3N = 3, link rate R=100 MbpsR = 100\,\text{Mbps}, propagation delay dprop=0d_{\text{prop}} = 0:       dtrans=10 Kbits100 Mbps=0.1 msd_{\text{trans}} = \frac{10\,\text{Kbits}}{100\,\text{Mbps}} = 0.1\,\text{ms}
    • Packet 1 finishes transmission at T=0.1 msT = 0.1\,\text{ms}.
    • Packet 2 finishes transmission at T=0.2 msT = 0.2\,\text{ms}.
    • Packet 3 finishes transmission at T=0.3 msT = 0.3\,\text{ms}.
    • Total time elapsed: 0.3 ms0.3\,\text{ms}.
    • Two-Link Pipelined Transmission (A to C via B):
    • Path has E=2E = 2 links (A→B→CA \to B \to C), R=100 MbpsR = 100\,\text{Mbps}, file size =30 Kbits= 30\,\text{Kbits}, packet size L=10 KbitsL = 10\,\text{Kbits} (N=3N = 3 packets), dprop=0d_{\text{prop}} = 0:
      • At T=0.1 msT = 0.1\,\text{ms}, router B receives Packet 1 completely from link 1 and starts forwarding it onto link 2; Host A begins pushing Packet 2 onto link 1.
      • At T=0.2 msT = 0.2\,\text{ms}, router B receives Packet 2 and starts forwarding it onto link 2; Host C receives Packet 1; Host A pushes Packet 3 onto link 1.
      • At T=0.3 msT = 0.3\,\text{ms}, router B receives Packet 3 and begins transmission onto link 2; Host C receives Packet 2.
      • At T=0.4 msT = 0.4\,\text{ms}, Host C receives Packet 3.
      • Total delivery time: 0.4 ms0.4\,\text{ms}.
    • Two-Link Unsegmented File Transmission (A to C via B):
    • Same setup as above, but without segmentation (N=1N = 1 packet of size L=30 KbitsL = 30\,\text{Kbits}):       dtrans=30 Kbits100 Mbps=0.3 msd_{\text{trans}} = \frac{30\,\text{Kbits}}{100\,\text{Mbps}} = 0.3\,\text{ms}
      • At T=0.3 msT = 0.3\,\text{ms}, router B receives the complete file packet and begins transmission onto link 2.
      • At T=0.6 msT = 0.6\,\text{ms}, destination host C receives the entire packet.
      • Total delivery time: 0.6 ms0.6\,\text{ms}.
    • Two-Link Transmission with Propagation Delay (A to C via B):
    • Distance between nodes: dA→B=100 kmd_{A \to B} = 100\,\text{km}, dB→C=100 kmd_{B \to C} = 100\,\text{km}. Speed of light: s=2×108 m/ss = 2 \times 10^8\,\text{m/s}. File size =30 Kbits= 30\,\text{Kbits}, L=10 KbitsL = 10\,\text{Kbits} (N=3N = 3), R=100 MbpsR = 100\,\text{Mbps}:       dtrans=10×103 bits100×106 bps=0.1 msd_{\text{trans}} = \frac{10 \times 10^3\,\text{bits}}{100 \times 10^6\,\text{bps}} = 0.1\,\text{ms}dprop=100×103 m2×108 m/s=0.5 msd_{\text{prop}} = \frac{100 \times 10^3\,\text{m}}{2 \times 10^8\,\text{m/s}} = 0.5\,\text{ms}
      • At T=0.1 msT = 0.1\,\text{ms}, Host A finishes transmitting Packet 1 onto link 1.
      • At T=0.1+0.5=0.6 msT = 0.1 + 0.5 = 0.6\,\text{ms}, Packet 1 arrives at router B; router B begins transmitting Packet 1.
      • At T=0.6+0.1=0.7 msT = 0.6 + 0.1 = 0.7\,\text{ms}, router B finishes transmitting Packet 1 onto link 2.
      • At T=0.7+0.5=1.2 msT = 0.7 + 0.5 = 1.2\,\text{ms}, Packet 1 arrives at destination C.
      • Packets 2 and 3 follow behind through pipelining, arriving at destination C at T=1.3 msT = 1.3\,\text{ms} and T=1.4 msT = 1.4\,\text{ms}, respectively.
      • Calculated via formula:         Delay=N⋅dtrans+(E−1)⋅dtrans+E⋅dprop=3(0.1)+(2−1)(0.1)+2(0.5)=0.3+0.1+1.0=1.4 ms\text{Delay} = N \cdot d_{\text{trans}} + (E - 1) \cdot d_{\text{trans}} + E \cdot d_{\text{prop}} = 3(0.1) + (2 - 1)(0.1) + 2(0.5) = 0.3 + 0.1 + 1.0 = 1.4\,\text{ms}
    • Three-Link Transmission with Propagation Delay (A to D via B and C):
    • Path has E=3E = 3 links (A→B→C→DA \to B \to C \to D), distance between adjacent nodes d=400 kmd = 400\,\text{km}, speed s=2×108 m/ss = 2 \times 10^8\,\text{m/s}, transmission rate R=16 MbpsR = 16\,\text{Mbps}, file size =3 KB= 3\,\text{KB}, packet size L=1 KBL = 1\,\text{KB} (N=3N = 3 packets):       dtrans=1000×8 bits16×106 bps=0.5 msd_{\text{trans}} = \frac{1000 \times 8\,\text{bits}}{16 \times 10^6\,\text{bps}} = 0.5\,\text{ms}dprop=400×103 m2×108 m/s=2.0 msd_{\text{prop}} = \frac{400 \times 10^3\,\text{m}}{2 \times 10^8\,\text{m/s}} = 2.0\,\text{ms}
      • Using pipelined delay equation:         Delay=3(0.5)+(3−1)(0.5)+3(2.0)=1.5+1.0+6.0=8.5 ms\text{Delay} = 3(0.5) + (3 - 1)(0.5) + 3(2.0) = 1.5 + 1.0 + 6.0 = 8.5\,\text{ms}
    • Three-Link Transmission Variant (R=10 MbpsR = 10\,\text{Mbps}):
    • E=3E = 3 links (A→B→C→DA \to B \to C \to D), distance d=400 kmd = 400\,\text{km}, speed s=2×108 m/ss = 2 \times 10^8\,\text{m/s}, R=10 MbpsR = 10\,\text{Mbps}, file size =30 Kbits= 30\,\text{Kbits}, packet size L=10 KbitsL = 10\,\text{Kbits} (N=3N = 3 packets):       dtrans=10×103 bits10×106 bps=1.0 msd_{\text{trans}} = \frac{10 \times 10^3\,\text{bits}}{10 \times 10^6\,\text{bps}} = 1.0\,\text{ms}dprop=400×103 m2×108 m/s=2.0 msd_{\text{prop}} = \frac{400 \times 10^3\,\text{m}}{2 \times 10^8\,\text{m/s}} = 2.0\,\text{ms}Delay=3(1.0)+(3−1)(1.0)+3(2.0)=3.0+2.0+6.0=11.0 ms\text{Delay} = 3(1.0) + (3 - 1)(1.0) + 3(2.0) = 3.0 + 2.0 + 6.0 = 11.0\,\text{ms}
  • Circuit Switching vs. Packet Switching:

    • Circuit Switching:
    • Pre-allocates and reserves end-to-end link resources along a dedicated path for the duration of a communication session ("call").
    • Delivers guaranteed, constant transmission capacity without queuing delay or packet loss.
    • Dedicated channel segments remain completely idle if a transmitting host pauses (no resource sharing).
    • Multiplexing Mechanisms in Circuit Switching:
      • Frequency Division Multiplexing (FDM): Optical or electromagnetic spectrum is divided into discrete, dedicated frequency bands. Each connection transmits continuously within its allocated narrow band.
      • Time Division Multiplexing (TDM): Time is partitioned into recurring frames composed of fixed-duration time slots. A connection transmits at the full bandwidth of the physical channel, but strictly during its designated time slot within each frame.
    • Circuit Network Capacity Problem:
      • Given a 4-node ring network with circuit capacities: link A–BA\text{--}B has 13 circuits, B–CB\text{--}C has 11 circuits, C–DC\text{--}D has 16 circuits, and D–AD\text{--}A has 11 circuits.
      • Absolute total single-hop circuits available in network: 13+11+16+11=51 circuits13 + 11 + 16 + 11 = 51\,\text{circuits}.
      • If every connection requires 2 consecutive clockwise hops (e.g., A→CA \to C, B→DB \to D, C→AC \to A, D→BD \to B):
      • Let x1x_1 be calls along A→B→CA \to B \to C, x2x_2 along B→C→DB \to C \to D, x3x_3 along C→D→AC \to D \to A, and x4x_4 along D→A→BD \to A \to B.
      • Link resource limits: x1+x4≤13x_1 + x_4 \le 13, x1+x2≤11x_1 + x_2 \le 11, x2+x3≤16x_2 + x_3 \le 16, and x3+x4≤11x_3 + x_4 \le 11.
      • Summing link constraints: 2(x1+x2+x3+x4)≤13+11+16+11=512(x_1 + x_2 + x_3 + x_4) \le 13 + 11 + 16 + 11 = 51.
      • Total simultaneous connections: x1+x2+x3+x4≤25.5x_1 + x_2 + x_3 + x_4 \le 25.5.
      • Under specific allocation constraints (e.g., maximizing x2=11x_2 = 11 and x4=11x_4 = 11 with x1=0,x3=0x_1 = 0, x_3 = 0), the maximum achievable number of 2-hop ongoing connections is 22 connections22\,\text{connections}.
      • Once all circuits are fully allocated, any subsequent incoming call connection request is blocked and rejected.
    • Packet Switching and Statistical Multiplexing:
    • Dynamically allocates capacity on demand without reserving circuits. Data bursts utilize the entirety of link capacity when available.
    • Probabilistic Capacity Modeling (Binomial Distribution):
      • Suppose users share a 1.5 Mbps1.5\,\text{Mbps} (1500 Kbps1500\,\text{Kbps}) link. Each active user generates data at 250 Kbps250\,\text{Kbps}, but each user is active only 10%10\% of the time (p=0.10p = 0.10).
      • Under circuit switching: Maximum supported users =1.5×106 bps250×103 bps=6 users= \frac{1.5 \times 10^6\,\text{bps}}{250 \times 10^3\,\text{bps}} = 6\,\text{users}.
      • Under packet switching with N=20N = 20 users:
      • Probability a given user is active: p=0.10p = 0.10.
      • Probability that exactly nn users transmit simultaneously:           P(X=n)=(20n)(0.10)n(1−0.10)20−n=(20n)(0.10)n(0.90)20−nP(X = n) = \binom{20}{n} (0.10)^n (1 - 0.10)^{20 - n} = \binom{20}{n} (0.10)^n (0.90)^{20 - n}
      • Probability that link capacity is exceeded (7 or more users active simultaneously):           P(X≥7)=1−∑n=06(20n)(0.10)n(0.90)20−n=0.0023861P(X \ge 7) = 1 - \sum_{n=0}^{6} \binom{20}{n} (0.10)^n (0.90)^{20 - n} = 0.0023861
      • Because the probability of congestion is less than 0.24%0.24\%, packet switching reliably supports 20 users with minimal performance degradation on a link that supports only 6 users under circuit switching.
      • Additional Binomial Scenarios:
      • 4 users share a 100 Mbps100\,\text{Mbps} link; each user is active 25%25\% of the time (p=0.25p = 0.25):
        • Probability 3 users active:             P(X=3)=(43)(0.25)3(0.75)4−3=4!1!⋅3!(0.25)3(0.75)1=4(0.015625)(0.75)=0.046875P(X = 3) = \binom{4}{3} (0.25)^3 (0.75)^{4 - 3} = \frac{4!}{1! \cdot 3!} (0.25)^3 (0.75)^1 = 4(0.015625)(0.75) = 0.046875
        • Probability all 4 users active:             P(X=4)=(44)(0.25)4(0.75)4−4=1⋅(0.25)4⋅1=0.00390625P(X = 4) = \binom{4}{4} (0.25)^4 (0.75)^{4 - 4} = 1 \cdot (0.25)^4 \cdot 1 = 0.00390625
        • Probability 1 user active:             P(X=1)=(41)(0.25)1(0.75)4−1=4(0.25)(0.421875)=0.421875P(X = 1) = \binom{4}{1} (0.25)^1 (0.75)^{4 - 1} = 4(0.25)(0.421875) = 0.421875
      • Chess probability example: Player wins with probability p=0.8p = 0.8. Probability of exactly 2 wins out of 3 games:           P(X=2)=(32)(0.8)2(1−0.8)3−2=3!1!⋅2!(0.8)2(0.2)1=3(0.64)(0.2)=0.384P(X = 2) = \binom{3}{2} (0.8)^2 (1 - 0.8)^{3 - 2} = \frac{3!}{1! \cdot 2!} (0.8)^2 (0.2)^1 = 3(0.64)(0.2) = 0.384
      • Large Scale Example (1 Gbps1\,\text{Gbps} Link):
      • Link rate =1 Gbps= 1\,\text{Gbps}. Users require 100 Mbps100\,\text{Mbps} when active, with active probability p=0.10p = 0.10.
      • Circuit switching allows: 1000 Mbps100 Mbps=10 users\frac{1000\,\text{Mbps}}{100\,\text{Mbps}} = 10\,\text{users}.
      • Packet switching with N=35N = 35 users: Probability that more than 10 users transmit simultaneously:           P(X>10)=1−∑n=010(35n)(0.10)n(0.90)35−n<0.0004P(X > 10) = 1 - \sum_{n=0}^{10} \binom{35}{n} (0.10)^n (0.90)^{35 - n} < 0.0004
      • Congestion occurs less than 0.04%0.04\% of the time.

Internet Structure: Network of Networks, Peering, and Global Topologies

  • Scalability Bottleneck of Mesh Topologies:

    • Millions of localized access ISPs cannot connect directly to every other access ISP. A full mesh would require N(N−1)2=O(N2)\frac{N(N - 1)}{2} = O(N^2) dedicated links, which is economically and physically unfeasible.
  • Hierarchical Organization of the Global Internet:

    • Global Transit ISPs: Access ISPs purchase upstream transit connectivity from global tier-1 transit providers to reach arbitrary global destinations.
    • Tier-1 ISPs: Commercial network operators with ubiquitous national and international fiber networks (e.g., Level 3, Sprint, AT&T, NTT). Tier-1 networks interconnect as equals with other Tier-1 operators without paying transit fees (settlement-free peering).

Sprint Tier-1 ISP map legend

  • Internet Exchange Points (IXPs):
    • Physical, carrier-neutral facilities housing high-throughput switching fabrics where independent networks (ISPs, Content Delivery Networks, institutional systems) interconnect directly.
    • ISPs typically pay facility fees to the IXP based on switch port speed and traffic exchange volume.
  • Peering Links:
    • Direct agreements and physical links established between two neighboring ISPs to exchange mutual traffic without transiting an upstream Tier-1 network, lowering transit expenditures.
  • Regional ISPs:
    • Intermediate networks that aggregate groups of access networks within a geographic region and interface upstream to Tier-1 networks.
  • Content Provider Networks:
    • Private planetary-scale networks deployed by hyper-scale service providers (e.g., Google, Microsoft, Meta/Facebook, Akamai).
    • Connect enterprise data centers directly to edge networks, bypassing commercial Tier-1 and regional transit ISPs at IXPs to lower transit fees and reduce end-to-end packet latency.
  • Multi-Homing:
    • The operational configuration where an access ISP or enterprise network establishes concurrent upstream links to two or more independent provider ISPs.
    • Eliminates single points of failure, ensuring fault tolerance, route diversity, and continuous operational availability.
  • Points of Presence (PoPs):
    • Geographical interface points where an upstream network maintains a cluster of routers and switches that customer networks connect into via leased lines.

Network Performance: Latency Metrics, Traffic Intensity, and Message Segmentation

  • The Four Components of Packet Delay:

Total Nodal Delay=dnodal=dproc+dqueue+dtrans+dprop\text{Total Nodal Delay} = d_{\text{nodal}} = d_{\text{proc}} + d_{\text{queue}} + d_{\text{trans}} + d_{\text{prop}}

  • Nodal Processing Delay (dprocd_{\text{proc}}):

    • Time required for the packet switch to read bit-level headers, verify packet checksums for transmission bit errors, and query forwarding tables to select the appropriate outbound link interface.
    • Typically requires microseconds (dproc<1 msd_{\text{proc}} < 1\,\text{ms}).
  • Queuing Delay (dqueued_{\text{queue}}):

    • Duration a packet waits within the router buffer memory while preceding packets are being transmitted onto the outgoing link.
    • Highly variable, depending on dynamic traffic congestion and arrival patterns.
  • Transmission Delay (dtransd_{\text{trans}}):

    • The time required to inject all LL bits of a packet into the outbound communication link at bandwidth rate RR:       dtrans=LRd_{\text{trans}} = \frac{L}{R}
  • Propagation Delay (dpropd_{\text{prop}}):

    • The time required for a physical signal bit to traverse the distance dd of the physical transmission medium at propagation speed ss:       dprop=dsd_{\text{prop}} = \frac{d}{s}

    • The propagation speed ss across optical fiber and copper conductors is approximately s≈2×108 m/ss \approx 2 \times 10^8\,\text{m/s}, and up to s≈3×108 m/ss \approx 3 \times 10^8\,\text{m/s} through free-space radio channels.

    • Caravan Analogy of Transmission vs. Propagation:

  • Tollbooth acts as a packet switch; individual cars act as bits; a 10-car caravan represents a 10-bit packet; the road represents the physical communication link.

  • Scenario 1 (Standard Propagation):

    • Caravan has 10 cars; tollbooth service rate is 12 seconds/car12\,\text{seconds/car}; propagation speed is 100 km/hr100\,\text{km/hr}; highway link between tollbooths is 100 km100\,\text{km}.
    • Time to push the entire caravan through the first tollbooth onto the highway:       10×12 seconds=120 seconds=2 minutes10 \times 12\,\text{seconds} = 120\,\text{seconds} = 2\,\text{minutes}
    • Time for the last car to propagate from tollbooth 1 to tollbooth 2:       100 km100 km/hr=1 hour=60 minutes\frac{100\,\text{km}}{100\,\text{km/hr}} = 1\,\text{hour} = 60\,\text{minutes}
    • Total time until the entire caravan is queued at the second tollbooth:       2 minutes+60 minutes=62 minutes2\,\text{minutes} + 60\,\text{minutes} = 62\,\text{minutes}
  • Scenario 2 (Fast Propagation):

    • Highway speed is 1000 km/hr1000\,\text{km/hr}; tollbooth service time is 1 minute/car1\,\text{minute/car}.
    • First car leaves booth 1 at t=1 minutet = 1\,\text{minute} and propagates to booth 2 in:       100 km1000 km/hr=0.1 hours=6 minutes\frac{100\,\text{km}}{1000\,\text{km/hr}} = 0.1\,\text{hours} = 6\,\text{minutes}
    • First car arrives at tollbooth 2 at t=1+6=7 minutest = 1 + 6 = 7\,\text{minutes}.
    • At t=7 minutest = 7\,\text{minutes}, only 7 cars have been serviced at tollbooth 1; 3 cars remain in line behind booth 1, demonstrating that the front of a packet can arrive at a downstream switch before the tail of the packet has completed transmission.
  • Scenario 3 (Explicit Caravan Calculations):

    • 10 cars, tollbooth service rate 1 car/second1\,\text{car/second}, distance 500 km500\,\text{km}, speed 20 km/second20\,\text{km/second}. Cars must wait at booth 2 until the full caravan reassembles before service begins.

    • Time single car in service: 1 second1\,\text{second}.

    • Time for entire caravan to receive service at booth 1: 10×1 second=10 seconds10 \times 1\,\text{second} = 10\,\text{seconds}.

    • Time for first car to travel to booth 2 once it exits service: 500 km20 km/s=25 seconds\frac{500\,\text{km}}{20\,\text{km/s}} = 25\,\text{seconds}.

    • Time when first car arrives at booth 2: 1+25=26 seconds1 + 25 = 26\,\text{seconds}.

    • Time when entire caravan enters service at booth 2: Last car leaves booth 1 at t=10 secondst = 10\,\text{seconds} and arrives at booth 2 at 10+25=35 seconds10 + 25 = 35\,\text{seconds}. (First car enters service once all 10 cars line up, occurring around 34–35 seconds34\text{--}35\,\text{seconds}).

    • Comprehensive Earth-to-Mars Space Transmission Example:

  • Image transmission from Mars to Earth:

    • Image dimensions: 1920×1080 pixels1920 \times 1080\,\text{pixels}.

    • Color encoding: True color (3 bytes/pixel=24 bits/pixel3\,\text{bytes/pixel} = 24\,\text{bits/pixel}.

    • Physical link distance: 213.85 million kilometers=213.85×109 meters213.85\,\text{million kilometers} = 213.85 \times 10^9\,\text{meters}.

    • Speed of light: s=3×108 m/ss = 3 \times 10^8\,\text{m/s}.

    • Transmission rate: R=100 Mbps=100×106 bpsR = 100\,\text{Mbps} = 100 \times 10^6\,\text{bps}.

    • Image file size calculation:       Size=1920×1080×3×8=49,766,400 bits\text{Size} = 1920 \times 1080 \times 3 \times 8 = 49{,}766{,}400\,\text{bits}

    • Propagation delay (dpropd_{\text{prop}}):       dprop=213.85×109 m3×108 m/s=712.83 seconds≈712 seconds=11.8 minutesd_{\text{prop}} = \frac{213.85 \times 10^9\,\text{m}}{3 \times 10^8\,\text{m/s}} = 712.83\,\text{seconds} \approx 712\,\text{seconds} = 11.8\,\text{minutes}

    • Transmission delay (dtransd_{\text{trans}}):       dtrans=49,766,400 bits100×106 bps≈0.4977 seconds≈0.5 secondsd_{\text{trans}} = \frac{49{,}766{,}400\,\text{bits}}{100 \times 10^6\,\text{bps}} \approx 0.4977\,\text{seconds} \approx 0.5\,\text{seconds}

    • Total end-to-end delivery time:       Total Time=dprop+dtrans=712.83+0.50=713.33 seconds≈712.5 seconds\text{Total Time} = d_{\text{prop}} + d_{\text{trans}} = 712.83 + 0.50 = 713.33\,\text{seconds} \approx 712.5\,\text{seconds}

    • Traffic Intensity and Queuing Delay:

  • Let R=link bandwidth (bps)R = \text{link bandwidth (bps)}, L=packet length (bits)L = \text{packet length (bits)}, and a=average packet arrival rate (packets/sec)a = \text{average packet arrival rate (packets/sec)}.

  • Traffic Intensity (II) is defined as:     I=L⋅aRI = \frac{L \cdot a}{R}

  • Performance characteristics:

    • If I→0I \to 0, queuing delay is very small (dqueue→0d_{\text{queue}} \to 0).
    • As I→1I \to 1, average queuing delay grows asymptotically.
    • If I>1I > 1, the work arriving exceeds the link's service capacity; average queuing delay approaches infinity, and buffers overflow, causing packet loss.
  • Queuing Delay Estimation Model:     dqueue=I1−I⋅LRfor I<1d_{\text{queue}} = \frac{I}{1 - I} \cdot \frac{L}{R} \quad \text{for } I < 1

  • Queuing Numerical Problem:

    • Given R=700,000 bpsR = 700{,}000\,\text{bps}, L=4,600 bitsL = 4{,}600\,\text{bits}:

      • Packet service time: LR=4600700000≈6.5714×10−3 seconds=6.5714 ms\frac{L}{R} = \frac{4600}{700000} \approx 6.5714 \times 10^{-3}\,\text{seconds} = 6.5714\,\text{ms}.
      • For a=34 packets/seca = 34\,\text{packets/sec}:         I=4600×34700000=156400700000≈0.2234I = \frac{4600 \times 34}{700000} = \frac{156400}{700000} \approx 0.2234dqueue=0.22341−0.2234×6.5714 ms≈0.2877×6.5714≈1.1401 msd_{\text{queue}} = \frac{0.2234}{1 - 0.2234} \times 6.5714\,\text{ms} \approx 0.2877 \times 6.5714 \approx 1.1401\,\text{ms}
      • For a=90 packets/seca = 90\,\text{packets/sec}:         I=4600×90700000=414000700000≈0.5914I = \frac{4600 \times 90}{700000} = \frac{414000}{700000} \approx 0.5914dqueue=1.588 msd_{\text{queue}} = 1.588\,\text{ms}
      • Router buffer state: With a constant arrival burst of 860 packets860\,\text{packets} in 1 second, given that the link transmits 7000004600≈152.17 packets/second\frac{700000}{4600} \approx 152.17\,\text{packets/second}, an infinite buffer would retain 860−629=231 packets860 - 629 = 231\,\text{packets} at the end of the window.
      • If the physical buffer has a maximum capacity of 792 packets792\,\text{packets}, arriving bursts that exceed capacity drop the excess (68 packets dropped68\,\text{packets dropped}).
    • Traceroute Diagnostic Tool:

  • Diagnostic utility providing delay measurements along end-to-end paths.

  • Transmits 3 probe packets with incrementing Time-to-Live (TTL) values (1,2,3,…1, 2, 3, \dots) toward the target.

  • When router ii receives a packet with TTL=1\text{TTL} = 1, it drops the packet and returns an ICMP "time exceeded" message back to the sender.

  • The sender records the elapsed round-trip time between transmission and ICMP response across each probe.

  • An asterisk (*) indicates probe loss or a router configured not to return ICMP diagnostic packets.

    • Message Segmentation and Pipeline Optimization:
  • Problem 31 Formulation:

    • File size =106 bits= 10^6\,\text{bits}. Path traverses 2 intermediate packet switches (E=3 linksE = 3\,\text{links}). Each link has transmission rate R=5 MbpsR = 5\,\text{Mbps}. Ignore propagation, queuing, and processing delays.

Message segmentation across packet switches

  • Case A: Without Message Segmentation:
    • Transmitted as a single packet of size L=106 bitsL = 10^6\,\text{bits}.
    • Transmission time to cross link 1: 106 bits5×106 bps=0.2 seconds\frac{10^6\,\text{bits}}{5 \times 10^6\,\text{bps}} = 0.2\,\text{seconds}.
    • Total delivery time across 3 store-and-forward links:       Time=3×0.2 seconds=0.6 seconds\text{Time} = 3 \times 0.2\,\text{seconds} = 0.6\,\text{seconds}
  • Case B: With Message Segmentation:
    • Message is segmented into N=100 packetsN = 100\,\text{packets}, each of length L=104 bits=10,000 bitsL = 10^4\,\text{bits} = 10{,}000\,\text{bits}.
    • Transmission delay per packet per link:       dtrans=104 bits5×106 bps=2 ms=0.002 secondsd_{\text{trans}} = \frac{10^4\,\text{bits}}{5 \times 10^6\,\text{bps}} = 2\,\text{ms} = 0.002\,\text{seconds}
    • First packet reaches switch 1 at t=2 mst = 2\,\text{ms}, switch 2 at t=4 mst = 4\,\text{ms}, and destination at t=6 mst = 6\,\text{ms}.
    • Downstream links concurrently forward preceding packets while upstream switches transmit subsequent ones.
    • Destination receives one packet every 2 ms2\,\text{ms}. Total time for all 100 packets to arrive:       Total Time=6 ms+(100−1)×2 ms=6 ms+198 ms=204 ms=0.204 seconds\text{Total Time} = 6\,\text{ms} + (100 - 1) \times 2\,\text{ms} = 6\,\text{ms} + 198\,\text{ms} = 204\,\text{ms} = 0.204\,\text{seconds}
    • Message segmentation delivers a nearly threefold speedup (0.204 s0.204\,\text{s} vs. 0.6 s0.6\,\text{s}).
    • Architectural Consequences of Segmentation:
  • Fault Recovery: In unsegmented transfers, a single bit error forces the entire 106 bit10^6\,\text{bit} file to be retransmitted. With segmentation, only the corrupted 104 bit10^4\,\text{bit} packet is retransmitted.
  • Router Buffering: Massive unsegmented packets monopolize switch memory and induce severe head-of-line blocking for smaller, latency-sensitive packets.
  • Header Overhead: Every packet requires its own protocol header. Smaller packets increase the proportion of header bytes to payload bytes.
  • Reassembly Complexity: End systems must sequence and reconstruct packets that may arrive out of order.
    • Optimal Packet Size Derivation with Header Overhead:
  • Consider transmitting a file of F bitsF\,\text{bits} across E=2 linksE = 2\,\text{links} at rate R bpsR\,\text{bps}. The sender divides the file into segments of size S bitsS\,\text{bits} and appends an overhead header of 40 bits40\,\text{bits}, producing packets of size L=S+40 bitsL = S + 40\,\text{bits}.
  • The total number of packets is N=FSN = \frac{F}{S}.

Optimal segment size derivation

* Time for the first packet to reach the destination across 2 links:

      t1=2⋅(S+40R)t_1 = 2 \cdot \left(\frac{S + 40}{R}\right) * The remaining (FS−1)\left(\frac{F}{S} - 1\right) packets arrive sequentially every S+40R\frac{S + 40}{R} seconds. * The total end-to-end delay is:       Delay=2⋅(S+40R)+(FS−1)⋅(S+40R)=S+40R⋅(FS+1)\text{Delay} = 2 \cdot \left(\frac{S + 40}{R}\right) + \left(\frac{F}{S} - 1\right) \cdot \left(\frac{S + 40}{R}\right) = \frac{S + 40}{R} \cdot \left(\frac{F}{S} + 1\right) * Expanding the expression:       Delay(S)=1R⋅(F+S+40FS+40)\text{Delay}(S) = \frac{1}{R} \cdot \left(F + S + \frac{40F}{S} + 40\right) * To find the value of SS that minimizes total delay, take the derivative with respect to SS and set it to zero:       ddS[Delay]=1R⋅(1−40FS2)=0\frac{d}{dS}[\text{Delay}] = \frac{1}{R} \cdot \left(1 - \frac{40F}{S^2}\right) = 01−40FS2=0  ⟹  S2=40F  ⟹  S=40F1 - \frac{40F}{S^2} = 0 \implies S^2 = 40F \implies S = \sqrt{40F}

  • Comprehensive Network Latency Problems:
    • Problem A (Four Links with Header Overhead):
    • Packet size =1 MB= 1\,\text{MB}, including a header overhead of 200 KB200\,\text{KB}. Total file size =1 GB= 1\,\text{GB}. Number of links X=4X = 4. Transmission capacity R=8 GbpsR = 8\,\text{Gbps}. Per-link propagation delay dprop=5 msd_{\text{prop}} = 5\,\text{ms}. Neglect processing and queuing delays.
    • Payload data per packet:       Ldata=1 MB−200 KB=106 bytes−200,000 bytes=800,000 bytesL_{\text{data}} = 1\,\text{MB} - 200\,\text{KB} = 10^6\,\text{bytes} - 200{,}000\,\text{bytes} = 800{,}000\,\text{bytes}
    • Number of packets (NN):       N=File SizeLdata=109 bytes800,000 bytes=1250 packetsN = \frac{\text{File Size}}{L_{\text{data}}} = \frac{10^9\,\text{bytes}}{800{,}000\,\text{bytes}} = 1250\,\text{packets}
    • Packet transmission delay (dtransd_{\text{trans}}):       dtrans=1×106 bytes×8 bits/byte8×109 bps=1 msd_{\text{trans}} = \frac{1 \times 10^6\,\text{bytes} \times 8\,\text{bits/byte}}{8 \times 10^9\,\text{bps}} = 1\,\text{ms}
    • Total end-to-end delivery time:       Total Delay=X⋅(dprop+dtrans)+(N−1)⋅dtrans\text{Total Delay} = X \cdot (d_{\text{prop}} + d_{\text{trans}}) + (N - 1) \cdot d_{\text{trans}}Total Delay=4⋅(5 ms+1 ms)+(1250−1)⋅1 ms=4(6)+1249=24+1249=1273 ms=1.273 seconds\text{Total Delay} = 4 \cdot (5\,\text{ms} + 1\,\text{ms}) + (1250 - 1) \cdot 1\,\text{ms} = 4(6) + 1249 = 24 + 1249 = 1273\,\text{ms} = 1.273\,\text{seconds}
    • Problem B (Link Hop Bound Calculation):
    • File size F=6×106 bitsF = 6 \times 10^6\,\text{bits}. Segmented into N=450 packetsN = 450\,\text{packets}. Per-packet header H=500 bitsH = 500\,\text{bits}. Link bandwidth R=4 MbpsR = 4\,\text{Mbps}. Per-link propagation delay dprop=7 msd_{\text{prop}} = 7\,\text{ms}. Total permissible delay ≤2107 ms\le 2107\,\text{ms}.
    • Payload per packet:       D=6×106 bits450=13333.33 bitsD = \frac{6 \times 10^6\,\text{bits}}{450} = 13333.33\,\text{bits}
    • Total packet length:       L=D+H=13333.33+500=13833.33 bitsL = D + H = 13333.33 + 500 = 13833.33\,\text{bits}
    • Packet transmission delay:       dtrans=13833.33 bits4×106 bps=3.45833 msd_{\text{trans}} = \frac{13833.33\,\text{bits}}{4 \times 10^6\,\text{bps}} = 3.45833\,\text{ms}
    • Delay formulation with unknown link count XX:       Delay=X⋅(dprop+dtrans)+(N−1)⋅dtrans≤2107 ms\text{Delay} = X \cdot (d_{\text{prop}} + d_{\text{trans}}) + (N - 1) \cdot d_{\text{trans}} \le 2107\,\text{ms}X⋅(7+3.45833)+(450−1)⋅3.45833≤2107X \cdot (7 + 3.45833) + (450 - 1) \cdot 3.45833 \le 210710.45833⋅X+449⋅3.45833≤210710.45833 \cdot X + 449 \cdot 3.45833 \le 210710.45833⋅X+1552.79167≤210710.45833 \cdot X + 1552.79167 \le 210710.45833⋅X≤554.2083310.45833 \cdot X \le 554.20833X≤554.2083310.45833≈52.992X \le \frac{554.20833}{10.45833} \approx 52.992
    • The maximum integer number of links is X=52 linksX = 52\,\text{links}.
  • Throughput Fundamentals:

    • Throughput is the operational rate (measured in bits per unit time) at which bits are transferred from a sender to a receiver.
    • Instantaneous Throughput: The transmission rate measured at an exact moment in time.
    • Average Throughput: Total bit volume successfully transferred divided by the total time elapsed.
  • Bottleneck Link Concept:

    • Across an end-to-end path composed of concatenated links, the bottleneck link is the physical link that constrains the total achievable throughput.
    • For a path with server access link rate RsR_s and client access link rate RcR_c:     End-to-End Throughput=min⁡(Rs,Rc)\text{End-to-End Throughput} = \min(R_s, R_c)
    • If Rs<RcR_s < R_c, the server link is the bottleneck; if Rc<RsR_c < R_s, the client link is the bottleneck.
  • Shared Core Bottleneck Formulation:

    • When NN distinct connections share a common backbone link of capacity RR, the link's capacity is divided among them. Assuming equal fair sharing, each connection receives RN\frac{R}{N}.
    • The per-connection end-to-end throughput is:     Throughput=min⁡(Rs,Rc,RN)\text{Throughput} = \min\left(R_s, R_c, \frac{R}{N}\right)

Network bottleneck throughput topology

  • Worked Multi-Server Multi-Client Scenario:
    • System setup: 4 distinct servers connect to 4 distinct clients via a shared intermediate core link (N=4N = 4).
    • Server access link rate: Rs=30 MbpsR_s = 30\,\text{Mbps}.
    • Client access link rate: Rc=80 MbpsR_c = 80\,\text{Mbps}.
    • Shared middle core link capacity: R=300 MbpsR = 300\,\text{Mbps}.
    • Calculations:
    • Fair share of the middle link per connection:       RN=300 Mbps4=75 Mbps\frac{R}{N} = \frac{300\,\text{Mbps}}{4} = 75\,\text{Mbps}
    • Maximum achievable end-to-end throughput per pair:       Throughput=min⁡(Rs,Rc,RN)=min⁡(30 Mbps,80 Mbps,75 Mbps)=30 Mbps\text{Throughput} = \min(R_s, R_c, \frac{R}{N}) = \min(30\,\text{Mbps}, 80\,\text{Mbps}, 75\,\text{Mbps}) = 30\,\text{Mbps}
    • Bottleneck Link: The server access link (RsR_s), because it has the minimum rate (30 Mbps<75 Mbps<80 Mbps30\,\text{Mbps} < 75\,\text{Mbps} < 80\,\text{Mbps}).
    • Link Utilizations (with servers transmitting at full rate):
      • Server link utilization: 30 Mbps30 Mbps=1.0(100%)\frac{30\,\text{Mbps}}{30\,\text{Mbps}} = 1.0\quad (100\%).
      • Client link utilization: 30 Mbps80 Mbps=0.375≈0.38(38%)\frac{30\,\text{Mbps}}{80\,\text{Mbps}} = 0.375 \approx 0.38\quad (38\%).
      • Shared backbone link utilization: 4×30 Mbps300 Mbps=120 Mbps300 Mbps=0.40(40%)\frac{4 \times 30\,\text{Mbps}}{300\,\text{Mbps}} = \frac{120\,\text{Mbps}}{300\,\text{Mbps}} = 0.40\quad (40\%).

Network Security: Threats, Attack Vectors, and Defensive Mechanisms

  • Original Internet Design Model:

    • Conceived in an academic environment built on mutual trust: "A group of mutually trusting users attached to a transparent network."
    • Did not initially include cryptographic identity verification, encryption, or security enforcement across the protocol stack. Modern protocols must integrate security considerations across all layers.
  • Malware Threat Profiles:

    • Viruses: Malicious programs that replicate by attaching to executable objects (e.g., email attachments). They require human action to activate and spread.
    • Worms: Standalone malicious software that self-replicates across networks without requiring user interaction. Worms autonomously scan for network vulnerabilities, compromise vulnerable processes, and propagate to new hosts.
    • Spyware: Covert malware that logs user keystrokes, tracks visited websites, gathers confidential data, and exfiltrates it to remote servers.
    • Botnets: Large networks of compromised end systems (bots or zombies) controlled remotely via command-and-control channels to send spam or launch distributed denial-of-service attacks.
  • Network Attack Methodologies:

    • Denial of Service (DoS) and Distributed Denial of Service (DDoS):
    • Attackers exhaust target infrastructure (server CPU, memory, socket queues, or link bandwidth) with bogus packets to prevent legitimate users from accessing services.
    • Procedure: The attacker selects a target, compromises thousands of insecure hosts globally to assemble a botnet, and commands the bots to flood the target's IP address with traffic.
    • IP Address Spoofing:
    • The attacker constructs and transmits raw IP packets with a falsified source IP address in the packet header to disguise their identity or impersonate a trusted entity.
    • Packet Sniffing:
    • Passive monitoring and recording of packets traversing shared communication channels (such as broadcast Ethernet or unencrypted wireless spectrum).
    • Network interface cards operating in promiscuous mode capture every passing frame, exposing plaintext payloads and credentials.
    • Wireshark is an industry-standard open-source packet analyzer software used to capture and inspect network traffic.

Wireshark packet sniffing architecture

  • Lines of Defense:
    • Authentication: Cryptographic verification that an entity is who they claim to be (e.g., hardware-bound SIM cards in cellular networks).
    • Confidentiality: End-to-end and hop-by-hop encryption protocols (e.g., TLS/SSL, IPsec) that prevent eavesdroppers from reading intercepted data.
    • Integrity Checks: Digital signatures and cryptographic hashes (e.g., HMAC) that detect unauthorized modification of in-transit packets.
    • Access Restrictions: Virtual Private Networks (VPNs) and firewalls enforcing authorization policies.
    • Firewalls: Specialized middleboxes situated at network boundaries that inspect incoming and outgoing packets, enforcing default-deny policies to block unauthorized traffic.

Protocol Layering, Reference Models, and Encapsulation

  • Principles of Layering:

    • Deconstructs complex network architectures into modular, hierarchically organized functional layers.
    • Modularity allows system components to be updated or replaced without modifying surrounding layers (e.g., transitioning from copper twisted-pair to optical fiber leaves higher-layer transport and application software unchanged).
    • Air Travel Analogy:
    • Composed of discrete, sequential service layers:
      • Ticketing layer: Purchase ticket at origin; manage complaints at destination.
      • Baggage layer: Check bags at origin; claim bags at destination.
      • Gate layer: Passenger loading at origin gate; unloading at destination gate.
      • Runway layer: Takeoff at origin; landing at destination.
      • Airplane routing layer: Aircraft navigation across mid-air flight corridors.
    • Each layer provides services to the layer above while relying on the services of the layer below.
  • The Five-Layer Internet Protocol Stack:

    • Application Layer: Supports networked applications and protocols.
    • Protocols: HTTP (World Wide Web), SMTP/IMAP (email), DNS (host-name-to-IP resolution).
    • Protocol Data Unit (PDU): Message (MM).
    • Transport Layer: Coordinates logical process-to-process communication between software applications.
    • Protocols: Transmission Control Protocol (TCP: connection-oriented, reliable byte stream, flow and congestion control) and User Datagram Protocol (UDP: connectionless, lightweight, best-effort transfer).
    • Protocol Data Unit (PDU): Segment ([Ht∣M][H_t \mid M]).
    • Network Layer: Routes packets across the network core from source host to destination host.
    • Protocols: Internet Protocol (IPv4/IPv6) and routing protocols (OSPF, BGP).
    • Protocol Data Unit (PDU): Datagram ([Hn∣Ht∣M][H_n \mid H_t \mid M]).
    • Link Layer: Transfers frames across individual network links between adjacent hardware nodes.
    • Protocols: Ethernet, IEEE 802.11802.11 (WiFi), Point-to-Point Protocol (PPP).
    • Protocol Data Unit (PDU): Frame ([Hl∣Hn∣Ht∣M][H_l \mid H_n \mid H_t \mid M]).
    • Physical Layer: Transmits individual physical bits along the communication medium using electrical, optical, or radio signals.
  • Encapsulation and Decapsulation Mechanics:

    • Sender: The application layer generates message MM. The transport layer prepends header HtH_t to create a segment. The network layer prepends header HnH_n to create a datagram. The link layer prepends header HlH_l to create a frame, which the physical layer converts into physical signals.
    • Intermediary Switches and Routers:
    • Link-layer switches process layers 1 and 2 (Physical and Link), examining link headers (HlH_l) to forward frames between local interfaces.
    • Routers process layers 1 through 3 (Physical, Link, and Network), decapsulating the link-layer frame, examining the network IP header (HnH_n) to select an outbound link, and re-encapsulating the datagram in a new link frame.
    • Receiver: The receiving host captures incoming bits, reassembles the link frame, strips HlH_l, extracts and strips HnH_n, strips HtH_t, and delivers the original message MM to the receiving application process.
  • The Seven-Layer ISO/OSI Reference Model:

    • Developed by the International Organization for Standardization (ISO).
    • Extends the five-layer stack with two additional layers between the Application and Transport layers:
    • Presentation Layer: Interprets the semantic format of application data, managing character encoding, machine-specific representations, data compression, and encryption.
    • Session Layer: Manages session synchronization, checkpointing, recovery, and dialogue control between applications.
    • In the standard Internet architecture, presentation and session functions are implemented within the application layer itself if required by the application.

Historical Evolution of Computer Networking and the Internet

  • 1961–1972: Early Packet-Switching Principles:

    • 1961: Leonard Kleinrock publishes the first paper on queueing theory in packet networks, mathematically demonstrating the efficiency of packet switching over circuit switching for bursty data.
    • 1964: Paul Baran explores distributed packet switching for resilient military communication at the RAND Corporation.
    • 1967: Advanced Research Projects Agency (ARPA) conceives the ARPAnet project.
    • 1969: The first ARPAnet packet switch (an Interface Message Processor, or IMP) is installed at UCLA; three additional nodes are deployed at Stanford Research Institute, UC Santa Barbara, and the University of Utah.
    • 1972: First public demonstration of ARPAnet; Ray Tomlinson writes the first networked email application; Network Control Protocol (NCP) is deployed as the first host-to-host protocol; the network expands to 15 operational nodes.
  • 1972–1980: Internetworking and Heterogeneous Networks:

    • 1970: Norman Abramson develops ALOHAnet, a packet-radio network in Hawaii.
    • 1974: Vinton Cerf and Robert Kahn publish foundational architectural principles for interconnecting distinct, heterogeneous networks:
    • Autonomy and Minimalism: Participating networks require no internal alterations to connect to the broader internetwork.
    • Best-Effort Service Model: The core network makes no delivery guarantees; lost packets are recovered by end systems.
    • Stateless Routers: Routers do not track individual connection states.
    • Decentralized Control: No single centralized authority coordinates packet paths or access.
    • 1976: Robert Metcalfe invents Ethernet at Xerox PARC.
    • Late 1970s: Proprietary network architectures emerge, including DECnet, IBM SNA, and Xerox XNA; fixed-length packet research lays the groundwork for Asynchronous Transfer Mode (ATM); ARPAnet grows to 200 nodes by 1979.
  • 1980–1990: Proliferation of Networks and Protocol Standardization:

    • January 1, 1983: "Flag Day"—ARPAnet officially migrates from NCP to the TCP/IP protocol suite.
    • 1982: Simple Mail Transfer Protocol (SMTP) is specified for email routing.
    • 1983: Domain Name System (DNS) is deployed, replacing centralized hosts.txt files with hierarchical host-name-to-IP resolution.
    • 1985: File Transfer Protocol (FTP) specification is finalized.
    • 1988: Van Jacobson designs TCP congestion control mechanisms following network congestion collapse episodes.
    • Proliferation of independent networks: CSnet, BITnet, France's Minitel, and the National Science Foundation Network (NSFnet); the global host population surpasses 100,000100{,}000.
  • 1990–2000s: Commercialization, the World Wide Web, and Modern Scale:

    • Early 1990s: ARPAnet is formally decommissioned.
    • 1991: NSF lifts restrictions on commercial traffic across NSFnet (NSFnet is decommissioned in 1995, transferring backbone transit to commercial ISPs).
    • Development of the World Wide Web: Drawing on hypertext concepts from Vannevar Bush (1945) and Ted Nelson (1960s), Tim Berners-Lee invents HTML, HTTP, the first Web server, and the first client browser at CERN.
    • 1994: Marc Andreessen and colleagues release the Mosaic web browser, later founding Netscape.
    • Late 1990s to 2000s: Rapid commercial growth of the Web; adoption of peer-to-peer (P2P) file sharing and instant messaging; network security becomes a core focus; host population reaches 50 million50\,\text{million} and users exceed 100 million100\,\text{million}, with backbone speeds moving into the Gbps\text{Gbps} range.
  • 2005–Present: Ubiquitous Broadband, Cloud Computing, and Mobile Systems:

    • Rapid growth of mobile computing following the 2007 launch of the Apple iPhone.
    • Deployment of high-speed mobile networks (4G4\text{G} LTE, 5G5\text{G}) and high-density WiFi; global connected devices surpass 18 billion18\,\text{billion} by 2017.
    • Growth of massive online social networks (e.g., Meta/Facebook reaching over 2.5 billion2.5\,\text{billion} active users).
    • Hyper-scale service providers (Google, Microsoft, Meta) construct private global fiber backbones that connect directly to consumer access networks at IXPs, bypassing traditional commercial transit providers.
    • Enterprise computing migrates to public cloud infrastructures, such as Amazon Web Services (AWS) and Microsoft Azure.