J-Sim: An Integrated Environment for Simulation and Model Checking of Network Protocols



Similar documents
Proposition of a new approach to adapt SIP protocol to Ad hoc Networks

PERFORMANCE ANALYSIS OF AD-HOC ON DEMAND DISTANCE VECTOR FOR MOBILE AD- HOC NETWORK

Hypothesis Testing for Network Security

Lecture 2.1 : The Distributed Bellman-Ford Algorithm. Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol

Ad hoc On Demand Distance Vector (AODV) Routing Protocol

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

Autoconfiguration and maintenance of the IP address in ad-hoc mobile networks

A Survey: High Speed TCP Variants in Wireless Networks

Study And Comparison Of Mobile Ad-Hoc Networks Using Ant Colony Optimization

Lab 7: Operational Amplifiers Part I

Vampire Attack Detecting and Preventing in Wireless Sensor Network

Performance Analysis of Load Balancing in MANET using On-demand Multipath Routing Protocol

Module 7. Routing and Congestion Control. Version 2 CSE IIT, Kharagpur

Virtual Platforms Addressing challenges in telecom product development

COMPARATIVE ANALYSIS OF ON -DEMAND MOBILE AD-HOC NETWORK

Keywords: DSDV and AODV Protocol

LAB THREE STATIC ROUTING

8 Conclusion and Future Work

Comparison of WCA with AODV and WCA with ACO using clustering algorithm

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

- IGRP - IGRP v1.22 Aaron Balchunas

Name Service in IPv6 Mobile Ad-hoc Network

Emulated Digital Control System Validation in Nuclear Power Plant Training Simulators

Security Scheme for Distributed DoS in Mobile Ad Hoc Networks

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

NetworkPathDiscoveryMechanismforFailuresinMobileAdhocNetworks

Prediction of DDoS Attack Scheme

An Implementation of Secure Wireless Network for Avoiding Black hole Attack

basic BGP in Huawei CLI

Formal Measure of the Effect of MANET size over the Performance of Various Routing Protocols

Optimization of AODV routing protocol in mobile ad-hoc network by introducing features of the protocol LBAR

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Mitigation of Breaking Connections. (a.k.a. OLSRd v1 Multi-Gateway & BRDP)

Security in Ad Hoc Network

Dynamic Routing Protocols II OSPF. Distance Vector vs. Link State Routing

Configuring Static and Dynamic NAT Simultaneously

Mobile Security Wireless Mesh Network Security. Sascha Alexander Jopen

CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS

Step by Step Procedural Comparison of DSR, AODV and DSDV Routing protocol

PART III. OPS-based wide area networks

Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder

SECURE DATA TRANSMISSION USING INDISCRIMINATE DATA PATHS FOR STAGNANT DESTINATION IN MANET

Re-Engineering Campus-Wide Internet Telephony Using Voice over Internet Protocol

CHAPTER 6. VOICE COMMUNICATION OVER HYBRID MANETs

Routing Protocols (RIP, OSPF, BGP)

Simulation of Heuristic Usage for Load Balancing In Routing Efficiency

Comparative Study of Performance Evaluation for Mobile Ad hoc networks using a proxy node

Experimental Comparison of Routing and Middleware Solutions for Mobile Ad Hoc Networks: Legacy vs Cross-Layer Approach

Web application security: automated scanning versus manual penetration testing.

On the effect of forwarding table size on SDN network utilization

PRASAD ATHUKURI Sreekavitha engineering info technology,kammam

DiPro - A Tool for Probabilistic Counterexample Generation

A very short history of networking

On Orchestrating Virtual Network Functions

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

A Catechistic Method for Traffic Pattern Discovery in MANET

TOPOLOGIES NETWORK SECURITY SERVICES

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices

Design and Implementation of Ad-hoc Communication and Application on Mobile Phone Terminals

VoIP over MANET (VoMAN): QoS & Performance Analysis of Routing Protocols for Different Audio Codecs

Energy Consumption analysis under Random Mobility Model

POWER AWARE QOS MULTIPATH ROUTING PROTOCOL FOR DISASTER RECOVERY NETWORKS

New Implementations into Simulation Software NS-2 for Routing in Wireless Ad-Hoc Networks

Robust Security Solution to Countermeasure of Malicious Nodes for the Security of MANET

Remote Home Security System Based on Wireless Sensor Network Using NS2

CHAPTER 1 INTRODUCTION

Performance Comparison of AODV, DSDV, DSR and TORA Routing Protocols in MANETs

Model Checking of Software

Optimizing Generation of Object Graphs in Java PathFinder

Sample Configuration Using the ip nat outside source list C

Lecture 8: Routing I Distance-vector Algorithms. CSE 123: Computer Networks Stefan Savage

All vulnerabilities that exist in conventional wired networks apply and likely easier Theft, tampering of devices

How To Understand The Power Of Icdn

Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address

Intent NBI for Software Defined Networking

A GUI Crawling-based technique for Android Mobile Application Testing

Performance Evaluation of Aodv and Dsr Routing Protocols for Vbr Traffic for 150 Nodes in Manets

Static Program Transformations for Efficient Software Model Checking

Fast and Secure Data Transmission by Using Hybrid Protocols in Mobile Ad Hoc Network

Load-balancing Approach for AOMDV in Ad-hoc Networks R. Vinod Kumar, Dr.R.S.D.Wahida Banu

Model Checking based Software Verification

Level 2 Routing: LAN Bridges and Switches

Understanding and Configuring NAT Tech Note PAN-OS 4.1

Improvisation of The Quality Of Service In ZigBee Cluster Tree Network

Analysis on Leveraging social networks for p2p content-based file sharing in disconnected manets

