La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – 1- Protocolos de transporte con QoS  Clases de aplicaciones multimedia.

Presentaciones similares


Presentación del tema: "TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – 1- Protocolos de transporte con QoS  Clases de aplicaciones multimedia."— Transcripción de la presentación:

1 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos de transporte con QoS  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 Thanks to : RADCOM technologies H. Shulzrinne Paul. E. Jones (from packetizer.com) Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004.

2 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 2

3 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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

4 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Classification of Media Type 4 Sound Video Image Animation Text Graphics Captured From real world Synthesized By computer Discrete Continuous

5 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 5

6 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Plain Text vs. Rich Text 6 An example of Plain text Example of Rich text

7 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Graphics  Revisable document that retains structural information  Consists of objects such as lines, curves, circles, etc  Usually generated by graphic editor of computer programs 7 Example of graphics (FIG file)

8 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 8 Computer software Computer software Capture and A/D conversion Capture and A/D conversion Digital still image Synthesized image Scanned image Camera

9 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Images (cont.)  Examples of images Binary image – pixel depth 1 Gray-scale – pixel depth 8 Color image – pixel depth 24 9 Binary image Gray-scale imagecolor image

10 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 10

11 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Sound  1-D time-based signal  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 Example: MIDI file 11

12 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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. 12 Internet Video server Image server A scenario of multimedia networking

13 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 13

14 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 Address the 2nd and 3rd challenges Protocols for real-time transmission Rate / congestion control Error control 14

15 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 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 Offline compression – better compression result is important Compression can not be adjusted during transmission 15

16 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Classes of multimedia applications  Streaming stored audio and video  Streaming live audio and video  Real-time interactive audio and video 16

17 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming Stored Multimedia: What is it? 17 1. video recorded 2. video sent 3. video received, played out at client Cumulative data streaming: at this time, client playing out early part of video, while server still sending later part of video network delay time t>0 100%

18 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming vs. Download of Stored Multimedia Content 18  Download: Receive entire content before playback begins High “start-up” delay as media file can be large ~ 4GB for a 2 hour MPEG II movie  Streaming: Play the media file while it is being received Reasonable “start-up” delays Reception Rate >= playback rate. Why?

19 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming Stored Multimedia: Interactivity 19 VCR-like functionality: client can pause, rewind, FF, push slider bar 10 sec initial delay OK 1-2 sec until command effect OK RTSP often used (more later) timing constraint for still-to-be transmitted data: in time for playout

20 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming Multimedia: Client Buffering 20  Client-side buffering, playout delay compensate for network-added delay, delay jitter constant bit rate video transmission Cumulative data time variable network delay client video reception constant bit rate video playout at client client playout delay buffered video

21 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming Multimedia: Client Buffering  Client-side buffering, playout delay compensate for network-added delay, delay jitter 21 buffered video variable fill rate, x(t) constant drain rate, d

22 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Interactive, Real-Time Multimedia applications: IP telephony, video conference, distributed interactive worlds  end-end delay requirements: audio: < 150 msec good, < 400 msec OK includes application-level (packetization) and network delays higher delays noticeable, impair interactivity  session initialization how does callee advertise its IP address, port number, encoding algorithms? 22

23 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Internet multimedia: simplest approach 23 audio, video not streamed:  no, “pipelining,” long delays until playout!  audio or video stored in file  files transferred as HTTP object received in entirety at client then passed to player

24 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Progressive Download 24  browser GETs metafile  browser launches player, passing metafile  player contacts server  server downloads audio/video to player

25 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming from a streaming server  This architecture allows for non-HTTP protocol between server and media player  Can also use UDP instead of TCP. 25

26 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Multimedia Over Today’s Internet  TCP/UDP/IP: “best-effort service”  no guarantees on delay, loss  But multimedia apps requires QoS and level of performance to be effective!  Today’s Internet multimedia applications use application-level techniques to mitigate (as best possible) effects of delay, loss 26

27 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Streaming Multimedia: UDP or TCP? UDP  server sends at rate appropriate for client (oblivious to network congestion!) often send rate = encoding rate = constant rate then, fill rate = constant rate - packet loss  short playout delay (2-5 seconds) to compensate for network delay jitter  error recover: time permitting TCP  send at maximum possible rate under TCP  fill rate fluctuates due to TCP congestion control  larger playout delay: smooth TCP delivery rate  HTTP/TCP passes more easily through firewalls 27

28 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos de transporte con QoS.  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 Thanks to : RADCOM technologies H. Shulzrinne Paul. E. Jones (from packetizer.com)

