1 Multimedia Services in the Internet Dorgham Sisalem / Sven Ehlert FhG Fokus sisalem@fokus.fhg.de...

Post on 23-Dec-2015

215 views 0 download

Tags:

Transcript of 1 Multimedia Services in the Internet Dorgham Sisalem / Sven Ehlert FhG Fokus sisalem@fokus.fhg.de...

1

Multimedia Services in the Multimedia Services in the InternetInternet

Multimedia Services in the Multimedia Services in the InternetInternet

Dorgham Sisalem / Sven EhlertFhG Fokus

sisalem@fokus.fhg.desip:sisalem@iptel.org

2

Lecture OverviewLecture OverviewLecture OverviewLecture Overview

• Introduction to the Course– Goals– Administrative Stuff– Topics covered

• Basic Networking Principles Refresh– PSTN– IP Networking– Routing

3

GoalsGoals

• Overview of multimedia service (SIP)• Understanding of multimedia services in the Internet • Understanding of the general pictures

– Transport protocols, signaling, traffic types, QoS

• Practical experience with protocols and applications• Basic knowledge of the different involved protocols and

concepts • We are not dealing with:

– Audio and video compression– Web programming– Image processing or speech recognition– Audio and video hardware– MMS or video over GSM– Where to get the latest movies or how to copy a DVD

4

StructureStructureStructureStructure

• Pre-requirements– Good understanding of IP networking principles

• 2-Hour credit• Written exam on 11.7

– There is no second exam date– There are no other exam means (oral …)

• Office hours: After the lecture• Contact:

– sisalem@fokus.fraunhofer.de

• Slides– http://www.tkn.tu-berlin.de/curricula/ss06/vl-mkn/index.html – Basically still valid but will be updated soon

5

ReferencesReferences

• www.ietf.org (RFCs and drafts)• www.iptel.org (SIP tutorial)• www.cs.columbia.edu/~hgs/internet Schulzrinne

Overview• Stevens, „TCP/IP Illustarted, V1“ (basic protocols)• Ferguson, Huston, „Quality of Service“ (general QoS stuff)• Henry Sinnreich and Alan B. Johnston „Internet

Communication Using SIP: Delivering VoIP and Multimedia Services with Session Initiation Protocol“

• Olivier Hersent, David Gurle, Jean-Pierre Petit,“IP Telephony“

• Huitema, „IPv6“• Wikipedia

6

AcknowledgementsAcknowledgementsAcknowledgementsAcknowledgements

• Slides based on work of Henning Schulzrinne, Jim Kurose, Michael Smirnov, Georg Carle, Jiri Kuthan, Heikki Waris, Kevin Fall, Jim Chou, Thinh Nguyen, Vishal Misra, Steve Deering, Geert Heijenk, Ofer Hadar, John Floroiu, Nick McKeown, Eric D. Siegel, Ibrahim Matta, Steven Low, Vincent Roca, Nitin H. Vaidya, Charles Lang as well many other anonymous contributers.

7

Topics: IntroductionTopics: IntroductionTopics: IntroductionTopics: Introduction

• Introduction to Internet– Very brief covering

• Difference between IP and PSTN• Basic concepts• Transport protocols: TCP, UDP, SCTP, RTP

– Why use UDP for VoIP and TCP for signaling?– What are the benefits of SCTP– What is the difference between RTP and RTCP

– You are expected to have visited the networking lecture of Prof. Wolisz

8

Topics: VoIPTopics: VoIPTopics: VoIPTopics: VoIP

• What is VoIP• Signaling• Addressing• Intelligent services• Deployment problems: NAT, emergency• Integration with PSTN

9

Topics: VoIPTopics: VoIPTopics: VoIPTopics: VoIP

What happens during this registration?

10

Topics: VoIPTopics: VoIPTopics: VoIPTopics: VoIP

What does this address mean?

How do we find the other side?

How do we call a PSTN number?

What happens when we press call?

11

VoIP in UMTSVoIP in UMTSVoIP in UMTSVoIP in UMTS

• What does IMS stand for?• Basic concepts of UMTS• What is the difference to normal VoIP?• How does it work?• Why a special version?

12

Problems of VoIPProblems of VoIPProblems of VoIPProblems of VoIP

• Why doesn’t VoIP work over my DLS link– What are the problems of network address

translators?– How to deal with firewalls

• Regulatory issues– How can I call the 110?

• QoS– Is it true that VoIP has bad voice quality

13

StreamingStreamingStreamingStreaming

• How are resource described?• What happens when we press play?

