Network Architecture COS 461: Computer Networks

Similar documents
Internet Architecture. CPS 214 (Nick Feamster) January 14, 2008

CS 678 Spring 2013 Network Architecture and Principles

Design Considerations : Computer Networking. Outline

CE693: Adv. Computer Networking

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian.

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

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

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

Design Principles : Fundamentals of Computer Networks Bill Nace

Internet Design Principles and Architecture

CE693: Adv. Computer Networking

Lecture 2: Internet Architecture

CE 443: Computer Networks

CS4700/5700: Network fundamentals

CS 268: Computer Networking

Goal 0: Connecting Networks. Challenge 1: Address Formats. Challenge 2: Different Packet Sizes. Goals [Clark88]

Lecture 2: Links and Signaling

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

Architectural Principles

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

Architectural Principles

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Internet Design Principles

Goal of Today s Lecture. EE 122: Designing IP. The Internet Hourglass. Our Story So Far (Context) Our Story So Far (Context), Con t

CSC2209 Computer Networks

Network Architecture

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

Network Architecture. TOC Architecture

Patrick Stuedi, Qin Yin, Timothy Roscoe Spring Semester 2015

Distributed Systems /640

CS4700/CS5700 Fundaments of Computer Networks

CS 598: Advanced Internet

Introduction to Networks

Internet Design: Big Picture

IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching

Advanced Computer Networks

416 Distributed Systems. Networks review; Day 2 of 2 And start of RPC Jan 13, 2016

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

Lecture 2: Layering & End-to-End

CAS CS 556. What to expect? Background? Abraham Matta. Advanced Computer Networks. Increase understanding of fundamentals and design tradeoffs

Where we are in the Course

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

Announcements Computer Networking. What is the Objective of the Internet? Today s Lecture

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

Introduction to computer networking

Network Reading Group

Need For Protocol Architecture

Communicating over the Network

Part 1: Introduction. Goal: Review of how the Internet works Overview

Networking and Internetworking 1

CSE 123A Computer Networks

ECE 158A: Lecture 7. Fall 2015

Internet Architecture and Experimentation

Introduction to the Internet

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

Network Architecture. EE 122, Fall 2013 Sylvia Ratnasamy

Need For Protocol Architecture

CS 204: Advanced Computer Networks

Peer entities. Protocol Layering. Protocols. Example

Lecture 1: Introduction

EEC-484/584 Computer Networks

Communications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage

TDTS21 Advanced Networking

Internet Routing. Review of Networking Principles. What s the Internet: nuts and bolts view. Communication links

Internet Routing. Review of Networking Principles

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

Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? Protocol and Service Levels. How to Design a Network?

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

CSCD 433/533 Advanced Networks

Announcements. Designing IP. Our Story So Far (Context) Goals of Today s Lecture. Our Story So Far (Context), Con t. The Internet Hourglass

Probability, Preview, and Principles

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

EECS 228a Lecture 1 Overview: Networks. Jean Walrand

Last Time. Internet in a Day Day 2 of 1. Today: TCP and Apps

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

Strategies, approaches and ethical considerations

The Transmission Control Protocol (TCP)

CS 457 Networking and the Internet. Network Overview (cont d) 8/29/16. Circuit Switching (e.g., Phone Network) Fall 2016 Indrajit Ray

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

SJTU 2018 Fall Computer Networking. Wireless Communication

Lecture 16: Network Layer Overview, Internet Protocol

Internet Architecture and Assumptions. David Andersen CMU Computer Science

TCP/IP THE TCP/IP ARCHITECTURE

Network Protocols and Architectures

Next Steps Spring 2011 Lecture #18. Multi-hop Networks. Network Reliability. Have: digital point-to-point. Want: many interconnected points

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Lecture 3 Protocol Stacks and Layering

0 TCP/IP overview. 0.1 The Internet

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

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

Introduction to Internetworking

Lecture 3: Modulation & Layering"

NAT, IPv6, & UDP CS640, Announcements Assignment #3 released

Lecture 2: Internet Structure

Design Considerations : Computer Networking. Outline. Challenge 1: Address Formats. Challenge. How to determine split of functionality

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

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

Internet II. CS10 : Beauty and Joy of Computing. cs10.berkeley.edu. !!Senior Lecturer SOE Dan Garcia!!! Garcia UCB!

CSCE 463/612 Networks and Distributed Processing Spring 2018

Transcription:

Network Architecture COS 461: Computer Networks Nick Feamster Spring 2015 Lectures: MW 10-10:50 am in CS 104 Acknowledgments: Lecture slides are from Computer networks course thought by Nick Feamster at Princeton University. When slides are obtained from other sources, a a reference will be noted on the bottom of that slide. A full list of references is provided on the last slide.

Key Concepts in Networking Naming What to call computers, services, protocols, Layering Abstraction is the key to managing complexity Protocols Speaking the same language Syntax and semantics Resource allocation Dividing scare resources among competing parties Memory, link bandwidth, wireless spectrum, paths 2

