Voice Over Internet Protocol (VoIP)
Introduction to Computer Networks Direct link networks Internetworking End-to-end protocols
Voice over Internet Protocol (VoIP)
Voice quality Transport
Network QoS
Multimedia Streaming EE493Q: Digital Speech Processing
Layered Architecture Application
Network
FTP
HTTP
TCP
SMTP
UDP
IP
Data link
Physical
TELNET
NET1
NET2
……
EE493Q: Digital Speech Processing
NETK
Local Area Networks (LAN)
Ethernet (IEEE 802.3)
Rooted in an early packet radio network called ALOHA developed at the University of Hawaii and developed by Xerox Palo Alto Research Center in 1970s The most successful LAN technology in the last twenty years Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
FDDI (IEEE 802.5) Wireless (IEEE 802.11)
EE493Q: Digital Speech Processing
What is an Internetwork (Internet)? Internet refers to an arbitrary collection of networks interconnected to provide some sort of host-to-host packet delivery service How is internetwork different from networks?
Network often refers to either a directly connected or a switched network (e.g., 802.5, Ethernet or ATM) → “physical network” An internetwork is an interconnected collection of networks → “logical network”
EE493Q: Digital Speech Processing
Example Network 2 (Ethernet)
Network 1 (Ethernet)
R2
R1 Network 3 (FDDI) R3 Rn=Router FDDI=Fiber Distributed Data Interface EE493Q: Digital Speech Processing
Network 4 (wireless)
Internet Protocol
Invented by Kahn and Cerf in 1970s
The best case study of a scalable and heterogeneous networking protocol
A datagram is a type of packet that is sent in a connectionless manner over a network IP service model is sometimes called “Best Effort” – i.e., although IP makes every effort to deliver datagrams, it makes no guarantees
Addressing scheme: identify all hosts in the internet Datagram (connectionless) model of data delivery
EE493Q: Digital Speech Processing
Why Best Effort? It is the simplest service you could ask from an internetwork and it keeps the routers as simple as possible The ability of IP to “run over anything”: many technologies IP runs today did not exist when IP was invented Best effort delivery does not just mean that packets can get lost
They can be delivered out of order The same packet can be delivered more than once EE493Q: Digital Speech Processing
Packet Format in IPv4
The maximum size of an IP datagram is 65535 bytes (fragmentation and reassembly might be needed when physical networks do not support such long packets) EE493Q: Digital Speech Processing
Fragmentation and Reassembly
Why are they needed?
Heterogeneous collection of networks have different packet-size limits – e.g., up to 1500 bytes for Ethernet and up to 4500 bytes for FDDI
All fragments after fragmentation will be assigned a unique IDENT field in the second word, which enables them to be reassembled at the host IP does not attempt to recover from missing fragments
EE493Q: Digital Speech Processing
Global Addresses
IP addresses are hierarchical
Network part: identifies the network to which the host is attached Host part: identifies each host uniquely on that particular network
IPv4 addresses (32bits)
Class Class Class Class Class
A: 0 + network(7 bits) + host (24 bits) B: 10+ network(14 bits)+host (16 bits) C: 110 + network(21 bits)+host (8 bits) D: specify a multicast group E: unused EE493Q: Digital Speech Processing
Examples
EE493Q: Digital Speech Processing
Datagram Forwarding in IP
Every IP datagram contains the IP address of the destination host The network part of an IP address uniquely identifies a single physical network that is part of the larger internet All hosts and routers that share the same network part of their address are connected to the same physical network and can communicate with each other by sending frames over that network Every physical network that is part of the Internet has at least one router that is also connected to at least one other physical network EE493Q: Digital Speech Processing
Bridges, Switches and Routers
They all forward messages from one to another. The differences are
Bridges are link-level nodes: forward frames within an extended local area network (LAN) Switches are network-level nodes: forward packets within a packet-switched network Routers are internetwork-level nodes: forward datagrams to implement internet
However, the distinction could become vague in some cases (e.g., multiport bridge) EE493Q: Digital Speech Processing
Ethernet Address and IP Address Ethernet addresses (48 bits) are configured into the network adaptor by the manufacturer However, IP addresses need to be reconfigurable because a host might be connected to different networks (e.g., travel with your laptop to a conference) Dynamic Host Configuration Protocol (DHCP) improves the manageability of a network
EE493Q: Digital Speech Processing
Routing and Forwarding Forwarding table is used when a packet is being forwarded and so must contain enough information to accomplish the forwarding function Routing table is the table that is built up by the routing algorithms as a precursor to building the forward table Routing is among the most difficult technical issues in computer networks.
EE493Q: Digital Speech Processing
Routing as a Problem of Graph Theory
B 5
6
D
4
1
2
E
A 1
9 C
1 3
G
1 7 F
EE493Q: Digital Speech Processing
Transport (End-to-End) Protocols
Objectives of transport layers
Guarantee message delivery Deliver the message in the same order they are sent Deliver at most one copy of the message Support arbitrarily large messages Support synchronization between sender and receiver Allow receiver to apply flow control to the sender Support multiple application processes at each host EE493Q: Digital Speech Processing
Recall: Limitations of networks
Networks may
Drop messages Reorder messages Deliver duplicate copies of a given message Limit messages to some finite size Deliver messages after an arbitrarily long delay
Two classes of protocols are most popular
User Datagram Protocol (UDP) Transmission Control Protocol (TCP) EE493Q: Digital Speech Processing
Simple Demultiplexer: UDP
UDP Header Format UDP does not provide the reliability and ordering guarantees that TCP does Without the overhead of checking if every packet actually arrived, UDP is faster and more efficient for many lightweight or time-sensitive purposes. EE493Q: Digital Speech Processing
Reliable Byte Stream: TCP
A virtual circuit (VC) is a communications arrangement in which data from a source user may be passed to a destination user over more than one real communications circuit during a single period of communication, but the switching is hidden from the users The Transmission Control Protocol (TCP) is a virtual circuit protocol that is one of the core protocols of the Internet protocol suite. Using TCP, applications on networked hosts can create connections to one another, over which they can exchange data in packets. The protocol guarantees reliable and in-order delivery of data from sender to receiver. EE493Q: Digital Speech Processing
Voice Over Internet Protocol (VoIP)
Introduction to Computer Networks Direct link networks Internetworking End-to-end protocols
Voice over Internet Protocol (VoIP)
Voice quality Transport
Network QoS
Multimedia Streaming EE493Q: Digital Speech Processing
VoIP and Its History
VoIP refers to the routing of voice conversations over the Internet or through any other IP-based network. The Network Voice Protocol (NVP) research sponsored by DARPA in 1973 was the ancestor of VoIP It was in 1995 that the first Internet Phone Software appeared; The breakthrough in VoIP history came when hardware manufacturers such as Cisco Systems and Nortel started producing VoIP equipment that was capable of switching A major development starting in 2004 has been the introduction of mass-market VoIP services over broadband Internet access services, in which subscribers make and receive calls as they would over the PSTN
EE493Q: Digital Speech Processing
PSTN: Public switched telephone network
VoIP Diagram
PBX: Public branch exchange SIP: Session initiation protocol
EE493Q: Digital Speech Processing
Business Model Some cost savings are due to utilizing a single network to carry voice and data, especially where users have existing underutilized network capacity they can use for VoIP at no additional cost. VoIP to VoIP phone calls on any provider are typically free, whilst VoIP to PSTN calls generally costs the VoIP user. Why eBay Is Buying Skype?
EE493Q: Digital Speech Processing
Nomenclature
PSTN: Public Switched Telephone Network PBX: Public Branch eXchange SIP: Session Initiation Protocol TCP: Transmission Control Protocol RTP: Real-time Transport Protocol UDP: User Datagram Protocol RSVP: ReSerVation setup protocol QoS: Quality of Service EE493Q: Digital Speech Processing
Voice Quality
Factors affecting voice quality
Speech codec Echo control Packet loss Delay and delay variation (jitter) Network design
Speech quality assessment
Mean opinion score (MOS) The effect of environmental noise The effect of channel degradation (e.g., packet loss) The effect of tandem encoding/decoding EE493Q: Digital Speech Processing
Speech Coding Algorithms
EE493Q: Digital Speech Processing
MOS Comparison
EE493Q: Digital Speech Processing
Concatenation and Transcoding
EE493Q: Digital Speech Processing
Transport
Network protocols
IP: a connectionless best effort network communication protocol TCP: Use acknowledgement and retransmission to ensure packet receipt UDP: Unreliable connectionless delivery service using IP to transport messages RTP: used in conjunction with UDP to provide end-to-end network transport functions
VoIP uses RTP/UDP/IP instead of TCP/IP EE493Q: Digital Speech Processing
Bandwidth Efficiency
Transmission is not always free, therefore transmission efficiency has its merit
Speech coding/compression algorithms: coding delay and packetization delay Silence/voice detection (e.g., Appendix B of ITU-T Recommendation G.729): comfort noise is preferred instead of absolute silent background Header compression: 40bytes → 2-7 bytes (header without compression consumes a significant portion of bandwidth) EE493Q: Digital Speech Processing
Delay
Transmission delay consists of codec processing delay and propagation delay G.131 requirements
<150ms: acceptable for most user applications 150-400ms: acceptable for international connections >400ms: unacceptable for general network planning purposes; however might be tolerable in some exceptional cases
Impact of delay on speech quality
Some study shows that the MOS value decreases from 3.74 (±0.52) to 3.48 (±0.48) when delay increases from 100ms to 350ms EE493Q: Digital Speech Processing
Delay Budget for VoIP Using G.729
Note: Dnw could be as high as 100ms between US and China EE493Q: Digital Speech Processing
Network QoS
Debatable issue: is QoS really necessary?
Unnecessary for a network with small traffic (links always <30% occupied)
QoS is mostly desirable when bandwidth becomes expensive (e.g., wireless mobile VoIP or in some remote areas of the world) QoS can be achieved by
Managing router queues Routing traffic around congested parts of the network EE493Q: Digital Speech Processing
Two Approaches to QoS
Fine-grained approaches which provide QoS to individual applications or flows
Coarse-grained approaches which provide QoS to large classes of data or aggregated traffic
Integrated services such as Resource Reservation Protocol (RSVP)
Differentiated services such as asynchronous transform mode (ATM)
VoIP adopts differentiated QoS approach EE493Q: Digital Speech Processing
Comparison Between RSVP and ATM RSVP
ATM
Receiver generates reservation
Sender generates connection request
Soft state (refresh/timeout)
Hard state (explicit delete)
Separate from route establishment
Concurrent with route establishment
QoS can change dynamically
QoS is static for life of connection
Receiver heterogeneity
Uniform QoS to all receivers
EE493Q: Digital Speech Processing
Voice Over Internet Protocol (VoIP)
Introduction to Computer Networks Direct link networks Internetworking End-to-end protocols
Voice over Internet Protocol (VoIP)
Voice quality Transport
Network QoS
Multimedia Streaming EE493Q: Digital Speech Processing
What is the Difference between Downloading and Streaming?
Downloading
Fully download media files to your computer’s hard drive before you could begin playing them Pro: quality guaranteed Con: you have to wait a long time
Streaming
You can listen to or view media files AS they are downloaded in Real Time. Pro: minimal waiting time, no need to store Con: quality depends EE493Q: Digital Speech Processing
Why Streaming is Cool Exactly the most seamless way to integrate video or audio into web sites Source material for streaming can consist of either live presentations or prerecorded material. Anytime and anyplace distribution of on demand media to people any where in the world, which makes streaming technology so different from broadcasting and so promising for web-based education and training.
EE493Q: Digital Speech Processing
Deeper Impact The Web now becomes capable of accomplishing what no other medium has been able to do. It can use as its content all other media formats. Text, video, audio, images and even live radio and TV broadcasts can all be integrated and delivered through a single medium. Wait until Web2.0 (also called “semantic web”)
EE493Q: Digital Speech Processing