CSci5221: Internet Design 1 Internet Design: Big Picture Internet architectural, design and implementation principles –not “ scriptures ”, but guidelines.

Slides:



Advertisements
Similar presentations
Fundamental Issues of Future Internet Introduction, Design Goals and Principles Mingwei Xu Qingdao.
Advertisements

1 Scalability is King. 2 Internet: Scalability Rules Scalability is : a critical factor in every decision Ease of deployment and interconnection The intelligence.
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
The Design Philosophy of the DARPA Internet Protocols [Clark 1988] Nick McKeown CS244 Lecture 2 Architecture and Principles.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
1 K. Salah Module 5.2: Internet Protocol CO vs. CL protocols IP Features –Fragmentation –Routing IP Datagram Format IPv6.
L-2 Internet Design Philosophy 1. 2 Today’s Lecture Layers and protocols Design principles in internetworks.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Internet Architecture and Assumptions David Andersen CMU Computer Science.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
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)
The Design Philosophy of the DARPA Internet Protocols D. D. Clark.
Design Philosophy of the DARPA Internet Protocols CSCI 634, Fall 2010.
Protocols and the TCP/IP Suite
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.
Internet Protocol-IP. Objective l TCP/IP vs. OSI models l CO vs. CL protocols l IP Features »Fragmentation »Routing l IP Datagram Format l IPv6.
The Design Philosophy of DARPA Internet Protocols David D. Clark.
winter 2008 Internet Design1 The Internet Global scale, general purpose, heterogeneous-technologies, public, computer network Internet Protocol –Open.
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.
CS 268: Lecture 3 (TCP/IP Architecture) Ion Stoica January 28, 2003.
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.
Computer Networking Lent Term M/W/F 11-midday LT1 in Gates Building Slide Set 2 Andrew W. Moore January
CSci8211: Internet Design Philosophy 1 Internet Architecture: Design Philosophy -Then and Now.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 0 TCP/IP Overview.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
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)
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.
Protocols and the TCP/IP Suite
Lec4: TCP/IP, Network management model, Agent architectures
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
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.
Advance Computer Networking L-2 Design Considerations Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Network Architecture: Design Philosophies IS250 Spring 2010 John Chuang
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.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
NETWORK PROGRAMMING FALL 2015 Lecture 2 - Protocol Stacks Some material taken from publicly available lecture slides including Srini Seshan’s and David.
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.
Information-Centric Networks Section # 2.1: Internet Evolution Instructor: George Xylomenos Department: Informatics.
Protocol Layering Chapter 11.
5: DataLink Layer5-1 Virtualization of networks Virtualization of resources: powerful abstraction in systems engineering: r computing examples: virtual.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Lecture 13 IP V4 & IP V6. Figure Protocols at network layer.
The Design Philosophy of the DARPA Internet Protocols [Clark 1988] Nick McKeown CS244 Lecture 2.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Scaling the Network: The Internet Protocol
Distributed Systems (Section B)
CPE 401 / 601 Computer Network Systems
Advance Computer Networking
CS 268: Lecture 4 (TCP/IP Architecture)
Scaling the Network: The Internet Protocol
Internet Architecture: Design Philosophy -Then and Now
CSE 542: Operating Systems
Presentation transcript:

CSci5221: Internet Design 1 Internet Design: Big Picture Internet architectural, design and implementation principles –not “ scriptures ”, but guidelines –understand pros and cons, trade-offs involves Original Internet Design Goals –what contributed to the huge success? –what still amiss, biggest weaknesses? Internet as a case study –virtualization., layered architecture, end-to-end argument, soft-state, fate sharing, … Readings: ; [Cla88], [SRC84], [Car96] –See Reading List

