1Protocolos de transporte con QoS Clases de aplicaciones multimedia Redes basadas en IP y QoS RTP/RTCP: Transporte de flujos multimedia RTSP: Control de sesión y localización de medios Multicasting Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 – http://www.grc.upv.es/docencia/tra/ TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 2 What is multimedia? Definition of multimedia Hard to find a clear-cut definition In general, multimedia is an integration of text, graphics, still and moving images, animation, sounds, and any other medium where every type of information can be represented, stored, transmitted and processed digitally Characteristics of multimedia Digital – key concept Integration of multiple media type, usually including video or/and audio May be interactive or non-interactive TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Various Media Types Text, Graphics, image, video, animation, sound, etc. Classifications of various media types Captured vs. synthesized media Captured media (natural) : information captured from the real world – Example: still image, video, audio Synthesized media (artificial) : information synthesize by the computer – Example: text, graphics, animation Discrete vs. continuous media Discrete media: space-based, media involve the space dimension only – Text, Image, Graphics Continuous media: time-based, media involves both the space and the time dimension – Video, Sound, Animation 3 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Classification of Media Type Sound Video Continuous Image Discrete Captured From real world 4 Animation Continuous Text Graphics Discrete Synthesized By computer TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 5 Text Plain text Unformatted Characters coded in binary form ASCII code All characters have the same style and font Rich text Formatted Contains format information besides codes for characters No predominant standards Characters of various size, shape and style, e.g. bold, colorful TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Plain Text vs. Rich Text An example of Plain text 6 Example of Rich text TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Graphics Revisable document that retains structural information Consists of objects such as lines, curves, circles, etc Usually generated by graphic editor of computer programs 10 5 Example of graphics (FIG file) 0 -5 -10 4 2 4 2 0 0 -2 7 -2 -4 -4 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Images 2D matrix consisting of pixels Pixel—smallest element of resolution of the image One pixel is represented by a number of bits Pixel depth– the number of bits available to code the pixel Have no structural information Two categories: scanned vs. synthesized still image Digital still image Camera 8 Computer software Synthesized image Capture and A/D conversion Scanned image TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 9 Images (cont.) Examples of images Binary image – pixel depth 1 Gray-scale – pixel depth 8 Color image – pixel depth 24 Binary image Gray-scale colorimage image TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Video vs. Animation Both images and graphics can be displayed as a succession of view which create an impression of movement Video – moving images or moving pictures Captured or Synthesized Consists of a series of bitmap images Each image is called a frame Frame rate: the speed to playback the video (frame per second) Animation – moving graphics Generated by computer program (animation authoring tools) Consists of a set of objects The movements of the objects are calculated and the view is updated at playback 1 0 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Sound 1-D time-based signal 0. 2 0. 15 0. 1 0. 05 0 -0. 05 -0. 1 -0. 15 -0. 2 0 100 200 300 400 500 600 700 800 900 1000 Speech vs. non-speech sound Speech – supports spoken language and has a semantic content Non-speech – does not convey semantics in general Natural vs. structured sound Natural sound – Recorded/generated sound wave represented as digital signal Example: Audio in CD, WAV files Structured sound – Synthesize sound in a symbolic way 1 1 Example: MIDI file TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Networked Multimedia Local vs. networked multimedia Local: storage and presentation of multimedia information in standalone computers Sample applications: DVD Networked: involve transmission and distribution of multimedia information on the network Sample applications: videoconferencing, web video broadcasting, multimedia Email, etc. A scenario of multimedia networking Video server 1 2 Internet Image server TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 3 Consideration of Networked Multimedia Requirements of multimedia applications on the network Typically delay sensitive end-to-end delay delay jitter: – Jitter is the variability of packet delays within the same packet stream Quality requirement Satisfactory quality of media presentation Synchronization requirement Continuous requirement (no jerky video/audio) Can tolerant some degree of information loss TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Technologies of Multimedia Networking Challenges of multimedia networking 1. Conflict between media size and bandwidth limit of the network 2. Conflict between the user requirement of multimedia application and the best-effort network 3. How to meet different requirements of different users? Media compression – reduce the data volume Address the 1st challenge Image compression Video compression Audio compression Multimedia transmission technology 1 4 Address the 2nd and 3rd challenges Protocols for real-time transmission Rate / congestion control Error control TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Multimedia Networking Systems Live media transmission system Capture, compress, and transmit the media on the fly (example?) Send stored media across the network Media is pre-compressed and stored at the server. This system delivers the stored media to one or multiple receivers. (example?) Differences between the two systems For live media delivery: Real-time media capture, need hardware support Real-time compression– speed is important Compression procedure can be adjusted based on network conditions For stored media delivery 1 5 Offline compression – better compression result is important Compression can not be adjusted during transmission TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Multimedia networking: 3 application types streaming, stored audio, video streaming: can begin playout before downloading entire file stored (at server): can transmit faster than audio/video will be rendered (implies storing/buffering at client) e.g., YouTube, Netflix, Hulu conversational voice/video over IP interactive nature of human-to-human conversation limits delay tolerance e.g., Skype streaming live audio, video e.g., live sporting event (futbol) 1 6 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Streaming stored video: 1. video recorded (e.g., 30 frames/sec) 2. video sent network delay (fixed in this example) 3. video received, played out at client (30 frames/sec) streaming: at this time, client playing out early part of video, while server still sending later part of video time constant bit rate video transmission client video reception variable network delay constant bit rate video playout at client buffered video TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Streaming stored video: revisted client playout delay client-side buffering and playout delay: compensate for network-added delay, delay jitter time TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Client-side buffering, playout buffer fill level, Q(t) playout rate, e.g., CBR r variable fill rate, x(t) video server client application buffer, size B client TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Client-side buffering, playout buffer fill level, Q(t) playout rate, e.g., CBR r variable fill rate, x(t) video server client application buffer, size B client 1. Initial fill of buffer until playout begins at tp 2. playout begins at tp, 3. buffer fill level varies over time as fill rate x(t) varies and playout rate r is constant TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Client-side buffering, playout buffer fill level, Q(t) playout rate, e.g., CBR r variable fill rate, x(t) video server client application buffer, size B playout buffering: average fill rate (x), playout rate (r): x < r: buffer eventually empties (causing freezing of video playout until buffer again fills) x > r: buffer will not empty, provided initial playout delay is large enough to absorb variability in x(t) initial playout delay tradeoff: buffer starvation less likely with larger delay, but larger delay until user begins watching TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Streaming multimedia: UDP server sends at rate appropriate for client often: send rate = encoding rate = constant rate transmission rate can be oblivious to congestion levels short playout delay (2-5 seconds) to remove network jitter error recovery: application-level, timeipermitting RTP [RFC 2326]: multimedia payload types UDP may not go through firewalls TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Streaming multimedia: HTTP multimedia file retrieved via HTTP GET send at maximum possible rate under TCP variable rate, x(t) video file TCP send buffer server TCP receive buffer application playout buffer client fill rate fluctuates due to TCP congestion control, retransmissions (in-order delivery) larger playout delay: smooth TCP delivery rate HTTP/TCP passes more easily through firewalls TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Streaming multimedia: DASH DASH: D ynamic, A daptive S treaming over H TTP server: divides video file into multiple chunks each chunk stored, encoded at different rates manifest file: provides URLs for different chunks client: periodically measures server-to-client bandwidth consulting manifest, requests one chunk at a time chooses maximum coding rate sustainable given current bandwidth can choose different coding rates at different points in time (depending on available bandwidth at time) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Streaming multimedia: DASH DASH: D ynamic, A daptive S treaming over H TTP “intelligence” at client: client determines when to request chunk (so that buffer starvation, or overflow does not occur) what encoding rate to request (higher quality when more bandwidth available) where to request chunk (can request from URL server that is “close” to client or has high available bandwidth) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Content distribution networks challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users? option 1: single, large “mega-server” single point of failure point of network congestion long path to distant clients multiple copies of video sent over outgoing link ….quite simply: this solution doesn’t scale TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Content distribution networks challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users? option 2: store/serve multiple copies of videos at multiple geographically distributed sites (CDN) enter deep: push CDN servers deep into many access networks close to users used by Akamai, 1700 locations bring home: smaller number (10’s) of larger clusters in POPs near (but not within) access networks used by Limelight TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 CDN: “simple” content access scenario Bob (client) requests video http://netcinema.com/6Y7B23V video stored in CDN at http://KingCDN.com/NetC6y&B23V 1. Bob gets URL for for video http://netcinema.com/6Y7B23V from netcinema.com web page 1 2 6. request video from KINGCDN server, streamed via HTTP netcinema.com 2. resolve http://netcinema.com/6Y7B23V via Bob’s local DNS 5 3. netcinema’s DNS returns URL http://KingCDN.com/NetC6y&B23V 4 4&5. Resolve http://KingCDN.com/NetC6y&B23 via KingCDN’s authoritative DNS, which returns IP address of KIingCDN server with video 3 netcinema’s authorative DNS KingCDN.com KingCDN authoritative DNS TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 CDN cluster selection strategy challenge: how does CDN DNS select “good” CDN node to stream to client pick CDN node geographically closest to client pick CDN node with shortest delay (or min # hops) to client (CDN nodes periodically ping access ISPs, reporting results to CDN DNS) IP anycast alternative: let client decide - give client a list of several CDN servers client pings servers, picks “best” Netflix approach TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Case study: Netflix 30% downstream US traffic in 2011 owns very little infrastructure, uses 3rd party services: own registration, payment servers Amazon (3rd party) cloud services: Netflix uploads studio master to Amazon cloud create multiple version of movie (different encodings) in cloud upload versions from cloud to CDNs Cloud hosts Netflix web pages for user browsing three 3rd party CDNs host/stream Netflix content: Akamai, Limelight, Level-3 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Case study: Netflix Amazon cloud Netflix registration, accounting servers 2. Bob browses Netflix video 2 upload copies of multiple versions of video to CDNs 3. Manifest file returned for requested video Akamai CDN Limelight CDN 3 1 1. Bob manages Netflix account 4. DASH streaming Level-3 CDN TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Voice-over-IP (VoIP) VoIP end-end-delay requirement: needed to maintain “conversational” aspect higher delays noticeable, impair interactivity < 150 msec: good > 400 msec bad includes application-level (packetization,playout), network delays session initialization: how does callee advertise IP address, port number, encoding algorithms? value-added services: call forwarding, screening, recording emergency services: 911 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoIP characteristics speaker’s audio: alternating talk spurts, silent periods. 64 kbps during talk spurt pkts generated only during talk spurts 20 msec chunks at 8 Kbytes/sec: 160 bytes of data application-layer header added to each chunk chunk+header encapsulated into UDP or TCP segment application sends segment into socket every 20 msec during talkspurt TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoIP: packet loss, delay network loss: IP datagram lost due to network congestion (router buffer overflow) delay loss: IP datagram arrives too late for playout at receiver delays: processing, queueing in network; end-system (sender, receiver) delays typical maximum tolerable delay: 400 ms loss tolerance: depending on voice encoding, loss concealment, packet loss rates between 1% and 10% can be tolerated constant bit rate transmission client reception variable network delay (jitter) constant bit rate playout at client buffered data TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Delay jitter client playout delay end-to-end delays of two consecutive packets: difference can be more or less than 20 msec (transmission time difference) time TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoIP: fixed playout delay receiver attempts to playout each chunk exactly q msecs after chunk was generated. chunk has time stamp t: play out chunk at t+q chunk arrives after t+q: data arrives too late for playout: data “lost” tradeoff in choosing q: large q: less packet loss small q: better interactive experience TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoIP: fixed playout delay sender generates packets every 20 msec during talk spurt. first packet received at time r first playout schedule: begins at p second playout schedule: begins at p’ packets loss packets generated packets received playout schedule p' - r playout schedule p-r time r p p' TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Adaptive playout delay (1) goal: low playout delay, low late loss rate approach: adaptive playout delay adjustment: estimate network delay, adjust playout delay at beginning of each talk spurt silent periods compressed and elongated chunks still played out every 20 msec during talk spurt adaptively estimate packet delay: (EWMA exponentially weighted moving average, recall TCP RTT estimate): di = (1-a)di-1 + a (ri – ti) delay estimate after ith packet small constant, e.g. 0.1 time received - time sent (timestamp) measured delay of ith packet TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Adaptive playout delay (2) also useful to estimate average deviation of delay, v vi = (1-b)vi-1 + b |ri – ti – di| estimates di, vi calculated for every received packet, but used only at start of talk spurt for first packet in talk spurt, playout time is: playout-timei = ti + di + Kvi remaining packets in talkspurt are played out periodically TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Adaptive playout delay (3) Q: How does receiver determine whether packet is first in a talkspurt? if no loss, receiver looks at successive timestamps difference of successive stamps > 20 msec -->talk spurt begins. with loss possible, receiver must look at both time stamps and sequence numbers difference of successive stamps > 20 msec and sequence numbers without gaps --> talk spurt begins. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoiP: recovery from packet loss (1) Challenge: recover from packet loss given small tolerable delay between original transmission and playout each ACK/NAK takes ~ one RTT alternative: Forward Error Correction (FEC) send enough bits to allow recovery without retransmission (recall two-dimensional parity in Ch. 5) simple FEC for every group of n chunks, create redundant chunk by exclusive OR-ing n original chunks send n+1 chunks, increasing bandwidth by factor 1/n can reconstruct original n chunks if at most one lost chunk from n+1 chunks, with playout delay TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoiP: recovery from packet loss (2) another FEC scheme: lower quality stream” send lower resolution audio stream as redundant information e.g., nominal stream PCM at 64 kbps and redundant stream GSM at 13 kbps non-consecutive loss: receiver can conceal loss generalization: can also append (n-1)st and (n-2)nd low-bit rate chunk “piggyback TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 VoiP: recovery from packet loss (3) interleaving to conceal loss: audio chunks divided into smaller units, e.g. four 5 msec units per 20 msec audio chunk packet contains small units from different chunks if packet lost, still have most of every original chunk no redundancy overhead, but increases playout delay TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Voice-over-IP: Skype Skype clients (SC) proprietary application-layer protocol (inferred via reverse engineering) encrypted msgs P2P components: clients: skype peers connect directly to each other for VoIP call super nodes (SN): skype peers with special functions overlay network: among SNs to locate SCs login server Skype login server supernode (SN) supernode overlay network TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 P2P voice-over-IP: skype skype client operation: 1. joins skype network by contacting SN (IP address cached) using TCP 2. logs-in (usename, password) to centralized skype login server 3. obtains IP address for callee from SN, SN overlay or client buddy list 4. initiate call directly to callee Skype login server TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Skype: peers as relays problem: both Alice, Bob are behind “NATs” NAT prevents outside peer from initiating connection to insider peer inside peer can initiate connection to outside relay solution:Alice, Bob maintain open connection to their SNs Alice signals her SN to connect to Bob Alice’s SN connects to Bob’s SN Bob’s SN connects to Bob over open connection Bob initially initiated to his SN 1Protocolos de transporte con QoS. Clases de aplicaciones multimedia Redes basadas en IP y QoS RTP/RTCP: Transporte de flujos multimedia RTSP: Control de sesión y localización de medios Multicasting Thanks to : RADCOM technologies H. Shulzrinne Paul. E. Jones (from packetizer.com) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 – http://www.grc.upv.es/docencia/tra/ TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Requisitos de red. Se definen 3 parámetros críticos que la red debería suministrar a las aplicaciones multimedia: Productividad (Throughput) Número de bits que la red es capaz de entregar por unidad de tiempo (tráfico soportado). CBR (streams de audio y vídeo sin comprimir) VBR (ídem comprimido) – Ráfagas (Peak Bit Rate y Mean Bit Rate) Retardo de tránsito (Transit delay) Mensaje listo para envío Envío del primer bit del mensaje Retardo de acceso 4 8 Primer bit del mensaje recibido Ultimo bit del Mensaje listo mensaje recibido para recepción Retardo Retardo de de tránsito transmisión Retardo extremo-a-extremo Retardo de acceso TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Requisitos de red (II). Varianza del retardo (Jitter) Define la variabilidad del retardo de una red. 1 2 Emisor 3 t 1 D1 2 D2 = D1 3 D3 > D1 Receptor t Jitter físico (redes de conmutación de circuito) – Suele ser muy pequeño (ns) LAN jitter (Ethernet, FDDI). – Jitter físico + tiempo de acceso al medio. Redes WAN de conmutación de paquete (IP, X.25, FR) 4 9 – Jitter físico + tiempo de acceso + retardo de conmutación de paquete en conmutadores de la red. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Internet y las aplicaciones multimedia ¿Qué podemos añadir a IP para soportar los requerimientos de las aplicaciones multimedia? Técnicas de ecualización de retardos (buffering) Protocolos de transporte que se ajusten mejor a las necesidades de las aplicaciones multimedia: RTP (Real-Time Transport Protocol) RFC 1889. RTSP (Real-Time Streaming Protocol) RFC 2326. Técnicas de control de admisión y reserva de recursos (QoS) RSVP (Resource reSerVation Protocol) RFC 2205 Arquitecturas y protocolos específicos: 5 0 Protocolos SIP (RFC 2543), SDP (RFC 2327), SAP (RFC 2974), etc.. ITU H.323 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Internet Protocols Slide thanks to Henning Schulzrinne 5 1 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Network support for multimedia TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Dimensioning best effort networks approach: deploy enough link capacity so that congestion doesn’t occur, multimedia traffic flows without delay or loss low complexity of network mechanisms (use current “best effort” network) high bandwidth costs challenges: network dimensioning: how much bandwidth is “enough?” estimating network traffic demand: needed to determine how much bandwidth is “enough” (for that much traffic) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Providing multiple classes of service thus far: making the best of best effort service one-size fits all service model alternative: multiple classes of service partition traffic into classes network treats different classes of traffic differently (analogy: VIP service versus regular service) granularity: differential service among multiple classes, not among individual connections history: ToS bits 0111 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Multiple classes of service: scenario H1 H2 H3 R1 R1 output interface queue R2 1.5 Mbps link H4 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Scenario 1: mixed HTTP and VoIP example: 1Mbps VoIP, HTTP share 1.5 Mbps link. HTTP bursts can congest router, cause audio loss want to give priority to audio over HTTP R1 R2 Principle 1 packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Principles for QOS guarantees (more) what if applications misbehave (VoIP sends higher than declared rate) policing: force source adherence to bandwidth allocations marking, policing at network edge 1 Mbps phone R1 R2 1.5 Mbps link packet marking and policing Principle 2 provide protection (isolation) for one class from others TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Principles for QOS guarantees (more) allocating fixed (non-sharable) bandwidth to flow: inefficient use of bandwidth if flows doesn’t use its allocation 1 Mbps phone 1 Mbps logical link R1 R2 1.5 Mbps link 0.5 Mbps logical link Principle 3 while providing isolation, it is desirable to use resources as efficiently as possible TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Scheduling and policing mechanisms scheduling: choose next packet to send on link FIFO (first in first out) scheduling: send in order of arrival to queue real-world example? discard policy: if packet arrives to full queue: who to discard? tail drop: drop arriving packet priority: drop/remove on priority basis random: drop/remove randomly packet arrivals queue link (waiting area) (server) packet departures TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Scheduling policies: priority high priority queue (waiting area) priority scheduling: send highest priority queued packet multiple classes, with different priorities class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc. real world example? arrivals departures classify low priority queue (waiting area) link (server) 2 5 4 1 3 arrivals packet in service 1 4 2 3 5 departures 1 3 2 4 5 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Scheduling policies: still more Round Robin (RR) scheduling: multiple classes cyclically scan class queues, sending one complete packet from each class (if available) real world example? 2 5 4 1 3 arrivals packet in service 1 2 3 4 5 departures 1 3 3 4 5 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Scheduling policies: still more Weighted Fair Queuing (WFQ): generalized Round Robin each class gets weighted amount of service in each cycle real-world example? TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Policing mechanisms goal: limit traffic to not exceed declared parameters Three common-used criteria: (long term) average rate: how many pkts can be sent per unit time (in the long run) crucial question: what is the interval length: 100 packets per sec or 6000 packets per min have same average! peak rate: e.g., 6000 pkts per min (ppm) avg.; 1500 ppm peak rate (max.) burst size: max number of pkts sent consecutively (with no intervening idle) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Policing mechanisms: implementation token bucket: limit input to specified burst size and average rate bucket can hold b tokens tokens generated at rate r token/sec unless bucket full over interval of length t: number of packets admitted less than or equal to (r t + b) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Policing and QoS guarantees token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee! arriving traffic token rate, r bucket size, b per-flow rate, R WFQ arriving traffic D = b/R max TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Differentiated services want “qualitative” service classes “behaves like a wire” relative service distinction: Platinum, Gold, Silver scalability: simple functions in network core, relatively complex functions at edge routers (or hosts) signaling, maintaining per-flow router state difficult with large number of flows don’t define define service classes, provide functional components to build service classes TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Diffserv architecture marking edge router: per-flow traffic management marks packets as in-profile and out-profile core router: per class traffic management buffering and scheduling based on marking at edge preference given to in-profile packets over out-of-profile packets r b scheduling .. . TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Edge-router packet marking profile: pre-negotiated rate r, bucket size b packet marking at edge based on per-flow profile rate r b user packets possible use of marking: class-based marking: packets of different classes marked differently intra-class marking: conforming portion of flow marked differently than non-conforming one TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Diffserv packet marking: details packet is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6 6 bits used for Differentiated Service Code Point (DSCP) determine PHB that the packet will receive 2 bits currently unused DSCP unused TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Classification, conditioning may be desirable to limit traffic injection rate of some class: user declares traffic profile (e.g., rate, burst size) traffic metered, shaped if non-conforming 7-70 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Forwarding Per-hop Behavior (PHB) PHB result in a different observable (measurable) forwarding performance behavior PHB does not specify what mechanisms to use to ensure required PHB performance behavior examples: class A gets x% of outgoing link bandwidth over time intervals of a specified length class A packets leave first before packets from class B TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Forwarding PHB PHBs proposed: expedited forwarding: pkt departure rate of a class equals or exceeds specified rate logical link with a minimum guaranteed rate assured forwarding: 4 classes of traffic each guaranteed minimum amount of bandwidth each with three drop preference partitions TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Per-connection QOS guarantees basic fact of life: can not support traffic demands beyond link capacity 1 Mbps phone 1 Mbps phone R1 R2 1.5 Mbps link Principle 4 call admission: flow declares its needs, network may block call (e.g., busy signal) if it cannot meet needs TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 QoS guarantee scenario resource reservation call setup, signaling (RSVP) traffic, QoS declaration per-element admission control request/ reply QoS-sensitive scheduling (e.g., WFQ) 1Protocolos de transporte multimedia. Clases de aplicaciones multimedia Redes basadas en IP y QoS RTP/RTCP: Transporte de flujos multimedia RTSP: Control de sesión y localización de medios Multicasting TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 – http://www.grc.upv.es/docencia/tra/ TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 7 6 RTP (Real-time Transport Protocol) Se basa en el concepto de sesión: la asociación entre un conjunto de aplicaciones que se comunican usando RTP Una sesión es identificada por: Una dirección IP multicast Dos puertos: Uno para los datos y otro para control (RTCP) Un participante (participant) puede ser una máquina o un usuario que participa en una sesión Cada media distinto es trasmitido usando una sesión diferente. Por ejemplo, si se quisiera transmitir audio y vídeo harían falta dos sesiones separadas Esto permite a un participante solamente ver o solamente oír TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTP (Real-time Transport Protocol) Audio-conferencia con multicast y RTP Sesión de audio: Una dirección multicast y dos puertos Datos de audio y mensajes de control RTCP. Existirá (al menos) una fuente de audio que enviará un stream de segmentos de audio pequeños (20 ms) utilizando UDP. A cada segmento se le asigna una cabecera RTP La cabecera RTP indica el tipo de codificación (PCM, ADPCM, LPC, etc.) Número de secuencia y fechado de los datos. Control de conferencia (RTCP): Número e identificación de participantes en un instante dado. Información acerca de cómo se recibe el audio. Audio y Vídeo conferencia con multicast y RTP Si se utilizan los dos medios, se debe crear una sesión RTP independiente para cada uno de ellos. Una dirección multicast y 2 puertos por cada sesión. Existencia de participantes que reciban sólo uno de los medios. Temporización independiente de audio y vídeo. 7 7 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 7 8 RTP: Mezcladores y traductores Mezcladores (Mixers). Permiten que canales con un BW bajo puedan participar en una conferencia. El mixer re-sincroniza los paquetes y hace todas las conversiones necesarias para cada tipo de canal. Traductores (Translators). Permiten conectar sitios que no tienen acceso multicast (p.ej. que están en una sub-red protegida por un firewall) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTP: Formato de mensaje (I) 32 bits V PX CC M PT Sequence number Timestamp Synchronization Source (SSRC) ID Contributing Source (CSRC) ID V: versión; actualmente es la 2 P: si está a 1 el paquete tiene bytes de relleno (padding) X: presencia de una extensión de la cabecera 7 9 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTP: Formato de mensaje (II) 32 bits V PX CC M PT Sequence number Timestamp Synchronization Source (SSRC) ID Contributing Source (CSRC) ID CC: Identifica el número de CSRC que contribuyen a los datos M: Marca (definida según el perfil) PT: Tipo de datos (según perfil) 8 0 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTP: Formato de mensaje (III) 32 bits V PX CC M PT Sequence number Timestamp Synchronization Source (SSRC) ID Contributing Source (CSRC) ID 8 1 Sequence number: Establece el orden de los paquetes Timestamp: Instante de captura del primer octeto del campo de datos SSRC: Identifica la fuente de sincronización CSRC: Fuentes que contribuyen TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 8 2 RTP header definition /* * RTP data header */ typedef struct { unsigned int version:2; unsigned int p:1; unsigned int x:1; unsigned int cc:4; unsigned int m:1; unsigned int pt:7; u_int16 seq; u_int32 ts; u_int32 ssrc; u_int32 csrc[1]; } rtp_hdr_t; TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 8 3 RTP y las aplicaciones La especificación de RTP para una aplicación particular va acompañada de: Un perfil (profile) que defina un conjunto de códigos para los tipos de datos transportados (payload) El formato de transporte de cada uno de los tipos de datos previstos Ej.: RFC 1890 para audio y vídeo PT encoding audio/video clock rate channels name (A/V) (Hz) (audio) ______________________________________________ 0 PCMU A 8000 1 1 1016 A 8000 1 2 G721 A 8000 1 3 GSM A 8000 1 ... 34-71 unassigned ? 72-76 reserved N/A N/A N/A 77-95 unassigned ? 96-127 dynamic ? PCMU Corresponde a la recomendación CCITT/ITU-T G.711. El audio se codifica con 8 bits por muestra, después de una cuantificación logarítmica. PCMU es la codificación que se utiliza en Internet para un media de tipo audio/basic. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 8 4 RTCP (RTP Control Protocol) RTCP se basa en envíos periódicos de paquetes de control a los participantes de una sesión RTP Permite realizar una realimentación de la calidad de recepción de los datos (estadísticas). Los paquetes de control siempre llevan la identificación de la fuente RTP: CNAME Asociar más de una sesión a un mismo fuente (sincronización). El envío de estos paquetes debe ser controlado por cada participante (sistema ampliable). Control de sesión (opcional) Información adicional de cada participante. Entrada y salida de participantes en las sesión. Negociación de parámetros y formatos. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 8 5 RTCP (RTP Control Protocol) RTCP permite controlar el trafico que no se auto-limita (p.ej cuando el número de fuentes aumenta) Para ello se define el ancho de banda de la sesión. RTCP se reserva el 5% (bwRTCP) A cada fuente se le asigna 1/4 de bwRTCP El intervalo entre cada paquete RTCP es > 5 sec TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTCP (RTP Control Protocol) Formato de un paquete RTCP: Existen distintos tipos de paquetes RTCP: SR (Sender Report): Informes estadísticos de transmisión y recepción de los elementos activos en la sesión. RR (Receiver Report): Informes estadísticos de recepción en los receptores. SDES (Source Description): Información del participante (CNAME, e-mail, etc). BYE: Salida de la sesión. APP: Mensajes específicos de la aplicación. Cada paquete RTCP tiene su propio formato. Su tamaño debe ser múltiplo de 32 bits (padding). Se pueden concatenar varios paquetes RTCP en uno (compound RTCP packet). 8 6 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTCP: Mensajes SR 32 bits Sender info Report block 1 8 7 RC PT=SR=200 Longitud SSRC del sender NTP timestamp msw NTP timestamp lsw RTP timestamp Contador de los paquetes del sender cabecera V P Contador de los bytes del sender SSRC_1 Frac perd Total paquetes perdidos Num sec más alto recibido Jitter de inter-llegada Ultimo SR (LSR) Retraso del último SR (LSR) TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 8 8 RTCP: Cálculo del Jitter Es una estimación de la variancia del tiempo de interllegada de los paquetes RTP D(i, j) ( R j - Ri ) - (S j - Si ) ( R j - S j ) - ( Ri - Si ) Si RTP timestamp del paquete i Ri Instante de llegada del paquete i J i J i -1 Di -1, i - J i -1 / 16 1Protocolos de transporte multimedia. Clases de aplicaciones multimedia Redes basadas en IP y QoS RTP/RTCP: Transporte de flujos multimedia RTSP: Control de sesión y localización de medios Multicasting TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 – http://www.grc.upv.es/docencia/tra/ TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 9 0 Real-Time Streaming Protocol RFC 2326 Tiene la función de un “mando a distancia por la red” para servidores multimedia Permite establecer y controlar uno o más flujos de datos sincronizados NO existe el concepto de conexión RTSP sino de sesión RTSP Además, una sesión RTSP no tiene relación con ninguna conexión especifica de nivel transporte (p.ej. TCP o UDP) Los flujos de datos no tienen por que utilizar RTP Está basado en HTTP/1.1 Diferencias importantes: No es stateless Los clientes y servidores pueden generar peticiones TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Terminología RTSP Conferencia Media stream Una instancia única de un medio continuo: Un stream audio, Un stream vídeo Una “whiteboard” Voz del conferenciante Imagen de las transparencias Imagen del conferenciante Presentación: Es el conjunto de uno o más streams, que son vistos por el usuario como un conjunto integrado 9 1 Imagen del público Voz del público TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTSP: Ejemplo de una sesión HTTP GET Cliente SETUP PLAY RTP audio RTP vídeo RTCP PAUSE TEARDOWN 9 2 Web server descripción de la sesión Media server TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTSP: Comandos de petición Request = Request-Line ; *( general-header | request-header | entity-header ) CRLF [ message-body ] Request-Line = Method SP Request-URI SP RTSP-Version CRLF Method = "DESCRIBE“ | "ANNOUNCE" | "GET_PARAMETER" | "OPTIONS“ | "PAUSE" | "PLAY" | "RECORD" | "REDIRECT" | "SETUP" | "SET_PARAMETER" | "TEARDOWN" | extension-method extension-method = token Request-URI = "*" | absolute_URI RTSP-Version = "RTSP" "/" 1*DIGIT "." 1*DIGIT 9 3 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTSP: Mensajes de respuesta Response = *( | | Status-Line ; general-header response-header entity-header ) CRLF [ message-body ] Status-Line = RTSP-version SP Status-Code SP Reason-Phrase CRLF Status-Code = 1xx: Información (Comando recibido, procesando,..) | 2xx: Exito (Comando recibido y ejecutado con éxito) | 3xx: Re-dirección (Comando recibido pero aún no completado) | 4xx: Error del cliente (El comando tiene errores de sintaxis) | 5xx: Error del servidor (Error interno del servidor) 9 4 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTSP: Una sesión completa (I) 1 2 media server A 4 web server W cliente C 3 media server V C->W: GET /twister.sdp HTTP/1.1 Host: www.example.com Accept: application/sdp W->C: HTTP/1.0 200 OK Content-Type: application/sdp 9 5 v=0 o=- 2890844526 2890842807 IN IP4 192.16.24.202 s=RTSP Session m=audio 0 RTP/AVP 0 a=control:rtsp://audio.example.com/twister/audio.en m=video 0 RTP/AVP 31 a=control:rtsp://video.example.com/twister/video TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTSP: Una sesión completa (II) C->A: SETUP rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 1 Transport: RTP/AVP/UDP;unicast;client_port=3056-3057 A->C: RTSP/1.0 200 OK CSeq: 1 Session: 12345678 Transport: RTP/AVP/UDP;unicast;client_port=3056-3057; server_port=5000-5001 C->V: SETUP rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 1 Transport: RTP/AVP/UDP;unicast;client_port=3058-3059 V->C: RTSP/1.0 200 OK CSeq: 1 Session: 23456789 Transport: RTP/AVP/UDP;unicast;client_port=3058-3059; server_port=5002-5003 9 6 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 9 7 RTSP: Una sesión completa (III) C->V: PLAY rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 2 Session: 23456789 Range: smpte=0:10:00V->C: RTSP/1.0 200 OK CSeq: 2 Session: 23456789 Range: smpte=0:10:00-0:20:00 RTP-Info: url=rtsp://video.example.com/twister/video; seq=12312232;rtptime=78712811 C->A: PLAY rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 2 Session: 12345678 Range: smpte=0:10:00A->C: RTSP/1.0 200 OK CSeq: 2 Session: 12345678 Range: smpte=0:10:00-0:20:00 RTP-Info: url=rtsp://audio.example.com/twister/audio.en; seq=876655;rtptime=1032181 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 RTSP: Una sesión completa (IV) C->A: TEARDOWN rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 3 Session: 12345678 A->C: RTSP/1.0 200 OK CSeq: 3 C->V: TEARDOWN rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 3 Session: 23456789 V->C: RTSP/1.0 200 OK CSeq: 3 9 8 1Protocolos de transporte multimedia. Clases de aplicaciones multimedia Redes basadas en IP y QoS Gestión de los recursos: IntServ vs DiffServ RSVP RTP/RTCP: Transporte de flujos multimedia RTSP: Control de sesión y localización de medios Multicasting TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 – http://www.grc.upv.es/docencia/tra/ 1 0 0 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Multicast = Efficient Data Distribution Src Src TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 0 1 Why Multicast ? Need for efficient one-to-many delivery of same data Applications: News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type “push” apps Teleconferencing (audio, video, shared whiteboard, text editor) Distributed interactive gaming or simulations Email distribution lists Content distribution; Software distribution Web-cache updates Database replication TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 0 2 Why Not Broadcast or Unicast? Broadcast: Send a copy to every machine on the net Simple, but inefficient All nodes must process packet even if they don’t care Wastes more CPU cycles of slower machines (“broadcast radiation”) Network loops lead to “broadcast storms” Replicated Unicast: Sender sends a copy to each receiver in turn Receivers need to register or sender must be pre-configured Sender is focal point of all control traffic Reliability => per-receiver state, separate sessions/processes at sender TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Multicast Apps Characteristics Number of (simultaneous) senders to the group The size of the groups Number of members (receivers) Geographic extent or scope Diameter of the group measured in router hops The longevity of the group Number of aggregate packets/second The peak/average used by source Level of human interactivity Lecture mode vs interactive Data-only (eg database replication) vs multimedia 1 0 3 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 0 4 Reliable Multicast vs. Unreliable Multicast When a multicast message is sent by a process, the runtime support of the multicast mechanism is responsible for delivering the message to each process currently in the multicast group. As each participating process may be on a separate host, due to factors such as failures of network links and/or network hosts, routing delays, and differences in software and hardware, the time between when a message is sent and when it is received may vary among the recipient processes. Moreover, a message may not be received by one or more of the processes at all. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 0 5 Classification of multicasting mechanisms in terms of message delivery Unreliable multicast: The arrival of the correct message at each process is not guaranteed. Reliable multicast: Guarantees that each message is eventually delivered in a noncorrupted form to each process in the group. The definition of reliable multicast requires that each participating process receives exactly one copy of each message sent. It does not put any restriction of the order the messages delivered. Reliable multicast can be further classified based on the order of the delivery of the messages: unordered, FIFO, causal order, atomic order. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 0 6 Classification of reliable multicast -- unordered An unordered reliable multicast system guarantees the safe delivery of each message, but it provides no guarantee on the delivery order of the messages. Example: Processes P1, P2, and P3 have formed a multicast group. Three messages, m1, m2, m3 have been sent to the group. An unordered reliable multicast system may deliver the messages to each of the three processes in any of these: m1-m2-m3, m1-m3-m2, m2-m1-m3, m2-m3-m1, m3-m1-m2, m3-m2-m1 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Classification of reliable multicast - FIFO If process P sent messages mi and mj, in that order, then each process in the multicast group will be delivered the messages mi and mj, in that order. Note that FIFO multicast places no restriction on the delivery order among messages sent by different processes. For example, P1 sends messages m11 then m12, and P2 sends messages m21 then m22. It is possible for different processes to receive any of the following orders: m11-m12-m21-m22, m11-m21-m12-m22, m11-m21-m22-m12, m21-m11-m12-m22 m21-m11-m22-m12 m21-m22-m11-m12. 1 0 7 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 0 8 Classification of reliable multicast – Causal order If message mi causes (results in) the occurrence of message mj, then mi will be delivered to each process prior to mj. Messages mi and mj are said to have a causal or happen-before relationship. For example, P1 sends a message m1, to which P2 replies with a multicast message m2. Since m2 is triggered by m1, the two messages share a causal relationship of m1-> m2. A causal-order multicast message system ensures that these two messages will be delivered to each of the processes in the order of m1- m2. TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 Classification of reliable multicast – Atomic order In an atomic-order multicast system, all messages are guaranteed to be delivered to each participant in the exact same order. Note that the delivery order does not have to be FIFO or causal, but must be identical for each process. Example: P1 sends m1, P2 sends m2, and P3 sends m3. An atomic system will guarantee that the messages will be delivered to each process in only one of the six orders: m1-m2- m3, m1- m3- m2, m2- m1-m3, m2-m3-m1, m3-m1- m2, m3-m2-m1. 1 0 9 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 IP Multicast Architecture Service model Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) 1 1 0 Hosts TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 IP Multicast model: RFC 1112 Message sent to multicast “group” (of receivers) Senders need not be group members A group identified by a single “group address” Use “group address” instead of destination address in IP packet sent to group Groups can have any size; Group members can be located anywhere on the Internet Group membership is not explicitly known Receivers can join/leave at will Packets are not duplicated or delivered to destinations outside the group Distribution tree constructed for delivery of packets No more than one copy of packet appears on any subnet Packets delivered only to “interested” receivers => multicast delivery tree changes dynamically Network has to actively discover paths between senders and receivers 1 1 1 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 1 1 2 IP Multicast Addresses Class D IP addresses 224.0.0.0 – 239.255.255.255 1 110 Group ID Address allocation: Well-known (reserved) multicast addresses, assigned by IANA: 224.0.0.x and 224.0.1.x Transient multicast addresses, assigned and reclaimed dynamically, e.g., by “sdr” program Each multicast address represents a group of arbitrary size, called a “host group” There is no structure within class D address space like subnetting => flat address space TECNOLOGÍAS DE RED AVANZADAS – Master IC 2013-2014 IP Multicast Service Sending Uses normal IP-Send operation, with an IP multicast address specified as the destination Must provide sending application a way to: Specify outgoing network interface, if >1 available Specify IP time-to-live (TTL) on outgoing packet Enable/disable loop-back if the sending host is/isn't a member of the destination group on the outgoing interface Receiving Two new operations Join-IP-Multicast-Group(group-address, interface) Leave-IP-Multicast-Group(group-address, interface) Receive multicast packets for joined groups via normal IPReceive operation 1 1 3