An Extended AODV Protocol to Support Mobility in Hybrid Networks

High-Frequency Distributed Sensing for Structure Monitoring

LIST OF FIGURES. Figure No. Caption Page No.

An Efficient AODV-Based Algorithm for Small Area MANETS

Transcription:

J-Sim: An Integrated Environment for Simulation and Model Checking of Network Protocols Ahmed Sobeih, Mahesh Viswanathan, Darko Marinov and Jennifer C. Hou Department of Computer Science University of Illinois at Urbana-Champaign Urbana, IL 61801, USA Presented by: Ahmed Sobeih NSFNGS 2007 Workshop, held in conjunction with IPDPS 2007 Long Beach, California, USA, March 25-26 2007 1

Problem Definition: What? Network simulators (e.g., ns-2, J-Sim) Build a simulation model of a network protocol Evaluate its performance in scenarios provided by the user Deficiency of traditional network simulators: Only evaluate performance in scenarios provided by the user, but can not exhaustively analyze possible scenarios for correctness of either the simulation model or the protocol itself. Examples of correctness (protocol-level requirements): Can a routing protocol suffer from routing loops? Can an attacker break a security protocol? Extend network simulators with verification capabilities 2

Motivation: Why? Network simulators have been widely used for decades The earlier an error is found the better Errors in the simulation model may lead to incorrect experimental results Errors in the network protocol itself may happen after deployment Building another model specifically for verification purposes is time- and effort-consuming and error-prone Network protocol designers are more familiar with network simulators written in imperative languages (e.g., C++, Java) Translating programming languages (e.g., Java) into the input modeling languages of conventional model checkers May not be always feasible. Requires that each language feature of Java have a corresponding one in the destination modeling language. Making use of the simulation model that the protocol designer has to build anyway for performance evaluation purposes Can we have a single integrated tool providing both Performance Evaluation and Verification? 3

J-Sim (http://www.j-sim.org) Autonomous Component Architecture (ACA) a component-based software architecture ACA closely mimics the Integrated Circuit (IC) design Signal Pin Data 011 Port IC Chip Pin 1 Component Pin 2 At design time, an IC is bound to a certain specification in the databook, instead of being bound to ICs that interact with it. At design time, a component is bound to a certain contract, instead of being bound to components that interact with it. ACA realizes the notion of a software IC 4

Model Checking Framework in J-Sim Stateful on-the-fly explicit-state model checking in J-Sim Explore the state space created by the simulation model of a network protocol up to a (configurable) maximum depth of transitions No changes to the core design and implementation of J-Sim J-Sim J-Sim w/ MC s 1 s 4 s 1 s 4 s 0 s 2 s 3 s 5 Xs 6 s 7 s 0 s 2 s 3 s 5 Xs 6 s 7 X denotes a violation of a safety property 5

Model Checking Framework in J-Sim (cont d) Build the model checker as a component in the ACA of J-Sim J-Sim Component Initial State Current State Next State Port Communication via ports Model Checker Error Trace / No Error P 1 P 2 P n 6

Evaluation and Results AODV routing for MANETs Reasonably complex network protocol 1200 LOC (excluding the J-Sim library) Representative routing protocol for MANETs Safety property Loop-free property of routing paths Infinite state space Handling state space explosion: Making use of protocol-specific heuristics to develop best-first search (BeFS) strategies Exploit properties inherent to the network protocol and the safety property being checked 7

AODV Case Study Routing protocol: build and maintain routing table entries (RTEs) In AODV, the RTE at node n for a destination d contains the following fields: nexthop n,d, hops n,d, seqno n,d On route timeout: invalidate (but not delete) RTE, increment seqno n,d, hops n,d infinity Loop-free property: A node can not occur at two points on a path Consider two nodes n and m such that nexthop n,d = m AODV-BeFS: considers a state s 1 better than a state s 2 if the number of valid RTEs to any node in s 1 is greater than that in s 2. 8

AODV Case Study (cont d) Errors discovered and injected CE1: An error in the J-Sim simulation model of AODV caused by not following part of the AODV specification when an AODV process restarts nexthop n0,n2 = n1 seq n0,n2 > seq n1,n2 Two manually injected, but subtle, errors: CE2: Not to increment seqno n,d when an RTE is invalidated CE3: Deleting (instead of invalidating) the RTE nexthop n0,n2 = n1 nexthop n1,n2 = n0 9

AODV Case Study (cont d) Performance of the search strategies Time (in seconds) and space (in number of states explored) requirements and the number of transitions executed for finding the three counterexamples in a 3-node chain ad-hoc network using different search strategies. MAX_DEPTH = 10 10

Conclusion Extending J-Sim (www.j-sim.org) with verification capabilities Several case studies of fairly complex network protocols ARQ, AODV for MANETs, Directed Diffusion for WSNs The framework is general enough and not tied to a particular network protocol The framework can handle larger network topologies A methodology for the model checking of another network protocol Making use of protocol-specific heuristics to develop bestfirst search (BeFS) strategies Using analogies between AODV and directed diffusion Recommend exploiting properties inherent to the network protocol and the safety property being checked 11

Future Work Comparison with Java PathFinder (JPF), a model checker for Java programs Use JPF to model-check the network protocols in J-Sim Compare the model checking framework in J-Sim with that of JPF Assess the pros and cons of building a model checker in J-Sim instead of using an existing model checker for Java programs such as JPF Class-specific (instead of protocol-specific) heuristics Devise efficient heuristics for each class of protocols (e.g., routing, coverage and connectivity, localization, etc.) If a network protocol belonging to a certain class is to be modelchecked, the user can use the appropriate heuristic for that class instead of having to start from scratch 12