EECS 122: Introduction to Computer Networks Course Goals and Overview Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776 Katz, Stoica F04 1 Instructors Instructors - Randy Katz (randy@cs.Berkeley.edu), Office Hours: Tu 1-2 PM, W 11-12 noon, and by appointment, 637 Soda Hall - Ion Stoica (istoica@cs.Berkeley.edu), Office Hours: M 5-6 PM, W 4-5 PM, 645 Soda Hall Textbooks - L. L. Peterson and B. Davie, Computer Networks: A System Approach, 3nd Edition, Morgan Kaufman, San Francisco, 2003. - W. R. Stevens, B. Fenner, A. M. Rudoff, Unix Network Programming: The Sockets Networking API, Vol. 1, 3rd Ed., Addison-Wesley, Boston, 2004. Katz, Stoica F04 2 TAs Byung-Gon Chun, bgchun@cs.Berkeley.edu Tu 4-5 PM, room TBD Xuanming Dong, xuanming@eecs.Berkeley.edu Time and room TBD Ling Huang, hling@cs.Berkeley.edu Tu 2-3 PM, room TBD Sonesh Surana, sonesh@cs.Berkeley.edu Time and room TBD For final office hour schedule, please see the web Katz, Stoica F04 3 Overview Administrivia Overview and History of the Internet Katz, Stoica F04 4 Administrivia Course Web page: - http://inst.eecs.berkeley.edu/~ee122/ - Check often to get the latest information Deadlines - HWs: due 10:50 am on the indicated date (10 minutes before lecture) Exams are closed-book, with open crib sheet Come to office hours, request an appointment, communicate by e-mail - We are here to help, including general advice! - TAs first line for help with programming problems Give us suggestions/complaints as early as possible Katz, Stoica F04 5 Course Goals Learn the main architectural concepts and technological components of communication networks, with the Internet as the overarching example - Understand how the Internet works - And why the Internet is the way it is Apply what you learned in three mini-class projects Katz, Stoica F04 6 Class Workload NOTE: EE122 is a 4 unit course starting this semester! Four homeworks spread over the semester - Strict deadlines and due dates (no slip days!) Three (mini-)projects - 1st and 3rd are part of a larger project, which involves implementing a comprehensive network application • C (or C++) required - 2nd is a simulation project Two midterm exams - September 30 and November 4 Final exam - December 16 - Note dates and plan your travel accordingly! Katz, Stoica F04 7 Grading Homeworks Projects Midterm exams Final exam 20% (5% each) 40% (10% + 10% + 20%) 20% (10% each) 20% Consultation on HWs is OK, but must hand in own work - Correlation between understanding HWs and doing well on exams Course graded to mean of B - Relatively easy to get a B, harder to get an A or a C 10% A, 15% A-, 15% B+, 20% B, 15% B-, 15% C+, 10% C A+ reserved for superstars (only 1 or 2 per class) Mean can shift up for an especially great class Katz, Stoica F04 8 Overview Administrivia Overview and History of the Internet • See http://www.isoc.org/internet/history/ for more details Katz, Stoica F04 9 What is a Communication Network? (End-system Centric View) Network offers one basic service: move information - Bird, fire, messenger, truck, telegraph, telephone, Internet … - Another example, transportation service: move objects • Horse, train, truck, airplane ... What distinguish different types of networks? - The services they provide What distinguish the services? - Latency Bandwidth Loss rate Number of end systems Service interface (how to invoke the service?) Others • Reliability, unicast vs. multicast, real-time... Katz, Stoica F04 10 What is a Communication Network? (Infrastructure Centric View) Communication medium: electron, photon Network components: - Links – carry bits from one place to another (or maybe multiple places): fiber, copper, satellite, … - Interfaces – attach devices to links - Switches/routers – interconnect links: electronic/optic, crossbar/Banyan - Hosts – communication endpoints: workstations, PDAs, cell phones, toasters Protocols – rules governing communication between nodes - TCP/IP, ATM, MPLS, SONET, Ethernet, X.25 Applications: Web browser, X Windows, FTP, ... Katz, Stoica F04 11 Network Components (Examples) Links Interfaces Fibers Ethernet card Switches/routers Large router Wireless card Coaxial Cable Telephone switch Katz, Stoica F04 12 Types of Networks Geographical distance - Local Area Networks (LAN): Ethernet, Token ring, FDDI Metropolitan Area Networks (MAN): DQDB, SMDS Wide Area Networks (WAN): X.25, ATM, frame relay Caveat: LAN, MAN, WAN may mean different things • Service, network technology, networks Information type - Data networks vs. telecommunication networks Application type - Special purpose networks: airline reservation network, banking network, credit card network, telephony - General purpose network: Internet Katz, Stoica F04 13 Types of Networks Right to use - Private: enterprise networks - Public: telephony network, Internet Ownership of protocols - Proprietary: SNA - Open: IP Technologies - Terrestrial vs. satellite - Wired vs. wireless Protocols - IP, AppleTalk, SNA Katz, Stoica F04 14 The Internet (cont’d) Global scale, general purpose, heterogeneoustechnologies, public, computer network Internet Protocol - Open standard: Internet Engineering Task Force (IETF) as standard body ( http://www.ietf.org ) - Technical basis for other types of networks • Intranet: enterprise IP network Developed by the research community Katz, Stoica F04 15 Internet vs. Telephone Net Strengths - Intelligence at ends - Decentralized control - Operates over heterogeneous access technologies Weaknesses - No differential service - Variable performance delay - New functions difficult to add since end nodes must be upgraded - No trusted infrastructure Strengths - No end-point intelligence - Heterogeneous devices - Excellent voice performance Weaknesses - Achieves performance by overallocating resources - Difficult to add new services to “Intelligent Network” due to complex call model - Expensive approach for reliability Katz, Stoica F04 16 History of the Internet 68-70’s: started as a research project, 56 kbps, initially 4 nodes (UCLA, UCSB, SRI, Utah) then < 100 computers - 2 September 2004/35th Anniversary of the Internet - http://www.cnn.com/2004/TECH/internet/08/29/internet.birthda y.ap/index.html 80-83: TCP/IP, DNS; 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 94: NSF backbone dismantled, multiple private backbones; Introduction of Commercial Internet Today: backbones run at 10 Gbps, close to 200 millions computers in 150 countries Katz, Stoica F04 17 The ARPANet SRI 940 UCSB IBM 360 IMPs Utah PDP 10 UCLA Sigma 7 BBN team that implemented the interface message processor Paul Baran - RAND Corp, early 1960s - Communications networks that would survive a major enemy attack ARPANet: Research vehicle for “Resource Sharing Computer Networks” - 2 September 1969: UCLA first node on the ARPANet - December 1969: 4 nodes connected by phone lines Katz, Stoica F04 18 ARPANet Evolves into Internet ARPANet SATNet PRNet 1965 TCP/IP 1975 Web Hosting Multiple ISPs Internet2 Backbone Internet Exchanges NSFNet Deregulation & ISP Commercialization ASP AIP WWW 1985 1995 2005 Application Hosting ASP: Application Service Provider AIP: Application Infrastructure Provider (e-commerce tookit, etc.) Katz, Stoica F04 19 Katz, Stoica F04 20 Katz, Stoica F04 21 Katz, Stoica F04 22 Digex Backbone Qwest IP Backbone (Late 1999) GTE Internetworking Backbone Parallel Backbones Katz, Stoica F04 23 Katz, Stoica F04 24 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 Jan. 2004 233,101,481 1000000000 100000000 10000000 1000000 100000 10000 1000 100 10 1 1981 1985 1989 1993 1997 2001 Data available at: http://www.isc.org/ Estimated number of users: http://www.internetworldstats.com/stats.htm Katz, Stoica F04 25 Services Provided by the Internet Shared access to computing resources - telnet (1970’s) Shared access to data/files - FTP, NFS, AFS (1980’s) Communication medium over which people interact - email (1980’s), on-line chat rooms, instant messaging (1990’s) - audio, video (1990’s) • replacing telephone network? Medium for information dissemination - USENET (1980’s) - WWW (1990’s) • replacing newspaper, magazine? - Audio, video (late 90’s) • replacing radio, CD, TV? - File sharing (late 90’s) Katz, Stoica F04 26 Internet Physical Infrastructure ISP Residential Access - Modem - DSL - Cable modem - Satellite Backbone ISP Enterprise/ISP access, Backbone transmission - T1/T3, DS-1 DS-3 - OC-3 … OC-76 - ATM vs. SONET, vs. WDM Campus network - Ethernet, ATM Internet Service Providers - access, regional, backbone - Point of Presence (POP) - Network Access Point (NAP) Katz, Stoica F04 27 Network “Cloud” Katz, Stoica F04 28 Regional Nets + Backbone Regional Net Regional Net Regional Net Backbone Regional Net Regional Net LAN LAN Regional Net LAN Katz, Stoica F04 29 Backbones + NAPs + ISPs ISP ISP ISP NAP Backbones Business ISP LAN LAN ISP NAP Consumer ISP LAN Dial-up Katz, Stoica F04 30 Core Networks + Access Networks DSL Always on Cable Head Ends @home Covad Cingular Cell Cell Cell LAN NAP Core Networks NAP ISP Satellite Fixed Wireless Sprint LAN AOL LAN Dial-up Katz, Stoica F04 31 Computers Inside the Core DSL Always on Cable Head Ends @home Covad Cingular Cell Cell Cell LAN NAP NAP ISP Satellite Fixed Wireless Sprint LAN AOL LAN Dial-up Katz, Stoica F04 32 The Evolution of the Enterprise Late-1980s Internal users Private Corporate Network Dedicated facilities/ computer centers Limited customer/ external access Dedicated applications/ 3rd party DBMS E.g., Oracle Katz, Stoica F04 33 The Evolution of the Enterprise 1995 Internal users Private Corporate Network Dedicated facilities/ computer centers Limited customer/ external access Outsourced “Enterprise Resource Planning” Apps e.g., PeopleSoft, BAAN Katz, Stoica F04 34 The Evolution of the Enterprise 1997 Internal users Virtual Private Network ISP Mesh Outsourced Web Hosting Internet Dedicated Facility Outsourced ERP Apps External Customers Katz, Stoica F04 35 The Evolution of the Enterprise 1997 Internal users P o r t a l Outsourced Web Hosting Search Caching Internet Ads Services EComm Virtual Private Network ISP Mesh Internet Dedicated Facility Outsourced ERP Apps External Customers Katz, Stoica F04 36 The Evolution of the Enterprise 1999 3rd Party Facilities Mgmt P o r t a l Outsourced Web Hosting Search Cache Ads EComm Internet Services Applications Service Provider ISP Mesh VPNs Content Delivery “Net” Caching + Media Servers Customers Katz, Stoica F04 37 Services Within the Network: Content Distribution “Internet Grid” Parallel Network Backbones Internet Exchange Points Co-Location Scalable Servers Web Caches Katz, Stoica F04 38 P2P Services in the Internet: Napster, Gnutella, Freenet, … Directory Service Register my copy Find me a copy ... Madonna Like a Virgin Madonna Material Girl ... Look here Grid computing: sharing resources/enabling collaboration Katz, Stoica F04 39 Services Within the Network: Streaming Media Broadcasters Content Broadcast Network Content Distribution Through Multicast Overlay Network Load Balancing Thru Server Redirection; Edge Servers Inter-ISP Redirection Peering Redirection Fabric Content Broadcast Management Platform and Tools Clients Katz, Stoica F04 40 Steve McCanne Summary Course administrative trivia Internet history and background Katz, Stoica F04 41