(A link emulator based on RLP standard in Linux is also
available.)
This implementation of RLP is in conformance with TIA and 3GPP2
specifications.
For description of RLP, please refer to them. Currently it works only with ns2
version 2.26 and 2.27 only.
For installation, please refer to INSTALL file for installation
directions.
This implementation of RLP has following features:
1. Segmentation of IP packets into frames of size corresponding to
current raw
rate on the RLP sender side.
2. Reassembly of RLP frames to get the original IP packet once all the
constituent frames are recieved.
3. Extensive Implementation of Error Recovery using NAKs. Whenever a
frame is in
error, NAKs are sent to retrieve it. Several NAK rounds
are used in doing so.
e.g. a NAK setting of {1,2,3} means 1 , 2 and 3 NAKs
to be sent after
expiry of every NAK round. NAK_List maintains a list of
all frames which are
detected to be in error an for whom recivery using NAKs is
going on.
This implementation of RLP implements all these entities
viz.- NAK frames,
NAK lists, NAK counter, Retransmit Timer etc. For a fuller
description please
refer to 3GPP2 document.
4. Introduction of new packet types-- RLP, RLP_NAK and RLP_IDLE
symbolising the
RLP, NAK and IDLE frames as mentioned in 3GPP2 doc.
5. Integration of various kinds of error models - viz. i.i.d. ,
correlated
errors (using Two-State Markov Chain).
6. Implementation of PPP to form a dedicated point-to-point link
between two
nodes, to be used by RLP.
7. Integration and verification with higher layer protocols like TCP,
UDP etc.
Fig 1: NAM visualization using RLP implementation.
A downloadable copy of the implementation is available here.