SlideShare a Scribd company logo
1 of 9
Download to read offline
Communication Network Simulation on the
 UNIX System Trough Use of the Remote
           Procedure Calls
                                           Damir Pehar,

            Faculty of Electrical Engineering and Computing, University of Zagreb

                                 Unska 3, Zagreb, 10000 Croatia

                                       Damir.Pehar@fer.hr

                                           Damir Delija

                      University Computing Center, University of Zagreb

                             Marohniceva 11, Zagreb 10000 Croatia

                                      Damir.Delija@srce.hr

Abstract:
In this paper methods for simulating specific communication networks are described. Purpose
of the simulation is testing of the modules which are using network as communication media.
Simulation is done on the UNIX computer with Remote Procedure Calls used as method of
interprocess communication.

Keywords:
Simulation, Remote Procedure Calls, Testing, Interprocess Communication

1. INTRODUCTION
During the complex computer system development it is often necessary to substitute some
parts of the system with the "artificial" counterparts that create the virtual environment or
virtual segments for the given system. This step is very important in the development and
testing of products and their parts. The system simulation combined with the intentional
creation of critical situations contributes to the real system fault and bottleneck detection. It is
possible to detect incompatibilities of the system parts, the inconsistencies in the system
specification and construction, thanks to the artificial system part demands aimed for the
maximal similarity to the real system parts, in order to diminish the dissimilarity detection on
defined interfaces.

Such approach to system development forces particular demands on the computer system,
used for development requiring particular discipline and methodology to be applied in the
development process of the target system. Basically, it implies the creation of detailed system
specification at the very beginning of the development process, as well as a test plan making.
The system test parameters are based on the particular considerations and the system analysis.
In some cases, the same principles could be applied to the system simulation.

The system simulation usage could result in the considerable money saving, due to the
diminishing need for field testing. Unfortunately, the real system testing can't be avoided
completely.

In the case of system simulation development there is a need for strict separation into the
functional modules of well-defined interfaces, as well as maximal automatization of the
procedure. The tests must check the functionality of the particular system parts, but it is also
necessary to try out the event scenario set in which the system has to play its role as expected.

2. THE TARGET SYSTEM STRUCTURE AND THE
SIMULATION SYSTEM BUILDING
The simulated system consists of cooperating processes connected by the specific network
(Fig.1). The network is responsible for interprocess message conveying. The communication
protocol takes care about the detection and correction of possible message transfer errors.

At the computer network level, the access points exist - the points where the process and
network interactivities take place in form of the receiving and sending message. The message
consists of two parts:

ADDRESS (envelope) - the part of the message that defines the destination (the recipient of
the message)

INFORMATION (data) - the content of the message that has no direct meaning for the
network and corresponding communication protocol. That has to be transferred in the shape
equal to one received.
Figure 1: The schematic presentation of process communication over the network

For the computer network defined in the given way the simulation subsystem purpose is dual:

   1. The communication protocol testing. The protocol must be tested regarding the
      communication errors, reliability, the interface standardisation and other parameters.
      The simulation system enables the testing under the controlled conditions of
      intentional error inputting, sample testing and the worst-case analyzing. The testing
      could be performed in several steps.
   2. The real equipment testing under the controlled conditions. Before the real computer
      network interconnection is performed, the remote computers have to be tested as
      functional entities. The simulation system usage enables tests to be performed in the
      UNIX computer domain.
Figure 2: The real subsystem structure including the functional parts

The real system simulation is performed by the simulation subsystem on the UNIX computer.
The simulation subsystem consists of three processes that communicate using remote function
calls. In the theoretical case, it would be enough to use just one process that would unite the
functionality of all three processes, but additional demands and the need for adaptability
dictated the distributed solution. The simulation subsystem defined in described manner could
be distributed on different computers having accessible resources (serial ports, storage space
on disks etc.) and enabling simplified building of the simulation control system. The remote
function call usage guarantees the operation conveying and execution as well as data
uniformity. More detailed description of the remote function calls can be found in the (Delija
1994).
Figure 3: The simulation system structure without the computer network usage

