Lecture 2: Internet Architecture

Similar documents
CS4700/5700: Network fundamentals

TDTS21 Advanced Networking

CS4700/CS5700 Fundaments of Computer Networks

How does the Internet Look Like?

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals.

CS3600 SYSTEMS AND NETWORKS

Page 1. Goals for Today" What Is A Protocol?" CS162 Operating Systems and Systems Programming Lecture 10. Protocols, Layering and e2e Argument"

CS 268: Lecture 4 (Internet Architecture & E2E Arguments)

Internet Design Principles

Introduction to computer networking

Component Function Example

Parts of a Network. app. router. link. host. Computer Networks 2

CS 3640: Introduction to Networks and Their Applications

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

CSE 123A Computer Networks

Need For Protocol Architecture

Lecture 3 Protocol Stacks and Layering

Network Architecture. TOC Architecture

Network Reference Models

Need For Protocol Architecture

Announcements Computer Networking. What is the Objective of the Internet? Today s Lecture

Introduction to Networks

Network Architecture. EE 122, Fall 2013 Sylvia Ratnasamy

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

Peer entities. Protocol Layering. Protocols. Example

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

Network Architecture

416 Distributed Systems. Networks review; Day 2 of 2 And start of RPC Jan 13, 2016

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? Hardware view: What s the Internet?

Introduction to Information Science and Technology 2017 Networking I. Sören Schwertfeger 师泽仁

The Internet. Overview. Network building blocks

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

CS 204: Advanced Computer Networks

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Lecture 2: Internet Structure

Networking and Internetworking 1

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

Probability, Preview, and Principles

Chapter 1. Computer Networks and the Internet

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

Networking Applications

Chapter 2 Network Architectures A global view

Network Security Fundamentals. Network Security Fundamentals. Roadmap. Security Training Course. Module 2 Network Fundamentals

Design Considerations : Computer Networking. Outline

Networking Background

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Network Architecture COS 461: Computer Networks

CSCI Computer Networks

Design Principles : Fundamentals of Computer Networks Bill Nace

Lecture 2 Protocol Stacks. Last Tuesday

Introduction to TCP/IP networking

IT4405 Computer Networks (Compulsory)

Packet Switching, Layer Models and Protocol Suites

Lecture 2: Layering & End-to-End

Hands-On Network Security: Practical Tools & Methods

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 28 IP Version 4

L1: Introduction. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Time : 3 hours. Full Marks: 70. The figures in the margin indicate full marks. Answer from all the Groups are directed. Group A.

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

Page # Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? What is a Protocol.

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

CS 520 Networking in the TCP/IP enviornment

OSI Model. Teran Subasinghe MBCS, Bsc.(Hons) in Computer Science - University of Greenwich, UK

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 4400:427/527 - Computer Networks Spring 2017

Course on Computer Communication and Networks. Lecture 1 Chapter 1: Introduction Part A: Internet, Protocol Layering and Data

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

Networking and Internetworking 1

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Announcements. TAs office hours: Mohamed Grissa: Mohamed Alkalbani:

Introduction to Networks (2) Networked Systems 3 Lecture 2

EE 610 Part 2: Encapsulation and network utilities

Communication Networks

Patrick Stuedi, Qin Yin, Timothy Roscoe Spring Semester 2015

CS 428/528 Computer Networks Lecture 01. Yan Wang

Computer Network : Lecture Notes Nepal Engineering College Compiled by: Junior Professor: Daya Ram Budhathoki Nepal Engineering college, Changunarayan

Communicating over the Network

Introduction to Computer Science 2017 Networking. Sören Schwertfeger

cs144 Midterm Review Fall 2010

Networking and Health Information Exchange: ISO Open System Interconnection (OSI)

Goal of Today s Lecture. EE 122: Designing IP. The Internet Hourglass. Our Story So Far (Context) Our Story So Far (Context), Con t

Networking Models OSI Model Created by International Organization Standardization

The Internetworking Problem. Internetworking. A Translation-based Solution

System Programming. Introduction to computer networks

Internet Architecture and Experimentation

Lecture 2: Links and Signaling

