Professional Documents
Culture Documents
ACK: Slides use some material from Scott Shenker (UC Berkeley)
Administrivia
Look for the following items on LMS (by tomorrow):
Textbooks
Piazza and TA office hours information
Schedule (dates for quizzes, assignments, tutorials)
2
Goal of Today’s Lecture
Introduce basic networking language
3
Specific questions for today’s lecture
Defining characteristics of the internet
What are the basic networking components?
Who runs different networks on the Internet?
What is the purpose of the internet?
What are the fundamental challenges the internet faces?
How does the internet support so many diverse applications?
What are packets?
Why packets?
4
Internet: Defining Characteristics
The internet is a network of networks – a federated system
Enormous scale
Approx. 5B users, 1.2B+ websites, 500+hrs YT video uploaded per min
Dynamic range
in latency (few ms to min), bandwidth, packet loss (near 0 to above 60%)
Diversity
in technologies (DSL, fiber, etc.), end devices, user roles
5
Internet: Defining Characteristics
Constantly evolving
kb/s to Tb/s, Email/FTP to Millions of Apps in app-stores
Asynchronous in operation
Lahore-Karachi round trip time at near light speed?
How many cycles of a 2.8GHz CPU are in that time?
Failure prone
Something will fail somewhere; and, often
Constrained by what’s practical
Physical interface count, bandwidth, error rate
6
Basic Networking Components
Packets: chunks of data bits
More specific names: frame, datagram, segment
7
car navigator
heart pacemaker
smartphone
end-system
iPad
Linux server MAC laptop
Windows PC 8
end-system switch
9
link
phone
lines
end-system switch
fibers
wireless
cable TV links
lines
10
link
phone company
end-system switch
university net
cable company
Internet Service
Provider
11
link
end-system switch
path
packet
Internet Service
Provider 12
A variety of applications
facebook Minecraft
server server
IM
FB
messenger
IM
FB messenger
firefox
minecraft client accessing 13
facebook
Think how are they Coded
while (...) {
while (...) { message = receive( ... );
message = ...; }
send ( message, ... );
}
Bob
Alice
14
The Core Task of Internet
Delivers packets between programs (applications) on different hosts
This involves both the network and network stack
15
What are Packets?
16
Packets
Packets are chunks of bits with:
Header: meaningful to the network (and network stack)
Can be more than one header!
Body: meaningful only to the application
Header Body
The packet's body can be bits in a text or PDF file, image, etc.
What information do you think should go in a header?
17
What Must The Header Contain?
Packet must describe where it should be sent
18
Names vs Addresses
Network address: where a host is located
Network name: which host is it
When you move a server to a new location
The name doesn’t change
But address does (mostly!)
19
Packets Must Be Sent Along Path
link
end-system switch
path
packet
20
Fundamental Challenge #1
Route packets through the network to the CORRECT destination
21
Routing Protocols (Conceptually)
Gather information about the network topology
Compute paths through that topology
Is there just one path from one host to another?
22
Control Plane vs Data Plane
Control plane: mechanisms used to compute routing tables
Inherently global: must know topology to compute
Routing algorithm is part of the control plane
Time scale: per network event
23
Fundamental Challenge #2
How do you deliver packets reliably?
25
Other Important Challenges
Congestion control
Hosts on the Internet independently decide at what rate they will send packets
How to ensure that these independent decisions don’t overload various links?
26
Other Important Challenges (Cont’d)
How do securely communicate over an insecure medium?
Messages between two hosts may be intercepted by an intruder
Hosts want to ensure that they are indeed talking to the destination host
And the sent messages are not altered by other parties
27
What Have We Missed?
Consider when you access a web page
Insert URL into a browser (e.g., cnn.com)
Packets sent to the website (reliably)
Packets reach the application (web server) on the destination host
28
Mapping Names to Addresses: Recap
URLs are based on the name of the host containing the content (i.e.,
cnn.com names a host)
Before you can send packets to cnn.com, you must resolve names into
the host’s address
29
Finishing Our Story
We now have the address of the website
We can send packets to host
When a packet arrives at a host, what does the host do with it?
To which program (app) should the packet be sent?
If the packet header only has the destination address, how does the host
know where to deliver the packet?
30
Of Sockets and Ports
When a process wants access to the network, it opens a socket, which is
associated with a port number
31
Implications for Packet Header
Packet header includes:
Destination address and port number
Source address and port number
32
Separation of Concerns
Network
Deliver packets from host to host (based on address)
Applications
Send and receive packets
Understand the content of packet bodies
33
Summary
Network(ed) applications:
Exchange messages with other end-systems
The core task of the Internet
Delivers packets between programs (applications) on different end-systems
Important problems the internet is solving:
Routing
Reliable transfer
Congestion control
Mapping names to addresses
Secure Communication
Routing with autonomous control
34
Questions?
35