CSci8211: Internet Design Philosophy 1 Internet Architecture: Design Philosophy -Then and Now.

Slides:



Advertisements
Similar presentations
Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
Advertisements

4/27/2015Slide 1 Rethinking the design of the Internet: The end to end arguments vs. the brave new world Marjory S. Blumenthal Computer Science and Telecomms.
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
Computer Communication1 Computer Communications Summary.
L-2 Internet Design Philosophy 1. 2 Today’s Lecture Layers and protocols Design principles in internetworks.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
Rethink the design of the Internet CSCI 780, Fall 2005.
The Design Philosophy of the DARPA Internet Protocols D. D. Clark.
ISOC-Chicago 2001John Kristoff - DePaul University1 Journey to the Center of the Internet John Kristoff DePaul University.
Design Philosophy of the DARPA Internet Protocols CSCI 634, Fall 2010.
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
1 Last Class! Today: r what have we learned? r where is the networking world going? r question and answers r evaluation.
The Design Philosophy of DARPA Internet Protocols David D. Clark.
CS 268: Lecture 3 (TCP/IP Architecture) Kevin Lai and Ion Stoica January 30, 2002.
TCP/IP Reference Model Host To Network Layer Transport Layer Application Layer Internet Layer.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.
CS 268: Lecture 4 (Internet Architecture & E2E Arguments)
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.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.
Feb 20, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
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.
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.
Chapter 6: Packet Filtering
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
7-1 Last time □ Wireless link-layer ♦ Introduction Wireless hosts, base stations, wireless links ♦ Characteristics of wireless links Signal strength, interference,
CS 268: Internet Architecture & E2E Arguments Scott Shenker and Ion Stoica (Fall, 2010) 1.
Transport Layer and UDP Tahir Azim Ref:
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Network Architecture: Design Philosophies IS250 Spring 2010 John Chuang
1 Transport Layer Lecture 7 Imran Ahmed University of Management & Technology.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
5: DataLink Layer5-1 Link Layer r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer Addressing.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
1 ECEN “Internet Protocols and Modeling”, Spring 2011 Slide 5.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Protocol Layering Chapter 11.
IT 210: Web-based IT Fall 2012 Lecture: Network Basics, OSI, & Internet Architecture.
Slide 1, hlu & faynberg Trends in Network Evolution Igor Faynberg, Ph.D. Hui-Lan Lu, Ph.D. Bell Labs, Lucent Technologies Multimedia Convergence Workshop.
5: DataLink Layer5-1 Virtualization of networks Virtualization of resources: powerful abstraction in systems engineering: r computing examples: virtual.
1 Review – The Internet’s Protocol Architecture. Protocols, Internetworking & the Internet 2 Introduction Internet standards Internet standards Layered.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
CSci5221: Internet Design 1 Internet Design: Big Picture Internet architectural, design and implementation principles –not “ scriptures ”, but guidelines.
CS 457 – Lecture 3 Link Layer Protocols Fall 2011.
Virtualization of networks
Introduction to TCP/IP networking
A quick intro to networking
Presented by Muhammad Abu Saqer
Distributed Systems (Section B)
CPE 401 / 601 Computer Network Systems
Software Defined Networking (SDN)
CS 268: Lecture 4 (TCP/IP Architecture)
Internet Architecture: Design Philosophy -Then and Now
Architecture and Principles
Presentation transcript:

CSci8211: Internet Design Philosophy 1 Internet Architecture: Design Philosophy -Then and Now

CSci8211: Internet Design Philosophy 2 Internet Philosophy and Design Principles Architecture: the big picture Goals: identify, study principles that can guide network architecture “bigger” issues than specific protocols or implementation tricks synthesis: the really big picture

CSci8211: Internet Design Philosophy 3 Key questions How to decompose the complex system functionality into protocol layers? Which functions placed where in network, at which layers? Can a function be placed at multiple levels ? Answer these questions in context of Internet, telephone network

CSci8211: Internet Design Philosophy 4 Common View of the Telco Network brick (dumb) brain (smart) lock (you can’t get in)

