CSSE%20593%20Internet%20Applications%20 - PowerPoint PPT Presentation

About This Presentation
Title:

CSSE%20593%20Internet%20Applications%20

Description:

Dr. Yingwu Zhu – PowerPoint PPT presentation

Number of Views:124
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: CSSE%20593%20Internet%20Applications%20


1
CSSE 593 Internet Applications Services
  • Dr. Yingwu Zhu

2
What are Internet Services?
  • What is an internet?
  • Network of networks
  • What is the Internet?
  • A global internet based on the IP protocol
  • To what does Internet technology refer?
  • Architecture, protocols and services
  • Services accessed over the net

3
Internet Players
  • Users, people who use the applications
  • Everyone (mom and pop, kids)
  • get something done (hopefully useful)
  • Service Designers
  • You protocol design and implementation
  • Scale, performance, cost, incremental deployment
  • Service Providers/middleware
  • Administrators and ISPs
  • Management, revenue, deployment
  • Market/business models for the Internet
  • Consumer to consumer (ebay), Business to
    consumer(amazon, Orbitz), Business to business
    (IBM, ARIBA),Consumer to business (hotjobs,
    monster)

4
Internet Service
  • Simple client/server abstraction
  • Client sends a request, and server sends a
    response
  • Informational, transactional in nature

5
Evolution of Web Services
  • Web 1.0
  • Users as readers of content (read-only)
  • Web 2.0
  • Users create content (group communication)
  • Read-write
  • E.g. social network sites, blogs, wikis, Youtube
  • Web 3.0 ?
  • Read, write, execute (in context,
    personalization), programs
  • using semantic web, microformats, natural
    language search, data mining, machine learning,
    recommendation agents, and artificial
    intelligence technologies to improve user
    experience
  • Web 4.0 ?
  • Every living/non-living object connected?

6
App. Preferences Change over Time
7
Internet Users
1. China 179.7 million2. United States 163.3
million3. Japan 60.0 million4. Germany 37.0
million5. United Kingdom 36.7 million6.
France 34.0 million7. India 32.1 million8.
Russia 29.0 million9. Brazil 27.7 million10.
South Korea 27.3 million11. Canada 21.8
million12. Italy 20.8 million13. Spain 17.9
million14. Mexico 12.5 million15. Netherlands
11.8 million
top 15 countries by internet population from
comScore as of Dec. 2008, one billion in total
8
Online gaming explodes
9
Some interesting statistics
  • 46 of Internet users watch an online video once
    a week (as of Sept06)
  • 8 of Internet users downloaded a movie during
    the 3Q06 using P2P apps
  • 60 adult content, 20 TV content, rest is
    movies, clips, etc
  • YouTube stats (March06)
  • 50 users are younger than 20 years old
  • 60 all videos watched online
  • 65,000 new videos uploaded daily
  • Total viewing time about 10,000 years!
  • YouTube consumed as much bandwidth in 2006 as the
    whole Internet did in 2000

10
How do (USA) people use the Web?
  • Almost all users do the basics (email, Web
    browsing)
  • 50 of users pay bills online
  • 25 online job hunting
  • 8 upload videos
  • 5 publish blogs
  • 4 date online

11
(No Transcript)
12
Some statistics
  • The explosive growth in video apps downloads
    strains the networks capacity
  • YouTube today (January 2007) consumes as much
    bandwidth as the entire Internet consumed in the
    year 2000
  • P2P video accounts for 30-40 total traffic in
    2007
  • Predicted Internet video could soon consume 10
    times the Internet current yearly traffic
  • BitTorrent accounts for as much as 40 of all
    worldwide internet traffic (Dec. 2006)

13
Whats the Internet nuts and bolts view
  • millions of connected computing devices hosts,
    end-systems
  • pcs workstations, servers
  • PDAs phones, toasters
  • running network apps
  • communication links
  • fiber, copper, radio, satellite
  • routers forward packets (chunks) of data thru
    network

14
Whats the Internet nuts and bolts view
  • protocols control sending, receiving of msgs
  • e.g., TCP, IP, HTTP, FTP, PPP
  • Internet network of networks
  • loosely hierarchical
  • public Internet versus private intranet
  • Internet standards
  • RFC Request for comments
  • IETF Internet Engineering Task Force