(signaling)• What does it mean when it says “buffering” or

ran out of buffer• What protocols exist and how do they work?

14

Peer-To-Peer NetworkingPeer-To-Peer NetworkingPeer-To-Peer NetworkingPeer-To-Peer Networking

• How do P-2-P solutions work?• What solutions exist?• What is Skype?• Basic concepts and approaches

15

Instant Messaging and Instant Messaging and PresencePresence

Instant Messaging and Instant Messaging and PresencePresence

• What is presence and IM• Basic concepts and approaches• What solutions and technologies exist• What are the current standards

– ICQ, Yahoo, MSN, etc is NOT a standard

• Relation to VoIP

16

Group CommunicationGroup CommunicationGroup CommunicationGroup Communication

• What is the difference between broadcast and multicast

• How does a conference bridge work• What solution is best for which scenario?

17

Quality of Service (QoS) Quality of Service (QoS) ControlControl

Quality of Service (QoS) Quality of Service (QoS) ControlControl

• Why is the voice communication over the Internet not understandable some times?

• What can we do at the end system to improve the QoS?

• What can we do in the network to improve the QoS?

• Why can’t we find a network that deploys QoS concepts

18

Public Switched Transmission Public Switched Transmission NetworkNetwork

PSTNPSTN

Public Switched Transmission Public Switched Transmission NetworkNetwork

PSTNPSTN

19

Public Switched Transport Public Switched Transport Network (PSTN)Network (PSTN)

Public Switched Transport Public Switched Transport Network (PSTN)Network (PSTN)

• Exists now for around 100 years• 800 M Subscribers• Supports Voice and Data (Fax) services• Guaranteed bandwidth share• In one country only a few exist

