instructor: prof. hall conducted by: wayde anwar vikas choong nathan nadia
TRANSCRIPT
29.1 Introduction29.1 Introduction
This chapter focuses on real-time This chapter focuses on real-time audio/video transfer over IP networks.audio/video transfer over IP networks.
It examines the question of how IP can be It examines the question of how IP can be used to provide commercial telephone used to provide commercial telephone service.service.
It examines the question of how routers in It examines the question of how routers in an IP network can guarantee sufficient an IP network can guarantee sufficient service to provide HiQ A/V reproduction.service to provide HiQ A/V reproduction.
29.2 Audio Clips and Encoding 29.2 Audio Clips and Encoding StandardsStandards
Simplest digitizing A/D (encoding) -> IP Simplest digitizing A/D (encoding) -> IP network-> D/A (decoding)network-> D/A (decoding)– OK for audio clips, not for interactive b/c of OK for audio clips, not for interactive b/c of
delay introduceddelay introduced– HiQ codec are available (Amplitude overtime HiQ codec are available (Amplitude overtime
to sequence of digits, reconstruct from the to sequence of digits, reconstruct from the digits to waveform).digits to waveform).
– Standards: based on the tradeoffs b/w quality Standards: based on the tradeoffs b/w quality and reproduction and size of digital and reproduction and size of digital representation. representation.
29.2 Audio Clips and Encoding 29.2 Audio Clips and Encoding Standards(Continued)Standards(Continued)
– E.g. PCM for phone line (huge file production)E.g. PCM for phone line (huge file production)– Three ways to reduce the sizeThree ways to reduce the size
» Fewer samples: Low qualityFewer samples: Low quality
» Fewer bits: Low qualityFewer bits: Low quality
» Compression: Delay(require fast CPU) good when Compression: Delay(require fast CPU) good when delay is not important.delay is not important.
Produce data at 2.2 kbps
29.3 Audio and Video 29.3 Audio and Video Transmission and ReproductionTransmission and Reproduction
AV application are real-time: timely AV application are real-time: timely transmission (missing data is skipped).transmission (missing data is skipped).
How can a network guarantee that the How can a network guarantee that the stream is delivered at exactly the same rate stream is delivered at exactly the same rate that the sender used?that the sender used?– Telephone system way: the entire system is Telephone system way: the entire system is
engineered(digital circuits included) to deliver engineered(digital circuits included) to deliver output at the same rate of the input even for output at the same rate of the input even for multiple paths.multiple paths.
29.3 Audio and Video Transmission and 29.3 Audio and Video Transmission and Reproduction(cont)Reproduction(cont)
– IP network is not isochronous for the delay IP network is not isochronous for the delay introduced – vary delay is called jitter.introduced – vary delay is called jitter.
– Additional protocol is needed in addition to IP;Additional protocol is needed in addition to IP;» Each packet must have timestamp to tell the sender Each packet must have timestamp to tell the sender
when to play back.when to play back.
» This is important b/c it tells the receiver to pause This is important b/c it tells the receiver to pause when a packet is lost or sender stops encoding.when a packet is lost or sender stops encoding.
29.4 Jitter and Playback Delay29.4 Jitter and Playback Delay
How can a receiver recreate a signal How can a receiver recreate a signal accurately if the network introduces a accurately if the network introduces a jitter?jitter?– Playback buffer (similar to queue)Playback buffer (similar to queue)– How does it work?How does it work?
» The receiver introduces a delay until the buffer is filled with The receiver introduces a delay until the buffer is filled with incoming data (Threshold-playback point) – figure 29.1- (K) is incoming data (Threshold-playback point) – figure 29.1- (K) is the unit of time of data to be played.the unit of time of data to be played.
» The receiver plays K time units.The receiver plays K time units.» If no jitter , datagrams continue to arrive at the same rate, so If no jitter , datagrams continue to arrive at the same rate, so
the buffer is filled with K time units of un-played datathe buffer is filled with K time units of un-played data
29.4 Jitter and Playback 29.4 Jitter and Playback Delay(Cont)Delay(Cont)
» If small delay, playback won’t be affected, the If small delay, playback won’t be affected, the buffer decreases as data are extracted, playback buffer decreases as data are extracted, playback continues for K units, once the delayed datagrams continues for K units, once the delayed datagrams arrive buffer will be refilled.arrive buffer will be refilled.
» If a datagram is lost, buffer will be empty, output If a datagram is lost, buffer will be empty, output pauses for time corresponding for the missing data.pauses for time corresponding for the missing data.
K is small – needed buffer will be used before delayed K is small – needed buffer will be used before delayed data arrive.data arrive.
K is too large – immunity to jitter with noticeable delay K is too large – immunity to jitter with noticeable delay (in addition to NW delay) to user.(in addition to NW delay) to user.
» Playback is still used despite disadvantages.Playback is still used despite disadvantages.
29.5 Real-Time Transport 29.5 Real-Time Transport Protocol (RTP)Protocol (RTP)
It does not provide timely transmission. It does not provide timely transmission. Timely manner depends on the underlying Timely manner depends on the underlying system.system.
It provides:It provides:– Sequence NumberSequence Number– TimestampTimestamp
RTP does not distinguish b/w types of data; RTP does not distinguish b/w types of data; therefore, it does not enforce uniform therefore, it does not enforce uniform interpretation of semantics.interpretation of semantics.
For the receiver to control playback.
29.5 Real-Time Transport 29.5 Real-Time Transport Protocol (RTP) (Cont)Protocol (RTP) (Cont)
RTP header provides needed RTP header provides needed information for interpretation by the information for interpretation by the receiver:receiver:– 2 bit version (current 2)2 bit version (current 2)– 16 bit SEQUENCE NUM: first one is randomly 16 bit SEQUENCE NUM: first one is randomly
chosen.chosen.– X-bit is used to identify if the application defines X-bit is used to identify if the application defines
optional header extension b/w RTP header and pay optional header extension b/w RTP header and pay load.load.
– 7 bit PTYPE: determines the interpretation of the most 7 bit PTYPE: determines the interpretation of the most remaining header field (Pay Load Type).remaining header field (Pay Load Type).
29.5 Real-Time Transport 29.5 Real-Time Transport Protocol (RTP) (Cont)Protocol (RTP) (Cont)
– P-bit specify whether padding is in effect to the P-bit specify whether padding is in effect to the pay load. (Encryption: How data is allocated in pay load. (Encryption: How data is allocated in blocks).blocks).
– M-bit used by the application (Marking points – M-bit used by the application (Marking points – e.g. beginning of video stream)e.g. beginning of video stream)
– 32-bit TIMESTAMP – affected by the type at 32-bit TIMESTAMP – affected by the type at which first octet is digitized.which first octet is digitized.
29.6 Streams, Mixing, and 29.6 Streams, Mixing, and MulticastingMulticasting
Key Part to RTP is its support for Key Part to RTP is its support for translationtranslation or or mixing.mixing.– Translation: Translation: changing the encoding of a stream changing the encoding of a stream
at an intermediate station.at an intermediate station.– Mixing:Mixing: receiving streams of data from receiving streams of data from
multiple sources, combining them into a single multiple sources, combining them into a single stream, and sending the results.stream, and sending the results.
» Mixers are important to service multiple streams in Mixers are important to service multiple streams in conferencing.conferencing.
29.6 Streams, Mixing, and 29.6 Streams, Mixing, and Multicasting(Cont.)Multicasting(Cont.)
The field SYNCHRONIZATION SOURCE The field SYNCHRONIZATION SOURCE IDENTIFIER specifies. Each source must IDENTIFIER specifies. Each source must choose a unique identifier. If mixer is choose a unique identifier. If mixer is enabled, the mixer will be the source of the enabled, the mixer will be the source of the new stream.new stream.
The original source is not lost b/c mixer uses The original source is not lost b/c mixer uses CONTRIBUTING SOURCE ID to identify CONTRIBUTING SOURCE ID to identify the actual stream source.the actual stream source.
CC-field gives the number of contributing CC-field gives the number of contributing sources.sources.
29.6 Streams, Mixing, and 29.6 Streams, Mixing, and Multicasting(Cont.)Multicasting(Cont.)
RTP works with IP multicasting and mixing RTP works with IP multicasting and mixing especially in multicast environment.especially in multicast environment.
For example, in teleconference situation, For example, in teleconference situation, unicast is cumbersome; however, unicast is cumbersome; however, multicasting will allow multi-users to multicasting will allow multi-users to communicate both ways at the same time. communicate both ways at the same time. Mixers make this possible by reading Mixers make this possible by reading several inputs resulting in fewer datagrams.several inputs resulting in fewer datagrams.
29.7 RTP Encapsulation29.7 RTP Encapsulation
RTP is a transport-level protocol working RTP is a transport-level protocol working on the top of UDP.on the top of UDP.
This means that it needs to be encapsulated This means that it needs to be encapsulated in UDP before the final encapsulation in IP in UDP before the final encapsulation in IP datagram.datagram.
RTP does not have a reserved port number. RTP does not have a reserved port number. Port is allocated for each session, and Port is allocated for each session, and remote app must inform about port number. remote app must inform about port number. RTP prefer even numbers.RTP prefer even numbers.
29.8 RTP Control Protocol29.8 RTP Control Protocol
So far, Real-Time transmission has been So far, Real-Time transmission has been explained as a protocol allowing explained as a protocol allowing reproduction of A/V data.reproduction of A/V data.
Monitoring the underlying network is as Monitoring the underlying network is as important as the protocol itself during each important as the protocol itself during each session, and providing session, and providing out of bandout of band com b/w com b/w endpoints. (Adaptive applications).endpoints. (Adaptive applications).
An application may adjust the buffer size, or An application may adjust the buffer size, or choose lower band width due to NW cong.choose lower band width due to NW cong.
29.8 RTCP (Cont.)29.8 RTCP (Cont.) Out of BandOut of Band can be used to send information in can be used to send information in
parallel with real time like caption.parallel with real time like caption. RTP control protocol (RTCP) provides the RTP control protocol (RTCP) provides the
needed control functionality.needed control functionality. RTCP: allows senders and receivers to transmit RTCP: allows senders and receivers to transmit
a series of reports one to another that contain a series of reports one to another that contain additional info about data transferred in additional info about data transferred in addition to NW performance.addition to NW performance.
RTCP RTCP is encapsulated in UDP using a port is encapsulated in UDP using a port number that is greater than RTP port number.number that is greater than RTP port number.
29.9 RTCP Operation29.9 RTCP OperationUses 5 basic message type:Uses 5 basic message type: 200200 - - Sender ReportSender Report - provides absolute - provides absolute
timestamptimestamp– Absolute timestamp is essential to synchronize Absolute timestamp is essential to synchronize
multiple streamsmultiple streams
– Since RTP require separate stream for each media , Since RTP require separate stream for each media ,
transmission of video/audio require 2 streamstransmission of video/audio require 2 streams 201201 - - Receiver ReportReceiver Report - Inform source about - Inform source about
conditions of receptionconditions of reception– allow participating receivers & senders in a session to allow participating receivers & senders in a session to
learn about reception conditions of other receiverslearn about reception conditions of other receivers
29.9 RTCP Operation29.9 RTCP Operation– allow receivers to adapt their rate of reporting to allow receivers to adapt their rate of reporting to
avoid using excessive bandwidth & overwhelming avoid using excessive bandwidth & overwhelming the senderthe sender
202 202 - - Source Desc. MessageSource Desc. Message - general info - general info about user (owns/ control source)about user (owns/ control source)– Each message contain 1 section for each outgoing Each message contain 1 section for each outgoing
RTP streamRTP stream 203 203 - - Bye MessageBye Message - Shutting down a stream - Shutting down a stream 204204 - - Application Specific Message - Application Specific Message - extend extend
basic facility to allow application to define basic facility to allow application to define message typemessage type
29.10 IP telephony & Signaling29.10 IP telephony & Signaling Real-time transmission: use of IP as the Real-time transmission: use of IP as the
foundation for telephone servicefoundation for telephone service Researches are investigation 3 components to Researches are investigation 3 components to
replace isochronous systems:replace isochronous systems:– RTP is needed to transfer a digitized signal across RTP is needed to transfer a digitized signal across
an IP internet correctlyan IP internet correctly– Mechanism is needed to establish and terminate Mechanism is needed to establish and terminate
telephone callstelephone calls– Researches are exploring ways an IP internet can Researches are exploring ways an IP internet can
function like an isochronous networkfunction like an isochronous network
29.10 IP telephony & Signaling29.10 IP telephony & Signaling
Telephone industry use Telephone industry use SignalingSignaling : process : process of establishing a telephone callof establishing a telephone call
Public Switched Telephone Network (PSTN) Public Switched Telephone Network (PSTN) uses Signaling System 7 (SS7)uses Signaling System 7 (SS7)– performs call routing before any audio is sentperforms call routing before any audio is sent
– handles call forwarding and error conditionshandles call forwarding and error conditions
29.10 IP telephony & Signaling29.10 IP telephony & Signaling
Signaling functionality must be available before Signaling functionality must be available before IP can be used to make callsIP can be used to make calls
IP telephony must be also compatible with extant IP telephony must be also compatible with extant telephone standardstelephone standards
Must be possible for IP telephony system to Must be possible for IP telephony system to interoperate with the conventional phone system interoperate with the conventional phone system at all levels.at all levels.
29.10 IP telephony & Signaling29.10 IP telephony & Signaling
The general approach to interoperability The general approach to interoperability uses a gateway between IP & conventional uses a gateway between IP & conventional phone systemphone system
Standards for IP Telephony:Standards for IP Telephony:– ITU has defined a suite or protocol known as ITU has defined a suite or protocol known as
H.323H.323– IETF has proposed a signaling protocols know IETF has proposed a signaling protocols know
as SIPas SIP
29.10.1 H.323 Standards29.10.1 H.323 Standards
Originally created to allow the transmission of Originally created to allow the transmission of voice over local areavoice over local area
Then it was extended to allow transmission of Then it was extended to allow transmission of voice over IP internetsvoice over IP internets
Specifies how multiple protocols can be Specifies how multiple protocols can be combined to form functional IP telephonycombined to form functional IP telephony
Defines gateways & gatekeepers :Defines gateways & gatekeepers :– provide a contact point for telephones using IP. provide a contact point for telephones using IP. – Each IP Telephone must register with a gatekeeper Each IP Telephone must register with a gatekeeper
29.10.1 H.323 Standards29.10.1 H.323 Standards
H.323 relies on 4 major protocols:H.323 relies on 4 major protocols:– H.225.0 Signaling used to establish a callH.225.0 Signaling used to establish a call– H.224H.224Control and feedback during the callControl and feedback during the call– RTPRTP Real-time data transferReal-time data transfer– T.120T.120 Exchange of data associated with a callExchange of data associated with a call
Fig 29.5 illustrates relationship among the Fig 29.5 illustrates relationship among the H.323 protocolsH.323 protocols
29.10.2 Session Initiation 29.10.2 Session Initiation Protocol (SIP)Protocol (SIP)
Covers only signaling, doesn't supply all of Covers only signaling, doesn't supply all of H.323 functionalityH.323 functionality
Uses client-server interaction, with servers Uses client-server interaction, with servers being divided into 2 types:being divided into 2 types:– user agent server runs in a SIP telephoneuser agent server runs in a SIP telephone
» assigned an identifier: user@siteassigned an identifier: user@site
– intermediate server ; between 2 SIP telephoneintermediate server ; between 2 SIP telephone» handles call set up and call forwardinghandles call set up and call forwarding
29.10.2 Session Initiation 29.10.2 Session Initiation Protocol (SIP)Protocol (SIP)
SIP relies on Session Description Protocols SIP relies on Session Description Protocols SDP (companion protocol)SDP (companion protocol)
SDP important in conference callSDP important in conference call– participants join and leave dynamicallyparticipants join and leave dynamically
SDP specifies media encoding, protocols SDP specifies media encoding, protocols number and multicast addressnumber and multicast address
29.11 Resource 29.11 Resource Reservation/Quality of Service Reservation/Quality of Service Quality of Service (QoS) refers to statistical Quality of Service (QoS) refers to statistical
performance guaranteesperformance guarantees– regarding loss, delay, jitter and throughputregarding loss, delay, jitter and throughput
An isochronous network that meet strict An isochronous network that meet strict perfomacnce bounds provide QoSperfomacnce bounds provide QoS
Packet switched network doesn't provide Packet switched network doesn't provide QoSQoS
Is QoS needed for real-time transfer of Is QoS needed for real-time transfer of voice & video over IP?voice & video over IP?
29.11 Resource 29.11 Resource Reservation/Quality of ServiceReservation/Quality of Service
Internet send audio but operates without QoSInternet send audio but operates without QoS ATM, derived from telephone system model, ATM, derived from telephone system model,
provide QoS guaranteesprovide QoS guarantees IETF adopted a differentiated services IETF adopted a differentiated services
approachapproach– divide traffic into separate QoS classesdivide traffic into separate QoS classes– sacrifice fine grain control for less complex sacrifice fine grain control for less complex
forwardingforwarding
29.12 QoS Utilization & 29.12 QoS Utilization & CapacityCapacity
Central issue is utilizationCentral issue is utilization– a network with 1% utilization: doesn’t need a network with 1% utilization: doesn’t need
QoSQoS– a network with 1o1% utilization: will fail under a network with 1o1% utilization: will fail under
any QoSany QoS Proponent who argue for QoS assert that Proponent who argue for QoS assert that
QoS mechanism is important because:QoS mechanism is important because:– by dividing the existing resources among more by dividing the existing resources among more
users, system become more “fairusers, system become more “fair””
29.12 QoS Utilization & 29.12 QoS Utilization & CapacityCapacity
– by shaping traffic, the network run at higher by shaping traffic, the network run at higher utilization without danger of collapseutilization without danger of collapse
As long as rapid increases in capacity As long as rapid increases in capacity continues, QoS represent cause unnecessary continues, QoS represent cause unnecessary overheadoverhead
When demand rises more rapidly than When demand rises more rapidly than capacity, it becomes an economic issuecapacity, it becomes an economic issue
29.13 RSVP29.13 RSVP How can IP network provide QoS? How can IP network provide QoS? IETF produced 2 protocols: RSVP & COPSIETF produced 2 protocols: RSVP & COPS QoS cannot be added at the application layer to QoS cannot be added at the application layer to
IP; basic infrastructure must changeIP; basic infrastructure must change Infrastructure must change: routers must agree Infrastructure must change: routers must agree
to reserve resourcesto reserve resources Endpoints must send a request to spefiicy Endpoints must send a request to spefiicy
resources needed before data is sent resources needed before data is sent As datagrams traverse the flow, routers need to As datagrams traverse the flow, routers need to
monitor (traffic policing) and control traffic monitor (traffic policing) and control traffic forwardingforwarding
29.13 RSVP29.13 RSVP
Control of queuing is needed:Control of queuing is needed:– router must implement a queuing policy that meets router must implement a queuing policy that meets
guaranteed bounds on delayguaranteed bounds on delay– router must smooth packet burst (traffic shaping)router must smooth packet burst (traffic shaping)
RSVP is not a routing protocols; operates RSVP is not a routing protocols; operates before any data is sent and handles reservations before any data is sent and handles reservations request and replies.request and replies.
RSVP is unidirectional (simplex); if RSVP is unidirectional (simplex); if application needs QoS in two directions, each application needs QoS in two directions, each point must use RSVP to request a separate flowpoint must use RSVP to request a separate flow
29.14 COPS29.14 COPS When an RSVP arrivers a router must evaluate:When an RSVP arrivers a router must evaluate:
– feasibility : a local decisionfeasibility : a local decision– policies: requires global cooperationpolicies: requires global cooperationIETF architecture uses 2-level model:IETF architecture uses 2-level model:
» when router receiver RSVP request, it becomes a client when router receiver RSVP request, it becomes a client which consult server :Policy Decision Point (PDP) to which consult server :Policy Decision Point (PDP) to determine whether request meets policy constraintsdetermine whether request meets policy constraints
» if PDP approves a request, router must operate as Policy if PDP approves a request, router must operate as Policy Point Point (PEP)to ensure traffic does not exceed the Point Point (PEP)to ensure traffic does not exceed the approved policyapproved policy
COPS protocol define the client-server COPS protocol define the client-server interaction between a router and a PDPinteraction between a router and a PDP
29.14 COPS29.14 COPS
Although COPS defines it own message Although COPS defines it own message header, the underlying format shares many header, the underlying format shares many details with RSVPdetails with RSVP
When a router receives an RSVP request:When a router receives an RSVP request:– extract items related to policyextract items related to policy– place them in a COPS messageplace them in a COPS message– send the result to PDPsend the result to PDP
SummarySummary
Audio data can be encoded in digital form Audio data can be encoded in digital form (hardware:codec)(hardware:codec)
Pulse Code Modulation (PCM) produce Pulse Code Modulation (PCM) produce digital values at 64 Kbpsdigital values at 64 Kbps
RTP is used to transfer real-time data across RTP is used to transfer real-time data across an IP internet. Each message contain :an IP internet. Each message contain :– sequence number sequence number – a media timestampa media timestamp
SummarySummary RTCP is used to supply information about sources RTCP is used to supply information about sources
& allow mixer to combine several streams& allow mixer to combine several streams Debate continues where Q0S guarantees is needed Debate continues where Q0S guarantees is needed
to provide real-timeto provide real-time Endpoints use RSVP to request a flow with Endpoints use RSVP to request a flow with
specific QoS; intermediate routers either approve specific QoS; intermediate routers either approve or deny the requestor deny the request
When RSVP request arrives, router use COPS to When RSVP request arrives, router use COPS to contact PDP and verify that request meets policy contact PDP and verify that request meets policy constraintsconstraints