29 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 29 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) Retardo extremo-a-extremo Retardo de acceso Retardo de tránsito Retardo de transmisión Mensaje listo para envío Envío del primer bit del mensaje Primer bit del mensaje recibido Ultimo bit del mensaje recibido Retardo de acceso Mensaje listo para recepción

30 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 30 Varianza del retardo (Jitter) Define la variabilidad del retardo de una red. 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) –Jitter físico + tiempo de acceso + retardo de conmutación de paquete en conmutadores de la red. 123 123 D1D1 D 2 = D 1 D 3 > D 1 t t Emisor Receptor Requisitos de red (II).

31 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 31 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: Protocolos SIP (RFC 2543), SDP (RFC 2327), SAP (RFC 2974), etc.. ITU H.323

32 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 32 Internet Protocols Slide thanks to Henning Schulzrinne

33 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Multimedia, Quality of Service: What is it? 33 Multimedia applications: network audio and video (“continuous media”) network provides application with level of performance needed for application to function. QoS

34 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Improving QOS in IP Networks  Thus far: “making the best of best effort”  Future: next generation Internet with QoS guarantees RSVP: signaling for resource reservations Differentiated Services: differential guarantees Integrated Services: firm guarantees  simple model for sharing and congestion studies: 34

35 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Principles for QOS Guarantees  Example: 1Mbps IPphone, FTP share 1.5 Mbps link. bursts of FTP can congest router, cause audio loss want to give priority to audio over FTP 35 packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly Principle 1

36 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Principles for QOS Guarantees (more)  what if applications misbehave (audio sends higher than declared rate) policing: force source adherence to bandwidth allocations  marking and policing at network edge: similar to ATM UNI (User Network Interface) 36 provide protection (isolation) for one class from others Principle 2

37 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Principles for QOS Guarantees (more)  Allocating fixed (non-sharable) bandwidth to flow: inefficient use of bandwidth if flows doesn’t use its allocation 37 While providing isolation, it is desirable to use resources as efficiently as possible Principle 3

38 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Principles for QOS Guarantees (more)  Basic fact of life: can not support traffic demands beyond link capacity 38 Call Admission: flow declares its needs, network may block call (e.g., busy signal) if it cannot meet needs Principle 4

39 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 Summary of QoS Principles 39

40 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos de transporte con QoS.  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 Thanks to : RADCOM technologies H. Shulzrinne Paul. E. Jones (from packetizer.com)

41 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 41 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 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

42 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 42 Scheduling Policies: more Priority scheduling: transmit 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..

43 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 43 Scheduling Policies: still more round robin scheduling:  multiple classes  cyclically scan class queues, serving one from each class (if available)

44 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 44 Scheduling Policies: still more Weighted Fair Queuing:  generalized Round Robin  each class gets weighted amount of service in each cycle

45 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 45 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 pps peak rate (Max.) Burst Size: max. number of pkts sent consecutively (with no intervening idle)

46 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 46 Policing Mechanisms 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).

47 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 47 Policing Mechanisms (more)  token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee! WFQ token rate, r bucket size, b per-flow rate, R D = b/R max arriving traffic

48 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 48 IETF Integrated Services  architecture for providing QOS guarantees in IP networks for individual application sessions  resource reservation: routers maintain state info of allocated resources, QoS req’s  admit/deny new call setup requests: Question: can newly arriving flow be admitted with performance guarantees while not violated QoS guarantees made to already admitted flows?

49 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 49 Intserv: QoS guarantee scenario  Resource reservation call setup, signaling (RSVP) traffic, QoS declaration per-element admission control QoS-sensitive scheduling (e.g., WFQ) request/ reply

50 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 50 Call Admission Arriving session must :  declare its QOS requirement R-spec: defines the QOS being requested  characterize traffic it will send into network T-spec: defines traffic characteristics  signaling protocol: needed to carry R-spec and T-spec to routers (where reservation is required) RSVP

51 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 51 Intserv QoS: Service models [RFC2211, RFC2212] Guaranteed service:  worst case traffic arrival: leaky-bucket- policed source  simple (mathematically provable) bound on delay [Parekh 1992, Cruz 1988] Controlled load service:  "a quality of service closely approximating the QoS that same flow would receive from an unloaded network element." WFQ token rate, r bucket size, b per-flow rate, R D = b/R max arriving traffic

52 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 52 IETF Differentiated Services Concerns with Intserv:  Scalability: signaling, maintaining per-flow router state difficult with large number of flows  Flexible Service Models: Intserv has only two classes. Also want “qualitative” service classes “behaves like a wire” relative service distinction: Platinum, Gold, Silver Diffserv approach:  simple functions in network core, relatively complex functions at edge routers (or hosts)  Don’t define service classes, provide functional components to build service classes

