%
% bridge.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel BRIDGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{BRIDGE - Ethernet Bridging}
\marklabel{BRIDGEADMIN}{}
\index{BRIDGE}

\section{Die Einleitung}

    Hierbei handelt sich um eine vollwertige Ethernet-Bridge, die nach dem
    Spanning-Tree-Algorithmus arbeitet. F"ur den Anwender scheint der Rechner
    an den konfigurierten Ports danach wie ein Layer-3-Switch zu arbeiten.

    \link{http://www.dista.de/netstpclc.htm}{Hier} kann man sich die
    unterschiedlichen Zeitwerte f"ur das Spanning Tree Protocoll berechnen
    lassen:

    Wie \link{http://web.archive.org/web/20060114052801/http://www.zyxel.com/support/supportnote/ves1012/app/stp.htm}{STP}
    arbeitet kann man auf dieser Seite anhand einiger Beispiele sehen:


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \mbox{}

    \begin{tabular}{llll}
    & 1. &  System administration \\
    \end{tabular}
\eline
    \begin{tabular}{p{1cm}llll}
    & 2. &  Network administration \\
    \end{tabular}
\eline
    \begin{tabular}{p{2cm}llll}
    & x. &  Bridge administration \\
    \end{tabular}
\eline
    \begin{tabular}{p{3cm}ll}
    & 1. & View documentation \\
    & 2. & Edit configuration \\
    & 3. & Advanced configuration file handling \\
    & 4. & Show status \\
    & 5. & Stop service \\
    & 6. & Start service \\
    & 7. & Show bridge \\
    \end{tabular}

    \mbox{}

\section{"Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt 'Edit configuration' ge"andert
    werden.

\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind
    folgende Parameter vorhanden; wer sie von Hand editieren will findet
    sie unter \\
    \texttt{/etc/config.d/bridge}


\section{Die Parameter}

\begin{description}

\config{START\_BRIDGE}
{START\_BRIDGE}
{STARTBRIDGE}
{
    F"ur die Aktivierung des Bridge Service muss diese Variable
    lediglich auf den Wert 'yes' gestellt werden. Die Einstellung
    'no' schaltet den Bridge Service ab.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{START\_BRIDGE='no'}
}

\config{BRIDGE\_BOOTDELAY}
{BRIDGE\_BOOTDELAY}
{BRIDGEBOOTDELAY}
{
    Startup-Verz"ogerung \\
    Da eine Bridge mindestens 2 x \texttt{BRIDGE\_x\_FORWARD\_DELAY}
    in Sekunden an Zeit ben"otigt um aktiv zu werden ist diese Zeitspanne
    abzuwarten, wenn die Devices beim Start von \eisfair sofort ben"otigt
    werden um z.B. Syslog-Meldungen zu verschicken oder sich per DSL
    einzuw"ahlen. Diese Zeit sollte also in diesem Fall mindestens 30 betragen.

    G"ultige Werte: Zeit in Sekunden

    Standardeinstellung: \texttt{BRIDGE\_BOOTDELAY='10'}
}


\config{BRIDGE\_N}
{BRIDGE\_N}
{BRIDGEN}
{
    Anzahl der voneinander unabh"angigen Bridges
    Jede Bridge ist von den anderen vollkommen isoliert zu betrachten. Es
    wird pro Bridge ein virtuelles Ethernet-Device angelegt, beginnend bei
    br0.

    G"ultige Werte: 0 - 16

    Standardeinstellung: \texttt{BRIDGE\_N='1'}
}


\config{BRIDGE\_x\_NAME}
{BRIDGE\_x\_NAME}
{BRIDGExNAME}
{
    An dieser Stelle kann eine Beschreibung hinterlegt werden,
    z. B. zum Zweck dieser Bridge oder irgend etwas anderes.
    Bridge wertet diesen Parameter nicht aus.

    G"ultige Werte: alles

    Standardeinstellung: \texttt{BRIDGE\_x\_NAME='{}'}
}


\config{BRIDGE\_x\_ACTIVE}
{BRIDGE\_x\_ACTIVE}
{BRIDGExACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{BRIDGE\_x\_ACTIVE'='no'}
}


%\config{BRIDGE\_x\_IPADDR}
%{BRIDGE\_x\_IPADDR}
%{BRIDGExIPADDR}
%{
%    \achtung{Deprecated, diese Einstellung nicht mehr benutzen.}
%
%    Das Bridge-Ger"at "ubernimmt die Daten der
%    Netzwerkschnittstelle (BRIDGE\_x\_BIND\_1\_ETH).
%
%    G"ultige Werte: IP addr
%
%    Standardeinstellung: \texttt{BRIDGE\_x\_IPADDR='{}'}
%}
%
%
%\config{BRIDGE\_x\_NETWORK}
%{BRIDGE\_x\_NETWORK}
%{BRIDGExNETWORK}
%{
%    \achtung{Deprecated, diese Einstellung nicht mehr benutzen.}
%
%    Das Bridge-Ger"at "ubernimmt die Daten der
%    Netzwerkschnittstelle (BRIDGE\_x\_BIND\_1\_ETH).
%
%    G"ultige Werte: network
%
%    Standardeinstellung: \texttt{BRIDGE\_x\_NETWORK='{}'}
%}
%
%
%\config{BRIDGE\_x\_NETMASK}
%{BRIDGE\_x\_NETMASK}
%{BRIDGExNETMASK}
%{
%    \achtung{Deprecated, diese Einstellung nicht mehr benutzen.}
%
%    Das Bridge-Ger"at "ubernimmt die Daten der
%    Netzwerkschnittstelle (BRIDGE\_x\_BIND\_1\_ETH).
%
%    G"ultige Werte: Netmask
%
%    Standardeinstellung: \texttt{BRIDGE\_x\_NETMASK='{}'}
%}


\config{BRIDGE\_x\_STP}
{BRIDGE\_x\_STP}
{BRIDGExSTP}
{
    Das Spanning Tree Protokoll auf der Bridge aktivieren?

    Das Spanning-Tree-Protokoll erlaubt es, mehrere redundante Verbindungen
    zu anderen Switches zu unterhalten ohne da"s es zu einem logischen
    Broadcast-Kurzschlu"s kommt. Die schnellste Verbindung wird hierbei aktiv
    gelassen und die anderen Verbindungen automatisch gekappt. Sollte die
    aktive Verbindung irgendwann getrennt werden, wird die n"achst-langsamere
    Verbindung aktiviert. Dieser Fail-Over dauert jedoch eine Weile.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{BRIDGE\_x\_STP='no'}
}


\config{BRIDGE\_x\_PRIO}
{BRIDGE\_x\_PRIO}
{BRIDGExPRIO}
{
    Welche Priorit"at hat diese Bridge (STP-spezifisch), optional

    Nur g"ultig wenn \texttt{BRIDGE\_x\_STP='yes'} gesetzt wird!

    Die Bridge-Priorit"at ist wichtig f"ur das STP-Protokoll, damit dieses
    richtig funktionieren kann. Der Node mit der geringsten Priorit"at in der
    aktuellen Landschaft gewinnt die Wahl zur root-Bridge. Die selbe Priorit"at
    sollte nur einmal vorkommen. Die Node mit der geringsten Priorit"at sollte
    die gr"o"ste Bandbreite haben, da diese alle 2 Sekunden (oder HELLO-Time)
    Steuerpakete verschickt und auch der Haupt-Traffic "uber sie abgewickelt wird.

    G"ultige Werte: 0 - 65536 in Schritten von 4096

    Standardeinstellung: \texttt{BRIDGE\_x\_PRIO='{}'}
}


\config{BRIDGE\_x\_HELLO}
{BRIDGE\_x\_HELLO}
{BRIDGExHELLO}
{
    Stellt die HELLO Time ein (STP-spezifisch), optional

    Nur g"ultig wenn \texttt{BRIDGE\_x\_STP='yes'} gesetzt wird!


    Die HELLO-Time ist der Zeitabstand in Sekunden, in dem die sogenannten
    Hello-Pakete von der root Bridge verschickt werden. Diese Pakete sind
    sozusagen Heartbeat-Pakete, die f"ur die automatische Konfiguration des
    STP-Netzwerkes n"otig sind.

    G"ultige Werte: 1 - 10

    Standardeinstellung: \texttt{BRIDGE\_x\_HELLO='2'}
}


\config{BRIDGE\_x\_MAX\_MESSAGE\_AGE}
{BRIDGE\_x\_MAX\_MESSAGE\_AGE}
{BRIDGExMAXMESSAGEAGE}
{
    Die maximale G"ultigkeitsdauer des letzten HELLO-Paketes (STP-spezifisch), optional

    Nur g"ultig wenn \texttt{BRIDGE\_x\_STP='yes'} gesetzt wird!

    Wenn innerhalb dieser Zeit (in Sekunden) kein neues HELLO-Paket kommt,
    wird eine neue Wahl der Root-Bridge ausgel"ost. Deshalb darf dieser Wert
    \_nie\_ weniger als die HELLO-Time betragen und kann auch hier nicht
    kleiner als 2x die HELLO-Time eingestellt werden.

    G"ultige Werte: 6 - 40

    Standardeinstellung: \texttt{BRIDGE\_x\_MAX\_MESSAGE\_AGE='20'}
}


\config{BRIDGE\_x\_FORWARD\_DELAY}
{BRIDGE\_x\_FORWARD\_DELAY}
{BRIDGExFORWARDDELAY}
{
    Verz"ogerung, nach der ein Bridge-Port auf aktiv gestellt werden kann
    (STP-spezifisch), optional

    Nur g"ultig wenn \texttt{BRIDGE\_x\_STP='yes'} gesetzt wird!

    Wenn ein Bridge-Port deaktiviert war und erneut aktiviert werden soll,
    z.B. auch wenn der Port grade neu hinzugekommen ist, dauert es diese
    Zeitspanne (in Sekunden) x 2 bis der Port in den Forwarding State
    wechselt. Dieser Parameter ist ma"sgebend f"ur die Dauer eines m"oglichen
    Failovers verantwortlich.\\
    Die Zeitspanne ist etwa diese:
    \texttt{BRIDGE\_x\_MAX\_MESSAGE\_AGE} + (2 x \texttt{BRIDGE\_x\_FORWARD\_DELAY}) in Sekunden.

    Daraus ergibt sich im Default: 20 + (2 x 15) = 50 Sekunden
    Die Failover-Zeit kann minimiert werden, wenn die Hello-Time auf 1 Sekunde
    und die Max\_Message\_Age auf 2 Sekunden gestellt wird. Das Forward Delay
    kann dann auf ein Minimum von 2 Sekunden (2 x Hello) eingestellt werden:
    2 + (2 x 2) = 6 Sekunden. Schneller geht's nicht.

    G"ultige Werte: 4 - 30

    Standardeinstellung: \texttt{BRIDGE\_x\_FORWARD\_DELAY='15'}
}


\config{BRIDGE\_x\_BIND\_N}
{BRIDGE\_x\_BIND\_N}
{BRIDGExBIND>N}
{
    Wie viele Netzwerkdevices geh"oren der Bridge an?

    Anzahl der Devices, die fest an die Bridge gebunden werden sollen. Kann
    auch 0 sein, wenn die Bridge nur als Platzhalter f"ur eine IP-Adresse
    sein soll, die dann von einem an die Bridge gebundenen VPN-Tunnel
    "ubernommen werden soll.

    G"ultige Werte: 0 - 16

    Standardeinstellung: \texttt{BRIDGE\_x\_BIND\_N='2'}
}


\config{BRIDGE\_x\_BIND\_x\_ETH}
{BRIDGE\_x\_BIND\_x\_ETH}
{BRIDGExBINDxETH}
{
    Bei diesem Parameter wird das Interface angegeben.

    Hier wird kein echter Netzwerk-Ger"ate Namen angegeben sondern der
    Index der Angabe IP\_ETH\_x\_NAME aus der Base  Konfiguration in
    /etc/config.d/base.

    Der Index kann, wenn der Editor \glqq{}\ece\grqq{} eingestellt ist,
    auch aus dem Dialog eingef"ugt werden.

    G"ultige Werte: 1, 2 etc..

    Standardeinstellung: \texttt{BRIDGE\_x\_BIND\_x\_ETH='1'}
}


\config{BRIDGE\_x\_BIND\_x\_PRIO}
{BRIDGE\_x\_BIND\_x\_PRIO}
{BRIDGExBINDxPRIO}
{
    STP-Priorit"at (optional)

    Nur g"ultig wenn \texttt{BRIDGE\_x\_STP='yes'} gesetzt wird!

    Ist nur relevant, wenn mehrere Verbindungen mit der selben Path\_Cost
    zum selben Ziel f"uhren. Der Port mit der geringsten Priorit"at wird
    dann ausgew"ahlt.

    G"ultige Werte: 0 - 255 in Schritten von 16

    Standardeinstellung: \texttt{BRIDGE\_x\_BIND\_x\_PRIO='128'}
}


\config{BRIDGE\_x\_BIND\_x\_COST}
{BRIDGE\_x\_BIND\_x\_COST}
{BRIDGExBINDxCOST}
{
    STP-Traffic-Kosten (optional)

    Nur g"ultig wenn \texttt{BRIDGE\_x\_STP='yes'} gesetzt wird!

    Bestimmt die Traffic-Kosten f"ur diesen Port. Desto geringer der Wert,
    desto h"oher ist die Bandbreite oder desto geringer die Kosten f"ur Traffic.
    Die vorgeschlagene Berechnungsgrundlage ist 1000000/kBit/s, was zu den in
    Tabelle aufgelisteten Werten f"uhrt.
    \begin{table}[htbp]
        \centering
        \begin{tabular}{r|l}
            Bandbreite & Einstellung BRIDGE\_x\_BIND\_x\_COST\\
            \hline
            64 kBit    & 15625\\
            128 kBit   &  7812\\
            256 kBit   &  3906\\
            10 MBit    &   100\\
            11 MBit    &    90\textsuperscript{1}\\
            54 MBit    &    33\\
            100 MBit   &    10\\
            1 GBit     &     1\\
        \end{tabular}
        \caption{Traffic-Kosten in Abh"angigkeit von der Bandbreite.\newline\textsuperscript{\scriptsize 1}{\footnotesize WLAN hat jedoch Netto weniger Bandbreite, daher sollte man hier ca. 190 angeben}}
  %      \label{tab:traffic-costs}
    \end{table}

    G"ultige Werte: siehe Tabelle

    Standardeinstellung: \texttt{BRIDGE\_x\_BIND\_x\_COST='100'}
}
\end{description}


\section{Anmerkungen}

    Eine Bridge leitet jede Art von Ethernet-Daten weiter - somit l"asst sich
    z.B.  auch ein normales DSL-Modem z.B. "Uber WLAN ansprechen als h"atte es
    eine Funkschnittstelle. Es wird kein Paket, welches die Bridge passiert
    auf irgendwelche unerw"unschten Aktivit"aten hin untersucht (Firewall),
    wodurch der Einsatz z.B. als WLAN-Access-Point nur unter sorgf"altiger
    Abw"agung der Sicherheitsrisiken zu empfehlen ist.

\jump{MENUSYSTEMNETWORK}{Zur"uck zum Men"u: Network administration}
