telecommunication

profileumeshsatyam
CE-1REPORT.doc

VIJETHA

08QQ1A0459

A project on

Analysis of Protocols like VoIP Based on Routing in MANET

By,

VIJETHA BOPPISHETTY

(08QQ1A0459)

This report has been submitted for the partial fulfillment of bachelor’s degree of Electronics and Communication Engineering

10th November 2011

Supervisor

Asst. Prof. Ramanjaneyulu

Electronics and Communication Engineering

ACKNOWLEDGEMENT

The gratification and euphoria that accompany the successful completion of my project work would be incomplete without thanking the people who are have guided and helped me all through this time.

Firstly, I would like to thank my parents and express my acknowledgement for giving me this success, and support throughout my life.

I whole-heartedly express my deep sense of gratitude to my guide Asst. Prof. Ramanjaneyulu, faculty of Electronics & Communication Engineering whose perception and vision has shown the path to achieve my objective.

ABSTRACT

Now-a-days Wireless network is most common among the communications across the world. TCP protocol is widely used for wired networks and it assures reliability and great performance in wired networks. But, in wireless networks TCP’s reliability and performance is very less because in wireless it wrongly assumes about the reasons for the packet loss and the congestion control is not maintained as per the requirement. TCP assumes that the packet loss in the wireless network is only due to the congestion of the network where as in reality the reasons for the packet loss in wireless networks is bit errors or many environment effects such as background noise multi-path delays etc. Mobile ad hoc networks (MANETs) are one of the solutions for connectivity. Supportive background in wireless ad hoc networks, in this network information is shared between portable nodes in peer-to-peer fashion. Nodes in MANET are based on pure peer-to-peer fashion. In this approach server will not be used. Two fundamental issues in the networking community are the discovery of services and resources available in other nodes and the transfer of information between any two network nodes. Network congestion is the major problem which can be needed interactive query propagation technique. For that project comes with Eureka is the model that already existing for model to identify region modes of node.

This project is suggested for evaluating the performance of the TCP in wireless networks and comparing them with the performance in the wired networks. This project also suggests optimization for the TCP in wireless networks for improving the performance of the TCP.

Objectives:

· To achieve the project scope by making the proper literature survey on TCP

· Analysis of performance of TCP in wired and wireless networks

· Simulation process of WLAN network in OPNET

· Implementation of snoop protocol and its analysis

TABLE OF CONTENT

1 Introduction

1.1 Problem Statement

1.2 Objectives

1.3 Product description

1.4 Research method

1.5 Deliverables

1.6 Scope and limitations

1.7 A General Thesis Organization

1.8 Schedule

2 Literature review

2.1 TCP and its Variants

2.2 Algorithms

2.2.1 Slow-Start

2.2.2 Congestion Avoidance

2.2.3 Fast Retransmit Fast Recovery

2.3 TCP Variants

2.3.1 TCP TahoeTCP Reno

2.3.2 TCP Vegas

2.3.3 TCP New Reno

2.3.4 TCP SACK

2.3.5 BIC TCP

2.3.6 CUBIC TCP

3 Research analysis

3.1 Performance Evaluation Parameters

3.1.1 Flow Control

3.1.2 Congestion Control

3.1.3 Handover

3.1.4 Throughput

3.2 Wireless Networks

3.2.1 3G Network

3.2.2 Uses of Wireless Networks

3.3 Handovers

3.3.1 Horizontal Handover

3.3.2 Vertical Handover

3.3.3 Download and Upward Handover

3.3.4 Micro Cellular Handover

4 Analysis through simulation results

4.1 OPNET Simulated Environment

4.2 Advantages of OPNET

4.3 OPNET modules

4.4 Designing network model in OPNET

4.5 Considering scenarios for simulation

4.6 Snoop protocol

4.7 Implementation of Snoop protocol through OPNET Simulation

4.7.1 Scenario 1

4.7.2 Scenario 2

4.7.3 Scenario 3

5 Testing

5.1 Test Case

6 Results and discussion

6.1 Critical Evaluation

6.1.1 Scenario 1

6.1.2 Scenario 2

6.1.3 Scenario 3

6.2 DSR simulations: sample DSR scenario with 50 nodes

6.2.1 End to end delay in DSR

6.2.2 Load vs Medium Access Delay in DSR

6.2.3 Throughput with load in DSR

6.2.4 TORA Results

6.2.5 End to end delay with Medium Access delay in TORA.

6.2.6 AODV Results

6.2.7 Load with throughput in AODV

Conclusion

Future enhancement

References

Appendices

TABLE OF FIGURES

Figure 4.1: WLAN modl in OPNET modeler

Figure 4.2: Scenario 1: Network model

Figure 4.3: Scenario 2: Network model

figure 4.4: Scenario 3: Network model

Figure 6.1: Upload response time

Figure 6.2: Number of cached packets during upload of a file

Figure 6.3:Congestion window of TCP at PER of 20%

Figure 6.4: Sequence numbers transmitted at per of 20%

Figure 6.5: retransmission timeout at per of 20%

FIGURE 6.6: AVERAGE DOWNLOAD RESPONSE TIME

FIGURE 6.7: UPLOADRESPONSE TIME

KEY WORDS

· TCP

· Packet loss

· PER

· Persist Retransmission Timeout

· Snoop Protocol

· Handover

· Snoop Agent

Analysis of Protocols like VoIP Based on Routing in MANET

CHAPTER-1

1. Introduction:

In the present scenario, security is the one of the major constraints for the web content. Providing security over the network is essential task to data transmission through the network. Data security means protect the data from unauthorized users and at the same time allowing authorized users to access the data. Before the widespread of data processing usage, the data security felt to be valuable and was provided by physical and administrative means. On the other hand, with the introduction of distributed systems and the use of network communication system facilitates the data transmission over the different system over the network. Network security is a raised by the distributed environment during the transmission.

For sending information from one network to other network or with in the same network efficiently and securely, one has to provide data security techniques. So an attempt is made to provide such a data security technique which provides better results for a given configuration of the network. Data is set of information, where the data is needed for processing, sharing, and reading. Generally, data security is essential, when the data is being transferred among the different terminals. A third party can able to alter the data, if there is no such an efficient data security mechanism. Mobile ad hoc networks (MANETs) are one of the solutions for connectivity. Supportive background in wireless ad hoc networks, in this network information is shared between portable nodes in peer-to-peer fashion. Nodes in MANET are based on pure peer-to-peer fashion. In this approach server will not be used. Two fundamental issues in the networking community are the discovery of services and resources available in other nodes and the transfer of information between any two network nodes.

1.1Problem statement:

Since the deployment of wireless networks, incompatibility of TCP has been there as TCP was developed keeping wired networks in mind. Thus, this project focuses on various performance factors such as congestion, flow control, throughput and handover’s etc and provides optimization to enhance overall performance and reliability for wireless networks.

A simulated wireless network is also studied to evaluate TCP during handovers and provide optimizations from the statistical data obtained.

My aim is to come up with a technique of hiding the message in the audio file in such a way, that there would be no perceivable changes in the audio file after the message insertion. At the same time, if the message that is to be hidden were encrypted, the level of security would be raised to quite a satisfactory level. Now, even if the hidden message were to be discovered the person trying to get the message would only be able to lay his hands on the encrypted message with no way of being able to decrypt it.