53 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 53 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  Assured Forwarding Diffserv Architecture scheduling... r b marking

54 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 54 Edge-router Packet Marking  class-based marking: packets of different classes marked differently  intra-class marking: conforming portion of flow marked differently than non- conforming one  profile: pre-negotiated rate A, bucket size B  packet marking at edge based on per-flow profile Possible usage of marking: User packets Rate A B

55 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 55 Classification and Conditioning  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) and determine PHB that the packet will receive  2 bits are currently unused

56 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 56 Classification and 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

57 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 57 Forwarding (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

58 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 58 Forwarding (PHB) PHBs being developed:  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

59 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos 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

60 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 60 Signaling in the Internet connectionless (stateless) forwarding by IP routers best effort service no network signaling protocols in initial IP design + =  New requirement: reserve resources along end-to-end path (end system, routers) for QoS for multimedia applications  RSVP: Resource Reservation Protocol [RFC 2205] “ … allow users to communicate requirements to network in robust and efficient way.” i.e., signaling !  earlier Internet Signaling protocol: ST-II [RFC 1819]

61 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 61 RSVP Design Goals 1.accommodate heterogeneous receivers (different bandwidth along paths) 2.accommodate different applications with different resource requirements 3.make multicast a first class service, with adaptation to multicast group membership 4.leverage existing multicast/unicast routing, with adaptation to changes in underlying unicast, multicast routes 5.control protocol overhead to grow (at worst) linear in # receivers 6.modular design for heterogeneous underlying technologies

62 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 62 RSVP: does not…  specify how resources are to be reserved rather: a mechanism for communicating needs  determine routes packets will take that’s the job of routing protocols signaling decoupled from routing  interact with forwarding of packets separation of control (signaling) and data (forwarding) planes

63 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 63 RSVP: overview of operation  senders, receiver join a multicast group done outside of RSVP senders need not join group  sender-to-network signaling path message: make sender presence known to routers path teardown: delete sender’s path state from routers  receiver-to-network signaling reservation message: reserve resources from sender(s) to receiver reservation teardown: remove receiver reservations  network-to-end-system signaling path error reservation error

64 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 64 Call Admission  Session must first declare its QOS requirement and characterize the traffic it will send through the network  R-spec: defines the QOS being requested  T-spec: defines the traffic characteristics  A signaling protocol is needed to carry the R-spec and T- spec to the routers where reservation is required;  RSVP is a leading candidate for such signaling protocol

65 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 65 RSVP request (T-Spec)  A token bucket specification bucket size, b token rate, r the packet is transmitted onward only if the number of tokens in the bucket is at least as large as the packet  peak rate, p p > r  maximum packet size, M  minimum policed unit, m All packets less than m bytes are considered to be m bytes Reduces the overhead to process each packet Bound the bandwidth overhead of link-level headers

66 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 66 Call Admission  Call Admission: routers will admit calls based on their R- spec and T-spec and base on the current resource allocated at the routers to other calls.

67 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 67 Integrated Services: Classes  Guaranteed QOS: this class is provided with firm bounds on queuing delay at a router; envisioned for hard real-time applications that are highly sensitive to end-to-end delay expectation and variance  Controlled Load: this class is provided a QOS closely approximating that provided by an unloaded router; envisioned for today’s IP network real-time applications which perform well in an unloaded network

68 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 68 R-spec  An indication of the QoS control service requested Controlled-load service and Guaranteed service  For Controlled-load service Simply a Tspec  For Guaranteed service A Rate (R) term, the bandwidth required R  r, extra bandwidth will reduce queuing delays A Slack (S) term The difference between the desired delay and the delay that would be achieved if rate R were used With a zero slack term, each router along the path must reserve R bandwidth A nonzero slack term offers the individual routers greater flexibility in making their local reservation Number decreased by routers on the path.

69 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 69 QoS Routing: Multiple constraints  A request specifies the desired QoS requirements e.g., BW, Delay, Jitter, packet loss, path reliability etc  Two type of constraints: Additive: e.g., delay Maximum (or Minimum): e.g., Bandwidth  Task Find a (min cost) path which satisfies the constraints if no feasible path found, reject the connection

70 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 70 Path msgs: RSVP sender-to-network signaling  path message contents: address: unicast destination, or multicast group flowspec: bandwidth requirements spec. filter flag: if yes, record identities of upstream senders (to allow packets filtering by source) previous hop: upstream router/host ID refresh time: time until this info times out  path message: communicates sender info, and reverse- path-to-sender routing info later upstream forwarding of receiver reservations

71 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 71 RSVP: simple audio conference  H1, H2, H3, H4, H5 both senders and receivers  multicast group m1  no filtering: packets from any sender forwarded  audio rate: b  only one multicast routing tree possible H2 H5 H3 H4 H1 R1 R2R3

72 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 72 in out in out in out RSVP: building up path state  H1, …, H5 all send path messages on m1: (address=m1, Tspec=b, filter-spec=no-filter,refresh=100)  Suppose H1 sends first path message H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7 L5 L7 L6 L1 L2 L6L3 L7 L4 m1:

73 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 73 in out in out in out RSVP: building up path state  next, H5 sends path message, creating more state in routers H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7 L5 L7 L6 L1 L2 L6L3 L7 L4 L5 L6 L1 L6 m1:

74 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 74 in out in out in out RSVP: building up path state  H2, H3, H5 send path msgs, completing path state tables H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7 L5 L7 L6 L1 L2 L6L3 L7 L4 L5 L6 L1 L6 L7 L4 L3 L7 L2 m1:

75 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 75 reservation msgs: receiver-to-network signaling  reservation message contents: desired bandwidth: filter type: no filter: any packets address to multicast group can use reservation fixed filter: only packets from specific set of senders can use reservation dynamic filter: senders who’s packets can be forwarded across link will change (by receiver choice) over time. filter spec  reservations flow upstream from receiver-to-senders, reserving resources, creating additional, receiver-related state at routers

76 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 76 RSVP: receiver reservation example 1 H1 wants to receive audio from all other senders  H1 reservation msg flows uptree to sources  H1 only reserves enough bandwidth for 1 audio stream  reservation is of type “no filter” – any sender can use reserved bandwidth H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7

77 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 77 in out RSVP: receiver reservation example 1  H1 reservation msgs flows uptree to sources  routers, hosts reserve bandwidth b needed on downstream links towards H1 H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7 L1 L2 L6 L1 (b)(b) in out L5 L6 L7 L5 (b)(b) L6 in out L3 L4 L7 L3 (b)(b) L4 L2 b b b b b b b m1:

78 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 78 in out RSVP: receiver reservation example 1 (more)  next, H2 makes no-filter reservation for bandwidth b  H2 forwards to R1, R1 forwards to H1 and R2 (?)  R2 takes no action, since b already reserved on L6 H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7 L1 L2 L6 L1 (b)(b) in out L5 L6 L7 L5 (b)(b) L6 in out L3 L4 L7 L3 (b)(b) L4 L2 b b b b b b b b b (b)(b) m1:

79 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 79 in out RSVP: receiver reservation: issues What if multiple senders (e.g., H3, H4, H5) over link (e.g., L6)?  arbitrary interleaving of packets  L6 flow policed by leaky bucket: if H3+H4+H5 sending rate exceeds b, packet loss will occur H2 H5 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L5 L6 L7 L1 L2 L6 L1 (b)(b) in out L5 L6 L7 L5 (b)(b) L6 in out L3 L4 L7 L3 (b)(b) L4 L2 b b b b b b b b b (b)(b) m1:

80 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 80 RSVP: example 2  H1, H4 are only senders send path messages as before, indicating filtered reservation Routers store upstream senders for each upstream link  H2 will want to receive from H4 (only) H2 H3 H4 H1 R1 R2R3 L1 L2 L3 L4 L6 L7 H2 H3 L2 L3

81 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 81 RSVP: example 2  H1, H4 are only senders send path messages as before, indicating filtered reservation H2 H3 H4 H1 R1 R3 L1 L2 L3 L4 L6 L7 H2 H3 L2 L3 L2(H1-via-H1 ; H4-via-R2 ) L6(H1-via-H1 ) L1(H4-via-R2 ) in out L6(H4-via-R3 ) L7(H1-via-R1 ) in out L1, L6 L6, L7 L3(H4-via-H4 ; H1-via-R3 ) L4(H1-via-R2 ) L7(H4-via-H4 ) in out L4, L7 R2

82 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 82 RSVP: example 2  receiver H2 sends reservation message for source H4 at bandwidth b propagated upstream towards H4, reserving b H2 H3 H4 H1 R1 R3 L1 L2 L3 L4 L6 L7 H2 H3 L2 L3 L2(H1-via-H1 ;H4-via-R2 ) L6(H1-via-H1 ) L1(H4-via-R2 ) in out L6(H4-via-R3 ) L7(H1-via-R1 ) in out L1, L6 L6, L7 L3(H4-via-H4 ; H1-via-R2 ) L4(H1-via-R2 ) L7(H4-via-H4 ) in out L4, L7 R2 (b) L1 b b b b

83 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 83 RSVP: soft-state  senders periodically resend path msgs to refresh (maintain) state  receivers periodically resend resv msgs to refresh (maintain) state  path and resv msgs have TTL field, specifying refresh interval H2 H3 H4 H1 R1 R3 L1 L2 L3 L4 L6 L7 H2 H3 L2 L3 L2(H1-via-H1 ;H4-via-R2 ) L6(H1-via-H1 ) L1(H4-via-R2 ) in out L6(H4-via-R3 ) L7(H1-via-R1 ) in out L1, L6 L6, L7 L3(H4-via-H4 ; H1-via-R3 ) L4(H1-via-R2 ) L7(H4-via-H4 ) in out L4, L7 R2 (b) L1 b b b b

84 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 84 RSVP: soft-state  suppose H4 (sender) leaves without performing teardown H2 H3 H4 H1 R1 R3 L1 L2 L3 L4 L6 L7 H2 H3 L2 L3 L2(H1-via-H1 ;H4-via-R2 ) L6(H1-via-H1 ) L1(H4-via-R2 ) in out L6(H4-via-R3 ) L7(H1-via-R1 ) in out L1, L6 L6, L7 L3(H4-via-H4 ; H1-via-R3 ) L4(H1-via-R2 ) L7(H4-via-H4 ) in out L4, L7 R2 (b) L1 b b b b  eventually state in routers will timeout and disappear! gone fishing!

85 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos 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

86 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 86 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

87 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 87 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.

88 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 88 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)