router
workstation
server
mobile
local ISP
regional ISP
company network
15
Whats the Internet a service view
  • communication infrastructure enables distributed
    applications
  • WWW, email, games, e-commerce, database., voting,
  • more?
  • communication services provided
  • connectionless
  • connection-oriented

16
Perspective
  • Network users Does the network support the
    users applications
  • Reliability
  • Error free service
  • Speed of data transfer
  • Network designers Cost efficient network design
  • Good utilization of network resources
  • Cost of building the network
  • Types of services to be supported

17
Perspective
  • Network providers Network administration and
    customer service
  • Maximize Revenue
  • Minimize Operations Expenses
  • Survivability and Resiliency (Why)

18
Whats a protocol?
  • human protocols
  • whats the time?
  • I have a question
  • introductions
  • specific msgs sent
  • specific actions taken when msgs received, or
    other events
  • network protocols
  • machines rather than humans
  • all communication activity in Internet governed
    by protocols

protocols define format, order of msgs sent and
received among network entities, and actions
taken on msg transmission, receipt
19
Whats a protocol?
  • a human protocol and a computer network protocol

Hi
TCP connection req.
Hi
20
Protocols
  • Building blocks of a network architecture
  • Each protocol object has two different interfaces
  • service interface defines operations on this
    protocol
  • peer-to-peer interface defines messages
    exchanged with peer
  • Term protocol is overloaded
  • specification of peer-to-peer interface
  • module that implements this interface

21
The network edge
  • end systems (hosts)
  • run application programs
  • e.g., WWW, email
  • at edge of network
  • client/server model
  • client host requests, receives service from
    server
  • e.g., WWW client (browser)/ server email
    client/server
  • peer-peer model
  • host interaction symmetric
  • e.g. teleconferencing, Gnutella, Kazza

22
Network edge connection-oriented service
  • Goal data transfer between end sys.
  • handshaking setup (prepare for) data transfer
    ahead of time
  • Hello, hello back human protocol
  • set up state in two communicating hosts
  • TCP - Transmission Control Protocol
  • Internets connection-oriented service
  • TCP service RFC 793
  • reliable, in-order byte-stream data transfer
  • loss acknowledgements and retransmissions
  • flow control
  • sender wont overwhelm receiver
  • congestion control
  • senders slow down sending rate when network
    congested

23
Network edge connectionless service
  • Goal data transfer between end systems
  • same as before!
  • UDP - User Datagram Protocol RFC 768
    Internets connectionless service
  • unreliable data transfer
  • no flow control
  • no congestion control
  • Apps using TCP
  • HTTP (WWW), FTP (file transfer), Telnet (remote
    login), SMTP (email)
  • Apps using UDP
  • streaming media, teleconferencing, Internet
    telephony

24
The Network Core
  • mesh of interconnected routers
  • the fundamental question how is data transferred
    through net?
  • circuit switching dedicated circuit per call
    telephone net
  • packet-switching data sent thru net in discrete
    chunks

25
Network Core Circuit Switching
  • End-end resources reserved for call
  • link bandwidth, switch capacity
  • dedicated resources no sharing
  • circuit-like (guaranteed) performance
  • call setup required

26
Cost-Effective Resource Sharing
  • Must share (multiplex) network resources among
    multiple users.
  • Common Multiplexing Strategies
  • Time-Division Multiplexing (TDM)
  • Frequency-Division Multiplexing (FDM) Frequency
    band ? bandwidth
  • Multiplexing multiple logical flows over a single
    physical link.

27
Network Core Circuit Switching
  • network resources (e.g., bandwidth) divided into
    pieces
  • pieces allocated to calls
  • resource piece idle if not used by owning call
    (no sharing)
  • dividing link bandwidth into pieces
  • frequency division
  • time division

28
Network Core Packet Switching
  • each end-end data stream divided into packets
  • user A, B packets share network resources
  • each packet uses full link bandwidth
  • resources used as needed,
  • resource contention
  • aggregate resource demand can exceed amount
    available
  • congestion packets queue, wait for link use
  • store and forward packets move one hop at a time
  • transmit over link
  • wait turn at next link

