CS4700/CS5700 Fundaments of Computer Networks

Similar documents
CS3600 SYSTEMS AND NETWORKS

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals.

Lecture 2: Internet Architecture

CS4700/5700: Network fundamentals

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

Page 1. Goals for Today" What Is A Protocol?" CS162 Operating Systems and Systems Programming Lecture 10. Protocols, Layering and e2e Argument"

Internet Design Principles

Lecture 3 Protocol Stacks and Layering

CSE 123A Computer Networks

Introduction to Networks

CS4700/CS5700 Fundaments of Computer Networks

TDTS21 Advanced Networking

Probability, Preview, and Principles

Peer entities. Protocol Layering. Protocols. Example

Network Architecture. EE 122, Fall 2013 Sylvia Ratnasamy

CS4700/CS5700 Fundamentals of Computer Networks

Need For Protocol Architecture

Introduction to Information Science and Technology 2017 Networking I. Sören Schwertfeger 师泽仁

How does the Internet Look Like?

Need For Protocol Architecture

CS4700/CS5700 Fundamentals of Computer Networks

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

Computer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks

Network Reference Models

Network Architecture. TOC Architecture

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

The Internet. Overview. Network building blocks

CS3600 SYSTEMS AND NETWORKS

Network Architecture

Page 1. Goals for Today" Placing Network Functionality" Basic Observation" CS162 Operating Systems and Systems Programming Lecture 15

Copyleft 2005, Binnur Kurt. Objectives

Data Communication and Network. Introducing Networks

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

CS4700/CS5700 Fundamentals of Computer Networks

ITEC 3800 Data Communication and Network. Introducing Networks

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

CS4700/CS5700 Fundamentals of Computer Networks

OSI Model. Teran Subasinghe MBCS, Bsc.(Hons) in Computer Science - University of Greenwich, UK

Page 1. Review: The Problem" Software System Modularity" Solution: Intermediate Layers"

Internet Design: Goals and Principles

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

Introduction to computer networking

Networking and Internetworking 1

Chapter 2 Network Models 2.1

CS 3640: Introduction to Networks and Their Applications

Lecture-4. TCP/IP-Overview:

Communicating over the Network

Communication Networks

Last Lecture. Network Architecture: Layers. This Lecture. In the sending host (2) In the sending host

Lecture 2: Layering & End-to-End

Chapter 2 Network Architectures A global view

CSCI Computer Networks

ECE 4400:427/527 - Computer Networks Spring 2017

Review of Important Networking Concepts

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

System Programming. Introduction to computer networks

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Computer Network : Lecture Notes Nepal Engineering College Compiled by: Junior Professor: Daya Ram Budhathoki Nepal Engineering college, Changunarayan

COMS Introduction to Computers. Networking

TCP/IP THE TCP/IP ARCHITECTURE

Chapter 2 Communicating Over the Network

Chapter 7. Local Area Network Communications Protocols

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

Networking Applications

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

Chapter 12 Network Protocols

Outline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems

CPS221 Lecture: Layered Network Architecture

CS 428/528 Computer Networks Lecture 01. Yan Wang

Chapter 2 Network Models 2.1

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Part VI. Appendixes. Appendix A OSI Model and Internet Protocols Appendix B About the CD

ECE 650 Systems Programming & Engineering. Spring 2018

Introduction to TCP/IP networking

ROYAL INSTITUTE OF INFORMATION & MANAGEMENT

CS162 Operating Systems and Systems Programming Lecture 21. Networking. Page 1

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

Data and Computer Communications

CS4700/CS5700 Fundamentals of Computer Networks

Component Function Example

Design Considerations : Computer Networking. Outline

OSI and TCP/IP Models

Introduction to Open System Interconnection Reference Model

Defining Networks with the OSI Model. Module 2

Chapter 16 Networking

L1: Introduction. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

QUESTION BANK EVEN SEMESTER