The system user interface is system independent and structured in two stages at the process
level and at the level of the common supervising process for the visual interfaces (which may
not be implemented). The common supervising process could be implemented in some
dedicated language, e.g. expect. Expectk languages enable the test automatization and
scenario incorporation. More detailed description of expect and expectk languages is given in
the reference /Lie 95/.
Figure 4: Schematic of the simulation subsystem at the RPC calls level
3. THE STRUCTURE OF THE NETWORK
SIMULATOR PROCESS AND COOPERATING
PROCESSES
The behaviour model is build around information gathered about network. The computer
network is reliable and data is transferred atomically - the transfer is completely successful or
it is not. The computer network takes care about the message transferring. The addresses are
interpreted internally which means the message transport need not to be simulated.



         Repeat wait for the message reception
         if the message comes from:
                 RPM
                 then
                 determine if the message could be forwarded
                 if the message could be forwarded
                 then
                 send a message to the HOST
                 note the action
                 HOST
                 then
                 determine if the message could be forwarded
                 if the message could be forwarded
                 then
                 send a note to the RPM
                 note the action
                 CONTROL
                 then
                 modify control parameters
                 note the action
         end.




Figure 5: The network simulator process pseudocode

The partial message destruction scenario is infeasible, but the message could be destroyed
completely. It is possible to loose a sequence of N messages, and for the purpose of the higher
level protocol testing, there must be a possibility of manual interference into the network
behaviour in order to simulate switching off/on of the physical interconnections. The process
that simulates the network has to display messages about its state and must change its
behaviour depending on the external commands. The RPC usage enables simple simulation
control using the control process (Fig.4) and allows the implementation of specified demands.

The network simulator process (net, Fig.4) is called the server if the function call terminology
is used. The behaviour of the net process is defined by the pseudocode in the figure 5.

The function that calculates whether the message should be forwarded or not represents the
base for message transfer simulation. This function simulates the transfer fault and depends
on the specified parameters (that may vary dynamically). There are two variables for fault
occurrence controlling:
1. STATIS defines probability of the message loss
   2. FIX defines how many following messages should be lost

The calculation method is shown in the figure 6. The dynamical variable changing is enabled
by means of the control process (control, Fig.5). This process enables STATIS and FIX
variable changing and allows examination to be done atomically. Using the RPC terminology,
such process is called the control service (Delija 1994) or the system control agent.



Begin    LOOSE=false
         if FIX > 0
         then
                 FIX--
                 LOOSE=true
         else
         if RANDOM() < STATIS
         then
                 LOOSE=true
         return LOOSE
         end.



Figure 6: The method used for message loss calculation

The host and rpm processes are simple-structured and they represent the system entry points.
The most demanding operation parts of these processes are bidirectional message transfer and
the message printout (to standard output and standard error). The processes are implemented
using the custom version of svc_run function for RPC calls as described in (Delija 1994).

For the purpose of initial parameter definition the following manufacturer data are used:

       probability of message loss is 5%
       communication speed is set to 9600 b/s

The system structure enables dynamical parameter tuning, so the initial parameter definition
doesn't pose any limitations on the system. The probability of message loss is dynamically
changed by the means of control service. The communication speed depends on the physical
parameters, so in the simulation case, where the system input comes from the message
generator, it is reasonable to expect any speed manageable by the computer.

4. THE SIMULATOR USAGE IN THE PRODUCT
TESTING PROCESS
The simulation plays multiple role in the product testing and designing. Based on the system
behaviour assumptions it is possible to perform a simulation in order to obtain parameters
needed for the mathematical description of the system and for the definition of initial
parameters and states. In this case, the description of the computer network behaviour (data
given by a manufacturer and data known from the experience) serves as a base for model
defining and controlling.
Primarily, the communication protocol is tested, and afterwards, under the controlled
conditions, the work of the real equipment.

Beside the manual protocol testing (start testing) the automated testing is performed. The tests
are based on the black box principle. The sequences of inputs, commands and outputs are
defined as well as the rule for test passing. Specially convenient tool for the test making and
the user interface defining is the expect language (Libes 1995) that enables the centralised
process control and communication. The expect language enables components needed for
testing and tracing to be separated into a special process (or processes), so the structure of the
other system parts is simplified and independent of the test system. This means the simulation
system always works in the same way regardless of the conditions and purposes for which is
used. All simulations and testing could be implemented in the expect language scripts,
including the automated result processing and other tasks. Furthermore, it is easy to use the
standard or graphical user interface, depending on the expect language version used.

