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

Slides:



Advertisements
Similar presentations
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Internet architecture Slides used with permissions.
Advertisements

Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
OSI Model OSI MODEL.
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
CSE 390 Advanced Computer Networks Lecture 2: History (Hint: Al Gore is not involved) Based on slides from D. Choffnes Northeastern U. Revised Fall 2014.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
1 Katz, Stoica F04 EECS 122: Introduction to Computer Networks Network Architecture Computer Science Division Department of Electrical Engineering and.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
Semester Copyright USM EEE442 Computer Networks Introduction: Protocols En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK)
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
Chapter 1 Read (again) chapter 1.
1: Introduction1 Protocol “Layers” Networks are complex! r many “pieces”: m hosts m routers m links of various media m applications m protocols m hardware,
1 EE 122: Internet Design Principles Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
CS 268: Lecture 3 (TCP/IP Architecture) Kevin Lai and Ion Stoica January 30, 2002.
CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
Plan of attack ‣ What is a network made of? ‣ How is it shared? ‣ How do we evaluate a network? ‣ How is communication organized? 1.
1 Internet Design: Goals and Principles EE122 Fall 2012 Scott Shenker Materials with thanks to Jennifer Rexford,
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Information-Centric Networks02a-1 Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols –David D. Clark –ACM CCR, Vol. 18, No. 4, August.
Lecture 1 Internet CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger and Daniel Zappala Lecture 1 Introduction.
CS 4700 / CS 5700 Network Fundamentals Lecture 2: History (Hint: Al Gore is not involved) Revised 1/6/14.
Computer Networking Lent Term M/W/F 11-midday LT1 in Gates Building Slide Set 2 Andrew W. Moore January
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
EPL606 Topic 1 Introduction Part B - Design Considerations 1 The majority of the slides in this course are adapted from the accompanying slides to the.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
Chapter 1 Overview Review Overview of demonstration network
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Introduction1-1 COSC6377: Computer Networks Rong Zheng Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 Taj Mahal, Agra, India.
CS542 Internet System Technology WST510 Web Architecture Lecture #2 Sue Moon and Ben Zhao.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications 1.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 5: Internet architecture Slides used with.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Internet Security - Farkas1 CSCE 813 Internet Security TCP/IP.
CS 268: Internet Architecture & E2E Arguments Scott Shenker and Ion Stoica (Fall, 2010) 1.
Network Architecture: Design Philosophies IS250 Spring 2010 John Chuang
CS 3700 Networks and Distributed Systems A Brief History of the Internet (Hint: Al Gore is not involved) Revised 8/19/15.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
TCP/IP Network.
William Stallings Data and Computer Communications
TCP/IP Protocol Architecture CSE 3213 – Fall
CS 4700 / CS 5700 Network Fundamentals
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00
1 ECEN “Internet Protocols and Modeling”, Spring 2011 Slide 5.
1: Introduction1 Protocol “Layers” Networks are complex! r many “pieces”: m hosts m routers m links of various media m applications m protocols m hardware,
CS 3700 Networks and Distributed Systems
CS 4700 / CS 5700 Network Fundamentals Lecture 3: Internet Architecture (Layer cake and an hourglass) Revised 1/11/16.
CS 4700 / CS 5700 Network Fundamentals
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
March 14, 2011 Ion Stoica CS162 Operating Systems and Systems Programming Lecture 14 Protocols, Layering and e2e.
CS 268: Lecture 3.
Taj Mahal, Agra, India T. S. Eugene Ng eugeneng at cs.rice.edu Rice University.
Administrative stuff TA: Almudena Konrad Paper reviews:
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
OSI Model OSI MODEL.
EE122: Potpourri November 24, 2003.
Presentation transcript:

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

3 Today’s Agenda  Course overview  History of the Internet  Design goals  Layering (review)  End-to-end arguments (review)

4 Course Theme  Focus on the Internet  Other topics covered, but Internet is main focus  Will study the current Internet design and reality  But will also discuss possible design alternatives

5 Topics  General Internet background (review)  TCP/IP (historical)  TCP congestion control  Beyond TCP  Router Support for congestion control  Intradomain routing  Interdomain routing  Multicast routing  QoS: Intserv and DiffServ  Mobility

6 Topics Continued  Security: crypto  Security: robust protocols  Security: malware  Web  Overlay networks  P2P-style overlays  Distributed Computing  Wireless  Sensornets (2)  Perspectives on Internet Architecture  Alternatives to the Internet Architecture (2)

Internet History

