\documentclass[tikz]{standalone}

\usetikzlibrary{decorations.pathreplacing,decorations.markings}
\usetikzlibrary{patterns}

\begin{document}

\begin{tikzpicture}

%diagonals + diagonal labels
\draw[gray,thick,dashed] (0,1) to node[midway,below,yshift=3pt,xshift=-3pt,scale=0.75]{ $\tau_a$} (1,0);
\draw[gray,thick,dashed] (-0.7,1.7) to node[midway,below,scale=0.75,xshift=-2pt,yshift=2pt]{$\tau_c$} (1,1);
\draw[gray,thick,dashed] (0,2.4) to node[midway,below,scale=0.75,xshift=-2pt,yshift=2pt]{$\tau_c$} (1.7,1.7);
\draw[gray,thick,dashed] (1,2.4) to node[midway,below,scale=0.75,yshift=2pt]{ $\tau_a$}  (2.4,2.4);
\draw[gray,thick,dashed](1.7,3.1)to node[midway,below,scale=0.75,yshift=2pt]{ $\tau_b$}  (3.4,2.4);
\draw[gray,thick,dashed] (2.4,3.8) to node[midway,below,scale=0.75,yshift=2pt]{ $\tau_b$}  (4.1,3.1);
\draw[gray,thick,dashed] (2.4,4.8) to node[midway,below,scale=0.75,yshift=2pt]{ $\tau_a$}  (3.4,3.8);

%snake graph outline
\draw[thick] (-0.7,1.7) to node[midway,above,xshift=-15pt, yshift=-1pt,scale=0.5]{$0\cdot \tau_c$} (1.7,1.7);
\draw[ultra thick,white] (0,2.4) to (1,1);
\draw[thick, orange] (0,2.4) to node[midway,xshift=14pt,yshift=-7pt,scale=0.5]{$1\cdot \tau_c$} (1,1);
\draw[thick, orange] (0,0) to node[midway, below, scale = 0.75]{$\tau_e$} (1,0);
\draw[thick] (1,0) to node[midway,right,xshift=-2pt,scale=0.75]{$\tau_c$} (1,1) to node[midway,below,xshift=3pt,yshift=2pt,scale=0.75]{$\tau_d$} (0,1) to node[midway, left, scale = 0.75] {$\tau_b$} (0,0);
\draw[thick, orange] (0,1) to node[midway,below,,xshift=-1pt,scale=0.75]{$\tau_a$} (-0.7,1.7);
\draw[thick] (-0.7, 1.7) to node[midway,above,xshift=-4pt,scale=0.5]{$1 \cdot \tau_c$} (0,2.4) to node[midway,above,scale=0.75,yshift=-2pt]{$\tau_a$} (1,2.4) to node[midway,right,xshift=-2pt,yshift=1pt,scale=0.75]{$\tau_d$}(1.7,1.7) to node[midway,below,scale=0.5,xshift=7pt]{$1 \cdot \tau_c$} (1,1);
\draw[thick, orange] (1,2.4) to node[scale = 0.75, xshift = -5pt, yshift = 4pt]{$\tau_b$} (1.7,3.1);
\draw[thick, orange] (2.4,2.4) to node[midway,right,yshift=-3pt,xshift=-2pt,scale=0.75]{$\tau_c$} (1.7,1.7);
\draw[thick] (2.4,2.4) to node[midway,below,,xshift=-5pt, yshift = 4pt, scale=0.75]{$\tau_e$} (2.4-0.7,1.4+1.7) to node[midway,above,xshift=-6pt,scale=0.5]{$\sqrt{2} \cdot \tau_b$} (2.4,1.4+2.4);
\draw[thick, orange](2.4,3.8) to node[midway,above,scale=0.75,yshift=-2pt, xshift = -3pt]{$\tau_e$} (2.4+1,2.4+1.4);
\draw[thick] (3.4,3.8) to node[midway,right,xshift=-2pt,yshift=1pt,scale=0.75]{$\tau_a$}(2.4+1.7,1.4+1.7);
\draw[thick, orange] (2.4+1.7,1.4+1.7) to node[midway,below,scale=0.5,xshift=7pt]{$\sqrt{2} \cdot \tau_b$} (2.4+1,1.4+1);
\draw[thick] (2.4+1,1.4+1) to node[midway, below, scale = 0.75]{$\tau_a$} (2.4, 2.4);
\draw[thick] (2.4,3.8) to node[left, scale = 0.75]{$\tau_b$} (2.4,4.8);
\draw[thick, orange] (2.4,4.8) to node[above, scale =0.75]{$\tau_d$}(3.4,4.8);
\draw[thick](3.4,4.8) to node[right, scale = 0.75]{$\tau_c$} (3.4,3.8);
\draw[thick](3.4,2.4) to node[xshift = 5pt, yshift = -8pt, right, scale = 0.5]{$1 \cdot \tau_b$}  (2.4,3.8);
\draw[thick](4.1,3.1) to node[left, xshift = -17pt, above, scale = 0.5]{$1 \cdot \tau_b$} (4.1-2.4,3.1);

\end{tikzpicture}

\end{document}