Computer System Design: Laws, Principles, Trends - II

Similar documents
Nível de ligação - Tópicos

20. Switched Local Area Networks

Computer Networks & Security 2014/2015

How do I get to

Other Data Centers (Microsoft 4) Google Data Center Information. Yahoo Data Center

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

Chapter 4 Network Layer

Introduction to TCP/IP

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

The OSI and TCP/IP Models. Lesson 2

Computer Networks CS321

Layered protocol (service) architecture

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Transport and Network Layer

Overview of Computer Networks

Repetition inför tentan. Kommunikation. Infrastruktur. ÖP Inga hjälpmedel. v v v

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

Ethernet. Ethernet. Network Devices

Network Security TCP/IP Refresher

Overview of TCP/IP. TCP/IP and Internet

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?

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Introduction to Computer Networks

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

IP address format: Dotted decimal notation:

The OSI & Internet layering models

Domain Name System (DNS)

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Final for ECE374 05/06/13 Solution!!

INTRODUCTION TO FIREWALL SECURITY

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

UPPER LAYER SWITCHING

Unix System Administration

HW2 Grade. CS585: Applications. Traditional Applications SMTP SMTP HTTP 11/10/2009

Network Layers. CSC358 - Introduction to Computer Networks

Introduction to IP networking

DHCP, ICMP, IPv6. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley DHCP. DHCP UDP IP Eth Phy

Networking Test 4 Study Guide

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Internet Control Protocols Reading: Chapter 3

The TCP/IP Reference Model

IP - The Internet Protocol

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Protocols. Packets. What's in an IP packet

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Based on Computer Networking, 4 th Edition by Kurose and Ross

Introduction: Why do we need computer networks?

Internet Protocol: IP packet headers. vendredi 18 octobre 13

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

Lecture 28: Internet Protocols

Chapter 2 Application Layer

Internet Packets. Forwarding Datagrams

Technical Support Information Belkin internal use only

Internet structure: network of networks

Understanding Layer 2, 3, and 4 Protocols

Link Layer. 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS

;. ' ;. - ' Computer Networking. ^4 Top-Down Approach. James F. Kurose. Keith W. Ross. Polytechnic University, Brooklyn PEARSON.

Layered Architectures and Applications

Address Resolution Protocol (ARP)

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)

Internet Ideal: Simple Network Model

IT4405 Computer Networks (Compulsory)

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Lecture 2: Protocols and Layering. CSE 123: Computer Networks Stefan Savage

How To Understand The Internet From A Telephone To A Computer (For A Computer)

Transport Layer Protocols

Communication Networks. MAP-TELE 2011/12 José Ruela

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Architecture and Performance of the Internet

Computer Networks. Chapter 5 Transport Protocols

AERONAUTICAL COMMUNICATIONS PANEL (ACP) ATN and IP

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

THE TCP/IP PROTOCOL SUITE

01 - Introduction. Internet Technology. MSc in Communication Sciences Program in Technologies for Human Communication.

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

TCIPG Reading Group. Introduction to Computer Networks. Introduction 1-1

Life of a Packet CS 640,

Data Communication Networks and Converged Networks

Lecture Computer Networks

Top-Down Network Design

How To Understand And Understand Network Theory

Zarządzanie sieciami telekomunikacyjnymi

Internet Protocols. Background CHAPTER

Communications and Networking

Protocols and Architecture. Protocol Architecture.

Asynchronous Transfer Mode: ATM. ATM architecture. ATM: network or link layer? ATM Adaptation Layer (AAL)

Delay, loss, layered architectures. packets queue in router buffers. packets queueing (delay)

CSE 3461 / 5461: Computer Networking & Internet Technologies

IP addressing and forwarding Network layer

Lecture 8. IP Fundamentals

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

CS335 Sample Questions for Exam #2

The Internet. Charging for Internet. What does 1000M and 200M mean? Dr. Hayden Kwok-Hay So

SSVP SIP School VoIP Professional Certification

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Transcription:

Computer System Design: Laws, Principles, Trends - II Presenter: Sandeep K. S. Gupta Reference: -Computer Networking: A Top-Down Approach, 5ed, Ross and Kurose. -Computer Organization and Design: The Hardware/Software Interface, David A. Patterson and John L. Hennessy - An Engineering Approach to Computer Networking, S. Keshav Arizona State University School of computing, informatics, and decision systems engineering

Agenda Abstraction Layered Architecture Example TCP/IP Protocol Stack Layering: Pros and Cons End-to-End Principle Guiding Layering Hierarchical Decomposition Improving Scalability; Faulttolerance Example: Domain Name System () Multiplexing & Batching Sharing Resources; Reducing Cost TCP/IP Networking Example: A day in the life of web page request

