iii
ABSTRACT Wireless sensor networks provide a powerful means to collect information on a wide variety of natural phenomena. WSNs typically consist of a cluster of densely deployed nodes communicating with a sink node. During this communication data from sensor nodes to sink may suffer from channel contention, interference, packet loss, energy conservation. To overcome these in WSNs there is a need for a better transport layer protocol. To deliver the data reliably in WSNs, Reliable Multi-Segment Transport is used. Directed diffusion is a communication paradigm intended for sensor network applications. The directed diffusion protocol family has three different diffusion algorithms. They are One-Phase Pull diffusion, Two-Phase Pull diffusion and Push diffusion. The project deals with reliable data transport in sensor network using RMST. It is a reliable transport layer protocol for WSNs and it is meant to operate on top of the gradient mechanism used in directed diffusion. RMST uses One-Phase Pull diffusion algorithm to forward a large blob. RMST adds two important features to directed diffusion. They are fragmentation/reassembly of segments, and reliable message delivery. RMST includes caching mode and non-caching mode which provides hopby-hop recovery and end-to-end recovery. RMST maintains a ‘hole map’, which has the list of lost fragments. Whenever there is a fragment loss, it is notified with the help of the negative acknowledgement. The advantage of the RMST is to reduce the number of negative acknowledgement by selectively sending a negative acknowledgement to the entire set of lost fragments. Due to single NACK the energy usage is reduced. Since One-Phase Pull diffusion algorithm is used, the flooding of control messages in the sensor network is reduced. Evaluation is performed for hop-by-hop (cached) recovery and end-to-end (noncached) recovery.
iv
ACKNOWLEDGEMENT I owe a great deal to my “Beloved Parents” who were the confidential backbone for this project. I have a great pleasure in expressing a gratitude and hearty thanks to our Principal Dr.S.Balakrishnan, B.E., M.S., Ph.D., for his unstained support and encouragement towards the completion of this project work. I express my gratefulness to our Head of the Department Dr.K.Muneeswaran, M.E., Ph.D., for his timely help and encouragement for completion of this project. I convey my sincere regards to Dr. Kannan Balasubramanian, M.Tech., Ph.D., who inspired me to embark this project. I would extend my sincere thanks and express my deep sense of gratitude to my guide Ms.P.Golda Jeyasheeli M.E., (Ph.D), Asst.Professor, Computer Science Department for her constant support, guidance and continuous encouragement. I sincerely thank all the teaching and non-teaching staff for their kind cooperation during the period of this project. I would also like to thank my friends for their encouragement and suggestions. Finally, I thank “THE ALMIGHTY” for showering His blessings to release my project in the way I visualized.
v
TABLE OF CONTENT Chapter
Topic
Page No.
No.
1.
2.
Abstract List of Tables List of Figures List of Abbreviations INTRODUCTION
iii viii ix xi 1
1.1 Motivation
1
1.2 Objective
2
1.3 Overview of the project
2
1.4 Report overview LITERATURE SURVEY
3 4
2.1 Data Dissemination
4
2.1.1 Flooding
5
2.1.2 Gossiping
6
2.1.3 Rumor Routing
6
2.1.4 Sequential Assignment Routing
7
2.1.5 Directed Diffusion
7
2.2 Transport Protocols For Sensor Networks 2.2.1 Tcp/Ip 2.2.1.1 Loss Detection/Recovery
8 8 9
2.2.2 Pump Slowly, Fetch Quickly (PSFQ)
9
2.2.2.1 Loss Detection/Recovery
10
2.2.3 Reliable Multi-Segment Transport
11
(RMST) 2.2.3.1 Loss Detection/Recovery 3.
Mechanisms DIRECTED DIFFUSION
11 12
3.1 Interests And Gradients
14
3.2 Data Propagation
15
3.3 Reinforcement For Path Establishment
16
vi
And Pruning 3.3.1 Path Establishment Using Positive
16
Reinforcement 3.3.2 Local Repair of Failed Paths
17
3.3.3 Path Pruning and Negative
18
Reinforcement
4.
3.4 Directed Diffusion Protocol Family
20
3.4.1 Two-Phase Pull Diffusion
20
3.4.2 Push Diffusion
25
3.4.3 One-Phase Pull Diffusion RELIABLE MULTISEGMENT TRANSPORT
28 30
PROTOCOL 4.1 RMST Architecture
30
4.1.1 Overview of RMST
31
4.1.2 Basic Services of RMST
32
4.1.3 Non-Caching Mode and Caching
32
Mode 4.1.4 RMST Support for Loss Detection and
33
Repair
5.
6.
4.1.5 The Back-Channel
34
4.1.6 Node Failure
34
4.1.7 Support for Caching
34
IMPLEMENTATION
36
5.1 Overview
36
5.2 One-Phase Pull Diffusion
36
5.3 Reliable Multisegment Transport Protocol
37
5.4 Evaluation Of RMST CODING AND SIMULATION RESULTS
38 39
6.1 Classes And Functions
39
6.1.1 RMST Filter
39
6.1.2 RMST Source
41
vii
7.
6.1.3 RMST Sink
41
6.1.4 One phase pull Diffusion
42
6.2 Emstar Scripts
45
6.3 Simulation Results
45
6.3.1 Interest Dissemination
45
6.3.2 Gradient Establishment
46
6.3.3 Sensor nodes position
47
6.3.4 Data Transmission
48
6.3.5 Data Received
49
6.3.6 Transmission without Holes
50
6.3.7 Transmission with Holes
51
6.3.8 Request for Lost Fragments
52
6.3.1 Evaluation Of RMST
53
CONCLUSION AND FUTURE WORK
54
7.1 Conclusion
54
7.2 Future Work APPENDIX REFERENCES
54 55 56
LIST OF TABLES S.No.
Table Caption
Table No.
Page No.
1.
RMST Filter
6.1.1
39
2.
RMST source
6.1.2
41
viii
3.
RMST sink
6.1.3
42
4.
One phase pull diffusion
6.1.4
42
LIST OF FIGURES S.No.
Figure Caption
Figure No.
Page No.
1.
Interest propagation
3.1
13
2.
Initial gradients set up
3.2
13
ix
3.
Data delivery along reinforced path
3.3
14
4.
Gradients after the sink reinforces the
5.
empirically lowest delay path. Gradients after local repair caused by
3.4
17
6.
connection quality degradation. Gradients after several rounds of
3.5
18
7.
reinforcement, multiple paths. Sink sends interest message in to network
3.6
19
3.7
22
8.
Source receiving interest message
3.8
23
9.
Source sends exploratory data
3.9
23
10.
Sink receiving exploratory data
3.10
24
11.
Sink sending reinforcement message
3.11
24
12.
Source sending data to sink
3.12
25
13.
Source sends exploratory data
3.13
26
14.
Sink receiving exploratory data
3.14
26
15.
Sink sending reinforcement message
3.15
27
16.
Source sending data to sink
3.16
27
17.
Source receiving interest message sent by
3.17
28
18.
sink Source sending data to sink
3.18
29
19.
RMST in conjunction with diffusion node
4.1
30
20.
Interest messages disseminate through the
6.1
45
21.
network Gradient establishments between the sensor
6.2
46
22.
nodes Positions of the node in the sensor field
47
23. 24.
Source sending the data fragments Sink received the data sent by source
6.3 6.4 6.5
25.
Holes not found when perfect model used
6.6
50
26.
Holes found when noise introduced.
6.7
51
27.
Single NACK sent for the lost fragments
6.8
52
28.
Evaluation of RMST in caching mode
6.9
53
29.
Evaluation of RMST in non-caching mode
6.10
53
48 49
x
LIST OF ABBREVATIONS WSNs
Wireless sensor networks
RMST
Reliable Multi-Segment Transport
NACK
Negative Acknowledgement
Qos TCP/IP
Quality of service Transport Control Protocol/Internet Protocol
xi
PSFQ
Pump Slowly Fetch Quickly
JPEG
Joint Photographic Experts Group
MTU
Maximum Transmission Unit
MAC
Medium Access Control