Subject: [v6ops] IPv6 over 802.11b, g, n, ac... (collectively labelled 'WiFi')

From: Alexandru Petrescu <[email-masked]>
Date: Wed, 05 Mar 2014 12:05:16 +0100

Hello,

Related to the discussion at today's v6ops WG meeting around ND and 
low-power, other reduced links, and WiFi.  I find that discussion 
interesting.

As a side note, without diverging,

One wonders whether it would be advantageous to document how currently 
IPv6 runs over WiFi links; it is just a little bit different than 
IPv6-over-Ethernet RFC2464.  The documentation would not need to add any 
enhancement, e.g. still no IP address in beacon headers, just describe 
the existing widespread implementations.

For example, there is an '802.11-to-Ethernet Adaptation Layer' if one 
can say so, which converts IEEE 802.11 Data Header and the LLC Header to 
an artificial Ethernet II header, before providing it to the stack: it 
copies the EtherType 0x86DD from the LLC header and the MAC addresses 
from the 802.11 Header to this artificial Ethernet header:

         +--------------------+-------------+-------------+---------+
         | 802.11 Data Header | LLC Header  | IPv6 Header | Payload |
         +--------------------+-------------+-------------+---------+

                                            ^
                                            |
                          802.11-to-Ethernet Adaptation Layer
                                            |
                                            v

                      +---------------------+-------------+---------+
                      | Ethernet II Header  | IPv6 Header | Payload |
                      +---------------------+-------------+---------+

(on Ethernet cables there is no IEEE 802.11 Data Header).

A capture with wireshark would expose this:

      Radiotap Header v0
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Header Revision|  Header Pad   |    Header length              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Present flags                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Data Rate     |             Pad                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      IEEE 802.11 Data Header
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Type/Subtype and Frame Ctrl  |          Duration             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Receiver Address...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ... Receiver Address           |      Transmitter Address...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ... Transmitter Address                                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            BSS Id...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ... BSS Id                     |  Frag Number and Seq Number   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Logical-Link Control Header
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      DSAP   |I|     SSAP    |C| Control field | Org. code...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ... Organizational Code        |             Type              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      IPv6 Base Header
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Version| Traffic Class |           Flow Label                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Payload Length        |  Next Header  |   Hop Limit   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                         Source Address                        +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                      Destination Address                      +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Alex