Mastering Complexity Abstraction Abstraction: is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. (wikipedia) Control abstraction: abstraction of action Data abstraction: abstraction for handling data in meaningful manner Layered Architecture: Each layer provides some services to layer above it and uses some services below it In distributed system layers act as peers Each layer hides (abstracts) some information

Layer - Level of Abstraction Level of abstraction consists of an interface (outside view of what it does), and an implementation (inside view of how it works) Interface Implementation

Example: Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements PPP, Ethernet physical: bits on the wire application transport network link physical Introduction 1-5

ISO/OSI reference model presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machine-specific conventions session: synchronization, checkpointing, recovery of data exchange Internet stack missing these layers! these services, if needed, must be implemented in application needed? application presentation session transport network link physical Introduction 1-6

Layering Pros or Cons Dealing with complex systems: explicit structure allows identification, relationship of complex system s pieces layered reference model for modularization eases maintenance, updating of system change of implementation of layer s service transparent to rest of system e.g., change in CPU scheduler doesn t affect rest of system layering considered harmful?

End to end design principle Information-hiding may get in way of achieving good performance Functions placed at low levels of a system may be redundant or of little value when compared with the cost of providing them at that low level Example: Reliable data transmission Transport-layer is still needed even if data-link layer provided reliable link level transmission What is advantage of reliable data link? Improved performance. [J. H. Saltzer, D. P. Reed, and D. D. Clark. 1984. End-to-end arguments in system design. ACM Trans. Comput. Syst. 2, 4]

End to end design principle (cont.) Kind of: Occam s razor (law of parsimony): other things being equal, a simpler explanation is better than a more complex one. KISS: Keep it simple, Stupid! Motivation for Open Systems (Lampson) in which the whole of OS consists of replaceable routines. Separation of Mechanism and Policy design principle mechanisms should not restrict the policies according to which decisions are made Birch Hansen, the evolution of operating systems. Decoupling mechanism implementation from policy specification allows different applications to use the same mechanism Example: OS: scheduling policy versus scheduling mechanism Security: authentication mechanism vs. authorization policy

Hierarchical Decomposition Improving Scalability and Fault Resilience Recursive decomposition of a system into smaller pieces that depend only on parent for proper execution No single point of control (failure) Highly scaleable and fault-tolerance; Specially with use of distributed processing, caching, soft-state (as opposed to hard state): state (cached) information has timeout associated; on expiry of timer state info. needs to be reacquired. Leaf-to-leaf communication can be expensive shortcuts help Example: Domain Name System (): maintains mapping between domain names and IP address (and much more..)

Soft state State: memory in the system that influences future behavior for instance, VCI translation table State is created in many different ways signaling network management routing How to delete it? Soft state => delete on a timer If you want to keep it, refresh Automatically cleans up after a failure but increases bandwidth requirement

: Distributed, Hierarchical Database Root Servers com servers org servers edu servers yahoo.com servers amazon.com servers pbs.org servers poly.edu umass.edu servers servers Client wants IP for www.amazon.com: client queries a root server to find com server client queries com server to get amazon.com server client queries amazon.com server to get IP address for www.amazon.com Caching once (any) name server learns mapping, it caches mapping cache entries timeout (disappear) after some time

Multiplexing (Sharing) Resources Trades time and space for money Response time, and space (buffer space for queued jobs); costs economies of scale Examples: multiplexed links; shared memory From job s perspective: shared resource is unshared virtual resource Server controls access to the shared resource may use a schedule to resolve contention choice of scheduling critical in proving quality of service (QoS) guarantees may batch jobs together to amortize overhead across multiple jobs De-multiplexing is needed to unpack the results of the batched job and returned to appropriate user. In distributed system e.g. Internet multiplexing and demultiplexing are done at different ends.

Batching Group tasks together to amortize overhead Only works when overhead for N tasks < N time overhead for one task (i.e. nonlinear) Also, time taken to accumulate a batch shouldn t be too long We re trading off reduced overhead for a longer worst case response time and increased throughput

(Statistical) Multiplexing Gain Suppose resource has capacity C E.g. bandwidth, total memory Shared by N identical tasks E.g. packet, process Each task requires capacity b E.g. packet size, process memory foot print If Nb <= C, then the resource is underloaded (system is overprovisioned) If at most 20% of tasks active, then C >= 0.2*Nb is enough we have used statistical knowledge of users to reduce system cost statistical multiplexing gain: ability to reduce overall system requirement (cost) from C to C

