Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Nv2 protocol is a proprietary wireless protocol developed by MikroTik for use with Atheros 802.11 wireless chips. Nv2 is based on TDMA (Time Division Multiple Access) media access technology instead of CSMA (Carrier Sense Multiple Access) media access technology used in regular 802.11 devices.

...

Media access in Nv2 network is controlled by Nv2 Access Point. Nv2 AP divides time in into fixed size "periods" which are dynamically divided in into downlink (data sent from AP to clients) and uplink (data sent from clients to AP) portions, based on the queue state on AP and clients. Uplink time is further divided between connected clients based on their requirements for bandwidth. At the begginning beginning of each period, AP broadcasts a schedule that tells clients when they should transmit and the amount of time they can use.

In order to allow new clients to connect, Nv2 AP periodically assigns uplink time for "unspecified" client - this time interval is then used by a fresh client to initiate registration to AP. Then AP estimates propagation delay between AP and client and starts periodically scheduling uplink time for this client in order to complete registration and receive data from client.

Nv2 implements dynamic rate selection on a per-client basis and ARQ for data transmissions. This enables reliable communications across Nv2 links.

For QoS Nv2 implements variable number of priority queues with builtin built-in default QoS scheduler that can be accompanied with fine-grained QoS policy based on firewall rules or priority information propagated across network using VLAN priority or MPLS EXP bits.

...

Nv2 protocol implementation status

As of version 5.0rc1 Nv2 has the following features:

  • TDMA media access
  • WDS support
  • QoS support with variable number or priority queues

As of version 5.0rc2:

  • data encryption

...

  • RADIUS authentication features

...

  • added missing statistics fields

...

  • Fixed Downlink mode support
  • Uplink/Downlink ratio support
  • Nv2 AP synchronization experimental support

Features that Nv2 DOES NOT HAVE YET:

  • administrator controlled media access policy
  • some other features...support

Compatibility and coexistence with other wireless protocols

...

  • Media access is scheduled by AP - this eliminates hidden node problem and allows to implement centralized media access policy - AP controls how much time is used by every client and can assign time to clients according to some policy instead of every device contending for media access.
  • Reduced propagation delay overhead - There are no per-frame ACKs in Nv2 - this significantly improves throughput, especially on long-distance links where data frame and following ACK frame propagation delay significantly reduces the effectiveness of media usage.
  • Reduced per frame overhead - Nv2 implements frame aggregation and fragmentation to maximize assigned media usage and reduce per-frame overhead (interframe spaces, preambles).

...

  • Reduced polling overhead - instead of polling each client, Nv2 AP broadcasts an uplink schedule that assigns time to multiple clients, this can be considered "group polling" - no time is wasted for polling each client individually, leaving more time for actual data transmission. This improves throughput, especially in PtMP configurations.
  • Reduced propagation delay overhead - Nv2 must not poll each client individually, this allows to create uplink schedule based on estimated distance (propagation delay) to clients such that media usage is most effective. This improves throughput, especially in PtMP configurations.
  • More control over latency - reduced overhead, adjustable period size and QoS features allows for more control over latency in the network.

Configuring Nv2

As of version 5.0rc1 new wireless interface setting wireless-protocol has been introduced. This setting controls which wireless protocol selects and uses. Note that the meaning of this setting depends on the interface role (either it is AP or client) that depends on interface mode setting. Find possible values of wireless-protocol and their meaning in table below.

