aboutsummaryrefslogtreecommitdiff
path: root/slides/images
diff options
context:
space:
mode:
Diffstat (limited to 'slides/images')
-rw-r--r--slides/images/IP-Header_eng.pdfbin11359 -> 0 bytes
-rw-r--r--slides/images/IP-Header_eng.tex47
-rw-r--r--slides/images/ip-header.pdfbin17867 -> 0 bytes
-rw-r--r--slides/images/ip-header.pgf53
-rw-r--r--slides/images/ip-header.svg2
-rw-r--r--slides/images/ip-header.xml1
-rw-r--r--slides/images/ip-packet.pgf47
-rw-r--r--slides/images/udp-header.pgf37
-rw-r--r--slides/images/udp-packet.pgf32
9 files changed, 90 insertions, 129 deletions
diff --git a/slides/images/IP-Header_eng.pdf b/slides/images/IP-Header_eng.pdf
deleted file mode 100644
index 251c3a5..0000000
--- a/slides/images/IP-Header_eng.pdf
+++ /dev/null
Binary files differ
diff --git a/slides/images/IP-Header_eng.tex b/slides/images/IP-Header_eng.tex
deleted file mode 100644
index 8de7312..0000000
--- a/slides/images/IP-Header_eng.tex
+++ /dev/null
@@ -1,47 +0,0 @@
-\iffalse
-Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
-\fi
-
-\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 (31.5,14);
- \draw[fill=white, draw=white] (31.4,14.96) rectangle (31.6,14.05);
- \draw[thick] (31.5,14.97) decorate [decoration=saw] { -- (31.5,14.02)};
- \node (mode) at (16,14.5) {\scriptsize IP options (variable length)};
-\end{tikzpicture}
diff --git a/slides/images/ip-header.pdf b/slides/images/ip-header.pdf
deleted file mode 100644
index 2ad03c7..0000000
--- a/slides/images/ip-header.pdf
+++ /dev/null
Binary files differ
diff --git a/slides/images/ip-header.pgf b/slides/images/ip-header.pgf
new file mode 100644
index 0000000..25c506c
--- /dev/null
+++ b/slides/images/ip-header.pgf
@@ -0,0 +1,53 @@
+\scalebox{0.5}{
+\begin{tikzpicture}[
+every node/.style={font=\bfseries},
+basebox/.style={anchor=north west, minimum height=2em, draw, rectangle},
+bitbox/.style={basebox, minimum width=2em},
+bytebox/.style={basebox, minimum width=16em},
+wordbox/.style={basebox, minimum width=32em},
+qwordbox/.style={basebox, minimum width=64em},
+]
+
+\path
+(-9em, 2em) node[basebox, minimum width=5em] {Offsets}
+(-9em, 0em) node[basebox, minimum width=5em] {Octet}
+(-4em, 2em) node[basebox, minimum width=4em] {Octet}
+(-4em, 0em) node[basebox, minimum width=4em] {Bit}
+;
+
+\foreach \x in {0,...,3}
+ \node[bytebox] at (\x * 16em, 2em) {\scriptsize \x};
+\foreach \x in {0,...,31}
+ \node[bitbox] at (\x * 2em, 0em) {\scriptsize \x};
+
+\foreach \x in {0,32,...,160}
+ \node[basebox, minimum width=4em] at (-4em, \x * -1/16*1em - 2em) {\scriptsize \x};
+
+\foreach \x in {0,4,...,20}
+ \node[basebox, minimum width=5em] at (-9em, \x * -0.5em - 2em) {\scriptsize \x};
+
+\path
+(0em, -1 * 2em) node[basebox, minimum width=8em] {Version}
+(8em, -1 * 2em) node[basebox, minimum width=8em] {IHL}
+(16em, -1 * 2em) node[basebox, minimum width=16em] {TOS}
+(32em, -1 * 2em) node[wordbox] {Packet length}
+
+(0em, -2 * 2em) node[wordbox] {Identification}
+(32em, -2 * 2em) node[bitbox] {X}
+(34em, -2 * 2em) node[bitbox] {D}
+(36em, -2 * 2em) node[bitbox] {M}
+(38em, -2 * 2em) node[basebox, minimum width=26em] {Fragement offset}
+
+(0em, -3 * 2em) node[bytebox] {TTL}
+(16em, -3 * 2em) node[bytebox] {Protocol}
+(32em, -3 * 2em) node[wordbox] {Header checksum}
+
+(0em, -4 * 2em) node[qwordbox] {Source ip address}
+(0em, -5 * 2em) node[qwordbox] {Destination ip address}
+(0em, -6 * 2em) node[qwordbox] {Options (variable length)}
+
+%(0em, -7 * 2em) node[qwordbox, minimum height=4 em] {Payload}
+;
+
+\end{tikzpicture}
+}
diff --git a/slides/images/ip-header.svg b/slides/images/ip-header.svg
deleted file mode 100644
index 83c1600..0000000
--- a/slides/images/ip-header.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="684px" height="281px" version="1.1" content="&lt;mxfile userAgent=&quot;Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36&quot; version=&quot;8.5.10&quot; editor=&quot;www.draw.io&quot;&gt;&lt;diagram&gt;7VvbbuIwEP2aPFbKHXgsULaV9lKJavfZTUyw6sSsY0rZr187ccjFoaUScUJFpbbJ+H7meDweO4Yzi9++UbBZ/yAhxIZthm+GMzdse2x5/K8Q7HOBa41zQURRmIusUrBE/6AUmlK6RSFMaxkZIZihTV0YkCSBAavJAKVkV8+2Irje6gZEUBEsA4BV6R8UsrUclj0q5fcQReuiZcuf5CnPIHiJKNkmsj3DdlbZT54cg6IuOdB0DUKyq4icO8OZUUJY/hS/zSAW0Baw5eUWR1IP/aYwYacUsPMCrwBv5dAf7r/LrrF9AUc2ICiKmIYz3a0Rg8sNCETqjuufy9YsxvzN4o8rkrAFiBEWuv8NaQgSwMWyIUgZfDvaWesAAWcWJDFkdM+zyAK2KVHbN953FR1J0bqiHlfKgGRFdKi5RIY/SHDagXIUoPjQUkSSoYJl2f2B5Spg3c1+DhUo9wRWuR0B5SlAzZezx6EideDLO0gdaHduqHwFKsP2MW9gGqLXGlz+360wn1M+UHYDMIoSw7nlOTBcsTKVP0Xyf1ZLugFJIRPLVy7lvaomVMRZq4W0oS/Rcl0pKaPkBc4IJpRLEpJAoSmEcUMkuzsPuEogl0+FwhBfmG5lQozCUDTTyoI6TzqcMg3bYo1VIrTxwD4DD0YaeeD2TQOaYzdMFkxGdWvg6SPBWCMJxn2TYNi2oLko6LQFE400GF1p8C4N/P5oUOwaKzx4IgzgTL9JxJsfqEPluh87VE5XDpVlaZw9Yv90nT7HmeD1aEUtNQjQoWvtX4nwGZOglQhqkKM7IjjWlQjvEWHUJxHUAE6HS0Pvu6xhE8E3eySCGqB6CHm/0YrDxC4p+unq9KzUWNUCgygdKliKG9oClt8VVmo8Z0FBFIuu2yZZrVLIhoqb14wct+DWHXBqDOQegpDbMdsM1jB4SbfxUIFTCNdi0rqbnWrU4AnF0BBHjGLhQq9wqLgpVq0FN6srwhVtV3B7pISRgOCh4qUcWGjFS91fL8mWBoJpIAwpTAe7IDR5dpiL1QWhqzMxW92OzmHKUCIdjosDz9cJns4tnHl13D9DBJ2Oe8sR/BfmwUUdk1kaWaBu377wOdlFsWCikQVar07YVxqcTgPH0UgDnTcn+g/zD5oGowYNRqddOTsLDdS4wa+N8KwvxqF2W05Ju3Oodd4xEAM1b/iv07sVHbZr3Zg/botP1dX8KSx2hRBTpIYoVQ3wPSv6B56zDAKdDUEJyzriTQ1vLrDfMpLmd+GtEywZI5ucPwFKoifxMr9xu129Ghualp2t0xXsajRlumdqpO6MuGfzdgiwN9jeto/sjO1qMEaBHCbhrfjmojQipy4LMFQ+w/gQk8qgvZZBFzIKMWAilFutvg0J2cKjYEUJefM6ht/AMs0iebJQCadSz9Fb+EVFDNAIMqWiTC+HUbepir+Wn4nk2ctPcZy7/w==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g transform="translate(0.5,0.5)"><rect x="123" y="40" width="80" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(152.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="21" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 22px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">IHL</div></div></foreignObject><text x="11" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">IHL</text></switch></g><rect x="43" y="40" width="80" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(60.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="44" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Version</div></div></foreignObject><text x="22" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Version</text></switch></g><rect x="323" y="40" width="40" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(330.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="25" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 26px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">ECN</div></div></foreignObject><text x="13" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">ECN</text></switch></g><rect x="203" y="40" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(246.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="33" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 34px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">DSCP</div></div></foreignObject><text x="17" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">DSCP</text></switch></g><g transform="translate(345.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="15" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 16px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>15</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(29.5,93.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 9px; white-space: nowrap; word-wrap: normal; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>4</span></div></div></div></foreignObject><text x="4" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(208.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 9px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>8</span></div></div></div></foreignObject><text x="4" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(188.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 9px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>7</span></div></div></div></foreignObject><text x="4" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><rect x="363" y="40" width="320" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(487.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="71" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 72px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Total length</div></div></foreignObject><text x="36" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Total length</text></switch></g><g transform="translate(505.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="15" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 16px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>23</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(365.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="15" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 16px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>16</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(665.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="15" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 16px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>31</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(525.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="15" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 16px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>24</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><rect x="43" y="80" width="320" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(163.5,93.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="79" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 80px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Identification</div></div></foreignObject><text x="40" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Identification</text></switch></g><rect x="363" y="80" width="60" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(377.5,93.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="31" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 32px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Flags</div></div></foreignObject><text x="16" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Flags</text></switch></g><rect x="423" y="80" width="260" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(504.5,93.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="96" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 97px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Fragment offset</div></div></foreignObject><text x="48" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Fragment offset</text></switch></g><rect x="363" y="120" width="320" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(469.5,133.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="107" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 108px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Header checksum</div></div></foreignObject><text x="54" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Header checksum</text></switch></g><rect x="43" y="120" width="160" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(87.5,133.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="71" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 72px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Time to live</div></div></foreignObject><text x="36" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Time to live</text></switch></g><rect x="203" y="120" width="160" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(258.5,133.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="48" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 49px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Protocol</div></div></foreignObject><text x="24" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Protocol</text></switch></g><rect x="43" y="160" width="640" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(316.5,173.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 94px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Source address</div></div></foreignObject><text x="47" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Source address</text></switch></g><rect x="43" y="200" width="640" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(302.5,213.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="120" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 121px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Destination address</div></div></foreignObject><text x="60" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Destination address</text></switch></g><g transform="translate(48.5,23.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 9px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>0</span></div></div></div></foreignObject><text x="4" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(29.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 9px; white-space: nowrap; word-wrap: normal; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>0</span></div></div></div></foreignObject><text x="4" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(29.5,133.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 9px; white-space: nowrap; word-wrap: normal; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>8</span></div></div></div></foreignObject><text x="4" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(21.5,173.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="16" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 17px; white-space: nowrap; word-wrap: normal; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>12</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(21.5,213.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="16" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 17px; white-space: nowrap; word-wrap: normal; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>16</span></div></div></div></foreignObject><text x="8" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><rect x="43" y="240" width="640" height="40" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(339.5,253.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="46" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 47px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Options</div></div></foreignObject><text x="23" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Options</text></switch></g><g transform="translate(0.5,246.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: normal; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div style="text-align: left"><span>20 - 32</span></div></div></div></foreignObject><text x="19" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">[Not supported by viewer]</text></switch></g><g transform="translate(23.5,2.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="17" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Bit</div></div></foreignObject><text x="9" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Bit</text></switch></g><g transform="translate(1.5,22.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="27" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Byte</div></div></foreignObject><text x="14" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana">Byte</text></switch></g><path d="M 3 0 L 43 40" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/></g></svg> \ No newline at end of file
diff --git a/slides/images/ip-header.xml b/slides/images/ip-header.xml
deleted file mode 100644
index 4ac4521..0000000
--- a/slides/images/ip-header.xml
+++ /dev/null
@@ -1 +0,0 @@
-<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" version="8.5.10" editor="www.draw.io" type="device"><diagram id="a3f57cc8-2321-3e81-8ff5-796f424172f4" name="Page-1">7VvbbqMwEP0aHisBJiR5bJJ2u9JeKqXafXbBIVYNzhqnafbr1wYTLiZtKhVDuqnUFsbGlzPH45kxWGAev3xhcLP+TkNELNcOXyywsFx34ozEXynY5wLPG+eCiOEwFzmlYIn/IiW0lXSLQ5TWKnJKCcebujCgSYICXpNBxuiuXm1FSb3XDYyQJlgGkOjS3zjkazUtd1zK7xCO1kXPjj/NSx5h8BQxuk1Uf5YLVtlPXhzDoi010XQNQ7qriMCNBeaMUp5fxS9zRCS0BWz5c7dHSg/jZijhpzzg5g88Q7JVU/96900Nje8LOLIJIfmIbYHZbo05Wm5gIEt3Qv9CtuYxEXeOuFzRhN/CGBOp+1+IhTCBQqw6Qoyjl6ODdQ4QCGYhGiPO9qKKesC1FWr7xv2uoiMlWlfU4ykZVKyIDi2XyIgLBU47UEADSkwtxTQZKliO2x9YngbWzfzHUIHyTmCV1xFQIw2oxXJ+P1SkDnx5BakD7T4aKl+DynJ9IjqYhfi5Bpf/ZyvN50xMlF9BgqPEAteiBkErXpaKq0j9z1pJNzApZHL7yqViVNWCijjrtZA29CV7risl5Yw+oTkllAlJQhMkNYUJaYjUcBeBUAkS8plUGBYb07UqiHEYym5aWVDnSYdLpmFbnIlOhDYeuB/Ag7FBHnh904Dl2A2TBdNx3RqMzJHAcQyyYNI3C4ZtDJq7gklj4Oj+a3c8GF948CoP/B55oLvnD5RDkuk3iUT3A3WpPO9tlwp05VI5uvvZ3eqREdRl+RxnwqhPM2rUufYvRHiPSTBKBJPeNXAuRHiNCOM+iTAxuTX0HmcNmwi+3R8RijaqGeJQjBuvBEz8nPKfnkHPytXj01sCo3SoYGluaAtYfldY6THcLYNRLIfu2nS1ShEfKm6jZu64BbfugNODnjsEQ2HHXDtYo+Ap3cZDBU4jXItJ62516ucTDzhGljxklBsXfkZDxU2zai24OZ0RTo8X7xnlNKBkqHhpRxZG8dLDqiXdskAyDYYhQ+lgN4Qmzw5rsbohdHUq1pLjX6CU40Q5HGcHnm8SPJOeu31x3N9DBKOO+/R/4sFZHZQ55lgA9PDtEx+UnRULpgZZYPK41HEvNDidBgAYpIEeaX/mNP+gaTBu0GB82ktnH0IDPW/wcyM967NxqL2WU9LOHGqgZws6TIWLAdtX4hf0bkWH7Vo31o/X4lN1tn70NMgM6ylKXQMiZsV/4WNWQaKzoTjh2UBGM2u0kNhvOU3zt+GdEywZp5ucPwFOogd5s7jyut29GgFNS2QLuoJdz6bM9lzP1H0g7tm6HQLsDba3xZGdsb0tn9CAHCXhtfzqojQip24LKNQ+xHgTk8qkRy2TLmQMEchlKrfafBsSqod7yYoS8ubrGH4DyzTL5KmHSji1do6+h180xCGLENcayvRymHWbqsRt+aFIXr38GAfc/AM=</diagram></mxfile> \ No newline at end of file
diff --git a/slides/images/ip-packet.pgf b/slides/images/ip-packet.pgf
deleted file mode 100644
index 5a977a2..0000000
--- a/slides/images/ip-packet.pgf
+++ /dev/null
@@ -1,47 +0,0 @@
-\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}
diff --git a/slides/images/udp-header.pgf b/slides/images/udp-header.pgf
new file mode 100644
index 0000000..b7d9f3f
--- /dev/null
+++ b/slides/images/udp-header.pgf
@@ -0,0 +1,37 @@
+\scalebox{0.5}{
+\begin{tikzpicture}[
+every node/.style={font=\bfseries},
+basebox/.style={anchor=west, minimum height=2em, draw, rectangle},
+bitbox/.style={basebox, minimum width=2em},
+bytebox/.style={basebox, minimum width=16em},
+wordbox/.style={basebox, minimum width=32em},
+qwordbox/.style={basebox, minimum width=64em},
+]
+
+\path
+(-9em, 2em) node[basebox, minimum width=5em] {Offsets}
+(-9em, 0em) node[basebox, minimum width=5em] {Octet}
+(-4em, 2em) node[basebox, minimum width=4em] {Octet}
+(-4em, 0em) node[basebox, minimum width=4em] {Bit}
+;
+
+\foreach \x in {0,...,3}
+ \node[bytebox] at (\x * 16em, 2em) {\scriptsize \x};
+\foreach \x in {0,...,31}
+ \node[bitbox] at (\x * 2em, 0em) {\scriptsize \x};
+
+\node[basebox, minimum width=4em] at (-4em, -2em) {\scriptsize 0};
+\node[basebox, minimum width=4em] at (-4em, -4em) {\scriptsize 32};
+
+\node[basebox, minimum width=5em] at (-9em, -2em) {\scriptsize 0};
+\node[basebox, minimum width=5em] at (-9em, -4em) {\scriptsize 4};
+
+\path
+( 0 * 2em, -1 * 2em) node[wordbox] {source port}
+(16 * 2em, -1 * 2em) node[wordbox] {destination port}
+( 0 * 2em, -2 * 2em) node[wordbox] {length}
+(16 * 2em, -2 * 2em) node[wordbox] {checksum}
+;
+
+\end{tikzpicture}
+}
diff --git a/slides/images/udp-packet.pgf b/slides/images/udp-packet.pgf
deleted file mode 100644
index 405f805..0000000
--- a/slides/images/udp-packet.pgf
+++ /dev/null
@@ -1,32 +0,0 @@
-\scalebox{0.5}{
-
-\begin{tikzpicture}[
-every node/.style={font=\bfseries}
-]
-
-\path
-(-6.5em, 2em) node[draw, rectangle, minimum width=5em, minimum height=2em] {Offsets}
-(-6.5em, 0em) node[draw, rectangle, minimum width=5em, minimum height=2em] {Octet}
-(-2em, 2em) node[draw, rectangle, minimum width=4em, minimum height=2em] {Octet}
-(-2em, 0em) node[draw, rectangle, minimum width=4em, minimum height=2em] {Bit}
-
-(16em, -2em) node[draw, rectangle, minimum width=32em, minimum height=2em] {source port}
-(48em, -2em) node[draw, rectangle, minimum width=32em, minimum height=2em] {destination port}
-(16em, -4em) node[draw, rectangle, minimum width=32em, minimum height=2em] {length}
-(48em, -4em) node[draw, rectangle, minimum width=32em, minimum height=2em] {checksum}
-;
-
-\foreach \x in {0,...,3}
- \node[draw, rectangle, minimum width=16em, minimum height=2em] at (\x * 16em + 8em, 2em) {\scriptsize \x};
-\foreach \x in {0,...,31}
- \node[draw, rectangle, minimum width=2em, minimum height=2em] at (\x * 2em + 1em, 0em) {\scriptsize \x};
-
-\node[draw, rectangle, minimum width=4em, minimum height=2em] at (-2em, -2em) {\scriptsize 0};
-\node[draw, rectangle, minimum width=4em, minimum height=2em] at (-2em, -4em) {\scriptsize 32};
-
-\node[draw, rectangle, minimum width=5em, minimum height=2em] at (-6.5em, -2em) {\scriptsize 0};
-\node[draw, rectangle, minimum width=5em, minimum height=2em] at (-6.5em, -4em) {\scriptsize 4};
-
-\end{tikzpicture}
-
-}