89 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 89 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 RTP: Formato de mensaje (I) VPCCX M PTSequence number Timestamp Synchronization Source (SSRC) ID Contributing Source (CSRC) ID 32 bits

90 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 90 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) RTP: Formato de mensaje (II) VPCCX M PTSequence number Timestamp Synchronization Source (SSRC) ID Contributing Source (CSRC) ID 32 bits

91 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 91 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 RTP: Formato de mensaje (III) VPCCX M PTSequence number Timestamp Synchronization Source (SSRC) ID Contributing Source (CSRC) ID 32 bits

92 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 92 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; /* * 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;

93 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 93 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 ? 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 ? 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 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. 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.

94 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 94 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.

95 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 95 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

96 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 96 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).

97 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 97 RTCP: Mensajes SR VP RC PT=SR=200 Longitud SSRC del sender 32 bits NTP timestamp msw NTP timestamp lsw RTP timestamp Contador de los paquetes del sender Contador de los bytes del sender SSRC_1 Frac perd Total paquetes perdidos Num sec más alto recibido Jitter de inter-llegada Retraso del último SR (LSR) Ultimo SR (LSR) Report block 1 Sender info cabecera

98 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 98 RTCP: Cálculo del Jitter  Es una estimación de la variancia del tiempo de inter- llegada de los paquetes RTP S i  RTP timestamp del paquete i R i  Instante de llegada del paquete i

99 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos 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

100 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 100100100 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

101 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 101101101 Terminología RTSP  Conferencia  Media stream Una instancia única de un medio continuo: Un stream audio, Un stream vídeo Una “whiteboard”  Presentación: Es el conjunto de uno o más streams, que son vistos por el usuario como un conjunto integrado Voz del público Imagen del conferenciante Imagen del público Imagen de las transparencias Voz del conferenciante

102 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 102102102 RTSP: Ejemplo de una sesión Web server SETUP PLAY PAUSE TEARDOWN HTTP GET descripción de la sesión RTP audio RTP vídeo RTCP Cliente Media server

103 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 103103103 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

104 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 104104104 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)

105 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 105105105 RTSP: Una sesión completa (I) 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 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 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 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 web server W cliente C media server A media server V 1 3 2 4

106 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 106106106 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 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

107 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 107107107 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:00- V->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:00- A->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 C->V: PLAY rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 2 Session: 23456789 Range: smpte=0:10:00- V->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:00- A->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

108 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 108108108 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 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

109 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – http://www.grc.upv.es/docencia/tra/ 1- Protocolos 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

110 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 110110110 Multicast = Efficient Data Distribution Src

111 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 111111111 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

112 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 112112112 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

113 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 113113113 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

114 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 114114114 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.

115 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 115115115 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 non- corrupted 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.

116 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 116116116 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

117 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 117117117 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.

118 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 118118118 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.

119 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 119119119 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.

120 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 120120120 IP Multicast Architecture Hosts Routers Service model Host-to-router protocol (IGMP) Multicast routing protocols (various)

121 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 121121121 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

122 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 122122122 IP Multicast Addresses  Class D IP addresses 224.0.0.0 – 239.255.255.255  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 1110Group ID

123 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 123123123 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 IP- Receive operation

124 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 124124124 Link-Layer Transmission/Reception  Transmission IP multicast packet is transmitted as a link-layer multicast, on those links that support multicast Link-layer destination address is determined by an algorithm specific to the type of link  Reception Necessary steps are taken to receive desired multicasts on a particular link, such as modifying address reception filters on LAN interfaces Multicast routers must be able to receive all IP multicasts on a link, without knowing in advance which groups will be used

125 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 125125125 Using Link-Layer Multicast Addresses  Ethernet and other LANs using 802 addresses: Direct mapping! Simpler than unicast! No ARP etc. 32 class D addresses may map to one MAC address  Special OUI for IETF: 0x01-00-5E.  No mapping needed for point-to-point links LAN multicast address 0000000100000000010111100 111028 bits 23 bits IP multicast address Group bit

126 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 126126126 Multicast over LANs & Scoping  Multicasts are flooded across MAC-layer bridges along a spanning tree But flooding may steal sending opportunity for non-member stations which want to transmit Almost like broadcast!  Scope: How far do transmissions propagate? Implicit scoping: Reserved Mcast addresses => don’t leave subnet. Also called “link-local” addresses TTL-based scoping: Multicast routers have a configured TTL threshold Multicast datagram dropped if TTL <= TTL threshold Useful as a blanket parameter. Administrative scoping: Use a portion of class D address space (239.0.0.0 thru 239.255.255.255) Truly local to admin domain; address reuse possible. In IPv6, scoping is an internal attribute of an IPv6 multicast address

127 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 127127127 Multicast Scope Control – Small TTLs  TTL expanding-ring search to reach or find a nearby subset of a group  Rings can be nested, but not overlapping s 1 2 3

128 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 128128128 IP Multicast Architecture Hosts Routers Service model Host-to-router protocol (IGMP) Multicast routing protocols (various)

129 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 129129129 Internet Group Management Protocol  IGMP: “signaling” protocol to establish, maintain, remove groups on a subnet.  Objective: keep router up-to-date with group membership of entire LAN Routers need not know who all the members are, only that members exist  Each host keeps track of which mcast groups are subscribed to Socket API informs IGMP process of all joins

130 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 130130130 How IGMP Works  On each link, one router is elected the “querier”  Querier periodically sends a Membership Query message to the all-systems group (224.0.0.1), with TTL = 1  On receipt, hosts start random timers (between 0 and 10 seconds) for each multicast group to which they belong QRouters: Hosts:

131 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 131131131 How IGMP Works (cont.)  When a host’s timer for group G expires, it sends a Membership Report to group G, with TTL = 1  Other members of G hear the report and stop (suppress) their timers  Routers hear all reports, and time out non-responding groups Q GGGG Routers: Hosts:

132 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 132132132 How IGMP Works (cont.)  Normal case: only one report message per group present is sent in response to a query Query interval is typically 60-90 seconds  When a host first joins a group, it sends immediate reports, instead of waiting for a query  IGMPv2: Hosts may send a “Leave group” message to “all routers” (224.0.0.2) address Querier responds with a Group-specific Query message: see if any group members are present Lower leave latency

133 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 133133133 The Java Basic Multicast API  At the transport layer, the basic multicast supported by Java is an extension of UDP (the User Datagram Protocol)  For the basic multicast, Java provides a set of classes which are closely related to the datagram socket API classes

134 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 134134134 Datagram - recap

135 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 135135135 The Java Basic Multicast API - 2  There are four major classes in the API, the first three of which we have already seen in the context of datagram sockets.  InetAddress: In the datagram socket API, this class represents the IP address of the sender or receiver. In multicasting, this class can be used to identify a multicast group.  DatagramPacket: As with datagram sockets, an object of this class represents an actual datagram; in multicast, a DatagramPacket object represents a packet of data sent to all participants or received by each participant in a multicast group.  DatagramSocket: In the datagram socket API, this class represents a socket through which a process may send or receive data.  MulticastSocket : A MulticastSocket is a DatagramSocket, with additional capabilities for joining and leaving a multicast group. An object of the multicast datagram socket class can be used for sending and receiving multicast packets. In the Java API, a MulticastSocket object is bound to a port address, e.g. 3456, and methods of the object allows for the joining and leaving of a multicast address, e.g. 239.1.2.3

136 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 136136136 Joining a multicast group To join a multicast group at IP address m and UDP port p, a MulticastSocket object must be instantiated with p, then the object’s joinGroup method can be invoked specifying the address m: // join a Multicast group at IP address // 239.1.2.3 and port 3456 InetAddress group = InetAddress.getByName("239.1.2.3"); MulticastSocket s = new MulticastSocket(3456); s.joinGroup(group);

137 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 137137137 Sending to a multicast group A multicast message can be sent using syntax similar with the datagram socket API. String msg = "a multicast message."; InetAddress group = InetAddress.getByName("239.1.2.3"); MulticastSocket s = new MulticastSocket(3456); s.joinGroup(group); // optional DatagramPacket hi = new DatagramPacket(msg.getBytes( ), msg.length( ),group, 3456); s.send(hi);

138 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 138138138 Receiving messages sent to a multicast group A process that has joined a multicast group may receive messages sent to the group using syntax similar to receiving data using a datagram socket API. byte[] buf = new byte[1000]; InetAddress group = InetAddress.getByName("239.1.2.3"); MulticastSocket s = new MulticastSocket(3456); s.joinGroup(group); DatagramPacket recv = new DatagramPacket(buf,buf.length); s.receive(recv);

139 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 139139139 Leaving a multicast group  A process may leave a multicast group by invoking the leaveGroup method of a MulticastSocket object, specifying the multicast address of the group.  s.leaveGroup(group);

140 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 140140140 Setting the “time-to-live”  The runtime support needs to propagate a multicast message from a host to a neighboring host in an algorithm which, when executed properly, will eventually deliver the message to all the participants.  Under some anomalous circumstances, however, it is possible that the algorithm which controls the propagation does not terminate properly, resulting in a packet circulating in the network indefinitely.  Indefinite message propagation causes unnecessary overhead on the systems and the network.  To avoid this occurrence, it is recommended that a “time to live” parameter be set with each multicast datagram.  The time-to-live (ttl) parameter, when set, limits the count of network links or hops that the packet will be forwarded on the network.

141 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 141141141 Setting the “time-to-live”  The recommended ttl settings are:  0 if the multicast is restricted to processes on the same host  1 if the multicast is restricted to processes on the same subnet  32 if the multicast is restricted to processes on the same site  64 if the multicast is restricted to is processes on the same region  128 is if the multicast is restricted to processes on the same continent  255 is the multicast is unrestricted

142 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 142142142 Setting the “time-to-live” String msg = "Hello everyone!"; InetAddress group = InetAddress.getByName("239.1.2.3"); MulticastSocket s = new MulticastSocket(3456); s.setTimeToLive(1); // set time-to-live to 1 hop DatagramPacket hi = new DatagramPacket(msg.getBytes( ), msg.length( ),group, 3456); s.send(hi); The value specified for the ttl must be in the range 0 <= ttl <= 255 ; an IllegalArgumentException will be thrown otherwise.

143 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 143143143 The C version: Joining Multicast Groups  To join a group, you use the setsockopt() kernel service call with a new parameter. The new parameter is the ip_mreq structure:  The imr_multiaddr field specifies the multicast group you want to join. It is the same format as the sin_addr field in the sockaddr_in structure. The imr_interface field lets you choose a particular host interface. This is similar to a bind(), which lets you specify the host interface (or leave the host option wide open with an INADDR_ANY value). /************************************************************/ /*** The ip_mreq structure for selecting a multicast addr ***/ /************************************************************/ struct ip_mreq { struct in_addr imr_multiaddr; /* known multicast group */ struct in_addr imr_interface; /* network interface */ } ;