Abstraction through Protocol Layering Modularity Each layer relies on services from layer below Each layer exports services to layer above Interfaces Hides implementation details Layers can change without disturbing other layers Application Application-to-application channels Host-to-host connectivity Link hardware 3

The Internet Protocol Suite FTP HTTP NV TFTP Applications TCP IP UDP Waist UDP TCP NET 1 NET 2 NET n Data Link Physical The Hourglass Model The narrow waist facilitates interoperability 4

Example: HyperText Transfer Protocol GET /courses/archive/spr13/cos461/ HTTP/1.1 Host: www.cs.princeton.edu User-Agent: Mozilla/4.03 CRLF Request Response HTTP/1.1 200 OK Date: Mon, 4 Feb 2013 11:09:03 GMT Server: Netscape-Enterprise/3.5.1 Last-Modified: Mon, 2 Feb 2013 19:12:23 GMT Content-Length: 21 CRLF Site under construction 5

Layer Encapsulation in HTTP User A User B Application App-to-app channels Host-to-host connectivity Link hardware Get index.html Connection ID Source/Destination Link Address 6

End Hosts vs. Routers host HTTP HTTP message host HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP IP packet IP Ethernet interface Ethernet interface SONET interface SONET interface Ethernet interface Ethernet interface 7

Split into Data vs. Control Plane Data plane: packets Handle individual packets as they arrive Forward, drop, or buffer Mark, shape, schedule, Control plane: events Track changes in network topology Compute paths through the network Reserve resources along a path Motivated by need for high-speed packet forwarding

Original Design Philosophy 9

Fundamental Goal technique for multiplexed utilization of existing interconnected networks Multiplexing (sharing) Shared use of a single communications channel Existing networks (interconnection)

Packet Switching Fundamental Goal: Sharing No connection setup Forwarding based on destination address in packet Efficient sharing of resources Tradeoff: Resource management potentially more difficult.

Type of Packet Switching: Datagrams Information for forwarding traffic is contained in destination address of packet No state established ahead of time (helps fate sharing) Basic building block Minimal assumption about network service Alternatives Circuit Switching: Signaling protocol sets up entire path out-of-band. (cf. the phone network) Virtual Circuits: Hybrid approach. Packets carry tags to indicate path, forwarding over IP Source routing: Complete route is contained in each data packet

An Age-Old Debate Circuit Switching Resource control, accounting, ability to pin paths, etc. Packet Switching Sharing of resources, soft state (good resilience properties), etc. It is held that packet switching was one of the Internet s greatest design choices. Of course, there are constant attempts to shoehorn the best aspects of circuits into packet switching. Examples: Capabilities (Lecture 21), MPLS (Lecture 15), ATM, IntServ QoS, etc.

Stopping Unwanted Traffic is Hard February 2000 March 2006

Stopping Unwanted Traffic Datagram networks: easy for anyone to send traffic to anyone else even if they don t want it! cnn.com Possible Defenses Monitoring + Filtering: Detect DoS attack and install filters to drop traffic. Capabilities: Only accept traffic that carries a capability Stay tuned...

The Design Goals of Internet, v1 Interconnection/Multiplexing (packet switching) Resilience/Survivability (fate sharing) Heterogeneity Different types of services Different types of networks Distributed management Cost effectiveness Ease of attachment Accountability Decreasing Priority This set of goals might seem to be nothing more than a checklist of all the desirable network features. It is important to understand that these goals are in order of importance, and an entirely different network architecture would result if the order were changed. These goals were prioritized for a military network. Should priorities change as the network evolves?

Fundamental Goal: Interconnection Need to interconnect many existing networks Hide underlying technology from applications Decisions: Network provides minimal functionality Narrow waist email WWW phone... SMTP HTTP RTP... TCP UDP Applications IP ethernet PPP CSMA async sonet... Technology copper fiber radio... Tradeoff: No assumptions, no guarantees.

The Curse of the Narrow Waist IP over anything, anything over IP Has allowed for much innovation both above and below the IP layer of the stack An IP stack gets a device on the Internet Drawback: very difficult to make changes to IP But people are trying NSF GENI project: http://www.geni.net/

Goal #2: Survivability Network should continue to work, even if some devices fail, are compromised, etc. Failures on the Abilene (Internet 2) backbone network over the course of 6 months Thanks to Yiyi Huang How well does the current Internet support survivability?

Goal #2: Survivability Two Options Replication Keep state at multiple places in the network, recover when nodes crash Fate-sharing Acceptable to lose state information for some entity if the entity itself is lost Reasons for Fate Sharing Can support arbitrarily complex failure scenarios Engineering is easier

