Chapter 6 - Computing Science
Download
Report
Transcript Chapter 6 - Computing Science
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: [email protected]
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