ITEC 3800 Data Communication and Network. Introducing Networks

Last Time. Internet in a Day Day 2 of 1. Today: TCP and Apps

Network Layering CS 118

Data Communication and Network. Introducing Networks

ก ก Information Technology II

Chapter 2 Communicating Over the Network

Design Considerations : Computer Networking. Outline. Challenge 1: Address Formats. Challenge. How to determine split of functionality

Networking and Health Information Exchange Unit 1a ISO Open Systems Interconnection (OSI) Slide 1. Slide 2. Slide 3

Network Architecture Models

Page 1. Review: The Problem" Software System Modularity" Solution: Intermediate Layers"

Transcription:

CS 3700 Networks and Distributed Systems Lecture 2: Internet Architecture Revised 1/6/14

Organizing Network Functionality 2

Organizing Network Functionality 2 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?!

Problem Scenario 3

Problem Scenario 3 Web Email Bittorrent Ethernet 802.11 Bluetooth

Problem Scenario 3 Web Email Bittorrent Ethernet 802.11 Bluetooth

Problem Scenario 3 Web Email Bittorrent Ethernet 802.11 Bluetooth

Problem Scenario 3 Web Email Bittorrent Ethernet 802.11 Bluetooth

Problem Scenario 3 Web Email Bittorrent Ethernet 802.11 Bluetooth Cellular

Problem Scenario 3 Web Email Bittorrent Ethernet 802.11 Bluetooth Cellular

Problem Scenario 3 Web Email Bittorrent VoIP Ethernet 802.11 Bluetooth Cellular

Problem Scenario 3 Web Email Bittorrent VoIP Ethernet 802.11 Bluetooth Cellular

Problem Scenario 3 Web Email Bittorrent VoIP This is a nightmare scenario Huge amounts of work to add new apps or media Limits growth and adoption Ethernet 802.11 Bluetooth Cellular

More Problems 4 Bittorrent Bittorrent Ethernet 802.11

More Problems 4 Bittorrent Bittorrent Application endpoints may not be on the same media Ethernet 802.11

Solution: Use Indirection 5 Web Email Bittorrent Magical Network Abstraction Layer Ethernet 802.11 Bluetooth

Solution: Use Indirection 5 Web Email Bittorrent API Magical Network Abstraction Layer Ethernet 802.11 Bluetooth

Solution: Use Indirection 5 Web Email Bittorrent Magical Network Abstraction Layer API API API Ethernet 802.11 Bluetooth

Solution: Use Indirection 5 Web Email Bittorrent Magical Network Abstraction Layer Ethernet 802.11 Bluetooth

Solution: Use Indirection 5 Web Email Bittorrent VoIP Magical Network Abstraction Layer Ethernet 802.11 Bluetooth

Solution: Use Indirection 5 Web Email Bittorrent VoIP Magical Network Abstraction Layer Ethernet 802.11 Bluetooth Cellular

Solution: Use Indirection 5 Web Email Bittorrent VoIP Magical Network Abstraction Layer O(1) work to add new apps, media Few limits on new technology Ethernet 802.11 Bluetooth Cellular

Layered Network Stack 6 Applications Layer N Modularity! Does not specify an implementation! Instead, tells us how to organize functionality Layer 2 Layer 1 Physical Media

Layered Network Stack 6 Applications Layer N Layer 2 Layer 1 Physical Media Modularity! Does not specify an implementation! Instead, tells us how to organize functionality Encapsulation! Interfaces define cross-layer interaction! Layers only rely on those below them

Layered Network Stack 6 Applications Layer N Layer 2 Layer 1 Modularity! Does not specify an implementation! Instead, tells us how to organize functionality Encapsulation! Interfaces define cross-layer interaction! Layers only rely on those below them Flexibility! Reuse of code across the network! Module implementations may change Physical Media

Layered Network Stack 6 Applications Layer N Layer 2 Layer 1 Physical Media Modularity! Does not specify an implementation! Instead, tells us how to organize functionality Encapsulation! Interfaces define cross-layer interaction! Layers only rely on those below them Flexibility! Reuse of code across the network! Module implementations may change Unfortunately, there are tradeoffs! Interfaces hide information! As we will see, may hurt performance

