Download module_42 - Faculty Personal Homepage

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Server Message Block wikipedia , lookup

Distributed firewall wikipedia , lookup

Net bias wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Dynamic Host Configuration Protocol wikipedia , lookup

AppleTalk wikipedia , lookup

Internet protocol suite wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Deep packet inspection wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Remote Desktop Services wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Lag wikipedia , lookup

SIP extensions for the IP Multimedia Subsystem wikipedia , lookup

Transcript
VoIP or IP Telephony
K. Salah
1
Introduction
 Importance of VoIP
 Unification of data and voice networks
It is easier to run, manage, and maintain.
 Existing IP networks are best effort and VoIP requires QoS
M2E delay < 150ms
Packet loss < 5 %
K. Salah
2
VoIP Architecture and Protocols
 Uses one of the two multimedia protocols
 SIP (Session Initiation Protocol) by IETF
 H.323 by ITU
K. Salah
3
VoIP Camps
Conferencing
Industry
Netheads
“IP over
Everything”
NGN
H.323
SIP
“Softswitch”
ISDN LAN
conferencing
I-multimedia
WWW
Call Agent
SIP & H.323
IP
IP
IP
K. Salah
4
VoIP Components
Sender
Receiver
Encoder
Packetizer
Network
Depacketizer
Decoder
Playback
Buffer
 Encoder periodically samples the original voice signal and assigns a
fixed number of bits to each sample, creating a constant bit rate
stream. The traditional sample-based encoder G.711 uses Pulse
Code Modulation (PCM) to generate 8-bit samples every 0.125 ms,
leading to a data rate of 64 kbps
 Packetizer encapsulates a certain number of speech samples into
packets and adds the RTP, UDP, IP, and Ethernet headers.
 Playback Buffer absorbs variations or jitter in delay and provide a
smooth playout.
 Depacketizer strips headers
 Decoder reconstructs the original voice signal.
K. Salah
5
Internet Multimedia Protocol Stack
K. Salah
6
RTP
 Real-Time transport Protocol is designed to handle real-time
traffic on the Internet.
 RTP stands between UDP and application program.
 RTP supports timestamping, sequencing and mixing facilities.
 Transport layer protocol but encapsulated in a UDP user
datagram.
 No well-known port. Port can be selected on demand with only
one restriction [even number must be selected].
K. Salah
7
IP Telephony Protocols: SIP, RTP
Session Initiation Protocol - SIP
Contact “office.com” asking for “bob”
Locate Bob’s current phone and ring
Bob picks up the ringing phone
Real time Transport Protocol - RTP
 Send and receive audio packets
K. Salah
8
Internet Telephony Protocols: H.323
K. Salah
9
H.323 (contd)
Terminals, Gateways, Gatekeepers, and
Multipoint Control Units (MCUs)
K. Salah
10
H.323 vs
SIP
Typical UserAgent Protocol stack for Internet
Terminal Control/Devices
Q.931
H.245 RAS
TPKT
TCP
Terminal Control/Devices
Codecs
RTCP
RTP
Codecs
SIP SDP
RTCP
RTP
UDP
Transport Layer
IP and lower layers
K. Salah
11
SIP vs H.323
 Text based request
response
 SDP (media types
and media
transport address)
 Server roles:
registrar, proxy,
redirect
 Binary ASN.1 PER
encoding
 Sub-protocols:
H.245, H.225
(Q.931, RAS,
RTP/RTCP),
H.450.x...
 H.323 Gatekeeper
- Both use RTP/RTCP over UDP/IP
- H.323 perceived as “heavyweight”
K. Salah
12
Light-weight signaling: Session Initiation
Protocol (SIP)
 IETF MMUSIC working group
 Light-weight generic signaling protocol
 Part of IETF conference control architecture:
SAP (Session Announcement Protocol) for multicast announcements
RTSP (Real-time Streaming Protocol) for media-on-demand
SDP for describing media
others: multicast, conference bus, . . .
 Network-protocol independent: UDP or TCP (or AAL5 or
X.25)
 A great tutorial on VoIP, SIP, SDP at:
 http://www.geocities.com/intro_to_multimedia/tutorial_list.html
