CS 640: Introduction to Computer Networks

Slides:



Advertisements
Similar presentations
Intro (continued) and Design Principles Nick Feamster CS 3251: Computer Networking I Spring 2013.
Advertisements

1 Lecture 1 Introduction Dejian Ye Software School Fudan University Networking, Spring 2012.
James 1:5 If any of you lacks wisdom, he should ask God, who gives generously to all without finding fault, and it will be given to him.
Internet -- network of networks –network delivers packets (& locates nodes) –router (gateway) moves packets between networks –IP interoperability on top.
15-744: Computer Networking L-1 Intro to Computer Networks.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Data Communications and Networking
1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 1 Introduction
Introduction 1-1 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching,
CSx760 Computer Networks1 Introduction to Network Protocols Kang Li.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
Network Applications and Layered Architectures Protocols OSI Reference Model.
Computer Networking. 2 Outline 3 Objectives Understand the state-of-the-art in network protocols, architectures and applications Understand how networking.
1 Goals and Objectives Understand state-of-the-art in network protocols, architectures, and applications Process of networking research Constraints and.
Univ. of TehranComputer Network1 Computer Networks Computer Networks (Graduate level) University of Tehran Dept. of EE and Computer Engineering By: Dr.
Computer Networking Lecture 1 – Introduction 1.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 21.
1 Computer Networks Lecture 1 Introduction Rabie A. Ramadan, PhD.
Computer Networking Lecture 1 – Introduction.
William Stallings Data and Computer Communications
1 Lecture 1 Introduction David Andersen School of Computer Science Carnegie Mellon University Networking, Spring 2005
15-744: Computer Networking L-1 Intro to Computer Networks.
Computer Networking Lecture 1 – Introduction.
WAN Transmission Media
CSE 413: Computer Network Circuit Switching and Packet Switching Networks Md. Kamrul Hasan
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
Data Communications Chapter 1 – Data Communications, Data Networks, and the Internet.
Data and Computer Communications Chapter 7 Circuit Switching and Packet Switching.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Muhammad Waseem Iqbal Lecture # 20 Data Communication.
Chapter 2 PHYSICAL LAYER.
CS 5565 Network Architecture and Protocols
Introduction to Networks
Packet Switching Networks & Frame Relay
Lecture (2).
Graciela Perera Introduction Graciela Perera
Point-to-Point Network Switching
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
Slides taken from: Computer Networking by Kurose and Ross
A Taxonomy of Communication Networks
Click to edit Master subtitle style
CS4470 Computer Networking Protocols
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Telemedicine.
15-744: Computer Networking
CS 268: Computer Networking
CS 5565 Network Architecture and Protocols
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
CS 1652 Jack Lange University of Pittsburgh
Introduction to Networks
September 19th, 2013 CS1652 Jack Lange University of Pittsburgh
I. Basic Network Concepts
ECE 4450:427/527 - Computer Networks Spring 2017
Computer Science 457 Networking and the Internet
Network Core and QoS.
Process-to-Process Delivery:
CS Lecture 2 Network Performance
15-744: Computer Networking
Data Communication Networks
Switching Techniques.
Advanced Computer Networks
Building A Network: Cost Effective Resource Sharing
Introduction and Overview
Optical communications & networking - an Overview
15-744: Computer Networking
Process-to-Process Delivery: UDP, TCP
Chapter 3 Transport Layer
Intro to Computer Networks
Network Basics and Architectures Neil Tang 09/05/2008
Network Core and QoS.
Presentation transcript:

CS 640: Introduction to Computer Networks Aditya Akella Lecture 1 Introduction

Today… Administrivia Whirlwind tour of networking!

Administrative Details Instructors Aditya Akella akella@cs.wisc.edu Office: #7379, 890-0122 Teaching assistant Ashutosh Shukla shukla@cs.wisc.edu Course web page http://www.cs.wisc.edu/~akella/CS640/F06/ News, lecture notes (morning of the lecture), readings… Office hours Aditya: T 1:30 to 3:00PM Ashutosh: F 1:30 to 3:00PM

Goals Understand principles and practice of networking Learn how network applications work; Learn to write applications that use the network Hands-on approach to understand network internals Make you ready for a career in networking!

Format ~25 lectures 4 paper/lab homeworks 3 programming assignments Readings before lectures 4 paper/lab homeworks Loosely tied to lecture material 3 programming assignments Group projects (groups of two) Get an early start Evaluation by demos Midterm and final Actually, two midterms Roughly equal weight

Grading Split Must pass both assignments and tests! 35% for Programming assignments 20% for Homework 20% for Midterm 25% for Final exam Roughly equal weight in assignments and exams Must pass both assignments and tests!

Collaboration & Late Submission Working together is encouraged Discussion of course material, debugging issues, .. But final submission must be your own work! Homeworks, midterm, final Programming assignments: Teams of two Both must contribute! Collaboration, group skills Late penalty: 10% per day No more than 2 days late

Today… Administrivia Whirlwind tour of networking!

Goal of Networking Enable communication between network applications on different end-points End-points? computers, cell phones…. Application? Web, Peer to Peer, Streaming video, IM Communication? transfer bits or information across a “network” Network must understand application needs/demands What data rate? Traffic pattern? (bursty or constant bit rate) Traffic target? (multipoint or single destination, mobile or fixed) App sensitivity? (to delay, “jitter”, loss) Difficulty: Network may not know these in the first place! How does the application “use” the network? Peer to peer: how to find nearest host Web: how to modulate sending rate? Coexist with other users/apps?

Defining a “Network” Network = nodes + links Will build on this soon Intentionally vague. There are several different networks: The Internet Wisc CS network Telephone network Home wireless networks Others – sensor nets, “On Star”, cellular networks Our focus on Internet Also explore important common issues and challenges

