Advanced Computer Networks. Introduction



Similar documents
Advanced Computer Networks. Layer-7-Switching and Loadbalancing

Strategies. Addressing and Routing

Final for ECE374 05/06/13 Solution!!

Architecture and Performance of the Internet

Advanced Computer Networks. Scheduling

Transport and Network Layer

Network Security TCP/IP Refresher

Advanced Computer Networks. Datacenter Network Fabric

Computer Networks CS321

Overview of Computer Networks

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

Frequently Asked Questions

Operating Systems and Networks Sample Solution 1

Network Simulation Traffic, Paths and Impairment

Transport Layer Protocols

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

TCP in Wireless Mobile Networks

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

First Midterm for ECE374 02/25/15 Solution!!

QoS issues in Voice over IP

D1.2 Network Load Balancing

Chapter 5. Data Communication And Internet Technology

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

STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT

Networking Topology For Your System

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

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

17: Queue Management. Queuing. Mark Handley

High Performance VPN Solutions Over Satellite Networks

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

TFTP TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES

Mobile Communications Chapter 9: Mobile Transport Layer

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

WAN Data Link Protocols

Encapsulating Voice in IP Packets

Exam 1 Review Questions

TCP Offload Engines. As network interconnect speeds advance to Gigabit. Introduction to

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

Basic Multiplexing models. Computer Networks - Vassilis Tsaoussidis

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

How do I get to

Using TrueSpeed VNF to Test TCP Throughput in a Call Center Environment

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

Lecture 1: Course Introduction" CSE 222A: Computer Communication Networks Alex C. Snoeren

Improving Effective WAN Throughput for Large Data Flows By Peter Sevcik and Rebecca Wetzel November 2008

TCP/IP Protocol Suite. Marshal Miller Chris Chase

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

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

Improving our Evaluation of Transport Protocols. Sally Floyd Hamilton Institute July 29, 2005

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU

Computer Networks Homework 1

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

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

Testing & Assuring Mobile End User Experience Before Production. Neotys

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Network Performance: Networks must be fast. What are the essential network performance metrics: bandwidth and latency

Per-Flow Queuing Allot's Approach to Bandwidth Management

Storage at a Distance; Using RoCE as a WAN Transport

Visualizations and Correlations in Troubleshooting

Classes of multimedia Applications

Requirements for Simulation and Modeling Tools. Sally Floyd NSF Workshop August 2005

The Problem with TCP. Overcoming TCP s Drawbacks

TECHNICAL CHALLENGES OF VoIP BYPASS

VMWARE WHITE PAPER 1

TCP loss sensitivity analysis ADAM KRAJEWSKI, IT-CS-CE

SIP Trunking and Voice over IP

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

VOICE OVER IP AND NETWORK CONVERGENCE

A SENSIBLE GUIDE TO LATENCY MANAGEMENT

IP address format: Dotted decimal notation:

Question: 3 When using Application Intelligence, Server Time may be defined as.

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

IT4405 Computer Networks (Compulsory)

>>> SOLUTIONS <<< c) The OSI Reference Model has two additional layers. Where are these layers in the stack and what services do they provide?

Clearing the Way for VoIP

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

CH.1. Lecture # 2. Computer Networks and the Internet. Eng. Wafaa Audah. Islamic University of Gaza. Faculty of Engineering

Network Programming TDC 561

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

Chapter 1: Introduction

Requirements of Voice in an IP Internetwork

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Voice Over IP - Is your Network Ready?

12 Quality of Service (QoS)

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

The Case Against Jumbo Frames. Richard A Steenbergen <ras@gtt.net> GTT Communications, Inc.

Iperf Tutorial. Jon Dugan Summer JointTechs 2010, Columbus, OH

Lecture 28: Internet Protocols

Networking part 3: the transport layer

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

Improving Quality of Service

Module 1. Introduction. Version 2 CSE IIT, Kharagpur