5. CONCLUSION
The computer network simulation system could be implemented in the described manner.
Such system enables simplified testing and connection to other real system parts, what is of
great importance (Marks 1992). The system structure is somewhat complicated but we benefit
from the adaptability and easier use. Due to the modular structure and RPC system use, it is
easy to alter the system. The usage of the standard RPC system enables easier implementation
on any UNIX computer supporting RPC paradigm (practically all today UNIX computers).

6. REFERENCES
D.Delija (1994): "Mehanizmi razmjenej poruka ostvareni pozivima udaljenih funkcija",
magistarski rad, Elektrotehnicki fakultet u Zagrebu 1994.

D.Libes (1995): "Exploring Expect, A Tcl-Based Toolkit for Automating Interactive
Programs", O'Reilly & Associates, Inc. 1995.

D.M.Marks (1992): "Testing Very Big Systems", McGraw Hill, Software Enginerring Series,
1992.

More Related Content

What's hot

18068 system software suppor t for router fault tolerance(word 2 column)
18068 system software suppor t for router fault tolerance(word 2 column)18068 system software suppor t for router fault tolerance(word 2 column)
18068 system software suppor t for router fault tolerance(word 2 column)Ashenafi Workie
 
Cloud data management
Cloud data managementCloud data management
Cloud data managementambitlick
 
Network Management System and Protocol usibility
Network Management System and Protocol usibilityNetwork Management System and Protocol usibility
Network Management System and Protocol usibilityHamdamboy (함담보이)
 
Studies On Traffic Management Models for Wireless Communication Network
Studies On Traffic Management Models for Wireless Communication NetworkStudies On Traffic Management Models for Wireless Communication Network
Studies On Traffic Management Models for Wireless Communication NetworkNeetaSingh38
 
A Review: Significant Research on Time And Frequency Synchronization In MIMO ...
A Review: Significant Research on Time And Frequency Synchronization In MIMO ...A Review: Significant Research on Time And Frequency Synchronization In MIMO ...
A Review: Significant Research on Time And Frequency Synchronization In MIMO ...IJERA Editor
 
Chapter 2. vantage understanding sensor placement in networks
Chapter 2. vantage  understanding sensor placement in networksChapter 2. vantage  understanding sensor placement in networks
Chapter 2. vantage understanding sensor placement in networksPhu Nguyen
 
AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...
AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...
AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...ijgca
 
parallel Questions &amp; answers
parallel Questions &amp; answersparallel Questions &amp; answers
parallel Questions &amp; answersMd. Mashiur Rahman
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
11.a review of improvement in tcp congestion control using route failure det...
11.a  review of improvement in tcp congestion control using route failure det...11.a  review of improvement in tcp congestion control using route failure det...
11.a review of improvement in tcp congestion control using route failure det...Alexander Decker
 
18068 system software suppor t for router fault tolerancelatex ieee journal s...
18068 system software suppor t for router fault tolerancelatex ieee journal s...18068 system software suppor t for router fault tolerancelatex ieee journal s...
18068 system software suppor t for router fault tolerancelatex ieee journal s...Ashenafi Workie
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systemsSHATHAN
 

What's hot (19)

N18030296105
N18030296105N18030296105
N18030296105
 
OSI Model
OSI ModelOSI Model
OSI Model
 
18068 system software suppor t for router fault tolerance(word 2 column)
18068 system software suppor t for router fault tolerance(word 2 column)18068 system software suppor t for router fault tolerance(word 2 column)
18068 system software suppor t for router fault tolerance(word 2 column)
 
Lect4
Lect4Lect4
Lect4
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
Network Management System and Protocol usibility
Network Management System and Protocol usibilityNetwork Management System and Protocol usibility
Network Management System and Protocol usibility
 
Studies On Traffic Management Models for Wireless Communication Network
Studies On Traffic Management Models for Wireless Communication NetworkStudies On Traffic Management Models for Wireless Communication Network
Studies On Traffic Management Models for Wireless Communication Network
 
A Review: Significant Research on Time And Frequency Synchronization In MIMO ...
A Review: Significant Research on Time And Frequency Synchronization In MIMO ...A Review: Significant Research on Time And Frequency Synchronization In MIMO ...
A Review: Significant Research on Time And Frequency Synchronization In MIMO ...
 