144 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 144144144 The C version: Joining Multicast Groups  The following code snippet shows you how to join a group using the ip_mreq structure. It sets the imr_interface field to INADDR_ANY merely for demonstration. Do not use it unless you have only one interface on your host; the results can be unpredictable. /************************************************************/ /*** Join a multicast group ***/ /************************************************************/ const char *GroupID = "224.0.0.10"; struct ip_mreq mreq; if ( inet_aton(GroupID, &mreq.imr_multiaddr) == 0 ) panic("address (%s) bad", GroupID); mreq.imr_interface.s_addr = INADDR_ANY; if ( setsockopt(sd, SOL_IP, IP_ADD_MEMBERSHIP,&mreq,sizeof(mreq))!= 0) panic("Join multicast failed"); /************************************************************/ /*** Drop a multicast group ***/ /************************************************************/ if ( setsockopt(sd, SOL_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)) != 0 ) panic("Drop multicast failed");

145 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 145145145 IP Multicast Architecture Hosts Routers Service model Host-to-router protocol (IGMP) Multicast routing protocols

146 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 146146146 Multicast Routing  Basic objective – build distribution tree for multicast packets The “leaves” of the distribution tree are the subnets containing at least one group member (detected by IGMP)  Multicast service model makes it hard Anonymity Dynamic join/leave

