close Warning: Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.

Changes between Version 3 and Version 4 of Internal/SystemPrototyping/Software/ClickRouter


Ignore:
Timestamp:
Jun 8, 2012, 5:35:43 PM (12 years ago)
Author:
nkiran
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Internal/SystemPrototyping/Software/ClickRouter

    v3 v4  
    55=== 1. Architecture ===
    66
    7 
     7 
    88{{{
    99                                                       
    1010                                                         
    1111                                                         
    12                                                                           __________     
    13                                    Control pkt                           |          |   Control pkt
    14                                    ------------------------------------> |   GSTAR  | ---------------------------->
    15                                  /                                       |__________|                              \
    16     IN                          /                             _  _              |                                   \         OUT
    17  _________      __________     /                            (      )            |                                    \      _________
    18 |         |    |          |   /                            (  GNRS  )         __v____________                         \    |         |
    19 |Device(s)| -> |Classifier| ->                              ( _  _ )         | Forward Table |                          -> |Device(s)|
    20 |_________|    |__________|   \                                ^ |           |_______________|                        /    |_________|
    21                                \                        lookup | |                  ^  |              ___________    /
    22                                 \      ____________        ____|_v__       _________|__v_____        |           |  /
    23                                  \    |            |      |         |     |                  |forward|   Hop     | /
    24                                   --> |    Hop     |chunk | Network |     | Next Hop Lookup  |-----> | Segmentor |/
    25                             Data pkt  | Aggregator | -->  |  Binder | --> |       &          |       |           |
    26                                       |            |      |         |     | Store or Forward |----|  |___________|
    27                                       |____________|      |_________|     |__________________|    |
    28                                                                ^                                  |store/no-route
    29                                                                |                                 _v_________
    30                                                                |        rebind after timeout    |           |
    31                                                                 ------------------------------- |Chunk Store|
    32                                                                                                 |___________|
     12                                                                          ____________     
     13                                    control pkt                          |            |             control pkt   
     14                                    ------------------------------------>|   GSTAR    |------------------------->
     15                                  /                                      |____________|                          \
     16                                 /                                             |                                  \   
     17    in                          /                             _  _             |                                   \       _________         out
     18 _________      __________     /                            (      )         __v____________                        \     |         |     _________
     19|         |    |          |   /                            (  GNRS  )       |               |                        ---->|Priority |    |         |
     20|Device(s)| -> |Classifier| ->                              ( _  _ )        | Forward Table |                             |Scheduler| -> |Device(s)|
     21|_________|    |__________|   \                                ^ |          |_______________|                        ---->|         |    |_________|
     22                               \                        lookup | |                 ^  |              ___________    /     |_________|
     23                                \      ____________        ____|_v__      _________|__v_____        |           |  /
     24                                 \    |            |      |         |    |                  |forward|   Hop     | /
     25                                  --> |    Hop     |chunk | Network |    | Next-Hop Lookup  |-----> | Segmentor |/
     26                            data pkt  | Aggregator |  ->  |  Binder | -> |       &          |       |           |
     27                                      |            |      |         |    | Store or Forward |----|  |___________|
     28                                      |____________|      |_________|    |__________________|    |
     29                                                               ^                                 |store/no-route
     30                                                               |                                _v_________
     31                                                               |       rebind after timeout    |           |
     32                                                                ------------------------------ |Chunk Store|
     33                                                                                               |___________|
    3334
     35Figure 1: Main components of the Click-based MobilityFirst router
    3436}}}
     37
     38 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.
    3539
    3640
    3741==== 1.1. Hop-by-Hop ====
    3842
    39 ==== 1.2. Store and Forward ====
     43Relevant Elements:
     44 * Aggregator: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/MF_Aggregator.cc click/elements/gstar/MF_Aggregator.cc]
     45 * Segmentor: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/MF_Segmentor.cc click/elements/gstar/MF_Segmentor.cc]
    4046
    41 ==== 1.3. GSTAR ====
     47==== 1.2. Name Resolution ====
    4248
    43 ==== 1.4. Name Resolution Interface ====
     49Relevant Elements:
     50 * Network Binder: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/MF_NetworkBinder.cc click/elements/gstar/MF_NetworkBinder.cc]
     51 * GNRS Message Handler: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gnrs/GNRS_ReqRespHandler.cc click/elements/gnrs/GNRS_ReqRespHandler.cc]
    4452
    4553
    46 === 2. Message Formats ===
     54==== 1.3. Next-Hop Lookup & !Store/Forward ====
     55
     56Relevant Elements:
     57 * Forward Table Lookup: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/MF_IntraLookUp.cc click/elements/gstar/MF_IntraLookUp.cc]
     58 * Chunk Store: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/MF_CacheManager.cc click/elements/gstar/MF_CacheManager.cc]
     59
     60==== 1.4. GSTAR ====
     61
     62Relevant Elements:
     63 * Neighbor Table: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/mf_neighbours.cc prototype/click/elements/gstar/mf_neighbours.cc]
     64 * Routing and Forwarding Table: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/mf_routing.cc click/elements/gstar/mf_routing.cc]
     65
     66
     67=== 2. Message Types and Formats ===
    4768
    4869Relevant Files:
     
    5273=== 3. Running the Router ===
    5374
    54 ==== 3.1 Click Configurations ====
     75==== 3.1 Scripts ====
     76
     77To start up the basic router run the following:
     78
     79{{{
     80> ./init_rtr.sh my_GUID topo_file oml_conf_file core_dev core_dev_IP resolve
     81
     82where:
     83#parameters to this script
     84#1. my_GUID -  GUID of router
     85#2. topo_file - GUID-based topology file
     86#3. oml_conf_file - OML configuration for monitoring
     87#4. core_dev - name of interface towards backhaul/core
     88#5. core_dev_IP - IP assoc with core interface
     89#6. resolve - use gnrs resolution or not (true|false)
     90}}}
     91
     92
     93
     94Relevant files:
     95 * Basic router startup script: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/eval/scripts/click/init_rtr.sh eval/scripts/click/init_rtr.sh]
     96 * Click-based file sender: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/eval/scripts/click/init_filesend_rtr.sh eval/scripts/click/init_filesend_rtr.sh]
     97 * Click-based file receiver: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/eval/scripts/click/init_filerecv_rtr.sh eval/scripts/click/init_filerecv_rtr.sh]
     98
     99==== 3.2 Click Configurations ====
    55100
    56101Relevant Files:
    57102 * [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/eval/conf/click eval/conf/click] - default Click configurations for !MobilityFirst router
    58103
    59 ==== 3.2 In-Click Topology Control ====
     104==== 3.3 In-Click Topology Control ====
     105
     106Relevant Elements:
     107 * Topology: [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/topology.cc click/elements/gstar/topology.cc]
    60108
    61109Relevant Files:
    62110 * [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/eval/topology eval/topology] - directory with sample topologies
    63  * [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/topology.cc click/elements/gstar/topology.cc]
    64  * [https://mobilityfirst.orbit-lab.org/browser/trunk/code/prototype/click/elements/gstar/topology.hh click/elements/gstar/topology.hh]
     111
    65112
    66113=== 4. Performance ===