01 overview 02 - eth zcommunication networks spring 2020 materials inspired from scott shenker &...
TRANSCRIPT
![Page 1: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/1.jpg)
Communication Networks
Spring 2020
Materials inspired from Scott Shenker & Jennifer Rexford
ETH Zürich (D-ITET)
Laurent Vanbever
February 24 2020
nsg.ee.ethz.ch
![Page 2: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/2.jpg)
Last week on
Communication Networks
![Page 3: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/3.jpg)
Communication Networks
Part 1: General overview
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?
#1
![Page 4: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/4.jpg)
Networks are composed of three basic components
end-systems
switch/ routers
links
![Page 5: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/5.jpg)
Communication Networks
Part 1: General overview
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?
#2
![Page 6: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/6.jpg)
There exist two approaches to sharing:
reservation and on-demand
Reservation On-demand
reserve the bandwidth
you need in advance
send data when you needprinciple
![Page 7: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/7.jpg)
In practice, the approaches are implemented using
circuit-switching or packet-switching
Reservation On-demand
circuit-switching packet-switchingimplem.
![Page 8: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/8.jpg)
Pros and cons of circuit switching
advantages disadvantages
predictable performance
simple & fast switching
once circuit established
complex circuit setup/teardown
which adds delays to transfer
inefficient if traffic is bursty or short
requires new circuit upon failure
![Page 9: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/9.jpg)
Pros and cons of packet switching
advantages disadvantages
efficient use of resources
simpler to implement
than circuit switching
requires buffer management and
congestion control
unpredictable performance
route around trouble
![Page 10: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/10.jpg)
Communication Networks
Part 1: General overview
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?
#3
![Page 11: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/11.jpg)
access ISP access ISP
Tier2 ISPsTier2 ISPs
Tier1 ISPs Tier1 ISPs
IXPs
![Page 12: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/12.jpg)
This week on
Communication Networks
![Page 13: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/13.jpg)
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?
#4
#5
Communication Networks
Part 1: General overview
![Page 14: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/14.jpg)
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?
#4
Communication Networks
Part 1: General overview
![Page 15: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/15.jpg)
The Internet should allow
processes on different hosts
everything else is just commentary…
to exchange data
![Page 17: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/17.jpg)
cable company
phone company
university net
![Page 18: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/18.jpg)
Alice
Bob
![Page 19: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/19.jpg)
To exchange data, Alice and Bob use
a set of network protocols
![Page 20: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/20.jpg)
hello
hello
give me http://comm-net.ethz.ch/
here it is
A protocol is like a conversational convention:
who should talk next and how they should respond
BobAlice
![Page 21: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/21.jpg)
give me http://...give me http://...give me http://...give me http://...give me http://...give me http://...
BobAlicehello
Sometimes implementations are not compliant…
![Page 22: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/22.jpg)
while (...) { message = ...; send(message, ...); }
while (...) { message = receive( ... ); }
Alice
Bob
WoW serverWoW client
Application Programming Interface
Each protocol is governed
by a specific interface
![Page 23: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/23.jpg)
In practice, there exists a lot of network protocols.
How does the Internet organize this?
![Page 24: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/24.jpg)
https://xkcd.com/927/
![Page 25: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/25.jpg)
Modularity is a key component
of any good system
need to bound the scope of changes
evolve the system without rewriting it from scratch
can’t build large systems out of spaghetti code
hard (if not, impossible) to understand, debug, update
Problem
Modularity is how we do it
…and understand the system at a higher-level
Solution
![Page 26: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/26.jpg)
Modularity,
based on abstraction,
is the way things get done
— Barbara Liskov, MIT
Photo: Donna Coveney
![Page 27: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/27.jpg)
and the network hardware/software
that implement them
To provide structure to the design of network protocols,
network designers organize protocols in layers
![Page 28: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/28.jpg)
Application
Transport
Network
Link
Physical
L5
L4
L3
L2
L1
layer
Internet communication can be decomposed
in 5 independent layers (or 7 layers for the OSI model)
![Page 29: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/29.jpg)
Application
Transport
Network
Link
Physical
network access
end-to-end delivery (reliable or not)
global best-effort delivery
local best-effort delivery
physical transfer of bits
L5
L4
L3
L2
L1
layer service provided:
Each layer provides a service to the layer above by
using the services of the layer directly below it
![Page 30: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/30.jpg)
Each layer provides a service to the layer above
by using the services of the layer directly below it
Applications
…built on…
…built on…
…built on…
…built on…
Reliable (or unreliable) transport
Best-effort global packet delivery
Best-effort local packet delivery
Physical transfer of bits
![Page 31: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/31.jpg)
Application
Transport
Network
Link
Physical
exchanges messages between processes
transports segments between end-systems
moves packets around the network
moves frames across a link
moves bits across a physical medium
L5
L4
L3
L2
L1
layer role
Each layer has a unit of data
![Page 32: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/32.jpg)
L5
L4
L3
L2
L1
layer
Each layer (except for L3) is implemented
with different protocols
protocol
HTTP, SMTP, FTP, SIP, …
TCP, UDP, SCTP
IP
Ethernet, Wifi, (A/V)DSL, WiMAX, LTE, …
Twisted pair, fiber, coaxial cable, …
Application
Transport
Network
Link
Physical
![Page 33: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/33.jpg)
L5
L4
L3
L2
L1
layer
The Internet Protocol (IP) acts as
an unifying, network, layer
protocol
HTTP, SMTP, FTP, SIP, …
TCP, UDP, SCTP
IP
Ethernet, Wifi, (A/V)DSL, Cable, LTE, …
Twisted pair, fiber, coaxial cable, …
Application
Transport
Network
Link
Physical
![Page 34: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/34.jpg)
L5
L4
L3
L2
L1
layer
Each layer is implemented with different protocols
and technologies
technology
Application
Transport
Network
Link
Physical
software
hardware
![Page 35: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/35.jpg)
softwarehardware
L1 L2 L3 L4 L5
speedflexibility
![Page 36: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/36.jpg)
SDN, P4
DPDK, FD.io
softwarehardware
L1 L2 L3 L4 L5
speedflexibility
programmable
network devices
highly optimized
libraries, drivers
Software and hardware advancements
![Page 37: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/37.jpg)
https://www.wired.com/2014/06/microsoft-fpga/
![Page 38: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/38.jpg)
HTTP(S)
TCP/UDP
IP
Ethernet
Application
Transport
Network
Link
Each layer takes messages from the layer above,
and encapsulates with its own header and/or trailer
![Page 39: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/39.jpg)
GET google.chHA
Header Messageyour laptop
HTTP(S)
TCP/UDP
IP
Ethernet
Application
Transport
Network
Link
![Page 40: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/40.jpg)
GET google.chHAHT
GET google.chHAHTTP(S)
TCP/UDP
IP
Ethernet
Application
Transport
Network
Link
Header Message
![Page 41: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/41.jpg)
GET google.chHAHT
GET google.chHAHN HT
GET google.chHAHTTP(S)
TCP/UDP
IP
Ethernet
Application
Transport
Network
Link
Header Message
![Page 42: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/42.jpg)
GET google.chHAHT
GET google.chHAHN
GET google.chHE
HT
HAHN HT
GET google.chHAHTTP(S)
TCP/UDP
IP
Ethernet
Application
Transport
Network
Link
Header Message
![Page 43: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/43.jpg)
In practice, layers are distributed on every network device
HTTP(S)
TCP/UDP
IP
Ethernet
IP
HTTP(S)
TCP/UDP
IP
Etherneteth0
eth1
eth2
eth0
eth1
eth2
Application
Transport
Network
Link
![Page 44: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/44.jpg)
HTTP(S)
TCP/UDP
IP
Ethernet
IP
HTTP(S)
TCP/UDP
IP
Etherneteth0
eth1
eth2
eth0
eth1
eth2
Since when bits arrive they must make it to
the application, all the layers exist on a hosthost
Application
Transport
Network
Link
![Page 45: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/45.jpg)
HTTP(S)
TCP/UDP
IP
Ethernet
IP
HTTP(S)
TCP/UDP
IP
Etherneteth0
eth1
eth2
eth0
eth1
eth2
routerL3 gateway
Routers act as L3 gateway
as such they implement L2 and L3
Application
Transport
Network
Link
![Page 46: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/46.jpg)
HTTP(S)
TCP/UDP
IP
Ethernet
IP
HTTP(S)
TCP/UDP
IP
Etherneteth0
eth1
eth2
eth0
eth1
eth2
Switches act as L2 gateway
as such they only implement L2
switchL2 gateway
Application
Transport
Network
Link
![Page 47: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/47.jpg)
Let’s see how it looks like in practice
on a host, using Wireshark https://www.wireshark.org
![Page 48: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/48.jpg)
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?#5
Communication Networks
Part 1: General overview
![Page 49: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/49.jpg)
throughputlossdelay
How long does it take for a packet to reach the destination
What fraction of packets sent to a destination are dropped?
At what rate is the destination receiving data from the source?
A network connection is characterized by
its delay, loss rate and throughput
![Page 50: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/50.jpg)
throughputlossdelay
A network connection is characterized by
its delay, loss rate and throughput
![Page 51: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/51.jpg)
Each packet suffers from several types of delays
at each node along the path
transmission
propagation
processing
queuing
delay
delay
delay
delay
total delay
⊕
⊕
⊕
=
due to link properties
due to traffic mix & switch internals
![Page 52: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/52.jpg)
Overall, the main culprits for the overall delay are
the transmission, propagation and queuing delays
transmission
propagation
processing
queuing
delay
delay
delay
delay
total delay
⊕
⊕
⊕
=
tend to be tiny
![Page 53: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/53.jpg)
transmission
propagation
queuingprocessing
transmission
propagation
queuingprocessing
transmission
propagation
![Page 54: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/54.jpg)
The transmission delay is the amount of time
required to push all of the bits onto the link
Transmission delay =packet size
link bandwidth
[#bits]
[#bits/sec][sec]
100 Gbps
1000 bits10 nsExample
![Page 55: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/55.jpg)
The propagation delay is the amount of time
required for a bit to travel to the end of the link
Propagation delay =link length
propagation speed
[m]
[m/sec][sec]
(fraction of speed of light)
2x108 m/sec
30 000 m150 μsecExample
(speed of light in fiber)
![Page 56: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/56.jpg)
How long does it take for a packet to travel from A to B?
(not considering queuing for now)
![Page 57: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/57.jpg)
A B
Time
1Mbps, 1ms
Time to transmit one bit = 10-6s
Time to transmit 800 bits=800x10-6s
Time when thatbit reaches B:10-6+10-3s
The last bit reaches B at (800x10-6)+10-3s= 1.8ms
How long does it take to exchange 100 Bytes packet?
![Page 58: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/58.jpg)
A B
Time
1Gbps, 1ms
Time to transmit one bit = 10-9s
Time to transmit 800 bits=800x10-9s
Time when thatbit reaches B:10-9+10-3s
The last bit reaches B at (800x10-9)+10-3s= 1.0008ms
If we have a 1 Gbps link,
the total time decreases to 1.0008ms
![Page 59: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/59.jpg)
A B1Gbps, 1ms
If we now exchange a 1GB file
split in 100B packets
107 x 100B packets
The last bit reaches B at (107x800x10-9) +10-3s= 8001ms
![Page 60: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/60.jpg)
Different transmission characteristics imply
different tradeoffs in terms of which delay dominates
In the Internet, we can’t know in advance which one matters!
transmission delay dominates
propagation delay dominates
both matter
1x100B
107x100B 1Gbps link
1Gbps link
1x100B 1Mbps link
pkt
pkt
pkt
![Page 61: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/61.jpg)
The queuing delay is the amount of time a packet
waits (in a buffer) to be transmitted on a link
It is characterized with statistical measures
e.g., average delay & variance, probability of exceeding x
Queuing delay is the hardest to evaluate
as it varies from packet to packet
![Page 62: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/62.jpg)
Queuing delay depends on the traffic pattern
![Page 63: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/63.jpg)
No overload
![Page 64: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/64.jpg)
Queuing delay depends on the traffic pattern
Transient overload!
Queue
![Page 65: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/65.jpg)
Transient overload!
![Page 66: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/66.jpg)
![Page 67: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/67.jpg)
![Page 68: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/68.jpg)
![Page 69: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/69.jpg)
Queues absorb transient bursts,
but introduce queueing delays
![Page 70: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/70.jpg)
The time a packet has to sit in a buffer before
being processed depends on the traffic pattern
arrival rate at the queue
transmission rate of the outgoing link
traffic burstiness
Queueing delay depends on:
![Page 71: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/71.jpg)
average packet arrival rate a
transmission rate of outgoing link
average bits arrival rate
R
fixed packets length L
La
traffic intensity La/R
[packet/sec]
[bit/sec]
[bit]
[bit/sec]
![Page 72: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/72.jpg)
When the traffic intensity is >1, the queue will increase
without bound, and so does the queuing delay
Golden rule Design your queuing system,
so that it operates far from that point
![Page 73: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/73.jpg)
La/R 1
Ave
rage
queu
ing d
elay
When the traffic intensity is <=1,
queueing delay depends on the burst size
![Page 74: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/74.jpg)
throughputlossdelay
A network connection is characterized by
its delay, loss rate and throughput
![Page 75: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/75.jpg)
In practice, queues are not infinite.
There is an upper bound on queuing delay.
queue
N+1 packets
packet size L transmission rate: R
queuing delay upper bound: N*L/R
![Page 76: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/76.jpg)
If the queue is persistently overloaded,
it will eventually drop packets (loss)
![Page 77: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/77.jpg)
throughputlossdelay
A network connection is characterized by
its delay, loss rate and throughput
![Page 78: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/78.jpg)
The throughput is the instantaneous rate at which
a host receives data
Average throughput =data size
transfer time
[#bits]
[sec][#bits/sec]
![Page 79: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/79.jpg)
RS RL
transmission rate
server client
Ffile size
…
Average throughput
= transmission rate
of the bottleneck link
min(RS, RL)
To compute throughput, one has to consider the
bottleneck link
![Page 80: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/80.jpg)
To compute throughput, one has to consider the
bottleneck link… and the intervening traffic
the bottleneck is now in the core,
providing each download R/4 of throughput
if 4*min(RS,RL) > R
RL
R
InternetRS
![Page 81: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/81.jpg)
throughputlossdelay
A network connection is characterized by
its delay, loss rate and throughput
![Page 82: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/82.jpg)
As technology improves, throughput increase &
delays are getting lower except for propagation
(speed of light)
source: ciena.com
![Page 83: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/83.jpg)
Because of propagation delays,
Content Delivery Networks move content closer to you
http://wwwnui.akamai.com/gnet/globe/index.html
![Page 84: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/84.jpg)
What is a network made of?
How is it shared?
How is it organized?
How does communication happen?
How do we characterize it?
Communication Networks
Part 1: General overview
![Page 85: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/85.jpg)
routingreliable
delivery
Communication Networks
Part 2: Concepts
![Page 86: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/86.jpg)
routingreliable
delivery
How do you guide IP packets
from a source to destination?
How do you ensure reliable transport
on top of best-effort delivery?
Communication Networks
Part 2: Concepts
![Page 87: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/87.jpg)
routingreliable
delivery
How do you guide IP packets
from a source to destination?
Next weekThis week
![Page 88: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/88.jpg)
Packet
Think of IP packets as envelopes
![Page 89: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/89.jpg)
Like an envelope, packets have a header
Header
![Page 90: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/90.jpg)
Like an envelope, packets have a payload
Payload
![Page 91: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/91.jpg)
destination
source
Identify the
of the communication
src address
dst address
The header contains the metadataneeded to forward the packet
![Page 92: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/92.jpg)
The payload containsthe data to be delivered
Payload
Could you please send me an
![Page 93: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/93.jpg)
SEAT
LOSA
SALT
KANS
CHIC
NEWY
WASH
HOUS
Routers forward IP packets hop-by-hoptowards their destination
ATLA
![Page 94: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/94.jpg)
SEAT
LOSA
SALT
KANS
CHIC
NEWY
WASH
HOUS
Laurent
src
dst
ATLA
![Page 95: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/95.jpg)
SEAT
LOSA
SALT
KANS
CHIC
NEWY
WASH
HOUSLaurent
src
dst
ATLA
![Page 96: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/96.jpg)
SEAT
LOSA
SALT
KANS
CHIC
NEWY
WASH
HOUS Laurent
src
dst
ATLA
![Page 97: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/97.jpg)
SEAT
LOSA
SALT
KANS
CHIC
NEWY
WASH
HOUS
Laurent
src
dstATLA
![Page 98: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/98.jpg)
SEAT
LOSA
SALT
KANS
CHIC
NEWY
HOUS
Laurent
src
dst
ATLA
![Page 99: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/99.jpg)
SEAT
LOSA
SALT
KANS
CHIC
HOUS
Laurent
src
dst
NEWY
WASH
ATLA
![Page 100: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/100.jpg)
SEAT
LOSA
SALTCHIC
HOUS
ATLA
WASH
NEWY
KANS
Let’s zoom in on what is going onbetween two adjacent routers
![Page 101: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/101.jpg)
Data-Plane Data-Plane
IF#1
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
LOSA HOUS
![Page 102: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/102.jpg)
Data-Plane Data-Plane
IF#1
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
Laurent
src
dst
Forwarding table
Laurent
IF#4
IF#1
destination output
Upon packet reception, routers locally look up their forwarding table to know where to send it next
Packet
LOSA HOUS
![Page 103: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/103.jpg)
Data-Plane Data-Plane
IF#1
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
Laurent
IF#4
IF#1
Forwarding table
destination output
Laurent
src
dst
Packet
LOSA HOUS
Here, the packet should be directed to IF#4
![Page 104: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/104.jpg)
Data-Plane Data-Plane
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
LOSA IP router HOUS IP router
IF#1
Laurent
src
dst
![Page 105: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/105.jpg)
Data-Plane Data-Plane
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
LOSA IP router HOUS IP router
Laurent
src
dst
IF#1
Laurent
IF#3
IF#1
Forwarding table
destination output
Forwarding is repeated at each router, until the destination is reached
![Page 106: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/106.jpg)
Data-Plane Data-Plane
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
LOSA IP router HOUS IP router
Laurent
src
dst
IF#1
Laurent
IF#3
IF#1
Forwarding table
destination output
![Page 107: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/107.jpg)
Data-Plane Data-Plane
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
LOSA IP router HOUS IP router
Laurent
src
dst
IF#1
Laurent
IF#3
IF#1
Forwarding table
destination output
![Page 108: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/108.jpg)
Data-Plane Data-Plane
IF#2
IF#3 IF#1 IF#3
IF#4
LOSA IP router HOUS IP router
Laurent
src
dst
IF#1
IF#4 IF#2
![Page 109: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/109.jpg)
Forwarding decisions necessarily depend on
the destination, but can also depend on other criteria
destination
source
criteria mandatory (why?)
+any other header
input port
requires n2 state
traffic engineering
![Page 110: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/110.jpg)
In the rest of the lecture,
we’ll consider destination-based routing
the default in the Internet
![Page 111: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/111.jpg)
LOSA IP router HOUS IP router
Laurent
IF#3
IF#1
Forwarding table
destination output
Data-Plane Data-Plane
IF#1
IF#2
IF#3
IF#4
IF#1
IF#2
IF#3
IF#4
Laurent
IF#4
IF#1
Forwarding table
destination output
Where are these forwarding tables coming from?
![Page 112: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/112.jpg)
Data-Plane Data-Plane
![Page 113: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/113.jpg)
Data-Plane Data-Plane
Control-Plane Control-Plane
In addition to a data-plane,
routers are also equipped with a control-plane
![Page 114: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/114.jpg)
Routing
Configuration
Statistics
…
Roles
Think of the control-plane as the router’s brain
![Page 115: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/115.jpg)
Laurent
IF#3
IF#1
destination output
Routing is the control-plane process that computes and populates the forwarding tables
Laurent
IF#4
IF#1
destination output
Control-PlaneControl-Plane
![Page 116: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/116.jpg)
How can a router know
where to direct packets
if it does not know what
the network looks like?
While forwarding is a local process,
routing is inherently a global process
![Page 117: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/117.jpg)
Forwarding vs Routing
summary
forwarding routing
directing packet to
an outgoing link
local network-wide
computing the paths
packets will follow
nanoseconds milliseconds
(hopefully)
goal
scope
timescale
implem. hardware
usually
software
usually
![Page 118: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/118.jpg)
The goal of routing is to compute
valid global forwarding state
a global forwarding state is valid if
it always delivers packets
to the correct destination
Definition
![Page 119: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/119.jpg)
sufficient and necessary condition
a global forwarding state is valid if and only if
no outgoing port defined in the table
there are no dead ends
packets going around the same set of nodes
there are no loops
Theorem
![Page 120: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/120.jpg)
A global forwarding state is valid if and only if
there are no dead ends
A
B
X
dest output
EastX
dest output
WestA
drops all traffic to X
![Page 121: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/121.jpg)
A global forwarding state is valid if and only if
there are no forwarding loops
A
B
X
dest output
EastX
dest output
WestX
bounces traffic back
![Page 122: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/122.jpg)
Theorem If a routing state is valid
If you run into a dead-end or a loop
you’ll never reach the destination
Proof
then there are no loops or dead-end
so the state cannot be correct (contradiction)
Proving the necessary condition is easy
![Page 123: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/123.jpg)
There is only a finite number of ports to visit
A packet can never enter a switch via the same port,
otherwise it is a loop (which does not exist by assumption )
As such, the packet must eventually reach the destination
If a routing state has no dead end and no loop
then it is valid
Theorem
Proof
Proving the sufficient condition is more subtle
![Page 124: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/124.jpg)
question 1
question 2
How do we verify that a forwarding state is valid?
How do we compute valid forwarding state?
![Page 125: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/125.jpg)
How do we verify that a forwarding state is valid?
How do we compute valid forwarding state?
question 1
![Page 126: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/126.jpg)
Mark all outgoing ports with an arrow
Eliminate all links with no arrow
State is valid iff the remaining graph
is a spanning-tree
simple algorithm
for one destination
Verifying that a routing state is valid is easy
![Page 127: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/127.jpg)
X
dest
X
dest output
East
dest output
WestX
Given a graph with the corresponding forwarding state
![Page 128: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/128.jpg)
X
Mark all outgoing ports with an arrow
![Page 129: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/129.jpg)
X
Eliminate all links with no arrow
![Page 130: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/130.jpg)
X
![Page 131: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/131.jpg)
X
The result is a spanning tree.
This is a valid routing state
![Page 132: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/132.jpg)
X
Mark all outgoing ports with an arrow
![Page 133: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/133.jpg)
X
Eliminate all links with no arrow
![Page 134: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/134.jpg)
X
The result is not a spanning-tree.
The routing state is not valid
loop
dead-end
![Page 135: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/135.jpg)
question 2
How do we verify that a forwarding state is valid?
How do we compute valid forwarding state?
![Page 136: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/136.jpg)
Producing valid routing state is harder,
but doable
prevent dead ends
easy
prevent loops
hard
![Page 137: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/137.jpg)
This is the question
you should focus on
prevent dead ends
easy
prevent loops
hard
Producing valid routing state is harder
but doable
![Page 138: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/138.jpg)
prevent loops
hard
Existing routing protocols differ in
how they avoid loops
![Page 139: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/139.jpg)
Essentially,
there are three ways to compute valid routing state
Use tree-like topologies
Rely on a global network view
Rely on distributed computation
Spanning-tree
Link-State
Distance-Vector
#1
#2
#3
BGP
SDN
Intuition Example
![Page 140: 01 overview 02 - ETH ZCommunication Networks Spring 2020 Materials inspired from Scott Shenker & Jennifer Rexford ETH Zürich (D-ITET) Laurent Vanbever February 24 2020 nsg.ee.ethz.ch](https://reader034.vdocuments.net/reader034/viewer/2022050409/5f86407b79cf2475621a2622/html5/thumbnails/140.jpg)
Communication Networks
Spring 2020
Materials inspired from Scott Shenker & Jennifer Rexford
ETH Zürich (D-ITET)
Laurent Vanbever
February 24 2020
nsg.ee.ethz.ch