CSci5221: Internet Design 2 Architectural Principles (not unique to networks!) Zhi-Li ’ s version (synthesized from various sources) End-to-end argument –functionality placement Modularity –Increase inter-operability and manage complexity vertical partition -> layered architecture horizontal partition? Keep it simple, stupid (KISS principle) –Occam ’ s Razor: choose simplest among many solutions! complicated design increases system coupling (inter- dependence), amplifies errors,.. don ’ t over-optimize! Separating policies from mechanisms –decouple control from data –“ semantics-free ” Design for scale –hierarchy, aggregation, …

CSci5221: Internet Design 3 Network Architecture What is (Network) Architecture? – not the implementation itself –“ design blueprint ” on how to “ organize ” implementations what interfaces are supported where functionality is implemented Two Basic Architectural Principles –Modularity (e.g., layering) how to break network functionality into modules –End-to-End Argument where to implement functionality

CSci5221: Internet Design 4 Some Design/Implementation Principles virtualization indirection soft state vs. hard state fate sharing randomization expose faults, don ’ t suppress/ignore caching ……

CSci5221: Internet Design 5 Original Internet Design Goals [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:

CSci5221: Internet Design 6 Priorities The effects of the order of items in that list are still felt today –E.g., resource accounting is a hard, current research topic Different ordering of priorities would make a different architecture! How well has today ’ s Internet satisfied these goals? Let ’ s look at them in detail

CSci5221: Internet Design 7 0. Connecting Existing Networks 1974: multiple unconnected networks –ARPAnet –data-over-cable networks –packet satellite network (Aloha) –packet radio network.. differing in: –addressing conventions (i.e., address formats) –packet formats and packet sizes –Performance: bandwidth, latency, loss rate, … –error recovery mechanisms –routing How to inter-network various (heterogeneous) network technologies?

CSci5221: Internet Design 8 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

CSci5221: Internet Design 9 Design Alternatives Through translation/mapping: –Map one address format to another: nxn mappings –Difficulty in dealing with different features supported by networks –Scales poorly with # of network types, addition of new types Virtualization: –Provide one common format overlaid on top of “ lower-level ” addresses –Map lower level addresses to common format: nx1 and 1xn mappings role of ARP, encapsulation/decapsulation –Layering necessary but what info from “ lower layer ” (underlying “ physical ” networks) to hide, and what to expose!

CSci5221: Internet Design 10 Gateway Alternative Translation –Difficulty in dealing with different features supported by networks –Scales poorly with number of network types (N^2 conversions) Standardization/Virtualization –“ IP over everything ” –Minimal assumptions about network –Hourglass design

CSci5221: Internet Design 11 Design of Original Internet via Gateways (cf. Cerf and Kahn) 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

CSci5221: Internet Design 12 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

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

CSci5221: Internet Design Survivability 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 end-points

CSci5221: Internet Design 15 Survivability (cont ’ d) If network disrupted and reconfigured: –Communicating entities ( “ end systems ” ) should not care! –No higher-level state reconfiguration How to achieve such reliability? –Where can communication state be stored? NetworkHost Failure handlingReplication “ Fate sharing ” SwitchesMaintain only routing state; otherwise “stateless” Maintain per- flow/per-connection state Host trustLessMore

CSci5221: Internet Design 16 Fate Sharing Lose connection state information for an entity if (and only if?) the entity itself is lost Examples: –OK to lose TCP state if one endpoint crashes NOT okay to lose if an intermediate router reboots –Is this still true in today ’ s network? NATs, firewalls and other middle-boxes Connection State State No State

CSci5221: Internet Design 17 Soft-State Basic behavior –Announce state –Refresh state –Timeout state Penalty for timeout – poor performance Robust way to identify communication flows –Possible mechanism to provide non-best effort service? Helps survivability

CSci5221: Internet Design 18 End-to-End Argument Deals with where to place functionality –Inside the network (in switching elements) ? –At the edges (end-points) ? Argument: –There are functions that can only be correctly implemented by the endpoints – do not try to completely implement these elsewhere

CSci5221: Internet Design 19 Discussion Is there any need to implement reliability at lower layers? Yes, but only to improve performance If network is highly unreliable –Adding some level of reliability helps performance, not correctness –Don ’ t try to achieve perfect reliability! –Implementing a functionality at a lower level should have minimum performance impact on the applications that do not use the functionality

CSci5221: Internet Design 20 Design Challenges and Trade-offs Install functions in network that aid application performance…. …without limiting the application flexibility of the network 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!

CSci5221: Internet Design 21 Do These Belong in the Network? Multicast? Routing? Quality of Service (QoS)? Name resolution? (is DNS “ in the network ” ?) Web or media caches?

CSci5221: Internet Design Types of Service Best effort delivery All packets are treated the same Relatively simple core network elements Building block from which other services (such as reliable data stream) can be built Contributes to scalability of network No QoS support assumed from below –Accommodates more networks –Hard to implement without network support –QoS is an ongoing debate…

CSci5221: Internet Design 23 Types of Service (cont ’ d) TCP vs. UDP –Elastic apps that need reliability: remote login or –Inelastic, loss-tolerant apps: real-time voice or video –Others in between, or with stronger requirements –Biggest cause of delay variation: reliable delivery Today ’ s net: ~100ms RTT Reliable delivery can add seconds. Original Internet model: “ TCP/IP ” one layer –First app was remote login… –But then came debugging, voice, etc. –These differences caused the layer split, added UDP

CSci5221: Internet Design Varieties of Networks Minimum set of assumptions for underlying net –Minimum packet size –Reasonable delivery odds, but not 100% –Some form of addressing unless point to point Important non-assumptions: –Perfect reliability –Broadcast, multicast –Priority handling of traffic –Internal knowledge of delays, speeds, failures, etc. Much engineering then only has to be done once

CSci5221: Internet Design 25 The “ Other ” goals 4. Management –Each network owned and managed separately –Will see this in BGP routing especially 5. Attaching a host –Not awful; DHCP and related autoconfiguration technologies helping. 6. Cost effectiveness –Economies of scale won out –Internet cheaper than most dedicated networks –Packet overhead less important by the year But…

CSci5221: Internet Design Accountability Huge problem! Accounting –Billing? (mostly flat-rate. But phones are moving that way too - people like it!) –Inter-provider payments Hornet ’ s nest. Complicated. Political. Hard. Accountability and security –Huge problem! –Worms, viruses, etc. Partly a host problem. But hosts very trusted. –Authentication Purely optional. Many philosophical issues of privacy vs. security. –Greedy sources aren ’ t handled well

CSci5221: Internet Design 27 Other IP Design Weaknesses Weak administration and management tools Incremental deployment difficult at times –Result of no centralized control –No more “ flag ” days –Are active networks the solution?

CSci5221: Internet Design 28 Internet Motto We reject kings, presidents, and voting. We believe in rough consensus and running code. ” David Clark

CSci5221: Internet Design 29 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

CSci5221: Internet Design 30 Summary: Internet Architecture Packet-switched datagram network IP is the “ compatibility layer ” –Hourglass architecture –All hosts and routers run IP Stateless architecture –No per flow state inside network IP TCPUDP WiFi Cellular Ethernet

CSci5221: Internet Design 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 Beginning to show age –Unclear what the solution will be  probably IPv6?

CSci5221: Internet Design 32 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?

CSci5221: Internet Design 33 Requirements for Today ’ s Internet Some key requirements ( “ -ities ” ) Availability and reliability –“ Always on ”, fault-tolerant, fast recovery from failures, … Quality-of-service (QoS) for applications –fast response time, adequate quality for VoIP, IPTV, etc. Scalability –millions or more of users, devices, … Mobility –untethered access, mobile users, devices, … Security (and Privacy?) –protect against malicious attacks, accountability of user actions? Manageability –configure, operate and manage networks –trouble-shooting network problems Flexibility, Extensibility, Evolvability, ……? –ease of new service creation and deployment? –evolvable to meet future needs?