Welcome to CS 340 Introduction to Computer Networking.

44
Welcome to CS 340 Introduction to Computer Networking
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    1

Transcript of Welcome to CS 340 Introduction to Computer Networking.

Page 1: Welcome to CS 340 Introduction to Computer Networking.

Welcome to CS 340Introduction to

Computer Networking

Page 2: Welcome to CS 340 Introduction to Computer Networking.

Some slides are in courtesy of J. Kurose and K. Ross

Overview

• Course Administrative Trivia

• Internet Architecture

• Network Protocols

• Network Edge

• A taxonomy of communication networks

Page 3: Welcome to CS 340 Introduction to Computer Networking.

• Top-down Intro Networking Class

– Application down to physical layer

• Small Class

– More attention to each student

• Topics to Cover

– Overview of Internet architecture, protocols

– Network applications (HTTP, FTP) and programming

– Transport (TCP, UDP), congestion/flow control

– Network (IP), routing, multicast

– Data Link, error handling, LAN, wireless

Course Overview

Page 4: Welcome to CS 340 Introduction to Computer Networking.

Logistics• Instructor

Yan Chen ([email protected]),

Office Hours: Th. 2-4pm or by appointment, Rm 330, 1890 Maple Ave.

• TA

Ashish Gupta ([email protected]) Office Hours: Tu. and Th. 11am - noon(12pm), Rm 240, Maple Ave.

Page 5: Welcome to CS 340 Introduction to Computer Networking.

Prerequisites

• A LOT OF WORK – Heavy Projects

– Build a TCP stack and a Web server that runs on it

– IP routing

• Required: CS311 (data structure)

• Highly Recommended: OS or having some familiarity with Unix systems programming, preferably in C or C++

– Minet is in C++ / STL

– BUILDING software is 50% of the grade of this class

Page 6: Welcome to CS 340 Introduction to Computer Networking.

Course Materials

• Computer Networking: A Top-Down Approach Featuring the Internet, Second Edition, James Kurose and Keith Ross, Addison Wesley, 2002

• TCP/IP Illustrated, Volume I: The Protocols, Richard Stevens, Addison Wesley, 1994

• See course webpage and syllabus for other recommended books and references

Page 7: Welcome to CS 340 Introduction to Computer Networking.

Grading• Homeworks (4 sets) 10%

• Projects 50%

– Web client/server 10%

– TCP stack 25%

– IP routing 15%

• Midterm 20%

• Final 20%

– Exams in-class, closed-book, non-cumulative

• Late policy: 10% each day after the due date

• No cheating

Page 8: Welcome to CS 340 Introduction to Computer Networking.

Communication• Web page:

http://www.cs.nwu.edu/~ychen/classes/cs340/

• Recitation: Wed., 4-5pm, Room 381, 1890 Maple.

– TA lectures on the homework and projects, and help to prepare the exams.

• Newsgroup are available

– cs.340.annouce (course announcement)

– cs.340.discuss (posting Q & A)

• Send emails to instructor and TA for questions inappropriate in newsgroup

Page 9: Welcome to CS 340 Introduction to Computer Networking.

Overview

• Course administrative trivia

• Internet Architecture

• Network Protocols

• Network Edge

• A taxonomy of communication networks

Page 10: Welcome to CS 340 Introduction to Computer Networking.

What’s the Internet: “nuts and bolts” view

• Millions of connected computing devices: hosts, end-systems

– PCs, servers

– PDAs, phones, toasters, shoes

running network apps

• Communication links

– Fiber, cable, radio, satellite

– Residential access: modem, DSL, cable modem, satellite

– Transmission rate = bandwidth

• Routers: forward packets (chunks of data)

local ISP

companynetwork

regional ISP

router workstation

servermobile

Page 11: Welcome to CS 340 Introduction to Computer Networking.

Network Components (Examples)

Fibers

Coaxial Cable