147 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 147147147 Simple Multicast Routing Techniques  Flood and prune Begin by flooding traffic to entire network Prune branches with no receivers Examples: DVMRP, PIM-DM Unwanted state where there are no receivers  Link-state multicast protocols Routers advertise groups for which they have receivers to entire network Compute trees on demand Example: MOSPF Unwanted state where there are no senders

148 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 148148148 How to Flood Efficiently ?  A router forwards a packet from source (S) iff it arrives via the shortest path from the router back to S Reverse path check!  Packet is replicated out all but the incoming interface  Reverse shortest paths easy to compute  just use info in DV routing tables DV gives shortest reverse paths Efficient if costs are symmetric x x y y t t S S a z z Forward packets that arrive on shortest path from “t” to “S” (assume symmetric routes)

149 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 149149149 Problem  Flooding can cause a given packet to be sent multiple times over the same link: can filter better than this!  Solution: Reverse Path Broadcasting x x y y z z S S a b duplicate packet

150 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 150150150 Reverse Path Broadcasting (RPB)  Basic idea: forward a packet from S only on child links for S  Child link of router x for source S: link that has x as parent on the shortest path from the link to S x x y y z z S S a b 5 6 child link of x for S forward only to child link

151 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 151151151 How to Find Child Links?  Routing updates ! If z tells x that it can reach S through y, and if the cost of this path is >= the cost of the path from z to S through x, then x knows that the link to z is a child link  In case of tie, lower address wins x x y y z z S S a b 5 6 child link of x for S forward only to child link

152 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 152152152 Truncated RPB  This is still a broadcast algorithm – the traffic goes everywhere – lousy filtering!  First order solution: Truncated RPB Don't forward traffic onto networks with no receivers Identify leaves Leaf links are the child links that no other router uses to reach source S Use periodic updates of form: –“this is my next-link to source S” If child is not the “next-link” for anyone, it is a leaf Detect group membership in leaf (IGMP)

153 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 153153153 Reverse Path Multicast (RPM)  Prune back transmission so that only absolutely necessary links carry traffic  Use on-demand pruning so that router group state scales with number of active groups x x y y t t S S v v b b a a a a b b data message prune message

154 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 154154154 Basic RPM Idea  Prune (Source,Group) at leaf if no members Send Non-Membership Report (NMR) up the tree  If all children of router R prune (S,G) Propagate prune for (S,G) to parent R  On timeout: Prune dropped Flow is reinstated Down stream routers re-prune Note: this is a soft-state approach  Grafting: Explicitly reinstate sub-tree when IGMP detects new members at leaf, or when a child asks for a graft.

155 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 155155155 Putting it together: Topology GG S G

156 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 156156156 Flood with Truncated Broadcast GG S G

157 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 157157157 Pruning GG S Prune (s,g) G

158 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 158158158 Graft (s,g) Grafting GG S G G Report (g)

