1 GAIA VoIP traffic generator and analyzer Presentation by Amrut Bang Ashish Deshpande Vijay Gabale...

Preview:

Citation preview

1

GAIA VoIP traffic generator and analyzer

Presentation by

Amrut Bang Ashish Deshpande Vijay Gabale Santosh Patil

Sponsored by

GS Lab Pvt. Ltd Pune Institute of Computer Technology

2

Agenda Problem definition Need/Motivation Existing solutions & limitations Concept of VoIP traffic generator & analyzer Features Overall flow System architecture Immediate and long term goals References

3

Problem Definition

To develop a system, for generating &

analyzing VoIP traffic, capable of simulating

multiple hosts on a single machine to test the

performance of server applications.

4

Need

Every application requires testing before deployment. Why?

To check the performance and the actual handling capacity under varying loads.

A mechanism to create the practical working conditions and analyze the target’s behavior in it.

5

A Real World Problem Small scale companies’ requirement.

To check scalability of the system.

Costs involved for multiple machines.

Complexity of maintaining network connections.

Real need : a N/W card and a software.

6

Limitations of existing products Commercial Applications – Costly, only for Windows.

No open source tool to simulate multiple hosts on a

single machine for VoIP.

Applications only piecemeal, targeted at the developer.

Lack well structured & scriptable UI.

No comprehensive tool to support different codecs.

7

Server

8Server

9

Concept Generation of VoIP traffic, simulating multiple hosts on a

single machine.

Configuring & maintaining multiple different connections.

Analyzing the performance of target server application.

Precise measurement of testing parameters.

Generating reports and displaying results graphically.

Providing scriptable UI to help an expert.

10

Abstract view of VoIP traffic generator and analyzer

Working of SIP Phone

SIPSIP

RTPRTP

UDPUDP

IPIP

EthernetEthernet

UserUser

KernelKernel

12

List of ClientsList of Clients

Client 1Client 1 Client 2Client 2

RegisterRegister

Client nClient n………………..

Client nClient nClient 2Client 2Client 1Client 1

Client nClient nClient 2Client 2Client 1Client 1

Client1Client1 Client 2Client 2 Client nClient n…………………

…………………

…………………

Client 1Client 1 Client 2Client 2 Client nClient n…………………

ARP (IP Simulation)ARP (IP Simulation) Ethernet LayerEthernet Layer

Network HardwareNetwork Hardware

SIP

RTP

SIP

RTP

IPIP

UDPUDP

Client

IP Simulation

ARP broadcast

ARP response

Register request

172.16.0.21

172.16.0.21

172.16.0.23

172.16.0.23

172.16.0.22

172.16.0.22

172.16.0.5

172.16.0.5

Client Client

Server Server

Features Create multiple clients and maintain

communication between them. Generation & capture of various packets

(ARP,SIP, RTP). Calculation of different performance parameters Inputting load graphs Decide No. of clients, Codec selection Displaying server's response (Graph, Histogram,

Dial)

15

Demo !

16

Overall Flow

Shared DataShared Data

ScriptsScriptsGUIGUI

OperatorOperator

Packet Generation EnginePacket Generation EngineTarget ServerApplication

Target ServerApplicationPacket Capture &

Analysis

Packet Capture &Analysis

Shared DataShared Data

Displaying Server’sResponse

Displaying Server’sResponse

17

Client Registration

Client Registration

Call Initiation and

Communication

Call Initiation and

Communication

Client State MachineClient State Machine

ConditionVariable

Signaling

ConditionVariable

Signaling

Processing Logic

Processing Logic

.

.

.

.

.

.

.

.

.

.

Pack1Pack1

Network HardwareNetwork Hardware

LIBPCAPLIBPCAP LIBNETLIBNET

N/2 N/2N

……..

………..

.

.Pack2Pack2

Receiving thread

Global Circular Buffer

Pack nPack n

Design Complexities

SIP stack implementation.

Efficient memory utilization.

pthread_mutex_trylock() instead of pthread_mutex_lock().

pthread_cond_timedwait().

OS Limitations:

- Thread constraints

- Maximum number of open files permitted

GAIA Offers…

Multiple clients on a single machine.

Real traffic through simulated clients

Starting calls at different times & making

them last for different durations.

Several codec formats & silent calls.

An entire VoIP network in a single box.

20

Immediate Goals

Modifying libnet library to eliminate buffer copies.

Enhanced GUI and scriptable interface.

Kernel component.

Randomizing traffic generation.

Scaling up by increasing no. of clients.

21

Long Term Goals

Incorporating more protocols.

Distributed load generation.

22

References Jung Shr Vu, Per-Yuang Wang, “The performance analysis of SIP-T

signaling system in carrier class VoIP network”, Advanced Information Networking and Applications, ieeexplore.ieee.org

A. Pescape, S. Avallone, G. Venter,“Distributed Internet Traffic Generator (D-ITG) Analysis & Experimentation over heterogeneous networks,Accepted poster at ICNP,2003

Andrew Tanenbaum,”Computer Networks”,Pearson Education

Matthias Dalheimer,”Programming with Qt”, O’Reilly

Mathews,”Professional Linux Programming”

POSIX thread (pthread) library manuals

RFC 3261- SIP, RFC 1889- RTP, RFC 2327- SDP

23

Thank you !