diff --git a/.mailmap b/.mailmap index 9ca08ed..3168377 100644 --- a/.mailmap +++ b/.mailmap @@ -1,4 +1,5 @@ -Christoffer -Christoffer -Christoffer -Christoffer +Christoffer Hansen +Christoffer Hansen +Christoffer Hansen +Christoffer Hansen +Christoffer Hansen diff --git a/CHANGELOG.md b/CHANGELOG.md index 41471a6..476b093 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - See commit changelog +## [0.4.0] - 2018-02-18 +### Added +- EIGRP chapter + +## [0.3.4] - 2017-09-17 +### Fix +- Cannot remember what was fixed + ## [0.3.3] - 2017-09-15 ### Fix - Table 2: Spanning Tree standards @@ -55,7 +63,26 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Initial version - Section: Spanning Tree -[Unreleased]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.3...HEAD +[1.0.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.19.0...v1.0.0 +[0.19.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.18.0...v0.19.0 +[0.18.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.17.0...v0.18.0 +[0.17.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.16.0...v0.17.0 +[0.16.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.15.0...v0.16.0 +[0.15.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.14.0...v0.15.0 +[0.14.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.13.0...v0.14.0 +[0.13.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.12.0...v0.13.0 +[0.12.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.11.0...v0.12.0 +[0.11.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.10.0...v0.11.0 +[0.10.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.9.0...v0.10.0 +[0.9.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.8.0...v0.9.0 +[0.8.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.7.0...v0.8.0 +[0.7.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.6.0...v0.7.0 +[0.6.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.5.0...v0.6.0 +[0.5.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.4.0...v0.5.0 + +[Unreleased]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.4.0...HEAD +[0.4.0]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.4...v0.4.0 +[0.3.4]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.3...v0.3.4 [0.3.3]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.2...v0.3.3 [0.3.2]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.1...v0.3.2 [0.3.1]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.0...v0.3.1 diff --git a/LICENSE.md b/LICENSE.md index 966073a..fcb39c4 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2017, Netravnen +Copyright (c) 2017-2018, Netravnen All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..af6aa8f --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,8 @@ +# Merge request + +Describe in sub-points to the listed main points: +- New ? +- Changed ? +- Removed ? + +Make sure to have read the [contribution guide](CONTRIBUTING.md) in advance diff --git a/README.md b/README.md index 5310e0f..68eae52 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ +URLs: [Development repository][gitlab], [mirror][github], [mirror][git.data.coop] + # Subjects tryied covered ## Switching -- [X] Spanning Tree +- [x] Spanning Tree - [ ] SDM Templates - [ ] PoE - [ ] LACP @@ -10,9 +12,9 @@ - [ ] vPC (cisco proprietary) ## Routing -- [X] BGP +- [x] BGP - [ ] ISIS -- [ ] EIGRP (cisco proprietary) +- [x] EIGRP (cisco proprietary) - [ ] OSPF - [ ] RIP - [ ] InterVLAN Routing @@ -59,19 +61,20 @@ - [ ] StackWise ## AAA -- [X] TACACS+ (cisco proprietary) -- [X] RADIUS +- [x] TACACS+ (cisco proprietary) +- [x] RADIUS ## Example configuration snippets - [ ] SSH -- [X] CDP (cisco proprietary) -- [X] DHCP -- [X] HSRP (cisco proprietary) -- [X] Hardware clock -- [X] LLDP -- [X] NTP -- [X] OSPFv2 -- [X] VTY +- [x] CDP (cisco proprietary) +- [x] DHCP +- [x] HSRP (cisco proprietary) +- [x] Hardware clock +- [x] LLDP +- [x] NTP +- [x] OSPFv2 +- [x] VTY -[repo-origin]: https://gitlab.com/netravnen/CiscoLabNotes -[repo-mirror]: https://github.com/netravnen/CiscoLabNotes +[gitlab]: https://gitlab.com/NETRAVNEN/NetworkLabNotes +[github]: https://github.com/NETRAVNEN/NetworkLabNotes +[git.data.coop]: https://git.data.coop/NETRAVNEN/NetworkLabNotes/settings diff --git a/acronyms.tex b/acronyms.tex index b5d2d46..952d589 100644 --- a/acronyms.tex +++ b/acronyms.tex @@ -1,4 +1,5 @@ \newacronym{adsl}{ADSL}{Asymmetric Digital Subscriber Line} +\newacronym{aodv}{AODV}{Adhoc On-Demand Distance Vector Routing} \newacronym{ap}{AP}{Access Point} \newacronym{arin}{ARIN}{American Registry for Internet Numbers} \newacronym{arp}{ARP}{Address Resolution Protocol} @@ -31,6 +32,8 @@ \newacronym{dns}{DNS}{Domain Name System} \newacronym{dns6}{DNSv6}{Domain Name System version 6} \newacronym{dr}{DR}{Danmarks Radio} +\newacronym{dual}{DUAL}{Diffusing Update Algorithm} +\newacronym{dsdv}{DSDV}{Destination-Sequenced Distance Vector} \newacronym{dsl}{DSL}{Digital Subscriber Line} \newacronym{dst}{dst}{destination} \newacronym{dwdm}{DWDM}{} @@ -46,6 +49,7 @@ \newacronym{fhrp}{FHRP}{First Hop Redundancy Protocol} \newacronym{fib}{FIB}{Forward Information Base} \newacronym{fix}{FIX}{Federal Internet Exchange} +\newacronym{frr}{FRR}{Free Range Routing daemon} \newacronym{fsm}{FSM}{Finite State Machine} \newacronym{ftp}{FTP}{File Transfer Protocol} \newacronym{ftps}{FTPS}{File Transfer Protocol Secure} @@ -58,6 +62,7 @@ \newacronym{gprs}{GPRS}{General Packet Radio Service} \newacronym{gsm}{GSM}{Global System for Mobile communications} \newacronym{ha}{HA}{High Availability} +\newacronym{hmac}{HMAC}{Hashed Message Authentication Code} \newacronym{hsrp}{HSRP}{Hot-Standby Routing Protocol} \newacronym{http}{HTTP}{Hypertext Transfer Protocol} \newacronym{https}{HTTPS}{Hyper Text Transfer Protocol Secure} @@ -78,6 +83,7 @@ \newacronym{ip6}{IPv6}{Internet Protocol version 6} \newacronym{ipv4}{IPv4}{Internet Protocol version 4} \newacronym{ipv6}{IPv6}{Internet Protocol version 6} +\newacronym{ipx}{IPX}{Internetwork Packet Exchange} \newacronym{irc}{IRC}{Internet Relay Chat} \newacronym{irtf}{IRTF}{Internet Research Task Force} \newacronym{isis}{IS-IS}{Intermediate System to Intermediate System} @@ -115,6 +121,7 @@ \newacronym{ospf}{OSPF}{Open Shortest Path First} \newacronym{ospf3}{OSPFv3}{Open Shortest Path First v3} \newacronym{ospfv3}{OSPFv3}{Open Shortest Path First v3} +\newacronym{p2p}{P-2-P}{Point-to-Point} \newacronym{pagp}{PAgP}{Port Aggregation Protocol} \newacronym{poe}{PoE}{Power over Ethernet} \newacronym{poe+}{PoE+}{Power over Ethernet Plus} @@ -140,9 +147,11 @@ \newacronym{rpvst}{RPVST}{Per Vlan Rapid Spanning Tree} \newacronym{rpvst+}{RPVST+}{Per Vlan Rapid Spanning Tree Plus} \newacronym{rsvp}{RSVP}{Resource Reservation Protocol} +\newacronym{rtp}{RTP}{Reliable Transport Protocol} \newacronym{sdm}{SDM}{Security Device Manager} \newacronym{sdsl}{SDSL}{Symmetric Digital Subscriber Line} \newacronym{sftp}{SFTP}{Secure Shell File Transfer Protocol} +\newacronym{sia}{SIA}{Stuck in Active} \newacronym{sla}{SLA}{Service Level Agreement} \newacronym{slaac}{SLAAC}{Stateless Address Autoconfiguration} \newacronym{smtp}{SMTP}{Simpe Mail Transfer Protocol} @@ -170,6 +179,7 @@ \newacronym{ula}{ULA}{Unique Local Address} \newacronym{utc}{UTC}{Coordinated Universal Time} \newacronym{vlan}{VLAN}{Virtual Local Area Network} +\newacronym{vlsm}{VLSM}{Variable-Length Subnet Masking} \newacronym{vpn}{VPN}{Virtual Private Network} \newacronym{vrf}{VRF}{Virtual Routing and Forwarding} \newacronym{vrrp}{VRRP}{Virtual Router Redundancy Protocol} diff --git a/chapter/layer3.tex b/chapter/layer3.tex index 3f77216..3c60fa6 100644 --- a/chapter/layer3.tex +++ b/chapter/layer3.tex @@ -2,9 +2,207 @@ \section{Routed Network} +\subsection{Administrative Distance} + +\begin{table}[] + \centering + \resizebox{\columnwidth}{!}{% + \begin{tabular}{|l|l|} + \hline + \textbf{Routing Protocol} & \textbf{Administrative distance} \\ \hline + Directly connected interface & 0 \\ \hline + Static route out an interface & 1 \\ \hline + Static route to next-hop address & 1 \\ \hline + DMNR - Dynamic Mobile Network Routing & 3 \\ \hline + EIGRP summary route & 5 \\ \hline + External BGP & 20 \\ \hline + Internal EIGRP & 90 \\ \hline + IGRP & 100 \\ \hline + OSPF & 110 \\ \hline + IS-IS & 115 \\ \hline + Routing Information Protocol (RIP) & 120 \\ \hline + Exterior Gateway Protocol (EGP) & 140 \\ \hline + On Demand Routing (ODR) & 160 \\ \hline + External EIGRP & 170 \\ \hline + Internal BGP & 200 \\ \hline + Next Hop Resolution Protocol (NHRP) & 250 \\ \hline + Floating Static Route (ex. DHCP-learned) & 254 \\ \hline + Unknown (Others) & 255 \\ \hline + \end{tabular}% + } + \caption{Cisco default administrative distances} + \label{cisco-default-administrative-distances} +\end{table} + +Always remember the following points for Cisco devices:\cite{wiki:Administrative_distance} +\begin{itemize} + \item An administrative distance of 255 will cause the router to remove the route from the routing table and not use it. + \item Since IOS 12.2, the administrative distance of a static route with an exit interface is 1. Prior to the release of 12.2 it was in fact 0. + \item Only the interface itself has an administrative distance of 0, since a route cannot have a distance of less than 1. + \item Directly connected routes have an administrative distance of 0. +\end{itemize} + +\newpage + \section{OSPF} + +\newpage + \section{IS-IS} + +\newpage + \section{EIGRP} + +\gls{eigrp} is Cisco's enhanced edition if \gls{igrp}. Dating back to 1993 and a +leg for Cisco over other vendors back in the early days of the Internet. (.. +hmm. And remember Cisco's implementation of \gls{ospf} was known to be unstable +until the early 2000's.) + +The change to \gls{eigrp} from \gls{igrp} was due to the support of classless +routing. (\gls{igrp} only supported classful routing of class A (/8), B (/16), +and C (/24) networks.) + +Cisco converted \gls{eigrp} to an open standard back in 2013 with +\rfc{7868}.\cite{wiki:Enhanced_Interior_Gateway_Routing_Protocol} + +\gls{eigrp} adds support for \gls{vlsm} and the \gls{dual} with improved routing +capabilities in comparison to \gls{igrp}. Overall \gls{eigrp} provides better +capabilities compared to it's predecessor. + +\subsection[Math]{The Math behind} + +\fig{math/eigrp-dual-long}{eigrp-dual-long}{\glspl{eigrp} \gls{dual} full + formula} + +By default $K_2$, and $K_4$ is set to zero. (The are user customizable!) And +$K_5$ is set to 0. + +In effect the resulting shorter formula is this: + +\fig{math/eigrp-dual-short}{eigrp-dual-short}{\glspl{eigrp} \gls{dual} short + formula} + +\subsection{How it actually works} + +\gls{eigrp} does it routing on a \texttt{next-hop} basis. Meaning it only stores +information about a given routes next turn. And \textbf{not} about the +destination itself. (Like \gls{ospf} does) + +\subsubsection{Defaults} + +\gls{eigrp} runs on Cisco equipment with values of: +\begin{itemize} + \item \itemhead[]{Administrative Distance (Defaults)} + \begin{itemize} + \item Internal: 90 + \item External: 180 + \item Summary: 5 + \end{itemize} + \item \itemhead[]{Timers} + \begin{itemize} + \item Hello: 5s / 60s \footnote{The larger timer value applies at speeds <= T1 circuit bandwidth (a.k.a. lower-than-equal-to 1.544 Mbps)} + \item Hold: 15s / 180s + \end{itemize} + \item \itemhead[]{Supported Protocols} + \begin{itemize} + \item \gls{ip} + \item \gls{ipx} + \item AppleTalk + \end{itemize} + \item \itemhead[]{Other} + \begin{itemize} + \item Type: Distance Vector + \item Algorithm: \gls{dual} + \item Transport: \gls{ip}/88 + \item Authentication: MD5 + \item Multicast \gls{ipv4}: 224.0.0.10 + \item Multicast \gls{ipv6}: + \end{itemize} +\end{itemize} + +\subsubsection{Tables} + +\gls{eigrp} contains three tables for storing route information. + +\begin{enumerate} + \item \itemhead[]{Neighbor Table} + \begin{itemize} + \item \textit{Lists \textbf{all} directly connected neighbors} + \item Next-Hop Router(s) + \item Interface(s) + \end{itemize} + \item \itemhead[]{Topology Table} + \begin{itemize} + \item \textit{Lists \textbf{all} learned from \textbf{all} \gls{eigrp} neighbors} + \item Destination + \item Metric + \end{itemize} + \item \itemhead[]{Global Routing Table} + \begin{itemize} + \item \textit{Best routes from \gls{eigrp} topology tabel will be copied to the routing table} + \end{itemize} +\end{enumerate} + +\subsection{Stub Routing} + +\gls{eigrp} features some different ways to configure routers for specific routing scenarios. \texttt{Stub} routing is one of them. + +Stub routing effectively prevents the given stub site/router to be used for transit traffic. + +If a router is configured as a \texttt{Stud Router}. It only carries information about \tsq{it}s locally connected routes and a default route back to the transit routers. \tsq{It}s also omitted from being queried about networks is does not advertise. {\small (I.e. The Routes Query Process)}s + +\subsection{Updates Exchange} + +\begin{enumerate} + \item Routers always exchange full topology table information when neighbor-ship is established. + \item Now refresh of data will be done. Unless topology updates occur. + \item If the topology changes. A partial update about the specific prefix is sent to neighbors.\footnote{Changes includes metric components, link statuses, change in announced topology information.} + \item If a neighbor-ship fail. Then a new adjacency is formed with a full topology exchange is done. +\end{enumerate} + +Always remember \gls{eigrp} does split-horizon by default on all active links when exchanging topology updates. + +Split-horizon is the \textit{famous} rule about not sending topology updates back to the router who sent the topology update in the first place. + +\gls{eigrp} uses \gls{rtp} to send topology updates and confirmation receipts. + +On \gls{p2p} interfaces. \gls{eigrp} simply send and ACK back to the sender. +On multi-access interface/segments. \gls{eigrp} sends updates to 224.0.0.10 and receivers reply with a unicast ACK message to the sender. + +\subsection[SIA]{Stuck-in-Active} +\gls{eigrp} is known and feared for it being \texttt{Stuck-in-Active} mode when exchanging route updates between routers. The Stuck-in-Active state could cause problems on low end network gear with a low amount of resources available for the routing process. Which in cases could cause the network device to use all available resources when querying neighbor devices for updates. + +\fig{eigrp/stuck-in-active}{stuck-in-active}{EIGRP Stuck in Active} + +End result is neighbor ships between \gls{eigrp} routers is terminated and re-established again with a fresh set of route updates going out. + +Imagine a large \gls{eigrp} topology (3-digit number of routers) in a single domain and beginning with 1 neighbor-ship gets re-established. And then again and again and again. Can result in quickly several routers going Stuck-in-Active because \gls{eigrp} queries are not getting answered within a short time-frame when all routers needs to query \tsq{it}s own neighbors and their neighbors and their neighbors and so forth. Until their are no more neighbors to be queried up and down the hierarchical network topology. + +\fig{network/routing}{network-topology}{Medium sized network topology} + +\subsection{Non-Cisco Implementations} + +This is always a particular point of discussion around \gls{eigrp}. Cisco has released \textit{some} information on how \gls{eigrp} works. +Not \textit{all} information. +And only as \textit{informational} RFCs. +This ensures Cisco \textit{still} has control of the development of the protocol. +Because they have retained ownership by only publishing informational RFCs. + +This has been a hindrance for the adoption of \gls{eigrp} in other vendors than Cisco them-self. + +Known adoptions of EIGRP includes: +\begin{itemize} + \item \gls{frr} targeted release 4\cite{Frr30-4047:online} + \item Quagga has known works for trying to implement \gls{eigrp}. Still not officially implemented, thou. +\end{itemize} + +\subsection{Filtering} + +\gls{eigrp} routing updates can of course be filtered in- and outgoing direction on Cisco boxes by using prefix-lists and applying the prefix lists under the \texttt{router eigrp x} process. + +\newpage + \section{RIP} rip is the old routing protocol still existing using nukber-of-hops as the metric to calculate which route to take to the intended destination. This approach can work fine but has a nukber of weaknesses. @@ -13,10 +211,58 @@ rip is the old routing protocol still existing using nukber-of-hops as the metri 3. Has no concept of load sharing traffic between links if the same amount of hops is present amongst the best paths available. 4. Limited to a miximum of 16 hops between source and destination. +\newpage + \subsection{RIPng} The version of rip supporting ipv6. different to the standard rip in the ng version is using different multicast addresses to communicate on. +\newpage + +\section{Babel} + +Babel is built on the principles of 1) \gls{dsdv}, 2) \gls{aodv}, and 3) +\gls{eigrp} protocols. +Made for hybrid networks\footnote{network contains wired and wireless links} +and can account for a high level of instability on wireless links. + +Babel has been reported to be running stable in unstable wireless networks with +a level of reliability and fast convergence. + +\begin{itemize} + \item Loop-avoidance protocol, + \item Uses distributed Bellman-Ford algorithm, + \item \rfc{6126} in 45 pages, \textit{(28 are normative)} + \begin{enumerate} + \item Updates by \rfc{7298} {\scriptsize (The Babel extension + mechanism)}, and + \item \rfc{7557} {\scriptsize (Babel \gls{hmac} Cryptographic + Authentication)}. + \end{enumerate} + \item Highly extensible protocol,\cite{BabelDoe86:online} + \item Supports \gls{ip4} and \gls{ip6}. +\end{itemize} + +Babel on \underline{wired} networks uses by default hop-count. Can be +configured to include several values when computing the metrics. +On \underline{wireless} networks Babel should be configured to take into +account factors such as link latency, packet loss, hop-count, and radio +diversity. + +\subsection{Protocol support} + +Currently the following projects include support for Babel: +\cite{Babel-al30:online} + +\begin{itemize} + \item Bird {\footnotesize \url{http://bird.network.cz/}} + \item FRR {\footnotesize \url{https://frrouting.org/}} + \item Pybabel {\footnotesize \url{https://github.com/fingon/pybabel/}} + \item Sbabeld {\footnotesize \url{http://github.com/jech/sbabeld/}} +\end{itemize} + +\newpage + \section{Static} \newpage diff --git a/frontpage.tex b/frontpage.tex index 7ab7fb4..17443aa 100644 --- a/frontpage.tex +++ b/frontpage.tex @@ -1,12 +1,5 @@ \DTMsavenow{now} -\title{Networking with switches and routers, automation and IPv4/6} -\def\thesubject{My Notes going along with learning Cisco Networking} - -\author{"Netravnen (Gmail) (netravnen@gmail.com)" \\ - Fingerprint: C8B3 82A8 A1CD CDB7 71FE B24C C654 948F DA86 BECD} - -\def\theversion{v0.3.3} \date{{\footnotesize Last release \theversion\\% \texttt{\color{Gray}Generated \utccurrenttime}}} diff --git a/img/eigrp/stuck-in-active.jpg b/img/eigrp/stuck-in-active.jpg new file mode 100644 index 0000000..7d1201d Binary files /dev/null and b/img/eigrp/stuck-in-active.jpg differ diff --git a/img/math/eigrp-dual-long.png b/img/math/eigrp-dual-long.png new file mode 100644 index 0000000..ca71d16 Binary files /dev/null and b/img/math/eigrp-dual-long.png differ diff --git a/img/math/eigrp-dual-short.png b/img/math/eigrp-dual-short.png new file mode 100644 index 0000000..090fcc7 Binary files /dev/null and b/img/math/eigrp-dual-short.png differ diff --git a/img/network/routing.jpg b/img/network/routing.jpg new file mode 100644 index 0000000..67cca59 Binary files /dev/null and b/img/network/routing.jpg differ diff --git a/main.tex b/main.tex index d588308..740325e 100644 --- a/main.tex +++ b/main.tex @@ -3,6 +3,18 @@ \include{structure} % Load structure cfg for document \include{acronyms} % Load acronym list +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% Define constants to ensure attribution of work % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\theversion{v0.4.0} +\title{Networking with switches and routers, automation and IPv4/6} +\def\thesubject{My Notes going along with learning Networking} +\author{"Christoffer Hansen" \\ + GPG: C8B3 82A8 A1CD CDB7 71FE B24C C654 948F DA86 BECD} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % BEGIN DOCUMENT % @@ -69,7 +81,7 @@ % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bibliography{references-books,references-websites,references-wikipedia} +\bibliography{references-books,references-websites,references-wikipedia,references-videos} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % diff --git a/references-videos.bib b/references-videos.bib new file mode 100644 index 0000000..e8a986d --- /dev/null +++ b/references-videos.bib @@ -0,0 +1,9 @@ +@misc{BabelDoe86:online, + author = {Juliusz Chroboczek}, + title = {Babel Doesn't Care + Slides - BattleMeshV8 - YouTube}, + howpublished = + {\url{https://www.youtube.com/watch?v=1zMDLVln3XM&t=10s&ab_channel=AdjyLeak}}, + month = {August}, + year = {2015}, + note = {(Accessed on 02/18/2018)} +} \ No newline at end of file diff --git a/references-websites.bib b/references-websites.bib index 45d2c11..178a544 100644 --- a/references-websites.bib +++ b/references-websites.bib @@ -39,4 +39,22 @@ month = "September", year = "2011", note = "[Online; accessed on 24-June-2017]" +} + +@misc{Frr30-4047:online, + author = {Donald Sharp}, + title = {Frr 3.0 → 4.0 · FRRouting/frr Wiki}, + howpublished = {\url{https://github.com/FRRouting/frr/wiki/Frr-3.0-%E2%86%92-4.0}}, + month = {February}, + year = {2018}, + note = {(Accessed on 02/18/2018)} +} + +@misc{Babel-al30:online, + author = {Juliusz Chroboczek}, + title = {Babel — a loop-avoiding distance-vector routing protocol}, + howpublished = {\url{https://www.irif.fr/~jch/software/babel/}}, + month = {}, + year = {}, + note = {(Accessed on 02/18/2018)} } \ No newline at end of file diff --git a/references-wikipedia.bib b/references-wikipedia.bib index bdfd516..5b0d37c 100644 --- a/references-wikipedia.bib +++ b/references-wikipedia.bib @@ -96,4 +96,20 @@ year = "2017", howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Solicited-node\%20multicast\%20address&oldid=787116453}}, note = "[Online; accessed 19-July-2017]" +} + +@misc{ wiki:Administrative_distance, + author = "Wikipedia", + title = "{Administrative distance} --- {W}ikipedia{,} The Free Encyclopedia", + year = "2017", + howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Administrative\%20distance&oldid=799742717}}, + note = "[Online; accessed 18-September-2017]" +} + +@misc{ wiki:Enhanced_Interior_Gateway_Routing_Protocol, + author = "Wikipedia", + title = "{Enhanced Interior Gateway Routing Protocol} --- {W}ikipedia{,} The Free Encyclopedia", + year = "2017", + howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Enhanced\%20Interior\%20Gateway\%20Routing\%20Protocol&oldid=800921738}}, + note = "[Online; accessed 18-September-2017]" } \ No newline at end of file diff --git a/structure.tex b/structure.tex index 6ce784e..15cbf3e 100644 --- a/structure.tex +++ b/structure.tex @@ -4,28 +4,25 @@ \usepackage{lmodern} \usepackage{geometry} \usepackage{listings} -\usepackage{color} -\usepackage[usenames,dvipsnames,svgnames]{xcolor} +\usepackage{color} % makes custom color codes available. +\usepackage[usenames,dvipsnames,svgnames]{xcolor} % makes custom color codes available. \usepackage{graphicx} -\usepackage[numbers,square,sectionbib,comma,nonamebreak,elide]{natbib} +\usepackage[numbers,square,sectionbib,comma,nonamebreak,elide]{natbib} % used with layout for bibliography section. \usepackage{float} \usepackage[english]{babel} \usepackage{fancyhdr} \usepackage{wrapfig} \usepackage{array} -\usepackage{lipsum} -\usepackage{fancybox} +\usepackage{fancybox} % styling of boxes. \usepackage{varwidth} -\usepackage{enumitem} +\usepackage{enumitem} % makes available changes to lists. \usepackage{titlepic} \usepackage[nottoc]{tocbibind} -\usepackage{url} -\usepackage[showisoZ]{datetime2} +\usepackage{url} % cmd \url. +\usepackage[showisoZ]{datetime2} % more options for time formatting. \usepackage{transparent} \usepackage{soul} \usepackage{caption} -\usepackage{enumitem} -\usepackage{amssymb} \usepackage{tikzsymbols} % http://ctan.math.utah.edu/ctan/tex-archive/graphics/pgf/contrib/tikzsymbols/tikzsymbols.pdf \usepackage{textcomp} \usepackage{parskip} @@ -34,7 +31,7 @@ \usepackage{makecell} \usepackage{inconsolata} \usepackage{blindtext} -\usepackage{expdlist} +\usepackage{expdlist} \usepackage{epigraph} % used to style quotes \usepackage{titling} % makes available \thetitle \theauthor \thedate \usepackage[toc,acronym,footnote,nomain]{glossaries} % Load the package with the acronym option @@ -47,6 +44,8 @@ citecolor=darkgray, filecolor=darkgray, urlcolor=darkgray]{hyperref} % https://en.wikibooks.org/wiki/LaTeX/Hyperlinks +\usepackage{amsmath,amssymb} % math things. +\usepackage{lipsum} \renewcommand*{\multicolumntoc}{3} % https://tex.stackexchange.com/a/6455