Netsukuku
4.1.1
Netsukuku : 227 .
, Netsukuku. Netsukuku , .
, Wi-Fi, , , .
, :
- Netsukuku ( Netsukuku, ( gprs .). , 0 (, 256 );
- : , ( , ...). , , , .
. Netsukuku - , .
, , .
Netsukuku , QSPN. , .
4.1.2
QSPN , . , , , 1 , 109 ( ). .
. Netsukuku : 256 (gnode), 256 (ggnode), 256 gggnode, .
gnode, , QSPN .
- 256 (g) , QSPN 256 (g) . , , ≤ 256 . , .
|
|
4.1.3
TP ( ) , QSPN: - , .
. TP , , , . " A TP", , " A TP".
TP : , TP, , , TP. TP, TP .
. D, TP, , TP. , D , S ( TP), , .
, , TP, D: {S, A, B, C, D}. , D , , B C→B, A - C→B→ A, S - C→B→→ S. TP, , B , , S → S.
S - TP, S . TP , D, TP, , S D. S→D rtt (Round Trip Time) S D. , S - , TP, , TP.
4.1 -
, D TP. TP : D→E→ F D→ C→B→A. TP F A, , A F TP .
A , A →B→ C→ D, F F→E→D (. 4.1).
. TP: ATP(Acyclic Tracer Packet) . : ATP - , , . ATP , .
, TP, ATP , .
ATP, .
(Continuos Taracer Paket - CTP) TP: TP , , TP.
, , , TP, .
, CTP - TP, , .
|
|
. : , .
TP , . , TP , , .
TP, , , TP. TP , .
TP N, (). TP , , N. .
, . 4.2
4.2: A-B-C-A
, A CTP. CTP, :
A→B→C→A→B→C
A→C→B→A→C→B
CTP , , CTP, .
A→B B A, CTP C.
A→B→C, , C A B.
A→B→C→, A C.
A→B→C→→B, B C.
A→B→C→→B→C, C , , CTP.
4.1.4
QSPN v2, , .
. ETP (Extended Tracer Packet) , , , . , : , , , , . , .
ETP - (Acyclic Tracer Packet), (ATP TP : ATP, , . , , - TP, .).
- , TP, ETP TP. TP ETP ( ).
ETP, .
A B , ( ).
, A, , B.
l, B, . A B ETP , →B→ B - , ETP.
:
1) .
2) :
:
,
B
gw (r) r.
dst (r) r.
rem (r) (Route Efficiency Measure) r.
R = 0 .
3) r R (dst (r), rem (r)).
|
|
ETP:
a) R ETP;
b) ID , l;
c) 1 - .
ETP B.
, C ETP N (C B, N ). C ETP , , , ETP :
C ETP, C ETP ( ).
R , ETP, C.
. , C.
r R, C m M :
dst (m) = dst (r), gw (m) = N
m , C rem (m): = rem (r) ( , m r M). r R '.
M , C .
r ' R ', m ' M dst (r ') = dst (m '). r ' m ' r ' C, r ' C (dst (r '), N, rem (r ')+rem (C → N)). .
4) C :
5)
(a) C ETP, S ID . , ETP, O.
(b) ETP N.
ETP ETP, . - , , ETP ( ETP, , , 0 ).
: C , , ETP, C , , R (, ).
, ETP : , 1.
C ETP . ETP N. ( : , . : ETP , CTP ( CTP )).
C . , ETP , .
: , :
node N node D
V N N.
, ,
,
M N.
, 5 (, N, ETP C C r ).
5 C N s, dst (s) = dst (r), rem (s)> rem (r). , s C N ( N C ), , N s M. ETP . , , .
. , B , , l rem.
|
|
1) B R:
, R - , A.
R = 0 .
r R (dst (r), rem (r)).
B :
.
3) B :
B ETP:
(a) B , R.
(b) B .
(c) B 1 .
, B ETP , A.
ETP .
, A . , 1, 2, , N , . ,
, A , A.
4.1.5 QSPN
. , .
, P→S :
PBCFGIG2G3G4G5G6G7 G19S (1)
PRTEGIG2G3G4G5G6G7 G19S (2)
PZXMN O1O2O3O4O5S(3)
PQPVYIY2Y3Y4S (4)
(1) (2) , . , .
, P , .
, , , . , , .
: , N TP, , , S. N TP , N TP , n - , N, S. , , TP (n +1) N, S.
, P TP (TP, N).
, T - , TP. P :
(4.1)
t3 - t, ITsl - ITsl.
m , , T P . m ≥2, . m ≈2, . m =1, .
, . 4.3
er - r, m r, :
k - . , Q2, , r .
4.3 -
QSPN. TP, . , QSPN. , .
, Netsukuku, RSA . . .
, TP, , , , TP.
, TP, .
4.2.1
. node , Netsukuku.
Rnode in-Range Node ( ): X, - , X, - X.
- , , , .. .
REM Route Efficiency Measure ( ). - , . REM , .., rtt . REM r REM (r). r - s, rem (r)> rem (s).
|
|
4.4 - A, B C
:
A rnode B.
B rnode A C.
C rnode B.
4.2.2
, , . . , Netsukuku, . , , , 1 , 109 ( ). .
. 1.
256 , :
Gnode(group node) . G . gnode. G :
a→b G
netsukuku gnode 256 .
, G.
Bnode . , gnode G, gnode.
4.5: bnode A B, gnode G G
:
, bnode b gnode G.
, A - , gnode G, rnode - B.
, B - , gnode G, rnode - A.
A - bnode G, B - bnode G .
n. 256 gnode.
, gnode.
, n+1 ( 0 n).
( 0), 256 .
( 1), 256 gnodes. 256 .
( 2), 256 gnodes 1.
( 3), 256 256 256 256 .
, ( n), , .
QSPN , gnode 0. Netsukuku , .
4.6 - Netsukuku.
Netsukuku . 4.6
gnode , . 6 .
, ( 0).
( 1).
- - ( 2).
- ( 3).
- - ( 4).
, - gnode, ( 5).
. (ID) (g) gnode, :
1. (n) gnode, ID 0. : 0;
2. n 1 256 gnodes, gnode 0 n, 0 255. :
;
3. 2, :
, ;
4. 0, n .
232 (, ipv4), (n = 4), gnode 256 . , IP:
0... 2550... 2550... 2550... 255
, 0
341512
, gnode gnodes . :
g3 = 3
g2 = 41
g1 = 5
g0 = 12
gi gnode i. , g0 , 0. , gnode G, , (fingerprint) fg (G), G , : gnodes , . - fg (G) = (uptime (G), rid (G)), rid (G) G.
. . N, , , , gnodes, .
N :
g3 g2 g1 g0
:
1. 256 , gnode 1, , 256 gnode g1;
2. 256 gnodes gnodes, gnode 2, , 256 gnodes gnode g2;
3. , 256 gnodes, gnode g3.
, , , N gnodes. gnodes 1 g1.
, , N . N 256n , 232. . 4 , 2564 b = 1 .
IP v4 v6. Netsukuku ipv4 ipv6.
ipv4 232 IP, n = 4. ipv6 2128 IP, n = 16.
. N, . g1. .
CIDR
(. Classless InterDomain Routing, . CIDR) IP-, IP-, . IP-, .
QSPN, , , (g)node (g)nodes . .
N = g3 g2 g1 g0 , gnodes, = g3 g2 h1 h0, CIDR e :
, g3 g2 h1 0... 255 X.
X .
4.3.1
r N N :
r N: = (dst, gw, rem)
: dst - :
gw - :
rem - : REM
dst (r), gw (r), rem (r), , r. VN N. R N ( . , ( R m m)).
:
r. x, , :
R:
G - gnode 1
N ,
.
:
c
, N s, , :
if
if [s t]
t s;
else ;
else s M;
, N, , .
, (dst,gw,rem), , N . , N , . , . , QSPN v2 , .
QSPN v2, "", ETP3 , : , , gnodes
. , :
T . , , G - gnode , G. rem, G, rem (dst, gw, rem) . , .
.
:
1.
11.22.1, 11.22.80, 11.22.35
,
2.
11.22.1, 11.22.80, 11.22.35, 11.44.13
:
11.22. *, 11.44.13
3.
11.22.1, 11.22.80, 11.22.35, 11.44.13, 55.32.20
:
11. *, 55.32.20 (4.2)
, . , 55.32.12 (4.2), :
(dst = 11.* = gnode 11, gw = 55.32.20, rem)
, ETP QSPN, ( ).
.
G, , G . , r c, G , , G c. r , gnode, , (. 4.1.1). , , : r - , , , , . , r - , : , d , . causting , rem G, b bnode, , G.
4.3.2
:
- , gnodes.
- gnodes
- gnodes .
, . , .
gnodes. G gnode. G , n G . IP.
, G . gnode l . gnode l n, gnode l + 1. gnode , , .. , gnode gnodes , , A , B C . n, , . , n , gnode, B C, . , , n, gnode . , gnode, gnode , n A, B, C. gnodes (gnodes saturation).
gnodes , : gnodes , . , , :
1. n (.. , ) gnodes, l. n , . , gnode , .
, (g) node l-1 gnode ;
2. b bnode gnode 1, B b, . G(c) gnode 1 c
, , gnode , . b , gnode, H, G.
, b , G ( b H, bnodes G, H). , ETP G, b G.
:
1. , , 3 gnodes:
11.11 ↔22.11 ↔33.11
2. 11.*:
11.33 ↔11.22 ↔ 11.11 ↔ 22.11 ↔ 33.11
3. :
11.33 ↔ 11.22 ↔ 22.22 ↔ 22.11 ↔ 33.11
4. 11.*:
11.55 ↔11.44 ↔11.33 ↔ 11.22 ↔22.22 ↔22.11 ↔33.11
11.55 ↔ 11.44 ↔11.33 ↔ 22.33 ↔ 22.22 ↔ 22.11 ↔ 33.11
11.55 ↔ 11.44↔11.33 ↔ 22.33 ↔22.22 ↔ 33.22 ↔ 33.11
. gnode B, . , , n , |A | |B |, , B A. , , gnode , .
, co(G) gnode . , P2P Ntk: P2P , . , , gnode G o(G).
n o(G) :
- n G, | G | (.. - N gnode n)
- n G, | G | (.. )
- n gnode
- n | G |
n , o(G) . o(G) , . o(G) , ETP, , .. n G. , o(G), 30 , |G |.
.
- Netsukuku, , , gnode, IP. - Netsukuku. , : 10 . Netsukuku NAT . .
. gnode G
a→b G gnode ( ) gnode gnode ID, gnode , gnode . , , : 2 gnodes l + 1, . , gnode .
, G : bnode ETP . ETP, , , . E (, n d, , ).
: E gnode , G . n , ETP, . n , . , n , , .
4.7 - gnode 11.* (). , gnode . , , , , , gnodes: 11.* 22.*
gnodes. gnode G , , rem ,
b.
gnodes , , .
, gnodes . , , : n V n .
, n (attraction value):
- n, v
n , : n gnode v ( ).
gnodes , .
ANDNA (Abnormal Netsukuku Domain Name Anarchy) - , , Netsukuku. DNS.
ANDNA Netsukuku. .
4.4.1 ANDNA
ANDNA , h 512 . H (h) , . IP, , IP. ANDNA.
n
ip: 123.123.123.123
( : "netsukuku")=11. 22. 33. 44
||
i
ip: 11.22.33.44
{[ Andna i]}
{ ("netsukuku")---> 123.123.123.123}
h, n :
- n i = H (h);
- n i;
- i H (h) IP n, IP (n).
h m:
- m i = H (h)
- m i
- i m IP, H (h), IP (n).
gnode. , H (h) : 230 , IP 32 , , 32 h 25 %. , .
, gnode. . gnode H (h) gnode, - gnode 1 H (h). gH (h) n H (h) . :
n H (h) gH (h).
gnode. gnodes , : gnode gnode gnode, ( ) gnode. gnode (rounded hash gnode) rgH (h).
, gnode, , gnodes, gnodes.
. Netsukuku, gnode, andna . , gnode.
ANDNA. , ANDNA, RSA , . . , ANDNA, , . , .
. , , 256. , , ANDNA. , , .
. - ip , h. n cr (n). , n, h, cr (n).
cr (n) n.
gnode , n, cr (n), , n. n , cr (n) gnode .
cr (n) , gnode. n cr (n) (hibernation rules). , cr (n) , , .
, gnode, : gnode , , gnode.
:
1. n h,
2. gnode rgH (h) . y.
3. n y. n. pkt n.
4. y , gnode gnode, . .
5. y gnode cr (n) IP, , .
6. cr (n) .
7. y, , , .
8. y gnode .
9. , , ..
. gnode 30 . , . , - , , 30 , .
, .
, , ip , - , .
id, . pkt , . pkt gnode, gnode, , , . , .
gnodes. gnode gnode, gnode, , gnode gnode.
. , gnode. , gnode , .
, , , gnode gnode gnode.
gnode , , - gnode gnode andna, .
, gnode .
gnode .
, gnode , gnode.
. , .
andna MAX_AN DNA_QUEUE (5). , .
. , : , , .