K. Salah
13
SDP: Session Description Protocol
 Not really a protocol – describes multimedia
data carried by other protocols
Eg:
v=0
o=g.bell 877283459 877283519 IN IP4 132.151.1.19
s=Come here, Watson!
u=http://www.ietf.org
[email protected]
c=IN IP4 132.151.1.19
b=CT:64
t=3086272736 0
k=clear:manhole cover
m=audio 3456 RTP/AVP 96
a=rtpmap:96 VDVI/8000/1
m=video 3458 RTP/AVP 31
m=application 32416 udp wb
K. Salah
14
SDP format
K. Salah
15
SDP parameter description - 1
K. Salah
16
SDP parameter description - 2
K. Salah
17
SIP functionality
 IETF-standardized peer-to-peer signaling protocol (RFC
2543):
 Locate user given email-style address
 You can reach the callee, no matter where the callee roams,
no matter what IP device the callee is currently using.
 Setup session (call)
 (Re)-negotiate call parameters
 Manual and automatic forwarding
 Personal mobility: different terminal, same identifier
 Call center: reach first (load distribution) or reach all
(department conference)
 Terminate and transfer calls
K. Salah
18
SIP Services
 Setting up a call
Provides mechanisms
for caller to let callee
know she wants to
establish a call
Provides mechanisms
so that caller and
callee can agree on
media type and
encoding.
Provides mechanisms
to end call.
K. Salah
 Determine current IP
address of callee.
Maps mnemonic
identifier to current IP
address
 Call management
Add new media
streams during call
Change encoding
during call
Invite others
Transfer and hold calls
19
SIP Addresses Food Chain
K. Salah
20
SIP components
 UAC: user-agent client (caller application)
 UAS: user-agent server may accept, redirect,
refuse call
 redirect server: redirect requests
 proxy server: server + client
 registrar: track user locations
 user agent = UAC + UAS
 often combine registrar + (proxy or redirect
server)
K. Salah
21
IP SIP Phones and Adaptors
1
Are true Internet hosts
• Choice of
application
Analog phone adaptor
• Choice of server 2
• IP appliances
Implementations
3
• 3Com (3)
• Columbia
University
Palm
control
• MIC WorldCom (1)
• Mediatrix (1)
• Nortel (4)
44
5
• Siemens (5)
K. Salah
22
Setting up a call to a known IP address
Bob
Alice
167.180.112.24
INVITE bob
@193.64.2
10.89
c=IN IP4 16
7.180.112.2
4
m=audio 38
060 RTP/A
VP 0
193.64.210.89
port 5060
port 5060
Bob's
terminal rings
200 OK
.210.89
c=IN IP4 193.64
RTP/AVP 3
3
75
m=audio 48
ACK
port 5060
• Alice’s SIP invite
message indicates her
port number & IP address.
Indicates encoding that
Alice prefers to receive
(PCM ulaw)
• Bob’s 200 OK message
indicates his port number,
IP address & preferred
encoding (GSM)
m Law audio
port 38060
GSM
port 48753
time
time
K. Salah
• SIP messages can be
sent over TCP or UDP;
here sent over RTP/UDP.
•Default SIP port number
is 5060.
23
Setting up a call (more)
 Codec negotiation:
Suppose Bob doesn’t
have PCM ulaw
encoder.
Bob will instead reply
with 606 Not
Acceptable Reply and
list encoders he can
use.
Alice can then send a
new INVITE message,
advertising an
appropriate encoder.
K. Salah
 Rejecting the call
Bob can reject with
replies “busy,”
“gone,” “payment
required,”
“forbidden”.
 Media can be sent over
RTP or some other
protocol.
24
Example of SIP message
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 167.180.112.24
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
Content-Type: application/sdp
Content-Length: 885
• Here we don’t know
Bob’s IP address.
Intermediate SIP
servers will be
necessary.
• Alice sends and
c=IN IP4 167.180.112.24
m=audio 38060 RTP/AVP 0
receives SIP messages
using the SIP default
port number 506.
Notes:
 HTTP message syntax
 sdp = session description protocol
 Call-ID is unique for every call.
