CS 598: Advanced Internet

Similar documents
Architectural Principles

Architectural Principles

TCP/IP Architecture. Brighten Godfrey CS 538 January 24, slides by Brighten Godfrey unless otherwise noted

TCP/IP Architecture. Brighten Godfrey cs598pbg August slides 2010 by Brighten Godfrey unless otherwise noted

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

Network Reading Group

Design Principles : Fundamentals of Computer Networks Bill Nace

Internet Design Principles and Architecture

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

CS 678 Spring 2013 Network Architecture and Principles

Design Considerations : Computer Networking. Outline

CS 598: Advanced Internet

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

Internet Design: Big Picture

Review on The Design Philosophy of the DARPA Internet Protocols by David D. Clark. Presented by : Daminda Perera 16/02/2008

CSC2209 Computer Networks

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

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

Architectural Principles of the Internet

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

TSIN02 - Internetworking

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

CE693: Adv. Computer Networking

CSE 123b Communications Software

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Networking Applications

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

Network Architecture COS 461: Computer Networks

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

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

CE693: Adv. Computer Networking

Internet A Brief Tutorial. Jean Walrand EECS U.C. Berkeley

Lecture 2: Layering & End-to-End

CS 268: Computer Networking

Distributed Systems /640

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

Internet Architecture and Assumptions. David Andersen CMU Computer Science

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca Instructor: Nicholas DeMarinis

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

TSIN02 - Internetworking

CSCD 330 Network Programming

CS 3640: Introduction to Networks and Their Applications

CS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018

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

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)

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

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

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

CSCD 330 Network Programming

In this lecture we cover a number of networking issues pertinent to the support of distributed computing. Much of the material is covered in more

COMP/ELEC 429/556 Introduction to Computer Networks

cs144 Midterm Review Fall 2010

Internetworking: philosophy, addressing, forwarding, resolution, fragmentation

TCP/IP THE TCP/IP ARCHITECTURE

Introduction to Networks and the Internet

Lecture 2: Internet Structure

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Lecture 2: Links and Signaling

Network Architecture

Introduction to Internetworking

The Internetworking Problem. Internetworking. A Translation-based Solution

Introduction to the Internet

Welcome (day 2) CSE 123b Communications Software. Application layer (HTTP) Application layer? Name resolution (DNS) Transport layer (TCP)

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

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

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Datagram Congestion Control Protocol (DCCP)

Internet Design Principles

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Advanced Computer Networks

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

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Lecture 4: Congestion Control

ECE 650 Systems Programming & Engineering. Spring 2018

Outline. TCP/IP Internet

Network Architecture. TOC Architecture

EEC-484/584 Computer Networks

Network Layer: Control/data plane, addressing, routers

CMPE 80N: Introduction to Networking and the Internet

OSI Transport Layer. objectives

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

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

TSIN02 - Internetworking

Network Protocols - Revision

Lecture-4. TCP/IP-Overview:

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

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

Networking and Internetworking 1

Lecture 1: Introduction

CS4700/5700: Network fundamentals

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

Communication Networks - 3 general areas: data communications, networking, protocols

CSE 486/586: Distributed Systems

TDTS21 Advanced Networking

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

4.0.1 CHAPTER INTRODUCTION

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

CS519: Computer Networks. Lecture 2: Feb 2, 2004 IP (Internet Protocol)

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

Lecture 2. Computer Networks Models. Network Models 1-1

Transcription:

CS 598: Advanced Internet Lecture 3: TCP / IP Brighten Godfrey pbg@illinois.edu Fall 2009 1

Today Announcements A few more project ideas Cerf and Kahn: TCP / IP Clark: TCP / IP design philosophy 2

Announcements Project proposals due Sept 15 Find partner and chat with me before then Submit half-page description of your plan and roughly what each group member will do Readings through Sept 15 on web site Thursday: Jon Postel. Internetwork protocol approaches. IEEE Transactions on Communications, 28(4):604-611, April 1980. J.H. Saltzer, D.P. Reed and D.D. Clark. End-to-End Arguments in System Design. ACM Trans. on Computer Systems, Vol. 2, No. 4, Nov 1984, pp. 277-28 3

Upcoming presentations Soliciting volunteers to present Tuesday Sept 8 (and later): Van Jacobson. Congestion Avoidance and Control. Proc. SIGCOMM 1988, pp. 314-329. Dah-Ming Chiu and Raj Jain. Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Computer Networks and ISDN Systems, Vol. 17, No. 1, June 1989, pp. 1-14. 4

Paper reviews Preferred format: plain text pasted into email. No attachments necessary. No summary necessary. Just criticism. One paragraph is sufficient. Longer is not better. :-) 5

Today Announcements A few more project ideas Cerf and Kahn: TCP / IP Clark: TCP / IP design philosophy 6

Optimally hierarchical distributed systems Distributed systems frequently hierarchical: some set of nodes are picked for greater responsibilities (e.g., content distribution systems, Skype, distributed hash tables) Larger set of these superpeers brings more capacity (good) but potentially greater overhead and worse service quality (bad!) How do you balance these tradeoffs optimally? (e.g., if n superpeers incur log(n) overhead factor, and you know the distribution of node capacities, what is the optimal set of superpeers?) 7

emailfs We use email a lot like a filesystem Admit it, and design an email system that has the best of both worlds. Compared with email, avoid explicit duplication of content integrated versioning of files? ideas from distributed filesystems to deal with large files? 8

Incentive compatibility of congestion control What congestion control schemes are both efficient and incentive compatible? Intermediate problem: convergence with feedback effects Simulate these effects using ns2 or similar packet-level evaluation, working with Brighten and coauthors 9