15-441: Computer Networks Homework 2 Solution

MOBILITY AND MOBILE NETWORK OPTIMIZATION

Module 2 Overview of Computer Networks

Transcription:

Oriana Riva, Department of Computer Science ETH Zürich Advanced Computer Networks 263-3501-00 Introduction Patrick Stuedi, Qin Yin and Timothy Roscoe Spring Semester 2015

Information about the course http://www.systems.ethz.ch/courses/spring2014/acn The language of the course is English Who are we: Patrick: Qin: Mothy: Formerly ETH, now IBM Research Formerly ETH, now Google Prof. @ETH, Systems Group 2 2

Lab assignments Pravin Shinde You have 2 projects to do Programming exercises in C and Java In weeks with no lab work, there will be written exercises Exercises start this week! 3 3

Evaluation Projects: 20% Exam: 80% 4 4

Goals of this course 1. Fill in the gaps in the basic Operating Systems and Networking course at ETHZ (and similar courses elsewhere). 2. Understand in depth how data center networks work 3. Explore hot research area of data center networking 5

Motivation Increasing amount of computation, storage and communication taking place in a relatively small number of dense data centers (Picture: Facebook Prineville Data Center) 6

Motivation Many of the largest companies have their own data center (Picture: Walmart's data center) 7

Motivation Sophisticated packing, cabling, cooling, etc 8

Motivation Resources replicated across many data centers (Google's 36 worlwide data centers, 2008) 9

Course outline 1) Intro & Networking Principles I 2) Networking Principles II 3) Data Center Topologies 4) Traditional Data Center Architecture 5) New Data Center Architectures 6) Data Center TCP 7) Flow Control Easter Holidays 8) End Host Optimizations 9) Software Defined Networking 10) Virtual Machine Networking 11) Layer-7 Switching 12) Network Scheduling 13) Guest 10

Data center networking: important and active Field Networking key component for data center systems Data centers run distributed systems (e.g., Hadoop, Web applications, etc.) High pace of innovation Innovation driven by cloud computing Competition for cost, performance,... Data center is closed ecosystem Run your own optimized stack (e.g., custom TCP) 11

Assumptions You should know about: The Ethernet MAC protocol Packet switching and circuit switching TCP reliability mechanisms and congestion control HTTP, RPC and other application-layer protocols 12

Course material Mostly research papers Sigcomm, NSDI, etc. Book: Principles and Practices of Interconnection Networks (old, but good coverage of principles) 13

Performance (metrics, measuring, designing)

Two fundamental performance metrics 1. Bandwidth Roughly: bits transferred in unit time Also known as Throughput 2. Latency Time for 1 message to traverse the network Also known as Delay Difficult to measure (need clock synchronization) Easier: measure Round Trip Time (RTT) ~= 2 x Delay (often also called round trip latency) 15

Time to transfer an object (Ignoring queuing delay, processing, etc.) 16

Time to transfer an object (Ignoring queuing delay, processing, etc.) higher bandwidth latency becomes more important smaller object latency becomes more important 17

Example: request 1MB file over a 1Gb/s link, with 200ms RTT. What s the throughput? Throughput = (Transfer size) / (Transfer time) What s the transfer time? Transfer time = RTT + (Transfer size) / Bandwidth Request + first byte delay 18

Example: request 1MB file over a 1Gb/s link, with 200ms RTT. Transfer time = 0.2s + 8Mb/1Gbs = 0.208s So throughput = 8Mb / 0.208s = ~ 38.5Mb/s Hmm. 19

What s gone wrong here? File is too small? Round-trip time is too high? You can t reduce the latency Protocol buffers aren t large enough Adding bandwidth won t really help Moral 1: effectively using high bandwidth-delay product networks is hard Again: higher bandwidth latency becomes more important Moral 2: smaller as bandwidth object latency increases, becomes more latency importantis more important for performance. 20

