Review of Networking and Design Concepts (II): Architecture & Evolution Two ways of constructing a software design: 1)make it so simple that there are.

Slides:



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

Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
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)
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Review of Networking and Design Concepts (II) Two ways of constructing a software design: 1)make.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
1 Review of Important Networking Concepts Introductory material. This module uses the example from the previous module to review important networking concepts:
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.
CS211/Fall /06 Outline for This Lecture Application of e2e over wireless Application Level Framing Integrated Layer Processing Course Project Introduction.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
OIS Model TCP/IP Model.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
1 Protocol Interaction (ISO’s Open Systems Interconnection (OSI model)) the 7 layers.
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Plan of attack ‣ What is a network made of? ‣ How is it shared? ‣ How do we evaluate a network? ‣ How is communication organized? 1.
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.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Review of Networking and Design Concepts (II): Brief Version Two ways of constructing a software.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
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)
OSI AND TCP/IP MODELS. Outline Introduction OSI Model TCP/IP Model IPv4 vs. IPv6.
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.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Protocols and the TCP/IP Suite
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Computer Networks (CS 132/EECS148) General Networking Example Karim El Defrawy Donald Bren School of Information and Computer Science University of California.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
THE OSI REFERENCE MODEL Open Systems Interconnection (OSI) International Organization for Standardization( ISO)
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
Computer Networks. Introduction Computer Network2 A History Lesson of Networking 1969 – ARPANET, first packet switched network consist of UCLA, Stanford,
CS 268: Internet Architecture & E2E Arguments Scott Shenker and Ion Stoica (Fall, 2010) 1.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Data and Computer Communications Circuit Switching and Packet Switching.
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.
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
OSI Model Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
Chapter 2 Protocols and the TCP/IP Suite 1 Chapter 2 Protocols and the TCP/IP Suite.
William Stallings Data and Computer Communications
1 Chapter Overview Network Communications The OSI Reference Model.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #02 SOLUTIONS (part I) Shivkumar Kalyanaraman: GOOGLE:
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
Protocol Layering Chapter 11.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
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.
Computer Networks.
OSI Protocol Stack Given the post man exemple.
Network Architecture Introductory material
Administrative stuff TA: Almudena Konrad Paper reviews:
Review of Important Networking Concepts
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
Review of Important Networking Concepts
Review of Networking and Design Concepts (II)
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Computer Networking A Top-Down Approach Featuring the Internet
Review of Important Networking Concepts
Presentation transcript:

Review of Networking and Design Concepts (II): Architecture & Evolution Two ways of constructing a software design: 1)make it so simple that there are obviously no deficiencies, and 2)make it so complicated that there are no obvious deficiencies --- C.A.R. Hoare

 Protocols, layering, encapsulation  Interface design: functionality, technology, performance  System design: technological building blocks, Amdahl’s law, exponential trends  Function-placement: End-to-end principle  Implementation: App-layer framing, ILF, cross-layer design  New directions: middleboxes, tussle, layered naming, overlays  Chap 1-6 (Kurose book), Chapter 1,2,3, 10 in Doug Comer book  Reading: Saltzer, Reed, Clark: "End-to-End arguments in System Design""End-to-End arguments in System Design"  Reading: Clark: "The Design Philosophy of the DARPA Internet Protocols":"The Design Philosophy of the DARPA Internet Protocols":  Reading: RFC 2775: Internet Transparency: In HTMLIn HTML  Reference: Clark et al, "Tussle in Cyberspace: Defining Tomorrow's Internet""Tussle in Cyberspace: Defining Tomorrow's Internet"  Reading: Balakrishnan et al: "A Layered Naming Architecture for the Internet":"A Layered Naming Architecture for the Internet": Overview

Part I: Architectural Concepts, Guidelines

Why Layering?  No layering: each new application has to be re- implemented for every network technology!  Capture common functions in intermediate layer.  Convert O(N^2) mapping problem to O(N) Telnet FTPNFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP (FTP – File Transfer Protocol, NFS – Network File Transfer, HTTP – World Wide Web protocol)

Why Layering?  Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies Telnet FTPNFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP Intermediate layer

