CSCI-1680 :: Computer Networks

Similar documents
Computer Networks and the Internet

Networks class CS144 Introduction to Computer Networking Goal: Teach the concepts underlying networks Prerequisites:

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

Protocols. Packets. What's in an IP packet

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

Strategies. Addressing and Routing

The OSI & Internet layering models

Computer Networks CS321

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?

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

Lecture 28: Internet Protocols

IT4405 Computer Networks (Compulsory)

Introduction: Why do we need computer networks?

Overview of Computer Networks

What is this Course All About

Network Security. Vorlesung Kommunikation und Netze SS 10 E. Nett

CPS221 Lecture: Layered Network Architecture

R2. The word protocol is often used to describe diplomatic relations. How does Wikipedia describe diplomatic protocol?

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

Layered protocol (service) architecture

The OSI and TCP/IP Models. Lesson 2

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

Final for ECE374 05/06/13 Solution!!

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

COS 461: Computer Networks

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

CSCI Topics: Internet Programming Fall 2008

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

Introduction to Computer Networks

CSE 473s Introduction to Computer Networks

AERONAUTICAL COMMUNICATIONS PANEL (ACP) ATN and IP

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

IT Data Communication and Networks (Optional)

Computer Networks & Security 2014/2015

CSE 3461 / 5461: Computer Networking & Internet Technologies

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

Architecture and Performance of the Internet

Kick starting science...

Life of a Packet CS 640,

Introduction to computer networks and Cloud Computing

Address Resolution Protocol (ARP)

Multiplexing on Wireline Telephone Systems

Data Communication Networks and Converged Networks

1 Introduction to mobile telecommunications

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

Chapter 9. IP Secure

Chapter 1: Introduction

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

How To Use A Network Over The Internet (Networking) With A Network (Netware) And A Network On A Computer (Network)

LESSON Networking Fundamentals. Understand TCP/IP

TCP/IP Protocol Suite. Marshal Miller Chris Chase

Communications and Computer Networks

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

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

WAN Data Link Protocols

Zarządzanie sieciami telekomunikacyjnymi

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

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Network Edge and Network Core

Analog vs. Digital Transmission

Objectives of Lecture. Network Architecture. Protocols. Contents

3.1 TELECOMMUNICATIONS, NETWORKS AND THE INTERNET

CDA Introduction to Computer Networks

Transport Layer Protocols

Solving the Big Dilemma of Big Data

Introduction Chapter 1. Uses of Computer Networks

Chapter 5. Data Communication And Internet Technology

How To Understand The Internet Of S (Netware)

Internet Concepts. What is a Network?

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

WAN Technology. Heng Sovannarith

: Instructor

Chapter 2 - The TCP/IP and OSI Networking Models

Internet Protocol: IP packet headers. vendredi 18 octobre 13

How To Understand The Layered Architecture Of A Network

What is Network Latency and Why Does It Matter?

How do I get to

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

CMPSCI 453 Computer Networking. Professor V. Arun Department of Computer Science University of Massachusetts Amherst

How To Design A Layered Network In A Computer Network

Objectives. Lecture 4. How do computers communicate? How do computers communicate? Local asynchronous communication. How do computers communicate?

Introduction cont. Some Structure in the Chaos. Packet switching versus circuit switching. Access networks and physical media

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

Mathatma Gandhi University

Internet structure: network of networks

CSCI 362 Computer and Network Security

Introduction to Computer

Computer Networks Homework 1

Chapter 1 Computer Networks and the Internet

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

EXPLORER. TFT Filter CONFIGURATION

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

Protocols and Architecture. Protocol Architecture.

CS 5480 Computer Networks

Computer Networks. A Top-Down Approach. Behrouz A. Forouzan. and. Firouz Mosharraf. \Connect Mc \ Learn. Hill

Transcription:

CSCI-1680 :: Computer Networks Rodrigo Fonseca (rfonseca) http://www.cs.brown.edu/courses/cs168! cs168tas@cs.brown.edu! Based partly on lecture notes by David Mazières, Phil Levis, John Janno<, Peterson & Davie