CSci8211: Internet Design Philosophy 5 Common View of the IP Network

CSci8211: Internet Design Philosophy 6 Readings: Saltzer84 End-to-end argument –Better to implement functions close to application –… except when performance requires otherwise Why? –…–… What should be the “end” for network “functionalities”, e.g., routing? –Router? –End host? –Enterprise edge? –Autonomous System?

CSci8211: Internet Design Philosophy 7 Internet End-to-End Argument According to [Saltzer84]: “…functions placed at the lower levels may be redundant or of little value when compared to the cost of providing them at the lower level…” “…sometimes an incomplete version of the function provided by the communication system (lower levels) may be useful as a performance enhancement…” This leads to a philosophy diametrically opposite to the telephone world of dumb end-systems (the telephone) and intelligent networks.

CSci8211: Internet Design Philosophy 8 Example: Reliable File Transfer Solution 1: make each step reliable, and then concatenate them OS Appl. OS Appl. Host AHost B OK Solution 2: each step unreliable: end-to- end check and retry

CSci8211: Internet Design Philosophy 9 Discussion Solution 1 not good enough! –what happens if the sender or/and receiver misbehave? so receiver has to do check anyway! Thus, full functionality can be entirely implemented at application layer; no need for reliability from lower layers

CSci8211: Internet Design Philosophy 10 Discussion Q: Is there any reason to implement reliability at lower layers? A: Yes, but only to improve performance Example: –assume high error rate in network –reliable communication service at data link layer might help (why)? –fast detection /recovery of errors

CSci8211: Internet Design Philosophy 11 E2E Argument: Interpretations One interpretation: –A function can only be completely and correctly implemented with the knowledge and help of the applications standing at the communication endpoints Another: (more precise…) –a system (or subsystem level) should consider only functions that can be completely and correctly implemented within it. Alternative interpretation: (also correct …) –Think twice before implementing a functionality that you believe that is useful to an application at a lower layer –If the application can implement a functionality correctly, implement it a lower layer only as a performance enhancement

CSci8211: Internet Design Philosophy 12 Internet & End-to-End Argument network layer provides one simple service: best effort datagram (packet) delivery transport layer at network edge (TCP) provides end-end error control –performance enhancement used by many applications (which could provide their own error control) all other functionalities … –all application layer functionalities –network services: DNS implemented at application level

CSci8211: Internet Design Philosophy 13 Internet & End-to-End Argument Discussion: congestion control, “error” control, flow control: why at transport, rather than link or application layers? Claim: common functions should migrate down the stack –Everyone shares same implementation: no need to redo it (reduces bugs, less work, etc…) –Knowing everyone is doing the same thing, can help congestion control too important to leave up to application/user: true but hard to police –TCP is “outside” the network; compliance is “optional” –We do this for fairness (but realize that people could cheat) Why error control, flow control in TCP, not (just) in app

CSci8211: Internet Design Philosophy 14 Trade-offs application has more information about the data and semantics of required service (e.g., can check only at the end of each data unit) lower layer has more information about constraints in data transmission (e.g., packet size, error rate) Note: these trade-offs are a direct result of layering!

CSci8211: Internet Design Philosophy 15 End-to-End Argument: Critical Issues end-to-end principle emphasizes: – function placement – correctness, completeness – overall system costs Philosophy: if application can do it, don’t do it at a lower layer -- application best knows what it needs –add functionality in lower layers iff (1) used by and improves performances of many applications, (2) does not hurt other applications allows cost-performance tradeoff

CSci8211: Internet Design Philosophy 16 End-to-End Argument: Discussion end-end argument emphasizes correctness & completeness, but not –complexity: is complexity at edges result in a “simpler” architecture? –evolvability, ease of introduction of new functionality: ability to evolve because easier/cheaper to add new edge applications than change routers? –technology penetration: simple network layer makes it “easier” for IP to spread everywhere

CSci8211: Internet Design Philosophy 17 Summary: End-to-End Arguments If the application can do it, don’t do it at a lower layer -- anyway the application knows the best what it needs –add functionality in lower layers iff it is (1) used and improves performances of a large number of applications, and (2) does not hurt other applications Success story: Internet –But …

