the network layer - usi informatics · the network layer antonio carzaniga faculty of informatics...

138
The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020

Upload: others

Post on 02-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

The Network Layer

Antonio Carzaniga

Faculty of InformaticsUniversità della Svizzera italiana

April 22, 2020

Page 2: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Outline

Basic network-layer architecture of a datagram network

Introduction to forwarding

Introduction to routing

General architecture of a router

Switching fabric and queuing

Internet network-layer protocol

The Internet protocol (IP)

Fragmentation

Page 3: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Application Level

webbrowser

webserver

Page 4: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Application Level

webbrowser

webserver

Page 5: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Application Level

webbrowser

webserver

GET /carzaniga/ HTTP/1.1

Host: www.inf.usi.ch

. . .

Page 6: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Application Level

webbrowser

webserver

HTTP/1.1 200 OK

. . .<html><head>. . . </head><body>. . .

Page 7: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Application Level

webbrowser

webserver

GET /carzaniga/anto.png HTTP/1.1

Host: www.inf.usi.ch

. . .

Page 8: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Application Level

webbrowser

webserver

HTTP/1.1 200 OK

. . .

. . .

Page 9: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Transport Level

webbrowser

webserver

Page 10: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Transport Level

webbrowser

webserver

Page 11: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Transport Level

webbrowser

webserver

Page 12: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Network Layer

webbrowser

webserver

Page 13: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Network Layer

webbrowser

webserver

Page 14: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Network Layer

webbrowser

webserver

Page 15: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture
Page 16: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture
Page 17: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture
Page 18: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router

Page 19: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router

Fundamental component of the network layer

Page 20: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router

Fundamental component of the network layer

A node in a graph

Page 21: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router

12

3

4 5

Fundamental component of the network layer

A node in a graph

A finite set of input/output (physical) connections◮ a.k.a., interfaces or ports

Page 22: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Page 23: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

Page 24: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Page 25: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

Page 26: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

Page 27: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

“Best-effort” service

Page 28: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

“Best-effort” service

◮ delivery guarantee: none

Page 29: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

“Best-effort” service

◮ delivery guarantee: none

◮ maximum latency guarantee: none

Page 30: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

“Best-effort” service

◮ delivery guarantee: none

◮ maximum latency guarantee: none

◮ bandwidth guarantee: none

Page 31: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

“Best-effort” service

◮ delivery guarantee: none

◮ maximum latency guarantee: none

◮ bandwidth guarantee: none

◮ in-order delivery guarantee: none

Page 32: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Focus: “Datagram” Networks

Packet-switched network

◮ information is transmitted in discrete units called datagrams

Connectionless service

◮ a datagram is a self-contained message

◮ treated independently by the network

◮ no connection setup/tear-down phase

“Best-effort” service

◮ delivery guarantee: none

◮ maximum latency guarantee: none

◮ bandwidth guarantee: none

◮ in-order delivery guarantee: none

◮ congestion indication: none

Page 33: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 34: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 35: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 36: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 37: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 38: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 39: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Page 40: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 41: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 42: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 43: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 44: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 45: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 46: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 47: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Page 48: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Potentially asymmetric paths

Page 49: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Potentially asymmetric paths

Page 50: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Potentially asymmetric paths

Page 51: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Potentially asymmetric paths

Page 52: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Potentially asymmetric paths

Page 53: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Datagram Network

Potentiallymultiple paths for the same source/destination

Potentially asymmetric paths

Page 54: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Page 55: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

A sends a datagram to B

Page 56: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

to: B. . .

A sends a datagram to B

The datagram is forwarded towards B

Page 57: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

to: B. . .

A sends a datagram to B

The datagram is forwarded towards B

Page 58: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

to: B. . .

Page 59: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

to: B. . .

Page 60: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

to: B. . .

12

43

forwardingtable

dest. output

. . . . . .B port 4. . . . . .

Page 61: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

12

to: B. . .

43

forwardingtable

dest. output

. . . . . .B port 4. . . . . .

Page 62: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

12

43

to: B. . .

forwardingtable

dest. output

. . . . . .B port 4. . . . . .

Page 63: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

A Bk

c

d

e

f

gh

i

j

12

43

to: B. . .

forwardingtable

dest. output

. . . . . .B port 4. . . . . .

Page 64: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Page 65: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Output: output port

Page 66: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Output: output port

Simple design: “forwarding table”

Page 67: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Output: output port

Simple design: “forwarding table”

Issues

Page 68: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Output: output port

Simple design: “forwarding table”

Issues

◮ how big is the forwarding table?

Page 69: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Output: output port

Simple design: “forwarding table”

Issues

◮ how big is the forwarding table?