1.2 Objectives of the Study:

Aim:

To evaluate the performance and reliability of TCP in wireless networks by simulating an environment with WLAN and 3G network for studying parameters such as handover’s, congestion, flow control etc and provide possible optimizations.

Objectives:

Firstly, the TCP itself will be studied and evaluated for parameters such as reliability and compatibility for wireless networks. Its behavior will be observed for various performance factors such as congestion, flow control, slow transmit etc.

Further its performance will be evaluated by a simulation in OPNET which includes a WLAN and a 3G environment and a statistical analysis will be done on the data collected for providing probable optimizations.

1.3 Product Description:

In this project, we are proposing audio file transmission in order to provide greater security than the existing. With advent of audio file, no one can able to modify the data though it can be readable. So, we are proposing a technique of hiding the message in the audio file in such a way, that there would be no perceivable changes in the audio file after the message insertion. At the same time, if the message that is to be hidden were encrypted, the level of security would be raised to quite a satisfactory level. Now, even if the hidden message were to be discovered the person trying to get the message would only be able to lay his hands on the encrypted message with no way of being able to decrypt it.

1. To provide the security for the data transmission by hiding the data in the form of audio file

2. Applying the audio steganography techniques along with cryptography to the data

3. Implementing triple DES algorithm

4. Achieving secure data transmission between two parties.

Evidence of Requirement:

Wireless is the future for all the data and communication networks. Thus, there is a need for TCP to provide high performance, reliability and adaptability for future technologies as it’s the highly and the only used protocol for networks whether wired or wireless.

Thus, it is required that its performance be evaluated and studied for providing performance enhancing techniques for wireless networks which is mostly needed in this rapidly developing market.

Context Description:

The research is vast and complex for the chosen subject and the outcomes might be affected by the time and resources available.

While I will be utilizing all the time available for research but still presume it to be insufficient.

Another is the tool used for simulation and its adaptability for the created environment.

1.4 Research Method:

We take both quantitative and qualitative approach towards the research. While for simulating wireless network for WLAN and 3G, OPNET will be used and the statistics of TCP depending on delay, flow control, congestion and data transmission will be collected and used for performance evaluation.

The optimizations that will be proposed will be qualitative and will have more of a descriptive approach while maintaining relative statistical results obtained or surveyed.

Brief Product Description:

TCP i.e., Transmission Control Protocol is a widely used protocol in networks. It is a part of the core protocol TCP/IP providing communication service in the intermediate level. Since it was designed for wired networks it has compatibility issues with wireless networks becoming a hindrance for high performance and reliability.

Wireless networks are the most rapidly growing technology for communication and data transmission because of the flexibility and scalability features.

Thus, TCP has become a very important aspect for performance and reliability of wireless networks.

1.5 Deliverables:

By evaluating TCP in wireless network, we intend to investigate packet loss due to congestion, bit error, slow start, congestion avoidance, fast retransmit and recovery and also at performance optimization mechanisms such as window scaling, snoop etc and also by a simulated scenario we intend to evaluate TCP while handoff between 3G and WLAN.

1.6 Scope and limitations:

The Scope of this project is mainly to meet the requirements of our data security issues with the greater efficiency.

Standardized Technology is used to develop this Project to meet the objectives. The Project Specification is suitable and is easily adaptable to the Business Strategies and real domains.

In this project, we are proposing data transmission in terms of audio file. So it is the one of the efficient way of providing security to data over the network.

1.7 A general thesis organization:

Chapter 1 : Introduction: presents background and overview of the project, research methods and objectives of the study

Chapter 2 : Literature Review: Review of the system by implementing object-oriented programming concepts and defines system models and functionalities

Chapter 3 : Design Framework: Analyze the requirements of the project by distinguishing the functional, technical, user, non-functional requirements and design a project framework and implement OOAD by constructing UML diagrams and ER diagrams

Chapter 4 : Project Implementation: Develop a project by using java language, enhance the system features and functions by implementing OOP’s principle and design a coding according to the system modules

Chapter 5 : Testing and final project report: Design testing methods, evaluate test cases and implement test suits, prepare error reports

Chapter 6 : Conclusion and future work: Conclusion of the project and demonstrate future enhancement of the system

1.8 Schedule:

For this project, I estimated time for three months where the project initiation starts from analysis work and literature survey. Then as per the chosen research methodology, design frame work will make final project implementation process. Based on the key findings of implementation and literature survey the project shall come up with the frame work and everything is done under the super vision of my coordinator.

Task

Description

Duration (HRS)

Analysis

Analyzing of data and requirement

10

Literature study on project requirement

Studying of background data collection regarding VOIP

20

Methodology

Choose appropriate research methodology based on project aim and objectives in the initial point.

10

Project design

Design frame work of project analysis

10

Development

Implement the simulation part using OPNET simulator

10

Analysis and evolution

To evaluate the findings, it must need discussions about findings

10

Dissertation

To Produce final dissertation

20

Total

90

Chapter-2:

2. Literature survey:

2.1 TCP and its Variants:

TCP is nothing but Transmission Control Protocol. This is a protocol belonging to the TCP/IP’s transport layer. When large chunks of data are to be sent from the application through the internet using the IP i.e., Internet Protocol then instead of sending that data as pieces, application sends request to TCP to send that data and handle all the IP details related to that data. This is much preferable instead of sending the data as pieces because in between the IP and application TCP can provide communication services.

TCP is widely used in many internet applications. Some of them are email, www (World Wide Web), FTP (File Transfer Protocol), applications that are used for streaming the data etc.

Sequence of octets consisting of header and body is called a packet. Internet Protocol works by exchanging the packets that provides certain information. Packet’s destination or the information about the router to which the packet is to be transferred in order to reach the destination is mentioned in the header of the packet. Body of the packet contains the data that is to be transmitted.

During the transmission of data there is possibility of losing some packets. That can be due to the following reasons: congestion in the network, unpredictable behavior of the network, traffic load balancing etc. Even some packets could be duplicated or can be delivered out of time. If TCP detects such problems, then it prevents the loss of data by retransmitting the data that is lost or by rearranging the data that is out of order or by controlling the congestion of the network etc. Finally, at the receiver end TCP rearranges the octets according to their sequence and provides it to the application. So, the communication of the application regarding the transmission is abstracted by the TCP.

For transmission through TCP, timely delivery is not much preferred. TCP prefers accurate delivery of the data to the destination. Sometimes TCP may get very long details because of waiting for the messages that are out of ordered or because of retransmitting the messages that are lost during the transmission. For the above reasons TCP is not preferred for the applications of the real time environment. Some of such real time applications where TCP is not preferable are VoIP and any application that operate through wireless networks.

Transmitting data through TCP is reliable because TCP makes sure all the bytes received at the destination are identical and in same order with respect to the bytes sent from the sender. Actually, packet transfer is not reliable. So, TCP uses positive acknowledgement along with retransmission for making sure that the transfer of packets is reliable. This positive acknowledgement with retransmission works in the following way: Record of each packet that is sent is maintained by the sender. Receiver sends an acknowledgement to the sender when data is received. There is also a timer maintained by the sender which is used in the case where acknowledgement of data received is not reached to the sender from the receiver. At that time, it resends that data if acknowledgment is not received with in time mentioned by the timer. So, this timer is lot of helpful when there is packet loss or corruption.