159 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 159159159 After Grafting Complete GG S G G

160 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 160160160 Reliable Multicast: The Goal  Implement reliability on top of IP multicast  Why is this hard ? Sender cannot keep state for unknown number of dynamic receivers Remember open & dynamic group semantic? Algorithms like TCP that estimate path properties such as RTT and congestion window don’t generalize to trees. Remember: TCP is only for a unicast session! Has to address (N)ACK implosions

161 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 161161161 R1 Implosion S R3R4 R2 21 R1 S R3R4 R2 Packet 1 is lostAll 4 receivers request a resend Resend request

162 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 162162162 Retransmission  Re-transmitter Options: sender, other receivers  How to retransmit Unicast, multicast, scoped multicast, retransmission group, …  Problem: retransmissions (aka repairs) may reach destinations that don’t require a retransmission A.k.a “exposure” problem Solution: subcast the re-transmission only to receivers that need it.

163 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 163163163 R1 Why Subcast? Exposure problem… S R3R4 R2 21 R1 S R3R4 R2 Packet 1 does not reach R1; Receiver 1 requests a resend Packet 1 resent to all 4 receivers 1 1 Resend request Resent packet

164 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 164164164 Ideal Recovery Model S R3R4 R2 2 1 S R3R4 R2 Packet 1 reaches R1 but is lost before reaching other Receivers Only one receiver sends NACK to the nearest S or R with packet Resend request 11 Resent packet Repair sent only to those that need packet R1

165 TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 165165165 Reliable Multicast Transport: Issues  Retransmission can make reliable multicast as inefficient as replicated unicast (N)ACK-implosion if all destinations ack at once “Crying baby”: a bad link affects entire group  Heterogeneity: receivers, links, group sizes  Anonymous/Open/Dynamic Group Model: Source does not know # of destinations, and destinations may vanish  Multicast applications do not need strong reliability of the type provided by TCP. Can tolerate some reordering, delay, etc


Descargar ppt "TECNOLOGÍAS DE RED AVANZADAS – Master IC 2010-2011 – 1- Protocolos de transporte con QoS  Clases de aplicaciones multimedia."

Presentaciones similares


Anuncios Google