◮ how fast does the router have to forward datagrams?

Page 70: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Forwarding

Input: datagram destination

Output: output port

Simple design: “forwarding table”

Issues

◮ how big is the forwarding table?

◮ how fast does the router have to forward datagrams?

◮ how does the router build and maintain the forwarding table?

Page 71: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Routing

Page 72: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Routing

A Bk

c

d

e

f

gh

i

j

1 2

1

24

23

2

1

1

3

42

4

12

3

3

3

1

23

2

11

4

2

5

44

3

5

1

3

1 1

Page 73: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Routing

A Bk

c

d

e

f

gh

i

j

1 2

1

24

23

2

1

1

3

42

4

12

3

3

3

1

23

2

11

4

2

5

44

3

5

1

3

1 1

router k

A 2

B 1

. . .

Page 74: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router Functions

Page 75: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router Functions

routingcommunicationswith neighbors:routing protocol

routingtable

Page 76: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router Functions

routingcommunicationswith neighbors:routing protocol

routingtable

forwardingtable

Page 77: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Router Functions

routingcommunicationswith neighbors:routing protocol

routingtable

forwardingtable

forwardinginput packets

from input portsoutput packetsto output ports

Page 78: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Anatomy of a Router

Page 79: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Anatomy of a Router

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

Page 80: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Anatomy of a Router

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

data linkprocessing

lookupforwarding

queuing

Page 81: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Anatomy of a Router

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

Page 82: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Anatomy of a Router

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

queuing data linkprocessing

Page 83: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

Where does queuing occur?

Page 84: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

Where does queuing occur?

Input ports

◮ queuing may occur here if the switching fabric is slower than the aggregate speedof all the input lines. I.e., RS < nRin

Page 85: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

Where does queuing occur?

Input ports

◮ queuing may occur here if the switching fabric is slower than the aggregate speedof all the input lines. I.e., RS < nRin

Output ports

◮ queuing may occur here because of the limited throughput of the output link. I.e.,Rout < min(RS, nRin)

Page 86: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Page 87: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Scheduling: deciding which packets to process

Page 88: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Scheduling: deciding which packets to process

◮ first-come-first-served

Page 89: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Scheduling: deciding which packets to process

◮ first-come-first-served

◮ weighted fair queuing: the router tries to be balance traffic evenly among thedifferent end-to-end connections. Essential to implement quality-of-serviceguarantees

Page 90: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Scheduling: deciding which packets to process

◮ first-come-first-served

◮ weighted fair queuing: the router tries to be balance traffic evenly among thedifferent end-to-end connections. Essential to implement quality-of-serviceguarantees

Deciding when to drop packets, and which packets to drop

Page 91: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Scheduling: deciding which packets to process

◮ first-come-first-served

◮ weighted fair queuing: the router tries to be balance traffic evenly among thedifferent end-to-end connections. Essential to implement quality-of-serviceguarantees

Deciding when to drop packets, and which packets to drop

◮ drop tail: drop arriving packets when queues are full

Page 92: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Queuing

What happens when packets queue up in a router?

Scheduling: deciding which packets to process

◮ first-come-first-served

◮ weighted fair queuing: the router tries to be balance traffic evenly among thedifferent end-to-end connections. Essential to implement quality-of-serviceguarantees

Deciding when to drop packets, and which packets to drop

◮ drop tail: drop arriving packets when queues are full

◮ active queue management: a set of policies and algorithms to decide when and howto drop or mark packets in the attempt to prevent congestion

Page 93: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Page 94: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Routing: defining paths and compiling forwarding tables

Page 95: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Routing: defining paths and compiling forwarding tables

◮ RIP

◮ OSPF

◮ BGP

Page 96: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Routing: defining paths and compiling forwarding tables

◮ RIP

◮ OSPF

◮ BGP

IP

Page 97: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Routing: defining paths and compiling forwarding tables

◮ RIP

◮ OSPF

◮ BGP

IP

◮ addressing

◮ datagram format

◮ fragmentation and packet handling

Page 98: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Routing: defining paths and compiling forwarding tables

◮ RIP

◮ OSPF

◮ BGP

IP

◮ addressing

◮ datagram format

◮ fragmentation and packet handling

ICMP

Page 99: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Internet Network Layer

Routing: defining paths and compiling forwarding tables

◮ RIP

◮ OSPF

◮ BGP

IP

◮ addressing

◮ datagram format

◮ fragmentation and packet handling

ICMP

◮ error reporting

◮ signaling

Page 100: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

Page 101: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers.

Page 102: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen

Page 103: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service

Page 104: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

Page 105: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

Page 106: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

time-to-live

Page 107: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

