UCSD CSE 124 Networked Services Fall 2010 1 WELCOME TO CSE 124: NETWORKED SERVICES FALL „10

B. S. Manoj, Ph.D http://CalSysNet.calit2.net Lecture 1

9/23/2010 Contents

2

 Course Goals  Resources  Audience  Main objectives  Grading  History of the  Growth of Internet  Introduction to the Internet  Summary

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Course Resources

3

 Instructor:  B. S. Manoj (a.k.a Manoj Balakrishnan) [email protected]  Office Hours: By appointment (Email for appointment)

 Teaching Assistant  Ricky Ghov (email: [email protected] )  Office Hours: TBA

 Course Web Page  Later today it will be updated in http://cseweb.ucsd.edu/classes/fa10/cse124

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Audience

4

 Those who want to learn to innovate in advancing services over future network systems

 Those with interest in Graduate school

 Those with top industrial positions in mind  Microsoft, Google, Yahoo, Qualcomm, Akamai, IBM, Apple, etc.

 Those who want to have real hands-on expertise

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Main objectives

5

 To gain knowledge in networking and distributed systems  Lectures, textbooks, and homework

 To understand where are we headed  Review and writeup of latest research publications in the area

 Get to know how to build large scale network systems  Programming projects  From simple to reality translation of novel ideas

 To learn to innovate  Through innovation project

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 What we prefer not to do

6

 To teach basic programming  Familiarity with Operating Systems is necessary  Good programming skills with C/C++ is required

 To debug source codes that you write  We might sometimes be of help, but not guaranteed

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Grading Plan

7

 25% Homework  Assignments (1-2)  Paper evaluations and write-up (5-6 papers)

 35% exams  15% midterm  20% final exam

 35% Programming projects (2 mandatory, one optional)  15%: Project 1: HTTP server  20%: Project II: Innovation project  Hadoop hands-on exercise (depending on the cluster availability)

 5% Attendance Class participation  Popup questions, to listed names, from paper writeup UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Paper evaluations and discussions

8  Over the entire course 5-6 papers will be provided for evaluation and summarization  Mostly from Communications of the ACM, ACM SIGCOMM or other highly rated conferences  An evaluation 1-page write-ups to be prepared per paper and submitted  12 point font, one inch margin all sides, ACM single column style  Details will be provided later

 Points that may be noted (IEEE anti-plagiarism policy in effect)  Important contribution of the paper (in your own words)  Important limitations or errors (logical or technical, not typographical or grammatical) in the paper  How it can further be improved (on your own, briefly) UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Course Projects

9  Two projects for the entire course span  Project 1  Build an HTTP server in C/C++  Team size: 2  Support both HTTP/1.0 and a subset of HTTP/1.1  Due date: TBA

 Project 2  Innovation Project (1 or 2 choices will be provided)  You may choose your own project (provided they are novel and feasible within the time frame)  Instructor approval required

 Innovation Projects are required to be presented in the class  10 minutes (6 minutes for presentation, 3 minutes for discussion, and 1 minute for conclusion)UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Tentative syllabus

10

 Introduction. History of the Internet. Network Services and Application layer protocols. Hyper Text Transfer Protocol (HTTP), E-mail Applications. Voice over IP. Network layer and Internet Protocol (IP). Transmission Control Protocol (TCP). Congestion and flow control. Modern network services. Data center networking. Giant scale services. Cluster computing. Network file servers. Replication. Fault tolerance. Load balancing. Network security. Streaming services. Content Distribution Networks. Peer-to-Peer networking. Distributed Hash Tables. Google File System. Hadoop. PlanetLab. GENI.

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Introduction to the Internet

11

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 History of Internet

12  1960s-70s: Development of packet switching

 1970s-80s: Early proprietary networks and internetworking

 1980s-90s: Proliferation of networks

 1990s-2000s: Explosion of the networks

 2000-2010s: Internet grew as a major utility (and threat)

 2010-beyond: Network Transformations to new forms

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Origins and The ARPANET (Internet) in 1969

13

Rand Corporation: "On Distributed Communications: 1. Introduction to Distributed Communications Network" (August 1964) UCSD CSE 124 Networked Services Fall 2010 9/23/2010 The Internet in 2005

