september 2008 - 1 rtc-mon enabling high-speed and extensible real-time communications monitoring...
Embed Size (px)
TRANSCRIPT
![Page 1: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/1.jpg)
September 2008 - 1
RTC-MonRTC-MonEnabling High-Speed and Extensible Real-Time
Communications Monitoring
Diego Costantini, Felipe Huici[costantini|huici]@nw.neclab.eu
![Page 2: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/2.jpg)
September 2008 - 2
Motivation
• Internet as medium for real-time communications like VoIP has grown significantly over the past years
• However best-effort model not well-suited to these sort of applications
• Need real-time monitoring in order to – ensure good service quality– take corrective action should service degradation occur
![Page 3: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/3.jpg)
September 2008 - 3
Monitoring Difficulties
• Real-time monitoring is difficult– System often has to correlate signaling and media streams– Connections tend to use dynamic ports– Monitoring in real-time results in non-trivial performance
requirements In the case of VoIP, the abundance of small packets exacerbates
this problem
![Page 4: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/4.jpg)
September 2008 - 4
State of the Art
• Current software solutions insufficient– Limited monitoring capabilities, not easy to extend– Long development time– Not efficient enough to track traffic in real-time
• Hardware solutions are inflexible and hard to extend• Need a general monitoring framework that
– provides basic VoIP monitoring capabilities in order to reduce development time
– is easily extensible– is efficient enough to cope with demands of real-time traffic
monitoring
![Page 5: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/5.jpg)
September 2008 - 5
RTC-Mon: The Real-Time Communications Monitor Framework
•Implemented over Linux•Consists of:
•Extended PF_RING with plugin architecture•SIP and RTP plugins•Event-based user-level library
•Also implemented VoIP Console•Proof-of-concept monitoring application•Small, quick to develop (800 lines of code)•Can track numerous VoIP statistics
extendedPF_RING
SIPplugin
RTPplugin
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 6: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/6.jpg)
September 2008 - 6
Extended PF_RING
• PF_RING– Linux kernel module providing new type of socket– Yields high performance– Can be used with any network card
• Extended PF_RING– Has plugin architecture – Includes IP defragmentation
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 7: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/7.jpg)
September 2008 - 7
Extended PF_RING
• Each PF_RING socket has set of rules– Processed sequentially
• Each rule has– a filter– a plugin ID to send packets to– an action ID which decides what to do after plugin processes packet
• Filter can be hash or wild-card based– Hash: can be used to track flows (RTP plugin)– Wildcard: more flexible (match all UDP packets to one port)
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 8: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/8.jpg)
September 2008 - 8
Libvoip
• User-level, event-based library• Extensible, can support other, non-VoIP applications• Made of a dispatcher and trackers
– Dispatcher receives packets from plugins and decides which trackers to
send them to
– TrackersCombine information from several plugins to monitor a specific
characteristic of the trafficCan perform further analysis, parsing and can keep stateLibrary is extended by writing custom trackers
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 9: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/9.jpg)
September 2008 - 9
Libvoip
• Implemented two trackers– UserTracker, uses SIP information to keep track of SIP users– CallTracker, combines SIP/RTP data to monitor call information
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 10: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/10.jpg)
September 2008 - 10
VoIP Console
• Proof-of-concept monitoring application– Only 800 lines of code, short development time– Uses UserTracker, CallTracker and SIP/RTP plugins
• Despite small size, can still track large number of statistics
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 11: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/11.jpg)
September 2008 - 11
Evaluation: Testbed
• IXIA 400 generates up to 50,000 concurrent trash UDP flows• VoIP traffic generator replays VoIP trace
– Trace has 1,000 calls each lasting 30 seconds
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
CodecSample
Size(bytes)
Sample Rate (ms)
Max Num Flows
(Gb link)
G.711 80 10 11,468
G.726 20 5 18,116
G.726 15 5 21,186
G.728 10 5 31,780
G.729 10 10 32,051
iLBC 38 20 36,101
G.723.1 24 30 45,732
G.723.1 20 30 48,077
![Page 12: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/12.jpg)
September 2008 - 12
Performance
• Focus is on RTP traffic– puts larger strain on system than SIP
• Measure improvement in CPU usage from performing data analysis in kernel
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 13: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/13.jpg)
September 2008 - 13
Performance
• Measure monitoring performance for 50,000 flows and varying number of RTP rules (flows)
extendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
![Page 14: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/14.jpg)
September 2008 - 14
Performance
• Rule reconfiguration timesextendedPF_RING
SIPplugi
n
RTPplugi
n
libpfring
libvoip
customplugin
VoIPconsole
customapplication
network interfaces
RT
C-M
ON
FR
AM
EW
OR
KA
PP
S
US
ER
SP
AC
EK
ER
NE
L S
PA
CE
# Rules Avg. Ins.(usec)
Max. Ins.(usec)
Avg. Del.(usec)
Max. Del.(usec)
10,000 20.9 98 4.7 81
20,000 22.3 130 5.3 95
30,000 25.2 210 7.9 150
40,000 27.9 379 12.7 22.5
50,000 47.1 2037 19.1 52.7
• In worst-case (2 msec) a single G.711 or G.729 packet would go untracked
![Page 15: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/15.jpg)
September 2008 - 15
Conclusions
• Presented RTC-Mon– Framework for quickly developing real-time monitoring
applications– Easily extensible, can support future applications– Performs well even under heavy loads and small packet sizes
• Future work– Additional plugins (RTSP, RTCP, MPEG-7?)– Distributed monitoring
Track SIP/RTP flows traversing different paths
![Page 16: September 2008 - 1 RTC-Mon Enabling High-Speed and Extensible Real-Time Communications Monitoring Diego Costantini, Felipe Huici [costantini|huici]@nw.neclab.eu](https://reader032.vdocuments.net/reader032/viewer/2022032600/56649db45503460f94aa4d4c/html5/thumbnails/16.jpg)