.

The Pre-IEEE 802.11s Wireless Mesh Network Testbed at Auburn University


Project Context:
This project is relevant to the fullfilment of the Ph.D degree requirements, in Computer Science, at Auburn University. The project is mainly about "IEEE 802.11s Wireless Mesh Networks for Last-mile Internet Access: Performance Evaluation" and it is supervised by Dr. Biaz.

Testbed Description:
The testbed is wireless mesh network that spans two separate locations in the second floor of the Shelby Center at Auburn University. See next Figure. The two WMN are connected to each other via Internet. The testbed is meant to study the performance of the ongoing new IEEE 802.11s standard and suggest ways to improve its performance, e.g., by suggesting new frameworks for wireless link quality characterization. In this project, we propose a new framework that adapts the Physical Interference Model for practical use in WMNs. Such an adaptation allows a quite accurate Interferences levels estimation.
NB: To acsetain the functionality of the testbed, both TCP and UDP traffic have been tested: Wifi-enabled stations can have real Internet sessions using the testbed as a backhaul,
shelby
 

Wireless Mesh Networks Overview:
WMNs are multi-hop wireless networks with static nodes. WMNs are largely benefiting from the valuable research lead so far in MANETs (Mobile Ad hoc Networks). These later, which failed to attract good civil applications, have tremendously contributed to the proliferating success of WMNs: many WMNs protocols have been borrowed from MANETs. e.g., HWMP, AOVD, DSR, OLSR; However, the migration of such protocols should strongly profit from the actual alleviation on the stringent constraints of mobility and power consumption, constraints that were inherent in MANETs.
Thanks to their easy-to-deploy and self-healing features, WMNs are indeed emerging as a very promising technology. Solutions are already commercialized, e.g., Strix Systems, Cisco , Nortel. WMNs are easy-to-deploy as setting a WMN involves minimum cabling and configuration overhead: Settling down the WMN nodes and powering them on is all what is required to maneuver a WMN. WMNs are self-healing thanks to the redundancy of wireless links, i.e., failure tolerance: a failure in a link incites the network to look for an alternative link in order to continuously maintain the network operational.
WMNs have a rich set of applications, e.g. Last-mile Wireless Internet access, wireless community networks, wireless enterprise networks, transportation systems, home networking, etc. Providing last-mile wireless internet access is the most promising application as WMNs tremendously reduce the cost and configuration overhead when compared with current solutions. e.g. Wi-Fi (802.11) WLANs. The proliferation of Wi-Fi LANs played a tremendous role in the promising success of WMNs. Even though very successful, 802.11 WLANs still suffer from the valuable cost and overhead of setting the wired backbone that connects the different 802.11 APs (Access Points), a fact stemming from the last-wireless-hop nature of 802.11 LANs.
In 802.11 WLANs, covering a cell requires the deployment of an AP which should to be cabled to the Internet through a wired backbone network. When another adjacent cell is to be connected, another AP has to be settled and wired to the Internet too and so on. This way, the settlement of further APs becomes more and more costly when the cells to cover are quite far from the backbone network. Furthermore, in case of dense regions, a parallel dense deployment of APs is needed to meet customers needs resulting in more cabling and settlement overhead. Even though, APs are relatively cheap, cabling APs and finding the appropriate canals for the wires is still expensive. In WMNs, no cabling is required except for the AP which will serve as a gateway towards the Internet (Even the gateway can be wirelessly connected to the Internet). All other APs do serve as routers and do route data on behalf of each other towards/from the gateway AP which is connected to the wired backbone network. This way covering a further cell is reduced to placing, without any cabling, an additional AP. Easing wireless coverage increases wireless coverage, a fact which is of tremendous importance to industry since more coverage involves more user connections and hence more return to industry. In this context, IETF is hardly striving to finalize the IEEE 802.11s standard which will pave the way towards a successful worldwide industrialization of this very promising technology.
In 2005, IETF did set a mesh networking TG to standardize IEEE 802.11s, the work is still in progress and the standardization process is expected to be final by late 2009. The last IEEE 802.11s TG meeting was held in last January, 2009. Even though the standard is not final yet, the main traits of the standard have been already set, e.g. IEEE 802.11s architecture and routing using MAC addresses. The IEEE 802.11s TG did set HWMP (Hybrid Wireless Mesh Protocol) as a default routing protocol to be present in all 802.11s compliant devices. Besides, Airtime has been set a default link quality metric to accompany HWMP as well - These two amendments are for the purpose of maitaining minimum compatibility between 802.11s devices. HWMP is a hybrid protocol that combines both a reactive and a proactive routing protocol. The novelty of the protocol is that it uses MAC addresses for routing.


IEEE 802.11s Overview:
802.11s started initially as a study group in 2003 then it was entitled as a Task Group in July 2004. The first draft was accepted in March 2006. The last draft, D2.00, was discussed in the last TG meeting in last January 2009 \cite{ieee}. The finalization of the standard is expected by late 2009. The standard is concerned with five main areas: 1. Architecture 2. Routing in MAC layer 3. MAC enhancements 4. Internetworking and 5. Security. In this work we are basically concerned with the first two and the fourth components. The next two paragraphs do highlight the main features of the first components.
IEEE 802.11s Architecture:
IEEE 802.11s defines three types of stations:
  1. MPs (Mesh Points): Wireless stations that perform routing only. MPs do not provide access point services.
  2. MAPs (Mesh Access Points): MAPs are mesh points, i.e having routing capabilities, with access point capabilities. MAPs do aggregate traffic from/towards legacy 802.11 stations.  A MAP can be thaught of as a legacy Access Point which performs routing also.
  3. MPPs (Mesh Point Portal): MPPs are mesh points serving as gateways to other types of networks. MPPs do aggregate traffic from/towards the wired backbone network.
To illustrate the functionality of every mesh node type, figure.1 depicts a scenario where an end user is surfing Internet using WMN.
Figure1
The end-user, which is at station 1, is connected to a legacy 802.11 network through a mesh access point (MAP). The MAP is forwarding/routing user data towards/from the WMN and has mesh point MP2 as a next hop. Mesh point MP2 has MP4 as its next hop and MP7 afterwards.  This later forwards data towards Mesh Portal Point MPP1 which serves as a gateway towards the Internet where the web server lies. The role of the routing protocol is to determine the best sequence of next hops for a data frame to get to its final destination. In 802.11s, routing is performed using MAC addresses and uses Airtime as a default routing metric.

IEEE 802.11s MAC Routing:
Multi-hop routing is a key element in 802.11s. 802.11s performs routing using MAC addresses. To our understanding, the main motivation behind using MAC addresses, for routing, is allowing the MAC layer to access link quality measurements, a fact which will tremendously optimize routing decisions. In fact, routing metrics are, in wireless networks, at the heart of routing performance [4]. Unlike, wired networks, the quality of the wireless link is not stable and this is due basically to the inherent broadcast nature of the wireless link which results in interferences from undesired communication. Interferences, which are absent in wired networks, are the major inducer of frame losses in  wireless networks, a fact that substantially affects wireless throughput specially with multiple wireless hops which is case with WMNs. Hence, wireless networks and especially multi-hop ones need access to link quality measurements in order to optimize routing performance and cope for the degradation in throughput. Access to wireless link measurements is by principle impossible at Network layer, when conforming to the OSI model, unless a cross layer design is adopted between the Network and MAC layers.  In IEEE 802.11s, a cross-layer design between MAC and Network is implicitly incorporated without affecting the OSI model, this way and in a smart way the 802.11s MAC layer is still compact and transparent to above layers while performing routing.

802.11s uses either four or six MAC addresses for routing depending on the nature of the traffic. When both the source and destination are mesh points in the WMN, only four addresses are used. When at least the source or the destination is outside the WMN, i.e., a non-mesh point, e.g. a 802.11s legacy station, six addresses are used instead. 802.11s header frames bear an AE (Address Extension) mode bit that discriminates between the two modes. In case where WMNs are used for Last-mile Internet access, the AE bit is always set to 1 as both destinations and sources are non-mesh points.\\
Adding two extra MAC addresses, to the ordinary four 802.11 ones, is meant to preserve the MAC addresses of the non-mesh source and non-mesh destination, these later would be lost once the frame enters the mesh network. The six MAC addresses are:
  1. Destination MAC Address: It corresponds to the next hop MAC address.
  2. Source MAC Address: MAC address of the source.    
  3. Destination Proxy Address: The MAC address of the MPP/MAP from where the frame will leave the mesh network.
  4. Source Proxy Address: The MAC address of the MPP/MAP from where the frame entered to the mesh network.
  5. Final Destination Address: The MAC address of the final non-mesh destination.
  6. Originator Address: The MAC address of the non-mesh station that originated the frame.
80.2.11s did set HWMP as a mandatory routing protocol to be present in all 802.11s compliant station, furthermore Airtime was advised as a mandatory routing metric too, and this is in order to ensure compatibility between different 802.11s devices manufacturers.
HWMP is a hybrid routing protocol that has both a Reactive and Proactive components. For the nature of this application, which is IEEE 802.11s WMNs for Last-mile Interent access, where are using the Proactive components. This later is an adaptation of the well-known AODV protocol which uses Airtime as a routing metric.

Implementation:

The system is made of three modules, see Figure 3, that communicate between each other using IPC (Inter Process Communication) shared memories: 1. Routing, 2. Data forwarding and 3. Link quality measurements. Only the last module (link quality measurement) is identical in all WMN nodes, i.e., MAPs, MPs and MPPs. For the two other modules, their implementation depends on the type of the node. Next sections detail implementation for each module and highlights how the implementations differ according to the type of the mesh point.

System_Design
The routing module implementation depends on the type of the mesh node:

1. Routing in MPPs:
In MPPs, the Routing module is made of two sub-modules:
  1. PREQ-Broadcast Module: periodically broadcasts PREQ messages containing basically the MAC address of the local MPP, an incremental sequence number and a routing metric field.
  2. The RREP-Processing Module: processes RREP messages forwarded by intermediate MPs and originated from different MAPs. Upon reception of a RREP message, the MPP gets the MAC address of the sender MAP, looks up its entry it the MPP-Proxying-Table and updates the corresponding routing metric and the corresponding next hop. The RREP messages do set the forward path towards MAPs.

2. Routing in MPs:
In MPs, the MP-PREQ-Processing module processes two types of messages: PREQ and RREP messages.
  1. Upon reception of a PREQ message, the module has to check its freshness in order to process it as only fresher messages are to be considered. Every PREQ message bears a sequence number that is incremented by the issuing MPP. The module extracts first the MAC address of the sender MPP from the PREQ message then uses this address to look up its corresponding entry in the Forwarding Table. The Forwarding Table entries store, among other values, the last fresh sequence number of the concerned MPPs. Once the last fresh sequence number is retrieved, the PREQ message is discarded in case it corresponds to a non-fresh message, i.e. of lesser sequence number. If the PREQ message is a fresher one then the routing module updates its reverse path entry, towards the concerned MPP, in the MP-Forwarding-Table. Afterwards, the PREQ message is updated by adjusting the routing metric value: The module retrieves the corresponding routing metric value, e.g. ETX, ETT or Airtime, for the link from where it received the PREQ message, adds it to the current PREQ routing metric then rebroadcast the message. If the PREQ message is of equal freshness as the current sequence number, the PREQ message is then processed only and only if it corresponds to a better route. If it is the case, the PREQ is processed as if it was a fresh PREQ message.
  2. Upon reception of a RREP message, the MP gets the MAC address of the sending MAP, looks up its entry in the forwarding fable, and then updates the corresponding forward path to the MAP. To forward the RREP message, the MP looks up the destination MPP MAC address and retrieves its entry from the forwarding table. The retrieved entry contains the next hop towards the concerned MPP. Afterwards, the routing metric in the RREP message is updated and then forwarded to the next hop.

3. Routing in MAPs:
Upon reception of a PREQ message, the MAP_PREQ _Processing module retrieves the MAC address of the MPP which issued the PREQ message. The MAP retrieves then the entry, from the Proxying Table, that corresponds to the sender MPP and checks the freshness of the current PREQ message against the already stored freshness. If the PREQ message corresponds to a fresher route or corresponds to an equal freshness route with better routing metric, the corresponding entry in the MAP Proxying Table is updated. Afterwards, the routing metric value is updated the same way as with MPs.
However, the processed PREQ message can correspond to only a local better route, i.e., the best route leading to a specific MPP. Hence, there may be better routes to other MPPs. Selecting the MPP that has the best routing metric would fail in case the entry was updated a long time ago or in case the MPP is off. This problem was highlighted in section 5.1.1. To address this problem, we do timestamp all MPP routing entries in the proxying table. The timestamps correspond to the time at which the MPP routing entry was updated. This way we select the MPP that has the better route as well as a fresher route by comparing its timestamp to the current running time. We set a time threshold which is twice the MPP broadcast periods. We choose a twice period to account for the case when a broadcast has been accidentally lost. The best MPP is marked in the proxying table.\\
Once the proxying table is updated, a RREP message is formed and sent back to the selected MPP. The RREP message acknowledges the receipt of the MPP PREQ message and it plays also the role of an association message telling the MPP to associate the MAP with it. The RREP message bears mainly the MAC address of the MAP as well as the corresponding routing metric.

The Data Forwarding module implementation depends on the type of the mesh node.

