|
\documentclass[a4paper,10pt]{scrartcl}[2003/01/01] %europäische article-version
|
|
\usepackage{fullpage} % weniger Ränder (1cm?)
|
|
\usepackage[ngerman]{babel}
|
|
\usepackage{amssymb} % mathematische Symbole
|
|
\usepackage{tabularx} % für Tabellen mit \begin{tabular}
|
|
\usepackage{amsmath} % mathematische Formeln
|
|
\usepackage{textcomp} % für das copyleft-Zeichen
|
|
%\usepackage[all]{xy} % z.B. für das Zeichnen von Graphen
|
|
\usepackage{stmaryrd} % für das Blitz-Symbol (stmaryrd in texlive-math-extra)
|
|
%\usepackage{listings} % Anzeige von formatiertem Programmiercode
|
|
%\lstset{language=bash}
|
|
%\usepackage{uniinput}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[utf8]{inputenc}
|
|
\title{BATMAN V - Beweis zur Kreisfreiheit}
|
|
\author{Linus Lüssing}
|
|
\date{\textcopyleft\today}
|
|
\begin{document}
|
|
\maketitle
|
|
|
|
\emph{WIP - WIP - WIP - WIP} \\
|
|
Bin noch kein Experte in Graphentheorie und das Dokument hier hat sicherlich noch
|
|
ein paar kleinere Lücken. Ist also sicherlich sowohl inhaltlich als auch stilistisch
|
|
noch weit von einer Perfektion entfernt :) (hab' aber zumindest versucht mich nach dem
|
|
Notationsstil von ''Graphentheorie, R. Diestel'' zu richten. Hoffe aber, dass die Hauptargumentationsgründe
|
|
drin enthalten sind, warum BATMAN V kreisfreie Routingentscheidungen trifft und das
|
|
diese Gründe nützlich sein können zur Prüfung und Validierung jeder Änderung am
|
|
Routingprotokoll. Wenn eine Änderung des Routingprotokolls die OGM-Forwarding-Regeln (i), (ii) nicht verletzt,
|
|
und sichergestellt ist, das weiterhin nur in den Fällen (a) oder (b) die Route geändert wird,
|
|
dann sollte (TM) BATMAN weiterhin Kreisfreiheit garantieren können.
|
|
|
|
\newpage
|
|
|
|
Wir wollen zeigen, dass für eine beliebige Topologie und zu einer beliebigen Zeit
|
|
BATMAN V kreisfrei ist. \\
|
|
|
|
\section*{Definitionen}
|
|
|
|
Sei G = (V,A) der gerichtete, gewichtete Graph der die Topologie zu einem
|
|
bestimmten Zeitpunkt darstellt. \\
|
|
|
|
Sei ferner $T = (V,E) \subseteq G$ ein von BATMAN V ermittelter Graph für einen Knoten
|
|
r (alias 'Originator'). \\
|
|
|
|
T ist schlicht, da keine Mehrfachkanten (verschiedene Kanten alias 'Links'
|
|
werden zwischen NDP und OGM Protokoll vorher abstrahiert) sowie Schlingen
|
|
(ein Knoten wählt sich nie selbst als nächsten Router, er erkennt
|
|
und verwirft seine selbst gerebroadcasteten OGMs). \\
|
|
|
|
$v_c \in V(G)$ ist ein Knoten der zu einem bestimmten Zeitpunkt eine OGM erhält
|
|
und nun entscheiden muss, ob er seine Route zum entsprechenden Originator-Knoten r
|
|
ändern müsse. \\
|
|
|
|
Eine OGM ist ein Tupel der Form OGM = (seqno, TQ, r, n) wobei n der Nachbar ist,
|
|
von dem die OGM empfangen wurde ($nv_c \in E(G)$). \\
|
|
Da ein Knoten eine OGM nur von einem Nachbarn, den es selbst als Router zum Knoten
|
|
r ausgewhält hat, rebroadcasted, gilt außerdem $n \in T$. \\
|
|
|
|
Wir können die Routen-Änderung durch BATMAN V darstellen als eine Abbildung der Form: \\
|
|
$f: \{T\} \times \{OGM\} \rightarrow \{T\}$ für die gilt: \\
|
|
|
|
$f(T, OGM) = \left\{ \begin{array}{rcl} T - v_{c-1}v_c + nv_c & \mbox{für} & ((a) \vee (b)) \wedge (x) \\
|
|
T & \mbox{sonst} & \end{array} \right.$ \\
|
|
|
|
Mit: \\
|
|
$(a) \Leftrightarrow seqno(OGM) > seqno(v_c)$ ($seqno(v_c)$ ist die Sequenznummer des aktuell gewählten Routers) \\
|
|
$(b) \Leftrightarrow seqno(OGM) = seqno(v_c) \wedge TQ(OGM) > TQ(v_c)$ ($TQ(v_c)$ ist die Path-TQ des aktuell gewählten Routers) \\
|
|
$(x)$: Ein beliebiges Kriterium, dass einen Routenwechsel verhindern können wolle. \\
|
|
|
|
Außerdem gewährleistet BATMAN V die folgenden zwei Kriterien: \\
|
|
(i): Sequenznummern-Konsistenz: Sequenznummern einer OGM werden nicht erhöht (und auch garnicht verändert) zwischen
|
|
dem Originator und einem beliebigen anderen Knoten. \\
|
|
(ii): Path-TQ Monotonie: Die path TQ einer OGM sinkt mit jedem rebroadcast. Anders gesagt, die Kosten
|
|
einer OGM und des zugehörigen Pfades sind strikt monoton steigend. \\
|
|
|
|
TQ ist definiert als: $TQ = 1 / \text{cost(P)}$ für einen gerichteten Weg P (oder auch für eine gerichtete Kante). \\
|
|
|
|
Wir wollen zunächst zeigen, dass zu einer beliebigen Topologie und Zeit gilt: \\
|
|
|
|
T ist ein Baum. \\
|
|
|
|
\newpage
|
|
|
|
\section*{Beweis durch vollständige Induktion}
|
|
|
|
\paragraph{Induktionsvorraussetzung}
|
|
|
|
Für ein beliebiges $T \subseteq G$ gilt: T ist ein Baum.
|
|
|
|
\paragraph{Induktionanfang}
|
|
|
|
$T = ({r}, \emptyset)$ (z.B. zu dem Zeitpunkt, zu dem noch keine OGMs versendet wurden)
|
|
$\Rightarrow$ T ist offensichtlich ein Baum.
|
|
|
|
\paragraph{Induktionsschritt}
|
|
|
|
Zu zeigen: T ist ein Baum $\Rightarrow f(T, OGM)$ ist ein Baum. \\
|
|
|
|
\emph{Fall 1:} $(\urcorner(a) \wedge \urcorner(b)) \vee \urcorner(x)$ \\
|
|
$\Rightarrow f(T, OGM) = T \Rightarrow$ f(T, OGM) ist kreisfrei. \\
|
|
|
|
\emph{Fall 2:} $(a) \vee (b)$ \\
|
|
|
|
T ist ein Baum $\Leftrightarrow$ T ist minimal zusammenhängend $\Rightarrow T - e$ \\
|
|
ist nicht zusammenhängend mit $e \in E(T)$ beliebig. \\
|
|
|
|
Seien $T_r$ und $T_{v_c}$ die beiden durch T - e entstandenen, nicht zusammenhängenden
|
|
Teilgraphen (sogar Untergraphen) mit $v_c \in T_{v_c}$ und $r \in T_r$ \\
|
|
Dann gilt:
|
|
\begin{itemize}
|
|
\item $T_r, T_{v_c}$ sind disjunkt. (*)
|
|
\item $T_r, T_{v_c}$ sind Bäume. (**)
|
|
\end{itemize}
|
|
|
|
\subparagraph{Korollar:} T ist ein Baum $\wedge ((a) \vee (b)) \Rightarrow n \in V(T_r)$ \\
|
|
|
|
\emph{Fall 2.1 (a):} \\
|
|
(OGM-seqno größer als seqno des gewählten Routers) \\
|
|
\emph{Beweis durch Widerspruch} \\
|
|
Angenommen: T ist ein Baum $\wedge (a) \Rightarrow n \notin V(T_r)$
|
|
|
|
T ist ein Baum $\Rightarrow^\text{(i)} \forall v \in V(T) : seqno(v_i - 1) >= seqno(v_{i}) \Rightarrow seqno(v_i \in T_r) >= seqno (v_j \in T_{v_c})$ \\
|
|
$\Rightarrow^{(a)} n \in V(T_r) \Rightarrow \lightning$ \\
|
|
|
|
\emph{Fall 2.2 (b):} \\
|
|
(OGM-seqno gleich des gewählten Routers, aber TQ besser - analog, aber mit (ii)) \\\\
|
|
|
|
|
|
$\Rightarrow$ T ist ein Baum $\Rightarrow^{(a) \vee (b)} n \notin V(T_{v_c}) \Leftrightarrow^{n \in T} n \in V(T_r) \square$
|
|
|
|
$n \in T_r \wedge v_c \in T_{v_c} \wedge (*) \wedge (**) \Rightarrow (T_r \cup T_{v_c}) + nv_c = T - v_{c-1}v_c + nv_c$ ist ein Baum. \\\\
|
|
|
|
|
|
|
|
Da T zu einer beliebigen Topologie und Zeit ein Baum ist, gilt: \\
|
|
T ist maximal kreisfrei zu einer beliebigen Topologie und Zeit. $\square$
|
|
|
|
\end{document}
|