Cast Instructor: Rodrigo Fonseca (rfonseca) GTA: Andrew Ferguson (adf) HTA: Son Nguyen (sbnguyen) UTA: Osmar Olivo (oolivo) Email: cs168tas@cs.brown.edu (all of us)

Overview Goal: learn concepts underlying networks How do networks work? What can one do with them? Gain a basic understanding of the Internet Gain experience writing protocols Tools to understand new protocols and applications

Prerequisites CSCI-0320/CSCI-0360 (or equivalent). We assume basic OS concepts (kernel/user, threads/ processes, I/O, scheduling) Low-level programming or be willing to learn quickly threads, locking, explicit memory management, We allow any* language, but really support only C You will be bit twiddling and byte packing

Administrivia All assignments will be on the course page http://www.cs.brown.edu/courses/cs168/s11! Text: Peterson and Davie, Computer Networks - A Systems Approach, 4 th Edition You are responsible to check the web page! All announcements will be there Textbook chapters corresponding to lectures: read them before class Handouts, due dates, programming resources, etc Subject to change (reload before checking assignments)

Grading Exams: Midterm (15%) and Final (25%) Homework: Four written assignments (20%) Short answer and design questions 4 Programming Projects (40%) User level networking: streaming music server IP, as an overlay, on top of UDP TCP, on top of your IP Final (TBD, we will solicit your input)

Networks What is a network? System of lines/channels that interconnect E.g., railroad, highway, plumbing, postal, telephone, social, computer Computer Network Moves information Nodes: general-purpose computers (most nodes) Links: wires, fiber optics, EM spectrum, composite

Why Study Computer Networks? Many nodes are general-purpose computers Very easy to innovate and develop new uses of the network: you can program the nodes Contrast with the ossified Telephone network: Can t program most phones Intelligence in the network, control by parties vested in the status quo,

Growth of the Internet Source: Miguel Angel Todaro

Source: Facebook

Traceroute map of the Internet, ~5 million edges, circa 2003. opte.org

Why should you take this course? Networks are cool! Incredible impact: social, economic, political, educational, Incredible complexity Continuously changing and evolving Any fact you learn will be inevitably out of date Learn general underlying principles Learn to program the network

Roadmap Assignments: learn by implementing Warm up: Snowcast, a networked music server Get a feel for how applications use the network Build knowledge from the ground up Link individual nodes Local networks with multiple nodes IP: Connect hosts across several networks Transport: Connect processes on different hosts Applications A few cross-cutting issues Security, multimedia, overlay networks, P2P

Two-minutes for stretching

Building Blocks Nodes: Computers (hosts), dedicated routers, Links: Coax, twisted pair, fiber, radio, (a) Physical Layer: Several questions: Voltage, frequency Wired, wireless (b) Link Layer: how to send data? When to talk What to say (format, language ) Stay tuned for lectures 3 and 4

How to connect more nodes? (a) (a) (a) (b) (a) (a) (b) (b) Shared medium (b) (b) (a) (a) (b) (b) Multiple wires

From Links to Networks To scale to more nodes, use switching Nodes can connect to multiple other nodes Recursively, one node can connect to multiple networks

Switching Strategies Circuit Switching virtual link between two nodes Set up circuit (e.g. dialing, signaling) may fail: busy Transfer data at known rate Tear down circuit Packet Switching Forward bounded-size messages. Each message can have different senders/receivers Focus of this class Analogy: circuit switching reserves the highway for a crosscountry trip. Packet switching interleaves everyone s cars.

Multiplexing L1 R1 L2 Switch 1 Switch 2 R2 L3 R3 What to do when multiple flows must share a link?

STDM STDM Frames Slots: 1 2 3 4 5 6 1 2 3 4 5 6 Synchronous time-division multiplexing Synchronous time-division multiplexing Divide - time time into into equal-sized sizedquanta, round round-robin robin Illusion - Provide of illusion direct link of direct for switched link forcircuit circuitnet switched net But wastes capacity if not enough flows - But also wastes capacity if not enough flows Also doesn t degrade gracefully when more flows than slots - And doesn t degrade gracefully when flows > slots

