summaryrefslogtreecommitdiffstats
path: root/doxygen/mainpage.dox
blob: 6830a565b3ff106c3a64d5e9435f055ecc2f97a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/**
@mainpage RTRlib
This is the API documentation of the RTRlib, a C implementation of the
RPKI/Router Protocol client.

@section Overview

@par
The RTRlib follows a flexible design. The software architecture includes
different layers to simplify the extension or exchange of individual
parts.\n

\n
\image html components.png
\n

@par
The lowest layer of the architecture is built by the @ref mod_transport_h.
It allows for the implementation of different transport channels that
provide a common interface to exchange PDUs with the cache (i.e., the
RPKI-RTR server). The current version of the library supports unprotected
TCP and SSH.\n

@par
On the top of the transport layer the @ref mod_rtr_h uses a transport
socket for RTR-specific data exchange with the RTR server. The RTR socket
implements the RPKI-RTR protocol, i.e., fetches validation records and
stores them in a prefix table data structure.\n

@par
The @ref mod_pfx_h stores validated prefix origin data. The abstract data
structure provides a common interface to add and delete entries as well as
to verify a specific prefix. The library implements a Trie,
but can be extended to other data structures.\n

@par
On the top of the modular architecture the @ref
mod_rtr_mgr_h maintains the connection to multiple
RTR servers. This includes failover mechanisms. It represents the main
interface for users of the library.

@section RfcDrafts RFCs and Drafts
The functionality of this library is described by the following IETF RFCs
and drafts:
\li <a href="http://tools.ietf.org/html/rfc6810">The Resource Public Key
Infrastructure (RPKI) to Router Protocol (RFC 6810)</A>
\li <a href="http://tools.ietf.org/html/rfc6811"> BGP Prefix Origin
Validation (RFC 6811)</a>

For a general overview of the topic have look at the homepage of the <a
href="http://datatracker.ietf.org/wg/sidr/charter/">IETF SIDR working
group</a>.
*/