An Internship Project Report On Specification, Implementation and Evaluation of LTP-T On WSN
An Internship Project Report On Specification, Implementation and Evaluation of LTP-T On WSN
An Internship Project Report On Specification, Implementation and Evaluation of LTP-T On WSN
Energy is the scarcest resource of WSN nodes. It determines the lifetime of WSNs. WSNs are meant to
be deployed in large numbers in various environments, including remote and hostile regions, with ad-
hoc communications as key. For this reason, algorithms and protocols need to address the following
issues:
• Lifetime maximization
• Robustness and fault tolerance
• Self-configuration
Some of the "current" topics in WSN software research are:
• Security
• Mobility (when sensor nodes or base stations are moving)
• Middleware: the design of middle-level primitives between the software and the hardware
Since in WSNs the scarcest resource is energy, and one of the most energy-expensive operations are
data transmission and idle listening. For this reason, in this project we have tried to use a protocol
called LTP-T in WSN. The main reason for selecting this protocol is based on the fact that energy can
be saved by reducing the amount of data being transmitted/retransmitted. This protocol uses the
techniques like partial reliability (Not treating all data as equally important, so imposing no
retransmission for data which is not important ), concept of 'cues' (the communicating peers know the
link status, through 'cues' and thus know when they can transmit data to each other) and SDNV
encoding (the main advantage of this coding scheme is its ability to reconcile minimum consumption of
bandwidth) which can save lot of energy.
Another characteristic to take into account for the use to LTP-T in WSN is due to the constrained radio
transmission range and the polynomial growth in the energy-cost of radio transmission with respect to
the transmission distance, it is very unlikely that every node will reach the base station, so data
transmission is usually multi-hop (from node to node, towards the base stations) and since LTP-T is a
multi-hop protocol, this can further help in reducing radio energy.
Last but not the least advantage of using LTP-T over WSN is that there is no negotiation before the
actual data is transferred between the peers, unlike in TCP where three way handshaking takes place,
thus this can further reduce the number of transmission and eventually the energy.
Operating systems for wireless sensor network nodes are typically less complex than general-purpose
operating systems both because of the special requirements of sensor network applications and because
of the resource constraints in sensor network hardware platforms. For example, sensor network
applications are usually not interactive in the same way as applications for PCs. Because of this, the
operating system does not need to include support for user interfaces. Furthermore, the resource
constraints in terms of memory and memory mapping hardware support make mechanisms such as
virtual memory either unnecessary or impossible to implement.
In this project we are considering a protocol called LTP-T. (a generic multi-hop delay tolerant transport
protocol constructed as an extension of the Licklider Transmission Protocol (LTP), a delay tolerant
point-to-point single-hop protocol currently under development which is primarily aimed at deep space
applications).The first and fore most objective of this project was to specify precisely this (LTP-T)
protocol since there is yet not any RFC for this protocol to give its precise specification. The second
objective was to search for the possibility of porting this protocol into WSN (contiki) and to verify this
feasibility. The third objective was to implement this protocol (LTP-T) in C language in Contiki. And
finally the last objective was to compare the performance of the protocol (LTP-T) with respect to that
of TCP, in Contiki.
This report is organized into various sections. Section 1 clearly defines the objective of this project and
the working place. Section 2, Gives the details of the progress of the internship. Section 3 gives the
details of the bibliographical study and thus tell what is Contiki and introduces the DTN (Delay tolerant
network) and its protocols mainly LTP and LTP-T, specially focusing on LTP-T. This section also
presents a tabular comparison between LTP-T and TCP. Section 4 gives a detailed specification of LTP-
T and its design structure and issues, both realized and implemented as well as those been specified but
not implemented. Section 5 discusses the details of the implementation of LTP-T over Contiki and
scenario for the implementation. Section 6 presents the results. Section 7 gives the conclusion of the
project. This section also describes possibility of the future work with respect to the implementation of
the LTP-T in Contiki. Finally there is the list of references, terminology used, abbreviations and an
annex
3.1 Conkiti
Contiki is an open source, highly portable, multi-tasking operating system for memory-efficient
networked embedded systems and wireless sensor networks. Contiki is designed for micro-controllers
with small amounts of memory. A typical Contiki configuration is 2 kilobytes of RAM and 40 kilobytes
of ROM. Contiki provides IP communication, both for IPv4 and Ipv6. Contiki is written in the C
language and consists of an event-driven kernel, on top of which application programs can be
dynamically loaded and unloaded at run time. Its processes use lightweight protothreads that provide a
linear, threadlike programming style on top of the event- driven kernel. In addition to protothreads, it
also supports per-process optional multithreading and interprocess communication using message
passing. Contiki provides three types of memory management: regular malloc, memory block
allocation, and a managed memory allocator.
The first question which arises is why do we have DTNs or in other words we could ask what is the
need to have DTNs ?
By this time we are aware of the need to have DTNs and what are they. Now its the time to answer one
more interesting question, i.e.
Now its the time to put some light on what sort of DTN application we can have, we can also put this
question as what are the various scope of DTNs ?
Our main focus in this project is on the second protocol called LTP and more precisely on its
extension called LTP-T ( Licklider transmission protocol -Transport ).
Additional delay can be introduced by discontinuous network support or due to queuing and scheduling
delays, imposed because to management of earth based resources. Such types of communication also
requires expensive special equipments like large antennas, high-performance receivers etc.
It better to start the discussion about LTP-T, without much going deep into LTP. LTP-T is an
extension to LTP, so the many features of LTP-T will already come from LTP.
3.3 LTP-T
LTP-T is a general delay tolerant transport protocol proposed as an extension to LTP to render end-to-
end transport services now since LTP-T is an extension to LTP so it will have the inheriting features of
LTP with some new features and functionalities to better serve as a transport protocol.
we can see the similarities between these two protocols and their difference, to compare them.
Similarities between LTP and LTP-T:
1. Both the protocols are stateful,that is they retain all the portion of a block for retransmission,
that might not be received yet.
2. There is no negotiation before the actual data transfer starts, such as for adjustment of
transmission rate.
3. Both of them provide partial reliability by marking the segment sent as red and green.
4. Both uses the concept of 'cues' for knowing the link status.
Let us now compare TCP in Contiki with LTP-T, the following table gives a quick and easy
We noticed that the main difference between the two protocols is in terms of reliability. On one hand
where TCP is providing full end-to-end reliability,LTP-T is providing partial reliability. Let us now
understand in deep the concept of partial reliability and discuss the different possible combinations of
segments which can be send.
With the term partial reliability we mean that not all data (to be send) is acknowledged and
retransmitted. If a data sender A wishes to send some data (e.g. 100 bytes) to a receiver B then before
sending this data, the sender A will mark it as red (first 70 bytes) or green (next 30 bytes), the red part
of the data needs to be reliably transferred and so the receive has to send an acknowledgment for this
part, if the sender has not received an acknowledgment with in a given time limit (RTO), the sender
will resend this data. while for the green part the sender will always assume data it has been received
correctly by the received (even if it is not).
Let us see the behavior of LTP-T in the single hop scenarios in context to the different types (color) of
blocks (segments) received. The following table will make this clear: