Project

General

Profile

Wiki » History » Version 5

Lan Wang, 04/04/2014 01:11 PM

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 5 Lan Wang
### UML of NLSR is available
12
* class diagram
13
* use case diagram
14 1 A K M Mahmudul Hoque
15
16
## NLSR's design
17
18
Conceptually NLSR is divided into four modules
19
20
1. Core
21
2. Communication
22
3. Routing
23
4. Security
24
25
### 1. Core Module
26
- Read and parse configuration file
27
- Stores all configurable parameter values
28
- Stores Adjacent in Adjacency list
29
- Stores advertising names in name prefix list
30
- Stores Link State Advertisement (LSA) in Link State Database (LSDB)
31 2 A K M Mahmudul Hoque
32
### 2. Communication Module 
33
- Handles synchronization logic of NLSR's LSDB updates
34
- Publish LSDB updates in router name
35
- Upon update notification send interest for LSAs
36
- Publish certificates updates
37
- Send interest to fetch certificates
38
- Processes all inbound/outbound interest/data of NLSR
39 3 A K M Mahmudul Hoque
40
### 3. Routing Module
41
- Calculate routing table ( depending configuration use link - state routing calculator or Hyperbolic routing calculator)
42
- Stores routing table 
43
- Creates and store Name prefix table ( Name prefix table entry is Name Prefix with nexthops list to reach that name)
44
45 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)
46 3 A K M Mahmudul Hoque
- Fetch, validate and stores certificate in Certificate Store
47
- If some certificate is fetched but waiting to be validated is recorded in waiting list
48
- After validation it is added in the certificate store otherwise discarded
49
- Validate each piece of data received by NLSR
50
- Sign data using router process keys before sending out