Chapter 2. vantage understanding sensor placement in networks
Chapter 2. vantage  understanding sensor placement in networksChapter 2. vantage  understanding sensor placement in networks
Chapter 2. vantage understanding sensor placement in networks
 
AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...
AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...
AN ALTERNATE APPROACH TO RESOURCE ALLOCATION STRATEGY USING NETWORK METRICSIN...
 
parallel Questions &amp; answers
parallel Questions &amp; answersparallel Questions &amp; answers
parallel Questions &amp; answers
 
Ax31338342
Ax31338342Ax31338342
Ax31338342
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
11.a review of improvement in tcp congestion control using route failure det...
11.a  review of improvement in tcp congestion control using route failure det...11.a  review of improvement in tcp congestion control using route failure det...
11.a review of improvement in tcp congestion control using route failure det...
 
18068 system software suppor t for router fault tolerancelatex ieee journal s...
18068 system software suppor t for router fault tolerancelatex ieee journal s...18068 system software suppor t for router fault tolerancelatex ieee journal s...
18068 system software suppor t for router fault tolerancelatex ieee journal s...
 
Data link layer
Data link layerData link layer
Data link layer
 
Slide05 Message Passing Architecture
Slide05 Message Passing ArchitectureSlide05 Message Passing Architecture
Slide05 Message Passing Architecture
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 

Viewers also liked

Processes in unix
Processes in unixProcesses in unix
Processes in unixmiau_max
 
Unix Process management
Unix Process managementUnix Process management
Unix Process managementWave Digitech
 
Introduction to System Calls
Introduction to System CallsIntroduction to System Calls
Introduction to System CallsVandana Salve
 
Unix memory management
Unix memory managementUnix memory management
Unix memory managementTech_MX
 

Viewers also liked (8)

Unix system calls
Unix system callsUnix system calls
Unix system calls
 
Processes in unix
Processes in unixProcesses in unix
Processes in unix
 
Unix Process management
Unix Process managementUnix Process management
Unix Process management
 
System Calls
System CallsSystem Calls
System Calls
 
System calls
System callsSystem calls
System calls
 
System Calls
System CallsSystem Calls
System Calls
 
Introduction to System Calls
Introduction to System CallsIntroduction to System Calls
Introduction to System Calls
 
Unix memory management
Unix memory managementUnix memory management
Unix memory management
 

Similar to Communication Network Simulation Using RPC

CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptxFamiDan
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed ComputingAbhishek Jaisingh
 
A3: application-aware acceleration for wireless data networks
A3: application-aware acceleration for wireless data networksA3: application-aware acceleration for wireless data networks
A3: application-aware acceleration for wireless data networksZhenyun Zhuang
 
Chapter 4 communication2
Chapter 4 communication2Chapter 4 communication2
Chapter 4 communication2DBU
 
Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...
Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...
Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...ijsrd.com
 
Automation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdfAutomation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdfGandhibabu8
 
NETWORK MANAGEMENT - 2015
NETWORK MANAGEMENT - 2015NETWORK MANAGEMENT - 2015
NETWORK MANAGEMENT - 2015Ammad khan
 
Automatic Analyzing System for Packet Testing and Fault Mapping
Automatic Analyzing System for Packet Testing and Fault MappingAutomatic Analyzing System for Packet Testing and Fault Mapping
Automatic Analyzing System for Packet Testing and Fault MappingIRJET Journal
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.pptSELVAVINAYAGAMG
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA Aiman Hud
 
Network Advantages And Disadvantages
Network Advantages And DisadvantagesNetwork Advantages And Disadvantages
Network Advantages And DisadvantagesRenee Jones
 
Distributed system
Distributed systemDistributed system
Distributed systemchirag patil
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.pptsirajmohammed35
 
OSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networkingOSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networkingMeenakshiGupta233101
 
Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemPoojaBele1
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfKishaKiddo
 
CN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.pptCN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.pptmohanravi1986
 

Similar to Communication Network Simulation Using RPC (20)

CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
 
Ft nmdoc
Ft nmdocFt nmdoc
Ft nmdoc
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
A3: application-aware acceleration for wireless data networks
A3: application-aware acceleration for wireless data networksA3: application-aware acceleration for wireless data networks
A3: application-aware acceleration for wireless data networks
 
Chapter 4 communication2
Chapter 4 communication2Chapter 4 communication2
Chapter 4 communication2
 
Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...
Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...
Simulation and Performance Analysis of Long Term Evolution (LTE) Cellular Net...
 