1. Data Forwarding in MPPs:
MPPs have two network interfaces: an 802.3 interface and an 802.11 ad-hoc interface, a fact which results in processing two different types of frames.
  1. Upon reception of an 802.3 frame, the MPP Data-Forwarding module extracts the destination IP address from the 802.3 frame then fetches the corresponding MAC address and the associated MAP MAC address from the MPP Association Table. Once having the destination MAP MAC address, the corresponding next hop MAC address is retrieved from the MPP Proxying-Table and the appropriate 802.11s header frame is built. This later contains basically the six MAC addresses that will be used to get the frame through the 802.11s ad-hoc network, to its final destination. The six MAC addresses are built as follows:
        The MPP then strips off the 802.3 frame header and replaces it with the 802.11s frame header while maintaining intact the payload of the 802.3 frame. The resulting 802.11s frame is then         forwarded using the MPP 802.11 interface.

    2. Upon reception of an 802.11s frame in its ad-hoc interface, the MPP reads the 802.11s header frame, gets the originator MAC address and its IP address and inserts an entry for it in the             MPP association table. The entry contains the IP address, the MAC address and the associated MAP MAC address. Afterwards, the MPP strips off the 802.11s frame header and replaces         it with an 802.3 frame header containing as a destination MAC address the default gateway (in the LAN interface) and as a source address the local MPP MAC address.\end{itemize}
2. Data Forwarding in MPs:
In contrast to MPPs, Data Forwarding in MPs is quite straightforward as it deals only with one type frames, i.e. 802.11s frames. However, the MP still receives two types of frames that differ in terms of their final destination being it either an 802.3 or an 802.11 network, i.e. is the final destination an MPP or a MAP?
The proxy type, i.e. a MPP or an MPP, is made transparent in our implementation by having the same type of entry in the MP forwarding table for all proxies.
Upon reception of an 802.11s frame, the MP extracts the destination proxy address, i.e., the MPP or MAP MAC address, consults its  forwarding table and retrieves the corresponding entry which contains the next hop MAC address. The 802.11s frame is then updated by changing only two of the six MAC addresses in the 802.11s frame header, the remaining four ones are kept intact. The two updated MAC addresses are the destination MAC address and the source MAC address which become respectively the retrieved next hop MAC address and the MP MAC address.

3. Data Forwarding in MAPs:
MAPs have two network interfaces, an 802.11 Access Point interface and an ad-hoc 802.11s interface, which results in processing two different types of frames.
  1. Upon reception on an 802.11 frame, from its Access Point interface, the MAP first reads the source MAC address, and formulates the six MAC addresses in the 802.11s header frame as follows:
        The MAP then strips off the 802.11 header, replaces it with the just shaped 802.11s header and forwards the frame through its ad-hoc 802.11 interface.

     2. On the other side, upon reception of a 802.11s frame in its ad-hoc interface, the 802.11s header frame is stripped off and replaced by a broadcast 802.11 header frame. Thereafter, the                 final 802.11 legacy destination will look up its IP address in the broadcasted 802.11 frame.


1. ETX
The ETX module is made of two sub-modules: The ETX-Broadcast module and the ETX-Collect module.
The reverse and forward delivery ratios, for each link, are then used to compute the corresponding ETX value.. The ETX values are written by the module in a shared memory to be accessed by the routing module.

2. Airtime
Reads the corresponding transmission rates using the "/Prof/file" system, gets the ETX values reported by the ETX module and then computes the corresponding Airtime value as specified by IEEE 802.11s.

3. ICE
To compute ICE, we used the capability of the Madwifi driver in allowing the creation of multiple virtual interfaces in the same card. We created two virtual interfaces in every mesh node: One is set to the "ad-hoc" mode and the other is set to the "monitor" mode.
In the monitor mode, the network interface card can overhear all all ongoing singals, hence having access to their strengths, rates and lengths ...etc. These different values are used to compute the SINR under the physical interference model by using a given probabilstic 802.11 traffic model.




1.Data Forwarding Code:
Data Forwarding, as mentioned previously, depends on the type of the mesh point. Consequently there are three files:
  1. MPP_Data_Forwarding.c    
  2. MP_Data_Forwarding.c                          
  3. MAP_Data_Forwarding.c                       
2. Routing Code:
In contrast to Data Forwarding, Routing depends on the type of the mesh point as well as the underlying the Link Quality Measurment module. Consequently, we used the following files:
  1. MP_PREQ_Processing_ETX.c                                  
  2. MP_PREQ_Processing_AIRTIME.c                                              
  3. MP_PREQ_Processing_ICE.c                                                        
  4. MAP_PREQ_Processing_ETX.c                                                   
  5. MAP_PREQ_Processing_AIRTIME.c                                          
  6. MAP_PREQ_Processing_ICE.c                                                     
  7. MPP_PREQ_Broadcast.c (For both ETX and Airtime)                 
  8. MPP_PREQ_Broadcast_ICE.c                                                     
  9. MPP_RREP_Processing.c                                                 
3. Link Quality Measurment Code:
  1. ETX_Broadcast.c                                                                           
  2. ETX_Collect.c                                                                                
  3. Airtime.c                                                                                         
  4. ICE.c