end-system
Internet Service ProviderA federated system
The Internet interconnects different networks (>18,000 ISPs)
ASQ \ AB
PS ee
- #3}™
‘*
( Frani Ps
— com
One common protocol -- the “Internet Protocol (IP) -- between
users and the network and between networksAsynchronous Operation
e Fundamental constraint: speed of light
e Consider:
e How many cycles does your 3GHz CPU in Berkeley
execute before it can possibly get a response from a
message it sends to a server in NY?
e Berkeley to New York: 4,125 km
Traveling at 300,000 km/s: 13.75 milliseconds
e Then back to Berkeley: 2 x 13.75 = 27.5 milliseconds
e 3,000,000,000 cycles/sec * 0.0275 = 84,000,000 cycles!
e Thus, communication feedback is always datedProne to Failure
e To send a message, all components along a path
must function correctly
e software, modem, wireless access point, firewall, links,
network interface cards, switches.,...
e Including human operators
e Consider: 50 components, that work correctly 99%
of time > 39.5% chance communication will fail
e Plus, recall
e scale > lots of components
e asynchrony > takes a long time to hear (bad) newsAn Engineered System
e Constrained by limits of available technology
e Link bandwidths
e Switch port counts
e Bit error rates
e Cost
ee...So, what do we need?
We still don’t really know...
e Noconsensus on what constitutes the “correct” or
“best” network design
e Noconsensus on “top 10 problems”
e Noconsensus on the right prioritization of goals
Before you flee...Backing up a level
e The Internet offers us a lesson on how to reason
through the design of a complex system
e What are our goals and constraints?
e What's the right prioritization of goals?
How do we decompose a problem?
e Who does what? How?
What are the tradeoffs between design options?
e In short: a lesson in how to architect a systemcentral
DSL modem ee
home PC
telephoneDigital Subscriber Line (DSL)
>» Twisted pair copper
>» 3 separate channels
- downstream data channel
- upstream data channel
- 2-way phone channel
> upto 25 Mbps downstream
> upto 2.5 Mbps upstreamcable head
endcable head
endv
v
Cable
Coaxial copper & fiber
up to 42.8 Mbps downstream
up to 30.7 Mbps upstream
shared broadcast mediumworkstation
Ethernet cable
“local”
switch
“aggregate”
switchEthernet
>» Twisted pair copper
> 100 Mbps, 1 Gbps, 10 Gbps (each direction)»
»
& more
Cellular (smart phones)
Satellite (remote areas)
Fiber to the Home (home)
Optical carrier (Internet backbone)eo—_®
How do we scale a network to many end-systems?
2
O(n?) links per-node capacity scales as 1/n
29Intuition: reservations
Frequent overloading
Link capacity = 30Mbps
Each source gets 10Mbps
13MbpsStatistical multiplexing is a
recurrent theme in computer science
» Phone network rather than dedicated lines
- ancient history
>» Packet switching rather than circuits
- today’s lecture
>» Cloud computing
- shared vs. dedicated machinesPerformance Metrics
> Delay
>» Loss
> ThroughputDelay
> Consists of four components
- transmission delay
due to link properties
- propagation delay
queuing delay due to traffic mix and
switch internals
- processing delayPacket Delay
Sending 100B packets from A to B?
B
A
bah al,
Time to te Taal Time when that
bit reaches B
MOM
Aileen rlaaali
800 bits=800x1/10%s
100Byte packet
aeeOmes
reaches B at
(800x1/10®)+1/108s
= 1.8msy
Sending 100B packets from A to B?
wd
: ;
bog, SO — Tal,
The last bit in the file alae aot alae eos
reaches B at reaches B at reaches B at
x800x Naas (800x )+1/10%s | (800x1/10°)+1/108s
= Elna)
= =00)|msPacket Delay: The “pipe” view
Sending 100B packets from A to B?
A B
_
pkt tx
time
100Byte packet a
i
100Byte packet time >
100Byte packetQueuing Delay
e How long does a packet have to sit in a buffer
before it is processed?
e Characterized with statistical measures
e average queuing delay
e variance of queuing delay
e probability delay exceeds a threshold valuetransmission rate R1 transmission rate R2
| |
bottleneck linkBasic Observation
e Some application requirements can only be correctly
implemented end-to-end
e reliability, security, etc.
e Implementing these in the network is hard
e every step along the way must be fail proof
e Hosts
e Can satisfy the requirement without network’ s help
e Will/must do so, since they can’ t rely on the networkRouting Follows the Money!
Pr@— Cu
Peer @-@® Peer
e Routes are “valley free” (will return to this later)Why a transport layer: Demultiplexing
many application
processes
Communication
between processes
at hosts
Communication
between hosts
(128.4.5.6 €>162.99.7.56)Why a transport layer:
Improved service model
e IP provides a weak service model (best-effort)
e Packets can be corrupted, delayed, dropped, reordered,
duplicated
e No guidance on how much traffic to send and when
e Dealing with this is tedious for application developersRole of the Transport Layer
e Communication between application processes
e Mux and demux from/to application processes
e Implemented using portsRole of the Transport Layer
e@ Communication between application processes
e Provide common end-to-end services for app layer
[optional]
e Reliable, in-order data delivery
e Well-paced data delivery
e too fast may overwhelm the network
e too slow is not efficientRole of the Transport Layer
e Communication between processes
e@ Provide common end-to-end services for app layer
[optional]
e TCP and UDP are the common transport protocols
e UDP is a minimalist, no-frills transport protocol
e TCP is the whole-hog protocol
e offers apps a reliable, in-order, bytestream abstraction
e with congestion control
e but no performance guarantees (delay, bw, etc.)4-bit
Norse 16-bit Total Length (Bytes)
Header| Type of Service
16-bit Identification
bit Protocol
32-bit Source IP Address
13-bit Fragment Offset
8-bit Time to
Live (TTL) 16-bit Header Checksum
32-bit Destination IP Address
Payload8-bit
Type of Service
(Tos)
16-bit Total Length (Bytes)
4|5
16-bit Identification 13-bit Fragment Offset
8-bit Time to
Live (TTL)
8-bit Protocol 16-bit Header Checksum
32-bit Source IP Address
32-bit Destination IP Address
Payload8-bit
Type of Service
(Tos)
16-bit Total Length (Bytes)
4|5
16-bit Identification 13-bit Fragment Offset
8-bit Time to
16-bit Header Checksum
32-bit Source IP Address
32-bit Destination IP Address
Payload8-bit
5 |type of Service
(Tos)
16-bit Total Length (Bytes)
ES) 13-bit Fragment Offset
8-bit Timeto_ | 6 = TCP
weqrtt| | 47+ upp 16-bit Header Checksum
32-bit Source IP Address
32-bit Destination IP Address
16-bit IdentificationSliding Window Protocols
e Resending packets: two canonical approaches
e Go-Back-N
e Selective Repeat
e Many variants that differ in implementation detailsTCP Header
Used to negotiate
use of additional
features
(details in section)
Source port
Destination port
Sequence number
Acknowledgment
Flags
Advertised window
Urgent pointer
Options (variable)Sliding Window at Sender (so far)
First unACKed byte
Last byte
can sendAbstract View
A:——(__ |||} —B
Sending Host Buffer in Router Receiving Host
e Ignore internal structure of router and model it as
a single queue for a particular input-output pair