+ All Categories
Home > Documents > Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from...

Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from...

Date post: 17-Aug-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
132
Lecture 2: Internet Architecture Revised 1/6/14 CS 3700 Networks and Distributed Systems
Transcript
Page 1: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Lecture 2: Internet Architecture

Revised 1/6/14

CS 3700 Networks and Distributed Systems

Page 2: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Organizing Network Functionality2

Page 3: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Organizing Network Functionality2

Networks are built from many components ! Networking technologies ■ Ethernet, Wifi, Bluetooth, Fiber Optic, Cable Modem, DSL

! Network styles ■ Circuit switch, packet switch ■ Wired, Wireless, Optical, Satellite

! Applications ■ Email, Web (HTTP), FTP, BitTorrent, VoIP

How do we make all this stuff work together?!

Page 4: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Page 5: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Page 6: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Page 7: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Page 8: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Page 9: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth Cellular

Page 10: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth Cellular

Page 11: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

VoIP

Cellular

Page 12: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

VoIP

Cellular

Page 13: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Problem Scenario3

Web Email Bittorrent

Ethernet 802.11 Bluetooth

VoIP

Cellular

• This is a nightmare scenario

• Huge amounts of work to add new apps or media

• Limits growth and adoption

Page 14: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

More Problems4

Bittorrent

Ethernet 802.11

Bittorrent

Page 15: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

More Problems4

Bittorrent

Ethernet 802.11

Bittorrent

Application endpoints may not be on the same

media

Page 16: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Magical Network Abstraction Layer

Page 17: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Magical Network Abstraction Layer

API

Page 18: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Magical Network Abstraction LayerAPI API API

Page 19: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

Magical Network Abstraction Layer

Page 20: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

VoIP

Magical Network Abstraction Layer

Page 21: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

VoIP

Cellular

Magical Network Abstraction Layer

Page 22: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Solution: Use Indirection5

Web Email Bittorrent

Ethernet 802.11 Bluetooth

VoIP

Cellular

Magical Network Abstraction Layer•O(1) work to add new apps, media

• Few limits on new technology

Page 23: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Layered Network Stack6

Modularity! Does not specify an implementation! Instead, tells us how to organize functionality

Applications

Physical Media

Layer N

Layer 1

Layer 2

Page 24: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Layered Network Stack6

Modularity! Does not specify an implementation! Instead, tells us how to organize functionalityEncapsulation! Interfaces define cross-layer interaction! Layers only rely on those below them

Applications

Physical Media

Layer N

Layer 1

Layer 2

Page 25: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Layered Network Stack6

Modularity! Does not specify an implementation! Instead, tells us how to organize functionalityEncapsulation! Interfaces define cross-layer interaction! Layers only rely on those below themFlexibility! Reuse of code across the network! Module implementations may change

Applications

Physical Media

Layer N

Layer 1

Layer 2

Page 26: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Layered Network Stack6

Modularity! Does not specify an implementation! Instead, tells us how to organize functionalityEncapsulation! Interfaces define cross-layer interaction! Layers only rely on those below themFlexibility! Reuse of code across the network! Module implementations may changeUnfortunately, there are tradeoffs! Interfaces hide information! As we will see, may hurt performance…

Applications

Physical Media

Layer N

Layer 1

Layer 2

Page 27: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Key Questions7

How do we divide functionality into layers?! Routing! Congestion control! Error checking

! Security ! Fairness ! And many more…

Page 28: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Key Questions7

How do we divide functionality into layers?! Routing! Congestion control! Error checkingHow do we distribute functionality across devices?! Example: who is responsible for security?

Switch SwitchRouter

! Security ! Fairness ! And many more…

Page 29: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Key Questions7

How do we divide functionality into layers?! Routing! Congestion control! Error checkingHow do we distribute functionality across devices?! Example: who is responsible for security?

Switch SwitchRouter

! Security ! Fairness ! And many more…

Page 30: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Key Questions7

How do we divide functionality into layers?! Routing! Congestion control! Error checkingHow do we distribute functionality across devices?! Example: who is responsible for security?

Switch SwitchRouter

! Security ! Fairness ! And many more…

Page 31: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

❑ Layering ❑ The OSI Model

❑ Communicating ❑ The End-to-End Argument

Outline8

Page 32: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 33: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

All devices implement the first three layers

Page 34: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Layers communicate peer-to-peer

Page 35: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 36: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 37: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Layers communicate peer-to-peer

Page 38: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 39: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The ISO OSI Model9

OSI: Open Systems Interconnect Model

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 40: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Layer Features10

Service ! What does this layer do? Interface ! How do you access this layer? Protocol ! How is this layer implemented?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 41: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Physical Layer11

Service ! Move information between two

systems connected by a physical link Interface ! Specifies how to send one bit Protocol ! Encoding scheme for one bit ! Voltage levels ! Timing of signals Examples: coaxial cable, fiber optics, radio frequency transmitters

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 42: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Data Link Layer12

Service ! Data framing: boundaries between