...

  • Nv2-queue-count - specifies how many priority queues are used in Nv2 network. For more details see QoS in Nv2 network
  • Nv2-qos - controls frame to priority queue mapping policy. For more details see Manual:Nv2#QoS_QoS in _ Nv2 _ network
  • Nv2-cell-radius - specifies distance to farthest client in Nv2 network in km. This setting affects the size of contention time slot that AP allocates for clients to initiate connection and also size of time slots used for estimating distance to client. If this setting is too small, clients that are farther away may have trouble connecting and/or disconnect with "ranging timeout" error. Although during normal operation the effect of this setting should be negligible, in order to maintain maximum performance, it is advised to not increase this setting if not necessary, so AP is not reserving time that is actually never used, but instead allocates it for actual data transfer.
  • tdma-period-size - specifies size in ms of time periods that Nv2 AP uses for media access scheduling. Smaller period can potentially decrease latency (because AP can assign time for client sooner), but will increase protocol overhead and therefore decrease throughput. On the other hand - increasing period will increase throughput but also increase latency. It may be required to increase this value for especially long links to get acceptable throughput. This necessity can be caused by the fact that there is "propagation gap" between downlink (from AP to clients) and uplink (from clients to AP) data during which no data transfer is happening. This gap is necessary because client must receive last frame from AP - this happens after propagation delay after AP's transmission, and only then client can transmit - as a result frame from client arrives at AP after propagation delay after client's transmission (so the gap is propagation delay times two). The longer the distance, the bigger is necessary propagation gap in every period. If propagation gap takes significant portion of period, actual throughput may become unacceptable and period size should get increased at the expense of increased latency. Basically value of this setting must be carefully chosen to maximize throughput but also to keep latency at acceptable levels.
  • Nv2-mode - specifies to use dynamic or fixed downlink/uplink ratio. Default value is "dynamic-downlink";

...

  • Nv2-security - specifies Nv2 security mode, for more details see Manual:Nv2#Security_Security in _ Nv2 _ network
  • Nv2-preshared-key - specifies preshared key to be used, for more details see Manual:Nv2#Security_Security in _ Nv2 _ network
  • nv2-sync-secret - specifies secret key for use in the Nv2 synchronization. Secret should match on Master and Slave devices in order to establish the synced state.

...

  • upgrade AP to version that supports Nv2, but do not enable Nv2 on AP yet.
  • upgrade clients to version that supports Nv2
  • configure all clients with wireless-protocol=Nv2-nstreme-802.11. Clients will still connect to AP using protocol that was used previously, because AP is not changed over to Nv2 yet
  • configure Nv2 related settings on AP
  • if it is necessary to use data encryption and secure authentication, configure Nv2 security related settings on AP and clients (refer to Manual:Nv2#Security_Security in _ Nv2 _ network).
  • set wireless-protocol=Nv2 on AP. This will make AP to change to Nv2 protocol. Clients should now connect using Nv2 protocol.
  • in case of some trouble you can easily switch back to previous protocol by simply changing it back to whatever was used before on AP.
  • fine tune Nv2 related settings to get acceptable latency and throughput
  • implement QoS policy for maximum performance.

...

  • For Nv2 Synchronization a Master Nv2 AP should be chosen and "nv2-mode=sync-master" should be specified together with "nv2-sync-secret".
  • For Nv2 Slave APs the same wireless frequency as Master AP should be used and "nv2-mode=sync-slave" should be specified with the same "nv2-sync-secret" as the in Master AP configuration.
  • When Master AP is enabled Slave APs will try start searching for Master AP by matching it against specified "nv2-sync-secret".
  • After Master AP is found the Slave AP will calculate the distance to the Master AP as it is possible that Master AP is located not on the same location.
  • Then Slave AP starts operating as AP and it adapts the period size and downlink ratio from the synced Master AP.
  • In addition after the Slave AP is operational other Slave APs can use this Slave AP to sync with.
  • Slave AP periodically listens for the Master AP and checks if the "nv2-sync-secret" still matches and adapts the parameters again. If Master AP interface is disabled/enabled all the Slaves will be also disabled and will start the synchronization process from the beginning.
  • If Master AP stops working Slave APs also will stop working as they do not have sync information.

...

In this mode QoS queue is selected based on frame priority field. Note that frame priority field is not some field in headers and therefore it is valid only while packet is processed by given device. Frame priority field must be set either explicitly by firewall rules or implicitly from ingress priority by frame forwarding process, for example, from MPLS EXP bits. For more information on frame priority field see:

Queue is selected based on frame priority according to 802.1D recommended user priority to traffic class mapping. Mapping depends on number of available queues (Nv2-queue-count parameter). For example, if number of queues is 4, mapping is as follows (pay attention how this mapping resembles mapping used by WMM):

...