Parts of a Network. app. router. link. host. Computer Networks 2

Data & Computer Communication

Lecture Outline. Lecture 2. OSI model and networking. The OSI model and networking. The OSI model and networking. The OSI model and networking

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

Page 1. CS194-3/CS16x Introduction to Systems. Lecture 21. Networking II. Review: Networking Definitions

CS4700/CS5700 Fundamentals of Computer Networks

Mobile MOUSe ROUTING AND SWITCHING FUNDAMENTALS ONLINE COURSE OUTLINE

OSI Transport Layer. objectives

Raj Jain. The Ohio State University Columbus, OH

Packet Switching, Layer Models and Protocol Suites

Fundamentals of Networking. OSI & TCP/IP Model. Kuldeep Sonar 1

Transcription:

CS4700/CS5700 Fundaments of Computer Networks Lecture 5: Internet architecture Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern University 1

Organizing Network Functionality Many kinds of networking functionality e.g., encoding, framing, routing, addressing, reliability, etc. Many different network styles and technologies circuit-switched vs packet-switched, etc. wireless vs wired vs optical, etc. Many different applications ftp, email, web, P2P, etc. Network architecture How should different pieces be organized? How should different pieces interact? Alan Mislove amislove at ccs.neu.edu Northeastern University 2

Problem Application SMTP SSH FTP Transmission Media Coaxial cable Fiber optic Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Problem Application SMTP SSH FTP HTTP Transmission Media Coaxial cable Fiber optic Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Problem Application SMTP SSH FTP HTTP Transmission Media Coaxial cable Fiber optic Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Problem Application SMTP SSH FTP HTTP Transmission Media Coaxial cable Fiber optic Packet radio Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Problem Application SMTP SSH FTP HTTP Transmission Media Coaxial cable Fiber optic Packet radio Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Problem Application SMTP SSH FTP HTTP Transmission Media Coaxial cable Fiber optic Packet radio new application has to interface to all existing media adding new application requires O(m) work, m = number of media new media requires all existing applications be modified adding new media requires O(a) work, a = number of applications Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Problem Application SMTP SSH FTP HTTP Transmission Media Coaxial cable Fiber optic Packet radio new application has to interface to all existing media adding new application requires O(m) work, m = number of media new media requires all existing applications be modified adding new media requires O(a) work, a = number of applications total work in system O(ma) eventually too much work to add apps/media Application end points may not be on the same media! Alan Mislove amislove at ccs.neu.edu Northeastern University 3

Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media Indirection is an often used technique in computer science Application SMTP SSH NFS Intermediate layer Transmission Media Coaxial cable Fiber optic Alan Mislove amislove at ccs.neu.edu Northeastern University 4

Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media Indirection is an often used technique in computer science Application SMTP SSH NFS HTTP Intermediate layer Transmission Media Coaxial cable Fiber optic Alan Mislove amislove at ccs.neu.edu Northeastern University 4

Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media Indirection is an often used technique in computer science Application SMTP SSH NFS HTTP Intermediate layer Transmission Media Coaxial cable Fiber optic Alan Mislove amislove at ccs.neu.edu Northeastern University 4

Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media Indirection is an often used technique in computer science Application SMTP SSH NFS HTTP Intermediate layer Transmission Media Coaxial cable Fiber optic 802.11 LAN Alan Mislove amislove at ccs.neu.edu Northeastern University 4

Solution: Indirection Solution: introduce an intermediate layer that provides a single abstraction for various network technologies O(1) work to add app/media Indirection is an often used technique in computer science Application SMTP SSH NFS HTTP Intermediate layer Transmission Media Coaxial cable Fiber optic 802.11 LAN Alan Mislove amislove at ccs.neu.edu Northeastern University 4

Network 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 Alan Mislove amislove at ccs.neu.edu Northeastern University 5

Break system into modules: Software Modularity 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 Alan Mislove amislove at ccs.neu.edu Northeastern University 6

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 7