packets ! Media access control (MAC) ! Per-hop reliability and flow-control Interface ! Send one packet between two hosts

connected to the same media Protocol ! Physical addressing (e.g. MAC address) Examples: Ethernet, Wifi, DOCSIS

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 43: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Layer13

Service ! Deliver packets across the network ! Handle fragmentation/reassembly ! Packet scheduling ! Buffer management Interface ! Send one packet to a specific destination Protocol ! Define globally unique addresses ! Maintain routing tables Example: Internet Protocol (IP), IPv6

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 44: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Transport Layer14

Service ! Multiplexing/demultiplexing ! Congestion control ! Reliable, in-order delivery Interface ! Send message to a destination Protocol ! Port numbers ! Reliability/error correction ! Flow-control information Examples: UDP, TCP

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 45: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Session Layer15

Service ! Access management ! Synchronization Interface ! It depends… Protocol ! Token management ! Insert checkpoints Examples: none

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 46: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Presentation Layer16

Service ! Convert data between different

representations ! E.g. big endian to little endian ! E.g. Ascii to Unicode Interface ! It depends… Protocol ! Define data formats ! Apply transformation rules Examples: none

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 47: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Application Layer17

Service ! Whatever you want :) Interface ! Whatever you want :D Protocol ! Whatever you want ;) Examples: turn on your smartphone and look at the list of apps

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 48: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 49: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 50: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 51: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 52: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 53: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 54: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysicalData

Page 55: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Page 56: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical Data

Page 57: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 58: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 59: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 60: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 61: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 62: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation18

How does data move through the layers?

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Data

Page 63: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Real Life Analogy19

Page 64: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Real Life Analogy19

Label contains routing info

Page 65: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Real Life Analogy19

Postal Service

Page 66: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Real Life Analogy19

Postal Service

Un-packing

Page 67: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Real Life Analogy19

Postal Service

Doesn’t know contents of letter

Doesn’t know how the Postal network works

Page 68: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

NetworkData Link

ApplicationPresentation

SessionTransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 69: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

ApplicationTransportNetworkData LinkPhysical

NetworkData Link

Application

TransportNetworkData LinkPhysical

Host 1 Switch Host 2

Physical

Page 70: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

ApplicationTransportNetworkData Link

NetworkData Link

Application

TransportNetworkData Link

Host 1 Switch Host 2

Page 71: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

Host 1 Switch Host 2

FTP ClientTCPIP

EthernetIP

Ethernet

FTP ServerTCPIP

Ethernet

Page 72: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

Host 1 Switch Host 2

FTP ClientTCPIP

EthernetIP

Ethernet

FTP ServerTCPIP

Ethernet

Page 73: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

Host 1 Switch Host 2Video Client

UDP

Video Server

UDPIP

EthernetIP

EthernetIP

Ethernet

Page 74: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Network Stack in Practice20

Host 1 Switch Host 2Video Client

UDP

Video Server

UDPIP IP IP

802.11n 802.11n 802.11n

Page 75: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

Page 76: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

Web Page

Page 77: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

Web Page

Page 78: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

TCP Header

Web Page

HTTP Header

Web Page

Page 79: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

TCP Header

Web Page

HTTP Header

Web Page

TCP Segment

Page 80: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

TCP Header

IP Header

Web Page

HTTP Header

Web Page

TCP Header

HTTP Header

Web Page

TCP Segment

Page 81: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

TCP Header

IP Header

Web Page

HTTP Header

Web Page

TCP Header

HTTP Header

Web Page

TCP Segment

IP Datagram

Page 82: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

TCP Header

IP Header

Ethernet Header

Ethernet Trailer

Web Page

HTTP Header

Web Page

TCP Header

HTTP Header

Web Page

IP Header

TCP Header

HTTP Header

Web Page

TCP Segment

IP Datagram

Page 83: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Encapsulation, Revisited21

Web Server

TCP

IP

Ethernet

HTTP Header

TCP Header

IP Header

Ethernet Header

Ethernet Trailer

Web Page

HTTP Header

Web Page

TCP Header

HTTP Header

Web Page

IP Header

TCP Header

HTTP Header

Web Page

TCP Segment

IP Datagram

Ethernet Frame

Page 84: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

Page 85: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

Page 86: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

Page 87: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

Page 88: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

Page 89: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

Think about the difficulty of

deploying IPv6…

Page 90: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

The Hourglass22

IPv4

TCP, UDP, ICMP

HTTP, FTP, RTP, IMAP, Jabber, …

Ethernet, 802.11x, DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …

•One Internet layer means all networks interoperate

• All applications function on all networks

• Room for development above and below IP

• But, changing IP is insanely hard

Page 91: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes23

ApplicationPresentation

SessionTransport

IPData LinkPhysical

Control plane: How Internet paths are established

Page 92: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes23

ApplicationPresentation

SessionTransport

IPData LinkPhysical

BGP RIP OSPF Control Plane

Control plane: How Internet paths are established

Page 93: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes23

ApplicationPresentation

SessionTransport