29
Network Core Packet Switching
On-demand sharing
10 Mbs Ethernet
C
A
statistical multiplexing
1.5 Mbs
B
queue of packets waiting for output link
45 Mbs
30
Network Core Packet Switching
  • Packet-switching
  • store and forward behavior

31
Packet switching versus circuit switching
  • Packet switching allows more users to use network!
  • 1 Mbit link
  • each user
  • 100Kbps when active
  • active 10 of time
  • circuit-switching
  • 10 users
  • packet switching
  • with 35 users, probability gt 10 active less than
    .004

N users
1 Mbps link
32
Packet switching versus circuit switching
  • Is packet switching a slam dunk winner?
  • Great for bursty data
  • resource sharing
  • no call setup
  • Excessive congestion packet delay and loss
  • protocols needed for reliable data transfer,
    congestion control
  • Q How to provide circuit-like behavior?
  • bandwidth guarantees needed for audio/video apps
  • still an unsolved problem!

33
Packet-switched networks routing
  • Goal move packets among routers from source to
    destination
  • well study several path selection algorithms
  • datagram network
  • destination address determines next hop
  • routes may change during session
  • analogy driving, asking directions
  • virtual circuit network
  • each packet carries tag (virtual circuit ID),
    tag determines next hop
  • fixed path determined at call setup time, remains
    fixed thru call
  • routers maintain per-call state
  • ATM

34
Access networks and physical media
  • Q How to connect end systems to edge router?
  • residential access nets
  • institutional access networks (school, company)
  • mobile access networks
  • Keep in mind
  • bandwidth (bits per second) of access network?
  • shared or dedicated?

35
Residential access point to point access
  • Dialup via modem
  • up to 56Kbps direct access to router
    (conceptually)
  • ISDN intergrated services digital network
    128Kbps all-digital connect to router
  • ADSL asymmetric digital subscriber line
  • up to 1 Mbps home-to-router
  • up to 8 Mbps router-to-home

36
Residential access cable modems
  • HFC hybrid fiber coax
  • asymmetric up to 10Mbps upstream, 1 Mbps
    downstream
  • network of cable and fiber attaches homes to ISP
    router
  • shared access to router among home
  • issues congestion, dimensioning
  • deployment available via cable companies, e.g.,
    MediaOne, Comcast

37
Institutional access local area networks
  • company/univ local area network (LAN) connects
    end system to edge router
  • Ethernet
  • shared or dedicated cable connects end system and
    router
  • 10 Mbs, 100Mbps, Gigabit Ethernet
  • deployment institutions, home LANs soon

38
Wireless access networks
  • shared wireless access network connects end
    system to router
  • wireless LANs
  • radio spectrum replaces wire
  • e.g., Lucent Wavelan 10 Mbps
  • wider-area wireless access
  • CDPD wireless access to ISP router via cellular
    network (base stations)

39
Delay in packet-switched networks
  • nodal processing
  • check bit errors
  • determine output link
  • queueing
  • time waiting at output link for transmission
  • depends on congestion level of router
  • packets experience delay on end-to-end path
  • four sources of delay at each hop

40
Delay in packet-switched networks
  • Propagation delay
  • d length of physical link
  • s propagation speed in medium (2x108 m/sec)
  • propagation delay d/s
  • Transmission delay
  • Rlink bandwidth (bps)
  • Lpacket length (bits)
  • time to send bits into link L/R

Note s and R are very different quantities!
41
  • Latency (delay)
  • Time it takes to send message from point A to
    point B
  • Example 24 milliseconds (ms)
  • Sometimes interested in in round-trip time (RTT)
  • Components of latency
  • Latency Propagation Transmit Queue Proc.
  • Propagation Distance / SpeedOfLight
  • Transmit Size / Bandwidth

42
Transmission and Propagation Delays
  • Propagation delay
  • The propagation delay over a link is the time it
    takes a bit to travel from on end of the link to
    the other
  • d/s
  • Transmission delay
  • It is the amount of time it takes to push the
    packet onto the link
  • L/B
  • Total latency over the link
  • transmission delay propagation delay

43
  • Delay x Bandwidth Product
  • e.g., 100ms RTT and 45Mbps Bandwidth 560KB of
    data
  • We have to view the network as a buffer. This
    may have interesting consequences
  • How much data did the sender transmit before a
    response can be received?

