\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{psynox} \pdfinfo{ /Title (ospf-hcip-huawei.pdf) /Creator (Cheatography) /Author (psynox) /Subject (OSPF-HCIP-HUAWEI 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{OSPF-HCIP-HUAWEI Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{psynox} via \textcolor{DarkBackground}{\uline{cheatography.com/202859/cs/43179/}}} \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}psynox \\ \uline{cheatography.com/psynox} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 6th July, 2024.\\ 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*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Common LSA Types}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Router-LSA Type 1}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}Every router on an OSPF network generates Router-LSAs. A Router-LSA describes a router's link state and cost and can be flooded only in the area to which the interface belongs.} \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Network-LSA Type 2}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}A designated router (DR) generates Network-LSAs. A Network-LSA describes all the routers that establish adjacencies with the DR on the MA network to which the DR is connected and the DR itself. The LSA can be flooded only in the area to which the interface belongs.} \tn % Row Count 12 (+ 7) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{Network-summary-LSA Type 3}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}An area border router (ABR) generates Network-summary-LSAs. A Network-summary-LSA describes the route to the destination network segment of an area. It is used to transmit inter-area routes.} \tn % Row Count 18 (+ 6) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{ASBR-summary-LSA Type 4}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}An ABR generates ASBR-summary-LSAs. An ASBR-summary-LSA describes routes to an ASBR, and is equivalent to a host route to an autonomous system border router (ASBR).} \tn % Row Count 23 (+ 5) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{ AS-external-LSA Type 5}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}An ASBR generates AS-external-LSAs. An AS-external-LSA describes routes to destinations outside an AS} \tn % Row Count 27 (+ 4) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{NSSA LSA Type 7}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}An ASBR generates NSSA LSAs. An NSSA LSA describes routes to destinations outside an AS. NSSA LSAs have similar functions as AS-external-LSAs, but are flooded in different areas. NSSA LSAs can be flooded only in the NSSA and cannot enter area 0. The ABR in the NSSA converts Type 7 LSAs into Type 5 LSAs and injects them into area 0.} \tn % Row Count 36 (+ 9) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{DR/BDR/DRother}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{DR and BDR election process on a Broadcast or NBMA link: \newline % Row Count 2 (+ 2) {\bf{\{\{resetcounter\}\}\{\{counter\}\}}} The interface with the higher PSPF DR priority becomes the DR \newline % Row Count 4 (+ 2) {\bf{\{\{counter\}\}}} If the priority (default 1) are is the same the router interface with the HIGHER OSPF router ID is elected as the DR. \newline % Row Count 7 (+ 3) {\bf{\{\{counter\}\}}} If a DR and BDR existe on the network, newly connected routers will accept the DR and BDR that existe regardless of its router ID or priority. \newline % Row Count 11 (+ 4) {\bf{\{\{counter\}\}}} IF the DR fails and goes Down, the BDR takes over the role of the DR and the remaing devices whose priority is greater than 0 compete to become the new BDR. \newline % Row Count 15 (+ 4) Only the DR and BDR can stablish adjacencies with other OSFP routers. DRothers do not stablish OSPF adjacencies with one another and their relationshiot is in the 2-way state% Row Count 19 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Link State Procol Steps}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{\{\{counter\}\} Establish a {\bf{neighbor}} relationship between neighboring routers.} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{\{\{counter\}\} {\bf{Exchange}} link state informacion.} \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{\{\{counter\}\} {\bf{Calculate}} optimal path.} \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{\{\{counter\}\} {\bf{Generate}} routing entries according to the {\bf{shortest path tree}} and load the routin entries to the routing table.} \tn % Row Count 7 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.83229 cm} x{1.14471 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Attributes}} \tn % Row 0 \SetRowColor{LightBackground} Type & \seqsplit{Link-State} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Algorithm & Dijkstra \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} Metric & Cost \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} Route Preference Internal/External & 10/150 \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} Protocols/Port & IP/89 \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} Hello Multicast Address & \seqsplit{224.0.0.5} \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} DR Multicast Address & \seqsplit{224.0.0.6} \tn % Row Count 9 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.69678 cm} x{4.28022 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Formula}} \tn % Row 0 \SetRowColor{LightBackground} Cost & 100M/Interface bandwidth \tn % Row Count 1 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{FSM}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{\{\{resetcounter\}\}\{\{counter\}\}}} {\bf{Down}}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{\{\{counter\}\}}} {\bf{Init}}} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{\{\{counter\}\}}} {\bf{2-way}}} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{\{\{counter\}\}}} {\bf{Extart}}} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{\{\{counter\}\}}} {\bf{Exchange}}} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{\{\{counter\}\}}} {\bf{Full}}} \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}