Links Interfaces Switches/routers

Ethernet card

Wireless card

Large router

Telephoneswitch

Page 12: Welcome to CS 340 Introduction to Computer Networking.

What’s the Internet: “nuts and bolts” view

• protocols control sending, receiving of msgs

– e.g., TCP, IP, HTTP, FTP

• Internet: “network of networks”

– loosely hierarchical

– public Internet versus private intranet

• communication infrastructure enables distributed applications:

– Web, email, games, e-commerce, database., voting, file (MP3) sharing

local ISP

companynetwork

regional ISP

router workstation

servermobile

Page 13: Welcome to CS 340 Introduction to Computer Networking.

History of the Internet• 70’s: started as a research project, 56 kbps, < 200

computers

• 80-83: ARPANET and MILNET split

• 85-86: NSF builds NSFNET as backbone, links 6 Supercomputer centers, 1.5 Mbps, 10,000 computers

• 87-90: link regional networks, NSI (NASA), ESNet(DOE), DARTnet, TWBNet (DARPA), 100,000 computers

• 90-92: NSFNET moves to 45 Mbps, 16 mid-level networks

• 95: NSF backbone dismantled, multiple private backbones

• Today: backbones run at 10 Gbps, close to 200 millions computers in 150 countries

Page 14: Welcome to CS 340 Introduction to Computer Networking.

Growth of the Internet• Number of Hosts on

the Internet:

Aug. 1981 213

Oct. 1984 1,024

Dec. 1987 28,174

Oct. 1990 313,000

Oct. 1993 2,056,000

Apr. 1995 5,706,000

Jan. 1997 16,146,000

Jan. 1999 56,218,000

Jan. 2001 109,374,000

Jan 2003 171,638,297

1

10

100

1000

10000

100000

1000000

10000000

100000000

1000000000

19811984198719901993199619992002

Data available at: http://www.isc.org/

Page 15: Welcome to CS 340 Introduction to Computer Networking.

Backbone (Teleglobe)

Page 16: Welcome to CS 340 Introduction to Computer Networking.

Overview

• Course administrative trivia

• Internet Architecture

• Network Protocols

• Network Edge

• A taxonomy of communication networks

Page 17: Welcome to CS 340 Introduction to Computer Networking.

What’s a protocol?human protocols:

• “what’s the time?”

• “I have a question”

• introductions

… specific msgs sent

… specific actions taken when msgs received, or other events

network protocols:

• machines rather than humans

• all communication activity in Internet governed by protocols

protocols define format, order of msgs sent and

received among network entities, and actions taken on msg transmission, receipt

Page 18: Welcome to CS 340 Introduction to Computer Networking.

What’s a protocol?a human protocol and a computer network protocol:

Hi

Hi

Got thetime?

2:00

TCP connection req

TCP connectionresponseGet http://www.cs.nwu.edu

<file>time

Page 19: Welcome to CS 340 Introduction to Computer Networking.

Overview

• Course administrative trivia

• Internet Architecture

• Network Protocols

• Network Edge

• A taxonomy of communication networks

Page 20: Welcome to CS 340 Introduction to Computer Networking.

The Network Edge• End systems (hosts):

– run application programs

– e.g. Web, email

– at “edge of network”

• Client/server model

– client host requests, receives service from always-on server

– e.g. Web browser/server; email client/server

• Peer-to-peer model:

– minimal (or no) use of dedicated servers

– e.g. Gnutella, KaZaA

Page 21: Welcome to CS 340 Introduction to Computer Networking.

Network Edge: Connection-oriented Service

Goal: data transfer between end systems

• handshaking: setup (prepare for) data transfer ahead of time

– Hello, hello back human protocol

– set up “state” in two communicating hosts

• TCP - Transmission Control Protocol

– Internet’s connection-oriented service

TCP service [RFC 793]

• reliable, in-order byte-stream data transfer

– loss: acknowledgements and retransmissions

• flow control:

– sender won’t overwhelm receiver

• congestion control:

– senders “slow down sending rate” when network congested

Page 22: Welcome to CS 340 Introduction to Computer Networking.

Network Edge: Connectionless Service

Goal: data transfer between end systems

– same as before!

• UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service

– unreliable data transfer

– no flow control

– no congestion control

App’s using TCP:

• HTTP (Web), FTP (file transfer), Telnet (remote login), SMTP (email)

App’s using UDP:

• streaming media, teleconferencing, DNS, Internet telephony

Page 23: Welcome to CS 340 Introduction to Computer Networking.

Overview

• Course administrative trivia

• Internet Architecture

• Network Protocols

• Network Edge

• A taxonomy of communication networks

Page 24: Welcome to CS 340 Introduction to Computer Networking.

• The fundamental question: how is data transferred through net (including edge & core)?

• Communication networks can be classified based on how the nodes exchange information:

A Taxonomy of Communication Networks

Communication Networks

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

TDM FDM

Page 25: Welcome to CS 340 Introduction to Computer Networking.

• Broadcast communication networks– Information transmitted by any node is received by

every other node in the network• Examples: usually in LANs (Ethernet, Wavelan)

– Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem)

• Switched communication networks– Information is transmitted to a sub-set of designated

nodes• Examples: WANs (Telephony Network, Internet)

– Problem: how to forward information to intended node(s) • This is done by special nodes (e.g., routers, switches) running

routing protocols

Broadcast vs. Switched Communication Networks

Page 26: Welcome to CS 340 Introduction to Computer Networking.

• The fundamental question: how is data transferred through net (including edge & core)?

• Communication networks can be classified based on how the nodes exchange information:

A Taxonomy of Communication Networks

Communication Networks

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

TDM FDM

Page 27: Welcome to CS 340 Introduction to Computer Networking.

Circuit-Switched Network

End-end resources reserved for “call”

• Link bandwidth, switch capacity

• Three phases

1. circuit establishment

2. data transfer

3. circuit termination

• Dedicated resources

+ Guaranteed performance

- no sharing

Page 28: Welcome to CS 340 Introduction to Computer Networking.

Circuit SwitchingExamples

• Telephone networks

• ISDN (Integrated Services Digital Networks)

network resources (e.g., bandwidth) divided into “pieces”

• Pieces allocated to calls

• Resource piece idle if not used by owning call (no sharing)

• Dividing link bandwidth into “pieces”

– frequency division

– time division

Page 29: Welcome to CS 340 Introduction to Computer Networking.

Circuit Switching: FDM and TDM

FDM

frequency

time

TDM

frequency

time

4 users

Example:

Page 30: Welcome to CS 340 Introduction to Computer Networking.

• The fundamental question: how is data transferred through net (including edge & core)?

• Communication networks can be classified based on how the nodes exchange information:

A Taxonomy of Communication Networks

Communication Networks

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

TDM FDM

Page 31: Welcome to CS 340 Introduction to Computer Networking.

Packet Switching• Data is sent as formatted bit-sequences (Packets)

• Packets have the following structure:

– Header and Trailer carry control information (e.g., destination address, check sum)

• Each packet traverses the network from node to node along some path (Routing)

• At each node the entire packet is received, stored briefly, and then forwarded to the next node (Store-and-Forward Networks)

• No dedicated allocation or resource reservation

Header Data Trailer

Page 32: Welcome to CS 340 Introduction to Computer Networking.

Packet Switching: Statistical Multiplexing

Sequence of A & B packets does not have fixed pattern statistical multiplexing.

In TDM each host gets same slot in revolving TDM frame.

A

B

C10 MbsEthernet

1.5 Mbs

D E

statistical multiplexing

queue of packetswaiting for output

link

Page 33: Welcome to CS 340 Introduction to Computer Networking.

Packet Switching versus Circuit Switching

