International Journal of Science and Research (IJSR) ISSN (Online): 2319-7064 Index Copernicus Value (2013): 6.14 | Impact Factor (2015): 6.391 Volume 5 Issue 6, June 2016 www.ijsr.net Licensed Under Creative Commons Attribution CC BY Network Testing: An Overview of Approaches Suchita Navpute 1 , Sanjeev J. Wagh 2 1, 2 K. J. College of Engineering and Management Research Pune, India Abstract: Todays networks are very large in size as well as complex by design. Validating today’s networks against any problem is really cumbersome task with traditional approaches like ping, traceroute, tcpdump etc. Networks are generally susceptible to problems like loop, black-hole, drop, software bugs and physical failures. Protecting networks from these kind of problems using traditional approaches is complicated and time consuming which is not at all affordable in any enterprise scale networks. To avoid loss caused due to network problems, one should have tools which can validate network against above said problems in less time as soon as they are introduced in network. Researchers have developed many state of the art tools like HSA, ATPG, Veriow, Anteater, NetPlumber. These tools are capable of detecting forwarding state anomalies with minimum human intervention. Approaches used in above tools can be broadly classified into two categories i.e. static validation and dynamic validation. Static validation is capable of detecting loop, drop and black-hole along with these, dynamic validation can detect problem caused due to software bug and physical failure. In this paper we will study general network problems, approaches to tackle them and some of their implementations in detail. Keywords: Network verification, dynamic validation, static validation, Software Define Network 1. Introduction In the beginning, the work of networking devices was quite simple. Work of networking devices was just to see the forwarding table entries and on the basis of destination address decide where to send packet next. Number of hosts previously were also less so it was not so hard to handle network. On the other hand today’s situation of network has changed. Network grew in all dimensions like size, complexity, number of hosts, size of data which we want to transfer on network and many more. Hosts grew exponentially which leads in crossing the address limit of IPv4. To overcome this problem middle boxes like NAT, firewall comes in picture. Consequence of which is routing become little bit complex. Solution on this is new mechanisms invented like VLAN, MPLS which help to make routing flexible. Detecting errors like reachability problem, loop and drop in such large and complicated network with old tools is not efficient as well as time consuming process and need to fix problems manually. Testing small networks manually is not an issue but if we have to test large and complex network like data center manually then it is quite hard. It is time consuming to deal with such network which has thousands of switches and millions of rule to check. It is headache for administrators so there is need of an automated tool for validating networks. There are some typical problems which generally occur in networks like causing packet to loop indefinitely, packet drop before it is reached to destination, fall into black-hole, error occurred due to faulty line card, packet drop due to buffer overflow, etc. As we have no choice for large and complex network then it is must to face the problems and finding solution. For voluminous network errors are unavoidable. Tracking down failure in network is hard because of the following reasons. First, forwarding states are updated simultaneously by many different protocols, programs and humans. Second, for observing forwarding state administrator has to logging manually into each network device separately. There are mainly two types of network validation 1) Static Validation: It validates network using networks forwarding states snapshot representation. It assumes forwarding state snapshot is consistent with underneath network. We will see more details about static validation in section III. 2) Dynamic Validation: It validates network using actual underneath network because of which it could detect problems cause due to physical failure and software bug. We will see more details about dynamic validation in section III. Trying new analyzing mechanism or protocol on network is quite hard and take more time to settle down the network because it need to manage two things at a time that are control functionality and data transfer functionality of network devices. Software Define Network is start of new era of computer network industry. It separates control plane and data plane so controlling the network devices become easy. Due to SDN, network devices like switch, router have become simple data transfer entities and these entities are controlled by SDN controller centrally. Some common network problems are discussed in section II whereas section III represents approaches for validating network Figure 1: Example Network Paper ID: NOV164507 http://dx.doi.org/10.21275/v5i6.NOV164507 1803