Delivery of the data to the destination is handled by Internet Protocol. TCP only takes care of the individual pieces of the data called segments i.e., when any file is sent through the internet then the sequence of octets is divided into segments by TCP and are sent to the Internet Protocol (IP) of internet layer individually. Then the Internet layer individually each of the segment of the TCP is encapsulated to an IP packet by adding a header to each segment. That header contains the destination address. All of them are sent into different routes of the network even though they have the same destination address. When the destination program receives all the segments, then all of them are reassembled by the TCP layer of the client and verified whether all are received in correct order without any corruption and then they are finally given to the application program of the destination.

2.2 Algorithms:

Transmission Control Protocol contains four algorithms. They are:

· Slow – Start

· Congestion Avoidance

· Fast Recovery

· Fast Retransmit

2.2.1 Slow – Start:

Coming to the slow – start phase, whenever an acknowledgement is received then congestion window is increased by the TCP to that number of packets which are acknowledged. For every round-trip time i.e., RTT, TCP congestion window is doubled because of this strategy.

2.2.2 Congestion Avoidance:

For the congestion window there will be threshold limit. If it exceeds that threshold limit, then it enters the congestion avoidance phase. In this phase for every round-trip time i.e., RTT congestion window is increased by 1. This happens till a loss event is occurred.

2.2.3 Fast Retransmit:

As mentioned earlier TCP does not give timely delivery of the data. Because of that, TCP takes long time to confirm that packet is lost. So, in order to recover that problem fast retransmit algorithm is used. A timer is maintained by TCP after sending a packet. If timer is expired before the acknowledgment of the packet is received, then TCP considers that packet is lost. As this is time taking process, TCP uses duplicate acknowledgments because of this fast-retransmit algorithm i.e., here if a duplicate acknowledgment of a packet is received for multiple times generally three times, then TCP admits that the packet is lost and then it retransmits that packet.

2.2.4 Fast Recovery:

When TCP sender detects any packet loss, then fast retransmit is done. At that time TCP should not enter in to the slow – start phase and to do that fast recovery algorithm is used. So, fast recovery and fast retransmit are mostly related. By using the fast recovery algorithm, TCP reduces the congestion window to its half and then changes the congestion window to certain value by calculating the minimum value among congestion window, receiver window and the number of duplicate acknowledgments received. So, congestion window will be set finally to the minimum of the above mentioned three in order to escape from the slow – start phase during fast retransmit using the fast recovery algorithm. So, finally when the acknowledgement of the data that is recovered is received then it comes back to the congestion avoidance phase.

2.3 TCP Variants:

Coming to the variants of the TCP, the variants that are majorly popular are:

· TCP Tahoe

· TCP Reno

· TCP Vegas

· TCP New Reno

· TCP SACK

· BIC TCP

· CUBIC TCP

All these variants do not differ if all the packets of the data are received at the destination without any packet loss. If there is / are any packet losses, then these variants differ based on their properties.

2.3.1 TCP Tahoe:

Among all the variants of the TCP, TCP Tahoe is the simplest one. TCP Tahoe does not consider that timeout and triple duplicate acknowledgements are different and because of that reason it does not considers fast recovery. TCP Tahoe retransmits the lost data whenever it receives the triple duplicate acknowledgments or whenever there is timeout for a packet by making the congestion window to 1. At that time, it enters the slow – start phase as it does no considers fast recovery.

2.3.2 TCP Reno:

TCP Reno acts like TCP Tahoe in some cases and acts differently from TCP Tahoe in other cases i.e., if the timeout occurs then TCP acts just as TCP Tahoe by entering in to the slow – start phase. But if TCP receives triple duplicate acknowledgements then it acts differently from TCP Tahoe by performing the fast retransmit through fast recovery. So, we can say that if there is timeout TCP Reno and TCP Tahoe are one and the same. If there are triple duplicate acknowledgements received, then TCP Reno is different from TCP Tahoe. This TCP Reno is much useful when there is a single packet loss. If there are multiple packets lost in the transmission of the data, then TCP Reno does not perform effectively.

2.3.3 TCP Vegas:

TCP Vegas concentrates more on packet delay when compared to packet loss and the rate of transfer of sending the packets is determined. Unlike TCP Reno and TCP New Reno this TCP Vegas detects the congestion in the initial stage and it is done based on the Round-Trip Time (RTT) values of each packet. It detects the congestion only when it is happened. It calculates the base RTT value accurately for detecting the congestion whenever it is occurred. If the value of that base RTT is very small, then the connection’s throughput is less when compared to the bandwidth. If that value is very large, then it overruns the connection. If TCP Vegas is compared with the TCP Reno, then the performance of the TCP Vegas is reduced because as it detects the connection early when compared to TCP Reno and by that it reduces its sending rate before TCP Reno does. Linux Kernel implements this TCP Vegas.

2.3.4 TCP New Reno:

This TCP New Reno is nothing but the improvement to the TCP Reno. TCP New Reno is mainly used if there are multiple packets lost during a transmission. This is possible by making some changes to the fast recovery algorithm of the TCP Reno. In TCP Reno a single new data acknowledgment is enough to take TCP to the congestion avoidance phase from the fast recovery phase. But for TCP New Reno, it requires the acknowledgment of all the packets that were outstanding during the start of the fast recovery in order to go to the congestion avoidance phase from the fast recovery phase. The reason for that is TCP New Reno considers that the packet that is immediate to the packet that gives partial acknowledgment is also lost even if it is lost or not. So, it affects the TCP’s performance if such packets are not lost.

2.3.5 TCP Sack:

In every TCP packet Sack TCP adds many sack blocks. Sack block gives acknowledgment of the non-contiguous set of data that is received. When there is a greater number of packets dropped from a single window of the data, then the implementation of the Sack TCP varies from the TCP Reno. The information about the packets that are missed at the receiver’s end is maintained by the sack sender and it retransmits only those packets that are dropped from that single window. Since it retransmits only those packets that are lost from the window it exits fast recovery when all the acknowledgments of all the packets that are outstanding at the start of the fast recovery are received and then it enters in to the congestion avoidance phase.

2.3.6 BIC TCP:

BIC TCP is required for long fat networks which are nothing but networks with high speeds and high latency. This is a unique algorithm that finds the maximum in order to decide the value for the window to be for the longer time. That maximum values if determined using Binary Search algorithm.

2.3.7 CUBIC TCP:

CUBIC TCP is nothing but the improvement of the BIC TCP. This is more systematic and less aggressive when compared to the BIC TCP. CUBIC TCP is better when compared to other variants of TCP because it does not increase the size of the window base on the receipt of acknowledgements rather it increases the window size based on the last congestion event occurred. If the RTT’s are very short, then the window is increased very frequently when compared to the situation where there are longer RTT’s. So, that is not preferred. CUBIC TCP will be fair in such situation as it does not depend in the RTTs for increasing the congestion window. CUBIC TCP replaces BIC TCP in Linux Kernels from 2.6.19 and above.

Chapter-3:

Research analysis:

3.1 Performance Effective Parameters:

The major performance effective parameters are:

· Flow Control

· Congestion Control

· Hand over

· Throughput

3.1.1 Flow Control:

If the sender sends the data in high speeds to the TCP receiver that can receive data in smaller speeds, then there is a chance of packet losses. So, in such situations TCP uses end to end flow control protocol for avoiding them. This mechanism is necessary when there should be data transmission between sender and receiver with different speeds. For example, if data is sent from a computer to a phone, then here we can notice that the transfer speeds of the computer and the phone are quite different. The transfer rate of the computer will be higher when compared to the transfer rate of the phone. So, phone regulates the transfer rate of the computer in order to avoid packet losses.

Sliding window flow control protocol is used by the TCP. Receiver mentions the additionally received data in receive window field. Then the sender sends only that amount of data and it must wait for the window update and for the acknowledgment. If the window size of 0 is mentioned by the receiver, then immediately sender stops sending the data and then the persist timer is started. In the above-mentioned situation, there is every chance of getting onto a deadlock. In order to avoid that deadlock, persist timer is initiated. If the window size mentioned by the receiver is not received by the sender, then he cannot send the data. So, if that information is lost, then deadlock arises. Even when the persist timer is also expired, then sender sends a small packet because of which receiver can send acknowledgment for another time. In this way dead lock situation can be escaped.

If receiver receives the data in very small increments, then it sends acknowledgment that contains small window size repeatedly. This way of sending very small amount of data through the larger TCP segment is inefficient. So, TCP uses flow control mechanism to avoid such inefficiencies. Nagle’s algorithm is used by the server in order to avoid such situation which is called silly window syndrome.

3.1.2 Congestion Control:

Congestion Control is the major aspect of the TCP. In order to avoid congestion collapse and in order to achieve higher performance TCP uses many mechanisms. Congestion collapse is nothing but the deduction of the performance of the TCP by several magnitudes. The mechanism used by the TCP controls the rate at which data must enter the network and it must see that that rate should not be above the rate that triggers congestion collapse. Min-max fair allocation is followed between the flows for the congestion control.

To know the condition of the networks between the TCP receiver and the sender TCP uses acknowledgments of the data sent and the lack of acknowledgments. Behavior of the flow of data can be altered by the TCP sender and receiver by using timers and this referred to as congestion control.

The algorithms used for this purpose are as previously mentioned slow – start, congestion avoidance, fast retransmit and fast recovery. Even there are other algorithms used for this purpose.

3.1.3 Hand over:

Hand over is mainly observed in wireless networks. Hand over is nothing but transferring of the current data session from one channel to another which are connected to the core network. Hand over can be classified in to soft handover and hard handover.

Soft handover is nothing but retaining the channel of the source for a while and using along with the channel of the target. Here the before the connection of the source is broken connection with the target is established. So, this hand over can be called as make - before - break. So, when the time it uses both the connections with source and target, they are maintained in parallel way. So, soft handovers are used to handle more than two connections at the same time.

Hard handover is nothing but breaking the channel of the source before establishing a connection with the target. Here parallel connection of them is not possible. This hand over is also called as break – before – make. This hard hand over is used in order to avoid the disruption of the connection.

3.1.4 Throughput:

Throughput is nothing but the average rate of the number of packets that are successfully delivered through a network. Throughput is measured in data packets per second or data packet per time. Through this throughput we can analyses the performance of the TCP in the network.

3.2 Wireless Networks:

The computer networks that are connected without wires are known as wireless networks. Because of wireless networks the cost that is required for the networks is reduced to large extent i.e., cost of installing the cables in the buildings and also the equipment required to setup cables for having a network is also reduced.

In the present world most percentage of the people are using wireless communications instead of wired communication. The reason for choosing the wireless communication rather than wired communication is reduced cost and it can be accessed from more than one place. Through wired communication network can be accessed only from a single and constant place. If users have to access the network in movement and in different places, then they opt for the wireless technology.

There are many types of the wireless networks. They are:

· Wireless PAN

· Wireless LAN

· Wireless MAN

· Wireless WAN

· Wireless Mesh network

· Cellular Network

Wireless PAN:

Wireless PAN is nothing, but Wireless Personal Area Network simply called as WPAN. This WPAN is nothing but connecting the devices that are present with in the small area i.e., range with in a room. Bluetooth is the best example for this WPAN. This WPAN can be set up easily because of the latest electronic devices such as mobile devices and also windows provide a feature called virtual Wi-Fi because of which we can easily setup a WPAN environment.

Wireless LAN:

Wireless LAN is nothing, but Wireless Local Area Network simply called as WLAN. WLAN is nothing but connecting the devices that are present over any place within a short area. The devices of this kind of network can be moving within the range of network. Generally, these kinds of networks are used for areas such as with in a building, with in an organization etc.

Wireless Mesh Network:

A network that is established using the mesh topology over radio nodes is called wireless mesh network. Messages are forwarded by each node on behalf of the other nodes in the network. If there are any nodes that have a problem, then selfheal is done which is nothing, but re-routing is done automatically.

Wireless MAN:

Wireless MAN is a Wireless Metropolitan Area Network simply called as WMAN. WMAN is nothing but connecting several WLANs over a large area such as a city. So, in order to connect the devices across the city initially WLANs must be established in local areas of the entire city and then all of those WLANs are to connect into a network called WMAN. An example of WMAN is Wi-MAX.

Wireless WAN:

Wireless WAN is a Wireless Wide Area Network. It is a wireless network that covers over many very large areas. In order to have connection between the neighboring towns Wireless WAN can be used. Wireless WAN is used for connecting the branch offices of an organization that are present in different cities and for connecting any public internet system that is provided over several areas. A typical Wireless WAN contains access points, base station gateways, Wireless bridging relays. These networks can be maintaining as stand-alone systems if they are combined with any renewable energy systems.

Cellular Network:

Cellular network is nothing but a network that is established over many land areas also called cells. Each cell contains its own transceiver called base station whose location is fixed. Each cell in that network maintains different frequencies from its neighboring cells in order to avoid the possible interfaces of the similar frequencies. When all those cells are connected, then we can see that that cellular network cover very large geographical area. Because of this cellular network a very large number of portable devices can be connected. The devices which are suitable for such networks are mobiles phones, smart phones, pagers etc. Even if the transceivers are moving from one cell to other communication is not disturbed.

Initially cellular network was introduced for voice communication. But, because of the development we had in the cellular networks, now we can transmit data through the cellular networks. Because of advancement to 3G technology we can also easily transmit larger amounts data through the cellular network. In cellular networks GSM is used widely. GSM i.e., Global System for Mobile Communication consists of three systems namely switching system, base station system and support system. Initially cell connects to the base station system and then to the support system. Now it connects to the switching station to which the call is to be transmitted. It is the most common one in majority of the mobile phones around the world.

3.2.1 3G network:

3G network is the advancement in the cellular networks. It is the improvement from the 2nd Generation network. 3rd Generation networks majorly provides many additional features when compared to the normal 2nd Generation networks. 3G network provides higher speeds of data transfer through the network. 2G cannot provide higher rates of data transfer. In 3G network we can even have video communications through the network which is not possible through the 2G network. 3G network also provides the better performance of the communication through the network when compared to the 2G network. Gaming performance is also higher for 3G Network when compared to the 2G network.