• 1 Mbit link

• Each user:

– 100 kbps when “active”

– active 10% of time

• Circuit-switching:

– 10 users

• Packet switching:

– with 35 users, probability > 10 active less than .0004

Packet switching allows more users to use network!

N users

1 Mbps link

Page 34: Welcome to CS 340 Introduction to Computer Networking.

Packet Switching versus Circuit Switching

• Great for bursty data

– resource sharing

– simpler, no call setup

• Excessive congestion: packet delay and loss

– protocols needed for reliable data transfer, congestion control

• Q: How to provide circuit-like behavior?

– bandwidth guarantees needed for audio/video apps

– still an unsolved problem (chapter 6)

Page 35: Welcome to CS 340 Introduction to Computer Networking.

• The fundamental question: how is data transferred through net (including edge & core)?

• Communication networks can be classified based on how the nodes exchange information:

A Taxonomy of Communication Networks

Communication Networks

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

TDM FDM

Page 36: Welcome to CS 340 Introduction to Computer Networking.

Datagram Packet Switching

• Each packet is independently switched

– Each packet header contains destination address which determines next hop

– Routes may change during session

• No resources are pre-allocated (reserved) in advance

• Example: IP networks

Page 37: Welcome to CS 340 Introduction to Computer Networking.

Packet 1

Packet 2

Packet 3

Packet 1

Packet 2

Packet 3

Timing of Datagram Packet Switching

Packet 1

Packet 2

Packet 3

processing

delay of Packet 1 at Node 2

Host 1 Host 2Node

1Node

2

propagationdelay betweenHost 1 and Node 2

transmission time of Packet 1at Host 1

Page 38: Welcome to CS 340 Introduction to Computer Networking.

Datagram Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

Page 39: Welcome to CS 340 Introduction to Computer Networking.

• The fundamental question: how is data transferred through net (including edge & core)?

• Communication networks can be classified based on how the nodes exchange information:

A Taxonomy of Communication Networks

Communication Networks

SwitchedCommunication

Network

BroadcastCommunication

Network

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

TDM FDM

Page 40: Welcome to CS 340 Introduction to Computer Networking.

Virtual-Circuit Packet Switching

• Hybrid of circuit switching and packet switching

– All packets from one packet stream are sent along a pre-established path (= virtual circuit)

– Each packet carries tag (virtual circuit ID), tag determines next hop

• Guarantees in-sequence delivery of packets

• However, packets from different virtual circuits may be interleaved

• Example: ATM (Asynchronous Transfer Mode) networks

Page 41: Welcome to CS 340 Introduction to Computer Networking.

Virtual-Circuit Packet Switching

• Communication with virtual circuits takes place in three phases

1. VC establishment

2. data transfer

3. VC disconnect

• Note: packet headers don’t need to contain the full destination address of the packet

Page 42: Welcome to CS 340 Introduction to Computer Networking.

Packet 1

Packet 2

Packet 3

Packet 1

Packet 2

Packet 3

Timing of Virtual-Circuit Packet Switching

Packet 1

Packet 2

Packet 3

Host 1 Host 2Node

1Node

2

propagation delay between Host 1 and Node 1VC

establishment

VCtermination

Datatransfer

Page 43: Welcome to CS 340 Introduction to Computer Networking.

Virtual-Circuit Packet Switching

Host A

Host BHost E

Host D

Host C

Node 1 Node 2

Node 3

Node 4

Node 5

Node 6 Node 7

Page 44: Welcome to CS 340 Introduction to Computer Networking.

Summary• Course Administrative Trivia

• Internet Architecture, Protocols and Taxonomy

• Eight handouts– Syllabus, Project 1, and its complementary materials

• Project 1 out– If you don’t have a TLAB account and a keycard to

get into the lab, fill the form.

– Find partner (groups of 2 preferred)

• Recitation tomorrow on UNIX programming and project 1