Difference between revisions of "GSOC2013WAVE MAC"

From Nsnam
Jump to: navigation, search
(is your model going to involve vehicular mobility of some sort)
(is this model going to involve vehicular mobility of some sort)
Line 78: Line 78:
 
== is this model going to involve vehicular mobility of some sort ==
 
== is this model going to involve vehicular mobility of some sort ==
 
Vehicular network involves not only communication protocol, but also communication environment including vehicular mobility and propagation models. Because of specific features of the latters than normal MANET, the protocols need to change. The MAC layer model
 
Vehicular network involves not only communication protocol, but also communication environment including vehicular mobility and propagation models. Because of specific features of the latters than normal MANET, the protocols need to change. The MAC layer model
in this project just adopts MAC changes to vehicular environment. However this model not involves any vehicular mobility.
+
in this project just adopts MAC changes to vehicular environment. However this model not involves any vehicular mobility with time limit.Users can use any mobility model in ns-3, but should know these models are not real vehicular mobility. More work is need.
Users can use any mobility model in ns-3, but should know these models are not real vehicular mobility. More work is need.
+
  
 
== is your model going to use different propagation models ==
 
== is your model going to use different propagation models ==

Revision as of 02:48, 24 June 2013

Project

  • Project Name: Implementation of WAVE 1609.4/802.11p
  • Student: Junling Bu
  • Mentor: Guillaume Remy, Tom Henderson, Daniel Lertpratchya
  • Abstract: Since WAVE communication standards have been published, there exist many relevant implementations including prototypes, products, and simulations. However the implementation varies significantly, some of them even based on old draft standards. Besides that, ns-3 has no complete WAVE module yet. So this project will implement WAVE 1609.4/802.11p in mac layer for ns-3, with complete testsuits, examples, helpers and documents.
  • Code: Because of access restrictions from China, the code repository of this project cannot host on ns-3 code server with ssh command connected to. For now, an easy solution is to host the code on github website (mainly under src/wave directory).Code repository.
  • Midterm report:https://www.nsnam.org/wiki/index.php/GSOC2013WAVE_MAC/MidTermReport
  • About me: I am a second year Master student from China, and now is researching on vehicular network communication.

Introduction

IEEE Std 802.11p-2010 [1]

802.11p is an amendment of the IEEE standard 802.11, specifying extensions to 802.11a, adapting it to VANET communications in the 5.9 GHz band, fitting the VANET requirements of high mobility and short-duration communications. This specification includes: functions and services required by stations to operate correctly and to exchange messages without joining a BSS; signaling techniques and interface functions used by stations to communicate outside the context of a BSS.

IEEE Std 1609.4-2010 [4]

1609.4 means multi-channel operations, providing enhancements to IEEE 802.11 MAC to support WAVE operations, namely number and type of channels, channel routing and coordination, QoS mechanisms and node synchronization. 75MHz channel spacing is divided into one CCH (control channel) and six SCHs (service channels). Based on GPS time information or 802.11p Timing Advertisement frame, wireless devices synchronously switch between CCHI (control channel interval) and SCHI (service channel interval)。

Approach

Architecture of the implementation of 1609.4/802.11p in ns-3

Implement 802.11p mac in ns-3

The OCB mac mode named OcbWifiMac will be defined(Outside the context of a BSS), which is like ad-hoc rather than AP and station. According to the discussion among ns-3 developers [2-3],OcbWifiMac will inherit from RegularWifiMac class, which is very similar to AdhocWifiMac. The OcbWifiMac will overwrite some unsuitable functions to only log warn message, overwrite some functions to operate in OCB mode, and also provider some specific functions defined only in 802.11p. Moreover, OcbWifiMac will also set some arguments like default EDCA value.

Implement 1609.4 mac extension in ns-3

Since 1609.4 has already been implemented in some other simulations[5-6], this project will adopt some ideas from these papers as well as take the discussion among ns-3 developers[2-3] as the guideline for implementing. A subclass inheriting from NetDevice named WaveNetDevice will be defined, composed of (a) OcbWifiMac mac defined in 802.11p, (b) WaveNetDevice mac extension dealing with functions of 1609.4 management and data plane,(c) subcomponents in 1609.4 including ChannelCoordinator, ChannelManager, SchChannelScheduler and VSARepeater.

Development methodology

  • First,based on ns-3 manual and model documents, abstract high basic classes, define common functions, and also add ns-3 features including Log and Attributes;
  • Then, develop real working subclass inheriting from base class.
  • After that, write test suits and examples, find bug, and check whether they work well;
  • Last, complete manual documents about how to implement and how to use.


And the most important point is that it’s an iterative process like Extreme Programming. Because this is a light project, we can develop simple functions, work well, then go back to develop a little more complex and accurate.

