View
217
Download
3
Category
Preview:
Citation preview
Page 1 of 19
Lab 3 – TCOM631
Overview
The goal of this lab is to teach you how simulation and modeling can be used in analyzing applications and
networks. You will use Riverbed (OPNET) Modeler, simulation and modeling software, to study performance
of several voice codes given different IP network conditions (packet loss, network latency). MOS is a typical
measure of this performance. You will also make some changes to SIP and H.323 models and observe their
operation. All of these modeling scenarios will use something know as Discrete Event Simulation (DES).
Objectives
Get familiar with the software and VoIP modeling capabilities
Analyze performance of the following voice codecs: G.711 Silence, G.726 32K, G.726 32K Silence, G.728 16K, G.723.1 5.3K, G.729A, G.729A Silence
Specify operation of SIP and H323 signaling/control protocols and measure GoS and signaling latency
Discuss additional details, answer several questions on the way through the lab, collect results and produce reports with your observations
Write your names here: _________________
Page 2 of 19
Instructions
1) Open OPNET Modeler 17.1 (32-bit verison)
2) Go to File Open… and open project named VoIP_design_TCOM590 (located in C:\App_Data\Cadence\SPB_Data\ op_models_GMU\ directory)
The network model you open should look like this.
The network model that you are looking into has been imported from real network device configurations (Cisco
routers). You might be able to click with the right mouse button over SntClarita_Ceo router and select View Imported Configuration File to see one of these configurations. If it doesn’t work and you want to see it, remind me and I will bring one configuration file to demo it to you during one of the upcoming classes.
Page 3 of 19
Close configuration file window. Each component you see in this network model is a node with underlining
state machine that models protocol and communication behavior. Double click on SntClarita_Ceo router to
open the node model.
Now double click on “ip” component to expand IP process model (state machine).
Close Process Model and Node Model windows. These node and process models can be reconfigured using C
and C++ programing language to meet standard protocol specifications or to experiment with new technologies
and standards.
3) You can also bring additional information, relevant for modeling, from other external sources (i.e. network
performance). In this example network delay has been measured between all access routers (i.e. routers
connected to the Service Provider). These usually come directly from the network monitoring tools or you
might calculate them knowing some network specifics.
Page 4 of 19
Go to …\OPNET\op_models_GMU\Performance Metrics and open “Propagation delays.csv” file to observe
propagation delays that were measured.
Question 1: Would you rather use Min, Average or Max delay values for VoIP performance studies? Explain
your reasoning. ____________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Close “Propagation delays.csv” file.
4) Go to Topology Import Performance Metrics From Text File…
5) Choose the file …OPNET\op_models_GMU\Performance Metrics\Propagation delays.csv and click Import.
6) After the import, the Import log will come up.
Page 5 of 19
Delay performance across different links in the model can be assigned by modifying model attributes.
Click with the right mouse button on top of one of the links in the model and choose Edit Attributes
(Advanced). The pop up window similar to the one bellow will pop up. Look for delay attribute and instead
distance based type 0.05 to specify to specify 50ms delay for this link. Click ok to close the window. Any
attribute in the model can be changed this way, but you would need to get familiarized with the attribute
hierarchy for individual objects. There are other more automated ways to change attributes and model
characteristics, however, we will not explore these for now.
Go to File -> Close to close this project. Click Don’t Save since we don’t need to save it.
Let me know if you have any questions before we continue.
Page 6 of 19
NOTE: Before you start look into Appendix A, at the end of this document, to setup modeling repository.
Simulations will not work without it.
7) We will now open another project. Go to File Open… and open project named Voice project located in C:\OPNET\17.5A\models\std\example_networks. You can get to it easier if you click on a Windows icon
circled in red on the following image. This batten can be used to switch between Windows and
Riverbed(OPNET) specific browsing modes.
8)
Change scenario to SIP by selecting Scenarios –> Switch to Scenario -> SIP
Page 7 of 19
You will now see SIP scenario as shown in the following screen capture.
SIP Scenario
Stop now, after SIP Scenario is opened, and wait for other classmates to get to the same point. You may take a
quick break and come back. I will guide you through the remaining part of the lab manual from this point on.
Let’s continue together… (High level instructions are also available to remind you once you start doing the lab
on your own.)
9) Visit “Application Config” and “Profile Config” objects within the SIP scenario to observe codecs being
assigned to the VoIP application and to define how VoIP profile configuration is executed (call initiations
and durations). You can do this by clicking with the right mouse button on the top of these objects and by
choosing Edit Attributes. We will start by getting into “Application Config” object first. Once you click with
the right mouse button, navigate to app all the way till you get to the codec selection (Application
Definitions -> Voice - IP Telephony -> Description -> Voice). This is the place you will use later on to
change codecs and complete your lab assignment. See the image on the left. Close all open application
definition windows for now.
The next step is to inspect configuration of the Profile Config object. We will use this object to define call
behavior characteristics. Set the call duration to 300 seconds (constant) and inter-call time to 300sec
(constant). See the image on the right. Navigate to Profile Configuration -> Voice - IP Telephony ->
Applications and use the Duration attribute to set call durations and Repeatability attributes to set call
execution patterns.
Application Config Profile Config
Page 8 of 19
10) Cloud object allows you change network performance parameters - packet loss, delay (Change “ip cloud”
delay attribute to 0.02 constant (20ms) as shown on the following image). You can get to these attributes by
clicking the right mouse button on the top of the IP Cloud object and choosing Edit Attributes.
11) Navigate to Performance Matrices -> Packet Discard Ratio for packet loss specification and to
Performance Matrices -> Packet Latency to specify network packet latency within the network.
12) You will now need to go to the DES tab in the top menu and define what SIP and voice-related statistics will
be collected during the simulation. (You will find these under Node Statistics including MOS, jitter, etc).
Question 2: How do you define MOS? Does MOS capture and measure SIP signaling
performance?________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________ ___________________________________________________________________________
Question 3: How do you define GoS?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________ ___________________________________________________________________________
13) Follow these screenshots to choose statistics the following statistics (all voice application, calling and called
party statistics; all SIP UAC and UAS statistics; and all RTP statistics):
Page 9 of 19
14) Before you start running your simulation let’s see how these applications and profiles get assigned to the
VoIP terminals (UA clients). Open the caller location by double clicking on San Francisco subnet. Right
mouse click on the caller and chose Edit Attributes once again. On the caller side you assign VoIP (or any
Page 10 of 19
other app) by going into Applications -> Application: Supported Profiles section. The Voice – IP Telephony
profile has already been assigned. Once here we will look into SIP specific attributes and find the Proxy
Server specification. This is the server that has already been added to the scenario and you will look into just
a bit later. You can close this window and move to the callee side now.
Return to the parent subnet by clicking with the right mouse button somewhere on the project screen (but not on
any of the objects in the window) and selecting Go to Parent Subnet option from the list. Once you are in the
parent subnet double click on the Pittsburgh subnet to visit callee side of the scenario. Once there, right mouse
click on the callee and chose Edit Attributes once again. On the callee side you assign VoIP (or any other app)
by going into Applications -> Application: Supported Services section. The Voice – IP Telephony application
has already been assigned. You can close this window and move to the proxy server side. You probably noticed,
VoIP application is defined in one direction only. You could repeat and define it for the opposite direction but
you will not need to do it for this lab.
Jump back to the parent subnet and go to the Dallas subnet. There is a proxy_server object there. The only
parameter you will need to change for the second part of the lab is Maximum Simultaneous Calls. We will leave
it for now to be unlimited. Class the proxy_server attribute window and move to the parent subnet.
Page 11 of 19
15) Let’s now run Discrete Event Simulation (DES) and collect results we will be analyzing. Go to DES ->
Configure/Run Discrete Event Simulation...
After DES completes look at those collected results/statistics. Go to DES -> Results -> View Results…
Page 12 of 19
Choose DES Graphs as shown (browse and select node-level statistics). Go to San Francisco and expand the
three to the left to get to MOS checkbox. Select the checkbox and you should see he graph in the panel to the
right of the window.
Now change the Presentation from As Is to average and click Show button to open the panel. Click with the
right mouse button in the graph and choose Export Graph Data to Spreadsheet to obtain all values you will use
for codec MOS analysis. Use these values to calculate mean, min, max, 95th percentile and Standard Deviation.
You can now start experimenting and analyzing performance of standard voice codecs using the different
network characteristics. Here are few examples:
- Change codec to g.711 and no compress/decompress delay (Observe difference in MOS).
Page 13 of 19
- Continue changing codecs (G.711 Silence, G.726 32K, G.726 32K Silence, G.728 16K, G.723.1 5.3K,
G.729A, G.729A Silence) and observe different MOS values.
- Change network delay (210ms; constant) and observe MOS impact.
- Bring delay back to 20ms, change network packet loss to 9%, and observe MOS impact.
RECORD your results in the table listing codes and observed results.
Summarize codec performance under different scenarios and identify what is the best and worst performing codec (for these three network condition) as
part of your lab report.
Once you are done with the first part:
16) Add there more callers and callees at both ends/subnets (copy and paste those you already have in this
scenario). Use standard Windows copy/paste methods to complete this action. Click to place the node and
then connect it to the router.
-
Set “Maximum Simultaneous Calls” attribute on the proxy server to 2 (Observe DES results for proxy server -
calls that are blocked, calls that are completed, etc.). Change call arrival and duration distributions from
constant to exponential and look into DES proxy server results.
Calculate GoS taking simulation results from this scenario.
17) There is one more activity you will have to complete in this lab and that is latency comparison for H.323
direct endpoint call signaling (peer-to-peer) and the gate-keeper routed call signaling methods.
Page 14 of 19
- You will use the same Voice project but different scenario. Go to Scenarios -> Switch to Scenario ->
H323. There are two subnets in this scenario, San Francisco and Pittsburgh. You probably already think
there is a caller in one of them and a callee in the other one. And you are certainly right. Well, stop for a
second. There is no SIP server (and it shouldn’t be there with H.323 terminals) and there is no
Gatekeeper. You are right again. First of all you will experiment with the peer-to-peer call setup
between two H.323 terminals, collect statics and then add H.323 Gatekeeper connecting it to the router
in San Francisco (as we mentioned during the first part of the lab you would most likely end up
connecting these systems to the Ethernet switch but for simplicity we have direct connection to the
router once again.
- Make sure to collect Setup Time statistics for H323 before you start running the simulation.
- Run DES and export call “setup time” statistics for San Francisco caller. You will compare these to
those obtained by running the scenario with the gatekeeper-routed call setup.
18) Add one Gatekeeper within San Francisco subnet.
- Go to San Francisco scenario.
- Chose Topology -> Open Object Palette from the top menu. A new window will pop up.
- Type gatekeeper in the Search by name: box and click Find Next button. Double click on
H323_Gatekeeper object and move the mouse to the subnet window to add gatekeeper to the model.
Page 15 of 19
Once in the subnet click with the left mouse button and then Esc button on the keyboard to stop adding
additional gatekeeper objects. You should see the gatekeeper added to the subnet. Change the name of
this object from node_0 to Gatekeeper. You can do this by clicking the right mouse button on the top of
the object and choosing the Set Name option.
- You will now need to connect gatekeeper to the router by adding the link between two objects. You can
do this by copying and pasting link model that already connects workstation to the router. - Change delay on this link from Distance Based to 245ms (0.245). Make sure you click OK once you are
done with the change.
- Change call signaling mode on a caller workstation from Direct Endpoint Call Signaling to Gatekeeper-
routed Signaling for H323 specific attributes on this workstation.
Page 16 of 19
19) You are now ready to run another DES simulation.
- Go back to the parent scenario and run DES one more time.
- Export caller’s setup time statistics
Compare delay statistics from both DES runs and provide your observations
to me.
END
Page 17 of 19
Appendix A
Making sure model repositories are set correctly for Discrete Event Simulation. The release of
the OPNET software you are working on is probably newer, thus, some of the windows will
look different.
- Click on Edit and select Preferences.
- Type “repos” and click the Find button.
Page 18 of 19
“Network Simulation Repository” will be selected.
Open the “Value” field for this preference.
Click on the Insert button ‘stdmod” valu:
Page 19 of 19
And click “OK” twice.
Recommended