lib/mdns/README
changeset 2289 10ad22c88dbb
child 23731b0f69669562
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/lib/mdns/README	Thu Mar 26 01:25:34 2009 +0100
     1.3 @@ -0,0 +1,65 @@
     1.4 += OLSR mdns plugin =
     1.5 +
     1.6 +This README file is the main documentation source for the OLSR mdns plugin
     1.7 +
     1.8 +Last update 24/03/2009
     1.9 +
    1.10 +== Description ==
    1.11 +
    1.12 +This plugin goal is the distribution of multicast DNS messages over an OLSR Wireless Mesh Network.
    1.13 +
    1.14 +In a wireless mesh network, the usage of wireless interfaces in ad-hoc mode and the OLSR routing protocol prevent
    1.15 +multicast messages to be distributed all over the network. 
    1.16 +
    1.17 +We are especially interested in the distribution of Multicast DNS (mDNS) messages, used for host-based service discovery, 
    1.18 +over the networks that do not directly partecipate in the OLSR mesh cloud.
    1.19 +
    1.20 +This task is achieved in the following way: 
    1.21 + 1. the local router picks up from the local non-OLSR (HNA) network mDNS messages and encapsulates them in a new type of OLSR messages, 
    1.22 + 2. the OLSR infrastructure is exploited for the transport of these messages,
    1.23 + 3. remote routers decapsulate mDNS messages from received OLSR messages and send them over their attached non-OLSR networks.
    1.24 +
    1.25 +The work could have its practical and immediate application in all the wireless network communities that employ the OLSR protocol.
    1.26 +
    1.27 +The plugin captures the traffic (only IPv4 if OLSR is running IPv4 and only IPv6 if OLSR is running IPv6)
    1.28 +and encapsulates this traffic in OLSR messages that are forwarded to all the other nodes in the mesh.
    1.29 +
    1.30 +Other nodes running the plugin will decapsulate the packets and will send them to the interfaces specified in the configuration file
    1.31 +
    1.32 +Let's get this example topology
    1.33 +
    1.34 +pc1->eth0 ----- eth0<-r1->ath0 -------ath0<-r2->eth0 ---------eth0<-pc2
    1.35 +
    1.36 +r1 and r2 are OLSR routers with mdns plugin enabled. pc1 will be able to receive mdns traffic generated at pc2 and vice versa
    1.37 +
    1.38 +The most interesting feature is that messages are forwarded also by OLSR routers without the plugin. For example:
    1.39 +
    1.40 +pc1->eth0 ----- eth0<-r1->ath0 ---r3----ath0<-r2->eth0 ---------eth0<-pc2
    1.41 +
    1.42 +also in this topology mdns traffic between pc1 and pc2 is possible because r3 forwards mdns plugin OLSR packets even if it is not aware of the new application.
    1.43 +
    1.44 +== Configuration ==
    1.45 +
    1.46 +To enable the Plugin use the following syntax
    1.47 +
    1.48 +LoadPlugin "olsrd_mdns.so.1.0.0"
    1.49 +{
    1.50 +PlParam     "NonOlsrIf"  "eth0"
    1.51 +PlParam     "NonOlsrIf"  "eth1"
    1.52 +}
    1.53 +
    1.54 +Where eth0 and eth1 are the names of the interfaces where you want to capture traffic (and decapsulate incoming traffic).
    1.55 +
    1.56 +Note that this interfaces must not talk OLSR and also the subnets on this interfaces must be announced with an appropriate HNA entry.
    1.57 +This version of the plugin will not chech this stuff to be properly configured!
    1.58 +
    1.59 +
    1.60 +
    1.61 +=== References ===
    1.62 +
    1.63 + * Multicast DNS: [http://tools.ietf.org/html/draft-cheshire-dnsext-multicastdns-07 IETF draft-cheshire-dnsext-multicastdns-07]
    1.64 + * OLSR Optimized Link State Routing: [http://tools.ietf.org/html/rfc3626 IETF RFC 3626]
    1.65 +
    1.66 +=== Contact ===
    1.67 + * Saverio Proto proto@ing.uniroma2.it
    1.68 + * Claudio Pisa claudio.pisa@clauz.net