Published 2008-05-25 | Author: Ludger Humbert

A diagram from the the field of mobile ad-hoc networking (MANET).

Author: Dr. Ludger Humbert https://haspe.homeip.net/projekte/ddi/browser/tex/pgf2

Do you have a question regarding this example, TikZ or LaTeX in general? Just ask in the LaTeX Forum.
Oder frag auf Deutsch auf TeXwelt.de. En français: TeXnique.fr.

% Mobile ad-hoc network
% Author: Dr. Ludger Humbert
% Source: https://haspe.homeip.net/projekte/ddi/browser/tex/pgf2
\documentclass{article}

\usepackage{tikz}
\usepackage{pgf}

\usepackage{xxcolor}

%                              wg. tokens
\newlength{\imagewidth}
\newlength{\imagescale}

\listfiles

\begin{document}

\begin{tikzpicture}[
knoten/.style={
circle,
inner sep=.35cm,
draw},
/schriftstueck/.code 2 args={
\fill[red!50, opacity=#2] #1 rectangle +(.6,.7);
\foreach \y in {0pt,2pt,4pt,6pt,8pt,10pt,12pt,14pt}
\draw [yshift=\y, opacity=#2] #1+(0.1,0.1) -- +(0.5,0.1);
}
]

\node at (1,.5) (knoten0) [knoten, ball color=blue!60!black] {};

\node[rectangle,draw] at (1,-1) (k0)
{Message};

\draw  [-] (knoten0.south)      -- (k0);

\pgfkeys{/schriftstueck={(0.7,-.5)}{1}}

\node at (4,.5) (knoten1) [knoten, ball color=green!60!black] {};

\node[rectangle,draw] at (5.5,1.5) (k1)
{Starting point};

\node at (7,.5) (knoten2) [knoten, ball color=gray!40!white,tokens=3] {};

\node[rectangle,draw] at (6.8,-0.75) (k2)
{Hop(s)};

\node at (10,.5) (knoten3) [knoten, ball color=red!60!black] {};
\node[rectangle,draw] at (8.5,1.5) (k3)
{End point};

\path[dashed,opacity=.5] [-latex]
(knoten1.north west) edge [bend right]  (knoten0.north east);
\node[rectangle,draw,dashed,opacity=.5] at (2.5,1.5)  (ack10) {ACK};

\path  [-latex] (knoten0.south east) edge [bend right] (knoten1.south west);
\path  [-latex] (knoten1.south east) edge [bend right] (knoten2.south west);
\pgfkeys{/schriftstueck={(5.2,-.5)}{.7}}
\path  [-latex] (knoten2.south east) edge [bend right] (knoten3.south west);
\pgfkeys{/schriftstueck={(8.2,-.5)}{.9}}

\draw  [-] (knoten1.north east) -- (k1);
\draw  [-] (knoten2.south)      -- (k2);
\draw  [-] (knoten3.north west) -- (k3);
\end{tikzpicture}

\end{document}