– usually a big one controlling the whole network• Cost of switching equipment high (A few millions for a carrier

grade switching component• Signaling to session establishment and control based on SS7• Hierarchical address structure (E.164)

InternationalIdentity

1-3 digits

NationalIdentity2-to-5 digits

UserIdentity11 to 5 digits

SubaddressUp to 40 digits

20

PSTN Architecture in PSTN Architecture in GermanyGermany

PSTN Architecture in PSTN Architecture in GermanyGermany

AVStAuslandvermittlungsstelle

Ca. 50 HVStHauptvermittlungsstelle

Ca. 550 KVStKnotenvermittlungsstelle

Ca. 500 OVStOrtvermittlungsstelle

Ca. 40 M Teilnehmer

Fern

netz

Ort

sn

etz

Ref. Prof. Dr.-Ing. Habil. Lutz Winkler, FH Mittweida

21

Routing in PSTNRouting in PSTNRouting in PSTNRouting in PSTN

Ref. Prof. Dr.-Ing. Habil. Lutz Winkler, FH Mittweida

22

Switching in PSTNSwitching in PSTNSwitching in PSTNSwitching in PSTN

Ref. Prof. Dr.-Ing. Habil. Lutz Winkler, FH Mittweida

Capacity 10099 calls

active

busy

23

Resource SharingResource Sharing (TDM) (TDM)Resource SharingResource Sharing (TDM) (TDM)

• Time division multiplexing (TDM)– May under utilize channel with idle senders– Applicable only for a fixed number of flows– Requires precise timers– Resources are guaranteed

Multiplexer1 link, 30kb/s speed

10 kb/s10 kb/s

10 kb/s

24

Intelligent Service in Intelligent Service in PSTNPSTN

Intelligent Service in Intelligent Service in PSTNPSTN

Ref. Prof. Dr.-Ing. Habil. Lutz Winkler, FH Mittweida

25

Intelligent Service in Intelligent Service in PSTNPSTN

Intelligent Service in Intelligent Service in PSTNPSTN

• Service switching point (SSP): A switch enhanced with logic for identifying IN services

• Service Transfer Point (STP): Interface of the switch to the IN environment

• Service Control Point (SCP): Control the execution of the service

• Service Management System (SMS): Control and manage the available services and provide the interface for adding new ones

• Intelligent Peripheral: Additional components for providing certain services such as announcements

• Feature Node: Execute services provided by private entities (similar to SCP)

26

PSTN SummaryPSTN SummaryPSTN SummaryPSTN Summary

• Guaranteed Quality of Service• Intelligence in the Network• Signaling and Media tightly coupled• Scalability and Extension difficulties

27

Introduction to the InternetIntroduction to the InternetIntroduction to the InternetIntroduction to the Internet

28

General WordsGeneral WordsGeneral WordsGeneral Words

• Since 21 Years with the same technology (TCP/IP)

• Moved from 4 sites in 1968 to around 200 M hosts today

• Flat addressing and routing architecture

• Based on packet switching

• (the) Internet: “collection of networks and routers that spans x countries and uses the TCP/IP protocols to form a single, cooperative virtual network”. (Comer)

• intranet: connection of different LANs within an organization– Private

– may use leased lines

– usually small, but possibly hundreds of routers

– may be connected to the Internet (or not), often by firewall

29

Packet Switched Packet Switched CommunicationCommunicationPacket Switched Packet Switched CommunicationCommunication

End Users End Users

Data Packets (Voice, Video, Games, Signaling…)

Router

30

What‘s a network?What‘s a network?What‘s a network?What‘s a network?

• Host: Communication end point (PC, PDA, cell phone, coffee machine ...)

• Link: carry bits from one place to another (or maybe to many other places)

• Switch/gateway/router: move bits between links, forming internetwork– IP router receives a packet from one interface and sends it out

over another12

1

2

31

What‘s a Protocol?What‘s a Protocol?What‘s a Protocol?What‘s a Protocol?

• Protocol: rules by which active network elements communicate with each other

• protocols = “algorithms + data structures”– formats of messages exchanged

– actions taken on receipt of messages

– how to handle errors

– hardware/operating-system independent

• real-life examples:– rules for meetings

– conversational rules (interrupts, request for retransmission, ...)

32

Protocol MechanismsProtocol Mechanisms (What Do (What Do Protocols Do for a Living?)Protocols Do for a Living?)

Protocol MechanismsProtocol Mechanisms (What Do (What Do Protocols Do for a Living?)Protocols Do for a Living?)

• All or some of the following:– addressing/naming: manage identifiers

– fragmentation: divide large message into smaller chunks to fit lower layer

– resequencing: reorder out-of-sequence messages

– error control: detection and correction of errors and losses• retransmission; forward error correction

– flow control: avoid flooding/overwhelming of slower receiver

– congestion control: avoid flooding of slower network nodes/links

33

Architectural Requirements Architectural Requirements of the Internetof the Internet

Architectural Requirements Architectural Requirements of the Internetof the Internet

• Generality– Support ANY set of diverse applications,

• Heterogeneity– Interconnect ANY set of network technologies

• Robustness– More important than efficiency

• Extensibility– More important than efficiency

• Scalability

34

End-to-End PrincipleEnd-to-End PrincipleEnd-to-End PrincipleEnd-to-End Principle

Foundation of the Internet architecture:• Dumb network, smart end systems

– (Exact opposite of telephone network!)

• Dumb networks: require only least common service– Datagram service: no connection state in routers– Best effort: all packets treated equally.– Can lose, duplicate, reorder packets.

• Smart hosts:– Maintain state to enhance service for applications.– “Fate-sharing”-- If a host crashes and loses communication

state, applications that are communicating share this fate.

35

Resource Sharing Resource Sharing (Statistical(Statistical))

Resource Sharing Resource Sharing (Statistical(Statistical))

• Statistical multiplexing– Traffic is sent on demand, so channel is fully

utilized if there is traffic to send– Any number of flows

Multiplexer5 kb/s

1 link, 30kb/s speed

20 kb/s

5 kb/s

36

Resource Sharing Resource Sharing (Statistical(Statistical))

Resource Sharing Resource Sharing (Statistical(Statistical))

• Statistical multiplexing– Resources are NOT guaranteed– Need Mechanisms to prevent congestion and

domination

Multiplexer5 kb/s

1 links, 30kb/s speed, 50% Loss

50 kb/s

5 kb/s

37

Who runs the Internet?Who runs the Internet?Who runs the Internet?Who runs the Internet?

• “nobody”• standards: Internet Engineering Task Force• names: Internet Corporation for Assigned Names and

Numbers (ICANN)• numbers: IANA (Internet Assigned Numbers Authority)• network: ISPs (Internet Service Providers), NAPs

(Network Access Points), DFN, . . .• fibres: telephone companies (mostly)• content: thousands of companies, universities, individuals,

. . .

38

How big is the Internet?How big is the Internet?How big is the Internet?How big is the Internet?

• Many measures:– networks (routed entities)

– domains, host names (but: several names per host!)

– directly (continuously) attached hosts (“ping’able”)

– IP-connected hosts (SLIP, PPP)

– firewalled hosts

– e-mail reachable

• As of January 2006, over 1 billion people use the Internet according to Internet World Stats

39

Host CountHost CountHost CountHost Count

40

What Networks are What Networks are There?There?

What Networks are What Networks are There?There?

• Access (ISP):– Carry data from users

• Core– Carry data from access

• Network peering points– Connect networks together

• Some enterprises might be connected directly to core networks

41

An Example NetworkAn Example NetworkAn Example NetworkAn Example Network

USER Local Loop Carrier

Point of Presence

Backbone

42

RFCs and DraftsRFCs and DraftsRFCs and DraftsRFCs and Drafts

• “Request for Comments”, since 1969• most RFCs are not standards!• Internet drafts: working documents, but often used for

prototypes• edited, but not refereed• numbered sequentially (Jan 2006: more than 4000)• check the April 1 ones. . . (RFC 1149)• ftp://ds.internic.net/rfc

43

TCP/IP StackTCP/IP StackTCP/IP StackTCP/IP Stack

Link Link Link

Network

Transport

ApplicationApplication

Transport

Network Network

TCP/IP

HostHost Router

EthernetCable,UMTS

IP, IPv6

TCP, UDP,SCTP

VoIPEmail ..

44

Internet ProtocolInternet ProtocolInternet ProtocolInternet Protocol

• Deliver an IP packet from host to host(s)• Connectionless, unreliable

– No loss handling– No flow or congestion control

UDPTCP

RTP

VoIP

AALx

GPRS V.xSONETEthernet ATM

PPP

IPv4/IPv6

DNSFTPHTTPSMTP

ICMP

45

Internet NamesInternet NamesInternet NamesInternet Names

• Physical link address– Ethernet, Token Ring, FDDI..– Flat

• IP address– Identify an interface– Topological

• IP Name– Identify the object to reach– Hierarchical

46

IP AddressesIP AddressesIP AddressesIP Addresses

• Identify an interface not host: – A host can have more than 1 address

• IP addresses are 32-bit numbers (4.3 billion of them!)

• Divided into parts: (network prefix, host number)

• 4 decimal numbers, called “dotted quad” • Each (decimal) number is one byte

– Example: 128.32.25.12

• Can generally be used in place of names

47

Special AddressesSpecial AddressesSpecial AddressesSpecial Addresses

• Private addresses: Only of meaning inside an intranet– 172.16 through 172.31 16– 192.168.0 through 192.168.255 256

• Loopback: 127.0.0.1 (local interface)• Local broadcast: all 1 (receive by all members of

link)• Multicast:

– 224.0.0.0 239.255.255.255– Do not describe a host or interface but a group of receivers

• Reserved: 240.0.0.0 255.255.255.255

48

Internet PacketsInternet PacketsInternet PacketsInternet Packets

• A lot of headers describing the different layers

Phy IP UDP/TCP

Body

49

IP HeaderIP HeaderIP HeaderIP Header

• Version: 4 or 6• Header length: number of 32 bit words of header• Type of Service: delay, throughput, reliability, monetary• Total length: length of packet in bytes• Identification: identify packet• Flag:

– Do not fragment– More fragments

• Fragmentation offset: Distance from the first bit of the original packet

• Time-to-Live: Avoid loops• Protocol: Which protocol is used (TCP, UDP, ICMP ..)• Header Checksum: Calculated over IP header• Source address: Address of sender• Destination address: Address of receiver

50

IPv6: Why move to IPv6: Why move to another protocol?another protocol?IPv6: Why move to IPv6: Why move to another protocol?another protocol?

• Lack of IP addresses– Support for nearly endless range of addresses

• Better handling of options– Reduce complexity of IP header

• Better support for management and administration – auto configuration and renumbering– Support plug&play

• Higher Packet sizes (Jumbograms)• Need for better support for mobile and secure communication

– Remove the need for network address translators• Really?

51

IPv4 vs. IPv6 HeaderIPv4 vs. IPv6 Header

• 14 fields, at least 20 octets

• 32 bit addresses

• fragmented packet processing at every hop

• header checksum recalculation at every hop

• variable Options field for extra processing information

• 8 fields, fixed 40 octet size• 128 bit addresses• fragmentation only in endpoints, or lower

layer– Usage of Path MTU discovery

• no checksums– Already in lower layers

• new 20 bit flow label field

• options in Extension Headers

52

IP NamesIP NamesIP NamesIP Names

Oxany.fokus.fhg.de

host name (has IP address)

organization type or country

Organization administering

subnames to left

organization administering

host

53

Getting From A to BGetting From A to BGetting From A to BGetting From A to B

54

Getting from A to BGetting from A to BGetting from A to BGetting from A to B

• Know name: need to know IP address– Domain Name System (DNS)

• Know IP address: need to know the way

55

Getting From A to BGetting From A to BGetting From A to BGetting From A to B

Name to IP Address

56

Domain Name SystemDomain Name SystemDomain Name SystemDomain Name System

• The Domain Name System (DNS) is a distributed database that is used by TCP/IP applications to…– map between hostnames and IP addresses,– and to provide application routing information.

• Distributed database:– No single site on the Internet “knows it all.”– Each site maintains its own database and runs a

server that other systems on the Internet can query.

• DNS is the client/server protocol.

57

DomainsDomainsDomainsDomains

• Top level domains– arpa domain

• Special domain for address-to-name mappings

– generic (organizational) domains• 3-character domains (e.g. edu, com, org, …)

– Country (geographical) domains• 2-character domains• Found in ISO 3166• Some countries form second-level domains

– e.g.: .ac.uk is for academic institutions in the United Kingdom.

– New generic top level domains (gTLD)• .biz, .name, ,info ...

• Note: No single entity manages every node.

58

DNS hierarchical name DNS hierarchical name spacespace

DNS hierarchical name DNS hierarchical name spacespace

arpa

com edu gov int mil net org

de us

unnamed root

wsu

eecs math

gazoo

top level domains

•Node labels up to 63 characters.•Root node has null label.•Comparisons are case insensitive.•Domain name formed as follows:

•start at node and work toward root•use a “dot” to separate labels

Maintained by DeNIC

59

Resolvers and Resolvers and NName ame SServerservers

Resolvers and Resolvers and NName ame SServerservers

• Applications (clients and servers) contact a DNS server by calling functions in a library known as a resolver.– The resolver is accessed through the functions gethostbyname() and gethostbyaddr().

– The resolver code is in a system library and is linked into the application.

60

DNS OperationDNS OperationDNS OperationDNS Operation

• What does a server do when it does not have the requested information?– Every name server must know how to contact the

root name servers (via IP address).– Name server contacts a root server – Root servers know the name and IP address of all

the second-level domains– Each names server caches information from recent

queries.

61

PracticalPracticalPracticalPractical

• nslookup• http://www.internic.org

62

Routing Packets from A to BRouting Packets from A to BRouting Packets from A to BRouting Packets from A to B

63

Hierarchical PSTN Hierarchical PSTN RoutingRouting

Hierarchical PSTN Hierarchical PSTN RoutingRouting

030 040 050 060

64

Distributed IP RoutingDistributed IP RoutingDistributed IP RoutingDistributed IP Routing

Enterprise

AccessAccess

AccessCore

Core

PictureTel

193.175.135.21

195.37.78.225

65

IP RoutingIP RoutingIP RoutingIP Routing

• How to get from A to B?– Different paths are possible!!– Neither A nor B know the best path in advance!!

• Goal: set routing tables for packet forwarding in hosts and routers, typically based on some optimality criterion.

• Questions:– who determines entries?– based on what information (hops, delay, cost, ...) ?– how often does it change (hop vs. delay)?– where is routing information stored?– algorithm used to compute routes?

66

IP Routing: GoalsIP Routing: GoalsIP Routing: GoalsIP Routing: Goals

• scalability

• “safe” interconnection of different organizations

• adopt quickly to changes in topology

• avoid routing loops or at least terminate them quickly

• self-healing, robust

• Distributed: No central component to determine the path

• efficient: can’t use 90% of bandwidth for routing info

• multiple metrics (QOS, price, politics, ...) not yet

• routes should be (near) “optimal”

• can’t have all hosts/networks in single table hierarchical

67

IP RoutingIP RoutingIP RoutingIP Routing

• Every router needs to determine the next hop to which to send the data• Routing database: one entry for every possible destination in the system:

– Destination address: the IP address of the host or network;– Next hop: the first router along the route to the destination;– Interface: the physical network which must be used to reach the first hop– Metric: a number, indicating the distance to the destination;– Timer: the amount of time since the entry was last updated;– Flags and other internal information.

12

1

2

68

Intra-Domain RoutingIntra-Domain RoutingIntra-Domain RoutingIntra-Domain Routing

• Set the routes inside an autonomous system (AS)– AS: a a collection of

routers and system administered by one entity

– Has a AS number assigned by IANA

• Different ASs might use different intra-domain routing schemes

• Changes in one AS do not effect other domains

• AS connects to another AS through one or more border routers

Enterprise

Access Access

AccessCore

Core