8 1961Kleinrock advocates packet switching (why?) In parallel, packet switching work done at RAND (Baran) and NPL 1962Licklider’s vision of Galactic Network 1965Roberts connects two computers over phone line 1967Roberts publishes vision of ARPANET 1969BBN installs first IMP at UCLA 1970Network Control Protocol assumed reliable transmission! 1972public demonstration of ARPANET 1972 invented 1972Kahn advocates Open Architecture networking

9 The Problem  Many different packet-switching networks  Only nodes on the same network could communicate

10 Kahn’s Ground Rules  Each network is independent and must not be required to change  Best-effort communication  Boxes (routers) connect networks  No global control at operations level

11 Solution Gateways

12 Question  Kahn imagined there would be only a few networks (~20) and thus only a few routers  He was wrong  Why?

13 History Continued 1974Cerf and Kahn paper on TCP/IP 1980TCP/IP adopted as defense standard 1983Global NCP to TCP/IP flag day 198xXNS, DECbit, and other protocols 1984Janet 1985NSFnet (picks TCP/IP) 198xInternet meltdowns due to congestion 1986+Van Jacobson saves the Internet (BSD TCP) 1988Deering and Cheriton propose multicast 199xQoS rises and falls 199xATM rises and falls (as an internetworking layer) 1994Internet goes commercial 200xThe Internet boom and bust 2001Ion Stoica gets Ph. D.!

Internet Design Goals

15 Goals (Clark’88) 1. Connect existing networks 2. Robust in face of failures (not nuclear war…) 3. Support multiple types of services 4. Accommodate a variety of networks 5. Allow distributed management 6. Easy host attachment 7. Cost effective 8. Allow resource accountability

16 Robust 1. As long as the network is not partitioned, two endpoints should be able to communicate 2. Failures (excepting network partition) should not interfere with endpoint semantics (why?)  Maintain state only at end-points -Fate-sharing, eliminates network state restoration -stateless network architecture (no per-flow state)  Routing state is held by network (why?)  No failure information is given to ends (why?)

17 Types of Services  Use of the term “communication services” already implied that they wanted application- neutral network  Realized TCP wasn’t needed (or wanted) by some applications  Separated TCP from IP, and introduced UDP -What’s missing from UDP?

18 Variety of Networks  Incredibly successful! -Minimal requirements on networks -No need for reliability, in-order, fixed size packets, etc.  IP over everything -Then: ARPANET, X.25, DARPA satellite network.. -Now: ATM, SONET, WDM…

19 Host Attachment  Clark observes that the cost of host attachment may be somewhat higher because hosts have to be smart  But the administrative cost of adding hosts is very low, which is probably more important

20 Why Datagrams?  No connection state needed  Good building block for variety of services  Minimal network assumptions

21 Internet Motto We reject kings, presidents, and voting. We believe in rough consensus and running code.” David Clark

22 Real Goals 1. Something that works….. 2. Connect existing networks 3. Survivability (not nuclear war…) 4. Support multiple types of services 5. Accommodate a variety of networks 6. Allow distributed management 7. Easy host attachment 8. Cost effective 9. Allow resource accountability

23 Questions  What priority order would a commercial design have?  What would a commercially invented Internet look like?  What goals are missing from this list?  Which goals led to the success of the Internet?

Layering and other General Mutterings about Internet Architecture Repeats122 material

25 The Big Question  Many different network styles and technologies -circuit-switched vs packet-switched, etc. -wireless vs wired vs optical, etc.  Many different applications -ftp, , web, P2P, etc.  How do we organize this mess?

26 The Problem  Do we re-implement every application for every technology?  Obviously not, but how does the Internet architecture avoid this? Telnet FTPNFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP

27 Architecture  Architecture is not the implementation itself  Architecture is how to “organize” implementations -what interfaces are supported -where functionality is implemented  Architecture is the modular design of the network

28 Software Modularity Break system into modules:  Well-defined interfaces gives flexibility -can change implementation of modules -can extend functionality of system by adding new modules  Interfaces hide information -allows for flexibility -but can hurt performance

29 Network Modularity Like software modularity, but with a twist:  Implementation distributed across routers and hosts  Must decide both: -how to break system into modules -where modules are implemented  Lecture will address these questions in turn

30 Two Aspects to Architecture  Layering -how to break network functionality into modules  The End-to-End Argument -where to implement functionality

31 Layering  Layering is a particular form of modularization  The system is broken into a vertical hierarchy of logically distinct entities (layers)  The service provided by one layer is based solely on the service provided by layer below  Rigid structure: easy reuse, performance suffers