14

 Host level graph

 Only a fraction!

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Source: www.opte.org 15

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 16

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 17

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Internet Growth

18

 1977: 111 hosts on Internet  1981: 213 hosts  1983: 562 hosts  1984: 1,000 hosts  1986: 5,000 hosts  1987: 10,000 hosts  1989: 100,000 hosts  1992: 1,000,000 hosts  2001: 150 – 175 million hosts  2002: over 200 million hosts  2006: over 430 million hosts  2008: over 541 million hosts  Jan 2009: over 625 million hosts  2010: over 1.97 billion users (hosts?)  2011: ?

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Source: The Internet Society and www.swivel.com Growth of the Internet

19 The Growth of Internet 700000000

600000000

500000000

400000000

300000000 Number ofhosts

200000000

100000000

0

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 The Internet Society, Google, and Swivel.com Growth and modern communications

20  50 million user population  Radio: 38 years  TV: 13 years  The Internet: 4 years!!! (Once it was open to the Public,)  Giant scale services on the Internet  Facebook (2004): 3 year 8 months (10 months to reach 1 million users)  Twitter (2008): 3 years and 2 month (<1 month for 1 million users)  Google Voice (2010): 1day (1 million) -1week (10 million)

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Issues with the grown up Internet

21  Entry barrier to deploy new architectures/services to the Internet is high  High cost of setting up

 How to architecturally enhance the Internet?  We need agreement from all ISPs, Vendors, even Governments!

 Internet faces Ossification  Growth kills itself ARO CogNet Bi-weekly Meeting 07/12/2010 The grown up Internet problem: Ossification

22

Deployment

Analysis Simulation / Emulation Experiment At Scale (models) (code) With Real Users

(results)

(measurements)

We will look at PlanetLab, NSF GENI approaches Claude Shannon

 Published a “A Mathematical Theory of Communication” in 1948.

 In 1948 with the publication of A Mathematical Theory of Communication, Shannon characterized a channel by a single parameter; the channel capacity.

 His paper established fundamental limits on the efficiency of communication over noisy channels, and presented the challenge of finding families of codes that achieve capacity. The method of random coding does not produce an explicit example of a good code, and in fact it has taken fifty years for coding theorists to discover codes that come close to these fundamental limits on telephone line channels.

 Created the idea that all information could be represented using 1s and 0s. Called these fundamental units BITS.

 Created the concept data transmission in BITS per second.

 Widely credited as the Father of Information Theory. UCSD CSE 124 Networked Services 9/23/2010 23 Fall 2010 Source: http://www.research.att.com/~njas/doc/ces5.html and the Internet Society

 Kleinrock published his first paper on digital network communications, Information Flow in Large Communication Nets, in July, 1961.

 He developed his ideas further in his 1963 Ph.D. thesis, and then published a comprehensive analytical treatment of digital networks in his book Communication Nets in 1964.

 In 1966, Roberts was mandated to develop the ARPANET, and used Kleinrock's Communication Nets to help convince his colleagues that a wide area digital communication network was possible.

 In October, 1968, Roberts gave a contract to Kleinrock's team as the ideal group to perform ARPANET performance measurement and find areas for improvement.

 On a historical day in early September, 1969, a team at Kleinrock's group connected one of their SDS Sigma 7 computers to an Interface Message Processor, thereby becoming the first node on the ARPANET, and the first computer ever on the Internet.

UCSD CSE 124 Networked Services 9/23/2010 24 Fall 2010 Source: Dr. Kleinrock’s Homepage and the Internet Society LO! Behold!

25 First successfully sent message over the Internet: LO LO! and Behold (means: look! - behold! ) Used especially to announce things that are considered startling or important. Separately used in Bible Genesis 15:3 (King James version,) Used together first in 1808 on an English Royal letter in the Correspondence 1787–1870.

L O G

