Click-based MobilityFirst Router
Contents
1. Architecture
____________ control pkt | | control pkt ------------------------------------>| GSTAR |-------------------------> / |____________| \ / | \ in / _ _ | \ _________ out _________ __________ / ( ) __v____________ \ | | _________ | | | | / ( GNRS ) | | ---->|Priority | | | |Device(s)| -> |Classifier| -> ( _ _ ) | Forward Table | |Scheduler| -> |Device(s)| |_________| |__________| \ ^ | |_______________| ---->| | |_________| \ lookup | | ^ | ___________ / |_________| \ ____________ ____|_v__ _________|__v_____ | | / \ | | | | | |forward| Hop | / --> | Hop |chunk | Network | | Next-Hop Lookup |-----> | Segmentor |/ data pkt | Aggregator | -> | Binder | -> | & | | | | | | | | Store or Forward |----| |___________| |____________| |_________| |__________________| | ^ |store/no-route | _v_________ | rebind after timeout | | ------------------------------ |Chunk Store| |___________| Figure 1: Main components of the Click-based MobilityFirst router
Figure 1 outlines the packet-processing architecture of the Click-based prototype. The pipeline has two main paths, data and control. The control path processes GSTAR routing control packets exchanged among neighbors, and the data path handles the forwarding function for MobilityFirst packets. When functioning as an access router, the prototype also handles client association messages and direct lookups by the client to the GNRS. Sections below detail the important functions implemented by the prototype.
1.1. Hop-by-Hop
Relevant Elements:
- Aggregator: click/elements/gstar/MF_Aggregator.cc
- Segmentor: click/elements/gstar/MF_Segmentor.cc
1.2. Name Resolution
Relevant Elements:
- Network Binder: click/elements/gstar/MF_NetworkBinder.cc
- GNRS Message Handler: click/elements/gnrs/GNRS_ReqRespHandler.cc
1.3. Next-Hop Lookup & Store/Forward
Relevant Elements:
- Forward Table Lookup: click/elements/gstar/MF_IntraLookUp.cc
- Chunk Store: click/elements/gstar/MF_CacheManager.cc
1.4. GSTAR
Relevant Elements:
- Neighbor Table: prototype/click/elements/gstar/mf_neighbours.cc
- Routing and Forwarding Table: click/elements/gstar/mf_routing.cc
2. Message Types and Formats
Relevant Files:
3. Running the Router
3.1 Scripts
To start up the basic router run the following:
> ./init_rtr.sh my_GUID topo_file oml_conf_file core_dev core_dev_IP resolve where: #parameters to this script #1. my_GUID - GUID of router #2. topo_file - GUID-based topology file #3. oml_conf_file - OML configuration for monitoring #4. core_dev - name of interface towards backhaul/core #5. core_dev_IP - IP assoc with core interface #6. resolve - use gnrs resolution or not (true|false)
Relevant files:
- Basic router startup script: eval/scripts/click/init_rtr.sh
- Click-based file sender: eval/scripts/click/init_filesend_rtr.sh
- Click-based file receiver: eval/scripts/click/init_filerecv_rtr.sh
3.2 Click Configurations
Relevant Files:
- eval/conf/click - default Click configurations for MobilityFirst router
3.3 In-Click Topology Control
Relevant Elements:
- Topology: click/elements/gstar/topology.cc
Relevant Files:
- eval/topology - directory with sample topologies
4. Performance
5. Known Issues
6. Release Notes
Attachments (1)
-
MF-Click-Router-Diagrams.pdf
(112.4 KB
) - added by 12 years ago.
Click Element Diagram of the MobilityFirst Router
Download all attachments as: .zip