FDM Frequency-division multiplexing: allocates a frequency band for each flow Same TV channels and radio stations Similar drawbacks to STDM Wastes bandwidth if someone not sending Can run out of spectrum

Statistical Multiplexing Idea: like STDM but with no pre-determined time slots (or order!) Maximizes link utilization Link is never idle if there are packets to send

Statistical Multiplexing Cons: Hard to guarantee fairness Unpredictable queuing delays Packets may take different paths

Protocol Layering Protocol layering Application TCP UDP IP Link Layer Can view network encapsulation as a stack A network packet from A to D must be put in link packets A to B, B, to C, C to D A network packet from A to D must be put in link packets A to B, B to C, and C to D Can view this encapsulation as a stack of layers - Each layer produces packets that become the payload of the Each layer produces packets that become the payload lower-layer s of the packets layer s packets - This is almost correct, but TCP/UDP cheat to detect certain errors in IP-level information like address

OSI Reference Model End host End host Application Application Presentation Presentation Session Session Transport Transport Network Network Network Network Data link Data link Data link Data link Physical Physical Physical Physical One or more nodes within the network

Layers Physical sends individual bits Data Link sends frames, handles media access Network sends packets, using routing Transport demultiplexes, provides reliability, flow and congestion control Session can tie together multiple streams (e.g., audio & video) Presentation crypto, conversion between representations Application what the users sees, e.g., HTTP

Addressing Each node typically has a unique* name When that name also tells you how to get to the node, it is called an address Each layer can have its own naming/addressing Routing is the process of finding a path to the destination In packet switched networks, each packet must have a destination address For circuit switched, use address to set up circuit Special addresses can exist for broadcast/multicast/ anycast * or thinks it does, in case there is a shortage

Internet Protocol (IP) Used by most computer networks today Runs over a variety of physical networks, can connect Ethernet, wireless, modem lines, etc. Every host has a unique 4-byte IP address (IPv4) E.g., www.cs.brown.edu 128.148.32.110 e network knows how to route a packet to any address Need more to build something like the Web Need naming (DNS) Interface for browser and server so ware (next lecture) Need demultiplexing within a host: which packets are for web browser, Skype, or the mail program?

Inter-process Communication Host Host Application Host Channel Application Host Host Talking from host to host is great, but we want abstraction of inter-process communication Solution: encapsulate another protocol within IP

Transport: UDP and TCP UDP and TCP most popular protocols on IP Both use 16-bit port number & 32-bit IP address Applications bind a port & receive traffic on that port UDP User (unreliable) Datagram Protocol Exposes packet-switched nature of Internet Sent packets may be dropped, reordered, even duplicated (but there is corruption protection) TCP Transmission Control Protocol Provides illusion of reliable pipe or stream between two processes anywhere on the network Handles congestion and flow control

Uses of TCP Most applications use TCP Easier to program (reliability is convenient) Automatically avoids congestion (don t need to worry about taking down the network Servers typically listen on well-know ports: SSH: 22 SMTP (email): 25 Finger: 79 HTTP (web): 80

Internet Layering Application TCP UDP IP Network Strict layering not required TCP/UDP cheat to detect certain errors in IP-level information like address Overall, allows evolution, experimentation

IP as the Narrow Waist FTP HTTP NV TFTP TCP UDP IP Many applications protocols on top of UDP & TCP IP works over many types of networks is is the Hourglass architecture of the Internet. If every network supports IP, applications run over many different networks (e.g., cellular network) NET 1 NET 2 NET n

Coming Up Next class: how do applications use the network? Introduction to programming with Sockets Peterson & Davie 1.4 Beej s Guide to Network Programming (link on the course website) en We start our journey up the network stack, starting from how two computers can talk to each other. Remember: start your projects now!