UCSD CSE 124 Networked Services Fall 2010 9/23/2010

 In 1959 Paul Baran joined RAND and started working on survivable, wide area communications networks so they could reorganize and respond after a nuclear attack, diminishing the attractiveness of a first nuclear strike option by the Soviet Union.

 The results of which were first presented to the Air Force in the summer of 1961 as briefing B-265, then as a series of eleven comprehensive papers titled On Distributed Communications in 1964.

 Baran's study describes a remarkably detailed architecture for a distributed, survivable, packet switched communications network. The network is designed to withstand almost any degree of destruction to individual components without loss of end-to-end communications. Since each computer could be connected to one or more other computers, it was assumed that any link of the network could fail at any time, and the network therefore had no central control or administration.

 Baran's architecture was well designed to provide reliability and helped to convince the US Military that wide area digital computer networks were a UCSD CSE 124 Networked Services 9/23/2010promising technology. 26 Source: Livinginternet.com and the Internet Society Fall 2010 Lawrence Roberts

 Lawrence Roberts obtained his B.S., M.S., and Ph.D. degrees from MIT, and then joined the Lincoln Laboratory, where he carried out research into computer networks. In a pivotal meeting in November, 1964, Roberts met with J.C.R. Licklider, who inspired Roberts with his dream to build a wide area communications network.

 In February, 1965, Ivan Sutherland, gave a contract to Roberts to develop a computer network. In July, Roberts gave a contract to Thomas Marill to program the network. In October, 1965, the Lincoln Labs TX-2 computer talked to their SDC's Q32 computer in one of the worlds first digital network communications.

 In October, 1966, Roberts and Marill published a paper titled Toward a Cooperative Network of Time-Shared Computers at the Fall AFIPS Conference, documenting their networking experiments.

 Also in 1966, DARPA head Charlie Hertzfeld promised IPTO Director Bob Taylor a million dollars to build a distributed communications network that would come to be called the ARPANET.

 In April, 1967, Roberts held an "ARPANET Design Session" at the IPTO Principal Investigator meeting in Ann Arbor, Michigan. The standards for identification and authentication of users, transmission of characters, and error checking and retransmissionUCSD CSE 124 procedures Networked Services were outlined at this meeting. 9/23/2010 27 Fall 2010 Source: Livinginternet.com Vinton Cerf and Robert Kahn

 In 1972, Vinton Cerf was a DARPA scientist at Stanford University and he joined Robert Kahn as Principal Investigator on a project to design the next generation networking protocol for the ARPANET.

 Cerf and Kahn drafted a paper describing their network design, titled "A Protocol for Packet Network Interconnection", in 1973 and then finalized and published in the IEEE Transactions of Communications Technology, in May, 1974.

 Cerf, Kahn, and Stanford graduate students Yogen Dalal and Carl Sunshine published the first technical specification of TCP/IP as an as RFC 675, in December, 1974.

 TCP is split into TCP and IP in 1978.

UCSD CSE 124 Networked Services 9/23/2010 28 Fall 2010 Source: Livinginternet.com Tim Berners-Lee

 The inventor of HTML. Graduate of Oxford University, England, Tim is now with the Laboratory for Computer Science ( LCS)at the Massachusetts Institute of Technology ( MIT).

 In 1989 he invented the World Wide Web, an internet- based hypermedia initiative for global information sharing, while working at CERN, the European Particle Physics Laboratory.

Source: w3c.org and The Internet Society.UCSD CSE 124 Networked Services 9/23/2010 29 Fall 2010 Mark Andreesen

 Marc Andreesen, National Center for Supercomputing Applications (NCSA) at the University of Illinois, identified that most browsers were designed for UNIX machines and were available only for academics.

 In 1992, Andreesen and Eric Bina, developed new browser that let  Images and text to appear on the same page  A graphical interface with clickable buttons that let users navigate easily  The hyper-link. In earlier browsers hypertext links had reference numbers that the user typed in to navigate to the linked document. Hyper-links allowed the user to simply click on a link to retrieve a document.

 In 1993, Mosaic made it to the front page of the New York Times business section saying “an application program so different and so obviously useful that it can create a new industry from scratch.”

 In mid-1994, Mosaic Communications Corp. was officially incorporated in Mountain View, California where he led the development of Source: www.ibiblio.org/pioneers UCSD CSE 124 Networked Services ,9/23/2010 the leading Internet browser for another decade. 30 and the Internet Society. Fall 2010 Innovations soon followed