Key Questions 7 How do we divide functionality into layers?! Routing! Congestion control! Error checking! Security! Fairness! And many more

Key Questions 7 How do we divide functionality into layers?! Routing! Congestion control! Error checking! Security! Fairness! And many more How do we distribute functionality across devices?! Example: who is responsible for security? Switch Router Switch

Key Questions 7 How do we divide functionality into layers?! Routing! Congestion control! Error checking! Security! Fairness! And many more How do we distribute functionality across devices?! Example: who is responsible for security? Switch Router Switch

Key Questions 7 How do we divide functionality into layers?! Routing! Congestion control! Error checking! Security! Fairness! And many more How do we distribute functionality across devices?! Example: who is responsible for security? Switch Router Switch

8 Outline Layering The OSI Model Communicating The End-to-End Argument

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical All devices implement the first three layers Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Layers communicate peer-to-peer Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Layers communicate peer-to-peer Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

The ISO OSI Model 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

Layer Features 10 Application Presentation Session Transport Network Data Link Physical Service! What does this layer do? Interface! How do you access this layer? Protocol! How is this layer implemented?

Physical Layer 11 Application Presentation Session Transport Network Data Link Physical 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

Data Link Layer 12 Application Presentation Session Transport Network Data Link Physical 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

Network Layer 13 Application Presentation Session Transport Network Data Link Physical 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

Transport Layer 14 Application Presentation Session Transport Network Data Link Physical 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

Session Layer 15 Application Presentation Session Transport Network Data Link Physical Service! Access management! Synchronization Interface! It depends Protocol! Token management! Insert checkpoints Examples: none

Presentation Layer 16 Application Presentation Session Transport Network Data Link Physical 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

Application Layer 17 Application Presentation Session Transport Network Data Link Physical 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

Encapsulation 18 How does data move through the layers? Data Application Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Data Application Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Data Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Data Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Data Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Data Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Data Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Encapsulation 18 How does data move through the layers? Application Presentation Session Transport Network Data Link Physical Data

Real Life Analogy 19

Real Life Analogy 19 Label contains routing info

Real Life Analogy 19 Postal Service

Real Life Analogy 19 Un-packing Postal Service

Real Life Analogy 19 Doesn t know how the Postal network works Doesn t know contents of letter Postal Service

Network Stack in Practice 20 Host 1 Switch Host 2 Application Presentation Session Transport Network Data Link Physical Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

Network Stack in Practice 20 Host 1 Switch Host 2 Application Transport Network Data Link Physical Network Data Link Physical Application Transport Network Data Link Physical

Network Stack in Practice 20 Host 1 Switch Host 2 Application Transport Network Data Link Network Data Link Application Transport Network Data Link

Network Stack in Practice 20 Host 1 Switch Host 2 FTP Client TCP IP Ethernet IP Ethernet FTP Server TCP IP Ethernet

Network Stack in Practice 20 Host 1 Switch Host 2 FTP Client TCP IP Ethernet IP Ethernet FTP Server TCP IP Ethernet

Network Stack in Practice 20 Host 1 Switch Host 2 Video Client Video Server UDP UDP IP IP IP Ethernet Ethernet Ethernet

Network Stack in Practice 20 Host 1 Switch Host 2 Video Client Video Server UDP UDP IP IP IP 802.11n 802.11n 802.11n

Encapsulation, Revisited 21 Web Server TCP IP Ethernet

Encapsulation, Revisited 21 Web Page Web Server TCP IP Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP IP Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP Header HTTP Header Web Page TCP IP Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP Header HTTP Header TCP Segment Web Page TCP IP Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP Header HTTP Header TCP Segment Web Page TCP IP Header TCP Header HTTP Header Web Page IP Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP Header HTTP Header Web Page TCP TCP Segment IP Header TCP Header HTTP Header Web Page IP IP Datagram Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP Header HTTP Header Web Page TCP TCP Segment IP Header TCP Header HTTP Header Web Page IP IP Datagram Ethernet Header IP Header TCP Header HTTP Header Web Page Ethernet Trailer Ethernet