CSci8211: Internet Design Philosophy 18 Readings: Clark88 Basic story of Clark88 –Enumerate (and prioritize) system goals –… and see what decisions that leads you to make Clark88 doesn’t say much about routing, network trouble-shooting, security, etc., but –“Some of the most significant problems with the Internet today relate to lack of sufficient tools for distributed management, especially in the area of routing.” What should be goals & priorities for routing, network trouble-shooting, security? –…–…

CSci8211: Internet Design Philosophy 19 Internet Design Philosophy (Clark’88) 0 Connect existing networks –initially ARPANET and ARPA packet radio network 1.Survivability - ensure communication service even with network and router failures 2.Support multiple types of services 3.Must accommodate a variety of networks 4.Allow distributed management 5.Allow host attachment with a low level of effort 6.Be cost effective 7.Allow resource accountability In order of importance: Different ordering of priorities would make a different architecture!

CSci8211: Internet Design Philosophy connect existing networks Internet: virtualizing local networks 1974: multiple unconnected networks –ARPAnet –data-over-cable networks –packet satellite network (Aloha) –packet radio network.. differing in: –addressing conventions –packet formats –error recovery –routing

CSci8211: Internet Design Philosophy 21 Cerf & Kahn: Interconnecting two networks “…interconnection must preserve intact the internal operation of each network.” “..the interface between networks must play a central role in the development of any network interconnection strategy. We give a special name to this interface that performs these functions and call it a GATEWAY.” “.. prefer that the interface be as simple and reliable as possible, and deal primarily with passing data between networks that use different packet- switching strategies “…address formats is a problem between networks because the local network addresses of TCP's may vary substantially in format and size. A uniform internetwork TCP address space, understood by each GATEWAY and TCP, is essential to routing and delivery of internetwork packets.” ARPAnet satellite net

CSci8211: Internet Design Philosophy 22 Cerf & Kahn: Interconnecting two networks ARPAnet satellite net Gateway: “embed internetwork packets in local packet format or extract them” route (at internetwork level) to next gateway gateway Internetwork layer: addressing: internetwork appears as a single, uniform entity, despite underlying local network heterogeneity network of networks

CSci8211: Internet Design Philosophy 23 Historical Aside: Proposed Internetwork packet in 1974: local header source address dest. address seq. # byte count flag field text checksum network TCP identifier 8 16

CSci8211: Internet Design Philosophy 24 Cerf & Kahn’s Internetwork Architecture two layers of addressing: internetowork and local network new layer makes everything homogeneous underlying local network technology (cable, satellite, 56K modem) is “invisible” at internetwork layer

CSci8211: Internet Design Philosophy Survivability Continue to operate even in the presence of network failures (e.g., link and router failures) –as long as network is not partitioned, two endpoints should be able to communicate –any other failure (excepting network partition) should be transparent to endpoints Decision: maintain e-e transport state only at end-points –eliminate the problem of handling state inconsistency and performing state restoration when router fails Internet: stateless network architecture –No notion of a session/call at network layer –Grade: A-, because convergence times are relatively slow –BGP can take minutes to coverge –IS-IS OSPF take ~ 10 seconds

CSci8211: Internet Design Philosophy Types of Services add UDP to TCP to better support other apps –e.g., “real-time” applications arguably main reason for separating TCP, IP datagram abstraction: lower common denominator on which other services can be built –service differentiation was considered (remember ToS?), but this has never happened on the large scale (Why?) A-: proven to allows lots of applications to be invented and flourish (except MM, but maybe that’s not a transport service issue)

CSci8211: Internet Design Philosophy Variety of Networks Very successful (why?) –because the minimalist service; it requires from underlying network only to deliver a packet with a “reasonable” probability of success …does not require: –reliability –in-order delivery The mantra: IP over everything –Then: ARPANET, X.25, DARPA satellite network.. –Now: ATM, SONET, WDM… A: can’t name a link layer technology that IP doesn’t run over (carrier pigeon RFC)

