802.11 specifies two principle modes of operation, [IBSS] and [BSS]. The reason this is important is because it can change the way that the layer two connectivity appears to hosts. To begin, have a look at this (http://seattlewireless.net/index.cgi/PointToPoint explanation). If the host has an interface running in [IBSS] mode, then it will be able to contact a subset of other hosts within the IBSS domain. For those hosts that are reachable, the network will look as if it is a broadcast domain (ie. like ethernet, not like ATM (http://www.iec.org/online/tutorials/atm_fund/ Asynchronous Transfer Mode). For those hosts that aren't in range, it simply will not be able to address. However for each individual host, the set of reachable and unreachable hosts will differ. The implications of this on IP networking in IBSS mode are explained below. !! BSS If the host has an interface in [BSS] mode though, the point control function ensures that each host in the BSS domain can hear all other hosts within the same domain. This way everyone has the same set of reachable hosts. So if a host is operating in BSS mode, the layer two looks the same as any other broadcast layer two medium, e.g. the most common, 802.3 ethernet. You can assign a subnet to the interface, and can be certain that if an IP within that subnet is active on another interface, that it will be addressable at layer two by every other host on the same subnet. In other words, if host A needs to talk to host B, A can use ARP (address resolution protocol) to discover B's hardware address, and then proceed to talk directly. ---- > Is this correct? Router A1 is running in [BSS] mode (therefore it's an access point) and has three Clients (A,B,C) connected with IP addresses allocated from the 10.10.0.0/28 subnet. We just turned our point on and it worked. Everyone's happy, traffic routes through all interfaces (automagically) - life is good, Ya? '''Client B''' 10.10.0.3/28 eth0 | | | | '''Client A''' | '''Client C''' 10.10.0.2/28 10.10.0.4/28 eth0 (- ----------------------- | --------------------- -) eth0 wlan 0 10.10.0.1/28 '''Router A1''' ---- !!! IBSS In contrast, in IBSS mode, if you allocate a subnet to the interface, you cannot be certain that you will be able to address other hosts on the same subnet at layer two. You may need to rely on another node/s to forward your frames/packets in order for them to reach the destination. However if you decide that this is no good, and try to assign a subnetwork for the hosts that are reachable at layer two, then in general, the hosts in the IBSS domain will be unable to agree on who is in the set and who is out. This implies that you need several sets, possibly one per host - so you have a large number of IP addresses assigned to the one interface, sub-interfaces if you like. Additionally, every time another host is added to the IBSS domain, these networks change, so configurations must be changed as well. ---- > And likewise is this correct? Points A,B,C are all running in [IBSS] (old AdHocMode) Point A can see B '''and''' C Points B and C can '''only''' see Point A We subnet and give '''A-B''' 10.10.0.0/30 and '''A-C''' 10.10.0.4/30 A-B and A-C have to be told about each other, so routes are setup so that '''A-B''' and '''B-C''' can talk. We turned our point on but it didn't work straight out of the box. We did a bit of extra work though, had to find the config files and RTFM, and it's now working - life is also good, but a bit exhausting - Ya? '''Point A''' '''Point B''' 10.10.0.1/30 10.10.0.2/30 eth0 wlan0 (- ------------------------------------- -) eth0:0 \ 10.10.0.5/30 \ \ '''Point C''' -) 10.10.0.6/30 wlan0 ----