mirror of
https://gitlab.com/netravnen/NetworkLabNotes.git
synced 2024-11-29 19:37:53 +00:00
Merge branch 'master' into 19-l3-static-routing
This commit is contained in:
commit
3b2344d295
9
.mailmap
9
.mailmap
|
@ -1,4 +1,5 @@
|
||||||
Christoffer <netravnen@gmail.com> <anonymous@overleaf.com>
|
Christoffer Hansen <netravnen@gmail.com> <anonymous@overleaf.com>
|
||||||
Christoffer <netravnen@gmail.com> <unknown@example.com>
|
Christoffer Hansen <netravnen@gmail.com> <unknown@example.com>
|
||||||
Christoffer <netravnen@gmail.com> <netravnen@users.noreply.github.com>
|
Christoffer Hansen <netravnen@gmail.com> <netravnen@users.noreply.github.com>
|
||||||
Christoffer <netravnen@gmail.com> <zbcchhan11@zbc.dk>
|
Christoffer Hansen <netravnen@gmail.com> <zbcchhan11@zbc.dk>
|
||||||
|
Christoffer Hansen <netravnen@gmail.com>
|
||||||
|
|
29
CHANGELOG.md
29
CHANGELOG.md
|
@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
- See commit changelog
|
- 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
|
## [0.3.3] - 2017-09-15
|
||||||
### Fix
|
### Fix
|
||||||
- Table 2: Spanning Tree standards
|
- Table 2: Spanning Tree standards
|
||||||
|
@ -55,7 +63,26 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
- Initial version
|
- Initial version
|
||||||
- Section: Spanning Tree
|
- 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.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.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
|
[0.3.1]: https://gitlab.com/netravnen/CiscoLabNotes/compare/v0.3.0...v0.3.1
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
BSD 3-Clause License
|
BSD 3-Clause License
|
||||||
|
|
||||||
Copyright (c) 2017, Netravnen
|
Copyright (c) 2017-2018, Netravnen
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
|
8
PULL_REQUEST_TEMPLATE.md
Normal file
8
PULL_REQUEST_TEMPLATE.md
Normal file
|
@ -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
|
33
README.md
33
README.md
|
@ -1,7 +1,9 @@
|
||||||
|
URLs: [Development repository][gitlab], [mirror][github], [mirror][git.data.coop]
|
||||||
|
|
||||||
# Subjects tryied covered
|
# Subjects tryied covered
|
||||||
|
|
||||||
## Switching
|
## Switching
|
||||||
- [X] Spanning Tree
|
- [x] Spanning Tree
|
||||||
- [ ] SDM Templates
|
- [ ] SDM Templates
|
||||||
- [ ] PoE
|
- [ ] PoE
|
||||||
- [ ] LACP
|
- [ ] LACP
|
||||||
|
@ -10,9 +12,9 @@
|
||||||
- [ ] vPC (cisco proprietary)
|
- [ ] vPC (cisco proprietary)
|
||||||
|
|
||||||
## Routing
|
## Routing
|
||||||
- [X] BGP
|
- [x] BGP
|
||||||
- [ ] ISIS
|
- [ ] ISIS
|
||||||
- [ ] EIGRP (cisco proprietary)
|
- [x] EIGRP (cisco proprietary)
|
||||||
- [ ] OSPF
|
- [ ] OSPF
|
||||||
- [ ] RIP
|
- [ ] RIP
|
||||||
- [ ] InterVLAN Routing
|
- [ ] InterVLAN Routing
|
||||||
|
@ -59,19 +61,20 @@
|
||||||
- [ ] StackWise
|
- [ ] StackWise
|
||||||
|
|
||||||
## AAA
|
## AAA
|
||||||
- [X] TACACS+ (cisco proprietary)
|
- [x] TACACS+ (cisco proprietary)
|
||||||
- [X] RADIUS
|
- [x] RADIUS
|
||||||
|
|
||||||
## Example configuration snippets
|
## Example configuration snippets
|
||||||
- [ ] SSH
|
- [ ] SSH
|
||||||
- [X] CDP (cisco proprietary)
|
- [x] CDP (cisco proprietary)
|
||||||
- [X] DHCP
|
- [x] DHCP
|
||||||
- [X] HSRP (cisco proprietary)
|
- [x] HSRP (cisco proprietary)
|
||||||
- [X] Hardware clock
|
- [x] Hardware clock
|
||||||
- [X] LLDP
|
- [x] LLDP
|
||||||
- [X] NTP
|
- [x] NTP
|
||||||
- [X] OSPFv2
|
- [x] OSPFv2
|
||||||
- [X] VTY
|
- [x] VTY
|
||||||
|
|
||||||
[repo-origin]: https://gitlab.com/netravnen/CiscoLabNotes
|
[gitlab]: https://gitlab.com/NETRAVNEN/NetworkLabNotes
|
||||||
[repo-mirror]: https://github.com/netravnen/CiscoLabNotes
|
[github]: https://github.com/NETRAVNEN/NetworkLabNotes
|
||||||
|
[git.data.coop]: https://git.data.coop/NETRAVNEN/NetworkLabNotes/settings
|
||||||
|
|
10
acronyms.tex
10
acronyms.tex
|
@ -1,4 +1,5 @@
|
||||||
\newacronym{adsl}{ADSL}{Asymmetric Digital Subscriber Line}
|
\newacronym{adsl}{ADSL}{Asymmetric Digital Subscriber Line}
|
||||||
|
\newacronym{aodv}{AODV}{Adhoc On-Demand Distance Vector Routing}
|
||||||
\newacronym{ap}{AP}{Access Point}
|
\newacronym{ap}{AP}{Access Point}
|
||||||
\newacronym{arin}{ARIN}{American Registry for Internet Numbers}
|
\newacronym{arin}{ARIN}{American Registry for Internet Numbers}
|
||||||
\newacronym{arp}{ARP}{Address Resolution Protocol}
|
\newacronym{arp}{ARP}{Address Resolution Protocol}
|
||||||
|
@ -31,6 +32,8 @@
|
||||||
\newacronym{dns}{DNS}{Domain Name System}
|
\newacronym{dns}{DNS}{Domain Name System}
|
||||||
\newacronym{dns6}{DNSv6}{Domain Name System version 6}
|
\newacronym{dns6}{DNSv6}{Domain Name System version 6}
|
||||||
\newacronym{dr}{DR}{Danmarks Radio}
|
\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{dsl}{DSL}{Digital Subscriber Line}
|
||||||
\newacronym{dst}{dst}{destination}
|
\newacronym{dst}{dst}{destination}
|
||||||
\newacronym{dwdm}{DWDM}{}
|
\newacronym{dwdm}{DWDM}{}
|
||||||
|
@ -46,6 +49,7 @@
|
||||||
\newacronym{fhrp}{FHRP}{First Hop Redundancy Protocol}
|
\newacronym{fhrp}{FHRP}{First Hop Redundancy Protocol}
|
||||||
\newacronym{fib}{FIB}{Forward Information Base}
|
\newacronym{fib}{FIB}{Forward Information Base}
|
||||||
\newacronym{fix}{FIX}{Federal Internet Exchange}
|
\newacronym{fix}{FIX}{Federal Internet Exchange}
|
||||||
|
\newacronym{frr}{FRR}{Free Range Routing daemon}
|
||||||
\newacronym{fsm}{FSM}{Finite State Machine}
|
\newacronym{fsm}{FSM}{Finite State Machine}
|
||||||
\newacronym{ftp}{FTP}{File Transfer Protocol}
|
\newacronym{ftp}{FTP}{File Transfer Protocol}
|
||||||
\newacronym{ftps}{FTPS}{File Transfer Protocol Secure}
|
\newacronym{ftps}{FTPS}{File Transfer Protocol Secure}
|
||||||
|
@ -58,6 +62,7 @@
|
||||||
\newacronym{gprs}{GPRS}{General Packet Radio Service}
|
\newacronym{gprs}{GPRS}{General Packet Radio Service}
|
||||||
\newacronym{gsm}{GSM}{Global System for Mobile communications}
|
\newacronym{gsm}{GSM}{Global System for Mobile communications}
|
||||||
\newacronym{ha}{HA}{High Availability}
|
\newacronym{ha}{HA}{High Availability}
|
||||||
|
\newacronym{hmac}{HMAC}{Hashed Message Authentication Code}
|
||||||
\newacronym{hsrp}{HSRP}{Hot-Standby Routing Protocol}
|
\newacronym{hsrp}{HSRP}{Hot-Standby Routing Protocol}
|
||||||
\newacronym{http}{HTTP}{Hypertext Transfer Protocol}
|
\newacronym{http}{HTTP}{Hypertext Transfer Protocol}
|
||||||
\newacronym{https}{HTTPS}{Hyper Text Transfer Protocol Secure}
|
\newacronym{https}{HTTPS}{Hyper Text Transfer Protocol Secure}
|
||||||
|
@ -78,6 +83,7 @@
|
||||||
\newacronym{ip6}{IPv6}{Internet Protocol version 6}
|
\newacronym{ip6}{IPv6}{Internet Protocol version 6}
|
||||||
\newacronym{ipv4}{IPv4}{Internet Protocol version 4}
|
\newacronym{ipv4}{IPv4}{Internet Protocol version 4}
|
||||||
\newacronym{ipv6}{IPv6}{Internet Protocol version 6}
|
\newacronym{ipv6}{IPv6}{Internet Protocol version 6}
|
||||||
|
\newacronym{ipx}{IPX}{Internetwork Packet Exchange}
|
||||||
\newacronym{irc}{IRC}{Internet Relay Chat}
|
\newacronym{irc}{IRC}{Internet Relay Chat}
|
||||||
\newacronym{irtf}{IRTF}{Internet Research Task Force}
|
\newacronym{irtf}{IRTF}{Internet Research Task Force}
|
||||||
\newacronym{isis}{IS-IS}{Intermediate System to Intermediate System}
|
\newacronym{isis}{IS-IS}{Intermediate System to Intermediate System}
|
||||||
|
@ -115,6 +121,7 @@
|
||||||
\newacronym{ospf}{OSPF}{Open Shortest Path First}
|
\newacronym{ospf}{OSPF}{Open Shortest Path First}
|
||||||
\newacronym{ospf3}{OSPFv3}{Open Shortest Path First v3}
|
\newacronym{ospf3}{OSPFv3}{Open Shortest Path First v3}
|
||||||
\newacronym{ospfv3}{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{pagp}{PAgP}{Port Aggregation Protocol}
|
||||||
\newacronym{poe}{PoE}{Power over Ethernet}
|
\newacronym{poe}{PoE}{Power over Ethernet}
|
||||||
\newacronym{poe+}{PoE+}{Power over Ethernet Plus}
|
\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}
|
||||||
\newacronym{rpvst+}{RPVST+}{Per Vlan Rapid Spanning Tree Plus}
|
\newacronym{rpvst+}{RPVST+}{Per Vlan Rapid Spanning Tree Plus}
|
||||||
\newacronym{rsvp}{RSVP}{Resource Reservation Protocol}
|
\newacronym{rsvp}{RSVP}{Resource Reservation Protocol}
|
||||||
|
\newacronym{rtp}{RTP}{Reliable Transport Protocol}
|
||||||
\newacronym{sdm}{SDM}{Security Device Manager}
|
\newacronym{sdm}{SDM}{Security Device Manager}
|
||||||
\newacronym{sdsl}{SDSL}{Symmetric Digital Subscriber Line}
|
\newacronym{sdsl}{SDSL}{Symmetric Digital Subscriber Line}
|
||||||
\newacronym{sftp}{SFTP}{Secure Shell File Transfer Protocol}
|
\newacronym{sftp}{SFTP}{Secure Shell File Transfer Protocol}
|
||||||
|
\newacronym{sia}{SIA}{Stuck in Active}
|
||||||
\newacronym{sla}{SLA}{Service Level Agreement}
|
\newacronym{sla}{SLA}{Service Level Agreement}
|
||||||
\newacronym{slaac}{SLAAC}{Stateless Address Autoconfiguration}
|
\newacronym{slaac}{SLAAC}{Stateless Address Autoconfiguration}
|
||||||
\newacronym{smtp}{SMTP}{Simpe Mail Transfer Protocol}
|
\newacronym{smtp}{SMTP}{Simpe Mail Transfer Protocol}
|
||||||
|
@ -170,6 +179,7 @@
|
||||||
\newacronym{ula}{ULA}{Unique Local Address}
|
\newacronym{ula}{ULA}{Unique Local Address}
|
||||||
\newacronym{utc}{UTC}{Coordinated Universal Time}
|
\newacronym{utc}{UTC}{Coordinated Universal Time}
|
||||||
\newacronym{vlan}{VLAN}{Virtual Local Area Network}
|
\newacronym{vlan}{VLAN}{Virtual Local Area Network}
|
||||||
|
\newacronym{vlsm}{VLSM}{Variable-Length Subnet Masking}
|
||||||
\newacronym{vpn}{VPN}{Virtual Private Network}
|
\newacronym{vpn}{VPN}{Virtual Private Network}
|
||||||
\newacronym{vrf}{VRF}{Virtual Routing and Forwarding}
|
\newacronym{vrf}{VRF}{Virtual Routing and Forwarding}
|
||||||
\newacronym{vrrp}{VRRP}{Virtual Router Redundancy Protocol}
|
\newacronym{vrrp}{VRRP}{Virtual Router Redundancy Protocol}
|
||||||
|
|
|
@ -2,9 +2,207 @@
|
||||||
|
|
||||||
\section{Routed Network}
|
\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}
|
\section{OSPF}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
\section{IS-IS}
|
\section{IS-IS}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
\section{EIGRP}
|
\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}: <!-- some number -->
|
||||||
|
\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}
|
\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.
|
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.
|
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.
|
4. Limited to a miximum of 16 hops between source and destination.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
\subsection{RIPng}
|
\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.
|
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}
|
\section{Static}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
\DTMsavenow{now}
|
\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)" <netravnen@gmail.com>\\
|
|
||||||
Fingerprint: C8B3 82A8 A1CD CDB7 71FE B24C C654 948F DA86 BECD}
|
|
||||||
|
|
||||||
\def\theversion{v0.3.3}
|
|
||||||
\date{{\footnotesize Last release \theversion\\%
|
\date{{\footnotesize Last release \theversion\\%
|
||||||
\texttt{\color{Gray}Generated \utccurrenttime}}}
|
\texttt{\color{Gray}Generated \utccurrenttime}}}
|
||||||
|
|
||||||
|
|
BIN
img/eigrp/stuck-in-active.jpg
Normal file
BIN
img/eigrp/stuck-in-active.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
BIN
img/math/eigrp-dual-long.png
Normal file
BIN
img/math/eigrp-dual-long.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
img/math/eigrp-dual-short.png
Normal file
BIN
img/math/eigrp-dual-short.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
BIN
img/network/routing.jpg
Normal file
BIN
img/network/routing.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 114 KiB |
14
main.tex
14
main.tex
|
@ -3,6 +3,18 @@
|
||||||
\include{structure} % Load structure cfg for document
|
\include{structure} % Load structure cfg for document
|
||||||
\include{acronyms} % Load acronym list
|
\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" <netravnen@gmail.com>\\
|
||||||
|
GPG: C8B3 82A8 A1CD CDB7 71FE B24C C654 948F DA86 BECD}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
% %
|
% %
|
||||||
% BEGIN DOCUMENT %
|
% BEGIN DOCUMENT %
|
||||||
|
@ -69,7 +81,7 @@
|
||||||
% %
|
% %
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
\bibliography{references-books,references-websites,references-wikipedia}
|
\bibliography{references-books,references-websites,references-wikipedia,references-videos}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
% %
|
% %
|
||||||
|
|
9
references-videos.bib
Normal file
9
references-videos.bib
Normal file
|
@ -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)}
|
||||||
|
}
|
|
@ -40,3 +40,21 @@
|
||||||
year = "2011",
|
year = "2011",
|
||||||
note = "[Online; accessed on 24-June-2017]"
|
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)}
|
||||||
|
}
|
|
@ -97,3 +97,19 @@
|
||||||
howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Solicited-node\%20multicast\%20address&oldid=787116453}},
|
howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Solicited-node\%20multicast\%20address&oldid=787116453}},
|
||||||
note = "[Online; accessed 19-July-2017]"
|
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]"
|
||||||
|
}
|
|
@ -4,28 +4,25 @@
|
||||||
\usepackage{lmodern}
|
\usepackage{lmodern}
|
||||||
\usepackage{geometry}
|
\usepackage{geometry}
|
||||||
\usepackage{listings}
|
\usepackage{listings}
|
||||||
\usepackage{color}
|
\usepackage{color} % makes custom color codes available.
|
||||||
\usepackage[usenames,dvipsnames,svgnames]{xcolor}
|
\usepackage[usenames,dvipsnames,svgnames]{xcolor} % makes custom color codes available.
|
||||||
\usepackage{graphicx}
|
\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{float}
|
||||||
\usepackage[english]{babel}
|
\usepackage[english]{babel}
|
||||||
\usepackage{fancyhdr}
|
\usepackage{fancyhdr}
|
||||||
\usepackage{wrapfig}
|
\usepackage{wrapfig}
|
||||||
\usepackage{array}
|
\usepackage{array}
|
||||||
\usepackage{lipsum}
|
\usepackage{fancybox} % styling of boxes.
|
||||||
\usepackage{fancybox}
|
|
||||||
\usepackage{varwidth}
|
\usepackage{varwidth}
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem} % makes available changes to lists.
|
||||||
\usepackage{titlepic}
|
\usepackage{titlepic}
|
||||||
\usepackage[nottoc]{tocbibind}
|
\usepackage[nottoc]{tocbibind}
|
||||||
\usepackage{url}
|
\usepackage{url} % cmd \url.
|
||||||
\usepackage[showisoZ]{datetime2}
|
\usepackage[showisoZ]{datetime2} % more options for time formatting.
|
||||||
\usepackage{transparent}
|
\usepackage{transparent}
|
||||||
\usepackage{soul}
|
\usepackage{soul}
|
||||||
\usepackage{caption}
|
\usepackage{caption}
|
||||||
\usepackage{enumitem}
|
|
||||||
\usepackage{amssymb}
|
|
||||||
\usepackage{tikzsymbols} % http://ctan.math.utah.edu/ctan/tex-archive/graphics/pgf/contrib/tikzsymbols/tikzsymbols.pdf
|
\usepackage{tikzsymbols} % http://ctan.math.utah.edu/ctan/tex-archive/graphics/pgf/contrib/tikzsymbols/tikzsymbols.pdf
|
||||||
\usepackage{textcomp}
|
\usepackage{textcomp}
|
||||||
\usepackage{parskip}
|
\usepackage{parskip}
|
||||||
|
@ -47,6 +44,8 @@
|
||||||
citecolor=darkgray,
|
citecolor=darkgray,
|
||||||
filecolor=darkgray,
|
filecolor=darkgray,
|
||||||
urlcolor=darkgray]{hyperref} % https://en.wikibooks.org/wiki/LaTeX/Hyperlinks
|
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
|
\renewcommand*{\multicolumntoc}{3} % https://tex.stackexchange.com/a/6455
|
||||||
|
|
Loading…
Reference in a new issue