5: Web-based Applications 1INE1020: Introduction to Internet
Engineering
Lecture 12: Emerging Internet Technologies
Peer-to-peer vs. client-server computing Multicast vs. unicast communications Internet Telephony
5: Web-based Applications 2INE1020: Introduction to Internet
Engineering
1. Peer-to-peer Computing
Peer-to-peer computing: Hosts or computers are linked together without a
central repository for applications. Hosts communicate with one another to share files. Each host can act both as client or server at the same
time. cf. in client-server computing:
• a client is connected to a server (which is normally bigger and faster than the client).
• a server functions as the “nerve center”, where shared applications are located.
• clients talk to the the server when they need to use applications.
• The server rarely gets any files from the client. Example: Napster, Gnutella, Freenet
5: Web-based Applications 3INE1020: Introduction to Internet
Engineering
1. Peer-to-peer Computing
Key components: Tracking online users
• Where to keep the information of which users are currently online.
• Choice: centralized (by a special server) or distributed (by each user).
Peer-to-peer sharing model• push, pull, or both models• protocol choice: HTTP, FTP, ...
5: Web-based Applications 4INE1020: Introduction to Internet
Engineering
1.1. P2P Example: Napster provides the ability to search
for MP3 files and initiate a direct transfer between the clients (MP3 format is a compression system for music ). the files stay on the client
machine, never passing through the server.
Centralized user tracking: Napster logs online users
onto the central server. The main purpose of this
central server is to keep an index of all the Napster users currently online and connect them to each other. It does not contain any of the MP3 files itself.
5: Web-based Applications 5INE1020: Introduction to Internet
Engineering
1.1. P2P Example: Napster
Query: • Napster utility queries the
index server for other Napster computers online that have the MP3 files you have requested.
• Whenever a match is found, the Napster server returns a list of computers which have the requested file.
Peer-to-peer sharing model: Pull-model. You initiate the
downloading of the file(s).
OpenNap: Open Source Napster Server Extension of Napster to
share any media types and to link servers together
http://opennap.sourceforge.net/
5: Web-based Applications 6INE1020: Introduction to Internet
Engineering
1.2. P2P Example: Gnutella
Allows sharing of any file types.
Distributed user tracking: Your Gnutella utility
announces your presence to the peer that you connect to.
The peer then propagates that information to all the peers it connects to and so on.
Example:
Query:• You send your query to the
peer that you connect to.• That peer then propagates
your queries to all peers that it connects to and so on.
• Peers that have the requested files send replies to you.
Peer-to-peer sharing model: allows pull and push model.
To download Gnutella utility: http://www.gnutella.co.uk/
downloads/Alice Charlie
Eve Bob
5: Web-based Applications 7INE1020: Introduction to Internet
Engineering
2. Multicast
Multicast: sending of a packet from one sender to
multiple receivers with a single send operation involve one sender and multiple receivers -
multicast group cf. unicast: involve just one sender and one
receiver Example of multicast applications:
• sending time-critical, real-time stock quotes to clients
• news broadcast, video conferencing
5: Web-based Applications 8INE1020: Introduction to Internet
Engineering
2. Multicast
Multicast application can be implemented in many ways: use separate unicast transport connection to each of
the receivers use native multicast support at the network layer what are the advantages of the second approach ?
5: Web-based Applications 9INE1020: Introduction to Internet
Engineering
2. Multicast
Some reasons for using multicasting: to decrease the network load.
• E.g. in stock ticker applications which are required to transmit packets to hundreds of stations.
supports webcasting applications (audio and video applications).
• E.g. one source sending real-time audio and video over the Internet to one or more receivers
client flexibility in joining and leaving a group makes the variable membership much easier to handle.
5: Web-based Applications 10INE1020: Introduction to Internet
Engineering
2. Multicast
A single IP address is used to identify the group of receivers, namely: class D multicast address
address 224.0.0.1 is used to address all hosts that take part in IP multicasting
there is no network and host part, so the receivers may be spread across many networks
1110 multicast addressD 224.0.0.0 to239.255.255.255
32 bits
5: Web-based Applications 11INE1020: Introduction to Internet
Engineering
2. Multicast
Questions: How to establish and maintain a multicast group ? How to deliver a multicast datagram to all group
members ?
5: Web-based Applications 12INE1020: Introduction to Internet
Engineering
2. Multicast
Answers: IGMP: Internet Group Management Protocol - for a host
to join/leave a multicast group• version 2 (IETF RFC 2236)• operates between a host and its directly attached router• used by the host to tell its attached router that its
application wants to join a specific multicast group
5: Web-based Applications 13INE1020: Introduction to Internet
Engineering
2. Multicast
Answers: multicast routing protocols - for routers to deliver
datagrams to the hosts that want to receive them• it finds a tree of links that connects all of the routers that
have attached hosts belonging to the multicast group
5: Web-based Applications 14INE1020: Introduction to Internet
Engineering
2. Multicast Example: MBone
MBone: Multicast Backbone MBone is a virtual Internet Backbone for Multicast IP an experimental system which is acting as a testbed for
multicast application and protocol design and refinement. a voluntary effort, consisting of Internet service providers
who route multicast traffic over their networks, and end users who install multicast routers at their sites.
MBone Multimedia Applications VideoConference (vic) Visual Audio Tool (vat) WhiteBoard (wb) Robust Audio Tool (rat) Other Tools
5: Web-based Applications 15INE1020: Introduction to Internet
Engineering
3. Internet Telephony
What is Internet Telephony? Definition: Internet telephony (IPT) is
transport of telephone calls over the Internet, no matter whether traditional telephony devices, multimedia PCs or dedicated terminals take part in the calls and no matter whether the calls are entirely or only partially transmitted over the Internet.
5: Web-based Applications 16INE1020: Introduction to Internet
Engineering
3. Internet Telephony
Also known as VoIP (Voice over IP) Telephony Refers to communications services - voice,
fascimile, and/or voice-messaging applications - that are transported via the Internet rather than PSTN.
Involves: conversion of the analog voice signal to digital format compression/translation of the signal into IP packets for
transmission over the Internet. the process is reversed at the receiving end.
5: Web-based Applications 17INE1020: Introduction to Internet
Engineering
3. Internet Telephony
Benefits of IP Telephony Efficiency:
• Network unification & convergence– Unify network operation, management and maintenance
• Better utilize available network resources– Packetization allows transport of multiple media formats
• Ultimately delivering inexpensive calling Flexibility:
• Efficient, Colorful and Information-rich Communications – Packetized voice can be mixed, maneuvered, and transported
together with other types of media enabling unlimited opportunities for application innovation and value creation
– Simultaneous availability of rich and relevant information
5: Web-based Applications 18INE1020: Introduction to Internet
Engineering
3. Internet Telephony
Connection configuration: PC-to-PC
PC-to-Phone
• via ITG = Internet Telephony Gateway Phone-to-Phone
Phone-to-PC
ITG
ITGITG
ITG
5: Web-based Applications 19INE1020: Introduction to Internet
Engineering
Phone network
connection
Translation function
Internet connectionPSTN Internet
3. Internet Telephony
Internet Telephony Gateway (ITG) takes the standard telephone signal, digitizes it, significantly
compresses it, packetizes it for the Internet using Internet Protocol (IP), and routes it to a destination over the Internet.
reverses the operation for packets coming in from the network and going out the phone.
both operations (coming from and going to the phone network) take place at the same time, allowing a two-way conversation.
5: Web-based Applications 20INE1020: Introduction to Internet
Engineering
3. Internet Telephony
Internet telephony applications: Unified messaging - voicemail2email. Adding Voice to the Interactive Online Gaming
Experience
IP Network
5: Web-based Applications 21INE1020: Introduction to Internet
Engineering
Further Readings
P2P Computing Napster
• http://www.howstuffworks.com/napster2.htm Gnutella
• http://www.rixsoft.com/Knowbuddy/gnutellafaq.html
Multicast http://www.cs.columbia.edu/~hgs/internet/
multicast.html Interactive Communications
• http://iptel.org/info/• http://www.iptelephony.org/GIP/technology/