Automation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdfAutomation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdf
 
NETWORK MANAGEMENT - 2015
NETWORK MANAGEMENT - 2015NETWORK MANAGEMENT - 2015
NETWORK MANAGEMENT - 2015
 
Automatic Analyzing System for Packet Testing and Fault Mapping
Automatic Analyzing System for Packet Testing and Fault MappingAutomatic Analyzing System for Packet Testing and Fault Mapping
Automatic Analyzing System for Packet Testing and Fault Mapping
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.ppt
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Network Advantages And Disadvantages
Network Advantages And DisadvantagesNetwork Advantages And Disadvantages
Network Advantages And Disadvantages
 
Distributed system
Distributed systemDistributed system
Distributed system
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
 
OSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networkingOSI and TCP/IP reference models in networking
OSI and TCP/IP reference models in networking
 
Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed System
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdf
 
Module3 part1
Module3 part1Module3 part1
Module3 part1
 
OSI &TCP/IP Model
OSI &TCP/IP ModelOSI &TCP/IP Model
OSI &TCP/IP Model
 
CN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.pptCN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.ppt
 

More from Damir Delija

6414 preparation and planning of the development of a proficiency test in the...
6414 preparation and planning of the development of a proficiency test in the...6414 preparation and planning of the development of a proficiency test in the...
6414 preparation and planning of the development of a proficiency test in the...Damir Delija
 
6528 opensource intelligence as the new introduction in the graduate cybersec...
6528 opensource intelligence as the new introduction in the graduate cybersec...6528 opensource intelligence as the new introduction in the graduate cybersec...
6528 opensource intelligence as the new introduction in the graduate cybersec...Damir Delija
 
Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...
Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...
Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...Damir Delija
 
Remote forensics fsec2016 delija draft
Remote forensics fsec2016 delija draftRemote forensics fsec2016 delija draft
Remote forensics fsec2016 delija draftDamir Delija
 
Ecase direct servlet acess v1
Ecase direct servlet acess  v1Ecase direct servlet acess  v1
Ecase direct servlet acess v1Damir Delija
 
Cis 2016 moč forenzičikih alata 1.1
Cis 2016 moč forenzičikih alata 1.1Cis 2016 moč forenzičikih alata 1.1
Cis 2016 moč forenzičikih alata 1.1Damir Delija
 
Draft current state of digital forensic and data science
Draft current state of digital forensic and data science Draft current state of digital forensic and data science
Draft current state of digital forensic and data science Damir Delija
 
Why i hate digital forensics - draft
Why i hate digital forensics  -  draftWhy i hate digital forensics  -  draft
Why i hate digital forensics - draftDamir Delija
 
Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...
Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...
Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...Damir Delija
 
Deep Web and Digital Investigations
Deep Web and Digital Investigations Deep Web and Digital Investigations
Deep Web and Digital Investigations Damir Delija
 
Datafoucs 2014 on line digital forensic investigations damir delija 2
Datafoucs 2014 on line digital forensic investigations damir delija 2Datafoucs 2014 on line digital forensic investigations damir delija 2
Datafoucs 2014 on line digital forensic investigations damir delija 2Damir Delija
 
EnCase Enterprise Basic File Collection
EnCase Enterprise Basic File Collection EnCase Enterprise Basic File Collection
EnCase Enterprise Basic File Collection Damir Delija
 
Olaf extension td3 inisg2 2
Olaf extension td3 inisg2 2Olaf extension td3 inisg2 2
Olaf extension td3 inisg2 2Damir Delija
 
LTEC 2013 - EnCase v7.08.01 presentation
LTEC 2013 - EnCase v7.08.01 presentation LTEC 2013 - EnCase v7.08.01 presentation
LTEC 2013 - EnCase v7.08.01 presentation Damir Delija
 
Moguće tehnike pristupa forenzckim podacima 09.2013
Moguće tehnike pristupa forenzckim podacima 09.2013 Moguće tehnike pristupa forenzckim podacima 09.2013
Moguće tehnike pristupa forenzckim podacima 09.2013 Damir Delija
 
Usage aspects techniques for enterprise forensics data analytics tools
Usage aspects techniques for enterprise forensics data analytics toolsUsage aspects techniques for enterprise forensics data analytics tools
Usage aspects techniques for enterprise forensics data analytics toolsDamir Delija
 