Delay
Bandwidth
44
Internet protocol stack
  • application supporting network applications
  • ftp, smtp, http
  • transport host-host data transfer
  • tcp, udp
  • network routing of datagrams from source to
    destination
  • ip, routing protocols
  • link data transfer between neighboring network
    elements
  • ppp, ethernet
  • physical bits on the wire

45
Why layering?
  • Dealing with complex systems
  • explicit structure allows identification,
    relationship of complex systems pieces
  • layered reference model for discussion
  • modularization eases maintenance, updating of
    system
  • change of implementation of layers service
    transparent to rest of system
  • e.g., change in gate procedure doesnt affect
    rest of system
  • layering considered harmful?

46
Layering logical communication
  • Each layer
  • distributed
  • entities implement layer functions at each node
  • entities perform actions, exchange messages with
    peers

47
Layering logical communication
  • E.g. transport
  • take data from app
  • add addressing, reliability check info to form
    datagram
  • send datagram to peer
  • wait for peer to ack receipt
  • analogy post office

transport
transport
48
Layering physical communication
49
Protocol layering and data
  • Each layer takes data from above
  • adds header information to create new data unit
  • passes new data unit to layer below

source
destination
message
segment
datagram
frame
50
Protocol Data Units
  • The combination of data from the next higher
    layer and control information is referred to as
    PDU.
  • Control Information in the Transport Layer may
    include
  • Destination Service Access Point (DSAP)
  • Sequence number
  • Error-detection code

51
Internet structure network of networks
  • roughly hierarchical
  • national/international backbone providers (NBPs)
  • e.g. BBN/GTE, Sprint, ATT, IBM, UUNet
  • interconnect (peer) with each other privately, or
    at public Network Access Point (NAPs)
  • regional ISPs
  • connect into NBPs
  • local ISP, company
  • connect into regional ISPs

regional ISP
NBP B
NBP A
regional ISP
52
National Backbone Provider
e.g. BBN/GTE US backbone network
53
Applications and application-layer protocols
  • Application communicating, distributed processes
  • running in network hosts in user space
  • exchange messages to implement app
  • e.g., email, file transfer, the Web
  • Application-layer protocols
  • one piece of an app
  • define messages exchanged by apps and actions
    taken
  • user services provided by lower layer protocols

54
Client-server paradigm
  • Typical network app has two pieces client and
    server
  • Client
  • initiates contact with server (speaks first)
  • typically requests service from server,
  • for Web, client is implemented in browser for
    e-mail, in mail reader, e.g., outlook
  • Server
  • provides requested service to client
  • e.g., Web server sends requested Web page, mail
    server delivers e-mail

55
What transport service does an app need?
  • Data loss
  • some apps (e.g., audio) can tolerate some loss
  • other apps (e.g., file transfer, telnet) require
    100 reliable data transfer
  • Timing
  • some apps (e.g., Internet telephony, interactive
    games) require low delay to be effective
  • Bandwidth
  • some apps (e.g., multimedia) require minimum
    amount of bandwidth to be effective
  • other apps (elastic apps) make use of whatever
    bandwidth they get

56
Transport service requirements of common apps
Time Sensitive no no no yes, 100s msec yes,
few secs yes, 100s msec yes and no
Application file transfer e-mail Web
documents real-time audio/video stored
audio/video interactive games financial apps
Data loss no loss no loss loss-tolerant loss-tole
rant loss-tolerant loss-tolerant no loss
Bandwidth elastic elastic elastic audio
5Kb-1Mb video10Kb-5Mb same as above few Kbps
up elastic
57
Services provided by Internet transport protocols
  • UDP service
  • unreliable data transfer between sending and
    receiving process
  • does not provide connection setup, reliability,
    flow control, congestion control, timing, or
    bandwidth guarantee
  • Q why bother? Why is there a UDP?
  • TCP service
  • connection-oriented setup required between
    client, server
  • reliable transport between sending and receiving
    process
  • flow control sender wont overwhelm receiver
  • congestion control throttle sender when network
    overloaded
  • does not providing timing, minimum bandwidth
    guarantees