What is Layering?  A technique to organize a network system into a succession of logically distinct entities, such that the service provided by one entity is solely based on the service provided by the previous (lower level) entity

Layering  Advantages Modularity – protocols easier to manage and maintain Abstract functionality –lower layers can be changed without affecting the upper layers Reuse – upper layers can reuse the functionality provided by lower layers  Disadvantages Information hiding – inefficient implementations; Invariant APIs (interfaces) => may not leverage new capabilities available at lower layers

Layered Protocols  Building blocks of a network architecture  Each protocol object has two different interfaces service interface: defines operations on this protocol peer-to-peer interface: defines messages exchanged with peer service interface peer interface L i+1 LiLi LiLi

Example: Transport Protocol (Logical Communication)  take data from app  add addressing, reliability check info to form “datagram”  send datagram to peer  wait for peer to ack receipt  analogy: post office application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data transport ack (Source: Kurose & Ross)

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

Example: Transport Protocol (Physical Communication) (Source: Kurose & Ross) application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data

OSI vs. TCP/IP  OSI: conceptually define services, interfaces, protocols  Internet: provide a successful implementation Application Presentation Session Transport Network Datalink Physical Internet Host-to- network Transport Application IP LAN Packet radio TCPUDP TelnetFTPDNS OSITCP

Interface Design  Driven by three factors: Functionality: what features the customer wants, and is placed at a level due to e2e principle etc Technology: what’s possible. Building blocks and techniques. Improvement trends in technology. Performance: How fast etc… User, Designer, Operator views of performance..  Interface design crucial because interface outlives the technology used to implement the interface.

Perspectives on Interface Design  Network users: services and performance that their applications need,  Network designers: cost-effective design  Network providers: system that is easy to administer and manage Need to balance these three needs

System Design Tradeoff (waste) cheap resources … and … optimize expensive resources [to achieve a given functionality]

Performance  Performance questions: Absolute: How fast … Relative: Is A faster than B and how much faster?  Define system as a black box. Parameters: input; Metrics: output  Parameters: only those the system is sensitive to  Metrics: must reflect the system design tradeoff System Parameters Metrics

What’s a performance tradeoff ?  Example moving from circuit-switching to packet switching  => tradeoff delay, buffer space, packet loss, e2e complexity to optimize on capacity utilization and provisioning gains ($$) You cannot get something for nothing! Also known as a zero-sum game or no-free-lunch. (But…) Technology can reduce costs of components by leveraging fundamental laws of physics, manufacturing economies of scale etc (Moore’s law)

DWDM Link speed x2/8 months Router capacity x2.2/18 months Moore’s law x2/18 m DRAM access rate x1.1/18 m Internet x2/yr Impact of Technology Trends: What is expensive today may become cheap tomorrow. Huge mismatches in technology trends (eg: DWDM vs DRAM) must be planned for in modular designs!

Amdahl’s Law   Guides the iterative design process.  If design implies a set of tradeoffs, the question is how to redesign components so that the system cost- performance (in terms of expensive resources) is improved.  Amdahl’s law talks about the maximum expected improvement to an overall system when only a part of the system is improved. Statement of “diminishing returns” when the focus is on improving only a single component System Speedup =

Amdahl’s Law (contd)  If a part of a system accounts for 12% of performance (P = 0.12) and  You speed it up 100-fold (S = 100)  The actual system speedup is only: 13.6% !!!!  Lesson #1: Optimize the common cases (accounting for a large fraction of system performance)  Lesson #2: Bottlenecks shift! If you optimize one component, another will become the new bottleneck!

Key questions in architecture  How to decompose the complex system functionality into protocol layers?  What functions to be placed at which levels?  Can a function be placed at multiple levels ?

Common View of the Telco Network Brick

Common View of the IP Network

End-to-End Argument  “…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 which sports dumb end- systems (the telephone) and intelligent networks.

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

Discussion  Solution 1 not complete What happens if the sender or/and receiver misbehave?  The receiver has to do the check anyway!  Thus, full functionality can be entirely implemented at application layer; no need for reliability from lower layers  Is there any need to implement reliability at lower layers?

