30
CSE 245: Computer Networks and Data Communications http://vista.uconn.edu Jun-Hong Cui 08/29/2006

CSE 245: Computer Networks and Data Communications Jun-Hong Cui 08/29/2006

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

CSE 245: Computer Networks and Data Communications

http://vista.uconn.edu

Jun-Hong Cui

08/29/2006

2

Outline

Course information What is a network protocol? A brief introduction to the Internet: past

and present Summary

3

Course Information

Personnel Instructor

• Jun-Hong Cui, [email protected], ITEB 267• Office hours

– Tu/Th 10:30am-11:30am or by appointments

– Feel free to stop by if you see my door open

– e-mail is the best way to communicate with me

Teaching assistant• James Zheng Peng, [email protected]

• Office hours– Time: TBA

– Location: ITEB 230

4

Course Information Textbook

Computer Networking: A Top-Down Approach Featuring the Internet,

3/e by Kurose and Ross-Buy through Co-Op or On-line-Make good use of On-line materials

Reference books Computer Networks, 4/e by Andrew Tanenbaum Unix Network Programming by W. Richard StevensAnd more (see handout)

Resource On-line resources (using NetID)

• http://vista.uconn.edu Class discussion forum

• Check WebCT (class discussions)

5

What Are the Goals of This Course?

Understand how Internet works Its philosophy Its protocols and mechanisms

Learn network programming

And have fun!

6

What Will We Cover?

Introduction (3 lectures) Internet architecture and design philosophy

Applications (5 lectures) HTTP, Email, DNS + socket programming (+ C

programming)

transport services (5 lectures) reliability; congestion control; transport protocols:

TCP/UDP

network services (5 lectures) routing; network protocols: IP/IPv6

link and physical layers (5 lectures) multiple access; ARP; Ethernet, hubs and bridges

wireless & mobile networks, multimedia networking network security (if time permits)

7

What Do You Need To Do?

Your prerequisites basic concepts of operating systems programming: C/C++ (tested by proj0) Unix/Linux system experience probabilities, and basic algorithms

Your workload textbook reading for every lecture (*****) assignments

• 5 homework assignments• 3 programming projects

two mid-term exams, and one final exam

8

What Do You Need To Do?

Homework: Do on your own Programming projects:

Proj. 0--- C/C++ Programming (not graded) Proj. 1--- HTTP Client (group work) Proj. 2--- HTTP Server (group work) Proj. 3--- Routing Simulation Can do advanced part for extra credits Proj. 1 and Proj. 2 can be done in a small group (up to

2 people), and others are individual work

Late policy: 20% deduction (1 day), 40% (2 days), 80% (3 days), …

9

Grading

More important is what you learn than the grades

Homework 15% (3% each)

Projects 30% (10% each)

Mid-term exam 1 10%

Mid-term exam 2 20%

Final exam 25%

10

Academic Policy

Homework and projects should be done on your own unless specified as group work

In any homework or project, copying from other students (or groups) or solution books are prohibited. Refer to handout for details.

We follow the University Policy on Academic Integrity!!!

11

Class Attendance and Computers Attendance in class …

Is Responsibility of each Student Absence may Result in Missing Hint/Clarification/Error

on Homework or Projects May Announce Change in Due Date or Exam Date I Might NOT Make ALL information to WebCT

Computers for projects … Use Unix/Linux machines in ECS (TA grading) Unix/Linux labs in ITEB and Engineering II Apply for an ECS Unix/Linux account on-line Use SSH to remotely login those Unix/Linux boxes Test on these machines before you hand in your

projects More info: http://www.engr.uconn.edu/ecs/linux/

12

Class Survey

Please take the class survey

help me to determine your background

help me to determine depth and topics

any suggestions on topics and schedule

Hand in at the end of the class

Questions?

14

Outline

Course information What is a network protocol? A brief introduction to the Internet: past

and present Summary

15

What is a Network Protocol?

A network protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.

16

An Example: Simple Mail Transfer Protocol (SMTP)

Messages from a client to a mail server

HELO MAIL FROM: <address> RCPT TO: <address> DATA

<This is the text end with a line with a single .>

QUIT Messages from a mail server to a

