Project

General

Profile

Wiki » History » Version 4

A K M Mahmudul Hoque, 04/03/2014 11:21 AM

1 1 A K M Mahmudul Hoque
# Named-data Link State Routing(NLSR)
2
3
**Named-data Link State Routing (NLSR)** is routing for NDN under development.
4
5
NLSR's development is going on top of 
6
7
* [**ndn-cpp-dev**](https://github.com/named-data/ndn-cpp-dev)
8
* [**NFD**](http://redmine.named-data.net/projects/nfd/wiki)
9
* [**ChronoSync**](https://github.com/bruinfish/ChronoSync)
10
11
### UML of NLSR is available at [**NLSR-UML**](http://irl.cs.ucla.edu/~cawka/nlsr/)
12
13
14
## NLSR's design
15
16
Conceptually NLSR is divided into four modules
17
18
1. Core
19
2. Communication
20
3. Routing
21
4. Security
22
23
### 1. Core Module
24
- Read and parse configuration file
25
- Stores all configurable parameter values
26
- Stores Adjacent in Adjacency list
27
- Stores advertising names in name prefix list
28
- Stores Link State Advertisement (LSA) in Link State Database (LSDB)
29 2 A K M Mahmudul Hoque
30
### 2. Communication Module 
31
- Handles synchronization logic of NLSR's LSDB updates
32
- Publish LSDB updates in router name
33
- Upon update notification send interest for LSAs
34
- Publish certificates updates
35
- Send interest to fetch certificates
36
- Processes all inbound/outbound interest/data of NLSR
37 3 A K M Mahmudul Hoque
38
### 3. Routing Module
39
- Calculate routing table ( depending configuration use link - state routing calculator or Hyperbolic routing calculator)
40
- Stores routing table 
41
- Creates and store Name prefix table ( Name prefix table entry is Name Prefix with nexthops list to reach that name)
42
43 4 A K M Mahmudul Hoque
### 4. Security Module ( This module will no longer be available later when NLSR will use NFD's rule based validator)
44 3 A K M Mahmudul Hoque
- Fetch, validate and stores certificate in Certificate Store
45
- If some certificate is fetched but waiting to be validated is recorded in waiting list
46
- After validation it is added in the certificate store otherwise discarded
47
- Validate each piece of data received by NLSR
48
- Sign data using router process keys before sending out