computer networks and the Internet: what the Internet is, what a protocol is, the idea of edge vs core, basic performance concepts (delay, loss, throughput), layers, security. This is just a brief intro before all the math and algorithms.
1. Big Picture: What Is the Internet?
view of "network of networks"
[Home Net] [Campus Net] [Mobile Net]
| | |
+-------+------+--------------+
|
[ ISP ]
|
+------+------+------+
| | | |
[Content][Cloud][More][Other]
Provider DCs ISPs Networks
- "Network of networks"
The Internet is not one single giant computer. It is many different networks connected together:
- Home networks (your WiFi router, phone, laptop, smart TV).
- Campus / enterprise networks (university, offices, labs).
- Mobile networks (4G, 5G towers and core networks).
- Internet Service Providers (ISPs) that connect all these smaller networks.
- Large content / datacenter networks (Google, Netflix, AWS, etc.).
- Billions of devices
- Traditional: PCs, laptops, servers, phones, tablets.
- IoT: smart fridges, light bulbs, doorbells, watches, cars.
- All of these are called hosts or end systems.
- Routers and links in between
The "roads" and "junctions" of the Internet:
- Links -> physical connections (fiber, copper, radio waves).
- Routers -> devices that forward packets from one link to another.
- Hosts send data, routers forward it, the other end receives it.
- Two viewpoints
- Infrastructure view: lots of cables, routers, data centers.
- Services view: web, email, streaming, games, social media.
2. Internet as a Service Platform
view of app talking over Internet
[Browser] [Mail App] [Game Client]
| | |
+------------------+---------------------+
|
[ Internet ]
|
+------------------+---------------------+
| | |
[Web Server] [Mail Server] [Game Server]
- What services run over the Internet?
- Web browsing (HTTP, HTTPS).
- Email (SMTP, IMAP, POP3).
- Video streaming (Netflix, YouTube, Twitch).
- Voice / video calls (Zoom, Teams, WhatsApp calls).
- Online games, file sharing, cloud storage, social networks, IoT apps.
- Programming interface for applications
The Internet gives applications a set of "hooks" to send and receive data:
- Applications open a socket -> send bytes -> receive bytes.
- They do not have to know all the details of how routers forward packets.
- Like a very advanced postal service for bits.
- End systems vs the network
- Applications live and run on end systems (hosts).
- The network's job: move data between hosts as requested.
3. What Is a Protocol?
message exchange example (HTTP)
Client Server
| |
| GET /index.html HTTP/1.1 |
|----------------------------->|
| |
| HTTP/1.1 200 OK |
| <html>...</html> |
|<-----------------------------|
| |
- Everyday human protocols
We already follow "protocols" in real life:
- Greeting protocol:
- A: "Hi, I am Big J."
- B: "Nice to meet you, I am Gregger Chan."
- Restaurant ordering protocol:
- Read menu -> call waiter -> say order -> receive food -> pay.
- Class Q&A protocol:
- Raise hand -> wait to be called -> ask question -> listen to answer.
- Greeting protocol:
- General definition
A protocol is a set of rules that defines:
- What messages are sent.
- In what order they are sent and received.
- What to do when a message is received or when timeouts happen.
- Network protocols
Same idea, but for machines talking to each other:
- HTTP: how browsers and web servers talk.
- TCP: reliable, ordered delivery of data between hosts.
- IP: addressing and forwarding packets across networks.
- DNS: translating names (for example, example.com) to IP addresses.
- Wi-Fi / 4G / 5G / Ethernet: how devices talk over the local link.
- Mini example: HTTP
Client -> Server: GET /index.html HTTP/1.1 Server -> Client: HTTP/1.1 200 OK <html>...page content...</html>- Both sides must follow the same "script" (protocol) to understand each other.
4. Network Edge: Hosts and Access Networks
view of edge and access
[Laptop] [Phone] [Smart TV]
| | |
(Wi-Fi / Ethernet at home)
| | |
[Home Router]
|
[ ISP Access ]
- Hosts / end systems
- Laptops, phones, desktops, servers, IoT devices.
- Where applications run (web browsers, games, mail servers, etc.).
- Client-server model
- Client -> initiates contact.
- Example: your browser sending an HTTP request.
- Server -> waits for incoming requests.
- Example: web server hosting a site.
- Client -> initiates contact.
- Access networks (how you connect to ISP)
- Home:
- Fiber to the home, cable, DSL.
- WiFi from your home router to your devices.
- Campus / office:
- Ethernet (wired), enterprise WiFi.
- Mobile:
- 4G/5G base stations, SIM card, mobile core network.
- Home:
- Physical media
- Copper (twisted pair, coaxial cable).
- Optical fiber (high speed, long distance).
- Radio (WiFi, cellular, satellite).
5. Network Core: Routers and Switching
mesh of routers
[R1]------[R2]------[R3]
| | |
[R4]------[R5]------[R6]
| |
[Edge A] [Edge B]
(host) (host)
- Network core = mesh of routers
- Routers interconnect multiple links.
- Packets hop from router to router until they reach the destination.
- Forwarding packets
- Each packet has a destination address (IP address).
- The router looks at the destination, chooses an outgoing link, and forwards it.
- This happens many times along the path: host -> router -> router -> ... -> host.
- Packet switching vs circuit switching (high level)
Packet switching (Internet style): [Host A] | [Rtr]---[Rtr]---[Rtr]---[Host B] Many flows share these links Circuit switching (telephone style): [Host A]===[Reserved path]===[Host B] Dedicated bandwidth for 1 call- Packet switching:
- Data is broken into small units (packets).
- Links are shared by many users.
- Efficient utilization, but possible congestion and delay.
- Circuit switching:
- Reserves a dedicated path and bandwidth for each call.
- Predictable performance but can be wasteful if the line is idle.
- Packet switching:
6. Performance: Delay, Loss, Throughput
timeline for delay
Time axis ->
[Host]----(processing)----[Rtr1]--(queue)--[Rtr2]--(propagation)--[Dest]
processing delay: at each router / host
queuing delay : waiting in buffer
transmission : pushing bits on link
propagation : signal travel time
- Delay (latency)
How long it takes for data to travel from source to destination.
- Processing delay - time to examine the packet header.
- Queuing delay - time waiting in router buffers.
- Transmission delay - time to push all bits onto the link.
- Propagation delay - time for signal to move over the medium.
We often care about end-to-end delay (sum of all these along the path).
- Packet loss
view of buffer overflow Incoming packets -> [Queue: size 4] [pkt1][pkt2][pkt3][pkt4][ X ] ^ | dropped (loss)- Routers have limited buffer space.
- If too many packets arrive too quickly, buffers overflow.
- Overflowed packets are dropped. This is packet loss.
- Protocols like TCP react by retransmitting and slowing down.
- Throughput
bottleneck example 100 Mbps 10 Mbps 100 Mbps [Host]----[Link]----[Link]----[Link]----[Host] ^ | bottleneck link (max throughput)- Rate at which data is successfully delivered, in bits per second (bps).
- Examples:
- Home Internet: 100 Mbps down, 20 Mbps up.
- Data center links: 10 Gbps, 40 Gbps, 100 Gbps, etc.
- Throughput can be limited by:
- The slowest link along the path (bottleneck).
- Congestion and retransmissions.
- User experience vs metrics
- Web browsing: cares about latency (page load time) and throughput (how fast content arrives).
- Online gaming: latency is critical; a bit of loss is often tolerable.
- Video streaming: needs enough throughput and not too much sustained loss.
7. Protocol Layers and Service Models
ASCII layer stack (top to bottom)
+--------------------------+
| Application layer |
+--------------------------+
| Transport layer |
+--------------------------+
| Network layer |
+--------------------------+
| Link layer |
+--------------------------+
| Physical layer |
+--------------------------+
App uses Transport, which uses Network, etc.
- Why use layers?
- Networking is complex, so we break it into smaller pieces (layers).
- Each layer:
- Uses services from the layer below.
- Provides services to the layer above.
- Internal details of a layer are hidden from others (modularity).
- Internet protocol stack (5-layer view)
- Application -> network applications:
- HTTP (web), SMTP (email), DNS, etc.
- Transport -> process to process data transfer:
- TCP: reliable, ordered, congestion-controlled.
- UDP: simpler, no guarantees, low overhead.
- Network -> routing of datagrams:
- IP: logical addressing, forwarding across networks.
- Link -> data transfer between neighboring network elements:
- Ethernet, WiFi, 5G, etc.
- Physical -> bits on the wire, fiber, or air:
- Voltages, light pulses, radio signals, etc.
- Application -> network applications:
- Service models
- Each layer offers a particular service model:
- Reliable vs unreliable.
- Ordered vs unordered.
- Guaranteed bandwidth vs best effort.
- Applications choose what they need (for example, video call vs file transfer).
- Each layer offers a particular service model:
8. Security (Very High Level)
attacker view
[Client]----[Internet]----[Server]
\ ^
\ |
\--[Attacker sniffs packets]
With HTTPS:
[Client]====encrypted====[Server]
Attacker sees only ciphertext.
- Original Internet design
- Focused on connectivity, not on security.
- Assumed mostly trusted academic and research users.
- Types of threats
- Eavesdropping -> attacker listens to traffic.
- Packet tampering -> attacker modifies packets in transit.
- Spoofing -> attacker pretends to be someone else.
- Denial-of-service (DoS) -> attacker floods network or host with traffic.
- Malware -> viruses, worms, trojans, ransomware.
- Basic defenses
- Encryption -> for example, HTTPS (HTTP over TLS) to protect privacy.
- Authentication -> passwords, digital certificates.
- Firewalls -> filter incoming and outgoing traffic.
- VPNs -> secure tunnels over untrusted networks.
- Security is a cross layer concern
- We must think about security at application, transport, network, and link layers.
9. A Short History of the Internet
ASCII timeline
1960s 1970s 1980s 1990s 2000s+
| | | | |
[ARPANET]--packet-->[TCP/IP]-->[Early ISPs]-->[Web boom]-->[Mobile, Cloud, IoT]
- ARPANET (late 1960s to 1970s)
- Early packet switched network funded by the U.S. Department of Defense.
- Connected a small number of research sites.
- 1970s to 1980s: Birth of TCP/IP
- TCP/IP designed as a flexible, robust protocol suite.
- Adopted by ARPANET and then many other networks.
- 1990s: Web and commercialization
- Tim Berners-Lee invents the World Wide Web (HTTP, HTML, URLs).
- Mosaic and Netscape browsers bring the web to the public.
- ISPs grow, more people connect at home.
- 2000s to now: Broadband, mobile, cloud, IoT
- Always on broadband access, WiFi everywhere.
- Smartphones: mobile Internet becomes dominant for many users.
- Cloud computing, large data centers, streaming, social networks.
- Explosion of Internet connected devices (IoT).
10. Quick Self Check and Exercises
checklist
[ ] 1. Example of a human protocol and a network protocol
[ ] 2. Difference between network edge and core
[ ] 3. Three types of delay and what they mean
[ ] 4. Five layers of Internet stack + one protocol each
[ ] 5. Draw path from your device to a content provider
- Concept check questions
- Give one example of:
- (a) a human protocol, and
- (b) a network protocol.
- Explain the difference between the network edge and the network core.
- Name and briefly describe three types of delay that a packet can experience.
- List the five layers of the Internet protocol stack and one protocol at each layer.
- Give one example of:
- Mini activity idea
- Draw a simple diagram of:
- Your laptop or phone.
- Your home WiFi router.
- Your ISP.
- A content provider (for example, "Video Site").
- Trace the path of a packet when you watch a video:
- Which parts are "edge"? Which are "core"?
- Where can delay and loss happen?
- Draw a simple diagram of:
- Preview of next lessons
- We will dive deeper into:
- Packet switching vs circuit switching.
- Detailed delay and loss analysis.
- Transport layer protocols like TCP and UDP.
- We will dive deeper into:
11. Lesson 1.1 Quiz
short quiz to check your understanding. Some questions have more than one correct answer. Select all that apply and then click "Check Answers".
Question 1: What is the Internet? (nuts-and-bolts view)
Which of the following descriptions correspond to a "nuts-and-bolts" view of the Internet? Select one or more answers that are correct.
Question 2: What is the Internet? (services view)
Which of the following descriptions correspond to a "services" view of the Internet? Select one or more answers that are correct.
Question 3: What is a protocol?
Which of the following human scenarios involve a protocol? Recall that protocols define the format and order of messages sent and received among network entities, and the actions taken on message transmission and receipt. Select one or more answers that are correct.