CSci8211: Internet Design Philosophy 28 Other Goals Allow distributed management –Administrative autonomy: IP interconnects networks each network can be managed by a different organization different organizations need to interact only at the boundaries … but this model complicates routing –A for implementation, B for concept (disagreement) Cost effective –sources of inefficiency header overhead retransmissions routing –…but “optimal” performance never been top priority –A–A

CSci8211: Internet Design Philosophy 29 Other Goals (Cont) Low cost of attaching a new host –not a strong point  higher than other architecture because the intelligence is in hosts (e.g., telephone vs. computer) –bad implementations or malicious users can produce considerably harm (remember fate-sharing?) –C: but things are improving with DHCP, auto-configurations. Looks like a higher grade in future Accountability –Internet gets an “F”

CSci8211: Internet Design Philosophy 30 Summary: Internet Architecture packet-switched datagram network IP is the glue (network layer overlay) IP hourglass architecture –all hosts and routers run IP stateless architecture –no per flow state inside network IP TCPUDP ATM Satellite Ethernet IP hourglass

CSci8211: Internet Design Philosophy 31 Summary: Minimalist Approach Dumb network –IP provide minimal functionalities to support connectivity –addressing, forwarding, routing Smart end system –transport layer or application performs more sophisticated functionalities –flow control, error control, congestion control Advantages –accommodate heterogeneous technologies (Ethernet, modem, satellite, wireless) –support diverse applications (telnet, ftp, Web, X windows) –decentralized network administration

CSci8211: Internet Design Philosophy 32 But that was yesterday ……. what about tomorrow?

CSci8211: Internet Design Philosophy 33 What About the Future? Datagram not the best abstraction for: –resource management,accountability, QoS new abstraction: flow (see IPv6) –but no one knows what a flow is routers require to maintain per-flow state state management: recovering lost state is hard here we see the first proposal of “soft state”! –soft-state: end-hosts responsible to maintain the state

CSci8211: Internet Design Philosophy 34 Rethinking Internet Design What’s changed? operation in untrustworthy world –endpoints can be malicious –If endpoint not trustworthy, but want trustworthy network -> more mechanism in network core –Trust and security a big issue today! more demanding applications –end-end best effort service not enough –new service models in network (Intserv, Diffserv)? –new application-level service architecture built on top of network core (e.g., CDN, p2p)? –wireless and mobility

CSci8211: Internet Design Philosophy 35 Rethinking Internet Design … What’s changed? ISP service differentiation –ISP doing more (than other ISPs) in core is competitive advantage rise of third party involvement –interposed between endpoints (even against will) –e.g., Chinese government, US recording industry new technologies (wireless, optical …) limited capability devices (e.g., PDA, smart phones, sensors, ……), or perhaps also less “sophisticated” users All these changes motivate shift away from end-end!

CSci8211: Internet Design Philosophy 36 What’s at stake? “ At issue is the conventional understanding of the ‘Internet philosophy’  freedom of action  user empowerment  end-user responsibility for actions taken  lack of control “in” the net that limit or regulate what users can do The end-end argument fostered that philosophy because they enable the freedom to innovate, install new software at will, and run applications of the users choice ” [Blumenthal and Clark, 2001]

CSci8211: Internet Design Philosophy 37 Technical response to changes Add functions to the network core (“middleboxes”): –filtering firewalls –application-level firewalls, web caches and proxies –NAT boxes –active networking –… Add “infrastructure services” –e.g., DNS, –(application-specific) content distribution networks (CDNs) … All operate within network, making use of application-level information –which addresses can do what at application level? –If addresses have meaning to applications, NAT must “understand” that meaning

CSci8211: Internet Design Philosophy 38 Next Week Review lecture notes and the required readings for this week: –[Saltzer84] and [Clark88] also [Clark:Tussle] and [CerfKahn] if you have time Questions for you to think about: –What are the “architectural” advantages of Internet, and also its limitations? –If you can redesign it, how would you do it? For next week, –Read the required readings specified on the class schedule, and submit the reviews by 11:59pm Tuesday 11:59pm Sep 9!