aboutsummaryrefslogtreecommitdiff
path: root/slides/images/ip-packet.pgf
diff options
context:
space:
mode:
Diffstat (limited to 'slides/images/ip-packet.pgf')
-rw-r--r--slides/images/ip-packet.pgf47
1 files changed, 47 insertions, 0 deletions
diff --git a/slides/images/ip-packet.pgf b/slides/images/ip-packet.pgf
new file mode 100644
index 0000000..5a977a2
--- /dev/null
+++ b/slides/images/ip-packet.pgf
@@ -0,0 +1,47 @@
+\begin{tikzpicture}[scale=0.30]
+ \sffamily
+ \foreach \x in {0,7,8,15,16,31} % {0,...,32}
+ \node at (\x+0.5,20.5) {\scriptsize \x};
+% \foreach \x in {0,...,31}
+% \node at (\x+0.5,13.5) {\scriptsize \x};
+ \foreach \x in {0,8,16,32} % {0,...,32}
+ \draw[thick] (\x,20) -- (\x,21);
+ \foreach \x in {0,...,32}
+ \draw[thick] (\x,14) -- (\x,20);
+% \foreach \x in {0,...,32}
+% \draw[thick] (\x,13) -- (\x,14);
+ \node[thick] (bit1) at (-0.6,20.5) {\scriptsize bit};
+% \node[thick] (bit2) at (-0.6,13.5) {\scriptsize bit};
+
+\iffalse
+ \draw [<->, thick] (-0.6, 19.9) -- (-0.6,15.1);
+ \draw [thick] (-1, 20) -- (-0.1,20);
+ \draw [thick] (-1, 15) -- (-0.1,15);
+ \node[fill=white] at (-1.1,17.5) {\tiny 20 bytes};
+\fi
+ \foreach \y/\v in {0,4,8,12,16,20}
+ \node at (-0.6,{19.5-(\v / 4)}) {\scriptsize \v};
+
+ \filldraw[thick,draw=black, fill=white] (0,20) rectangle (4,19); \node (mode) at (2,19.5) {\scriptsize version};
+ \filldraw[thick,draw=black, fill=white] (4,20) rectangle (8,19); \node (mode) at (6,19.5) {\scriptsize len};
+% \draw[thick, draw=black, fill=white] (8,20) rectangle (16,19); \node (stratum) at (11.5,19.5) {\scriptsize type of service (TOS)};
+ \draw[thick, draw=black, fill=white] (8,20) rectangle (16,19); \node (stratum) at (11.5,19.5) {\scriptsize TOS};
+ \draw[thick, draw=black, fill=white] (16,20) rectangle (32,19); \node (li) at (24,19.5) {\scriptsize full length of packet};
+ \filldraw[thick,draw=black, fill=white] (0,19) rectangle (16,18); \node (mode) at (8,18.5) {\scriptsize identification};
+% \draw[thick, draw=black] (16,19) rectangle (19,18); \filldraw[white] (16.5,18.43) rectangle (19,18.88); \node [](li) at (17.5,18.67) {\tiny IP flags}; \node at (16.5,18.25) {\tiny x};\node at (17.5,18.25) {\tiny D};\node at (18.5,18.25) {\tiny M};
+ \draw[thick, draw=black] (16,19) rectangle (19,18); \filldraw[white] (16.5,18.43) rectangle (19,18.88); \node at (16.5,18.5) {\scriptsize X};\node at (17.5,18.5) {\scriptsize D};\node at (18.5,18.5) {\scriptsize M};
+ \draw[thick, draw=black, fill=white] (19,19) rectangle (32,18); \node (li) at (24,18.5) {\scriptsize fragment Offset};
+ \filldraw[thick,draw=black, fill=white] (0,18) rectangle (8,17); \node (mode) at (4,17.5) {\scriptsize time to live (TTL)};
+ \draw[thick, draw=black, fill=white] (8,18) rectangle (16,17); \node (stratum) at (11.5,17.5) {\scriptsize protocol};
+ \draw[thick, draw=black, fill=white] (16,18) rectangle (32,17); \node (li) at (24,17.5) {\scriptsize header checksum};
+ \filldraw[thick,draw=black, fill=white] (0,17) rectangle (32,16); \node (mode) at (16,16.5) {\scriptsize source IP address};
+ \filldraw[thick,draw=black, fill=white] (0,16) rectangle (32,15); \node (mode) at (16,15.5) {\scriptsize destination IP address};
+ \draw[thick,draw=black, fill=white] (0,15) rectangle (32,14);
+% \draw[thick,draw=black, fill=white] (0,15) rectangle (31.5,14);
+% \draw[fill=white, draw=white] (31.4,15) rectangle (31.6,16);
+% \draw[thick] (31.5,14.97) decorate [decoration=saw] { -- (31.5,14.02)};
+ \node (mode) at (16,14.5) {\scriptsize IP options (variable length)};
+
+ \filldraw[thick,draw=black, fill=white] (0,12) rectangle (32,14); \node (mode) at (16,13) {\scriptsize payload};
+
+\end{tikzpicture}