Bandwidth/delay product What the sender can send before receiver sees anything Or must send to keep the pipe full Example: Latency = 200ms, Bandwidth = 40Gb/s channel memory = 8Gb, or 1 gigabyte Bandwidth Delay 21

TCP window size Recall TCP w bytes around until acked (sliding window) TCP moves w bytes every RTT: throughput = w / RTT What s the optimal window size w? Need to keep the pipe full: w = RTT x pipe bandwidth Example: 10Gb/s, 200ms RTT Gives: w ~ 200MB per connection Protocol limits: TCP window size without scaling 64kB TCP window size with RFC1323 scaling 1GB 22

TCP window size Recall TCP w bytes around until acked (sliding window) TCP moves w bytes every RTT: throughput = w / RTT What s the optimal window size w? Need to keep the pipe full: w = RTT x pipe bandwidth Example: 10Gb/s, 200ms RTT Gives: w ~ 200MB per connection Message: Protocol limits: Effectively using high bandwidth/delay product TCP window size without scaling 64kB Networks is difficult TCP window size with RFC1323 scaling 1GB 23

What are these high-bdp networks? Where is there high bandwidth? Datacenters! 40Gbps Ethernet 100Gbps Ethernet soon Where is there high delay? Between datacenters: 200ms not unusual 24

Protocol design impacts performance You Don't Know Jack about Network Performance Kevin Fall and Steve McCanne, 2005 Protocols which require many RTTs don t work well in the wide area. Example: Opening a network folder in Windows 2000 About 80 request/response pairs on average 200ms RTT (e.g. London-Redmond) more than 16 seconds delay Upgrading your network will not help! (and didn t ) 25

Application requirements 26

Application requirements Some applications can t use all the network Example: constant-bit-rate 320kbs MP3 streams Utility function: measure of how useful each network resource (bandwidth, latency, etc.) is to an application 27

Application utility functions Utility Infinitely large file transfer Bandwidth 28

Application utility functions Utility Real file transfer Bandwidth 29

Application utility functions Utility Constant bit rate stream (e.g. audio, video) Bandwidth 30

Application utility functions Utility Network-coded variable-bit-rate multimedia Bandwidth 31

Application requirements: burstiness Many applications are bursty Required network bandwidth varies over time Example: MapReduce Partition/Aggregate Pattern Challenges: Buffer overflow at switches Loss, TCP retransmissions Trade-off between utilization and performance Overprovisioning / Wasting Resources Underprovisioning / Performance degradation 32

Application requirements: jitter 1 2 3 4 5 Network 1 2 3 4 5 Equally-spaced Variance in end-to-end latency (or RTT) De-Jittering requires buffer and adds delay (example: VoIP) Jitter can also be introduced on purpose Application-level jittering to avoid synchronized bursts of packets from many clients (example: MapReduce) 33

Application requirements: loss Networks do, sometimes, lose packets. Loss is complex: Packet loss rate, Bit-error rate Losses and errors must be detected: Codes, sequence numbers, checksums Handled by: Error-correction Retransmission 34

Application requirements: loss Distance from server to user Network latency Typical packet loss Throughput (quality) 4GB DVD download time Local: <160 km 1.6ms 0.6% 44Mb/s (HDTV) 12 min. Regional: 800-1600km 16ms 0.7% 4Mbs (not quite DVD) 2.2 hrs. Cross-continent ~4800km 48ms 1.0% 1Mbs (not quite TV) 8.2 hrs. Multi-continent ~10000km 96ms 1.4% 0.4Mbs (poor) 20 hrs. Source: Improving Performance on the Internet, Tom Leighton, Communications of the ACM, February 2009. 35

Network design principles 36

Principles Naming Layering and modularity The Internet Hourglass The End-to-End argument Postel s Law: be conservative in what you send, liberal in what you accept Soft state vs. Hard state Fate-sharing 37

