CMPT 771 Internet Architecture and Protocols Introduction Jiangchuan Liu Spring 2015 CMPT771 Introduction 1 CMPT 771 Internet Architecture and Protocols Jiangchuan (JC) Liu Professor School of Computing Science TASC9005 E-mail: jcliu@cs.sfu.ca Class Period and Venue: Mon/Wed/Fri 12:30-1:20pm AQ4150 Office Hours: 10:45-11:45am, Wed You can always send me email to ask questions or schedule a meeting Course Web: http://www.cs.sfu.ca/~jcliu/cmpt771 CMPT771 Introduction 2 Q: What is Network? Telephone network Dialup Local area network (e.g., home network) Internet Mobile phone … Nodes -- Interconnected CMPT771 Introduction 3 Motivation: Communication Need some common interface to communicate network protocol A->B: Hi B->A: Hi A->B: What time is it ? B->A: 1:00pm What if no protocol… Woi kx ioa nio ? #@!>? … … CMPT771 Introduction 4 An Example: Simple Mail Transfer Protocol (SMTP) Email client: Outlook, TheBat, NetscapeMail … Email server: in Unix, Windows … Messages from a client to a mail server HELO MAIL FROM: <email address> RCPT TO: <email address> DATA <This is the text (mail body) end with a line with a single .> QUIT status code outgoing message queue user mailbox Scenario Messages from a mail server to a client – – – – – mail body mail server user agent SMTP SMTP 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. mail server user agent SMTP POP3, IMAP SMTP user agent mail server user agent user agent user agent CMPT771 Introduction 5 Why Internet ? The most successful network Open Heterogeneous • Interconnects different networks Simple network, complex end-terminals • Computer based • End-to-end argument How about other networks? Telephone Mobile phone Wireless LAN Cable TV IP convergence… CMPT771 Introduction 6 Questions (not a test) Briefly explain the “end-to-end” argument. What’s the key difference between the Internet and telephone networks ? What’s the difference between congestion control and flow control ? What’s the difference between interior gateway routing and border gateway routing ? What’s the basic functionality of UDP ? Why cloud ? CMPT771 Introduction 7 A Brief History of the Internet 1957 USSR launches Sputnik, US formed Advanced Research Projects Agency (ARPA) as a response 1968 Bolt Beranek and Newman, Inc. (BBN) was awarded Packet Switch contract to build Interface Message Processors (IMPs) for ARPANET CMPT771 Introduction 8 A Brief History of the Internet 1969 ARPANET commissioned: 4 nodes, 50kbps CMPT771 Introduction 9 Initial Expansion of the ARPANET Dec. 1969 July 1970 Apr. 1972 March 1971 Sep. 1972 CMPT771 Introduction 10 Multiple Networks 1974: Initial design of TCP to connect multiple networks 1986: NSF builds NSFNET as backbone, links 6 supercomputer centers, 56 kbps; this allows an explosion of connections, especially from universities 1987: 10,000 hosts 1989: 100,000 hosts WELCOME by Leonard Kleinrock … CMPT771 Introduction 11 Web and Commercialization of the Internet 1991: NSF lifts restrictions on the commercial use of the Net; World Wide Web released 1992: 1 million hosts Today: backbones run at 10Gbps, 100s millions computers in 150 countries an estimated quarter of Earth's population uses the services of the Internet Internet history and Timeline http://www.zakon.org/robert/internet/timeline/ CMPT771 Introduction 12 CMPT771 Introduction 13 Growth of the Internet in Terms of Number of Hosts (early time) Number of Hosts on the Internet: Aug. 1981 213 Oct. 1984 1,024 Dec. 1987 28,174 Oct. 1990 313,000 Jul. 1993 1,776,000 Jul. 1996 19,540,000 Jul. 2000 93,047,000 Jul. 2002 162,128,493 1,000,000,000 100,000,000 10,000,000 1,000,000 100,000 10,000 1,000 100 10 1 1981 1984 1987 1990 1993 1996 1999 2002 CMPT771 Introduction 14 Growth of Internet Hosts * Sept. 1969 - Sept. 2002 250,000,000 Sept. 1, 2002 No. of Hosts 200,000,000 150,000,000 100,000,000 Dot-Com Bust Begins 50,000,000 9/ 69 01 /7 1 01 /7 3 01 /7 4 01 /7 6 01 /7 9 08 /8 1 08 /8 3 10 /8 5 11 /8 6 07 /8 8 01 /8 9 10 /8 9 01 /9 1 10 /9 1 04 /9 2 10 /9 2 04 /9 3 10 /9 3 07 /9 4 01 /9 5 01 /9 6 01 /9 7 01 /9 8 01 /9 9 01 /0 1 08 /0 2 0 Time Period Chart by William F. Slater, III The Internet was not known as "The Internet" until January 1984, at which time there were 1000 hosts that were all converted over to using TCP/IP. CMPT771 Introduction Copyright 2002, William F. Slater, III, Chicago, IL, USA 15 9/ 69 01 /7 1 01 /7 3 01 /7 4 01 /7 6 01 /7 9 08 /8 1 08 /8 3 10 /8 5 11 /8 6 07 /8 8 01 /8 9 10 /8 9 01 /9 1 10 /9 1 04 /9 2 10 /9 2 04 /9 3 10 /9 3 07 /9 4 01 /9 5 01 /9 6 01 /9 7 01 /9 8 01 /9 9 01 /0 1 08 /0 2 No. of Hosts Growth of Internet Hosts * Sept. 1969 - Sept. 2002 250,000,000 200,000,000 150,000,000 100,000,000 50,000,000 0 Time Period CMPT771 Introduction 16 Internet Physical Infrastructure Local/Regional ISP Residential Access Modem DSL Cable modem Access to ISP, Backbone Internet Service transmission Campus network access Ethernet FDDI Wireless Local/Regional ISP Backbone: National ISP T1/T3, OC-3, OC-12 ATM, SONET, WDM Providers Local/Regional/National They exchange packets at Point of Presence (POP) CMPT771 Introduction 17 Local Access: ADSL Asymmetrical Digital Subscriber Line (ADSL) Telephone company’s solution to “last mile problem” CMPT771 Introduction 18 Local Access: Cable Modems Fiber node: 500 - 1K homes Distribution hub: 20K - 40 K homes Regional headend: 200 K - 400 K homes CMPT771 Introduction 19 AT&T Telus CMPT771 Introduction 20 ATT Global Backbone IP Network From http://www.business.att.com CMPT771 Introduction 21 Web and Commercialization of the Internet http://research.lumeta.com/ches/map/ CMPT771 Introduction 22 Internet Pioneers Vannevar Bush Claude Shannon Paul Baran (APARNet) (Information theory) (Packet switching) Leonard Kleinrock Ted Nelson Lawrence Roberts (Pakcet switching) (Hypertext) (APARNet) Vinton Cerf Robert Kahn Tim Berners-Lee (TCP/IP) (TCP/IP) (WWW) Mark Andreesen (Mosaic/Netscape) Microsoft, Google, BitTorrent, YouTube … CMPT771 Introduction 23 Killer applications - Email CMPT771 Introduction 24 24 Killer applications - FTP CMPT771 Introduction 25 25 Killer applications – WWW 1990- CMPT771 Introduction 26 26 Killer applications- what’s next ? CMPT771 Introduction 27 27 Killer applications – P2P 2000- CMPT771 Introduction 28 28 Killer applications- what’s next ? Web2.0/Media streaming (Internet TV) YouTube, Pandora, Netflix, Hulu E-commerce Ebay, Amazon, Craigslist, Groupon Online game PS3, XBOX 360, Wii App … Social networking (2004-) Facebook, Twitter, WhatsApp… CMPT771 Introduction 29 29 Killer applications- what’s next ? Cloud computing/Data center (2006-) Microsoft, Google, Amazon … Total cost of building a large data center: $100 to $200 million Total cost of powering data center servers: about 0.6% of total electrical use within US • • 1.2% with additional costs of cooling and other usage 14% annual growth in electrical use • power consumption is on track to double by 2011 to more than 100 billion kWh, for a total energy bill of $7.4 billion annually. EPA (Environmental Protection Agency) report: CMPT771 Introduction 30 30 31Introduction CMPT771 31 Killer applications- what’s next ? Green Internet Smart power grid CMPT771 Introduction 32 32 33Introduction CMPT771 33 Killer applications- what’s next ? Mobile Internet iPhone/Android/Windows 8 End of PC ? Pervasive/ubiquitous Anywhere, any time, any person, any device 1G/2G/3G/4G/5G … CMPT771 Introduction 34 34 Killer applications- what’s next ? Wireless sensor networking CMPT771 Introduction 35 35 Killer applications- what’s next ? Machine to Human Machine to Machine (M2M) CMPT771 Introduction 36 36 Killer applications- what’s next ? Cyber Physical System (CPS)/Internet of Things (物联网) CMPT771 Introduction 37 37 Killer applications- what’s next ? CMPT771 Introduction 38 38 Killer applications- what’s next ? Crowdsourcing CMPT771 Introduction 39 Killer applications- what’s next ? Twitch TV (2011 -) • start from Justin.tv • thousands of live channels, particularly live gaming, from users of PCs, PS3/Xbox … • 44+ million visitors per month, and • 4th largest source of US Internet traffic Twitch Plays Pokémon (Feb 2014) • a crowdsourced attempt to play Pokémon Red • system translating chat commands into game controls • 6.5+ million total views (5 days) • 70K+ online viewers, 10%+ participating CMPT771 Introduction 40 Technologies/Applications change fast, but The fundamental design philosophy of data communication networks, in particular, the Internet, has no significant change, nor will change in the near future - dramatic change in the application/user level - slow change in the network access level - little change in the network core level (except for bandwidth increase) - difficulty in change ? - should not change ? - are we studying old stuff ? No. It’s the state-of-the-art and the (at least, near) future Then what’s the “real” old stuff ? CMPT771 Introduction 41 Internet Evolution Architecture/Infrastructure Layers (ISO 7 layer, Internet 4 layer) : Cross layer State : stateless End-to-end : hop-by-hop Core : Edge Centralized : distributed Client/server : P2P -> Cloud Wired : wireless Static : mobile Throughput : energy … CMPT771 Introduction 42 Internet Evolution cont’d Application Killer application • Telnet, FTP, email, WWW, P2P, UGC Video, Social networking, Cloud … Media Byte – Text – Hypertext Audio (VoIP) Video (Live, on-demand) 3D Video Social media (hyper media) Application/media driven design (top-down approach) CMPT771 Introduction 43 Case study: Multimedia Networking Key issue: Media Streaming: Media (audio/video) at source transmitted to client streaming: client playout begins before all data has arrived CMPT771 Introduction 44 Streaming Multimedia: What’s it ? time streaming: at this time, client playing out early part of video, while server still sending later part of video CMPT771 Introduction 45 MM Networking Applications Classes of MM applications: 1) Streaming stored audio and video (YouTube, GoogleVideo …) 2) Streaming live audio and video (IPTV, P2PTV) 3) Real-time interactive audio and video (Online game, distance learning) Jitter is the variability of packet delays within the same packet stream Fundamental characteristics: Typically delay sensitive end-to-end delay delay jitter But loss tolerant: infrequent losses cause minor glitches Opposite to data, which are loss intolerant but delay tolerant. CMPT771 Introduction 46 (1) Streaming Stored Multimedia 1. video recorded 2. video sent network delay 3. video received, played out at client time streaming: at this time, client playing out early part of video, while server still sending later part of video CMPT771 Introduction 47 (1) Streaming Stored Multimedia: Interactivity VCR-like functionality: client can pause, rewind, FF, push slider bar 10 sec initial delay OK 1-2 sec until command effect OK RTSP often used (more later) timing constraint for still-to-be transmitted data: in time for playout CMPT771 Introduction 48 (2) Streaming Live Multimedia Examples: Internet radio talk show Live sporting event Streaming playback buffer playback can lag tens of seconds after transmission still have timing constraint Interactivity fast forward impossible rewind, pause possible! CMPT771 Introduction 49 (3) Interactive, Real-Time Multimedia applications: IP telephony, video conference, distributed interactive worlds end-end delay requirements: audio: < 150 msec good, < 400 msec OK • includes application-level (packetization) and network delays • higher delays noticeable, impair interactivity session initialization how does callee advertise its IP address, port number, encoding algorithms? CMPT771 Introduction 50 When media meet Internet … Multimedia applications: network audio and video (“continuous media”) QoS network provides application with Qualityof-Service needed for application to function. CMPT771 Introduction 51 Internet: Vehicle for Media Distribution Heterogeneous network Protocols, routing, links, network technologies, end-hosts, bandwidth, delay, etc Best effort service Available BW is unknown and variable Loss rate and loss pattern are unknown and variable Resources are shared TCP/IP is the dominating protocol stack CMPT771 Introduction 52 Multimedia Over Today’s Internet TCP/UDP/IP: “best-effort service” no guarantees on delay, loss ? ? ? ? ? ? ? But you said multimedia apps requires ? them to be effective! ? ? ? CMPT771 Introduction 53 The Reality Rapid growth of multimedia streaming Popularity of the Web and the Internet High-bandwidth access (Cable, DSL, LAN) High overhead imposed on the Internet Long, high-bandwidth streams Unfriendly to traditional TCP traffic Poor and inconsistent quality of streams Small picture size Low frame rate Fluctuation in quality CMPT771 Introduction 54 How should the Internet evolve to better support multimedia? 1. Laissez-faire no major changes more bandwidth when needed 3. Differentiated services philosophy: Fewer changes to Internet infrastructure, yet provide 1st and 2nd class service. 2. Integrated services philosophy: Fundamental changes in Internet so that apps can reserve end-to-end bandwidth What’s your opinion? CMPT771 Introduction 55 Alternatively… Media adaptation Can media (audio/video) adapt to network ? How to do ? Network monitoring Adaptive coding … Where to do ? Source Enroute … CMPT771 Introduction 56 Architecture: Client-Server? Limited scalability Single point of failure Limited & unstable quality Client Client Client Asynchronous access could be inefficient Increasing network capacity doesn’t solve these problems? Multicasting ? Internet Server CMPT771 Introduction 57 New Distribution Architectures Extending client-server architecture Proxy Caching Content Distribution Networks (CDN) Replacing client-server architecture Peer-to-Peer Networks CMPT771 Introduction 58 Proxy Caching for Streaming Media Campus Client Server2 Proxy Client ISP Client Client Client Internet Server1 Proxy Client Client CMPT771 Introduction 59 CDN for Streaming Media Campus Client Server2 Client Server1 ISP Client Client Client Internet Server1 Server1 Client Client CMPT771 Introduction 60 Peer-to-peer Streaming Client Server2 Client ISP Client Client Internet Server1 Client Client Client CMPT771 Introduction 61 Social Media ? CMPT771 Introduction 62 Cloud Media ? PS4: November 15, 2013 CMPT771 Introduction 63 What will be covered in this course ? Transport layer issues UDP/TCP protocol TCP fairness/TCP modeling/TCP friendly rate control ITU/IETF media streaming protocols • H.323 video conferencing • Realtime Transport Protocol (RTP)/RTCP/RTSP, SAP/SDP Digital media background Digitization Transform coding and entropy coding Motion estimation and compensation Video/audio standards MPEG-1,2,4,7, H.261/263/264, JPEG, MP3 Network layer issues Current and next-generation Internet Best-effort model Integrated Service (IntServ) model: RSVP Differential Service (DiffServ) model Multicasting: routing and scalable video multicast CMPT771 Introduction 64 What will be covered in this course ? Application layer issues Proxy caching Peer-to-peer networks Wireless Basics Wireless basics TDMA/FDMA/CDMA From 1G to 4G wireless networks Media over wireless Advanced topics Wireless mesh/sensor networking Data center/Cloud/Social networking Research in the general networking area How to select a topic ? Important journals/conferences CMPT771 Introduction 65 Class Information Class structure Lectures (midterm exam) Paper presentation and summary (survey) Project Goals: To become familiar with fundamental and advanced issues, design and evaluation methodologies of Internet architecture and protocols To evaluate previous work and identify interesting open research problems in this area CMPT771 Introduction 66 Grading Scheme Course participation 25% Midterm 30% Survey, presentation/Summary/Project 45% Most important: what you have learnt in this course? CMPT771 Introduction 67 Grading Scheme Course participation 25% Midterm 30% Survey, presentation/Summary/Project 45% Plagiarism is absolutely unacceptable ! Violators will have FD score (failed for academic dishonesty) ! A simple rule: Every single sentence in your report/homework must be written by yourself ! Check: www.sfu.ca/students/academicintegrity/resources/academichonestyguide.html CMPT771 Introduction 68