IP_header


\documentclass[margin=10pt]{standalone}
\usepackage{graphics}
\usepackage{bytefield}

\begin{document}
\begin{bytefield}[bitwidth=1.1em, leftcurly=., leftcurlyspace=0pt]{32}
    \bitheader{0-31} \\
    \begin{leftwordgroup}{000}
        \bitbox{4}{IP Ver.} & \bitbox{4}{IHL} & \bitbox{6}{DSCP}
        & \bitbox{2}{ECN} & \bitbox{16}{Total Lenght}
    \end{leftwordgroup} \\
    \begin{leftwordgroup}{032}
        \bitbox{16}{Identifier} &
        \bitbox{3}{Flags} &
        \bitbox{13}{Fragment Offset}
    \end{leftwordgroup}\\
    \begin{leftwordgroup}{064}
        \bitbox{8}{TTL} & \bitbox{8}{Protocol} & \bitbox{16}{Header Checksum}
    \end{leftwordgroup}\\
    \begin{leftwordgroup}{096}
        \bitbox{32}{Source IP}
    \end{leftwordgroup}\\
    \begin{leftwordgroup}{128}
        \bitbox{32}{Destination IP}
    \end{leftwordgroup}\\
    \begin{leftwordgroup}{160 \\ \hspace{0.25cm}$\vdots$ \\ 448}
        \begin{rightwordgroup}{Optional \\ (If $IHL > 5$)}
            \wordbox[blr]{3}{Options}
        \end{rightwordgroup}
    \end{leftwordgroup}\\
\end{bytefield}
\end{document}