Example of statistical multiplexing gain Consider a 100 room hotel How many external phone lines does it need if only 20% of occupants make call at any time? each line costs money to install and rent Just 20 lines would be sufficient. What if a voice call is active only 50% of the time? Can get by with only 10 lines (by using both spatial and temporal statistical multiplexing gain) but only in a packet-switched network e.g. Internet (as opposed to connection-based networks e.g. telephone networks) Remember to get SMG, we need good statistics! if statistics are incorrect or change over time, we re in trouble example: road system

Networking Example: A Day in Life of Web Page scenario: student attaches laptop to campus network, requests/receives www.google.com Keep mapping Domain name -> IP addr. browser Internet: hierarchical organization LAN: local area net. WAN: wide area net. Comcast network 68.80.0.0/13 server school network 68.80.2.0/24 IP address web page web server 64.233.169.105 Google s network 64.233.160.0/19

segment datagram frame message H t H n H t H l H n H t M M M M Messages are encapsulated and multiplexing going down the protocol stack source application transport network link physical H l Packet routing and processing: - encapsulation (de-encapsulation) - multiplexing (de-multiplexing) H n H t M link physical H l H n H t M switch H l H n H n H t H t H t M M M M destination application transport network link physical H l H n H t H t M network link physical H n H n M H t H l H n Messages are de-encapsulated and de-multiplexing going up the protocol stack H t M M router

Networking Example: A Day in Life of Web Page Background: 1. Each interface has network layer address (IP address) and link-layer address (MAC address) 2. Switches learn which MAC address are reachable from which of its interface 3. Address Resolution Protocol (ARP): like for MAC layer - maintains mapping of IP address to MAC address 4. Two types of transport services: connection-oriented & reliable (TCP) and connection-less & unreliable (UDP) 5. service provides dynamic IP addresses Steps: 1. Laptop acquires IP address (connects to local network) Using 2. Acquires IP address of the Web server Using 3. Establishes TCP connection with Web Server 4. Send HTTP request to Web Server 5. Web server sends requested Web page to Laptop

A day in the life connecting to the Internet UDP IP Eth Phy connecting laptop needs to get its own IP address, addr of first-hop router, addr of server: use UDP IP Eth Phy router (runs ) request encapsulated in UDP, encapsulated in IP, encapsulated in 802.1 Ethernet Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running server Ethernet demux ed to IP demux ed, UDP demux ed to

A day in the life connecting to the Internet UDP IP Eth Phy server formulates ACK containing client s IP address, IP address of first-hop router for client, name & IP address of server UDP IP Eth Phy router (runs ) encapsulation at server, frame forwarded (switch learning) through LAN, demultiplexing at client client receives ACK reply Client now has IP address, knows name & addr of server, IP address of its first-hop router

A day in the life ARP (before, before HTTP) ARP query UDP IP Eth Phy ARP ARP reply ARP Eth Phy before sending HTTP request, need IP address of www.google.com: query created, encapsulated in UDP, encapsulated in IP, encasulated in Eth. In order to send frame to router, need MAC address of router interface: ARP ARP query broadcast, received by router, which replies with ARP reply giving MAC address of router interface client now knows MAC address of first hop router, so can now send frame containing query

A day in the life using UDP IP Eth Phy UDP IP Eth Phy Comcast network 68.80.0.0/13 server IP datagram containing query forwarded via LAN switch from client to 1 st hop router IP datagram forwarded from campus network into comcast network, routed (tables created by RIP, OSPF, IS-IS and/or BGP routing protocols) to server demux ed to server server replies to client with IP address of www.google.com

A day in the life TCP connection carrying HTTP HTTP SYNACK SYNACK SYNACK HTTP TCP IP Eth Phy SYNACK SYNACK SYNACK TCP IP Eth Phy web server 64.233.169.105 to send HTTP request, client first opens TCP socket to web server TCP SYN segment (step 1 in 3-way handshake) interdomain routed to web server web server responds with TCP SYNACK (step 2 in 3- way handshake) TCP connection established!

A day in the life HTTP request/reply HTTP HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy web page finally (!!!) displayed HTTP request sent into TCP socket HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy web server 64.233.169.105 IP datagram containing HTTP request routed to www.google.com web server responds with HTTP reply (containing web page) IP datgram containing HTTP reply routed back to client

Summary Many Principles/Laws guide computer system design and evolution Helps to understand and master complexity; reduce cost and effort Forgetting them leads to wasted effort, un-manageable systems etc. Abstraction is the approach used to design computer systems software and hardware. An abstraction consists of hierarchical levels (layers) with each lower level hiding details from the level above. Layering architecture for complex computer systems End to end design principle to avoid redundant implementation in multiple layers Holistic whole system thinking is important to maximize performance while minimizing cost Example: TCP/IP Network