Outline Layering how to break network functionality into modules The End-to-End Argument where to implement functionality Alan Mislove amislove at ccs.neu.edu Northeastern University 8

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 9

ISO OSI Reference Model ISO International Standard Organization OSI Open System Interconnection Goal: a general open standard allow vendors to enter the market by using their own implementation and protocols Alan Mislove amislove at ccs.neu.edu Northeastern University 10

ISO OSI Reference Model Seven layers Lower two layers are peer-to-peer Network layer involves multiple switches Next four layers are end-to-end Host 1 Intermediate switch Host 2 Application Presentation Session Transport Network Datalink Physical Physical medium A Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Physical medium B Alan Mislove amislove at ccs.neu.edu Northeastern University 11

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! Alan Mislove amislove at ccs.neu.edu Northeastern University 12

Key Concepts Alan Mislove amislove at ccs.neu.edu Northeastern University 13

Key Concepts Service says what a layer does Ethernet: unreliable subnet unicast/multicast/broadcast datagram service IP: unreliable end-to-end unicast datagram service TCP: reliable end-to-end bi-directional byte stream service Guaranteed bandwidth/latency unicast service Service Interface says how to access the service E.g. UNIX socket interface Protocol says how is the service implemented a set of rules and formats that govern the communication between two peers Alan Mislove amislove at ccs.neu.edu Northeastern University 13

Physical Layer (1) Service: move information between two systems connected by a physical link Interface: specifies how to send a bit Protocol: coding scheme used to represent a bit, voltage levels, duration of a bit Examples: coaxial cable, optical fiber links; transmitters, receivers Alan Mislove amislove at ccs.neu.edu Northeastern University 14

Datalink Layer (2) Service: framing (attach frame separators) send data frames between peers others: arbitrate the access to common physical media per-hop reliable transmission per-hop flow control Interface: send a data unit (packet) to a machine connected to the same physical media Protocol: layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD) Alan Mislove amislove at ccs.neu.edu Northeastern University 15

Network Layer (3) Service: deliver a packet to specified network destination perform segmentation/reassemble others: packet scheduling buffer management Interface: send a packet to a specified destination Protocol: define global unique addresses; construct routing tables Alan Mislove amislove at ccs.neu.edu Northeastern University 16

Transport Layer (4) Service: Multiplexing/demultiplexing optional: error-free and flow-controlled delivery Interface: send message to specific destination Protocol: implements reliability and flow control Examples: TCP and UDP Alan Mislove amislove at ccs.neu.edu Northeastern University 17

Session Layer (5) Service: full-duplex access management (e.g., token control) synchronization (e.g., provide check points for long transfers) Interface: depends on service Protocol: token management; insert checkpoints, implement roll-back functions Alan Mislove amislove at ccs.neu.edu Northeastern University 18

Presentation Layer (6) Service: convert data between various representations Interface: depends on service Protocol: define data formats, and rules to convert from one format to another Alan Mislove amislove at ccs.neu.edu Northeastern University 19

Application Layer (7) Service: any service provided to the end user Interface: depends on the application Protocol: depends on the application Examples: FTP, Telnet, WWW browser Alan Mislove amislove at ccs.neu.edu Northeastern University 20

Who Does What? Host A Application Presentation Session Transport Network Datalink Physical Router Network Datalink Physical Physical medium Host B Application Presentation Session Transport Network Datalink Physical Alan Mislove amislove at ccs.neu.edu Northeastern University 21

Logical Communication Layers interacts with corresponding layer on peer Host A Application Presentation Session Transport Network Datalink Physical Router Network Datalink Physical Physical medium Host B Application Presentation Session Transport Network Datalink Physical Alan Mislove amislove at ccs.neu.edu Northeastern University 22