time-to-live protocol

Page 108: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

time-to-live protocol header checksum

Page 109: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

time-to-live protocol header checksum

source address

destination address

Page 110: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

time-to-live protocol header checksum

source address

destination address

options (if any)

Page 111: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

IPv4 Datagram Format

0 31

vers. hlen type of service datagram length

identifier flags fragmentation offset

time-to-live protocol header checksum

source address

destination address

options (if any)

data

Page 112: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Page 113: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

Page 114: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

Page 115: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

Page 116: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

Page 117: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

MTU = 1500bsize = 1000b

Page 118: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

MTU = 1500bsize = 1000b

MTU = 512b

Page 119: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

MTU = 1500bsize = 1000b

MTU = 512b

How does the router handle cases where the size of an input datagram exceedsthe maximum transmission unit (MTU) of the output link?

Page 120: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

routingprocessor

input port

input port

input port...

output port

output port

output port

...

switchfabric

MTU = 1500bsize = 1000b

MTU = 512b

How does the router handle cases where the size of an input datagram exceedsthe maximum transmission unit (MTU) of the output link?

The datagram is fragmented

Page 121: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

input datagramheader

Page 122: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

input datagramheader

MTU

Page 123: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

input datagramheader

MTU

fragment 1

header

+

fragment 2

header

Page 124: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

input datagramheader

MTU

fragment 1

header

+

fragment 2

header

The destination reassembles fragmented datagrams

Page 125: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

input datagramheader

MTU

fragment 1

header

+

fragment 2

header

The destination reassembles fragmented datagrams

◮ push complexity out of the network

◮ a datagram may have to be fragmented further along the path

Page 126: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

input datagramheader

MTU

fragment 1

header

+

fragment 2

header

The destination reassembles fragmented datagrams

◮ push complexity out of the network

◮ a datagram may have to be fragmented further along the path

Requirements

◮ destination must recognize two fragments of the same original datagram

◮ destination must see if and when all the fragments have been received

◮ intermediate routers must be able to fragment a datagram to whatever levelnecessary

Page 127: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Page 128: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Initial (non-fragmented) datagram format (datasize = 1000)

Page 129: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Initial (non-fragmented) datagram format (datasize = 1000)

◮ sender host assigns a 16-bit identifier to the datagram (e.g., 789)

Page 130: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Initial (non-fragmented) datagram format (datasize = 1000)

◮ sender host assigns a 16-bit identifier to the datagram (e.g., 789)

◮ the fragment offset is set to 0, indicating that this packet contains data starting atposition 0 of the original datagram

◮ fragment offset is actually the offset in units of 8 bytes (remember it’s only 13 bits. . . )

Page 131: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Initial (non-fragmented) datagram format (datasize = 1000)

◮ sender host assigns a 16-bit identifier to the datagram (e.g., 789)

◮ the fragment offset is set to 0, indicating that this packet contains data starting atposition 0 of the original datagram

◮ fragment offset is actually the offset in units of 8 bytes (remember it’s only 13 bits. . . )

◮ the “more fragments” flag is set to 0, indicating that no (more) fragments have beensent

Page 132: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Initial (non-fragmented) datagram format (datasize = 1000)

◮ sender host assigns a 16-bit identifier to the datagram (e.g., 789)

◮ the fragment offset is set to 0, indicating that this packet contains data starting atposition 0 of the original datagram

◮ fragment offset is actually the offset in units of 8 bytes (remember it’s only 13 bits. . . )

◮ the “more fragments” flag is set to 0, indicating that no (more) fragments have beensent

identifier fragment more header totaloffset fragments length length

789 0 0 20 1020

Page 133: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Page 134: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Fragmentation to an MTU of 512

Page 135: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Fragmentation to an MTU of 512

◮ sender must split the datagram into 3 fragments:

Page 136: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Fragmentation to an MTU of 512

◮ sender must split the datagram into 3 fragments:

identifier fragment more header totaloffset fragments length length

789 0 1 20 508

Page 137: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Fragmentation to an MTU of 512

◮ sender must split the datagram into 3 fragments:

identifier fragment more header totaloffset fragments length length

789 0 1 20 508

identifier fragment more header totaloffset fragments length length

789 61 1 20 508

Page 138: The Network Layer - USI Informatics · The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana April 22, 2020. Outline Basic network-layer architecture

Fragmentation

Fragmentation to an MTU of 512

◮ sender must split the datagram into 3 fragments:

identifier fragment more header totaloffset fragments length length

789 0 1 20 508

identifier fragment more header totaloffset fragments length length

789 61 1 20 508

identifier fragment more header totaloffset fragments length length

789 122 0 20 44