ine1020: introduction to internet engineering 5: web-based applications1 lecture 12: emerging...

21
5: Web-based Applications 1 INE1020: Introduction to Internet Engineering Lecture 12: Emerging Internet Technologies Peer-to-peer vs. client-server computing Multicast vs. unicast communications Internet Telephony

Upload: camille-douthat

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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/