The hardware used for the 3G network is somewhat different when compared to the 2G network. To update from the 2G network to the 3G network there must be lot of changes done to the hardware of the 2G network which would be costly. Now, most of the users of the mobile phones are getting updated to the 3G network services. In Japan 50% of the mobile users are using 3G network services. IN US 10% of the people are using 3G services. This indicates that the future of the mobile communication is through the 3G network.

The performance of the 3G data transfer is very higher when compared to the performance of the 2G data transfer.

3.2.2 Uses of wireless networks:

· They are used in cellular phones which are used by almost everyone across the world and this facilitates easy access to the personal communications.

· These are very helpful for the emergency services such as police, ambulance etc.

· Sharing of the data within an organization became very flexible because of the wireless networks.

· Because of the better performance of the wireless networks there are many applications that are easily possible such as voice communications as well as video communications.

· If the configuration of the hardware and the software that are used for the network are well managed, then larger amounts of data can be transferred faster and in a secure way through wireless networks.

· Wireless networks can reach any area where it would be very difficult for the wired networks to reach i.e., if a wired network must be established over a river or a complex building then it would be very difficult. But if we use wireless network over the river or a complex street it would be very easier to establish that connection because there is no complexity in wireless network that occurs through cables.

· For any small organization or for any home purposes, if there is a need of sharing the printers or networks among several devices, then there is no need to connect all of them with wires and make it complex. We connect them very simply with the help of wired networks.

· Installation charges will be very less when compared to the wired networks.

3.3 Handovers:

As mentioned earlier handover is nothing but a process where an on-going data transfer is transferred from one channel and to the other which are connected to a large core network. We see these handovers in wireless networks. We have seen earlier that handovers are classified into soft handover and hard handover. But handovers can also be classified into the following.

· Horizontal handover

· Vertical handover

· Download and Upward Vertical handover

· Micro cellular handover

3.3.1 Horizontal handover:

We say a handover as a horizontal handover when user moves from place with a network access technology to the place with the same network access technology. In horizontal handovers mobility is performed on the same layers. Even though there is change of IP address through this handover, the on-going call must be maintained.

3.3.2 Vertical handover:

We say a handover as a vertical handover when user moves from a place with a network access technology to a place with different network access technology. In vertical handovers mobility is performed on different layers unlike the horizontal handovers. In vertical handover IP address will be changed and mobile node will be moved across different networks. Here there may be a network interface change as well as change in the Quality parameters.

3.3.3 Downward and Upward Vertical handover:

We say a handover as a downward vertical handover when user moves from a network with higher bandwidth and lower size of the cell to the network with lower bandwidth and larger size of the cell. An example when downward vertical handover is occurred is when user moves from WPAN area to the PAN area.

We say a handover as an upward vertical handover when user moves from a network with lower bandwidth and larger size of the cell to the network with higher bandwidth and lower size of the cell. An example when this handover occurs is when user moves from PAN area to the WPAN area.

3.3.4 Micro cellular handover:

This handover technique is used to meet the high system capacity in the populated areas and it is done by reusing the frequency.

Chapter-4:

Analysis through simulation results:

4.1 OPNET Simulated Environment:

There are many simulation tools available for having the network simulation. Some of the simulation tools that are used are OPNET, GloMoSim, NS2 i.e., Network Simulator 2 etc. Each one of those simulation tools has their own functions and features which are different from one another. Among all of those simulation tools OPNET is more preferable and is more convenient. Modelling and Simulation are the major features of the OPNET. This OPNET simulation modeler is used in many organizations and industries. As it is an object-oriented simulator it uses C and C++ languages. OPNET also uses several networking models for wired networks and for wireless networks. Performance of the network and the design of the network can be analyzed using OPNET. The performance results of each individual node can be given by the OPNET by mentioning the input parameters such as delay, traffic etc. By using those parameters, we can plot a graph for comparing the results with the output values that we get after simulation. A network can be designed for organizations such as offices, university etc. by using its network models along with their associated protocols.

We are using OPNET here for simulating the results of the parameters of the TCP over wired and wireless networks. The parameters that are considered are: congestion, delay, flow control, fast retransmit, Fast Recovery.

4.2 Advantages of OPNET:

The major advantage that we get through OPNET is we can have better GUI i.e., Graphical User Interface tools and the other advantage is OPNET provides object inspection feature. Object Inspection feature gives information about the properties of each and every component and also its simulation results.

It contains many network model libraries that are comprehensive and also its current simulation results that can be customized.

The implementation of the network modules and its associated protocols are provided by the OPNET in detail.

OPNET is a platform independent tool which means that it can be installed on any type of operating systems such windows, Linux, UNIX etc.

The source code can be edited by integrating the OPNET with the other programs.

If we need to create a network model in OPNET and perform simulation, then it generates the processing model and also the node model automatically along with the source code configuration.

Through object inspection feature we can find the data such as process flow and transmission flow. We can view the results at any point of time. We can get much better results by getting the results more times by specifying the time constraints.

4.3 OPNET modules:

OPNET contains two modules namely simple module and compound module. All the OPNET components come under simple module. Network compounds come under compound modules.

Simple modules are represented in the C or C++ code whereas Compound modules are represented in network description language. Compound modules are used for representing the network simulation model.

4.4 Designing network model in OPNET:

In order to design a network model, we have to make some assumptions as follows:

· Specifying WLAN throughput to 100Mbps

· Consider a server and several nodes in the network.

· By transferring data between different nodes we must compute the network traffic with a time period of 1sec.

· Assuming the values for delay, bit error, rate of flow control, rate of congestion control, persist timer, sliding window size.

· Obtaining simulation results for the WLAN and 3G.

4.5 Considering scenarios for simulation:

1. This is the basic scenario where data transmission is considered between a single node and the server. Here it is considered that the data is uploaded to the server from a single node. In this scenario congestion control rate, change in the window size, fast recovery rate, fast retransmit rate and bit error rate must be observed.

2. In this scenario data transmission from a server to the multiple nodes is considered. Here it is considered that the data is simultaneously downloaded from the server to multiple nodes. In this scenario congestion control rate, change in the window size, fast recovery rate, fast retransmit rate and bit error must be observed for each and every node that is involved in the data transmission. Then average values of those parameters of all those nodes must be calculated.

3. In this scenario data transmission from multiple nodes to a single server is considered. Here it is considered that the data is simultaneously uploaded to a single server from multiple nodes. In this scenario also, all the above-mentioned parameters must be observed and the average values of them must be calculated.

By performing OPNET simulations for all the above-mentioned scenarios in WLAN and 3G networks, we get the results of the parameters in those scenarios in WLAN and 3G networks. Now comparison of those values must be done with the values of those parameters in the wired networks. By doing so, we can evaluate the performance and reliability of the TCP in wireless environment when compared to the wired environment.

In wired networks we get low bit error rates and because of that reason TCP is best suitable for the wired networks. TCP assumes that due to network congestion all the errors are occurred but not due to the packet loss. So, for that reason whenever congestion occurs TCP retransmits the lost data by increasing the window size. But, in wireless networks high error rates majorly lead to the packet loss rather than congestion. So, adjusting the size of the window and retransmitting the data does not give better performance in wireless networks.

So, from the above results that we get through the OPNET simulation in various scenarios we can observe that the performance of the TCP is low in wireless networks than wired networks and that is observed because of the reasons mentioned previously.

So, in order to increase the performance of the TCP in the wireless networks it must be optimized. There are many approaches for the optimization of the TCP in wireless environment for the improvement of the performance and reliability. One of the approaches for the optimization is Snoop protocol.