Goal #3: Heterogeneous Services TCP/IP designed as a monolithic transport TCP for flow control, reliable delivery IP for forwarding Became clear that not every type of application would need reliable, in-order delivery Example: Voice and video over networks Example: DNS Why don t these applications require reliable, in-order delivery? Narrow waist: allowed proliferation of transport protocols

Topic: Voice and Video over Networks Deadlines: Timeliness more important than 100% reliability. Propagation of errors: Some losses more devastating than others Loss in Anchor Frame (I-Frame) Propagates to Dependent Frames (P and B-Frames)

Goal #3b: Heterogeneous Networks Build minimal functionality into the network No need to re-engineering for each type of network Best effort service model. Lost packets Out-of-order packets No quality guarantees No information about failures, performance, etc. Tradeoff: Network management more difficult

Goal #4: Distributed Management Many examples: Addressing (ARIN, RIPE, APNIC, etc.) Though this was recently threatened. Naming (DNS) Routing (BGP) No single entity in charge. Allows for organic growth, scalable management. Tradeoff: No one party has visibility/control.

No Owner, No Responsible Party 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. Hard to figure out who/what s causing a problem Worse yet, local actions have global effects

Local Actions, Global Consequences a glitch at a small ISP triggered a major outage in Internet access across the country. The problem started when MAI Network Services...passed bad router information from one of its customers onto Sprint. -- news.com, April 25, 1997 UUNet Sprint Florida Internet Barn

Goal #5: Cost Effectiveness Packet headers introduce high overhead End-to-end retransmission of lost packets Potentially wasteful of bandwidth by placing burden on the edges of the network

Goal #6: Ease of Attachment IP is plug and play Anything with a working IP stack can connect to the Internet (hourglass model) A huge success! Lesson: Lower the barrier to innovation/entry and people will get creative (e.g., Cerf and Kahn probably did not think about IP stacks on phones, sensors, etc.) But. Tradeoff: Burden on end systems/programmers.

Goal #7: Accountability Note: Accountability mentioned in early papers on TCP/IP, but not prioritized Datagram networks make accounting tricky. The phone network has had an easier time figuring out billing Payments/billing on the Internet is much less precise Tradeoff: Broken payment models and incentives.

What s Missing? Security Availability Accountability (the other kind) Support for disconnected/intermittent operation Mobility Scaling

End-to-End Arguments in System Design [Saltzer, Reed, Clark 1981] End-to-end in a nutshell The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the communication system. Therefore, providing that questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement.) 31

Some Consequences In layered design, the E2E principle provides guidance on where functions belong. Dumb, minimal network and intelligent endpoints. Many argue that: E2E principle allowed Internet to grow rapidly because innovation took place at the edge, in applications and services. 32

Careful file transfer Computer A Computer B 33

Careful file transfer Computer A Computer B F 1) File transfer program on A asks file system to read F from disk 34

Careful file transfer Computer A Computer B F 1) File transfer program on A asks file system to read F from disk 2) File transfer program on A asks communication system to send file 35

Careful file transfer Computer A Computer B 1) File transfer program on A asks file system to read F from disk 2) File transfer program on A asks communication system to send file 3) Communication system transmits packets 36

Careful file transfer Computer A Computer B F 1) File transfer program on A asks file system to read F from disk 2) File transfer program on A asks communication system to send file 3) Communication system transmits packets 4) Communication system gives F to file transfer program on B 37

Careful file transfer Computer A Computer B F 1) File transfer program on A asks file system to read F from disk 2) File transfer program on A asks communication system to send file 3) Communication system transmits packets 4) Communication system gives F to file transfer program on B 5) File transfer program on B asks file system to write F to disk 38

What can go wrong? Computer A Computer B A A A) Reading to and writing from file system 39

What can go wrong? Computer A Computer B A A B B A) Reading to and writing from file system B) Breaking up file / reassembling file 40

What can go wrong? Computer A Computer B A A C B B A) Reading to and writing from file system B) Breaking up file / reassembling file C) Transmitting file over communication system 41

Possible solution #1 Ensure each step by some form of error checking: duplicate copies, redundancy, timeout and retry, etc. Packet error checking at each hop Send every packet three times Acknowledge packet reception at each hop 42

Problems with this solution Computer A Computer B A A B B 1. Not complete; still requires application level checking 2. May not be economical 43

Possible solution #2 End-to-end check and retry Application commits or retries based on checksum value. If errors along the way are rare, this will most likely finish on first try. 44

Performance Lower levels can be reliable as a performance booster Transferring large files Regardless of data communication, end-to-end check must be done Tradeoff based on performance, not correctness Is the amount of effort put into the reliability worth the performance gain? 45

On the other hand E2E principle appears to have been diluted: NATs, firewalls, VPN tunnel endpoints, Perhaps not surprising: E2E principle grew in an era of trust among users. Now network must protect itself. The network is no longer dumb, minimal Now over 6,000 RFCs. Router OS s based on over 10M lines of source code. Q: Is this a problem? 46