[net2-wg] draft TEP 124
Omprakash Gnawali
gnawali at usc.edu
Tue Feb 6 07:46:47 PST 2007
I committed a draft TEP 124. I am including the text in this
email. The section numbers are, well, out of sequence. I will fix that
in the next round of edit.
I see at least two more things to do:
- Decide on the name of the protocol. Another set of possibilities are
words like "Exchange" as a verb or noun. Could people send their
choice among all the names that we have discussed so far?
- Should we talk about link id instead of node id in the Link
Information Entry? If so, we might need to clarify this in quite a few
places.
Also note that the link metric (EETX) is irrelevant to the link
information exchange protocol contrary to what I wrote in last week's
blurb. The current implementation uses the delivery ratio and it might
be ok to continue using that.
Thanks.
- om_p
Abstract
============================================================================
The memo documents the Link Quality Exchange Protocol (LQEP). Nodes
use LQEP to exchange information about the quality of links to the
neighbors.
1. Introduction
============================================================================
Routing protocols often require bi-directional link qualities to
compute the routes. Nodes can estimate the quality of the in-bound
link from a neighbor by estimating the ratio of successfully received
messages and the total transmitted messages. These in-bound link
qualities are exchanged among the neighbors using LQEP to determine
the out-bound link qualities. Bi-directional link quality is computed
using thus learned in-bound and out-bound link qualities.
2. Definitions
============================================================================
2.1 Link Quality
--------------------------------------------------------------------
Quality of the link between any two nodes describes the probability
with which data link layer packets can be received without any
error. The link between the nodes A and B may have different quality
in A to B and B to A directions.
2.2 In-bound Link Quality
--------------------------------------------------------------------
In a node pair (A,B), with B as the node of reference, in-bound link
quality is defined as a value ranging from 0 to 255 that describes the
quality of the link from A to B estimated by B by counting the
successfully received packets from A among all the transmitted packets
or using link quality indicators (LQI,RSSI) provided by the radio on
the node B, or some other methods.
2.3 Out-bound Link Quality
--------------------------------------------------------------------
In a node pair (A,B), with B as the node of reference, out-bound link
quality is defined as the quality of the link from B to A. B can
determine the out-bound link quality if A advertises its in-bound link
qualities. LQEP is the protocol that is used to exchange the in-bound
link qualities.
2.4 Link Information Entry
--------------------------------------------------------------------
Link Information Entry is a tuple (n,q) where q is the in-bound link
quality from the node n.
2. Link Quality Exchange Protocol (LQEP)
============================================================================
2.1 Assumptions
--------------------------------------------------------------------
Following are the assumptions made by LQEP:
2.1.1. The data link frame has a single-hop source field.
2.1.2. The data link layer provides a broadcast address.
2.1.3. The data link layer provides the length of the LQEP frame.
2.2 The Protocol
--------------------------------------------------------------------
To compute the bi-directional link quality, in-bound link quality must
be exchanged among the neighbors. LQEP maintains a sequence number
that is incremented by one for each outgoing LQEP frame. LQEP frame
transmits this sequence number and Link Information entries describing
the in-bound link qualities for a subset of its neighbors. When a node
receives the LQEP frame and finds its node id in one of the Link
Information entries, the node MUST use the second element of that
tuple as its out-bound link quality to the neighbor identified by the
data link source address. The LQEP sequence number SHOULD be used to
estimate the in-bound link quality.
2.3 LQEP Frame
--------------------------------------------------------------------
A LQEP frame has a header, the payload, and a footer with the Link
Information (LI) entries as shown in this diagram:
-------------------------------------------------------------
| LQEP | Payload | LI Entry | LI Entry | ... | LI Entry |
| Header | | 1 | 2 | | n |
-------------------------------------------------------------
2.3.1 LQEP header
The following diagram shows the LQEP header format:
1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|nentry | rsrvd | seqno |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Field definitions:
nentry - Number of Link Information entries in the footer
seqno - LQEP sequence number.
rsrvd - Reserved
2.3.2 Link Information Entry
The following diagram shows the Link Information Entry format:
1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| node id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| link quality |
+-+-+-+-+-+-+-+-+
Field definitions:
node id: the link layer address of the neighbor
link quality: The in-bound link quality from the node identified by node id
7. Implementation
============================================================================
The following files in ``tinyos-2.x/tos/lib/net/le`` provide a reference
implementation of LQEP described in this TEP.
* ``LinkEstimator.h`` and ``LinkEstimatorP``
The reference implementation uses the LQEP sequence number to estimate
the in-bound link quality. The implementation tries to append Link
Information entry for all the neighbors in its neighbor table by
sending the largest possible data link frame. If there is still not
enough room to fit all the Link Information entries, it uses a
round-robin policy to select the entries to be exchanged that could
not fit in the previous LQEP frame.
More information about the net2-wg
mailing list