4.6 Snoop protocol:

In order to improve the performance of TCP in the wireless networks that are unreliable there are many approaches proposed. Snoop protocol is one among them. End – end semantics of the TCP are preserved at the base station by modifying the network layer software. Snoop protocol’s main feature is that it caches all the packets that come along the base station and re transmits those packets locally cross wireless links.

There will be a snoop agent implemented for every wireless device in or base station in the network by the Snoop protocol. All the packets that pass through the base station or wireless device are monitored by that snoop agent. Snoop agent catches the packets in to a table. All the packets which are cached by the snoop agent must be forwarded to their destinations and all the acknowledgments of them are monitored by that snoop agent. For every acknowledgment in the TCP a sequence number is associated. Because of this sequence number sender can know that byte of a sequence number of the index is successfully delivered to its destination. A byte of a sequence number is lost if sender receives the acknowledgment for more than once and that indicates that the data that is sent since the last 2 bytes acknowledgments received are lost. If an acknowledgement has its sequence number smaller when compared to the acknowledgement of the last received one, then it is called as a duplicate acknowledgment.

Now let us consider a scenario where TCP sender sends packets with sequence numbers 1, 2, 3, 4, 5. Now if we assume that packet with the sequence number 2 is lost because of some error in the wireless network, then the acknowledgments that are received for packets with next sequence numbers 2, 3, 4, 5 are considered as duplicate acknowledgments. So, when the TCP sender receives these three duplicate acknowledgments it reduces the congestion window size by 1 and retransmits the packets with sequence numbers 2, 3, 4, 5.

Now in order to avoid retransmission of data from the TCP sender we implement snoop agent in the middle such that it caches all the packets acknowledgments. If it finds that three duplicate acknowledgments are received, then it retransmits those packets to their destination instead of TCP sender locally and does not forward those duplicate acknowledgments to the TCP sender. By doing this way there is no chance that the congestion window of the TCP sender is reduced because here TCP sender does not receive any duplicate acknowledgments as they are caches by the snoop agent. So, TCP sender does not know that there is any packet loss by using the snoop protocol.

There will be a retransmission timer started for every TCP connection by the snoop agent. If the snoop agent does not receive some acknowledgments before the retransmission timer expires, then snoop agent retransmits all those packets for which acknowledgments are not received. Unlike the TCP retransmission timer, the retransmission timer of the snoop agent contains a fixed value. This retransmission timer started by the snoop agent is also called as persist timer.

TCP packets can be intercepted, analyzed and can be retransmitted by the snoop protocol. So, because of that reason there is no chance of introducing any additional packet formats. All the packets that are sent and received confirms to the TCP.

Another important advantage of using snoop protocol is there is no need of changes to the layers of the TCP/IP stack. For wired networks, there will be no changes occurred in the layers of the TCP/IP. So, now by using snoop protocol for the wireless networks it acts similar as of the wired networks. So, the performance and reliability of the TCP is improved by the snoop protocol for the wireless networks.

We can say that the performance of the TCP can be improved by using snoop protocol without changing the values of the default parameters.

4.7 Implementation of Snoop protocol through OPNET simulation:

OPNET WLAN model must be designed in such a way that the packet losses and the bit errors must not be injected in to the WLAN network because if they are injected the performance of the TCP will be reduced. So for testing the snoop protocol an additional layer called PEG (Packet Error Generator) is implemented between the IP and the ARP layer which allows generating packet error base on a uniform distributed function. On the top of the PEG layer snoop agent must be added.

image1.emf

Figure 4.1: WLAN model in OPNET modeler

Some additional process models are located in such a way that there will be no modifications done to the upper and lower layers of the protocol. In order to send and receive packets from the snoop agent there is no need to change the upper and lower protocol layers, but ARP model must be modified for that purpose. ARP is an interface between the upper layers of the protocol and the network model.

Now three scenarios must be considered for the simulation and to obtain results. They are as follows:

4.7.1 Scenario 1:

In this scenario basic operation of the snoop protocol is tested. Here a server is considered along with a mobile connected through it in the WLAN network. For this scenario server is the receiver and mobile is considered as a host. Here mobile uploads the data packets to the server.

Here send data drop rate and the receiver data drop rate will be identical. The simulation in this scenario leads to the loss of the TCP data and also the loss of the TCP acknowledgments. We get the packet error rate through the send data drop rate and the receive data drop rate. In this scenario the persist time out i.e., the retransmission timer of the snoop agent is set to the RTO value i.e., Initial Retransmission Timeout of the TCP.

image2.emf

Figure 4.2: Scenario 1: Network Model

The simulation results that we get from the above scenario says that the performance of the TCP with the snoop protocol increase as per the increase of the Packet error rate. For the 30% packet loss rate the TCP with snoop protocol improves the performance by nearly 68 times. This improvement is seen in these simulation results mainly because of the caching of the packets and retransmitting them without the involvement of TCP sender and also because of persist timeout through which re transmission is performed effectively. As TCP does not involve the retransmission congestion window size is not reduced because of which the performance of TCP is not degraded.

4.7.2 Scenario 2:

In this scenario we take two mobiles and a server in order to check whether snoop protocol performs well for the multiple connections. Here this scenario is meant to know whether snoop protocol can handle multiple data transmission simultaneously with good efficiency and performance. The below figure shows the network model designed in the OPNET modeler for this scenario.

image3.emf

Figure 4.3: Scenario 2: Network Model

From the results that we get from the simulation for this scenario, we can say that the performance of the data transmission of both the mobiles is improved. The performance of these file transfers is improved because of the same reasons mentioned for the improvement of performance in scenario 1. So, here also caching of the packets and retransmitting them is done by the snoop agent because of which congestion control mechanism of TCP sender is not initiated. So, the performance is increased.

As we have observed that there is improvement in the performance of both the mobiles file transmissions even though they are operated simultaneously, we can say that snoop protocol works better even for the multiple file transfers simultaneously. The average transfer rate in this scenario will be higher when compared to the transfer rate in the scenario1 because in scenario 2 both the mobiles were competing for the usage of resources of the radio link.

4.7.3 Scenario 3:

Even in this scenario we take two mobiles and a server. But here we need to have one mobile using snoop protocol and the other one not using the snoop protocol. Through this scenario we can verify whether snoop protocol works well even if it is existed along with the mobile which disables snoop protocol.

The below figure shows the network model designed in the OPNET modeler for this scenario.

image4.emf

Figure 4.4: Scenario 3: Network Model

From the results that we get through the simulation of the network in this scenario we can say that the mobile which is enabled with the snoop protocol gives better performance when compared to the mobile which is disabled with the snoop protocol. Here the transfer rate of the mobile not enabled with snoop protocol is larger when compared to the transfer rate of the mobile enabled with the snoop protocol. For the mobile with snoop protocol the retransmission of packets is done more often when compared to the mobile without snoop protocol because of which bandwidth will be higher for the mobile enabled with snoop protocol than the other. So from this scenario we can directly observe the performance improvement when snoop protocol is used over the situation where snoop protocol is not used.

So, finally by analyzing the above three scenarios we can come to a conclusion that the snoop protocol is a better optimization that is possible for the TCP in order to improve its performance in the wireless networks such as WLAN and 3G.