client status code

• The first digit of the response broadly indicates the success, failure, or progress of the previous command.

– 1xx - Informative message– 2xx - Command ok– 3xx - Command ok so far, send the rest of

it.– 4xx - Command was correct, but couldn't

be performed for some reason.– 5xx - Command unimplemented, or

incorrect, or a serious program error occurred.

content

user mailbox

outgoing message queue

mailserver

useragent

useragent

useragent

mailserver

useragentuser

agent

mailserver

useragent

SMTP

SMTP

SMTP

POP3,IMAPSMTP

17

Internet Standardization Process

All standards of the Internet are published as RFC (Request for Comments) but not all RFCs are Internet Standards ! available: http://www.ietf.org

A typical (but not the only) way of standardization: Internet draft RFC Proposed standard Draft standard (requires 2 working implementations) Internet standard (declared by Internet Architecture

Board)

18

Outline

Course information What is a network protocol? A brief introduction to the Internet

past present

Summary

19

A Brief History of the Internet 1961

Kleinrock - queueing theory shows effectiveness of packet-switching (telephone network: circuit switching)

1968 Bolt Beranek and Newman, Inc. (BBN) was awarded Packet

Switch contract to build Interface Message Processors (IMPs) for ARPANET

20

1969 ARPANET commissioned: 4 nodes, 50kbps

A Brief History of the Internet

21

Initial Expansion of the ARPANET

Dec. 1969 March 1971July 1970

Apr. 1972 Sep. 1972

22

Multiple Networks

1974: Initial design of TCP to connect multiple networks

1986: NSF builds NSFNET as backbone, links 6 supercomputing centers, 56 kbps; this allows an explosion of connections, especially from universities

1987: 10,000 hosts 1988: NSFNET backbone upgrades to 1.5Mbps 1989: 100,000 hosts

WELCOME by Leonard Kleinrock …

23

Web and Commercialization of the Internet 1990: ARPANET ceases to exist 1991: NSF lifts restrictions on the commercial use

of the Net; Berners-Lee of European Organization for Nuclear Research (CERN) released World Wide Web

1992: 1 million hosts 1994: NSF reverts back to research network

(vBNS); the backbone of the Internet consists of multiple private backbones

Today: backbones run at 10Gbps, 100s millions computers in 150 countries

24

Growth of the Internet in Terms of Number of Hosts

Number of Hosts on the Internet:

Aug. 1981 213Oct. 1984 1,024Dec. 1987 28,174 Oct. 1990 313,000 Jul. 1993 1,776,000Jul. 1996 19,540,000Jul. 2000 93,047,000Jul. 2002 162,128,493 1

10

100

1,000

10,000

100,000

1,000,000

10,000,000

100,000,000

1,000,000,000

1981 1984 1987 1990 19931996 1999 2002

25

Outline

Course information What is a network protocol? A brief introduction to the Internet

past present

Summary

26

Backbone:National ISP

Local/RegionalISP

Local/RegionalISP

Internet Physical Infrastructure

Residential Access

Modem DSL Cable

modem

Access to ISP, Backbone transmission T1/T3, OC-3, OC-12 ATM, SONET, WDM

Internet Service Providers Local/Regional/

National They exchange

packets at Point of Presence (POP)

Campus network access

Ethernet FDDI Wireless

27

ATT Global Backbone IP Network

From http://www.business.att.com

28From AT&T web site.

29

Summary

Course information Concept of network protocol The past:

The Internet started as ARPANET in late 1960s The initial link bandwidth was 50 kbps The number of hosts at the end of 1969 was 4

Current: The number of hosts connected to the Internet

grows at an exponential speed The backbone speed of the current Internet is

about 10 Gbps The number of hosts attached to the Internet in

July 2002 was about 162 millions

30

Hands-on Exercises

Read the manual of ping and traceroute (or tracert), and try them on an ECS machine

1. % /bin/ping <machine_name>2. % /usr/sbin/traceroute <machine_name>

Look at the web sites of the routers you see through traceroute

Have fun … Check WebCT Vista for Proj. 0 Buy your textbook on-line (cheaper &

faster) Dot not forget to find your group members!