RLP Implementations in ns2

Download: v2.26 , v2.27


(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.