Chapter-5:

Testing:

Testing process is essential to give assurance about any project and even more important for software-oriented projects. In computer science point of view, testing is the process that extract out the bugs during the development process. But as concern in networking side, testing can be assessing to estimate the risk, quality of the service and others. In order to protect the development strategy from the implementation and design defects, testing is the alternative perspective.

As this project work is considered based on network and data security, it must be very important to consider the testing where to measure the loopholes in development environment.

In testing we also check if “the software is built right” and if “the right software is built”; it is also called as verification and validation. This is the familiar quote in computer science which describes the consistency in requirements with respects to project output and vice versa. Testing process always focused towards the functional aspects which state the performance evaluation with respect to various conditions. Functional and non-functional testing are the two strategies used for this project where to assure the project success.

· As per this project development area, it focused mainly towards the network security and data security. For that it required to consider the security at operation level which is also called as functional level. Example, in order to perform Steganography process, this project is used button type operations to choose the image or audio file or text file and test formats are represented with labels. Each operation needs to assess with proper test cases. These functional testing is performed with unit testing, integration and system testing.

· When the project performance needs to assess without side world, it required to assure performance analysis under various conditions. Block box and white box testing are used to assess the both functional and non-functional requirements. Load testing is also one type performance testing. For this project point of view, it used bulk amount of data to be converted into stego process and small amount data is also considered. But performance is needed to check with stego image quality like how much of image fluctuations are happened with different sizes of files. So, security concern, it must be very important for this project.

5.1 TEST CASE:

TITLE: code execution check

Test Case 1: OPNET setup configuration check

Test level(H/L): high

Test Objective: to check whether OPNET simulator working properly or not.

Test Description: “OPNET simulation process need to start with run command mode by invoking OPNET simulator window”

Requirements to be Verified: Yes

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Double click OPNET Modular

“Compilation process will navigate OPNET simulator or modular window”.

Visual studio error occurred

“run time error”

“Invalid path settings”,

Result accuracy: perfect

Problems: Nil

Result: successfully executed

TEST CASE TITLE: testing for components

Test Case 2: testing for components

Test value(H/L): high

Test Objective: to check the functionality of individual components.

Test Description: “components need to check with functional events” operations are performed with appropriate logic.

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Perform operations on buttons and text box labels and radio buttons

“logic executed successfully”

“runtime error”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Test Case 3: functional check for encryption

Test value(H/L): high

Test Objective: for functional check of cryptography issues

Test Description: “user need to enable on cryptographic radio button by click” which navigates to passphrase option to enter the key.

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Enable radio button

“passphrase field is asking for value”

“invalid operation”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Test Case 4: stego operation

Test value(H/L): high

Test Objective: to check stego process according to module designed

Test Description: “radio button needs to enable for stego module which navigates the page into Stegnography operations”

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Enable stego radio button

“stego process gets successful execution”

“results are checked with stego process”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Test Case 5: LSB module

Test value(H/L): high

Test Objective: For checking LSB operations

Test Description: “radio button must enable for LSB mode which can be allow to do stego process”

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Enable LSB module

“enables only gif file formats to process stego module”

“error, if it is jpeg image format”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Test Case 6: append mode operation

Test value(H/L): high

Test Objective: to check append mode operation

Test Description: “enable append mode of Stegnography which navigates stego process”

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

enable append mode

“enables jpeg and gif file formats to process stego module”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Test Case 7: checking for unstego process

Test value(H/L): high

Test Objective: For operational check of unstego process.

Test Description: “unstego button must enable to navigate the project functionality to perform unstego process ” select a stego file which is converted in stego module

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Enable unstego button

“navigate the page to perform unstego process”

“unstego process is successful”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Test Case 8: results comparison

Test value(H/L): high

Test Objective: to check the consistency in stego and unstego process

Test Description: “project can enable to check with stego image to original image and original message at unstego process”

Requirements Verified: Yes.

Test Environment: simulation process must be under the control of OPNET modulator14.5 and path must be validated as per the configuration directory settings. OPNET documentation process needs to keep in active mode.

Test Setup/Pre-Conditions: Microsoft visual studio must be installed to run OPNET simulation where it generates C++ code. As this project uses OPNET 14.5, it must be support on visual studio or .net frame work 2005 edition.

Actions

Expected Results

Stego and unstego process results

“everything is same as original”

Result accuracy: perfect

Problems: Nil

Result: successfully executed

Chapter -6

Results and Discussion

6.1 Critical evaluation:

For this project we have applied snoop protocol for the optimization of the TCP in wireless networks. We have considered three scenarios’ in order to evaluate the performance of TCP using snoop protocol and also without using snoop protocol. Among them first scenario is considered for verifying the improvement of the performance of the network during the implementation of the snoop protocol. The second scenario is for verifying whether the snoop protocol is suitable even if multiple connections are there in the TCP. The third scenario is considered for verifying whether the snoop protocol is suitable if there are nodes that implements snoop protocol and those which doesn’t implement snoop protocol are present under same TCP.

6.1.1 Scenario 1:

Here a server and a mobile are considered in the network where 100,000 bytes of FTP upload is done from the mobile to the server. By simulating this scenario’s environment in the OPNET we get the simulation results by observing the send_data_drop_rate and the recv_data_drop_rate. Through those two observed values packet error rates i.e., PER is calculated. Here mobile acts as host and sends data to server which acts as receiver. By this scenario we can simulate the case where the data and the acknowledgements of the TCP could be lost. The Retransmission Time Out i.e. RTO of the snoop protocol must be set to the value of the initial retransmission timeout of the TCP.

Results:

The below diagram shows the upload response time for the file transfer from mobile to the server which is of 100,000 bytes. The time taken from the first SYN packet that is sent from mobile to the server to the last acknowledgment that is received for the last FIN is considered as the response time for the upload taken place. From the below simulation results we can observe that as the packet error rate i.e., PER increases the performance of the snoop protocol also increases. We can observe that the performance of the TCP is improved for nearly 68 times by the snoop protocol at the 30% of the packet error rate. Caching of the packet and the local retransmission timeout are the two main reasons because of which that improvement was observed.

image14.pngThis suggests that the Mobile 1 (Snoop enabled) takes a larger portion of the available bandwidth (i.e., it retransmits more often) and, hence, reduces the bandwidth that can be allocated to Mobile 2

· Caching Packets:

The snoop agent that exists between the sender and receiver caches all the packets and retransmits them. It retransmits whenever it detects any loss of the packets because of the duplicate acknowledgments that are received. The retransmission is done by the snoop agent on behalf of the TCP. The below figure shows the number of packets that are cached by the snoop agent when the file is being uploaded. As the packets that are sent to the server without receiving any acknowledgment increases the number of cached packets also increases. From the simulation results we can observe that as the snoop agent receives the acknowledgment of the retransmitted packets the number of packets in the cache are decreased.

image15.pngSo, when the connection ends the number of packets in the cache becomes zero because of which we can say that all the packets are successfully received at the receiver end.