Today Announcements A few more project ideas Cerf and Kahn: TCP / IP Clark: TCP / IP design philosophy 10

Interconnection challenges Different ways of addressing, supported packet lengths, latency, status information, routing Must let each network operate independently Solution: Hosts Protocols IP unacceptable alternative 11

Gateways and IP Gateways sit at interface between networks \ N GATEWAY W GATEWAY Fig. 2. Three networks interconnected by two GATEWAYS....and speak an Internetworking protocol (may be null) - b Internetwork Header LOCAL HEADER SOURCE DESTINATION SEQUENCE NO. BYTE COUNTIFLAG FIELD\ TEXT ICHECKSUM Fig. 3. Internetwork packet format (fields not shown to scale). 12

IP packet fragmentation Allow maximum packet size to evolve Protocol mechanisms to split packets intransit (byte-level sequence numbers) Reassemble at end-hosts Why not gateways? 13

Unreliable datagrams No need for reliability support from underlying network Greatly simplifies design Exception handling always adds complexity Any problem? Just drop the packet. What s not a stated reason for datagrams? Statistical multiplexing. 14

Addressing & routing Unspecified but not unconstrained! Picks address format Hierarchical (network, host) Route computed within network 8 16 NETWORK TCP IDENTIFIER Fig. 4. ',TCP address. 8 bits for network. This size seems sufficient for the forseeable future. Later: 32 bits in three size classes (A,B,C), and then CIDR. Just about every new routing algorithm we ll see needs to change the packet s address format. 15

Ports Associated with a process on a host Identify endpoints of a connection ( association ) Rejected design: connection at host level; packet may include bytes for multiple processes 16

What we now call TCP Window-based scheme Provides reliability, ordering, flow control And now, congestion control too Left Window Edge I 0 a a+w- 1 n- 1-1 window -4 I< packet sequence number space -1 Fig. 10. The window concept. Note you might want only some of these Not in this version: 3-way handshaking, congestion control (next section of course!) 17

Today Announcements A few more project ideas Cerf and Kahn: TCP / IP Clark: TCP / IP design philosophy 18

Goals of the architecture 0. Interconnect existing networks 1. Survivability 2. Multiple communication services 3. Variety of networks 4. Distributed management 5. Cost effective 6. Easy host attachment 7. Resource usage accountability 19

0. Interconnect networks Assumption: One common architecture Technique: packet switching Met target application needs Already used in ARPANET, ARPA packet radio network Interconnect with layer of gateways (packet switches) 20

1. Survivability Definition: even with failures, endpoints can continue communicating without resetting high-level end-to-end conversation Except when? Did this work? 21

1. Survivability Key question for survivability: Where is connection state stored? In network So, must replicate Complicated Does not protect against all failures On end hosts Shared fate Simpler If state lost, then it doesn t matter Conclusion: stateless network datagram packet switching 22

2. Multiple types of service Initially, just TCP TCP But some apps do not want reliability! (VoIP, XNET) 23

2. Multiple types of service So, TCP/IP split: datagram basic building block for many types of service Still difficult to support low latency across all networks Hard to remove reliability if underlying network provides it For what services is IP not sufficient? Innovation! Innovation! P2P Web Email... HTTP FTP TCP UDP IP VoIP... Ethernet NTP... Copper Fiber Radio... 24

3. Variety of networks Datagram is simple building block Few requirements from underlying network technology Innovation! Innovation! P2P Web Email... HTTP FTP TCP UDP IP VoIP... Ethernet NTP... Copper Fiber Radio... 25

4. Distributed management... 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. Still a problem 20 years later! David Clark, 1988 Later in this course: new easier-to-manage architectures (Ethane, OpenFlow, SEATTLE) 26

5. Cost effective Inefficiencies: 40 byte header retransmission of lost packets How much does it matter now? 27

6. Easy host attachment End-hosts must implement net services problems if host misbehaves! once caused concern to some people 28

7. Accountability Difficult to account for who uses what resources How is this done today? Why is it only an approximation? Both an economic and security issue Later in this course: Anderson et al., Accountable Internet Protocol, SIGCOMM 2008. 29

What it doesn t do The architecture tried very hard not to constrain the range of service which the Internet could be engineered to provide. Extremely successful! But: Hard for network to report that it failed ( potential for slower and less specific error detection ) Resource management (coming soon: fair queueing) Multipath Full illusion of reliability during failures Security: Clark discusses host misbehavior (briefly) and accountability, but other aspects missing 30

Clark s new terms fate-sharing flow soft state 31

What if the Internet were commercial? Different priorities: accountability first, survivability last Example: Videotex networks e.g., France Telecom s Minitel Centralized Reliable Banking, news, stock transactions,... photo: wikimedia 32

Figure 7. Generic Videotex system. COMPUTER [A. J. S. Ball, G.V. Bochmann, and J. Gecsei.Videotex networks. IEEE Computer Magazine, 13(12):8 14, December 1980] 33

What s next Thursday: Jon Postel. Internetwork protocol approaches. IEEE Transactions on Communications, April 1980. Saltzer, Reed and Clark, End-to-End Arguments in System Design, ACM Trans. on Computer Systems, November 1984. Tuesday: congestion control begins 34

Volunteers? Soliciting volunteers to present Tuesday Sept 8 (and later): Van Jacobson. Congestion Avoidance and Control. Proc. SIGCOMM 1988, pp. 314-329. Dah-Ming Chiu and Raj Jain. Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Computer Networks and ISDN Systems, Vol. 17, No. 1, June 1989, pp. 1-14. 35