Discussion  Yes, but only to improve performance  Example: assume a high error rate on communication network then, a reliable communication service at datalink layer might help

Trade-offs  Application has more information about the data and the semantic of the service it requires (e.g., can check only at the end of each data unit)  A 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!

Internet & End-to-End Argument  At network layer provides one simple service: best effort datagram (packet) delivery  Only one higher level service implemented at transport layer: reliable data delivery (TCP) performance enhancement; used by a large variety of applications (Telnet, FTP, HTTP) does not impact other applications (can use UDP)  Everything else implemented at application level

Key Advantages  The IP service can be implemented on top of a large variety of network technologies  Does not require routers to maintain any fined grained state about traffic. Thus, network architecture is Robust Scalable

What is a “level” of a system?  Protocol “layer” = “level”  Within a single layer, closer to the core => “lower” level Eg: Edge-boxes of a domain implementing functions like firewalls, address translation, QoS functions are at a “lower” level compared to other boxes in the domain Core router is “lower” level compared to an “edge router” In hierarchical routing, use of smaller prefixes correspond to lower levels of the system.

E2E Argument: Interpretations  One interpretation: (limited in my opinion…) 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

End-to-End Argument: Critical Issues  The end-to-end principle emphasizes: function placement correctness completeness and overall system costs.  It allows a cost-performance tradeoff  If implementation of function in higher levels is not possible due to technological/economic reasons (eg: telephone network in early 1900s), then it may be placed at lower levels

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 if it is (1) used and improves performance of a large number of applications, and (2) does not hurt other applications  Success story: Internet

Architecture vs Implementation: ALF Principle  Architecture: decomposition into functional modules, semantics of modules and syntax used  There should be no a priori requirement that the engineering design of a given system correspond to the architectural decomposition Eg: layering may not be most effective modularity for implementation  Summary: Flexible decomposition Defer engineering decisions to implementer. Avoid gratuitous implementation constraints Maximize engineering options for customization/optimization

Application Layer Framing (ALF)  Several processing bottlenecks may lie at the “presentation” layer which does not really exist in the TCP/IP stack These functions are absorbed partially in the transport layer and partly in the application layer. Principle: the application-layer should have control of the syntax and semantics of the presentation conversions Transport should provide only common functions  Generalization of ALF: look for elegant ways to allow application visibility/participation in lower-level activities Eg: QoS – carry application intelligence to the point of QoS enforcement

Eg: Real-Time Protocol  RTP svcs: payload type identification, sequence numbering, timestamping and delivery monitoring  “RTP is intended to be malleable to provide the information required by a particular application and will often be integrated into the application processing rather than being implemented as a separate layer.”  RTP is a protocol framework that is deliberately not complete and can be tailored modifications/additions to the headers. RTP specifies only common functions for its apps Avoid taking on additional functions ○ making the protocol more general or ○ Adding options requiring expensive parsing

Cross-Layer Design: Motivation Efficiency & performance imperatives, with strict limits on raw spectrum resource (no Moore’s law!)

Wireless Performance Gap Efficiency & performance imperatives, with strict limits on raw spectrum resource (no Moore’s law!)

Cross-layer Design For Wireless  Application  Network  Access  Link  Hardware Delay Constraints Rate Constraints Energy Constraints Adapt across design layers Reduce uncertainty through scheduling Provide robustness via diversity

Cross-layer Techniques: Examples  Adaptive techniques Link, MAC, network, and application adaptation Resource management and allocation (power control)  Diversity techniques Link diversity (antennas, channels, etc.) Access diversity Route diversity Application diversity Content location/server diversity  Scheduling Application scheduling/data prioritization Resource reservation Access scheduling

A Cautionary Perspective  Cross-layer design can limit the rate of architectural evolution  Moore’s law like efficiency benefits cant be easily incorporated by multiple enterprises at different layers  Open problem: how to retain architectural flexibility, long-run contributions by multiple vendors, while meeting the short-run performance imperatives ? Maintain modularity and layering, but permit: ○ ALF-like flexible customization and ○ Information-sharing/statistical learning across layers to facilitate multi-layer optimizations. Flexible header structures (floating headers) for inter-layer information sharing