Introduction
1. Terminologies
1.1. Internet
Billions of connected devices:
1.1.1. Hosts
- end systems
- running network apps at Internet’s “edge”
1.1.2. Packet Switches
- forward packets (chunks of data)
- e.g., routers, switches
1.1.3. Communication Links
- e.g., fiber, copper, radio, satellite
- Transmission rate: bandwidth
1.1.4. Networks
- Collection of devices, routers, links: managed by an organization
- e.g., mobile network, home network, enterprise network, datacenter network, content provider network, ISPs
1.1.5. Internet
- “network of networks”
- interconnected ISPs
1.1.6. Protocols
- Control sending and receiving of messages
- e.g., HTTP, streaming videos, skype, TCP, IP, Wifi, 4/5G, Ethernet
- define the format, order of messages sent and received among network entities, and actions taken on message transmission, receipt.
1.1.7. Internet standards
- RFC: Request for Comments
- IETF: Internet Engineer Task Force
1.2. Network Edge
- Hosts: clients and servers
1.2.1. Access Network
- wireless communication links
- via base station aka “access point”
- wireless local area networks (WLAN)
- typically within or around buildings (~30 meters)
- 802.11b/g/n (WiFi): 11, 54, 450, … , Mbps transmission rate
- Wide-area cellular access networks
- Provided by mobile, cellular network operator
- 10’s Mpbs - 1 Gbps
- 4G/5G cellular networks
- How to connect end systems to edge router?
- residential access networks
- wireless and wired devices
- WiFi access point, router, firewall, NAT, cable or DSL modem often combined in single box.
- cable or DSL modem connected to/from cable headend or central office.
- institutional access networks
- mobile access networks
- residential access networks
- Cable-based access
- Frequency division multiplexing (FDM): different channels transmitted in different frequency bands
- Hybrid fiber-coaxial (HFC): asymmetric, up to 40 Mbps - 1.2 Gbps downstream transmission rate, 30-100 Mbps upstream transmission rate
- Network of cable or fiber attaches homes to ISP router
- homes share access network to cable headend, which hosts a Cable Modem Termination System (CMTS).
- Network of cable or fiber attaches homes to ISP router
- Digital subscriber line (DSL)
- Use existing telephone line to central office DSLAM
- Data over DSL phone line goes to Internet
- Voice over DSL phone line goes to telephone net
- 24-52 Mbps dedicated downstream transmission rate
- 3.5-16 Mbps dedicated upstream transmission rate
- Use existing telephone line to central office DSLAM
1.2.2. Hosts
Host Sending Function:
- Takes application message
- Breaks into smaller chunks, known as packets, of length \(L\) bits
- Transmits packet into access network at transmission rate \(R\) (link transmission rate aka link capacity, aka link bandwidth)
\[ packet \ transmission \ delay = time \ needed \ to \ transmit \ L \ bit \ packet \ into \ link=\frac{L (bits)}{R (bits/sec)} \]
1.2.3. Pysical media
- Twisted pair (TP)
- Two insulated copper wires
- Category 5: 100 Mbps, 1 Gbps Ethernet
- Category 6: 10 Gbps Ethernet
- Coaxial cable
- Two concentric copper conductors
- Bidirectional
- Broadband: Multiple frequency channels on cable, 100’s Mbps per channel
- Fiber optic cable
- Glass fiber carrying light pulses, each pulse a bit
- High-speed operation: High-speed point-to-point transmission (1’s-1000’s Gbps)
- Low error rate: Repeaters spaced far apart, immune to electromagnetic
- Wireless radio
- Signal carried in various “bands” in electromagnetic spectrum
- No physical “wire”
- Broadcast, “half-duplex” (sender to receiver)
- Propagation environment effects: Reflection, Obstruction by objects, Interference/noise
- e.g., wireless LAN, wide-area, bluetooth, terrestrial microwave, satellite
1.3. Network Core
- The network core is formed by a large, loosely structured mesh of interconnected routers
- “Mesh” here does not mean a perfectly regular geometric shape; it means that there are many redundant interconnections among routers and networks. Redundancy is essential, because without multiple possible links and paths, a single failure could disconnect users from the Internet.
- Packet switching
- A message is not sent as one continuous object. Instead, it is divided into packets, each of which is transmitted independently through the network. Different packets belonging to the same original message may even take different paths through the network before reaching the destination. This independence is one of the defining properties of the Internet’s packet-switched architecture.
- Network of networks
1.3.1. Two key network-core functions
Routing is the more global process. It determines which paths through the network are suitable for reaching certain destinations. Routers exchange information and build routing tables, which represent their knowledge of how to move traffic closer to a destination. Routing is not performed separately for every packet in real time; instead, it is computed on a slower timescale and used to prepare the information needed for forwarding.
Forwarding is the local action that happens at each router whenever a packet arrives. The router looks at the packet header, consults its forwarding table, and decides through which outgoing interface the packet should be sent next. Forwarding must be extremely fast, because it happens for every packet and must operate at line speed.
Routing belongs to the control plane because it controls how data should move. Forwarding belongs to the data plane because it is the actual high-speed movement of packets. These two operate on very different timescales: routing can tolerate delays on the order of milliseconds, while packet forwarding must happen on a nanosecond-scale path through hardware.
Another important point is that Internet packets do not normally carry their full route inside the packet. This means the Internet does not generally rely on source routing. Instead, each router makes a local forwarding decision based on the destination address and its own forwarding table. This design scales much better.
1.3.2. Store-and-forward
Store-and-forward packet switching means a router must first receive the entire packet before it can send that packet onward to the next hop. The router stores the packet, processes it, determines the outgoing interface, and only then transmits it further. It is not assumed that packets are cut through bit-by-bit while still arriving.
This has two major consequences.
First, there is an unavoidable transmission delay at each hop, because the whole packet has to be placed onto a link before it can continue. The transmission delay is given by: \[ \text{Transmission delay} = \frac{L}{R} \]
where \(L\) is the packet length in bits and \(R\) is the transmission rate of the link in bits per second. Larger packets and slower links increase this delay.
Second, store-and-forward makes it possible for different links along a path to have different capacities. For example, one hop can be slow and another hop can be fast, because packets are fully buffered between hops. This flexibility is one reason packet switching works well in heterogeneous networks.
1.3.3. Queuing, buffering, and packet loss
Whenever multiple packets compete for the same outgoing link, they cannot all be transmitted simultaneously. Instead, they are placed in a queue. If packets arrive at a router faster than they can be transmitted over the output link, the queue grows. The time spent waiting in the queue is the queuing delay.
Buffers are finite. Therefore, if too many packets arrive and the buffer fills up, additional packets are dropped. The lecture emphasizes that packet loss is not some exotic malfunction but a normal phenomenon in packet-switched networks when offered load temporarily exceeds available capacity. In other words, a realistic TCP/IP network will experience some packet loss.
Simply adding more buffer is not always the solution. Very large buffers can reduce loss, but they may also increase delay significantly, which can hurt latency-sensitive applications. On the other hand, increasing capacity is also not trivial, because demand often expands when capacity grows. This leads to the broader theme that network design is always a cost–benefit trade-off rather than a single obvious optimization problem.
1.3.4. Packet switching vs. circuit switching
In circuit switching, an end-to-end path is established in advance, and resources along that path are reserved. This was the traditional approach in telephone networks. The reserved capacity is dedicated to the communication session and cannot be used by others, even when the user is silent. This creates predictability and guarantees, but it can waste resources.
In packet switching, by contrast, users share link capacity statistically. Packets from different users take turns using the same links as needed. This works especially well for bursty traffic, where users are active only part of the time. Packet switching therefore makes better use of shared capacity in many cases, because idle reserved bandwidth is avoided.
Example: if each user needs 1 Mbps when active but is active only 10% of the time, then a 10 Mbps link can support more than 10 users under packet switching, because not all users are likely to be active simultaneously. In the example discussed, more than 35 users may be supportable, with the probability of more than 10 simultaneous active users being under 0.04%. This illustrates statistical multiplexing, one of the core advantages of packet switching.
However, the lecture is careful not to present packet switching as an absolute winner. Circuit switching can still be attractive when strict guarantees are required, especially for certain real-time applications such as medical procedures or sensitive conferencing systems where guaranteed bandwidth and low variability matter. This motivates later topics such as quality of service.
Although packet-switching arguments often assume that user activity is independent and uniformly distributed, real traffic is not so neat. Human activity patterns cause demand to cluster in predictable periods, such as lunch breaks, evenings, or between classes in a university setting. Therefore, networks must be engineered for the busy hour, not for an average over the entire day.
This is another important practical message of the lecture: theoretical statistical multiplexing gains are real, but actual network dimensioning must account for synchronized demand, user behavior, and traffic peaks. When capacity increases, users may also change behavior and consume more content, so added capacity does not always produce the expected relief.
1.3.5. Internet structure above the access network
The Internet is not a single centrally controlled network. Local and regional ISPs connect users, but those networks must then be interconnected with other networks. This creates both a technical and an economic problem: who connects to whom, under what policy, and who pays? The lecture stresses that interconnection is not purely technical; it is also political and commercial.
Several key terms appear here:
- Peering: two networks exchange traffic directly, often settlement-free, because both benefit.
- Transit: one network pays another to carry its traffic onward to the rest of the Internet.
- IXPs (Internet Exchange Points): physical locations where networks can interconnect more efficiently.
- BGP (Border Gateway Protocol): the protocol used between autonomous systems to implement routing policies at this inter-network level.
The lecture rejects two simplistic models: connecting every ISP directly to every other ISP is not scalable, and having a single global ISP would create an undesirable central point of control. Instead, the real Internet consists of multiple large backbone providers, regional ISPs, access ISPs, and other private networks, all interconnected in a complex policy-driven structure.
A major additional component is the Content Distribution Network (CDN). CDNs replicate content at many locations so that popular data can be served from nearby rather than from a single origin server. This is essential for viral content and large-scale distribution. Companies such as Google, Amazon, and Cloudflare are used as examples of major content and infrastructure providers with widespread presence and many interconnections.
The lecture also discusses Tier-1 networks, which are the largest backbone networks. They interconnect with one another in a full mesh so that the Internet remains globally reachable. Below them are regional networks, access networks, and private content networks. The resulting topology is conceptually hierarchical, but technically it is still an irregular graph that evolves according to demand, cost, and policy.
1.3.6. Points of Presence and internal ISP topology
Within large provider networks, not all routers have the same role. At a Point of Presence (PoP), some routers connect long-distance high-capacity backbone links, while others connect customers. This distinction exists because backbone connectivity and customer aggregation impose different bandwidth and port requirements. It is usually more efficient to separate these roles rather than using identical routers everywhere.
1.4. Performance: Delay, loss, throughput
1.4.1. Performance metrics: the four main delay components
The lecture identifies four main contributors to packet delay:
- Processing delay: the time to examine the packet, check for errors, consult the forwarding table, and prepare the packet for transmission.
- Queuing delay: the time the packet waits in the output queue.
- Transmission delay: the time needed to push all bits of the packet onto the link, \(L/R\).
- Propagation delay: the time for the signal to physically travel across the medium, determined by distance and propagation speed.
The lecture emphasizes that students must not confuse transmission delay with propagation delay. Transmission delay depends on packet size and link bandwidth; propagation delay depends on link length and the physical medium. Distance matters only for propagation delay.
1.4.2. Traffic intensity and when queues become dangerous
The lecture introduces the idea of traffic intensity using arrival rate and service rate. If traffic offered to a link remains well below its service capacity, queuing delay remains small. As the offered load approaches the link’s service rate, queuing delay increases sharply. If the offered load exceeds capacity for sustained periods, queues cannot remain stable and packet loss becomes inevitable.
This is connected to a broader engineering insight: highly efficient use of capacity sounds attractive, but in systems with variable traffic, operating very close to the limit leads to poor delay behavior. That is one reason packet-switched networks are often provisioned with enough spare capacity rather than run at maximum theoretical utilization all the time.
1.4.3. Bottlenecks and end-to-end throughput
The end-to-end throughput of a connection is limited by the bottleneck link, that is, the smallest-capacity limiting segment along the path. If a client accesses a server and one link on the path is slower than the others, then that slowest link determines the achievable throughput. In simple cases, end-to-end throughput is the minimum of the relevant link rates.
The lecture also notes that this becomes more complicated in shared networks, because a high-capacity link may still act as the bottleneck if many users are competing for it. In that case, what matters is not only raw capacity but also how the capacity is shared. The Internet generally aims for some notion of fair sharing among flows.
In practice, bottlenecks often appear in the access network, at interconnection points between ISPs, or near the destination. However, this is only a common pattern, not a universal rule.
1.4.4. Why the Internet has congestion control
Because packet switching allows many users to share links dynamically, congestion is unavoidable unless traffic is regulated. The lecture therefore motivates congestion control as a kind of “traffic light” system: senders should not inject more traffic than the network can handle. Without this, queues overflow, losses rise, and performance collapses. This is one of the reasons packet-switched networks require protocols and control mechanisms above simple forwarding.
1.5. Security
Introductory security perspective
The lecture introduces security in a broad conceptual way. The Internet was not originally designed with security as a primary goal. Its openness and universal connectivity are precisely what make it so useful, but also what make it vulnerable. The lecture frames security as an ongoing balancing act between openness, usability, cost, and protection.
Two simple classes of attack are highlighted:
- Packet sniffing / eavesdropping: if an attacker can observe traffic on a shared medium or near the sender/receiver, unencrypted traffic can be read directly.
- IP spoofing / impersonation: because source IP addresses are not inherently trustworthy, attackers can forge them unless networks apply proper filtering.
1.6. Protocol layers
1.6.1. Motivation
The Internet is complex because it consists of many different elements:
- routing protocols
- application protocols
- heterogeneous networks and devices
- many interacting components at different abstraction levels
To talk about such a system in a structured way, networking uses reference models. These models do not perfectly capture every real-world situation, but they help organize discussion and system design. The lecture emphasizes that in networking, many answers are context-dependent: it depends.
1.6.2. Why layers are useful
Layering is used in the same general spirit as abstraction in computer science:
- it separates concerns
- it gives a stable reference for discussion
- it makes maintenance and evolution easier
- changes in one layer do not necessarily require changes in the others
- it provides transparency through simple interfaces
1.6.3. Reference models mentioned
Two reference models are mentioned:
- the OSI model with seven layers
- the Internet model with about four or five layers
The lecture chooses the five-layer Internet model as the basis for discussion.
1.6.4. The Internet Stack
The five-layer Internet stack presented in the lecture is:
- Application layer
- Transport layer
- Network layer
- Link layer
- Physical layer
1.6.5. Application layer
This layer contains the protocols needed by applications running on top of the Internet. Examples mentioned include:
- HTTP
- DNS
- SMTP
- IMAP
These protocols enable concrete services such as the web and email.
1.6.6. Transport layer
The transport layer enables process-to-process communication. Two major transport protocols are highlighted:
- TCP: reliable, connection-oriented transport
- UDP: lightweight datagram-based transport
The layer is responsible for delivering data between processes rather than merely between hosts.
1.6.7. Network layer
The network layer enables host-to-host communication. This is where:
- IP (IPv4 and IPv6)
- routing protocols
operate. Its role is to move data from one host to another across interconnected networks.
1.6.8. Link layer
The link layer handles communication between neighboring devices. Different link technologies can coexist:
- Ethernet
- fiber
- Wi-Fi
As long as IP can run on top of a link technology, higher-layer Internet protocols can still work. This interoperability is presented as one of the Internet’s major strengths.
1.6.9. Physical layer
The physical layer moves raw bits across the medium.
The lecturer notes that this part is closer to electrical engineering and will not be discussed in detail.
1.7. Encapsulation and Decapsulation
A central concept of the lecture is encapsulation.
1.7.1. Downward path at the sender
When data is sent:
- the application creates a message
- the transport layer adds a header and creates a segment
- the network layer adds another header and creates a datagram
- the link layer adds yet another header and creates a frame
- the frame is transmitted over the physical medium
Each layer adds control information relevant to its own task.
1.7.2. Upward path at the receiver
At the destination:
- the link header is removed
- then the network header
- then the transport header
- finally the original application message is delivered
This is called decapsulation.
1.7.3. Why headers matter
Each layer’s header contains enough information for the next step of delivery. For example:
- the network layer must know the host destination
- the transport layer must know whether data goes to TCP or UDP
- the application side must know which application should receive the data
The lecture also points out that if only a tiny amount of payload is sent, the relative overhead of headers becomes very large.
1.7.4. Layering Along the Path: Hosts, Switches, and Routers
Real communication usually does not occur over a direct link between source and destination.
- Hosts
End hosts implement all five layers.
- Switches
A switch is described as a link-layer device. It forwards frames based on link-layer information.
- Routers
A router is described as a network-layer device. Inside the network core, forwarding usually only requires processing up to the network layer. Routers generally do not need transport-layer or application-layer information for ordinary forwarding.
- Important observation about link headers
The network-layer destination may remain the same along the path, but the link-layer header changes hop by hop, because each link-layer transmission is only between neighboring devices.
- Caveat: middleboxes
Although core forwarding normally stops at the network layer, the lecturer notes that some middleboxes may inspect more than just network-layer information.
1.8. Historical Development of the Internet
The lecture briefly surveys the Internet’s history and design philosophy.
1.8.1. Early development
The Internet is described as roughly 50 years old.
Historical landmarks mentioned include:
- ALOHAnet and satellite networks in Hawaii in the 1970s
- Cerf and Kahn’s internetworking work
- Ethernet in 1976
- ARPANET growth by 1979 to around 200 nodes
The central problem was how to interconnect different local networks without forcing them all into one unified link-layer design. This is where the term internetworking comes from.
1.8.2. Core design philosophy
The original Internet design aimed to:
- preserve the autonomy of local networks
- keep the design simple and minimal
- assume only basic packet delivery from subnetworks
- avoid strong service guarantees
- keep the system relatively stateless
- use decentralized control
- provide best-effort service
The lecturer stresses that these choices were foundational. If the designers had prioritized guaranteed service from the beginning, today’s Internet would likely look very different.
1.8.3. 1980s and 1990s
The lecture lists major protocol and infrastructure developments:
- TCP/IP deployment
- SMTP
- DNS
- FTP
- TCP congestion control after congestion collapse
- national and academic networks such as CSNET, BITNET, and NSFNET
This period saw rapid growth in both scale and connectivity.
1.8.4. Commercialization and the Web
Important changes in the early 1990s:
- NSF allowed commercial use
- the web emerged
- HTML and HTTP were proposed by Tim Berners-Lee
- Mosaic became an early browser
The lecture emphasizes how the web transformed the Internet from an academic communication infrastructure into a mass-access information system.
1.8.5. Late 1990s and after
Additional developments mentioned:
- further commercialization
- peer-to-peer systems for music and file sharing
- the rise of security concerns
- high-capacity links
- Wi-Fi
- software-defined networking
- CDNs and large content providers
- cloud services
- massive growth in mobile access
- IoT and billions of connected devices
The lecturer presents the Internet as successful precisely because it scaled and kept evolving while preserving a workable core model.