From 99c5c262c8dc7212f30f8567709bd30de17351f3 Mon Sep 17 00:00:00 2001 From: chhan11 Date: Fri, 30 Jun 2017 08:22:13 +0200 Subject: [PATCH] WIP: Updated bgp --- acronyms.tex | 1 + chapter/layer3.tex | 41 +++++++++++++++++++++++++++++------------ commands.tex | 5 +++++ references-websites.bib | 21 +++++++++++++++------ 4 files changed, 50 insertions(+), 18 deletions(-) diff --git a/acronyms.tex b/acronyms.tex index d6d6831..b51ca09 100644 --- a/acronyms.tex +++ b/acronyms.tex @@ -156,6 +156,7 @@ \newacronym{tlv}{TLV}{Type, Length, Value} \newacronym{toc}{ToC}{Table of Contents} \newacronym{tosdr}{ToS;DR}{Terms of Service; Didn't Read} +\newacronym{ttl}{TTL}{Time-to-live} \newacronym{udld}{UDLD}{Unidirectional Link Detection} \newacronym{udp}{UDP}{User Datagram Protocol} \newacronym{utc}{UTC}{Coordinated Universal Time} diff --git a/chapter/layer3.tex b/chapter/layer3.tex index af035a4..9679574 100644 --- a/chapter/layer3.tex +++ b/chapter/layer3.tex @@ -7,14 +7,15 @@ \section{EIGRP} \section{RIP} \section{Static} + +\newpage + \section{BGP} \wikicommons{BGP_FSM} The protocol of the internet used since 1994.\cite{wiki:Border_Gateway_Protocol} -Currently based upon \rfc{4271} with updates following in \rcf{6286} \rfc{6608}, \rfc{6793}, \rfc{7606}, \rfc{7607}, \rfc{7705}. - - +Currently based upon \rfc{4271} with updates following in \rfc{6286} \rfc{6608}, \rfc{6793}, \rfc{7606}, \rfc{7607}, \rfc{7705}. \begin{itemize} \item \itemhead{Properties} @@ -27,20 +28,19 @@ Currently based upon \rfc{4271} with updates following in \rcf{6286} \rfc{6608}, \begin{itemize} \item \itemhead{Route-maps mechanism} \begin{itemize} - \item Routes can be aggregated between \Glspl{as}. + \item Routes can be aggregated between \glspl{as}. \item Properties can be changed on the fly by mathing - \begin{enumerate*}[label={\alph*)}] - \item \Gls{bgp} communities, - \item \Gls{ip} prefix, - \item \Gls{bgp} as-path, - \end{enumerate*} + \begin{mylist} + \item \gls{bgp} communities, + \item \gls{ip} prefix, + \item \gls{bgp} as-path, + \end{mylist} \end{itemize} - \item \end{itemize} \item \itemhead{States} \begin{enumerate} - \item Idle: \Gls{bgp} while initializing refuses all incoming connections. Will initiate \Gls{tcp} connection to peer. - \item Connect: Waits for \Gls{tcp} connection. If \Gls{tcp} is established goes to state OpenSent. If \Gls{tcp} is \textit{un}successful ConnectRetry timer is started and then goes to Active state. + \item Idle: \gls{bgp} while initializing refuses all incoming connections. Will initiate \gls{tcp} connection to peer. + \item Connect: Waits for \gls{tcp} connection. If \gls{tcp} is established goes to state OpenSent. If \gls{tcp} is \textit{un}successful ConnectRetry timer is started and then goes to Active state. \item Active: When ConnectRetry counter reaches 0 goes to state Connect. \item OpenSent: Sends \gls{msg} to remote node. Waits for reply \gls{msg} before going to OpenConfirm. \item OpenConfirm: Nodes exchange keepalive \glspl{msg} and goes to Established state if successful. @@ -48,4 +48,21 @@ Currently based upon \rfc{4271} with updates following in \rcf{6286} \rfc{6608}, \end{enumerate} \end{itemize} +\subsection[iBGP]{Internal Border Gateway Protocol} +\gls{ibgp} is running \gls{bgp} within the same \gls{as} between routers. Much like running a general \gls{igrp} in the network. + +Tradition one has to be fearful of creating \textit{routing loops} in the network. \glspl{bgp} mechanism for this is using either \begin{mylist} \item Full Mesh, or \item \glspl{rr} \end{mylist}. + +Problems by running \textit{Full Mesh} is the formula of \[ iBGPsessions = n*(n-1)/2 \] \note{where $ n $ is the number \gls{ibgp} speakers} which results in scaling problems as \gls{ibgp} speakers are added to the \gls{as}. + +\textit{\glspl{rr}} solves this problem by peering with all \gls{ibgp} speakers in the \gls{as}. All \gls{ibgp} speakers are then clients of the \glspl{rr}. This in turn helps maintainability by also advertising routes learnt from \gls{ibgp} clients to clients. Classic filtering/mathing route-maps/prefix-filters can be used to \textit{not} advertise all routes select group of clients from the \glspl{rr}. + +\subsection[eBGP]{External Border Gateway Protocol} + +\gls{ebgp} connections is inherently different from \gls{ibgp} connections. Some assumptions are made such as +\begin{enumerate} + \item a \gls{ttl} of 1 is the default\footnote{Multi-hop \gls{ebgp} can thou be configured}, + \item distance is set to 20 compared to 200 for \gls{ibgp} routes, + \item Next hop does \textit{not} change for \gls{ebgp} routes advertised to \gls{ibgp} neighbours. +\end{enumerate} \ No newline at end of file diff --git a/commands.tex b/commands.tex index 0857e3b..b31662a 100644 --- a/commands.tex +++ b/commands.tex @@ -129,3 +129,8 @@ License: \texttt{\href{https://creativecommons.org/licenses/by-sa/3.0/}{CC BY-SA % Usage: \newcommand{\rfc}[1]{RFC #1\footnote{\href{https://tools.ietf.org/html/rfc#1}{tools.ietf.org/html/rfc#1}}} + + +% Usage: \note{} or \nb{} +\newcommand{\note}[1]{{\color{Mahogany!20!black}{\small(#1)}}} +\newcommand{\nb}[1]{\note{#1}} \ No newline at end of file diff --git a/references-websites.bib b/references-websites.bib index a469821..5e1d553 100644 --- a/references-websites.bib +++ b/references-websites.bib @@ -2,14 +2,23 @@ author = "Hector Camba Lainez", title = "Cap4 implementing vtp", year = "2010", - url = {https://www.slideshare.net/lucky0679/cap4-implementing-vtp}, + url = {\url{https://www.slideshare.net/lucky0679/cap4-implementing-vtp}}, note = "[Online; accessed 22-May-2017]" } @misc{ web:SP_Tiers, - author = "Orhan Ergun", - title = "{Tier 1,Tier 2 and Tier 3 Service Providers - Tier and BGP Peering} --- Orhanergun.net", - year = "2017", - howpublished = {\url{https://orhanergun.net/2017/01/tier-1-tier-2-tier-3-service-providers/}}, - note = "[Online; accessed 17-June-2017]" + author = "Orhan Ergun", + title = "{Tier 1,Tier 2 and Tier 3 Service Providers - Tier and BGP Peering} --- Orhanergun.net", + year = "2017", + howpublished = {\url{https://orhanergun.net/2017/01/tier-1-tier-2-tier-3-service-providers/}}, + note = "[Online; accessed 17-June-2017]" } + +@misc{ Differen15:online, + author = {\url{http://www.differencebetween.com/author/root/}{Andrew}}, + title = "Difference Between EBGP and IBGP", + howpublished = {\url{http://www.differencebetween.com/difference-between-ebgp-and-vs-ibgp/}}, + month = "September", + year = "2011", + note = "[Online; accessed on 24-June-2017]" +} \ No newline at end of file