140
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

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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Internet should allow

processes on different hosts

everything else is just commentary…

to exchange data

Page 16: 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

http://www.opte.org

How do you exchange data in a network as complex

as this?

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

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

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

To exchange data, Alice and Bob use

a set of network protocols

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

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

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

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://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

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

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

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

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

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

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

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

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

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

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

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

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://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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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
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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SEAT

LOSA

SALT

KANS

CHIC

NEWY

WASH

HOUS

Laurent

Google

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

SEAT

LOSA

SALT

KANS

CHIC

NEWY

WASH

HOUSLaurent

Google

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

SEAT

LOSA

SALT

KANS

CHIC

NEWY

WASH

HOUS Laurent

Google

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

SEAT

LOSA

SALT

KANS

CHIC

NEWY

WASH

HOUS

Laurent

Google

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

SEAT

LOSA

SALT

KANS

CHIC

NEWY

HOUS

Laurent

Google

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

SEAT

LOSA

SALT

KANS

CHIC

HOUS

Laurent

Google

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

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

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

Data-Plane Data-Plane

IF#1

IF#2

IF#3

IF#4

IF#1

IF#2

IF#3

IF#4

Laurent

Google

src

dst

Forwarding table

Laurent

IF#4

IF#1

destination output

Google

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

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

Google

Laurent

Google

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

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

Google

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

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

Google

src

dst

IF#1

Laurent

IF#3

IF#1

Forwarding table

destination output

Google

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

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

Google

src

dst

IF#1

Laurent

IF#3

IF#1

Forwarding table

destination output

Google

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

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

Google

src

dst

IF#1

Laurent

IF#3

IF#1

Forwarding table

destination output

Google

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

Data-Plane Data-Plane

IF#2

IF#3 IF#1 IF#3

IF#4

LOSA IP router HOUS IP router

Laurent

Google

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

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

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

LOSA IP router HOUS IP router

Laurent

IF#3

IF#1

Forwarding table

destination output

Google

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

Google

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

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

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

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

Laurent

IF#3

IF#1

destination output

Google

Routing is the control-plane process that computes and populates the forwarding tables

Laurent

IF#4

IF#1

destination output

Google

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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