Physical Communication Communication goes down to physical network, then to peer, then up to relevant layer Host A Application Presentation Session Transport Network Datalink Physical Router Network Datalink Physical Physical medium Host B Application Presentation Session Transport Network Datalink Physical Alan Mislove amislove at ccs.neu.edu Northeastern University 23

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 data data data data data data data data data data data data data Alan Mislove amislove at ccs.neu.edu Northeastern University 24

Example: Postal System Standard process (historical): Write letter Drop an addressed letter off in your local mailbox Postal service delivers to address Addressee reads letter (and perhaps responds) Alan Mislove amislove at ccs.neu.edu Northeastern University 25

Postal Service as Layered System Layers: Letter writing/reading Delivery Information Hiding: Network need not know letter contents Customer need not know how the postal network works Encapsulation: Envelope Customer Post Office Customer Post Office Alan Mislove amislove at ccs.neu.edu Northeastern University 26

Functions of the Layers Service: Handles details of application programs. Functions: Service: Controls delivery of data between hosts. Functions: Connection establishment/termination, error control, flow control, congestion control, etc. Service: Moves packets inside the network. Functions: Routing, addressing, switching, etc. Service: Reliable transfer of frames over a link. Functions: Synchronization, error control, flow control, etc. Application Layer Transport Layer Network Layer (Data) Link Layer telnet, ftp, email www, AFS TCP, UDP IP, ICMP, OSPF RIP, BGP Ethernet, WiFi T1 Alan Mislove amislove at ccs.neu.edu Northeastern University 27

Internet Protocol Architecture FTP program FTP protocol FTP program TCP TCP protocol TCP IP IP protocol IP IP protocol IP Ethernet Driver Ethernet protocol Ethernet Driver ATM Driver ATM protocol ATM Driver Alan Mislove amislove at ccs.neu.edu Northeastern University 28

Internet Protocol Architecture MPEG Servier program RTP protocol MPEG Player program UDP UDP protocol UDP IP IP protocol IP IP protocol IP Ethernet Driver Ethernet protocol Ethernet Driver ATM Driver ATM protocol ATM Driver Alan Mislove amislove at ccs.neu.edu Northeastern University 29

Encapsulation As data is moving down the protocol stack, each protocol is adding layer-specific control information. Alan Mislove amislove at ccs.neu.edu Northeastern University 30

Hourglass Note: Additional protocols like routing protocols (RIP, OSPF) needed to make IP work Alan Mislove amislove at ccs.neu.edu Northeastern University 31

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 32

Reality Layering is a convenient way to think about networks But layering is often violated Firewalls Transparent caches NAT boxes Alan Mislove amislove at ccs.neu.edu Northeastern University 33

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 34

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 35

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Solution 1: make network reliable Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Solution 1: make network reliable Solution 2: implement end-to-end check and retry if failed Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS Host B Appl. OS Solution 1: make network reliable Solution 2: implement end-to-end check and retry if failed Alan Mislove amislove at ccs.neu.edu Northeastern University 36

Example: Reliable File Transfer Host A Appl. OS OK Host B Appl. OS Solution 1: make network reliable Solution 2: implement end-to-end check and retry if failed Alan Mislove amislove at ccs.neu.edu Northeastern University 36

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? Alan Mislove amislove at ccs.neu.edu Northeastern University 37

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 38

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 39

Radical Interpretation Don t implement anything in the network that can be implemented correctly by the hosts Make network layer absolutely minimal ignore performance issues Alan Mislove amislove at ccs.neu.edu Northeastern University 40

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 Alan Mislove amislove at ccs.neu.edu Northeastern University 41

Reality Layering and E2E Principle regularly violated: Firewalls Transparent caches Other middleboxes Battle between architectural purity and commercial pressures Alan Mislove amislove at ccs.neu.edu Northeastern University 42

Summary Layering is a good way to organize network functions Unified Internet layer decouples apps from networks E2E argument argues to keep IP simple Be judicious when thinking about adding to the network layer Alan Mislove amislove at ccs.neu.edu Northeastern University 43