mdns: add uninstall target
[olsrd.git] / lib / mdns / README
1 = OLSR mdns plugin =
2
3 This README file is the main documentation source for the OLSR mdns plugin
4
5 Last update 24/03/2009
6
7 == Description ==
8
9 This plugin goal is the distribution of multicast DNS messages over an OLSR Wireless Mesh Network.
10
11 In a wireless mesh network, the usage of wireless interfaces in ad-hoc mode and the OLSR routing protocol prevent
12 multicast messages to be distributed all over the network. 
13
14 We are especially interested in the distribution of Multicast DNS (mDNS) messages, used for host-based service discovery, 
15 over the networks that do not directly partecipate in the OLSR mesh cloud.
16
17 This task is achieved in the following way: 
18  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, 
19  2. the OLSR infrastructure is exploited for the transport of these messages,
20  3. remote routers decapsulate mDNS messages from received OLSR messages and send them over their attached non-OLSR networks.
21
22 The work could have its practical and immediate application in all the wireless network communities that employ the OLSR protocol.
23
24 The plugin captures the traffic (only IPv4 if OLSR is running IPv4 and only IPv6 if OLSR is running IPv6)
25 and encapsulates this traffic in OLSR messages that are forwarded to all the other nodes in the mesh.
26
27 Other nodes running the plugin will decapsulate the packets and will send them to the interfaces specified in the configuration file
28
29 Let's get this example topology
30
31 pc1->eth0 ----- eth0<-r1->ath0 -------ath0<-r2->eth0 ---------eth0<-pc2
32
33 r1 and r2 are OLSR routers with mdns plugin enabled. pc1 will be able to receive mdns traffic generated at pc2 and vice versa
34
35 The most interesting feature is that messages are forwarded also by OLSR routers without the plugin. For example:
36
37 pc1->eth0 ----- eth0<-r1->ath0 ---r3----ath0<-r2->eth0 ---------eth0<-pc2
38
39 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.
40
41 == Configuration ==
42
43 To enable the Plugin use the following syntax
44
45 LoadPlugin "olsrd_mdns.so.1.0.0"
46 {
47 PlParam     "NonOlsrIf"  "eth0"
48 PlParam     "NonOlsrIf"  "eth1"
49 PlParam     "MDNS_TTL"  "5"
50 }
51
52 Where eth0 and eth1 are the names of the interfaces where you want to capture traffic (and decapsulate incoming traffic).
53
54 Note that this interfaces must not talk OLSR and also the subnets on this interfaces must be announced with an appropriate HNA entry.
55 This version of the plugin will not chech this stuff to be properly configured!
56
57 MDNS_TTL is the time to live given to the MDNS OLSR messages. It makes no sense to announce your services to hosts that are too many hops away, because they will experience a very bad unicast connection.
58 With this TTL setting we can tune how far we announce our services and we make the protocol scale much better
59
60 === References ===
61
62  * Multicast DNS: [http://tools.ietf.org/html/draft-cheshire-dnsext-multicastdns-07 IETF draft-cheshire-dnsext-multicastdns-07]
63  * OLSR Optimized Link State Routing: [http://tools.ietf.org/html/rfc3626 IETF RFC 3626]
64
65 === Contact ===
66  * Saverio Proto proto@ing.uniroma2.it
67  * Claudio Pisa claudio.pisa@clauz.net