    \begin{tikzpicture}[scale=1.2]
      \tikzstyle{every node}=[font=\small]
      \node[minimum width=30em,minimum height=20em] at (-1em,1em) {};
% netDB
  \foreach \sector in {%
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9}%
  {
    \node[netdb,cylinder,aspect=.5, shape border
    rotate=90,fill=orange!50!white](node\sector) at ({36 * (-\sector +
      .9)} : 10.5mm) {\sector};
  }
  \node at (0, 0) {netDB};
% client
  \node[minimum width=9.5em,minimum
  height=5em,draw=black,thick,fill=yellow!60!white,rounded corners](clientpc) at (27.5mm,9mm) {};
  \node[client](client) at (30.5mm, 12mm) {Server Router};
  \node[rectangle,draw,below=0mm of client.south west] {Application};
  \node[above=0mm of clientpc.south] {Server's System};
% server
  \node[minimum width=9.5em,minimum
  height=5em,draw=black,thick,fill=yellow!60!white,rounded corners](clientpc) at (-38mm,9mm) {};
  \node[client](server) at (-42mm, 12mm) {Client Router};
  \node[rectangle,draw,below=0mm of server.south east] {Application};
  \node[above=0mm of clientpc.south] {Client's System};
% client client tunnel
  \node<5->[chain,minimum size=7em,minimum
  height=3em,draw=none,fill=green!30!white,rounded corners](tunnel) at (16mm,22.5mm) {};
  \node<5->[above=0mm of tunnel.north] {Server's data tunnel pair};
%  \node[tunnel,minimum width=9.5em] at (16mm, 19mm) {};
%  \node[tunnel,minimum width=9.5em] at (16mm, 22mm) {};
%
  \node<5->[chain,top color=white,bottom color=green] (cco1) at (23mm, 21mm) {};
  \path<5->[arrow] ([xshift=4mm]client.north) |- (cco1.east);
  \node<5->[chain,top color=white,bottom color=green] (cco2) at (16mm, 21mm) {};
  \path<5->[arrow] (cco1.west) -- (cco2.east);
  \node<5->[chain,top color=white,bottom color=green] (cco3) at (9mm, 21mm) {};
  \path<5->[arrow] (cco2.west) -- (cco3.east);
  \node<5->[chain,top color=white,bottom color=green] (cci1) at (23mm, 24mm) {};
  \path<5->[arrow] (cci1.east) -| ([xshift=5mm]client.north);
  \node<5->[chain,top color=white,bottom color=green] (cci2) at (16mm, 24mm) {};
  \path<5->[arrow] (cci2.east) -- (cci1.west);
  \node<5->[chain,top color=white,bottom color=green] (cci3) at (9mm, 24mm) {};
  \path<5->[arrow] (cci3.east) -- (cci2.west);
% server client tunnel
  \node<4->[chain,minimum size=7em,minimum
  height=3em,draw=none,fill=green!30!white,rounded corners](tunnel) at (-30mm,22.5mm) {};
  \node<4->[above=0mm of tunnel.north] {Client's data tunnel pair};
%  \node[tunnel,minimum width=9.5em] at (-34mm, 19mm) {};
%  \node[tunnel,minimum width=9.5em] at (-34mm, 22mm) {};
%
  \node<4->[chain,top color=white,bottom color=green] (csi1) at (-37mm, 21mm) {};
  \path<4->[arrow,<-] ([xshift=-4mm]server.north) |- (csi1.west);
  \node<4->[chain,top color=white,bottom color=green] (csi2) at (-30mm, 21mm) {};
  \path<4->[arrow,<-] (csi1.east) -- (csi2.west);
  \node<4->[chain,top color=white,bottom color=green] (csi3) at (-23mm, 21mm) {};
  \path<4->[arrow,<-] (csi2.east) -- (csi3.west);
  \node<4->[chain,top color=white,bottom color=green] (cso1) at (-37mm, 24mm) {};
  \path<4->[arrow,<-] (cso1.west) -| ([xshift=-5mm]server.north);
  \node<4->[chain,top color=white,bottom color=green] (cso2) at (-30mm, 24mm) {};
  \path<4->[arrow,<-] (cso2.west) -- (cso1.east);
  \node<4->[chain,top color=white,bottom color=green] (cso3) at (-23mm, 24mm) {};
  \path<4->[arrow,<-] (cso3.west) -- (cso2.east);
% client exploratory tunnel
  \node<2->[chain,minimum size=6em,minimum
  height=3em,draw=none,fill=blue!30!white,rounded corners](tunnel) at (-32.5mm,-6.5mm) {};
  \node<2->[below=0mm of tunnel.south,align=center] {Client's exploratory\\tunnel pair};
%  \node[tunnel,minimum width=7.5em] at (-36.5mm, 0mm) {};
%  \node[tunnel,minimum width=7.5em] at (-36.5mm, -3mm) {};
%
  \node<2->[chain,top color=white,bottom color=blue] (eo1) at (-36mm, -5mm) {};
  \path<2->[arrow] ([xshift=-4mm]server.south) |- (eo1.west);
  \node<2->[chain,top color=white,bottom color=blue] (ei1) at (-36mm, -8mm) {};
  \path<2->[arrow,<-] ([xshift=-5mm]server.south) |- (ei1.west);
  \node<2->[chain,top color=white,bottom color=blue] (eo2) at (-29mm, -5mm) {};
  \path<2->[arrow] (eo1.east) -- (eo2.west);
  \node<2->[chain,top color=white,bottom color=blue] (ei2) at (-29mm, -8mm) {};
  \path<2->[arrow,<-] (ei1.east) -- (ei2.west);
% service lookup
  \draw<3->[arrow,bend right=20,dashdotted] (eo2.east) to node[above=.8em,align=center] {service\\lookup} (node4.west);
  \draw<3->[arrow,bend right=10,<-,dashdotted] (ei2.east) to node {} ([yshift=-1mm]node4.west);
% data link
  \draw<6->[arrow,bend left=15,dashdotted] (cco3.west) to node {} (csi3.east);
  \draw<6->[arrow,bend right=15,dashdotted] (cci3.west) to node {} (cso3.east);
  \node<6-> at (-9mm,22.5mm) {Data connection};
\end{tikzpicture}