31

 Yahoo.com; the web indexing service

 Hotmail.com; first web-based email service

 Google.com; transformed search service as one of the most important activity on the net

 Akamai.net; content distribution service as one of the key elements in the internet

 Peer-to-peer networks came to be as a novel alternative communication approach

 PlanetLab became a large scale world-wide overlay network testbed

 NSF started GENI (GENI.NET) Global Environment for Network Innovations for a future Internet

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 “Cool” internet appliances

1-32

Web-enabled toaster + weather forecaster

IP picture frame http://www.ceiva.com/

World’s smallest web server http://www-ccs.cs.umass.edu/~shri/iPic.html Internet phones

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Introduction to the Internet

33  What is the Internet?  A network of networks  Each network may be under an autonomous organization  Network of a large number heterogeneous networks  Wireless, fiber, copper, satellite, sensor, etc.  From big super computers to tiny sensors  Sometimes even human beings  Assisted living as an inevitability

 A headless network formed by millions of heterogeneous devices  No single administrative control is feasible  High reliability and availability  Highly vulnerable for security

 A giant network formed by  Access networks (Network edge)  Core Network (The backbone of the Internet)

 An important infrastructure for modern services  E-commerce, E-governance, Telemedicine, assisted living, reliable distributed computing, and a host of other yet-to-be identified services UCSD CSE 124 Networked Services Fall 2010 9/23/2010 What‟s the Internet: another “nuts and bolts” view

1-34  millions of connected computing Mobile network devices: hosts = end systems Global ISP  running network apps

Home network

 communication links Regional ISP  fiber, copper, radio, satellite  transmission rate = Institutional network bandwidth

 routers: forward packets (chunks of data)

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 What‟s the Internet: “nuts and bolts” view

1-35 Mobile network  protocols control sending, receiving of msgs Global ISP

 e.g., TCP, IP, HTTP, Skype, Ethernet

 Internet: “network of networks” Home network  loosely hierarchical Regional ISP  public Internet versus private intranet

 Internet standards Institutional network

 RFC: Request for comments

 IETF: Internet Engineering Task Force

 IEEE standards

UCSD CSE 124 Networked Services Fall 2010 9/23/2010 What‟s the Internet: a service view

1-36  communication infrastructure enables distributed applications:  Web, VoIP, email, games, e-commerce, file sharing  communication services provided to apps:  reliable data delivery from source to destination  “best effort” (unreliable) data delivery  Voice, video, radio  application services  E-commerce, telemedicine, internet information processing, distributed gaming, P2P file sharing, UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Communication requirements

37  Some information (An idea) for eg., Hi

 Sufficient Energy to transmit (voice, or electrical energy)

 A medium to transmit  Air, copper, fiber, RF spectrum etc.  A network is a collection of media that are assembled in certain specific order or form to enable end-to-end communication

 A set of rules to make the communication meaningful  Hi must be recognized with proper syntax and semantics  Network protocols define the rules of communication over a network UCSD CSE 124 Networked Services Fall 2010 9/23/2010 What‟s a protocol?

1-38 human protocols: network protocols:

 “what‟s the time?”  machines rather than

 “I have a question” humans

 introductions  all communication activity in Internet governed by protocols … specific msgs sent Definition 1: protocols define format, order of … specific actions taken msgs sent and received among network when msgs received, or entities, and actions taken on msg other events transmission, receipt Definition 2: A communication protocol defines the rules that are associated with the syntax, semantics, and actions associated with messages and events that must be

UCSD CSE 124 Networkedfollowed Services for Fall effective 2010 9/23/2010 communication between network devices. What‟s a protocol?

1-39 a human protocol and a computer network protocol:

Hi TCP connection Hi request TCP connection Got the response time? Get http://www.awl.com/kurose-ross 2:00 time

Q: Other human protocols? UCSD CSE 124 Networked Services Fall 2010 9/23/2010 Summary

1-40  This course is about networking with focus on services

 More in later lectures

 References  Kurose and Rose chapter 1  Web sources mentioned in the slides

UCSD CSE 124 Networked Services Fall 2010 9/23/2010