\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Managed Kaos (managedkaos)} \pdfinfo{ /Title (tcp-ip-model-layers.pdf) /Creator (Cheatography) /Author (Managed Kaos (managedkaos)) /Subject (TCP/IP Model Layers Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{A3A3A3} \definecolor{LightBackground}{HTML}{F3F3F3} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{TCP/IP Model Layers Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Managed Kaos (managedkaos)} via \textcolor{DarkBackground}{\uline{cheatography.com/18843/cs/4354/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Managed Kaos (managedkaos) \\ \uline{cheatography.com/managedkaos} \\ \uline{\seqsplit{managedkaos}.com} \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 9th June, 2015.\\ Updated 13th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{OSI Model}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{The Open Systems Interconnection model (OSI Model) is a conceptual model that characterizes and standardizes the communication functions of a telecommunication or computing system without regard of their underlying internal structure and technology. Its goal is the interoperability of diverse communication systems with standard protocols. The model partitions a communication system into abstraction layers. The original version of the model defined seven layers. A layer serves the layer above it and is served by the layer below it.% Row Count 11 (+ 11) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{7. APPLICATION Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{High-level APIs, including resource sharing, remote file access, directory services and virtual terminals% Row Count 3 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{6. PRESENTATION Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption% Row Count 3 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{5. SESSION Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes% Row Count 3 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{4. TRANSPORT Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing \newline % Row Count 3 (+ 3) . \newline % Row Count 4 (+ 1) .% Row Count 5 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{3. NETWORK Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Structuring and managing a multi-node network, including addressing, routing and traffic control \newline % Row Count 2 (+ 2) . \newline % Row Count 3 (+ 1) . \newline % Row Count 4 (+ 1) .% Row Count 5 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{2. DATA LINK Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Reliable transmission of data frames between two nodes connected by a physical layer% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{1. PHYSICAL Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Transmission and reception of raw bit streams over a physical medium% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{TCP/IP Model}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{TCP/IP provides end-to-end connectivity specifying how data should be packetized, addressed, transmitted, routed and received at the destination. This functionality is organized into four abstraction layers which are used to sort all related protocols according to the scope of networking involved. \newline % Row Count 6 (+ 6) . \newline % Row Count 7 (+ 1) . \newline % Row Count 8 (+ 1) .% Row Count 9 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{4. APPLICATION Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Application layer includes all the higher-level protocols: \newline % Row Count 2 (+ 2) Telnet \newline % Row Count 3 (+ 1) X Windows \newline % Row Count 4 (+ 1) SSH (Secure SHell) \newline % Row Count 5 (+ 1) FTP (File Transfer Protocol) \newline % Row Count 6 (+ 1) DNS (Domain Naming System) \newline % Row Count 7 (+ 1) RDP (Remote Desktop Protocol) \newline % Row Count 8 (+ 1) HTTP (Hypertext Transfer Protocol) \newline % Row Count 9 (+ 1) SMTP (Simple Mail Transfer Protocol) \newline % Row Count 10 (+ 1) DHCP (Dynamic Host Configuration Protocol) \newline % Row Count 11 (+ 1) SNMP (Simple Network Management Protocol) \newline % Row Count 12 (+ 1) . \newline % Row Count 13 (+ 1) .% Row Count 14 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{3. TRANSPORT Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Provides communication session management between computers. Defines the level of service and status of the connection.The main protocols included at Transport layer are: TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).% Row Count 5 (+ 5) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{2. NETWORK/INTERNET Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Packages data into IP datagrams, containing source and destination address information used to forward datagrams between hosts and across networks. Protocols are: IP (Internet Protocol), ICMP(Internet Control Message Protocol), ARP (Address Resolution Protocol), RARP (Reverse Address Resolution Protocol)% Row Count 7 (+ 7) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{1. NETWORK INTERFACE Layer}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Specifies how data is physically sent through the network, including how bits are electrically signaled by hardware devices that interface directly with a network medium, such as: Coaxial cable, Optical fiber, Twisted-pair copper wire,, Ethernet, RS-232 \newline % Row Count 6 (+ 6) . \newline % Row Count 7 (+ 1) .% Row Count 8 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}