Chapter 6 - Computing Science

advertisement
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
Download