58
Internet apps their protocols and transport
protocols
Application layer protocol smtp RFC 821 telnet
RFC 854 http RFC 2068 ftp RFC
959 proprietary (e.g. RealNetworks) NSF proprieta
ry (e.g., Vocaltec)
Underlying transport protocol TCP TCP TCP TCP TCP
or UDP TCP or UDP typically UDP
Application e-mail remote terminal access Web
file transfer streaming multimedia remote file
server Internet telephony
59
The Web the http protocol
  • http hypertext transfer protocol
  • Webs application layer protocol
  • client/server model
  • client browser that requests, receives,
    displays Web objects
  • server Web server sends objects in response to
    requests
  • http1.0 RFC 1945
  • http1.1 RFC 2068

http request
PC running Explorer
http response
http request
Server running NCSA Web server
http response
Mac running Navigator
60
The http protocol more
  • http is stateless
  • server maintains no information about past client
    requests
  • http TCP transport service
  • client initiates TCP connection (creates socket)
    to server, port 80
  • server accepts TCP connection from client
  • http messages (application-layer protocol
    messages) exchanged between browser (http client)
    and Web server (http server)
  • TCP connection closed

aside
  • Protocols that maintain state are complex!
  • past history (state) must be maintained
  • if server/client crashes, their views of state
    may be inconsistent, must be reconciled

61
HTTP Usage
  • HTTP is the protocol that supports communication
    between web browsers and web servers.
  • A Web Server is a HTTP server
  • Most clients/servers today speak version 1.1, but
    1.0 is also in use.

62
http 1.0 example
  • Suppose user enters URL www.someSchool.edu/someDep
    artment/home.index

(contains text, references to 10 jpeg images)
  • 1a. http client initiates TCP connection to http
    server (process) at www.someSchool.edu. Port 80
    is default for http server.

1b. http server at host www.someSchool.edu
waiting for TCP connection at port 80. accepts
connection, notifying client
2. http client sends http request message
(containing URL) into TCP connection socket
3. http server receives request message, forms
response message containing requested object
(someDepartment/home.index), sends message into
socket
time
63
http example (cont.)
4. http server closes TCP connection.
  • 5. http client receives response message
    containing html file, displays html. Parsing
    html file, finds 10 referenced jpeg objects

6. Steps 1-5 repeated for each of 10 jpeg objects
time
64
Non-persistent and persistent connections
  • Persistent
  • default for HTTP/1.1
  • on same TCP connection server, parses request,
    responds, parses new request,..
  • Client sends requests for all referenced objects
    as soon as it receives base HTML.
  • Fewer RTTs and less slow start.
  • Non-persistent
  • HTTP/1.0
  • server parses request, responds, and closes TCP
    connection
  • 2 RTTs to fetch each object
  • Each object transfer suffers from slow start

But most 1.0 browsers use parallel TCP
connections.
65
http request message general format
Entity body is empty for GET, but not for POST
66
Web Caches (proxy server)
Goal satisfy client request without involving
origin server
  • user sets browser Web accesses via web cache
  • client sends all http requests to web cache
  • if object at web cache, web cache immediately
    returns object in http response
  • else requests object from origin server, then
    returns http response to client

origin server
Proxy server
http request
http request
client
http response
http response
http request
http request
http response
http response
client
origin server
67
Why Web Caching?
origin servers
  • Assume cache is close to client (e.g., in same
    network)
  • smaller response time cache closer to client
  • decrease traffic to distant servers
  • link out of institutional/local ISP network often
    bottleneck

public Internet
1.5 Mbps access link
institutional network
10 Mbps LAN
institutional cache
68
Web Caching Hierarchy
  • Hierarchy of caches to serve more population
  • ICP (Internet cache protocol) to coordinate web
    caches

69
DNS Domain Name System
  • People many identifiers
  • SSN, name, Passport
  • Internet hosts, routers
  • IP address (32 bit) - used for addressing
    datagrams
  • name, e.g., gaia.cs.umass.edu - used by humans
  • Q map between IP addresses and name ?
  • Domain Name System
  • distributed database implemented in hierarchy of
    many name servers
  • application-layer protocol host, routers, name
    servers to communicate to resolve names
    (address/name translation)
  • note core Internet function implemented as
    application-layer protocol
  • complexity at networks edge