Encapsulation, Revisited 21 HTTP Header Web Page Web Server TCP Header HTTP Header Web Page TCP TCP Segment IP Header TCP Header HTTP Header Web Page IP IP Datagram Ethernet Header IP Header TCP Header HTTP Header Web Page Ethernet Trailer Ethernet Ethernet Frame

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, TCP, UDP, ICMP IPv4 Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, TCP, UDP, ICMP IPv4 Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, TCP, UDP, ICMP IPv4 Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, TCP, UDP, ICMP IPv4 Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, TCP, UDP, ICMP IPv4 Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, TCP, UDP, ICMP IPv4 Think about the difficulty of deploying IPv6 Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

The Hourglass 22 HTTP, FTP, RTP, IMAP, Jabber, One Internet layer means all networks TCP, UDP, ICMP interoperate All applications function on all networks IPv4 Room for development above and below IP But, changing IP is insanely hard Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio,

Orthogonal Planes 23 Control plane: How Internet paths are established Application Presentation Session Transport IP Data Link Physical

Orthogonal Planes 23 Control plane: How Internet paths are established Application Presentation Session Transport IP Data Link Physical BGP RIP OSPF Control Plane

Orthogonal Planes 23 Application Control plane: How Internet paths are established Presentation Well cover this later Session Transport IP Data Link Physical BGP RIP OSPF Control Plane

Orthogonal Planes 24 Data plane: How data is forwarded over Internet paths Host 1 Switch(es) Host 2 Application Transport Network Data Link Network Data Link Application Transport Network Data Link

Orthogonal Planes 24 Data plane: How data is forwarded over Internet paths Host 1 Switch(es) Host 2 Transport Application Network Data Link Network Data Link Application Transport Network Data Link

Orthogonal Planes 24 Data plane: How data is forwarded over Internet paths Host 1 Switch(es) Host 2 Transport Application Network Data Link

Orthogonal Planes 24 Data plane: How data is forwarded over Internet paths Host 1 Switch(es) Host 2

Reality Check 25 The layered abstraction is very nice

Reality Check 25 The layered abstraction is very nice Does it hold in reality?

Reality Check 25 The layered abstraction is very nice Does it hold in reality? No.

Reality Check 25 The layered abstraction is very nice Does it hold in reality? No. Firewalls Analyze application layer headers

Reality Check 25 The layered abstraction is very nice Does it hold in reality? No. Firewalls Analyze application layer headers Transparent Proxies Simulate application endpoints within the network

Reality Check 25 The layered abstraction is very nice Does 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

26 Outline Layering The OSI Model Communicating The End-to-End Argument

From Layers to Eating Cake 27 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

Where to Place Functionality 28 How do we distribute functionality across devices?! Example: who is responsible for security?????? Switch Router Switch

Where to Place Functionality 28 How do we distribute functionality across devices?! Example: who is responsible for security?????? Switch Router Switch The End-to-End Arguments in System Design! Saltzer, Reed, and Clark! The Sacred Text of the Internet! Endlessly debated by researchers and engineers

Basic Observation 29 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

Example: Reliable File Transfer 30

Example: Reliable File Transfer 30

Example: Reliable File Transfer 30 Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Integrity Check Integrity Check Integrity Check Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Solution 1: Make the network reliable

Example: Reliable File Transfer 30 Solution 1: Make the network reliable App has to do a check anyway!

Example: Reliable File Transfer 30 Solution 1: Make the network reliable App has to do a check anyway! Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer 31 Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer 31 Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer 31 Please Retry Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer 31 Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer 31 Solution 1: Make the network reliable Full functionality can be built at App level Solution 2: App level, end-to-end check, retry on failure

Example: Reliable File Transfer 31 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 Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure

Conservative Interpretation 32

Conservative Interpretation 32 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

Radical Interpretation 33 Don t implement anything in the network that can be implemented correctly by the hosts

Radical Interpretation 33 Don t implement anything in the network that can be implemented correctly by the hosts Make network layer absolutely minimal Ignore performance issues

Moderate Interpretation 34 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

Reality Check, Again 35 Layering and E2E principals regularly violated Firewalls Transparent Proxies NATs Conflicting interests! Architectural purity! Commercial necessity

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