Cis 2013 digitalna forenzika osvrt
Cis 2013 digitalna forenzika osvrt  Cis 2013 digitalna forenzika osvrt
Cis 2013 digitalna forenzika osvrt Damir Delija
 
Aix workload manager
Aix workload managerAix workload manager
Aix workload managerDamir Delija
 

More from Damir Delija (20)

6414 preparation and planning of the development of a proficiency test in the...
6414 preparation and planning of the development of a proficiency test in the...6414 preparation and planning of the development of a proficiency test in the...
6414 preparation and planning of the development of a proficiency test in the...
 
6528 opensource intelligence as the new introduction in the graduate cybersec...
6528 opensource intelligence as the new introduction in the graduate cybersec...6528 opensource intelligence as the new introduction in the graduate cybersec...
6528 opensource intelligence as the new introduction in the graduate cybersec...
 
Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...
Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...
Uvođenje novih sadržaja u nastavu digitalne forenzike i kibernetičke sigurnos...
 
Remote forensics fsec2016 delija draft
Remote forensics fsec2016 delija draftRemote forensics fsec2016 delija draft
Remote forensics fsec2016 delija draft
 
Ecase direct servlet acess v1
Ecase direct servlet acess  v1Ecase direct servlet acess  v1
Ecase direct servlet acess v1
 
Cis 2016 moč forenzičikih alata 1.1
Cis 2016 moč forenzičikih alata 1.1Cis 2016 moč forenzičikih alata 1.1
Cis 2016 moč forenzičikih alata 1.1
 
Draft current state of digital forensic and data science
Draft current state of digital forensic and data science Draft current state of digital forensic and data science
Draft current state of digital forensic and data science
 
Why i hate digital forensics - draft
Why i hate digital forensics  -  draftWhy i hate digital forensics  -  draft
Why i hate digital forensics - draft
 
Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...
Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...
Concepts and Methodology in Mobile Devices Digital Forensics Education and Tr...
 
Deep Web and Digital Investigations
Deep Web and Digital Investigations Deep Web and Digital Investigations
Deep Web and Digital Investigations
 
Datafoucs 2014 on line digital forensic investigations damir delija 2
Datafoucs 2014 on line digital forensic investigations damir delija 2Datafoucs 2014 on line digital forensic investigations damir delija 2
Datafoucs 2014 on line digital forensic investigations damir delija 2
 
EnCase Enterprise Basic File Collection
EnCase Enterprise Basic File Collection EnCase Enterprise Basic File Collection
EnCase Enterprise Basic File Collection
 
Ocr and EnCase
Ocr and EnCaseOcr and EnCase
Ocr and EnCase
 
Olaf extension td3 inisg2 2
Olaf extension td3 inisg2 2Olaf extension td3 inisg2 2
Olaf extension td3 inisg2 2
 
LTEC 2013 - EnCase v7.08.01 presentation
LTEC 2013 - EnCase v7.08.01 presentation LTEC 2013 - EnCase v7.08.01 presentation
LTEC 2013 - EnCase v7.08.01 presentation
 
Moguće tehnike pristupa forenzckim podacima 09.2013
Moguće tehnike pristupa forenzckim podacima 09.2013 Moguće tehnike pristupa forenzckim podacima 09.2013
Moguće tehnike pristupa forenzckim podacima 09.2013
 
Usage aspects techniques for enterprise forensics data analytics tools
Usage aspects techniques for enterprise forensics data analytics toolsUsage aspects techniques for enterprise forensics data analytics tools
Usage aspects techniques for enterprise forensics data analytics tools
 
Cis 2013 digitalna forenzika osvrt
Cis 2013 digitalna forenzika osvrt  Cis 2013 digitalna forenzika osvrt
Cis 2013 digitalna forenzika osvrt
 
Ibm aix wlm idea
Ibm aix wlm ideaIbm aix wlm idea
Ibm aix wlm idea
 
Aix workload manager
Aix workload managerAix workload manager
Aix workload manager
 