70
DNS name servers
  • no server has all name-to-IP address mappings
  • local name servers
  • each ISP, company has local (default) name server
  • host DNS query first goes to local name server
  • authoritative name server
  • for a host stores that hosts IP address, name
  • can perform name/address translation for that
    hosts name
  • Why not centralize DNS?
  • single point of failure
  • traffic volume
  • distant centralized database
  • Maintenance
  • DoS attacks?
  • doesnt scale!

71
DNS Root name servers
  • contacted by local name server that can not
    resolve name
  • root name server
  • contacts authoritative name server if name
    mapping not known
  • gets mapping
  • returns mapping to local name server
  • dozen root name servers worldwide
  • 13 root DNS servers replication for security and
    reliability
  • Top-level DNS server org, edu, com, jp,cn, fr, uk

72
Simple DNS example
root name server
  • host surf.eurecom.fr wants IP address of
    gaia.cs.umass.edu
  • 1. Contacts its local DNS server, dns.eurecom.fr
  • 2. dns.eurecom.fr contacts root name server, if
    necessary
  • 3. root name server contacts authoritative name
    server, dns.umass.edu, if necessary

2
4
3
5
authorititive name server dns.umass.edu
1
6
requesting host surf.eurecom.fr
gaia.cs.umass.edu
73
DNS example
root name server
  • Root name server
  • may not know authoratiative name server
  • may know intermediate name server who to contact
    to find authoritative name server

6
2
3
7
5
4
1
8
authoritative name server dns.cs.umass.edu
requesting host surf.eurecom.fr
gaia.cs.umass.edu
74
DNS iterated queries
root name server
  • recursive query
  • puts burden of name resolution on contacted name
    server
  • heavy load?
  • iterated query
  • contacted server replies with name of server to
    contact
  • I dont know this name, but ask this server

iterated query
2
3
4
7
5
6
1
8
authoritative name server dns.cs.umass.edu
requesting host surf.eurecom.fr
gaia.cs.umass.edu
75
DNS caching and updating records
  • once (any) name server learns mapping, it caches
    mapping
  • cache entries timeout (disappear) after some time
  • update/notify mechanisms under design by IETF
  • RFC 2136
  • http//www.ietf.org/html.charters/dnsind-charter.h
    tml

76
DNS records
  • DNS distributed db storing resource records (RR)
  • TypeCNAME
  • name is an alias name for some cannonical (the
    real) name
  • value is cannonical name
  • TypeA
  • name is hostname
  • value is IP address
  • TypeNS
  • name is domain (e.g. foo.com)
  • value is IP address of authoritative name server
    for this domain
  • TypeMX
  • value is hostname of mailserver associated with
    name

77
DNS records
  • For a particular hostname
  • If a DNS server is authoritative, it contains
  • a Type A record for the hostname
  • Otherwise
  • Maybe a Type A record for the hostname in cache
  • a Type NS record for the domain of the hostname
  • a Type A record for the DNS server for that
    domain
  • Host gaia.cs.umass.edu
  • (umass.edu, dns.umass.edu, NS)
  • (dns.umass.edu, 128.119.40.111, A)

78
DNS protocol, messages
  • DNS protocol query and repy messages, both with
    same message format
  • msg header
  • identification 16 bit for query, repy to query
    uses same
  • flags
  • query or reply
  • recursion desired
  • recursion available
  • reply is authoritative

79
DNS protocol, messages
Name, type fields for a query
RRs in reponse to query
records for authoritative servers
additional helpful info that may be used
Try nslookup?
80
Mystery How to set up your DNS server?
  • You setup a company mynet.com
  • Step 1 register your domain name with a
    registrar
  • Provide name and IP address mapping
  • Primary authoritative DNS server dns1.mynet.com,
    212.212.212.1
  • Optional secondary DNS server dns.mynet.com,
    212.212.212.2
  • Registrar will insert type NS and A records for
    you
  • (mynet.com, dns1.mynet.com, NS)
  • (dn1.mynet.com, 212.212.212.1, A)
  • Step 2 insert records into your DNS server
  • For web server (www.mynet.com, 212.212.212.3,A)
  • For mail sever (mail.mynet.com, 212.212.212.4,
    MX)
  • Then, others can access your web server and send
    emails
Write a Comment
User Comments (0)
About PowerShow.com