Repository : ssh://git@open-mesh.org/doc
On branches: backup-redmine/2017-07-13,master
commit d2c95dfe96bdc4a773221b71550a4fe94cfef0f4 Author: Marek Lindner mareklindner@neomailbox.ch Date: Wed Nov 10 01:23:27 2010 +0000
doc: batman-adv/Gateways
d2c95dfe96bdc4a773221b71550a4fe94cfef0f4 batman-adv/Gateways.textile | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-)
diff --git a/batman-adv/Gateways.textile b/batman-adv/Gateways.textile index 75b95ac2..7787478a 100644 --- a/batman-adv/Gateways.textile +++ b/batman-adv/Gateways.textile @@ -3,9 +3,9 @@ {{{ #!div style="width: 46em; text-align: justify"
-In other words: It is unpredictable and does not take link qualities +Often batman-adv is used to cover a bigger area with wireless access to the internet where several nodes have internet access while the other nodes try to find the best route towards one of the gateways. In this case it is desirable that the routing protocol helps with the decision to find the best path since it already knows the topology of the network.
-=== The default route case === +=== The default route ===
The subject of manipulating the IP (layer 3) default route with a layer 2 routing protocol has stirred up controversy between those who believe in a clean network layer separation and those who need this functionality. The former claim that a well-designed protocol should not mess with other layers but instead collaborates with tools made for higher layers. The later group has pointed out that the rule of network layer separation can be bent in real world applications and to improve usability. To achieve a compromise the gateway mechanism is disabled per default and only operates on top of DHCP (details below). Feel free to contact us in case you want to propose alternative ideas.
@@ -18,7 +18,7 @@ As the whole gateway functionality is based on DHCP, the protocol assumes each g
Which gateway will be selected by the client depends on the number of DHCP servers / packet loss / delay / DHCP client software / etc.
-Once the gateway feature has been activated batman-adv floods the networks with gateway information, so that each batman-adv knows all other gateways (including the link quality). A batman-adv gateway client will choose its gateway (based on user defined criteria) long before DHCP is started. As soon as a DHCP request from a client comes in batman-adv will not broadcast the packet but only send it to the chosen batman-adv gateway. +Once the gateway feature has been activated batman-adv floods the networks with gateway information, so that each batman-adv node knows all other gateways (including the link quality). A batman-adv gateway client will choose its gateway (based on user defined criteria) long before DHCP is started. As soon as a DHCP request from a client comes in, batman-adv will not broadcast the packet but only send it to the chosen batman-adv gateway via unicast.
[[Image(wiki:batman-adv-gateways:gateway2.png)]]
@@ -27,5 +27,42 @@ The DHCP client will then select the gateway batman-adv prefers as only this gat
=== The configuration ===
+'''gateway server''' + +Activate the gateway announcements on a node that has a DHCP server running: + +{{{ +batctl gw_mode server +}}} + +Batman-adv always announces the gateway's internet bandwidth, so that clients can base their decision on the link quality towards the gateway as well as on the available bandwidth. Per default a bandwidth of 2048KBit/512KBit is assumed. To configure a download bandwidth of 5Mbit with an upload of 1Mbit run the following command: + +{{{ +batctl gw_mode server 5mbit/1mbit +}}} + +Details regarding the syntax of the bandwidth setting can be found in the [http://downloads.open-mesh.org/batman/development/sources/batctl_devel-curre... batctl manpage]. + +'''gateway client''' + +The client can be activated with the following command: + +{{{ +batctl gw_mode client +}}} + +If multiple gateways are available batman-adv selects its best gateway based on certain criteria such as link quality / bandwidth / etc. The selection algorithm can be changed by appending the appropriate gateway selection class to the aforementioned command. To let batman-adv switch the gateway as soon as any gateway becomes 20TQ points better than the currently selected gateway: + +{{{ +batctl gw_mode client 20 +}}} + +All available gateway selection classes are thoroughly explained in the [http://downloads.open-mesh.org/batman/development/sources/batctl_devel-curre... batctl manpage]. + +To see all available gateways and their announced throughput run: + +{{{ +batctl gwl +}}}
}}} \ No newline at end of file