the network layer - usi informatics · the network layer antonio carzaniga faculty of informatics...
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/15.jpg)
![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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/16.jpg)
![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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/17.jpg)
![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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/70.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/72.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/73.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/74.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/75.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/76.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/77.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/78.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/79.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/80.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/81.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/82.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/83.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/84.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/85.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/86.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/87.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/88.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/89.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/90.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/91.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/92.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/93.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/94.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/95.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/96.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/97.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/98.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/99.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/100.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/101.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/102.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/103.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/104.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/105.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/106.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/107.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/108.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/109.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/110.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/111.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/112.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/113.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/114.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/115.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/116.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/117.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/118.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/119.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/120.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/121.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/122.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/123.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/124.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/125.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/126.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/127.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/128.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/129.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/130.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/131.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/132.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/133.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/134.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/135.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/136.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/137.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062918/5ede5d2bad6a402d6669afce/html5/thumbnails/138.jpg)
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