• Alice specifies in Via:
header that SIP client
sends and receives
SIP messages over UDP
K. Salah
25
Name translation and user location
 Result can be based on:
 Caller wants to call
 time of day (work,
callee, but only has
home)
callee’s name or e-mail
caller (don’t want boss
address.
to call you at home)
 Need to get IP address of
status of callee (calls
callee’s current host:
sent to voicemail when
user moves around
callee is already talking
DHCP protocol
to someone)
user has different IP
Service provided by SIP
devices (PC, PDA, car
servers:
device)
 SIP registrar server
 SIP proxy server
K. Salah
26
SIP Registrar
 When Bob starts SIP client, client sends SIP REGISTER
message to Bob’s registrar server
(similar function needed by Instant Messaging)
Register Message:
REGISTER sip:domain.com SIP/2.0
Via: SIP/2.0/UDP 193.64.210.89
From: sip:[email protected]
To: sip:[email protected]
Expires: 3600
K. Salah
27
SIP Proxy
 Alice sends invite message to her proxy server
contains address sip:[email protected]
 Proxy responsible for routing SIP messages to callee
possibly through multiple proxies.
 Callee sends response back through the same set of
proxies.
 Proxy returns SIP response message to Alice
contains Bob’s IP address
 Note: proxy is analogous to local DNS server
K. Salah
28
Example
Caller [email protected]
with places a
call to [email protected]
SIP registrar
upenn.edu
SIP
registrar
eurecom.fr
2
(1) Jim sends INVITE
message to umass SIP
proxy. (2) Proxy forwards
request to upenn
registrar server.
(3) upenn server returns
redirect response,
indicating that it should
try [email protected]
SIP proxy
umass.edu
1
3
4
5
7
8
6
9
SIP client
217.123.56.89
SIP client
197.87.54.21
(4) umass proxy sends INVITE to eurecom registrar. (5) eurecom
regristrar forwards INVITE to 197.87.54.21, which is running keith’s
SIP client. (6-8) SIP response sent back (9) media sent directly
between clients.
Note: also a SIP ack message, which is not shown.
K. Salah
29
SIP-based Architecture
rtspd
RTSP media RTSP
server
sipconf
SIP
conference
server
Telephone
Telephone
switch
T1/E1
RTP/SIP
Cisco 2600 gateway
sipd
SIP proxy,
redirect
server
Quicktime
RTSP clients
sipum
SIP/RTSP
Unified
messaging
SQL
database
Web based
configuration
Web
server
e*phone
Hardware
Internet (SIP)
phones
sipc
NetMeeting
sip323
SIPH.323
convertor
Software SIP
user agents
K. Salah
H.323
30
Example Call
• Bob signs up for the service from
the web as “[email protected]”
• He registers from multiple
phones
• sipd canonicalizes the destination to
sip:[email protected]
• sipd rings both e*phone and sipc
• Bob accepts the call from sipc
and starts talking
• Alice tries to reach Bob
INVITE ip:[email protected]
Web based
configuration
sipd
SIP proxy,
redirect
server
Call Bob
SQL
database
Web
server
e*phone
Hardware
Internet (SIP)
phones
sipc
ecse.rpi.edu
Software SIP
user agents
K. Salah
31
PSTN to IP Call
PBX
PSTN
External T1/CAS
1 Call 9397134
Gateway
Internal T1/CAS
(Ext:7130-7139)
2
Call 7134
Ethernet
Regular phone
(internal)
5
3
SIP server
sipc
Bob’s phone
K. Salah
SQL
database
sipd
4
7134 => bob
32
IP to PSTN Call
PBX
PSTN
External T1/CAS
5 Call 5551212
Gateway
(10.0.2.3)
Internal T1/CAS
4 Call 85551212
3
Ethernet
5551212
Regular phone
(internal, 7054)
1
Bob calls
5551212
SIP server
sipc
2
SQL
database
sipd
Use sip:[email protected]
K. Salah
33
Deployment VoIP in IP networks
 Related Issues