Testing approach

When programming codes, test codes meanwhile. And testing approach is mainly based on log functions, examples and test suits. According to the Test part of ns-3 manual, it includes:

a) Unit test, each layer's important functions and classes will be tested independently.
b) Integrated test, integrating multiple classes will be tested.
c) System test, examples will be used to test WAVE implementation.

Deliverables

According to the ns-3 architecture, deliverables are in a new module named WAVE, including Model, Doc, Helper, Binding, Test, and Examples.

  • Model mainly contains : a) implementations of 802.11p, including ocb-wifi-mac.h/.cc; b) implementations of 1609.4, including wave-net-device.h/.cc, vsa-repeater.h/.cc, sch-channel-scheduler.h/.cc, channel-manager.h/.cc, channel-coordinator.h/.cc,vendor-specific-frame.h/.cc.
  • Doc contains design ideas, implementation details, and manual. Helper contains nice helpers to simplify operation, including wave-helper.h/.cc.
  • Test contains some test suits, including ocb-wifi-mac-test-suit.cc, wave-net-device-test-suit.cc.
  • Examples contain useful examples, including simple-wave-example.c, and simple-802.11p-example.c.

Plan and Weekly Progress

Based on the GSoC 2013 timeline, there are totally 12 weeks. The following is the plan of this project (Implementation not only means source codes, but also contains relevant test suits, examples and documents):

  • Community bonding period [status: completed]

Before June 17: learn Python, ns-3 coding style, read relevant ns-3 codes,talk with mentors about implementation details.

  • Week 1/2 [status: underway]

June 17 – June 30: implement OcbWifiMac.

 a) remove deprecated 802.11p code from wifi module.
 b) complete a management frame header named VendorSpecificActionHeader.
 c) complete wifi-80211p-helper
 d) declare OcbWifiMac class and implement most method.
  • Week 3/4 [status: ]

June 1 – July 14: implement WaveNetDevice

  • Week 5/6 [status: ]

July 15 – July 28: implement SchChannelScheduler

  • mid-term report [status: ]

July 29 - August 2:submit source files including ocb-wifi-mac.h/.cc, wave-net-device.h/.cc, ocb-wifi-mac-test-suit.cc, simple-802.11p-example.cc. And submit a document about partial technical details and usage for VANET researchers and a relatively simple introduction of WAVE for other users

  • Week 7 [status: ]

August 3 – August 11: implement ChannelCoordinator

  • Week 8 [status: ]

August 12 – August 18: implement ChannelManager

  • Week 9/10 [status: ]

August 19 – September1: implement VSARepeater

  • Week 11 [status: ]

September 2 – September 8: complete documents, useful helpers

  • Week 12 [status: ]

September 9 – September 15: complete some WAVE examples, system test.

  • Final [status: ]

September 16 – September 23: scrub code, and improve documentation.

Usage

Issues

is this model going to involve vehicular mobility of some sort

Vehicular network involves not only communication protocol, but also communication environment including vehicular mobility and propagation models. Because of specific features of the latters than normal MANET, the protocols need to change. The MAC layer model in this project just adopts MAC changes to vehicular environment. However this model not involves any vehicular mobility with time limit.Users can use any mobility model in ns-3, but should know these models are not real vehicular mobility. More work is need.

is your model going to use different propagation models

what specifically is different about your mac other than wildcard BSSID

are there any vehicular application models to drive the code

any previous code you think you can leverage

Acknowledgement

Thanks for all comments from Guillaume Rémy, Lalith Suresh, Tommaso Pecorella, and Tom Henderson.

References

  • [1] IEEE Std 802.11p. IEEE Standard for Information Technology-Telecommunications and Information Exchange Between Systems-Local and Metropolitan Area Networks-Specific Requirements-Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 6: Wireless Access in Vehicular Environments, 2010.
  • [2] ns-3.Bug 945 - Revise how we provide support for vehicular communications. [Online]. Available: https://www.nsnam.org/bugzilla/show_bug.cgi?id=978.
  • [3] ns-3.Bug 978 - Consolidate Wi-Fi MAC high functionality. [Online].Available: http://www.nsnam.org/bugzilla/show_bug.cgi?id=978#c16.
  • [4] IEEE Std 1609.4-2010. IEEE Standard for Wireless Access in Vehicular Environments (WAVE) - Multi-Channel Operation, 2010.
  • [5] Chen Qi, Daniel Jiang, and Luca Delgrossi. "IEEE 1609.4 DSRC multi-channel operations and its implications on vehicle safety communications."Vehicular Networking Conference (VNC), 2009 IEEE. IEEE, 2009.
  • [6] Ghandour, Ali J., et al. "Modeling and simulation of WAVE1609.4-based multi-channel vehicular ad hoc networks." Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2012.