0% found this document useful (0 votes)
18 views35 pages

Lec01 Overview

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views35 pages

Lec01 Overview

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

CSCI 4273/5273: Network Systems

Sangtae Ha
Fall 2024
Lectures: M/W 3:35 pm – 5:50 pm (ECCR 200)

Note: The slides are adapted from the materials from Profs. Jennifer Rexford and Mike Freedman at Princeton University,
and the networking book (Computer Networking: A Top-Down Approach) from Kurose and Ross.
Networks are everywhere

2
What You Learn in This Course
• Knowledge: how the Internet works
– IP protocol suite
– Internet architecture
– Applications (Web, E-Mail, DNS, P2P, VoIP, …)
• Insight
– Protocols
– Layering
– Resource allocation
– Naming
• Skill: network programming
– Socket Programming
– Basis for designing and implementing network systems
3
Learning the Material: People
• Lecture
– Sangtae Ha (http://netstech.org/)
– When: W/M 3:35-4:50pm (ECCR 200)
– Zoom: https://cuboulder.zoom.us/j/91295403354
Passcode: 324613
– Office hours: M/W TBD (ECCR 1B16), by appointment
– Textbook: an open-source textbook “Computer Networks: A
Systems Approach,” https://book.systemsapproach.org/
• Teaching Assistants
– Tuan Tran, Evan Ram, may be one more
– Their office hours will be posted in Canvas

4
Grading
• 40% - Programming Assignments (4)
• 16% - Problem Sets (4)
• 40% - Exams (2)
• 4% - Quizzes (& Attendance)

5
Grading (continued)
• 40% - Programming Assignments (4)
– C/C++ programming language must be used
– Assignments 1 & 2 before the midterm
– Assignments 3 &4 after the midterm
– Each assignment has roughly 3 weeks to complete

• 16% - Problem Sets (4)


– Problem Sets 1 & 2 before the midterm
– Problem Sets 3 & 4 after the midterm
– Each Problem Set has 7 days to complete
6
Grading (continued)
• 40% - Exams (2)
– Midterm covers 1st half material
– Final covers all material with emphasis on 2nd half of
semester
– I reserve the right to adjust the weighting of the exams

• 10% - Quizzes (& Attendance)


– Don’t worry about missing a lecture here of there
– Read the material, come to lecture, ask questions
– In-class quizzes every two or three lectures (Please bring
your laptop!)
7
Grade Scale
Final Grade Scores
A 95.0 – 100.0
A- 90.0 – 94.9
B+ 87.0 – 89.9
B 83.0 – 86.9
B- 80.0 – 82.9
C+ 77.0 – 79.9
C 73.0 – 76.9
C- 70.0 – 72.9
D+ 67.0 – 69.9
D 63.0 – 66.9
D- 60.0 – 62.9
F < 60.0
8
Policies: Write Your Own Code
Programming in an individual creative process.
While thinking about a problem, discussions with
friends are encouraged. However, when the time
comes to write code that solves the problem, the
program must be your own work.
If you have a question about how to use some
feature of C, UNIX, etc., you can certainly ask your
friends or the TA, but do not, under any
circumstances, copy another person's program.
Letting someone copy your program or using
someone else's code in any form is a violation of
academic regulations.
9
What is the Internet?

10
Wikipedia
The Internet is the worldwide, publicly accessible
network of interconnected computer networks that
transmit data by packet switching using the standard
Internet Protocol (IP).

It is a "network of networks" that consists of millions


of smaller domestic, academic, business, and
government networks, which together carry various
information and services.

http://en.wikipedia.org/wiki/Internet
Internet growth
World Regions Internet Users Internet Users
(Dec 31, 2000) (June 30, 2019)
Asia 114 M 2275 M
Europe 105 M 727 M
North America 108 M 327 M
Latin America / Caribbean 18 M 453 M
Africa 5M 521 M
Middle East 3M 175 M
Oceania / Australia 8M 28 M
World Total 361 M 4510 M

12
“Best-Effort Packet Delivery
Service”

packets

THE
INTERNET

13
Why “Internet”
• Network of networks
• Standardized format and protocols for speaking
between HETEROGENOUS networks
“Do you see the L?”
“Yes, we can see the L,”

“Do you see the O?”


“Yes, we can see the O,”

“Then we typed the G,


and the system crashed”

Keinrock, 4 nodes, packet switched, 50Kbps links 14


Why “Internet”
• Network of networks
• Standardized format and protocols for speaking
between HETEROGENOUS networks

15
Internet History
1961 - 1972 1972-1980 1980-1990 1990-2000 2005-
Proprietary
Deployment 750M+
architectures –
of TCP/IP hosts
DECnet, SNA, XNA

ARPAnet Cerf and Khan - TCP


Architecture for congestion
HTML/
interconnecting control
HTTP
networks

1974 1983 1988


1979
Kleinrock-
queueing Csnet,
Ethernet at P2P Google
theory Email BITnet,
Xerox PARC DNS NSFnet
FTP 100,000
ARPAnet
hosts were 50M hosts
Public demo ARPAnet has connected 100M+ users
(15 nodes) 200 nodes

16
Power at the Edge
End-to-End Principle
Whenever possible, communications protocol
operations should be defined to occur at the
end-points of a communications system.

Programmability
With programmable end hosts, new network
services can be added at any time, by anyone.

And end hosts became powerful and ubiquitous….


“A Network of Networks”

4
3
THE 5

2
INTERNET
7 6

Web server
Client
Browser • How do you name?
• How do you find a name? 18
Internet structure: network of networks
Question: given millions of access ISPs, how to connect them
together?
access access
net net
access
net
access
access net
net
access
access net
net

access access
net net

access
net
access
net

access
net
access
net
access access
net access net
net

Introduction 1-19
Internet structure: network of networks
Option: connect each access ISP to every other access ISP?

access access
net net
access
net
access
access net
net
access
access net
net

connecting each access ISP


access
to each other directly access
net
doesn’t scale: O(N2) net

access connections.
net
access
net

access
net
access
net
access access
net access net
net

Introduction 1-20
Internet structure: network of networks
Option: connect each access ISP to one global transit ISP?
Customer and provider ISPs have economic agreement.
access access
net net
access
net
access
access net
net
access
access net
net

global
access
net
ISP access
net

access
net
access
net

access
net
access
net
access access
net access net
net

Introduction 1-21
Internet structure: network of networks
But if one global ISP is viable business, there will be
competitors ….
access access
net net
access
net
access
access net
net
access
access net
net
ISP A

access
net ISP B access
net

access
net
ISP C
access
net

access
net
access
net
access access
net access net
net

Introduction 1-22
Internet structure: network of networks
But if one global ISP is viable business, there will be
competitors …. which must be interconnected
access access
Internet exchange point
net net
access
net
access
access net
net

access
IXP access
net
net
ISP A

access
net
IXP ISP B access
net

access
net
ISP C
access
net

access peering link


net
access
net
access access
net access net
net

Introduction 1-23
Internet structure: network of networks
… and regional networks may arise to connect access
nets to ISPs
access access
net net
access
net
access
access net
net

access
IXP access
net
net
ISP A

access
net
IXP ISP B access
net

access
net
ISP C
access
net

access
net regional net
access
net
access access
net access net
net

Introduction 1-24
Internet structure: network of networks
… and content provider networks (e.g., Google,
Microsoft, Akamai) may run their own network, to
bring services, content close to end users
access access
net net
access
net
access
access net
net

access
IXP access
net
net
ISP A
Content provider network
access
net
IXP ISP B access
net

access
net
ISP C
access
net

access
net regional net
access
net
access access
net access net
net

Introduction 1-25
Key Concepts in Networking
• Protocols
– Speaking the same language
– Syntax and semantics
• Layering
– Standing on the shoulders of giants
– A key to managing complexity
• Resource allocation
– Dividing scare resources among competing parties
– Memory, link bandwidth, wireless spectrum, paths,
• Naming
– What to call computers, services, protocols, …
26
Key Concepts in Networking
• Protocols
– Speaking the same language
– Syntax and semantics

1969 1977 1998

All speak IPv4


“Internet Protocol version 4” 27
Key Concepts in Networking
• Protocols
– Speaking the same language
– Syntax and semantics
• Layering
– Standing on the shoulders of giants
– A key to managing complexity

28
The Layered Network Stack
• The OSI Model vs. TCP/IP Model

Application
Presentation Applications

Session
Transport
Transport
Network Internet
Data-Link Link
Physical Physical

OSI TCP/IP 29
Layering = Functional Abstraction
• Sub-divide the problem
– Each layer relies on services from layer below
– Each layer exports services to layer above
• Interface between layers defines interaction
– Hides implementation details
– Layers can change without disturbing other layers

Application

Application-to-application channels
Host-to-host connectivity
Link hardware 30
The Internet Protocol Suite

FTP HTTP NV TFTP Applications

TCP UDP UDP TCP

Waist
IP
Data Link
NET1 NET2 … NETn
Physical

The Hourglass Model

The waist facilitates interoperability


31
Example: HyperText Transfer Protocol

GET /courses/csci4273/fall19/ HTTP/1.1


Host: www.cs.colorado.edu
User-Agent: Mozilla/4.03
Request
CRLF

HTTP/1.1 200 OK
Date: Mon, 4 Feb 2019 11:09:03 GMT
Server: Netscape-Enterprise/3.5.1
Last-Modified: Mon, 2 Feb 2019 19:12:23 GMT
Response Content-Length: 21
CRLF
Site under construction
32
Layer Encapsulation in HTTP

User A User B

Get index.html
Application

App-to-app
Connection ID
channels
Host-to-host
Source/Destination
connectivity
Link Address
Link hardware

33
IP Suite: End Hosts vs. Routers
host host
HTTP message
HTTP HTTP

TCP segment
TCP TCP

router router
IP packet IP packet IP packet
IP IP IP IP

Ethernet Ethernet SONET SONET Ethernet Ethernet


interface interface interface interface interface interface

34
Conclusions
• Internet is a network of networks
– How hosts and networks name one another, find
one another, and talk with one another
• Key concepts in networking
– Protocols, layers, resource allocation, and naming

• Next lecture: layering and UNIX sockets


– Socket abstraction (important for assignment #1)
– Read Chapter 1 of the Peterson/Davie book
– Skim the online reference materials on sockets
35

You might also like