Improved employee productivity through features provided by IP telephony:
IP phones are complete business communication devices.
Directory lookups and database applications (XML)
Integration of telephony into any business application
Software-based and wireless phones offer mobility.
Access to new communications devices (such as PDAs and cable set-top boxes)
Components of a VoIP Network
Legacy Analog and VoIP Applications Can Coexist
Legacy Analog Interfaces in VoIP Networks Earth and Magneto Foreign Exchange Office Foreign Exchange Station Analog Interface Type Trunk, used between switches E&M Used by the end device side of an FXS–FXO connection FXO Used by the PSTN or PBX side of an FXS–FXO connection FXS Description Label
Legacy Analog Interfaces in VoIP Networks 1 1 2 3 4 5
Digital Interfaces 2048 kbps 64 kbps 1 channel (64 kbps) 30 E1 CCS 2048 kbps 64 kbps 64 kbps 30 E1 CAS 1544 kbps 8 kbps 1 channel (64 kbps) 23 T1 CCS 1544 kbps 8 kbps in-band (robbed-bits in voice channels) 24 (no clean 64 kbps because of robbed-bit signaling) T1 CAS 192 kbps 48 kbps 1 channel (16 kbps) 2 BRI Total Bandwidth Framing Overhead Signaling Voice Channels (64 kbps Each) Interface
Digitizing and Packetizing Voice
Basic Voice Encoding: Converting Analog Signals to Digital Signals
Step 1: Sample the analog signal.
Step 2: Quantize sample into a binary expression.
Step 3: Compress the samples to reduce bandwidth.
Basic Voice Encoding: Converting Digital Signals to Analog Signals
Step 1: Decompress the samples.
Step 2: Decode the samples into voltage amplitudes, rebuilding the PAM signal.
Step 3: Reconstruct the analog signal from the PAM signals.
Determining Sampling Rate with the Nyquist Theorem
The sampling rate affects the quality of the digitized signal.
Applying the Nyquist theorem determines the minimum sampling rate of analog signals.
Nyquist theorem requires that the sampling rate has to be at least twice the maximum frequency.
Example: Setting the Correct Voice Sampling Rate
Human speech uses 200–9000 Hz.
Human ear can sense 20–20,000 Hz.
Traditional telephony systems were designed for 300–3400 Hz.
Sampling rate for digitizing voice was set to 8000 samples per second, allowing frequencies up to 4000 Hz.
Quantization is the representation of amplitudes by a certain value (step).
A scale with 256 steps is used for quantization.
Samples are rounded up or down to the closer step.
Required bandwidth for one call is 64 kbps (8000 samples per second, 8 bits each).
Circuit-based telephony networks use TDM to combine multiple 64-kbps channels (DS-0) to a single physical line.
Companding — compressing and expanding
There are two methods of companding:
Mu-law, used in Canada, U.S., and Japan
A-law, used in other countries
Both methods use a quasi-logarithmic scale:
Logarithmic segment sizes
Linear step sizes (within a segment)
Both methods have eight positive and eight negative segments, with 16 steps per segment.
An international connection needs to use A-law; mu-to-A conversion is the responsibility of the mu-law country.
Pulse Code Modulation (PCM)
Digital representation of analog signal
Signal is sampled regularly at uniform levels
Basic PCM samples voice 8000 times per second
Basis for the entire telephone system digital hierarchy
Adaptive Differential Pulse Code Modulation
Transmits only the difference between one sample and the next
Common Voice Codec Characteristics 8 CS-ACELP, but with less computation G.729A 8 CS-ACELP G.729 16 LDCELP (Low Delay CELP) G.728 16, 24, 32 ADPCM G.726 64 PCM G.711 Bit Rate (kbps) Codec ITU-T Standard
Mean Opinion Score
A Closer Look at a DSP
A DSP is a specialized processor used for telephony applications:
Works as a compander converting analog voice to digital format and back again
Provides echo cancellation, VAD, CNG, jitter removal, and other benefits
Conferencing: Mixes incoming streams from multiple parties
Transcoding: Translates between voice streams that use different, incompatible codecs
DSP Module Voice Network Module
DSP Used for Conferencing
DSPs can be used in single- or mixed-mode conferences:
Mixed mode supports different codecs.
Single mode demands that the same codec to be used by all participants.
Mixed mode has fewer conferences per DSP.
Example: DSP Used for Transcoding
Encapsulating Voice Packets for Transport
Voice Transport in Circuit-Switched Networks
Analog phones connect to CO switches.
CO switches convert between analog and digital.
After call is set up, PSTN provides:
End-to-end dedicated circuit for this call (DS-0)
Synchronous transmission with fixed bandwidth and very low, constant delay
Voice Transport in VoIP Networks
Analog phones connect to voice gateways.
Voice gateways convert between analog and digital.
After call is set up, IP network provides:
Packet-by-packet delivery through the network
Shared bandwidth, higher and variable delays
Voice packets enter the network at a constant rate.
Voice packets may arrive at the destination at a different rate or in the wrong order.
Jitter occurs when packets arrive at varying rates.
Since voice is dependent on timing and order, a process must exist so that delays and queuing issues can be fixed at the receiving end.
The receiving router must:
Ensure steady delivery (delay)
Ensure that the packets are in the right order
VoIP Protocol Issues
IP does not guarantee reliability, flow control, error detection or error correction.
IP can use the help of transport layer protocols TCP or UDP.
TCP offers reliability, but voice doesn’t need it…do not retransmit lost voice packets.
TCP overhead for reliability consumes bandwidth.
UDP does not offer reliability. But it also doesn’t offer sequencing…voice packets need to be in the right order.
RTP, which is built on UDP, offers all of the functionality required by voice packets.
Protocols Used for VoIP Low Low Contains unnecessary information As little as possible Overhead No Yes Yes Yes Multiplexing Yes No No Yes Time-stamping Yes No Yes Yes Reordering No No Yes No Reliability RTP UDP TCP Voice Needs Feature
Digitized voice is encapsulated into RTP, UDP, and IP.
By default, 20 ms of voice is packetized into a single IP packet.
Voice Encapsulation Overhead
Voice is sent in small packets at high packet rates.
IP, UDP, and RTP header overheads are enormous:
For G.729, the headers are twice the size of the payload.
For G.711, the headers are one-quarter the size of the payload.
Bandwidth is 24 kbps for G.729 and 80 kbps for G.711, ignoring Layer 2 overhead.
RTP Header Compression
Compresses the IP, UDP, and RTP headers
Is configured on a link-by-link basis
Reduces the size of the headers substantially (from 40 bytes to 2 or 4 bytes):
4 bytes if the UDP checksum is preserved
2 bytes if the UDP checksum is not sent
Saves a considerable amount of bandwidth
cRTP Operation The sending side sends the entire header without compression. There is an unexpected change. The receiving side substitutes the original stored header and calculates the changed fields. The receiving side predicts what the constant change is. The sending side sends a hash of the header. The predicted change is tracked. The sending side tracks the predicted change. The change is predictable. Action Condition
When to Use RTP Header Compression
Only on slow links (less than 2 Mbps)
If bandwidth needs to be conserved
Consider the disadvantages of cRTP:
Adds to processing overhead
Introduces additional delays
Tune cRTP—set the number of sessions to be compressed (default is 16).
Calculating Bandwidth Requirements for VoIP
Factors Influencing Encapsulation Overhead and Bandwidth
Depends on protocol (IPsec, GRE, or MPLS)
Tunneling overhead (if used)
Depends on protocol (different per link)
Depends on the use of cRTP
IP overhead (including UDP and RTP)
Depends on packetization period
Depends on codec bandwidth (bits per sample)
Packetization size (payload size)
Derived from packetization period (the period over which encoded voice bits are collected for encapsulation)
How the Packetization Period Impacts VoIP Packet Size and Rate
High packetization period results in:
Larger IP packet size (adding to the payload)
Lower packet rate (reducing the IP overhead)
VoIP Packet Size and Packet Rate Examples 25 50 33.33 50 Packet rate (pps) 80 60 280 200 VoIP packet size (bytes) 40 40 40 40 IP overhead (bytes) 40 20 240 160 Packetization size (bytes) 8 8 64 64 Codec bandwidth (kbps) G.729 40 ms G.729 20 ms G.711 30 ms G.711 20 ms Codec and Packetization Period
Data-Link Overhead Is Different per Link 6 Frame Relay 6 MLP 22 18 Overhead [bytes] Ethernet Trunk (802.1Q) Ethernet Data-Link Protocol
Security and Tunneling Overhead
IP packets can be secured by IPsec.
Additionally, IP packets or data-link frames can be tunneled over a variety of protocols.
Characteristics of IPsec and tunneling protocols are:
The original frame or packet is encapsulated into another protocol.
The added headers result in larger packets and higher bandwidth requirements.
The extra bandwidth can be extremely critical for voice packets because of the transmission of small packets at a high rate.
Extra Headers in Security and Tunneling Protocols 8 PPPoE 4 MPLS 24 L2TP/GRE 50–73 IPsec tunnel mode 30–53 IPsec transport mode Header Size (bytes) Protocol
Example: VoIP over IPsec VPN
G.729 codec (8 kbps)
20-ms packetization period
IPsec ESP with 3DES and SHA-1, tunnel mode
Total Bandwidth Required for a VoIP Call
Total bandwidth of a VoIP call, as seen on the link, is important for:
Designing the capacity of the physical link
Deploying Call Admission Control (CAC)
Total Bandwidth Calculation Procedure
Gather required packetization information:
Packetization period (default is 20 ms) or size
Gather required information about the link:
Type of data-link protocol
IPsec or any tunneling protocols used
Calculate the packetization size or period.
Sum up packetization size and all headers and trailers.
Calculate the packet rate.
Calculate the total bandwidth.
Bandwidth Calculation Example
Quick Bandwidth Calculation
Total packet size Total bandwidth requirement
————————— = ————————————————
Payload size Nominal bandwidth requirement
Total packet size = All headers + payload
Example: G.729 with Frame Relay: Total bandwidth requirement = (6 + 40 + 20 bytes) * 8 kbps ————————————— = 26.4 kbps 20 bytes 8 kbps for G.729, 64 kbps for G.711 Nominal bandwidth 20 bytes for G.729, 160 bytes for G.711 Payload size (20-ms sample interval) 40 bytes IP + UDP + RTP headers 6 to 18 bytes Layer 2 header Value Parameter
Detects silence (speech pauses)
Suppresses transmission of “silence patterns”
Depends on multiple factors:
Type of audio (for example, speech or MoH)
Level of background noise
Other factors (for example, language, character of speaker, or type of call)
Can save up to 35 percent of bandwidth
VAD Bandwidth-Reduction Examples 6.24 kbps 17.16 kbps 43.33 kbps 56.68 kbps Bandwidth with VAD (35% reduction) 9.6 kbps 26.4 kbps 66.67 kbps 87.2 kbps Bandwidth without VAD 40 ms 40 bytes 20 ms 20 bytes 30 ms 240 bytes 20 ms 160 bytes Packetization G.729 8 kbps G.729 8 kbps G.711 64 kbps G.711 64 kbps Codec cRTP 2 bytes no cRTP 40 bytes cRTP 4 bytes no cRTP 40 bytes IP overhead MLPP 6 bytes Frame Relay 6 bytes Frame Relay 6 bytes Ethernet 18 bytes Data-Link Overhead
Traditional Nonconverged Network
Traditional data traffic characteristics:
Bursty data flow
Not overly time-sensitive; delays OK
Brief outages are survivable
Converged Network Realities
Converged network realities:
Constant small-packet voice flow competes with bursty data flow.
Critical traffic must have priority.
Voice and video are time-sensitive.
Brief outages are not acceptable.
Converged Network Quality Issues
Lack of bandwidth: Multiple flows compete for a limited amount of bandwidth.
End-to-end delay (fixed and variable): Packets have to traverse many network devices and links; this travel adds up to the overall delay.
Variation of delay (jitter): Sometimes there is a lot of other traffic, which results in varied and increased delay.
Packet loss: Packets may have to be dropped when a link is congested.
Measuring Available Bandwidth
The maximum available bandwidth is the bandwidth of the slowest link.
Multiple flows are competing for the same bandwidth, resulting in much less bandwidth being available to one single application.
A lack in bandwidth can have performance impacts on network applications.
Increasing Available Bandwidth
Upgrade the link (the best but also the most expensive solution).
Improve QoS with advanced queuing mechanisms to forward the important packets first.
Compress the payload of Layer 2 frames (takes time).
Compress IP packet headers.
Using Available Bandwidth Efficiently
Using advanced queuing and header compression mechanisms, the available bandwidth can be used more efficiently:
Voice: LLQ and RTP header compression
Interactive traffic: CBWFQ and TCP header compression
Data (Low) Data (Medium) Data (High) Voice (Highest) 1 1 2 2 3 3 3 4 4 4 4 4 3 2 1 1
RTP header compression
TCP header compression
Types of Delay
Processing delay: The time it takes for a router to take the packet from an input interface, examine the packet, and put the packet into the output queue of the output interface.
Queuing delay: The time a packet resides in the output queue of a router.
Serialization delay: The time it takes to place the “bits on the wire.”
Propagation delay: The time it takes for the packet to cross the link from one end to the other.
The Impact of Delay and Jitter on Quality
End-to-end delay: The sum of all propagation, processing, serialization, and queuing delays in the path
Jitter: The variation in the delay.
In best-effort networks, propagation and serialization delays are fixed, while processing and queuing delays are unpredictable.
Ways to Reduce Delay
Upgrade the link (the best solution but also the most expensive).
Forward the important packets first.
Enable reprioritization of important packets.
Compress the payload of Layer 2 frames (takes time).
Compress IP packet headers.
Reducing Delay in a Network
Customer routers perform:
TCP/RTP header compression
ISP routers perform:
Reprioritization according to the QoS policy
The Impacts of Packet Loss
Telephone call: “I cannot understand you. Your voice is breaking up.”
Teleconferencing: “The picture is very jerky. Voice is not synchronized.”
Publishing company: “This file is corrupted.”
Call center: “Please hold while my screen refreshes.”
Types of Packet Drops
Tail drops occur when the output queue is full. Tail drops are common and happen when a link is congested.
Other types of drops, usually resulting from router congestion, include input drop, ignore, overrun, and frame errors. These errors can often be solved with hardware upgrades.
Ways to Prevent Packet Loss
Upgrade the link (the best solution but also the most expensive).
Guarantee enough bandwidth for sensitive packets.
Prevent congestion by randomly dropping less important packets before congestion occurs.
Traffic Policing and Traffic Shaping Time Traffic Traffic Rate Time Traffic Traffic Rate Time Traffic Traffic Rate Time Traffic Traffic Rate Policing Shaping
Reducing Packet Loss in a Network
Problem: Interface congestion causes TCP and voice packet drops, resulting in slowing FTP traffic and jerky speech quality.
Conclusion: Congestion avoidance and queuing can help.
Solution: Use WRED and LLQ.
What Is Quality of Service? Two Perspectives
The user perspective
Users perceive that their applications are performing properly
Voice, video, and data
The network manager perspective
Need to manage bandwidth allocations to deliver the desired application performance
Control delay, jitter, and packet loss
Different Types of Traffic Have Different Needs Need to manage bandwidth allocations
Real-time applications especially sensitive to QoS
Causes of degraded performance
Variable queuing delays
The QoS challenge
Manage bandwidth allocations to deliver the desired application performance
Control delay, jitter, and packet loss
Sensitivity to QoS Metrics N N N Bulk Data Email File Transfer N N Y Transactional/ Interactive Y Y N Streaming Video Y Y Y Interactive Voice and Video Packet Loss Jitter Delay Application Examples
Step 1: Identify types of traffic and their requirements.
Step 2: Divide traffic into classes.
Step 3: Define QoS policies for each class.
Step 2: Define Traffic Classes Scavenger Class Less than Best Effort
Step 3: Define QoS Policy
A QoS policy is a network-wide definition of the specific levels of QoS that are assigned to different classes of network traffic.
Quality of Service Operations How Do QoS Tools Work? Classification and Marking Queuing and (Selective) Dropping Post-Queuing Operations
Selecting an Appropriate QoS Policy Model
Three QoS Models The network recognizes classes that require QoS. Differentiated Services (DiffServ) Applications signal to the network that the applications require certain QoS parameters. Integrated Services (IntServ) No QoS is applied to packets. If it is not important when or how packets arrive, the best-effort model is appropriate. Best effort Characteristics Model
Internet was initially based on a best-effort packet delivery service.
Best-effort is the default mode for all traffic.
There is no differentiation among types of traffic.
Best-effort model is similar to using standard mail—“The mail will arrive when the mail arrives.”
No special mechanisms required
No service guarantees
No service differentiation
Integrated Services (IntServ) Model Operation
Ensures guaranteed delivery and predictable behavior of the network for applications.
Provides multiple service levels.
RSVP is a signaling protocol to reserve resources for specified QoS parameters.
The requested QoS parameters are then linked to a packet stream.
Streams are not established if the required QoS parameters cannot be met.
Intelligent queuing mechanisms needed to provide resource reservation in terms of:
Controlled load (low delay, high throughput)
Benefits and Drawbacks of the IntServ Model
Explicit resource admission control (end to end)
Per-request policy admission control (authorization object, policy object)
Signaling of dynamic port numbers (for example, H.323)
Continuous signaling because of stateful architecture
Flow-based approach not scalable to large implementations, such as the public Internet
The Differentiated Services Model
Overcomes many of the limitations best-effort and IntServ models
Uses the soft QoS provisioned-QoS model rather than the hard QoS signaled-QoS model
Classifies flows into aggregates (classes) and provides appropriate QoS for the classes
Minimizes signaling and state maintenance requirements on each network node
Manages QoS characteristics on the basis of per-hop behavior (PHB)
You choose the level of service for each traffic class
Edge Edge Interior Edge DiffServ Domain End Station End Station
Implement the DiffServ QoS Model Lesson 4.1: Introducing Classification and Marking
Classification is the process of identifying and categorizing traffic into classes, typically based upon:
Source or destination address
Without classification, all packets are treated the same.
Classification should take place as close to the source as possible.
Marking is the QoS feature component that “colors” a packet (frame) so it can be identified and distinguished from other packets (frames) in QoS treatment.
Commonly used markers:
CoS (ISL, 802.1p)
MPLS EXP bits
Classification and Marking in the LAN with IEEE 802.1Q
IEEE 802.1p user priority field is also called CoS.
IEEE 802.1p supports up to eight CoSs.
IEEE 802.1p focuses on support for QoS over LANs and 802.1Q ports.
IEEE 802.1p is preserved through the LAN, not end to end.
Classification and Marking in the Enterprise
Describes services associated with traffic classes, rather than traffic flows.
Complex traffic classification and conditioning is performed at the network edge.
No per-flow state in the core.
The goal of the DiffServ model is scalability.
Interoperability with non-DiffServ-compliant nodes.
Classification Tools IP Precedence and DiffServ Code Points
IPv4 : three most significant bits of ToS byte are called IP Precedence (IPP)—other bits unused
DiffServ : six most significant bits of ToS byte are called DiffServ Code Point (DSCP)—remaining two bits used for flow control
DSCP is backward-compatible with IP precedence
ID Offset TTL Proto FCS IP SA IP DA Data Len Version Length ToS Byte IPv4 Packet 7 6 5 4 3 2 1 0 DiffServ Code Point (DSCP) IP ECN IP Precedence Unused Standard IPv4 DiffServ Extensions
IP ToS Byte and DS Field Inside the IP Header
IP Precedence and DSCP Compatibility
Compatibility with current IP precedence usage (RFC 1812)
Differentiates probability of timely forwarding:
(xyz000) >= (abc000) if xyz > abc
That is, if a packet has DSCP value of 011000, it has a greater probability of timely forwarding than a packet with DSCP value of 001000.
DSCP selects PHB throughout the network:
Default PHB (FIFO, tail drop)
Class-selector PHB (IP precedence)
Standard PHB Groups
Expedited Forwarding (EF) PHB
Ensures a minimum departure rate
Guarantees bandwidth—class guaranteed an amount of bandwidth with prioritized forwarding
Polices bandwidth—class not allowed to exceed the guaranteed amount (excess traffic is dropped)
DSCP value of 101110: Looks like IP precedence 5 to non-DiffServ-compliant devices:
Bits 5 to 7: 101 = 5 (same 3 bits are used for IP precedence)
Bits 3 and 4: 11 = No drop probability
Bit 2: Just 0
Assured Forwarding (AF) PHB
Allows access to extra bandwidth, if available
Four standard classes: AF1, AF2, AF3, and AF4
DSCP value range of aaadd0:
aaa is a binary value of the class
dd is drop probability
AF PHB Values
Each AF class uses three DSCP values.
Each AF class is independently forwarded with its guaranteed bandwidth.
Congestion avoidance is used within each class to prevent congestion within the class.
Mapping CoS to Network Layer QoS
QoS Service Class
A QoS service class is a logical grouping of packets that are to receive a similar level of applied quality.
A QoS service class can be:
A single user (such as MAC address or IP address)
A department, customer (such as subnet or interface)
An application (such as port numbers or URL)
A network destination (such as tunnel interface or VPN)
Implementing QoS Policy Using a QoS Service Class
QoS Service Class Guidelines
Profile applications to their basic network requirements.
Do not over engineer provisioning; use no more than four to five traffic classes for data traffic:
Voice applications: VoIP
Mission-critical applications: Oracle, SAP, SNA
Interactive applications: Telnet, TN3270
Bulk applications: FTP, TFTP
Best-effort applications: E-mail, web
Scavenger applications: Nonorganizational streaming and video applications (Kazaa, Yahoo)
Do not assign more than three applications to mission-critical or transactional classes.
Use proactive policies before reactive (policing) policies.
Seek executive endorsement of relative ranking of application priority prior to rolling out QoS policies for data.
Classification and Marking Design QoS Baseline Marking Recommendations Application L3 Classification DSCP PHB IPP CoS Transactional Data 18 AF21 2 2 Call Signaling 24 CS3* 3 3 Streaming Video 32 CS4 4 4 Video Conferencing 34 AF41 4 4 Voice 46 EF 5 5 Network Management 16 CS2 2 2 L2 Bulk Data 10 AF11 1 1 Scavenger 8 CS1 1 1 Routing 48 CS6 6 6 Mission-Critical Data 26 AF31* 3 3 Best Effort 0 0 0 0
How Many Classes of Service Do I Need? 4/5 Class Model Scavenger Critical Data Call Signaling Realtime Best Effort 8 Class Model Critical Data Video Call Signaling Best Effort Voice Bulk Data Network Control Scavenger 11 Class Model Network Management Call Signaling Streaming Video Transactional Data Interactive-Video Voice Best Effort IP Routing Mission-Critical Data Scavenger Bulk Data Time
Trust Boundaries: Classify Where?
For scalability, classification should be enabled as close to the edge as possible, depending on the capabilities of the device at:
Endpoint or end system
Trust Boundaries: Mark Where?
For scalability, marking should be done as close to the source as possible.