Communication Network Simulation Using RPC

  • 1. Communication Network Simulation on the UNIX System Trough Use of the Remote Procedure Calls Damir Pehar, Faculty of Electrical Engineering and Computing, University of Zagreb Unska 3, Zagreb, 10000 Croatia Damir.Pehar@fer.hr Damir Delija University Computing Center, University of Zagreb Marohniceva 11, Zagreb 10000 Croatia Damir.Delija@srce.hr Abstract: In this paper methods for simulating specific communication networks are described. Purpose of the simulation is testing of the modules which are using network as communication media. Simulation is done on the UNIX computer with Remote Procedure Calls used as method of interprocess communication. Keywords: Simulation, Remote Procedure Calls, Testing, Interprocess Communication 1. INTRODUCTION During the complex computer system development it is often necessary to substitute some parts of the system with the "artificial" counterparts that create the virtual environment or virtual segments for the given system. This step is very important in the development and testing of products and their parts. The system simulation combined with the intentional creation of critical situations contributes to the real system fault and bottleneck detection. It is possible to detect incompatibilities of the system parts, the inconsistencies in the system specification and construction, thanks to the artificial system part demands aimed for the maximal similarity to the real system parts, in order to diminish the dissimilarity detection on defined interfaces. Such approach to system development forces particular demands on the computer system, used for development requiring particular discipline and methodology to be applied in the development process of the target system. Basically, it implies the creation of detailed system
  • 2. specification at the very beginning of the development process, as well as a test plan making. The system test parameters are based on the particular considerations and the system analysis. In some cases, the same principles could be applied to the system simulation. The system simulation usage could result in the considerable money saving, due to the diminishing need for field testing. Unfortunately, the real system testing can't be avoided completely. In the case of system simulation development there is a need for strict separation into the functional modules of well-defined interfaces, as well as maximal automatization of the procedure. The tests must check the functionality of the particular system parts, but it is also necessary to try out the event scenario set in which the system has to play its role as expected. 2. THE TARGET SYSTEM STRUCTURE AND THE SIMULATION SYSTEM BUILDING The simulated system consists of cooperating processes connected by the specific network (Fig.1). The network is responsible for interprocess message conveying. The communication protocol takes care about the detection and correction of possible message transfer errors. At the computer network level, the access points exist - the points where the process and network interactivities take place in form of the receiving and sending message. The message consists of two parts: ADDRESS (envelope) - the part of the message that defines the destination (the recipient of the message) INFORMATION (data) - the content of the message that has no direct meaning for the network and corresponding communication protocol. That has to be transferred in the shape equal to one received.
  • 3. Figure 1: The schematic presentation of process communication over the network For the computer network defined in the given way the simulation subsystem purpose is dual: 1. The communication protocol testing. The protocol must be tested regarding the communication errors, reliability, the interface standardisation and other parameters. The simulation system enables the testing under the controlled conditions of intentional error inputting, sample testing and the worst-case analyzing. The testing could be performed in several steps. 2. The real equipment testing under the controlled conditions. Before the real computer network interconnection is performed, the remote computers have to be tested as functional entities. The simulation system usage enables tests to be performed in the UNIX computer domain.
  • 4. Figure 2: The real subsystem structure including the functional parts The real system simulation is performed by the simulation subsystem on the UNIX computer. The simulation subsystem consists of three processes that communicate using remote function calls. In the theoretical case, it would be enough to use just one process that would unite the functionality of all three processes, but additional demands and the need for adaptability dictated the distributed solution. The simulation subsystem defined in described manner could be distributed on different computers having accessible resources (serial ports, storage space on disks etc.) and enabling simplified building of the simulation control system. The remote function call usage guarantees the operation conveying and execution as well as data uniformity. More detailed description of the remote function calls can be found in the (Delija 1994).
  • 5. Figure 3: The simulation system structure without the computer network usage The system user interface is system independent and structured in two stages at the process level and at the level of the common supervising process for the visual interfaces (which may not be implemented). The common supervising process could be implemented in some dedicated language, e.g. expect. Expectk languages enable the test automatization and scenario incorporation. More detailed description of expect and expectk languages is given in the reference /Lie 95/.
  • 6. Figure 4: Schematic of the simulation subsystem at the RPC calls level
  • 7. 3. THE STRUCTURE OF THE NETWORK SIMULATOR PROCESS AND COOPERATING PROCESSES The behaviour model is build around information gathered about network. The computer network is reliable and data is transferred atomically - the transfer is completely successful or it is not. The computer network takes care about the message transferring. The addresses are interpreted internally which means the message transport need not to be simulated. Repeat wait for the message reception if the message comes from: RPM then determine if the message could be forwarded if the message could be forwarded then send a message to the HOST note the action HOST then determine if the message could be forwarded if the message could be forwarded then send a note to the RPM note the action CONTROL then modify control parameters note the action end. Figure 5: The network simulator process pseudocode The partial message destruction scenario is infeasible, but the message could be destroyed completely. It is possible to loose a sequence of N messages, and for the purpose of the higher level protocol testing, there must be a possibility of manual interference into the network behaviour in order to simulate switching off/on of the physical interconnections. The process that simulates the network has to display messages about its state and must change its behaviour depending on the external commands. The RPC usage enables simple simulation control using the control process (Fig.4) and allows the implementation of specified demands. The network simulator process (net, Fig.4) is called the server if the function call terminology is used. The behaviour of the net process is defined by the pseudocode in the figure 5. The function that calculates whether the message should be forwarded or not represents the base for message transfer simulation. This function simulates the transfer fault and depends on the specified parameters (that may vary dynamically). There are two variables for fault occurrence controlling:
  • 8. 1. STATIS defines probability of the message loss 2. FIX defines how many following messages should be lost The calculation method is shown in the figure 6. The dynamical variable changing is enabled by means of the control process (control, Fig.5). This process enables STATIS and FIX variable changing and allows examination to be done atomically. Using the RPC terminology, such process is called the control service (Delija 1994) or the system control agent. Begin LOOSE=false if FIX > 0 then FIX-- LOOSE=true else if RANDOM() < STATIS then LOOSE=true return LOOSE end. Figure 6: The method used for message loss calculation The host and rpm processes are simple-structured and they represent the system entry points. The most demanding operation parts of these processes are bidirectional message transfer and the message printout (to standard output and standard error). The processes are implemented using the custom version of svc_run function for RPC calls as described in (Delija 1994). For the purpose of initial parameter definition the following manufacturer data are used:  probability of message loss is 5%  communication speed is set to 9600 b/s The system structure enables dynamical parameter tuning, so the initial parameter definition doesn't pose any limitations on the system. The probability of message loss is dynamically changed by the means of control service. The communication speed depends on the physical parameters, so in the simulation case, where the system input comes from the message generator, it is reasonable to expect any speed manageable by the computer. 4. THE SIMULATOR USAGE IN THE PRODUCT TESTING PROCESS The simulation plays multiple role in the product testing and designing. Based on the system behaviour assumptions it is possible to perform a simulation in order to obtain parameters needed for the mathematical description of the system and for the definition of initial parameters and states. In this case, the description of the computer network behaviour (data given by a manufacturer and data known from the experience) serves as a base for model defining and controlling.
  • 9. Primarily, the communication protocol is tested, and afterwards, under the controlled conditions, the work of the real equipment. Beside the manual protocol testing (start testing) the automated testing is performed. The tests are based on the black box principle. The sequences of inputs, commands and outputs are defined as well as the rule for test passing. Specially convenient tool for the test making and the user interface defining is the expect language (Libes 1995) that enables the centralised process control and communication. The expect language enables components needed for testing and tracing to be separated into a special process (or processes), so the structure of the other system parts is simplified and independent of the test system. This means the simulation system always works in the same way regardless of the conditions and purposes for which is used. All simulations and testing could be implemented in the expect language scripts, including the automated result processing and other tasks. Furthermore, it is easy to use the standard or graphical user interface, depending on the expect language version used. 5. CONCLUSION The computer network simulation system could be implemented in the described manner. Such system enables simplified testing and connection to other real system parts, what is of great importance (Marks 1992). The system structure is somewhat complicated but we benefit from the adaptability and easier use. Due to the modular structure and RPC system use, it is easy to alter the system. The usage of the standard RPC system enables easier implementation on any UNIX computer supporting RPC paradigm (practically all today UNIX computers). 6. REFERENCES D.Delija (1994): "Mehanizmi razmjenej poruka ostvareni pozivima udaljenih funkcija", magistarski rad, Elektrotehnicki fakultet u Zagrebu 1994. D.Libes (1995): "Exploring Expect, A Tcl-Based Toolkit for Automating Interactive Programs", O'Reilly & Associates, Inc. 1995. D.M.Marks (1992): "Testing Very Big Systems", McGraw Hill, Software Enginerring Series, 1992.