What are the QoS requirements for VoIP?
How will the new VoIP load impact the QoS of
currently running network services and
applications?
Will my existing network support VoIP and satisfy
the standardized QoS requirements?
If so, how many VoIP calls can the network support
before upgrading prematurely any part of the
existing network hardware?
K. Salah
34
Existing Tools
 Ample of commercial tools
 NetIQ
 Brix Networks
 Agilent
 Cisco
 Avaya
 Siemens
 Uses two common approaches for assessing the
deployment of VoIP
Take network measurements and then predict the
readiness based on the health of network
Inject real VoIP traffic and measure QoS
K. Salah
35
A typical network topology
Router
Switch 1
Switch 2
7
Database
server
File
server
Floor 1
...
Floor 3
Floor 2
...
User PCs
HTTP
server
...
Web &
cache
proxy
Firewall
Internet
User PCs
User PCs
Workgroup Printer
server
server
E-Mail
server
Workgroup Printer
server
server
K. Salah
Workgroup Printer
server
server
36
Practical steps
 Determine VoIP characteristics and
requirements
 Determine VoIP traffic flow and call distribution
 Define performance thresholds and growth
capacity
 Perform network measurements
 Early modifications to existing network
 Theoretical Analysis
 OPNET Simulation
 Final modifications to existing network
K. Salah
37
VoIP Traffic Characteristics and Requirements
 Bandwidth for a single call
 The required bandwidth for a single call, one direction, is 64 kbps.
 G.711 codec samples 20ms of voice per packet. Therefore, 50 such
packets need to be transmitted per second. Each packet contains 160
voice samples in order to give 8000 samples per second.
 Each packet is sent in one Ethernet frame. With every packet of size
160 bytes, headers of additional protocol layers are added. These
headers include RTP + UDP + IP + Ethernet with preamble of sizes 12 +
8 + 20 + 26, respectively.
 Therefore, a total of 226 bytes, or 1808 bits, needs to be transmitted 50
times per second, or 90.4 kbps, in one direction.
 For both directions, the required bandwidth for a single call is 100 pps or
180.8 kbps assuming a symmetric flow.
K. Salah
38
VoIP Traffic Characteristics and Requirements
 Gatekeeper
 Gateway
 IP phones
 M2E delay for a single call




150ms according to G.714
Sender: 50 ms
Receiver: 45 ms
Network: 80 ms
Sender
Receiver
Encoder
Packetizer
Network
Depacketizer
Decoder
Playback
Buffer
K. Salah
39
Define Performance Thresholds and
Growth Capacity
Network delay
VoIP applications
Or other sensitive
Packet Loss
Router and Switch Processing
Link Utilization
K. Salah
40
Perform Network Measurements
K. Salah
41
Upfront Network Assessment and
Modifications
Router
VoIP
Gateway
Gatekeeper
PSTN
Switch 1
Switch 2
7
Database
server
File
server
Floor 1
Floor 3
Floor 2
...
...
...
Multimedia
PCs
Multimedia
PCs
Multimedia
PCs
Workgroup Printer
server
server
Workgroup Printer
server
server
K. Salah
E-Mail
server
HTTP
server
Web &
cache
proxy
Firewall
Internet
Workgroup Printer
server
server
42
The analytical approach
Bandwidth bottleneck analysis
Delay analysis
K. Salah
43
BW bottleneck analysis
K. Salah
44
Network Delay Analysis




Poisson VoIP Traffic
Using Jackson Theorem
Links: M/D/1
Router and Switches: M/M/1
K. Salah
45
Network Capacity Algorithm
i. Add background traffic
ii. Add one call based on distribution and flow
iii. For each node calculate the new arrival rate –
not all nodes are affected.
iv. Compute packet network delay for all flows by
summing up individual delays per node
v. If network delay < 80 ms, go to ii, otherwise
STOP.
K. Salah
46
Analytical Tool
Generic
GUI
Analytical engine
BW bottleneck analysis
Compute iteratively the network delay
K. Salah
47
Validation
Matlab code verifies results
OPNET simulation gives very close
results.
K. Salah
48