32 ISO OSI Reference Model for Layers  Application  Presentation  Session  Transport  Network  Datalink  Physical

33 Where Do These Fit?  IP  TCP   Ethernet

34 Layering Solves Problem  Application layer doesn’t know about anything below the presentation layer, etc.  Information about network is hidden from higher layers  This ensures that we only need to implement an application once!

35 OSI Model Concepts  Service: what a layer does  Service interface: how to access the service -interface for layer above  Peer interface (protocol): how peers communicate -a set of rules and formats that govern the communication between two network boxes -protocol does not govern the implementation on a single machine, but how the layer is implemented between machines

36 Who Does What?  Seven layers -Lower three layers are implemented everywhere -Next four layers are implemented only at hosts Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Host A Host B Router

37 Logical Communication  Layers interacts with corresponding layer on peer Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Host A Host B Router

38 Physical Communication  Communication goes down to physical network, then to peer, then up to relevant layer Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Host A Host B Router

39 Encapsulation  A layer can use only the service provided by the layer immediate below it  Each layer may change and add a header to data packet data

40 OSI vs. Internet  OSI: conceptually define services, interfaces, protocols  Internet: provide a successful implementation Application Presentation Session Transport Network Datalink Physical Internet Net access/ Physical Transport Application IP LAN Packet radio TCPUDP TelnetFTPDNS OSI (formal) Internet (informal)

41 Hourglass

42 Implications of Hourglass A single Internet layer module:  Allows all networks to interoperate -all networks technologies that support IP can exchange packets  Allows all applications to function on all networks -all applications that can run on IP can use any network  Simultaneous developments above and below IP

43 Back to Reality  Layering is a convenient way to think about networks  But layering is often violated -Firewalls -Transparent caches -NAT boxes  What problems does this cause?  What is an alternative to layers?

Endless Arguments about End-to-End

45 Placing Functionality  The most influential paper about placing functionality is “End-to-End Arguments in System Design” by Saltzer, Reed, and Clark  The “Sacred Text” of the Internet -endless disputes about what it means -everyone cites it as supporting their position

46 Basic Observation  Some applications have end-to-end performance requirements -reliability, security, etc.  Implementing these in the network is very hard: -every step along the way must be fail-proof  The hosts: -can satisfy the requirement without the network -can’t depend on the network

47 Example: Reliable File Transfer  Solution 1: make each step reliable, and then concatenate them  Solution 2: end-to-end check and retry OS Appl. OS Appl. Host AHost B OK

48 Example (cont’d)  Solution 1 not complete -What happens if any network element misbehaves? -The receiver has to do the check anyway!  Solution 2 is complete -Full functionality can be entirely implemented at application layer with no need for reliability from lower layers  Is there any need to implement reliability at lower layers?

49 Conclusion Implementing this functionality in the network:  Doesn’t reduce host implementation complexity  Does increase network complexity  Probably imposes delay and overhead on all applications, even if they don’t need functionality  However, implementing in network can enhance performance in some cases -very lossy link

50 What the Paper Says The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the communication system. Therefore, providing that questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement.)

51 Conservative Interpretation  “Don’t implement a function at the lower levels of the system unless it can be completely implemented at this level” (Peterson and Davie)  Unless you can relieve the burden from hosts, then don’t bother

52 Radical Interpretations  Don’t implement anything in the network that can be implemented correctly by the hosts -e.g., multicast -Makes network layer absolutely minimal -Ignores performance issues  Don’t rely on anything that’s not on the data path -E.g., no DNS -Makes network layer more complicated

53 Moderate Interpretation  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

54 Extended Version of E2E Argument  Don’t put application semantics in network -Leads to loss of flexibility -Cannot change old applications easily -Cannot introduce new applications easily  Normal E2E argument: performance issue -introducing more functionality imposes more overhead -subtle issue, many tough calls (e.g., multicast)  Extended version: -short-term performance vs long-term flexibility

55 Do These Belong in the Network?  Multicast?  Routing?  Quality of Service (QoS)?  Name resolution? (is DNS “in the network”?)  Web caches?

56 Back to Reality (again)  Layering and E2E Principle regularly violated: -Firewalls -Transparent caches -Other middleboxes  Battle between architectural purity and commercial pressures -extremely important -imagine a world where new apps couldn’t emerge

57 Challenge  Install functions in network that aid application performance….  …without limiting the application flexibility of the network