Lec 2
Lec 2
1
ACK: Slides use some material from Scott Shenker (UC Berkeley)
Goal of Today’s Lecture
l To introduce you to basic networking language
2
Basic Networking Components
l End systems: they send/receive packets
l Will also sometimes use the term hosts for end-systems
3
car navigator
heart pacemaker
smartphone
end-system
iPad
Linux server MAC laptop
Windows PC
4
end-system switch
5
link
phone
lines
end-system switch
fibers
wireless
cable TV links
lines
6
Who runs the network?
link
phone company
end-system switch
university net
cable company
7
What’s the purpose of the Internet?
link
end-system switch
path
packet
8
Underlying purpose of networks…
l Allow two programs on two different end-systems to
exchange data
9
Why Does This Matter?
l Separation of concerns design principle:
l Separating a computer program into distinct sections
such that each section addresses a separate concern
10
Variety of applications
facebook
server world of
warcraft server
instant
messaging
instant messaging
while (...) {
while (...) { message = receive( ... );
message = ...; }
send ( message, ... );
}
Talal
Taimoor
12
The Core Task of Internet
l Delivers packets between programs (applications)
on different hosts
l This involves both the network and network stack
13
Packets
l Packets are bags of bits with:
l Header: meaningful to network (and network stack)
l Can be more than one header!
l Body: meaningful only to application
Header Body
link
end-system switch
path
packet
15
What Must Header Contain For This?
l Packet must describe where it should be sent
16
Packets Must Be Sent Along Path
link
end-system switch
path
packet
17
Fundamental Challenge #1
l Route packets through network to destination
19
Routing Protocols (Conceptually)
l Distributed algorithm run between routers
23
Other Important Challenge
l Congestion control
l Hosts on the Internet independently decide at what
rate they will send packets
l How can you make sure that these independent
decisions don’t overload various links?
24
What Have We Missed?
l Consider when you access a web page
l Insert URL into browser (e.g., cnn.com)
l Packets sent to web site (reliably)
l Packets reach application on destination host
25
Mapping Names to Addresses
l URLs are based on the name of the host containing
the content (i.e., cnn.com names a host)
26
Finishing Our Story
l We now have the address of the web site
l So we can send packets to host
l Are we done?
29
Separation of Concerns
l Network
l Deliver packets from host to host (based on address)
l Applications
l Send and receive packets
l Understand content of packet bodies
l Reliable transport
l Congestion control
31
Questions?
32