Naming at many layers HTTP URLs Domain names (FQDNs) Socket descriptors TCP port numbers IP addresses Protocol identifiers MAC addresses etc 38

Naming confusion Example: what does an IP address actually name? A computer? Many people seem to think so, but: Computers have several IP addresses at a time! 127.0.0.1 is always my computer My WiFi-enabled phone gets a new IP address every time I walk into the coffee shop If I m behind a NAT, my IP address doesn t mean much 39

Naming confusion Example: what does an IP address actually name? A network interface? But: 127.0.0.1 isn t a real interface One interface can have multiple IP addresses A computer might respond to ARPs on multiple interfaces for the same IP address And as before: IP addresses change, get reused, sit behind NATs 40

Naming confusion Example: what does an IP address actually name? A service? Surely not - IP is a network layer concept! But: In a datacenter many machines sit behind a single IP address TCP connections are load balanced across a web farm Transparent proxies intercept IP addresses of particular web sites 41

Naming confusion Example: what does an IP address actually name? A service? Surely not - IP is a network layer concept! But: In a datacenter many machines sit behind a single IP address TCP connections are load balanced across a web farm Transparent proxies intercept IP addresses of particular web sites Clearly some kind of disciplined is approach is needed to make sense of all this! 42

Basics: we need to name objects Socket clientsocket = new Socket("hostname", 6789); Give it a name Create a new object 43

Naming provides indirection DataOutputStream outtoserver = new DataOutputStream(clientSocket.getOutputStream()); Could be any socket we have now 44

Binding The association between a name and a value is called a binding. In most cases, the binding isn t immediately visible Most people miss it, or don t know it exists Often conflated with creating the value itself 45

A general model of naming Designer creates a naming scheme. 1. Name space: what names are valid? 2. Universe of values: what values are valid? 3. Name mapping algorithm: what is the association of names to values? Mapping algorithm also known as a resolver Requires a context 46

General model N1 N2 N3 N4 N5 N6 N7 Name mapping algorithm Foo Bar Gronk Baz Context A 47

Context Problem: binding might not be obvious under certain circumstances you, here, Ueli Maurer are names that require a context to be useful Any naming scheme must have 1 context Context may not be stated: always look for it! 48

Example naming scheme: virtual address space Name space: Virtual memory addresses (e.g. 64-bit numbers) Universe of values: Physical memory addresses (e.g. 64-bit numbers) Mapping algorithm: Translation via a page table Context: Page table root 49

Single vs. multiple contexts IPv4 addresses: E.g. 129.132.102.54 Connection-less Packet-oriented networks Single (global) context: routable from anywhere Well, sort of ATM virtual circuit/path identifiers Connection-oriented circuit-switched networks E.g., 43:4435 Local context: only available on a particular link/port Many contexts! 50

Network naming: Shoch's terminology Inter-Network Naming, Addressing and Routing, John Shoch, 1978 A name identifies what you want. An address identifies where it is. A route identifies a way to get there. Note that in this terminology, syntax (human readable, binary, etc.) is completely irrelevant! 51

Network naming: Saltzer's critisism On the Naming and Binding of Network Destinations, Jerome H. Saltzer, 1993 Classification into name, address and route is artificial Address is just another name Saltzer's view: Many different types of network destination objects (services, nodes, NICs, paths, etc.) Bindings among them 52

To talk to a service 1. Find a node on which the service is running Service name resolution 2. Find a network attachment point to which that node is connected Node name location 3. Find a path from this attachment point to that attachement point Routing, connection setup 53

The message Naming is complex! A clear model of naming (such as Saltzer s): Does help to understand real networks What is being named? What is its context? Is the name an identifier, or an address, or both? Does not correspond to real networks Real networks (particularly the Internet!) confuse and conflate different naming concepts 54

Next week More principles: Layering and modularity The Internet Hourglass The End-to-End argument Postel s Law (robustness principle) Soft state vs. Hard state Fate-sharing 55