Common Principles  Challenges for Networking Accommodate different geographic scopes The Internet vs. home network Enable scale CS network vs. the Internet Seamlessly integrate different application types Email vs. video conferencing Independent administration and Trust Corporate network – owned by one entity Internet owned and managed by 17,000 network providers Independent, conflicting interests

Network Building Block: Links Node Link Node “Physical”-layer questions Wired or wireless Voltage (Electrical) or wavelength (optical) “Link”-layer issues: How to send data? Medium access – can either side talk at once? Data format?

Basic Building Block: Links … But what if we want more hosts? How many additional wires per host? Scalability? Wires for everybody? How many wires?

Key Idea: Multiplexing Multiplex: share network resources Resources need “provisioning” Grow at slower rate than number of nodes How to share? Switched network Party “A” gets resources sometimes Party “B” gets them sometimes Interior nodes act as “Switches” A B

Circuit Switching Source first establishes a circuit to destination Switches along the way stores info about connection Possibly allocate resources Different srs-dst’s get different paths Source sends the data over the circuit No address required since path is established beforehand The connection is explicitly set up and torn down Switches use TDM (digital) or FDM (analog) to transmit data from various circuits

Switching in the Telephone Network

Circuit Switching Discussion Positives Fast and simple data transfer, once the circuit has been established Predictable performance since the circuit provides isolation from other users E.g. guaranteed max bandwidth Negatives How about bursty traffic Circuit will be idle for significant periods of time Also, can’t send more than max rate Circuit set-up/tear down is expensive Also, reconfiguration is slow Fast becoming a non-issue

Packet Switching Source sends information as self-contained packets Packets have an address. Source may have to break up single message in multiple packets Packets travel independently to the destination host Switches use the address in the packet to determine how to forward the packets “Store and forward” Analogy: a letter in surface mail

Benefits of Statistical Multiplexing TDM: Flow gets chance in fixed time-slots SM: Flow gets chance on demand; no need to wait for slot Packets Better Link Utilization

Packets vs. Circuits Efficient Contention (i.e. no isolation) Can send from any input that is ready No notion of wastage of resources that could be used otherwise Contention (i.e. no isolation) Congestion Delay Accommodates bursty traffic But need packet buffers Address look-up and forwarding Need optimization Packet switching pre-dominant Circuit switching used on large time-scales, low granularities

Internetwork Internet[work] A collection of interconnected networks Networks: Different depts, labs, etc. Router: node that connects distinct networks Host: network endpoints (computer, PDA, light switch, …) Together, an independently administered entity Enterprise, ISP, etc. Internet[work] CS EE ME

Internetwork Challenges Many differences between networks Address formats Performance – bandwidth/latency Packet size Loss rate/pattern/handling Routing How to translate and inter-operate? Internet[work] ATM Frame relay 802.3

“The Internet” Internet vs. internet The Internet: the interconnected set of networks of the Internet Service Providers (ISPs) and end-networks, providing data communications services. Network of internetworks, and more About 17,000 different ISP networks make up the Internet Many other “end” networks 100,000,000s of hosts

Challenges of the Internet Scale & Heterogeneity 18,000+ independently administered domains Thousands of different applications Lots of users/hosts Fast links, slow links, satellite links, cellular links, carrier pigeons Diversity of network technologies Commercialization: different vendors, different features/formats Adversarial environment Users/network operators could be malicious, or just buggy All participating networks have to follow a common set of rules To avoid anarchy; but rules must be minimal and not stifle growth Oh, and let’s make it easy to use… Should support any application; minimal involvement of users…

Some Key “Internet” Design Issues Computer 1 Computer 2 Need: (1) naming, (2) addressing and (3) routing (4) …

Key Issues: Naming/Addressing What’s the address for www.wisc.edu? It is 144.92.104.243 Computer 1 Local DNS Server Translates human readable names to logical endpoints

Routers send packet towards destination Key Issues: Routing Routers send packet towards destination H R H R H R R R R H R H: Hosts R: Routers R H

Key Issues: Network Service Model What is the service model? Defines what to expect from the network Best-effort: packets can get lost, no guaranteed delivery What if you want more? Performance guarantees (QoS) Reliability Corruption Lost packets In-order delivery for file chunks Etc…

What if the Data gets Corrupted? Problem: Data Corruption GET index.html GET inrex.html Internet Solution: Add a checksum X 0,9 9 6,7,8 21 4,5 7 1,2,3 6

What if Network is Overloaded? Problem: Network Overload Solution: Buffering and Congestion Control Short bursts: buffer What if buffer overflows? Packets dropped Sender adjusts rate until load = resources  “congestion control”

What if the Data gets Lost? Problem: Lost Data GET index.html Internet Solution: Timeout and Retransmit GET index.html GET index.html Internet GET index.html

What if the Data Doesn’t Fit? Problem: Packet size On Ethernet, max packet is 1.5KB Typical web page is 10KB Solution: Fragment data across packets ml x.ht inde GET GET index.html

What if Data is Out of Order? Problem: Out of Order ml inde x.ht GET GET x.htindeml Solution: Add Sequence Numbers ml 4 inde 2 x.ht 3 GET 1 GET index.html

Meeting Application Demands Sometimes network can do it E.g., Quality of Service Benefits of circuit switching in packet-switched net Hard in the Internet, easy in restricted contexts Lecture 20 OR hosts can do it E.g., end-to-end Transport protocols TCP performs end-to-end retransmission of lost packets to give the illusion of a reliable underlying network. Lectures 16-19

To Summarize… Networks implement many functions Links Sharing/Multiplexing Routing Addressing/naming Reliability Flow control Fragmentation Etc….

Next Lecture Split of functionality Across protocol layers Across network nodes/entities