ON DEMAND LECTURE PART II By Dr. Nawaporn Wisitpongphan
Dec 26, 2015
INTRODUCTION TO VOIP Broadband Internet offers high-speed
connection Many applications become viable e.g.,
multimedia streaming, VoIP, etc. The technology for transmitting voice
conversation over the Internet has been available since early 1980s
VoIP allows two-way voice transmission over broadband connections
VoIP also carries telephony signals as digital audio Reduce data rate by using speech data
compression Encapsulating in a packet stream sent over IP
network
VOIP Not yet a big player with less than 5% of
market
Cost savings, enhanced voice services and new applications major advantages
VoIP gateways bridge circuit-switched PSTN and packet-switched Internet Gateways packetize, and compress voice, route
packets, authenticate users, and manage network of gateways
VOIP HARDWARE Enterprise gateway
Deployed between PBX and WAN device (router) for call set-up,routing, and conversion
VoIP routers Voice cards perform packetization and compression
functions in a router IP PBX
Distributed telephony servers that operat ein packt-switched mode
ISP VoIP gateways Aggregate incoming traffic and routing
VOIP STANDARDS H.323
Based on ISDN and limited to point-to-point applications
SIP Application layer (signaling) protocol Establishes temp sessions for multimedia
conferences, telephony, mobile phone-to-instant messaging
LDAP Standard directory server technology for Internet Enables retrieval of information from multi-vendor
directories Used for free phone and Internet phone number
hosting
THE PHONE WORKS – WHY BOTHER WITH VOIP
user perspective carrier perspective
variable compression: tin can to broadcast quality no need for dedicated lines
better codecs + silence suppression – packet header overhead = maybe reduced bandwidth
security through encryption shared facilities simplify management, redundancy
caller & talker identification advanced services
better user interface (more than 12 keys, visual feedback, semantic rather than stimulus)
cheaper bit switching
no local access fees (but dropping to 1c/min for PSTN)
transmit as data rather than voiceband data (14.4 kb/s)
adding video, application sharing is easy
VOIP VS PSTN (PUBLIC SWITCH TELEPHONE NETWORK) VoIP can transmit more than one phone call over the
same broadband connection
Conference call, call forwarding, auto redial, caller ID are free of charge
Secure calls using protocols such as (Secure Real-Time Transport Protocol)
Connection Independence. Can use VoIP anywhere there’s an Internet
Integration with other services available
Mobility
VOIP: DRAWBACK AND CHALLENGES Available Bandwidth
Network Latency
Packet Loss
Jitter
Echo
Security
Realiability
THE FIVE-PHASE "Technology Trigger" — The first phase of a hype cycle is the
"technology trigger" or breakthrough, product launch or other event that generates significant press and interest.
"Peak of Inflated Expectations" — In the next phase, a frenzy of publicity typically generates over-enthusiasm and unrealistic expectations. There may be some successful applications of a technology, but there are typically more failures.
"Trough of Disillusionment" — Technologies enter the "trough of disillusionment" because they fail to meet expectations and quickly become unfashionable. Consequently, the press usually abandons the topic and the technology.
"Slope of Enlightenment" — Although the press may have stopped covering the technology, some businesses continue through the "slope of enlightenment" and experiment to understand the benefits and practical application of the technology.
"Plateau of Productivity" — A technology reaches the "plateau of productivity" as the benefits of it become widely demonstrated and accepted. The technology becomes increasingly stable and evolves in second and third generations. The final height of the plateau varies according to whether the technology is broadly applicable or benefits only a niche market
ARCHITECTURAL OVERVIEW
Client with Web browser program Server with Web Server and pages (html) Other servers with Web Servers and pages Links between pages
BROWSER OPERATION WHEN USER CLICKS ON A LINK
B picks the URL from the clicked link B gets IP address of Web server from DNS B open TCP connection to the (IP, port 80) B sends a request for page (HTTP packet) W.S. sends the linked page (HTTP packet)
Page is in html language B. closes TCP connection B. interpret html, displays page to user B fetches & presents images linked to the file
THE CLIENT SIDE non html in page: PDF, GIF, JPEG, MP3, MPEG, ... Plug-ins: Code installed as an extension to the
browser Helper Applications, invoked by B as a separate
process
Plug-in Helper Application
SERVER SIDE
Accepts TCP connection Gets name of requested file (HTTP packet) Gets the file (local disk) Sends back the file (HTTP packets) Release TCP connection
To improve performance Maintain cache of files Multithreading
MULTI-THREADED WEB SERVER
Front-end thread accept request, build record Pass record to a Working Thread All threads share memory , including the cache If page not in cache, WT initiates disk read
TASKS OF A WORKING THREAD
Resolving name of the file Authenticating client (another lecture) Perform access control on client Check the cache Fetch file from disk Determine MIME type of file
This will be sent to the client Send reply to client
Construct HTTP packet(s) Write in the Web Server log What if the CPU can’t handle the load?
SERVER FARM ON A LAN
Problems Each Processing Node has its own cache
P.N. “specialize” with certain files Both requests and replies via the Front-end Solution?
TCP HANDOFF Front-end passes the TCP endpoint (IP, port) to
the Processing Node Processing Node send page to Client
Normal TCP Handoff
URLS – UNIFORM RESOURCE LOCATERS
URL provides answers to what? What is the name of the page? What is the location of the page? How to access the page (which protocol)?
?
?
STATELESSNESS AND COOKIES HTTP is request/reply; stateless But, server needs: to recognize users (registered?, adapt home page) to keep track of visited items (shopping cart) Cookies (small text files) keep that info.
Stored at Client C:\Documents and Settings\aviv\Cookies
Identified by domain name of the sending server
COOKIES: STRUCTUREdomain: where the cookie came fromPath: root of the file tree related to cookieContent: variableName=value pairs. AnythingExpires – if set it is kept (persistent cookie)Secure: If set cookie is sent only to secure server
Usages?
USING COOKIES
Casino server chooses which gambling option it presentsStore Server puts “items in cart” in the cookieWeb Portal server presents stock prices and Sport resultssneaky.com records visits of UserID in certain pages
pages include adds/banners/small picturesUser not aware its browser visited sneaky.comUser profile is built, maybe with name/password
USER-SERVER STATE: COOKIES
Many major Web sites use cookies
Four components:1) cookie header line in
the HTTP response message
2) cookie header line in HTTP request message
3) cookie file kept on user’s host and managed by user’s browser
4) back-end database at Web site
Example: Susan access Internet
always from same PC She visits a specific e-
commerce site for first time
When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID
33
COOKIES: KEEPING “STATE” (CONT.)
client server
usual http request msgusual http response
+Set-cookie: 1678
usual http request msg
cookie: 1678usual http response
msg
usual http request msg
cookie: 1678usual http response msg
cookie-specificaction
cookie-spectificaction
servercreates ID
1678 for user
entry in backend
database
access
acce
ss
Cookie file
amazon: 1678ebay: 8734
Cookie file
ebay: 8734
Cookie file
amazon: 1678ebay: 8734
one week later:
34
WEB CACHES (PROXY SERVER)
user sets browser: Web accesses via cache
browser sends all HTTP requests to cache object in cache: cache
returns object else cache requests
object from origin server, then returns object to client
Goal: satisfy client request without involving origin server
client
Proxyserver
client
HTTP request
HTTP request
HTTP response
HTTP response
HTTP request
HTTP response
origin server
origin server
35
MORE ABOUT WEB CACHING Cache acts as both
client and server Typically cache is
installed by ISP (university, company, residential ISP)
Why Web caching? Reduce response time
for client request. Reduce traffic on an
institution’s access link. Internet dense with
caches enables “poor” content providers to effectively deliver content (but so does P2P file sharing)
36
CACHING EXAMPLE Assumptions average object size = 100,000
bits avg. request rate from
institution’s browsers to origin servers = 15/sec
delay from institutional router to any origin server and back to router = 2 sec
Consequences utilization on LAN = 15% utilization on access link = 100% total delay = Internet delay +
access delay + LAN delay = 2 sec + minutes + milliseconds
originservers
public Internet
institutionalnetwork 10 Mbps LAN
1.5 Mbps access link
institutionalcache
37
CACHING EXAMPLE (CONT)Possible solution increase bandwidth of
access link to, say, 10 Mbps
Consequences utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay +
access delay + LAN delay
= 2 sec + msecs + msecs often a costly upgrade
originservers
public Internet
institutionalnetwork 10 Mbps LAN
10 Mbps access link
institutionalcache
38
CACHING EXAMPLE (CONT)Install cache suppose hit rate is .4Consequence 40% requests will be
satisfied almost immediately
60% requests satisfied by origin server
utilization of access link reduced to 60%, resulting in negligible delays (say 10 msec)
total avg delay = Internet delay + access delay + LAN delay = .6*(2.01) secs + milliseconds < 1.4 secs
originservers
public Internet
institutionalnetwork 10 Mbps LAN
1.5 Mbps access link
institutionalcache
39
DNS: DOMAIN NAME SYSTEMDomain 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 network’s “edge”
Why not centralize DNS? single point of failure traffic volume distant centralized database maintenance
doesn’t scale!
41
Root DNS Servers
com DNS servers org DNS servers edu DNS servers
poly.eduDNS servers
umass.eduDNS servers
yahoo.comDNS servers
amazon.comDNS servers
pbs.orgDNS servers
DISTRIBUTED, HIERARCHICAL DATABASE
Client wants IP for www.amazon.com; 1st approx: Client queries a root server to find com DNS
server Client queries com DNS server to get
amazon.com DNS server Client queries amazon.com DNS server to get
IP address for www.amazon.com
42
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
13 root name servers worldwideb USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
e NASA Mt View, CAf Internet Software C. Palo Alto, CA (and 17 other locations)
i Autonomica, Stockholm (plus 3 other locations)
k RIPE London (also Amsterdam, Frankfurt)
m WIDE Tokyo
a Verisign, Dulles, VAc Cogent, Herndon, VA (also Los Angeles)d U Maryland College Park, MDg US DoD Vienna, VAh ARL Aberdeen, MDj Verisign, ( 11 locations)
43
TLD AND AUTHORITATIVE SERVERS Top-level domain (TLD) servers: responsible for
com, org, net, edu, etc, and all top-level country domains uk, fr, ca, jp. Network solutions maintains servers for com TLD Education for edu TLD
Authoritative DNS servers: organization’s DNS servers, providing authoritative hostname to IP mappings for organization’s servers (e.g., Web and mail). Can be maintained by organization or service provider
44
LOCAL NAME SERVER
Does not strictly belong to hierarchy Each ISP (residential ISP, company,
university) has one. Also called “default name server”
When a host makes a DNS query, query is sent to its local DNS server Acts as a proxy, forwards query into hierarchy.
45
requesting hostcis.poly.edu
gaia.cs.umass.edu
root DNS server
local DNS serverdns.poly.edu
1
23
4
5
6
authoritative DNS serverdns.cs.umass.edu
78
TLD DNS server
ITERATED QUERIES
Host at cis.poly.edu wants IP address for gaia.cs.umass.edu
iterated query: contacted server replies
with name of server to contact
“I don’t know this name, but ask this server”
46