CSE 245: Computer Networks and Data Communications Jun-Hong Cui 08/29/2006
2 Outline Course information r What is a network protocol? r A brief introduction to the Internet: past and present r Summary
3 Course Information r Personnel m Instructor Jun-Hong Cui, ITEB Office hours –Tu/Th 10:30am-11:30am or by appointments –Feel free to stop by if you see my door open – is the best way to communicate with me m Teaching assistant James Zheng Peng, Office hours –Time: TBA –Location: ITEB 230
4 Course Information r Textbook m 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 r Reference books m Computer Networks, 4/e by Andrew Tanenbaum m Unix Network Programming by W. Richard Stevens And more (see handout) r Resource m On-line resources (using NetID) m Class discussion forum Check WebCT (class discussions)
5 What Are the Goals of This Course? r Understand how Internet works m Its philosophy m Its protocols and mechanisms r Learn network programming r And have fun!
6 What Will We Cover? r Introduction (3 lectures) m Internet architecture and design philosophy r Applications (5 lectures) m HTTP, , DNS + socket programming (+ C programming) r transport services (5 lectures) m reliability; congestion control; transport protocols: TCP/UDP r network services (5 lectures) m routing; network protocols: IP/IPv6 r link and physical layers (5 lectures) m multiple access; ARP; Ethernet, hubs and bridges r wireless & mobile networks, multimedia networking network security (if time permits)
7 What Do You Need To Do? r Your prerequisites m basic concepts of operating systems m programming: C/C++ (tested by proj0) m Unix/Linux system experience m probabilities, and basic algorithms r Your workload m textbook reading for every lecture (*****) m assignments 5 homework assignments 3 programming projects m two mid-term exams, and one final exam
8 What Do You Need To Do? r Homework: Do on your own r Programming projects: m Proj C/C++ Programming (not graded) m Proj HTTP Client (group work) m Proj HTTP Server (group work) m Proj Routing Simulation m Can do advanced part for extra credits m Proj. 1 and Proj. 2 can be done in a small group (up to 2 people), and others are individual work r Late policy: m 20% deduction (1 day), 40% (2 days), 80% (3 days), …
9 Grading r More important is what you learn than the grades Homework15% (3% each) Projects30% (10% each) Mid-term exam 110% Mid-term exam 220% Final exam25%
10 Academic Policy r Homework and projects should be done on your own unless specified as group work r In any homework or project, copying from other students (or groups) or solution books are prohibited. Refer to handout for details. r We follow the University Policy on Academic Integrity!!!
11 Class Attendance and Computers r Attendance in class … m Is Responsibility of each Student m Absence may Result in Missing Hint/Clarification/Error on Homework or Projects m May Announce Change in Due Date or Exam Date m I Might NOT Make ALL information to WebCT r Computers for projects … m Use Unix/Linux machines in ECS (TA grading) m Unix/Linux labs in ITEB and Engineering II m Apply for an ECS Unix/Linux account on-line m Use SSH to remotely login those Unix/Linux boxes m Test on these machines before you hand in your projects r More info:
12 Class Survey r Please take the class survey m help me to determine your background m help me to determine depth and topics m any suggestions on topics and schedule r Hand in at the end of the class
Questions?
14 Outline r Course information What is a network protocol? A brief introduction to the Internet: past and present r Summary
15 What is a Network Protocol? r 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) r Messages from a client to a mail server m HELO m MAIL FROM: m RCPT TO: m DATA m QUIT r Messages from a mail server to a client m 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. m content user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP POP3, IMAP SMTP
17 Internet Standardization Process r All standards of the Internet are published as RFC (Request for Comments) m but not all RFCs are Internet Standards ! but not all RFCs are Internet Standards ! m available: r A typical (but not the only) way of standardization: m Internet draft m RFC m Proposed standard m Draft standard (requires 2 working implementations) m Internet standard (declared by Internet Architecture Board)
18 Outline r Course information r What is a network protocol? A brief introduction to the Internet past present r Summary
19 A Brief History of the Internet r 1961 m Kleinrock - queueing theory shows effectiveness of packet- switching (telephone network: circuit switching) r 1968 m Bolt Beranek and Newman, Inc. (BBN) was awarded Packet Switch contract to build Interface Message Processors (IMPs) for ARPANET
20 r 1969 m ARPANET commissioned: 4 nodes, 50kbps A Brief History of the Internet
21 Initial Expansion of the ARPANET Dec. 1969March 1971July 1970 Apr Sep. 1972
22 Multiple Networks r 1974: Initial design of TCP to connect multiple networks r 1986: NSF builds NSFNET as backbone, links 6 supercomputing centers, 56 kbps; this allows an explosion of connections, especially from universities r 1987: 10,000 hosts r 1988: NSFNET backbone upgrades to 1.5Mbps r 1989: 100,000 hosts WELCOME by Leonard Kleinrock …
23 Web and Commercialization of the Internet r 1990: ARPANET ceases to exist r 1991: NSF lifts restrictions on the commercial use of the Net; Berners-Lee of European Organization for Nuclear Research (CERN) released World Wide Web r 1992: 1 million hosts r 1994: NSF reverts back to research network (vBNS); the backbone of the Internet consists of multiple private backbones r 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 Oct ,024 Dec ,174 Oct ,000 Jul ,776,000 Jul ,540,000 Jul ,047,000 Jul ,128,493
25 Outline r Course information r What is a network protocol? A brief introduction to the Internet past present r Summary
26 Backbone: National ISP Local/Regional ISP Local/Regional ISP Internet Physical Infrastructure r Residential Access m Modem m DSL m Cable modem r Access to ISP, Backbone transmission m T1/T3, OC-3, OC-12 m ATM, SONET, WDM r Internet Service Providers m Local/Regional/ National m They exchange packets at Point of Presence (POP) r Campus network access m Ethernet m FDDI m Wireless
27 ATT Global Backbone IP Network From
28 From AT&T web site.
29 Summary r Course information r Concept of network protocol r The past: m The Internet started as ARPANET in late 1960s m The initial link bandwidth was 50 kbps m The number of hosts at the end of 1969 was 4 r Current: m The number of hosts connected to the Internet grows at an exponential speed m The backbone speed of the current Internet is about 10 Gbps m The number of hosts attached to the Internet in July 2002 was about 162 millions
30 Hands-on Exercises r Read the manual of ping and traceroute (or tracert), and try them on an ECS machine 1. % /bin/ping 2. % /usr/sbin/traceroute 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!