]> git.siccegge.de Git - talk/attack-i2p-raid2013.git/blob - sample-interaction.tex
Include missing files
[talk/attack-i2p-raid2013.git] / sample-interaction.tex
1 \begin{tikzpicture}[scale=1.2]
2 \tikzstyle{every node}=[font=\small]
3 \node[minimum width=30em,minimum height=20em] at (-1em,1em) {};
4 % netDB
5 \foreach \sector in {%
6 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}%
7 {
8 \node[netdb,cylinder,aspect=.5, shape border
9 rotate=90,fill=orange!50!white](node\sector) at ({36 * (-\sector +
10 .9)} : 10.5mm) {\sector};
11 }
12 \node at (0, 0) {netDB};
13 % client
14 \node[minimum width=9.5em,minimum
15 height=5em,draw=black,thick,fill=yellow!60!white,rounded corners](clientpc) at (27.5mm,9mm) {};
16 \node[client](client) at (30.5mm, 12mm) {Server Router};
17 \node[rectangle,draw,below=0mm of client.south west] {Application};
18 \node[above=0mm of clientpc.south] {Server's System};
19 % server
20 \node[minimum width=9.5em,minimum
21 height=5em,draw=black,thick,fill=yellow!60!white,rounded corners](clientpc) at (-38mm,9mm) {};
22 \node[client](server) at (-42mm, 12mm) {Client Router};
23 \node[rectangle,draw,below=0mm of server.south east] {Application};
24 \node[above=0mm of clientpc.south] {Client's System};
25 % client client tunnel
26 \node<5->[chain,minimum size=7em,minimum
27 height=3em,draw=none,fill=green!30!white,rounded corners](tunnel) at (16mm,22.5mm) {};
28 \node<5->[above=0mm of tunnel.north] {Server's data tunnel pair};
29 % \node[tunnel,minimum width=9.5em] at (16mm, 19mm) {};
30 % \node[tunnel,minimum width=9.5em] at (16mm, 22mm) {};
31 %
32 \node<5->[chain,top color=white,bottom color=green] (cco1) at (23mm, 21mm) {};
33 \path<5->[arrow] ([xshift=4mm]client.north) |- (cco1.east);
34 \node<5->[chain,top color=white,bottom color=green] (cco2) at (16mm, 21mm) {};
35 \path<5->[arrow] (cco1.west) -- (cco2.east);
36 \node<5->[chain,top color=white,bottom color=green] (cco3) at (9mm, 21mm) {};
37 \path<5->[arrow] (cco2.west) -- (cco3.east);
38 \node<5->[chain,top color=white,bottom color=green] (cci1) at (23mm, 24mm) {};
39 \path<5->[arrow] (cci1.east) -| ([xshift=5mm]client.north);
40 \node<5->[chain,top color=white,bottom color=green] (cci2) at (16mm, 24mm) {};
41 \path<5->[arrow] (cci2.east) -- (cci1.west);
42 \node<5->[chain,top color=white,bottom color=green] (cci3) at (9mm, 24mm) {};
43 \path<5->[arrow] (cci3.east) -- (cci2.west);
44 % server client tunnel
45 \node<4->[chain,minimum size=7em,minimum
46 height=3em,draw=none,fill=green!30!white,rounded corners](tunnel) at (-30mm,22.5mm) {};
47 \node<4->[above=0mm of tunnel.north] {Client's data tunnel pair};
48 % \node[tunnel,minimum width=9.5em] at (-34mm, 19mm) {};
49 % \node[tunnel,minimum width=9.5em] at (-34mm, 22mm) {};
50 %
51 \node<4->[chain,top color=white,bottom color=green] (csi1) at (-37mm, 21mm) {};
52 \path<4->[arrow,<-] ([xshift=-4mm]server.north) |- (csi1.west);
53 \node<4->[chain,top color=white,bottom color=green] (csi2) at (-30mm, 21mm) {};
54 \path<4->[arrow,<-] (csi1.east) -- (csi2.west);
55 \node<4->[chain,top color=white,bottom color=green] (csi3) at (-23mm, 21mm) {};
56 \path<4->[arrow,<-] (csi2.east) -- (csi3.west);
57 \node<4->[chain,top color=white,bottom color=green] (cso1) at (-37mm, 24mm) {};
58 \path<4->[arrow,<-] (cso1.west) -| ([xshift=-5mm]server.north);
59 \node<4->[chain,top color=white,bottom color=green] (cso2) at (-30mm, 24mm) {};
60 \path<4->[arrow,<-] (cso2.west) -- (cso1.east);
61 \node<4->[chain,top color=white,bottom color=green] (cso3) at (-23mm, 24mm) {};
62 \path<4->[arrow,<-] (cso3.west) -- (cso2.east);
63 % client exploratory tunnel
64 \node<2->[chain,minimum size=6em,minimum
65 height=3em,draw=none,fill=blue!30!white,rounded corners](tunnel) at (-32.5mm,-6.5mm) {};
66 \node<2->[below=0mm of tunnel.south,align=center] {Client's exploratory\\tunnel pair};
67 % \node[tunnel,minimum width=7.5em] at (-36.5mm, 0mm) {};
68 % \node[tunnel,minimum width=7.5em] at (-36.5mm, -3mm) {};
69 %
70 \node<2->[chain,top color=white,bottom color=blue] (eo1) at (-36mm, -5mm) {};
71 \path<2->[arrow] ([xshift=-4mm]server.south) |- (eo1.west);
72 \node<2->[chain,top color=white,bottom color=blue] (ei1) at (-36mm, -8mm) {};
73 \path<2->[arrow,<-] ([xshift=-5mm]server.south) |- (ei1.west);
74 \node<2->[chain,top color=white,bottom color=blue] (eo2) at (-29mm, -5mm) {};
75 \path<2->[arrow] (eo1.east) -- (eo2.west);
76 \node<2->[chain,top color=white,bottom color=blue] (ei2) at (-29mm, -8mm) {};
77 \path<2->[arrow,<-] (ei1.east) -- (ei2.west);
78 % service lookup
79 \draw<3->[arrow,bend right=20,dashdotted] (eo2.east) to node[above=.8em,align=center] {service\\lookup} (node4.west);
80 \draw<3->[arrow,bend right=10,<-,dashdotted] (ei2.east) to node {} ([yshift=-1mm]node4.west);
81 % data link
82 \draw<6->[arrow,bend left=15,dashdotted] (cco3.west) to node {} (csi3.east);
83 \draw<6->[arrow,bend right=15,dashdotted] (cci3.west) to node {} (cso3.east);
84 \node<6-> at (-9mm,22.5mm) {Data connection};
85 \end{tikzpicture}