At the 20% packet error rate of the file upload the size of the congestion window is shown in the following diagram. When TCP detects that some packets are lost during the transmission then it shrinks its congestion window size as it assumes that the packet loss is only due to the congestion of the network which is not true in the case of wireless networks. That is correct only in the wired networks. In wireless networks packet loss may occur due to several reasons such as bit errors, Doppler Effect, background noise etc. When snoop protocol is used TCP doesn’t even know that a packet loss is occurred in the transmission because snoop agent caches such packets and retransmits then without noticing it to the TCP and because of that reason TCP does not shrink its congestion window size. This is the main reason because of which snoop protocol increases the performance of the TCP in wireless networks. In the below result we can clearly observe the difference in the congestion window size when we use snoop protocol and when we do not use snoop protocol.

image16.png

The below diagram shows the sequence number that is recorded during the transfer of the file. We can observe that 100,001 is the last sequence number. 0 is the starting of the sequence number and later it is incremented for each and every byte of the data that is sent in the network. From the below result we can observe that TCP layer retransmits the same sequence number for multiple times if snoop protocol is not implemented. So, if snoop protocol is used, then retransmitting the data of same sequence number several times can be avoided as shown in the figure.

image17.png Local Retransmission Timeout:

In order to handle the network congestion in the TCP this retransmission timeout mechanism is used. Based on the level of the congestion that is caused because of the packet loss the TCP timeout values would be changed. Even in this case it is wrongly assumed that congestion is caused only due to the packet loss for wireless networks. So, if use snoop protocol a local retransmission timeout called persist retransmission timeout is used. Snoop protocol increases the performance through this persist retransmission timeout in the wireless networks. Here Snoop protocol sets that timeout period as 1sec and it is changed in the wireless networks based on some algorithms such as Karn’s algorithm. Snoop protocol allows this persist retransmission timeout to be updated separately from the TCP timeout. So, because of snoop agent caching all the packets, it prevents the change of the retransmission timeout value of the TCP due to the packet loss and as a result we can image18.pngobserve the improvement in the performance of the TCP in the wireless networks. In the below simulation result we can observe the improved performance of data transmission using snoop protocol over the one that is not using the snoop protocol.

6.1.2 Scenario 2:

In order to verify whether snoop protocol can handle even if there are multiple connections that are to be handled, this scenario is considered. Here server is enabled with the snoop protocol. OPNET is configured in such a way that each mobile node downloads 100,000 byte file from the server that is enabled with the snoop protocol.

Results:

The below figure shows the average download response time for the two mobiles in the wireless network. Here also the performance of the 1000,000 byte file transfer is improved because of the snoop protocol similar to the previous scenario. By observing the simulation results we can definitely say that snoop protocol can handle the multiple connections in the wireless networks efficiently. In the following diagram we can observe that if snoop protocol is not enabled then the average download response time is rapidly increased because of the packet error rates at 15%-20 %. But if snoop protocol is enabled we can see very less average download response time even if there are huge packet losses.

When compared to the previous scenario the average download response time of two mobiles in this scenario is larger when compared to the upload time of the previous scenario and that is because in this image19.pngscenario the two mobiles are competing each other for the link.

6.1.3 Scenario 3:

In order to verify whether snoop protocol performs well even if there are mobile nodes using snoop protocol and mobile nodes not using snoop protocol under same network in this scenario. Here mobile 1 is disabled with the snoop protocol and mobile 2 is enabled with the snoop protocol. OPNET is configured in such a way that both the mobiles can upload 100,000 byte file to the server.

Results:

In the below diagram we can see the upload response time for both the mobiles i.e., that is enabled with the snoop protocol and that is not enabled with the snoop protocol. From the results below we can observe that the mobile that is enabled with the snoop protocol is far better when compared to the mobile that is disabled with the snoop protocol. We can even observe that the time taken for the uploading of the 100,000 byte file from mobile disabled with snoop protocol in this scenario is larger when compared to the download time of the mobile node that is disabled with snoop protocol in the scenario 2. The reason for that is in this scenario mobile enabled with the snoop protocol occupies larger bandwidth because of which retransmission id done more often here and because of that very low image20.pngbandwidth is allocated for the other mobile that is disabled with the snoop protocol.

6.2 DSR simulations: sample DSR scenario with 50 nodes

image5.emf

In the above simulation 50 nodes are used for calculating the results.

6.2.1 End to end delay in DSR

the below graph shows delay between the one node to another node.

image6.emf

6.2.2 Load vs Medium Access Delay in DSR

This graph shows the delay between the load on the node and access to the medium.

image7.emf

6.2.3 Throughput with load in DSR

This is the actual graph it shows the throughput generated by the algorithm.

image8.emf

6.2.4 TORA Results

These following graphs are showing our actual algorithm results in TORA[4].

Load with throughput in TORA

Throughput of the nodes in TORA.

image9.emf

6.2.5 End to end delay with Medium Access delay in TORA.

This graph shows the delay between the load on the node and access to the medium(actual and TORA)

image10.emf

6.2.6 AODV Results

These below graphs show results in case of AODV[6] routing algorithm when we run in TORA[9].

End-to-End delay with Medium Access delay in AODV

This graph shows the delay between the load on the node and access to the medium actual and TORA

image11.emf

6.2.7 Load with throughput in AODV

image12.emf

Chapter-7:

Conclusion and Future Enhancement

So, by observing the all the above simulation results of all the three scenario’s we can say that snoop protocol improves the performance of the TCP in wireless environments such as WLAN and 3G and even it can perform well if there are multiple connections that are to be handled and also if there are normal and advanced mobile nodes it would perform well. So, we can say that snoop protocol can be better optimization that is possible for the TCP. Through the simulation results we can say that snoop protocol increases the performance of the TCP without modifying the layers of the TCP protocol stack.

The future enhancement that can be made for this project is we can include a mechanism that calculates the retransmission timer value that can further increase the performance. In this project we have considered a fixed value for the retransmission timeout of snoop agent. But if we implement a mechanism to calculate that value based on some estimated round-trip time then it would be considered as the further enhancement for this project.

References:

1) [ Charles M. Kozierok , 2005 ] The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference.

2) [ Jing Feng , 2008 ] Analytical and Experimental Studies of TCP Variants.

3) [ Shao Liu , 2007 ] Congestion Control Protocols for the Evolving Internet.

4) [ Georgios I. Papadimitriou Andreas S. Pomportsis P. Nicopolitidis Mohammed S. Obaidat , 11-Apr-2003 ] Wireless Networks.

5) [ Adarshpal S. Sethi Vasil Y. Hnatyshin , 24-Aug-2012 ] The Opnet User Guide for Practical Computer Network Simulation.

6) file:///G:/sss/tcp%20simulation%20and%20optimization/Table%204.1%20%20Difference%20between%20Vertical%20Horizontal%20Handover%20for%2037394540-Thesis.htm [ accessed on 14th December 2012 ]

7) file:///G:/sss/tcp%20simulation%20and%20optimization/TCP%20Tahoe,%20Reno,%20NewReno,%20and%20SACK%E2%80%93a%20Brief%20Comparison%20%20%20roman10.htm [ accessed on 14th December 2012 ]

8) [ Vijay Kumar Garg , 13-Jun-2007 ] Wireless Communications and Networking: An Introduction.

9) [ Stojmenovic , 01-Jun-2006 ] Handbook of Wireless Networks & Mobile Computing.

10) [ Dharma Prakash Agrawal Qing-An Zeng , 10-Jun-2010 ] Introduction to Wireless and Mobile Systems.

image13.png

13