Multimedia Networking Applications

Properties of Video:

  • Compression: spatial (within frame) and temporal (between frames)
  • Bit rate: CBR (Constant Bit Rate) vs VBR (Variable Bit Rate)
  • Compression standards: MPEG-1/2/4, H.261/H.263/H.264, VP8/9

Properties of Audio:

  • PCM: 64 kbps (8000 samples/s × 8 bits/sample)
  • Compressed: GSM (13 kbps), G.729 (8 kbps), MP3, AAC

Types of Multimedia Network Applications:

Application TypeToleranceBandwidthReal-timeExamples
Streaming storedHigh delay, low jitterVBRNo (startup delay OK)YouTube, Netflix
Conversational voiceLow delay (<150ms), low jitterCBR ~64kbpsYesVoIP (Skype)
Conversational videoLow delay, low jitterVBRYesZoom, FaceTime
Streaming liveModerate delayVBRYes (near real-time)Live streaming

Streaming Stored Video

UDP Streaming:

  • Video sent over UDP (could adapt rate)
  • Problem: many firewalls block UDP; no congestion control (unfair to TCP)

HTTP Streaming:

  • Video stored as file on HTTP server
  • Client requests via HTTP GET (byte ranges)
  • Simple but non-adaptive — cannot adapt to changing available bandwidth

DASH (Dynamic Adaptive Streaming over HTTP):

  • Video encoded at multiple bit rates (e.g., 300 kbps, 1 Mbps, 3 Mbps)
  • Video divided into chunks (a few seconds each)
  • Manifest file: provides URL for each chunk version + bit rate
  • Client adaptively requests chunks — selects highest bit rate that can be downloaded without rebuffering
  • Works over standard HTTP infrastructure (CDN-friendly)

Voice-over-IP

Limitations of Best-Effort IP Service:

  • Packet loss: up to 1-5% tolerable (lost speech can be interpolated)
  • Delay: one-way < 150ms good; 150-400ms acceptable; >400ms poor
  • Jitter: variable delays cause uneven packet spacing

Removing Jitter at the Receiver:

  • Playout buffering: receiver buffers incoming packets before playing
  • Fixed playout delay: start playback after a fixed delay; simple but wasteful
  • Adaptive playout delay: estimate network delay and adjust playout point dynamically
    • Algorithm: estimate average delay, set playout time = estimated delay + k × delay variation

Recovering from Packet Loss:

MethodDescriptionOverhead
FEC (Forward Error Correction)Send redundant info (e.g., XOR of n packets)n-fold bandwidth increase
InterleavingReorder packets so loss affects isolated samplesAdds delay
Error concealmentRepeat / interpolate lost speechZero overhead

Skype Case Study:

  • Proprietary codec (SILK — 40 kbps)
  • Adaptive to network conditions
  • P2P architecture for signaling (supernodes)
  • Relay calls through intermediate nodes for NAT traversal

Protocols for Real-Time Conversational Applications

RTP (Real-Time Transport Protocol)

Runs on top of UDP. Provides timestamp, sequence number, and payload type identification for real-time data.

RTP Header:

FieldSizeDescription
Version2 bitsCurrently 2
P (Padding)1 bitPadding present
X (Extension)1 bitHeader extension present
CC (CSRC count)4 bitsNumber of contributing sources
M (Marker)1 bitFrame boundary marker
Payload type7 bitsCodec type (PCM, GSM, MPEG, H.264, etc.)
Sequence number16 bitsDetection of lost packets
Timestamp32 bitsSampling instant of first byte
SSRC32 bitsSynchronization source identifier
CSRC0-15 × 32 bitsContributing sources (for mixers)

RTCP (RTP Control Protocol):

  • Sender/receiver reports: packet counts, loss rates, jitter, round-trip time
  • Used for quality monitoring and flow adaptation

SIP (Session Initiation Protocol)

Application-layer protocol for setting up, managing, and tearing down multimedia sessions.

SIP Architecture:

  • User agents: endpoints (client + server)
  • SIP registrar: maps SIP addresses (sip:user@domain) to IP addresses
  • SIP proxy: forwards SIP messages; assists with routing

SIP Messages:

  • INVITE: initiate a session (includes SDP — Session Description Protocol for codec negotiation)
  • BYE: terminate a session
  • ACK: confirm session establishment
  • REGISTER: register current location
  • Status codes similar to HTTP (200 OK, 404 Not Found, etc.)

SIP Call Setup (simplified):

  1. Alice’s UA sends INVITE to Bob through SIP proxies
  2. Bob’s phone rings; Bob accepts
  3. Bob’s UA sends 200 OK with SDP (Bob’s codecs)
  4. Alice’s UA sends ACK
  5. Media flows directly (RTP between the two endpoints, not through SIP)

SDP (Session Description Protocol): exchanged in SIP body; describes media type, codec, port, IP address for media.

Network Support for Multimedia

Dimensioning Best-Effort Networks

  • Provision enough bandwidth so that congestion is rare
  • Simple but costly; no QoS guarantees

Providing Multiple Classes of Service

Diffserv (Differentiated Services):

  • Packets are marked at network edge with DS field (formerly ToS byte)
  • Core routers use PHB (Per-Hop Behavior) to determine forwarding treatment

Diffserv PHBs:

PHBCodepointBehaviorUsed For
Default000 000Best-effortRegular traffic
EF (Expedited Forwarding)101 110Low loss, low delay, low jitter (priority queuing)VoIP, premium traffic
AF (Assured Forwarding)001 xx0 - 100 xx04 classes × 3 drop precedencesAssured bandwidth
CS (Class Selector)xxx 000Backward compatibilityLegacy

AF provides assured forwarding: within each of 4 classes, packets with lower drop precedence are less likely to be dropped during congestion.

Per-Connection QoS Guarantees: Intserv and RSVP

Intserv (Integrated Services): fine-grained, per-flow QoS guarantees.

  • Guaranteed service: firm delay bounds
  • Controlled load: approximates lightly loaded network

RSVP (Resource Reservation Protocol): signaling protocol for Intserv.

  • Receiver initiates reservation (multicast-friendly)
  • Reserves resources along the path (routers maintain soft state)
  • Scalability concern: per-flow state in every router

References

  • Computer Networking: A Top-Down Approach, 7th Edition — Kurose & Ross, Pearson, 2017
  • RFC 3550 — RTP/RTCP
  • RFC 3261 — SIP
  • RFC 2474 — Definition of DS Field
  • RFC 2597 — Assured Forwarding PHB
  • RFC 3246 — Expedited Forwarding PHB
  • RFC 2205 — RSVP