Transporting Voice by using IP

Download Report

Transcript Transporting Voice by using IP

Transporting Voice by using IP
Chapter 2
The IP Protocol Suite
• IP is a routed protocol for passing data packets
• Other protocols invoke IP for the purpose of
getting these data packets from origin to
destination
• So IP must work with higher layer protocols
for any application to work properly
• Remember the OSI 7-Layer model?
Internet Standards
• The Internet Society : Non-profit body with
overall objectives to keep the internet alive and
growing
• The Internet Architecture Board (IAB): Technical
advisory group of the Internet Society.
• The Internet Engineering Task Force (IETF):
Volunteers who cooperate in the development on
Internet standards; equipment vendors, network
operators, research institutions.
Internet Standards ctd ...
• Internet Engineering Steering Group (IESG):
Manages and controls IETF’s activities, can
approve a particular specification.
• Internet Assigned Number Authority (IANA):
Responsible for unique numbers, parameter
values and meanings.
Internet Standards Process
• Begins life as an Internet draft
• Once it is considered complete it can be
published as an RFC (Request for comments)
• The RFC is given a number and becomes a
draft standard.
• To achieve this it must have at least 2
independent successful implementations and
interoperability must have been
demonstrated.
The IP Datagram Format
Routed vs Routing Protocols
• Routed: IP, IPX, Novell IPX, Open Standards Institute
networking protocol, DECnet, Appletalk, Banyan Vines,
Xerox Network System (XNS).
• Routing:
 Routing Information Protocol (RIP and RIP II)
 Open Shortest Path First (OSPF)
 Intermediate System to Intermediate System (IS-IS)
 Interior Gateway Routing Protocol (IGRP)
 Cisco's Enhanced Interior Gateway Routing Protocol
(EIGRP)
 Border Gateway Protocol (BGP)
Transmission Control Protocol (TCP)
• Ensures that packets are delivered to
destination in sequence
• Primary function is to overcome the
limitations of IP through an end-to-end
confirmation
• Port Numbers: Is a means of identifying a
specific instance of a given application.
• Other header fields?
TCP Header Format
Real-time Transport Protocol
User Datagram Protocol (UDP)
• Passes data from and application to IP to be
routed to the far end.
• At the far end it simply passes incoming data
from IP to the application.
• Provides no acknowledgement functionality
• What happens if a UDP packet is lost?
• Checksum simply checks that received data is
error free
UDP Header Format
Voice over UDP, not TCP
• Speed is more important than loss of data
• Voice packets are smaller so drop of a few will
not be noticeable in the overall context.
• Packet loss of about 5% is generally acceptable
• Provided that loss is fairly evenly divided
• What happens if they arrive out of sequence?
• QOS techniques can involve establishing a set
pattern through the network
Real Time Protocol (RTP)
• A Transport Protocol for Real Time
Applications
• Sits on top of UDP
• Helps address some of the problems
associated with UDP in terms of packet loss
• RTP contains a companion protocol (RTCP)
• RTCP provides exchange of messages between
sessions to ensure some sort of reliability
Fast-forward to the Year 2021
• Director of Development for MME, Inc.
You
Common Service
Video
Conferencing
Streaming
Audio
Movies
?
Two Goals of RTP’s Common Service
• General enough to be truly “common”
– Who knows what applications are coming?
– Throughout history, communication has changed:
• Oral (traditions passed between generations)
• Written
• Visual
• Specific enough to actually be useful
RTP can deliver
•
•
•
•
Multimedia applications requirements
RTP architecture
RTP details
RTP does meet the requirements
Requirements (1)
• Timing
– Time-stamping for buffered playback
• to minimize jitter
– Synchronization of multiple streams
– Dynamic frame boundaries
• Video: frame length varies due to compression
• Audio: “talkspurts”
Requirements (2)
• Network issues
– Dealing with packet loss
– Dealing with congestion
• Even with multicast
– Bandwidth utilization
• Minimize header bits
Requirements (3)
• Miscellaneous
– Interoperability
• Encoding
• Compression
– ID of source
• To whom am I listening?
• Useful especially in video-conferencing
Requirements Summary
• This is not TCP!
– Who cares if we lose a packet or two?
– Who cares if we have jitter?
• Calls for a different protocol...
RTP Architecture
“ALF” and “ILP”
• Application-level framing:
– The application best knows its own needs
– May not ask for retransmission, but for lower resolution
• Integrated Layer Processing
– Tightly coupled layers
– Keeps data presentation from being the bottleneck
• Gives the app. access to the data ASAP!
RTP: Summary
• A very thin protocol
– Usually built into application
• No hard QOS guarantees
– Designed for soft real-time apps
– Depends on underlying network
– Can run over ATM
• Two components:
– Media(data) transport: RTP
– Control: RTCP
RTP Concepts
• Port numbers for both RTP and RTCP
• Participant IP addresses
– Strength is multicast
• Relays
– Mixers
– Translators
RTP Header Format
RTCP
• ID of sender
• Provides various reports for use in:
– QoS and congestion control
• so an app can change resolution or compression
strategies
– Session size and scaling
• conferencing
Mixers
• Mixer: An application that enable multiple
media streams from different sources to be
combined into one overall RTP stream
– Could receive and combine various sources in an
effort to reduce bandwidth
Translators
• Used to manage communications between
entities that do not support the same media
formats or bit rates: e.g. TDM to STDM
– Keeps incoming sources separate
– To transform to a lower quality format to
broadcast on lower-speed networks
– To send through firewalls
Compression
• Can use various types
– JPEG
– MPEG
– H.261
• Provided by application
• Negotiated using RTCP
Calculation Round-Trip Time (RTT)
•
•
•
•
•
This is another function of RTCP
Useful metric when measuring voice quality
T1, T2, T3 and T4
RTT = T4 - T3 + T2 - T1
or T4 - (T3 - T2) - T1
Calculation Jitter
• Jitter is defined as the mean deviation of the
difference in packet spacing at the receiver
compared to packet spacing at the sender for
a pair of packets.
• If Si is timestamp for packet i and Ri is the
time of arrival in RTP timestamp units for
packet i then for 2 packets i and j the deviation
in transmit time D is given by:
• D(i,j) = (Rj-Ri) – (Sj-Si) = (Rj-Sj) – (Ri-Si)
IP Multicast
• An example of this with VoIP is a conference
call
• Send a packet to a single destination address
associated with all listeners
• 224.0.0.1 All hosts on a local subnet
• 224.0.0.2 All routers on a local subnet
• 224.0.0.5 All routers supporting OSPF
• 224.0.0.9 All routers supporting RIP v2
Summary
• Multimedia applications have much different needs
than http or ftp!
• RTP meets those needs:
•
•
•
•
•
•
•
Minimized jitter
Synchronized sources
Dynamic, payload-specific frame length
Adaptation in the face of congestion
Interoperability
Effective use of bandwidth
Support for video-conferencing (multicast, IDs)