1 \begin{tikzpicture
}[scale=
1.2]
2 \tikzstyle{every node
}=
[font=
\small]
3 \node[minimum width=
30em,minimum height=
20em
] at (-
1em,
1em)
{};
6 0,
1,
2,
3,
4,
5,
6,
7,
8,
9}%
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};
12 \node at (
0,
0)
{netDB
};
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
};
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) {};
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) {};
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) {};
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);
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);
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
};