Using polar relative coordinates it is easy to build a path in a triangular grid, such as:
\draw (0,0) -- ++(0:1) -- ++(120:1) -- ++(0:1) --
++(-120:1) -- ++(0:1) -- ++(120:2);
Each coordinate is given in the form (angle:distance) relative to the previous one (this is what ++ is for). This draws the path:

Using again polar relative coordinates we can add some "big dots" at strategic places:
\filldraw (0:0) circle(2pt) ++(0:2) ++(120:1) circle(2pt);
giving:

Now we have the basic building block of your figure. Simply repeat it six times, rotating 60 degrees each time. This is the complete code:
\begin{tikzpicture}
\foreach \angle in {0,60,...,300} {
\begin{scope}[rotate=\angle]
\draw (0,0) -- ++(0:1) -- ++(120:1) -- ++(0:1) -- ++(-120:1)
-- ++(0:1) -- ++(120:2);
\filldraw (0:0) circle(2pt) ++(0:2) ++(120:1) circle(2pt);
\end{scope}
}
\end{tikzpicture}

The labels can be easily placed using again polar coordinates. This is left as exercise to the reader ;-)