IPData LinkPhysical

BGP RIP OSPF Control Plane

Well cover this later…

Control plane: How Internet paths are established

Page 94: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes24

ApplicationTransportNetworkData Link

NetworkData Link

Host 1 Switch(es) Host 2

ApplicationTransportNetworkData Link

Data plane: How data is forwarded over Internet paths

Page 95: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes24

ApplicationTransportNetworkData Link

NetworkData Link

Host 1 Switch(es) Host 2ApplicationTransportNetworkData Link

Data plane: How data is forwarded over Internet paths

Page 96: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes24

Host 1 Switch(es) Host 2

ApplicationTransportNetworkData Link

Data plane: How data is forwarded over Internet paths

Page 97: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Orthogonal Planes24

Host 1 Switch(es) Host 2

Data plane: How data is forwarded over Internet paths

Page 98: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check25

The layered abstraction is very nice

Page 99: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check25

The layered abstraction is very niceDoes it hold in reality?

Page 100: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check25

The layered abstraction is very niceDoes it hold in reality?

No.

Page 101: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check25

The layered abstraction is very niceDoes it hold in reality?

No.

Firewalls Analyze application layer headers

Page 102: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check25

The layered abstraction is very niceDoes it hold in reality?

No.

Firewalls Analyze application layer headers

Transparent Proxies Simulate application endpoints within the network

Page 103: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check25

The layered abstraction is very niceDoes it hold in reality?

No.

Firewalls Analyze application layer headers

Transparent Proxies Simulate application endpoints within the network

NATs Break end-to-end network reachability

Page 104: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

❑ Layering ❑ The OSI Model

❑ Communicating ❑ The End-to-End Argument

Outline26

Page 105: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

From Layers to Eating Cake27

IP gives us best-effort datagram forwarding ! So simple anyone can do it ! Large part of why the Internet has succeeded ! …but it sure isn’t giving us much

Layers give us a way to compose functionality ! Example: HTTP over TCP for Web browsers with reliable

connections …but they do not tell us where (in the network) to implement the functionality

Page 106: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Where to Place Functionality28

How do we distribute functionality across devices? ! Example: who is responsible for security?

Switch SwitchRouter

?? ? ?

?

Page 107: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Where to Place Functionality28

How do we distribute functionality across devices? ! Example: who is responsible for security?

Switch SwitchRouter

?? ? ?

?

“The End-to-End Arguments in System Design” ! Saltzer, Reed, and Clark ! The Sacred Text of the Internet ! Endlessly debated by researchers and engineers

Page 108: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Basic Observation29

Some applications have end-to-end requirements ! Security, reliability, etc. Implementing this stuff inside the network is hard ! Every step along the way must be fail-proof ! Different applications have different needs End hosts… ! Can’t depend on the network ! Can satisfy these requirements without network level support

Page 109: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Page 110: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Page 111: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Page 112: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Integrity Check

Integrity Check

Integrity Check

Page 113: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Page 114: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Page 115: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Page 116: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Page 117: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

Page 118: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliable

App has to do a check anyway!

Page 119: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer30

Solution 1: Make the network reliableSolution 2: App level, end-to-end check, retry on failure

App has to do a check anyway!

Page 120: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer31

Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Page 121: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer31

Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Page 122: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer31

Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Please Retry

Page 123: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer31

Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Page 124: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer31

Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Full functionality can be built at App level

Page 125: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Example: Reliable File Transfer31

Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

• In-network implementation… ➢Doesn’t reduce host complexity

➢Does increase network complexity

➢ Increased overhead for apps that don’t need functionality

• But, in-network performance may be better

Page 126: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Conservative Interpretation32

Page 127: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Conservative Interpretation32

“Don’t implement a function at the lower levels of the system unless it can be completely implemented at

this level” (Peterson and Davie)

Basically, unless you can completely remove the burden from end hosts, don’t bother

Page 128: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Radical Interpretation33

Don’t implement anything in the network that can be implemented correctly by the hosts

Page 129: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Radical Interpretation33

Don’t implement anything in the network that can be implemented correctly by the hosts

Make network layer absolutely minimal

Ignore performance issues

Page 130: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Moderate Interpretation34

Think twice before implementing functionality in the network

If hosts can implement functionality correctly, implement it a lower layer only as a performance enhancement

But do so only if it does not impose burden on applications that do not require that functionality… …and if it doesn’t cost too much $ to implement

Page 131: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Reality Check, Again35

Layering and E2E principals regularly violated

Firewalls Transparent Proxies NATs

Conflicting interests ! Architectural purity ! Commercial necessity

Page 132: Networks and Distributed Systems · Organizing Network Functionality 2 䡦Networks are built from many components Networking technologies Ethernet, Wifi, Bluetooth, Fiber Optic, Cable

Takeaways36

Layering for network functions ! Helps manage diversity in computer networks ! Not optimal for everything, but simple and flexible Narrow waist ensures interoperability, enables innovation E2E argument (attempts) to keep IP layer simple Think carefully when adding functionality into the network


Recommended