The present disclosure relates generally to communication networks.
A wireless mesh network that supports the routing of frames typically relies on a mesh origin address and a mesh destination address for each frame. If the wireless mesh network routes a frame to or from a device that is not part of the wireless mesh network, the wireless mesh network requires identification of the transmitter of the frame, the mesh nodes that the frame will traverse, and the next-hop receiver of the frame. Without such information, the mesh nodes would likely have to know the addresses of all devices attached to the wireless mesh network, which would be impractical in cases involving large enterprise local area networks (LANs) or the like attached to the wireless mesh network.
Overview
In one embodiment, a method includes accessing a frame including a baseline header including a recipient address (RA) field, a transmitter address (TA) field, a destination address (DA) field, and a source address (SA) field. The method includes inserting into the frame a mesh header including a mesh destination address (MDA) field and a mesh source address (MSA) field. The MSA field specifies an address of a first edge node of the wireless mesh network, and the MDA field specifies an address of a second edge node of the wireless mesh network. The first edge node is a first transmitter of the frame with the baseline and mesh headers in the wireless mesh network, and the second edge node is a last recipient of the frame with the baseline and mesh headers in the wireless mesh network. The RA, TA, DA, and SA fields precede the MDA and MSA fields in the frame after insertion of the mesh header into the frame.
Description
One or more stations (STAs) 16 are coupled to wireless mesh network 12 and to external network 14. As an example and not by way of limitation, STAs 16a and 16b may be coupled to wireless mesh network 12 and STA 16c may be coupled to external network 14. The present invention contemplates any suitable number of any suitable STAs 16 coupled to wireless mesh network 12 and any suitable number of any suitable STAs 16 coupled to external network 14. As an example and not by way of limitation, one or more STAs 16 coupled to wireless mesh network 12 may be devices (such as, for example, fixed or mobile telephones, personal digital assistants (PDAs), desktop or notebook computer systems, printers, media players, or other devices) that each include a medium access control (MAC) and physical layer (PHY) interface to the wireless medium (WM) complying with IEEE 802.11. As another example, one or more STAs 16 coupled to wireless mesh network 12 may be legacy STAs. STAs 16 in system 10 may differ from each other. As an example and not by way of limitation, one or more STAs 16 coupled to wireless mesh network 12 may be endpoints including functionality for communicating with wireless mesh network 12 via one or more wireless links and one or more second STAs 16 coupled to external network 14 may be endpoints including functionality for communicating with external network 14 via one or more wired links, according to particular needs.
Wireless mesh network 12 includes two or more nodes 18. Reference to a node 18 in wireless mesh network 12 encompasses a mesh access point (MAP), a mesh point (MP), a mesh point portal (MPP), or another node or a combination of two or more such nodes, where appropriate. As an example and not by way of limitation, nodes 18a and 18b in wireless mesh network 12 may be MAPs. Nodes 18c, 18d, 18e, and 18f may be MPs. Node 18g may be an MPP or root node. An MAP may be a device in wireless mesh network 12 that includes an MAC and PHY interface to the WM complying with IEEE 802.11 and a hardware, software, or embedded logic component or a combination of two or more such components providing DS functionality for providing STAs 16 access to wireless mesh network 12. An MAP may support a BSS. An MP may be a device in wireless mesh network 12 that includes an MAC and PHY interface to the WM complying with IEEE 802.11 and a hardware, software, or embedded logic component or a combination of two or more such components providing functionality supporting WLAN mesh services. An MPP may be an MP where data communicated between wireless mesh network 12 and an external network 14 enters and exits wireless mesh network 12.
Nodes 18 in wireless mesh network 12 communicate with each other via mesh links. As an example and not by way of limitation, nodes 18a and 18d may communicate with each other via a first mesh link; nodes 18c and 18d may communicate with each other via a second mesh link; nodes 18d and 18e may communicate with each other via a third mesh link; nodes 18d and 18g may communicate with each other via a fourth mesh link; nodes 18e and 18g may communicate with each other via a fifth mesh link; nodes 18b and 18e may communicate with each other via a sixth mesh link; and nodes 18e and 18f may communicate with each other via a seventh mesh link. A mesh link between nodes 18 in wireless mesh network may include one or more mesh links. The present invention contemplates any suitable number of any suitable nodes 18 in wireless mesh network 12 communicating with each other via any suitable number of any suitable mesh links according to, for example, a topology tree.
To communicate with wireless mesh network 12, one or devices outside wireless mesh network 12 may communicate with one or more nodes 18 in wireless mesh network 12 via one or more suitable links between the same. As an example and not by way of limitation, STA 16a may communicate with node 18a (which may be an MAP) via a first wireless link between STA 16a and node 18a. STA 16b may communicate with node 18b (which may also be an MAP) via a second wireless link between STA 16b and node 18b. Node 18a may support a first BSS, which may include STA 16a, and node 18b may support a second BSS, which may include STA 16b. External network 14 may communicate with node 18g (which may be an MPP or root node) via an external link between external network 14 and node 18g. In particular embodiments, a node 18 in wireless mesh network 12 coupled to a device outside wireless mesh network includes a header extension module 20, which includes a hardware, software, or embedded logic component or a combination of two or more such components for modifying the headers of frames entering wireless mesh network 12 from four address fields to six address fields and modifying the headers of frames exiting wireless mesh network 12 from six address fields to four address fields, as described below. Reference to an edge node 18 of wireless mesh network 12 encompasses a node 18 in wireless mesh network 12 coupled to one or more devices (such as, for example, one or more STAs 16 or one or more external networks 14) outside wireless mesh network 12, where appropriate. As an example and not by way of limitation, in system 10, nodes 18a, 18b, and 18g may be edge nodes 18 of wireless mesh network 12. A first edge node 18 along a mesh path may be a first transmitter of a six-address frame in wireless mesh network 12, and a second edge node 18 along the mesh path may be a last recipient of the six-address frame in wireless mesh network 12. First edge node 18 along the mesh path may be responsible for converting or translating a regular IEEE 802.11 four-address frame (such as, for example, a four-address frame received from an STA 16) to a six-address frame. Second edge node 18 along the mesh path may be responsible for converting or translating the six-address frame to a regular IEEE 802.11 four-address frame for transmission out of wireless mesh network 12 to the intended end recipient of the frame.
In contrast to the four-address scheme, frame format 30 includes six address fields, labeled Address 1, Address 2, Address 3, Address 4, Address 5, and Address 6 in
In particular embodiments, mesh header 34 is encrypted. IEEE 802.11 MAC hardware that encrypts the contents of an IEEE 802.11 frame after the Quality of Service (QoS) Control field may be unable to employ mesh edge-to-edge encryption, since the intermediate nodes may fail to perform any route lookup based on Address 5 or Address 6, which are on the forwarding path through the mesh. Hence, we need to indicate the presence of Mesh Forwarding Control (MFC) and Mesh Address Extensions (MAEs) in IEEE 802.11 Frame Control. The frames may be data frames, e.g., Frame Control:Type=0x01 for data and two separate bits for MFC and MAE presence indication in Frame Control:SubType between 0x1100 and 0x1111. Once in place, IEEE 802.11 MAC hardware for MAPs, MPs, and MPPs may be able to detect MFC and MAE and take appropriate actions at the edge, enabling edge-to-edge encryption.
In particular embodiments, a six-address scheme supports routing at the link, e.g., MAC, layer of frames to and from devices attached to a wireless mesh network, such as, for example, wireless mesh network 12. In particular embodiments, to support devices or networks attached to a wireless mesh network, the wireless mesh network uses a second layer of addressing that enables an originating mesh node to provide to a destination mesh node an address of an attached source node and an address of an attached destination node. In particular embodiments, to maintain compatibility with existing LAN protocol stacks, a mesh header field used only by mesh nodes (and not by devices attached to the wireless mesh network) carries the second layer of addressing. Therefore, the use of the six-address scheme is transparent to non mesh devices. In particular embodiments, the communication of a frame from a first attached device to a second attached device across a wireless mesh network makes use of two extended addressing fields, MDA and MSA, that are part of the mesh-level payload.
Consider the following example, provided for the sake of explanation and not limitation. An attached device may communicate a frame to a first mesh edge node neighboring the attached device. The frame may have a header that includes four address fields: one each for an RA, a TA, a DA, and an SA. When the frame leaves the attached device, the RA field may indicate the address of the first mesh edge node, the TA field may indicate the address of the attached device, the DA field may indicate the address of the destination of the frame, and the SA field may indicate the address of the attached device. When the first mesh edge node receives the frame, the first mesh edge node may extend the header of the frame to include six address fields: one each for an RA, a TA, a DA, an SA, an MDA, and an MSA. In the frame, Address 1 may indicate the RA, Address 2 may indicate the TA, Address 3 may indicate the DA, Address 4 may indicate the SA, Address 5 may indicate the MDA, and Address 6 may indicate the MSA. Alternatively, in the frame Address 1 may indicate the RA, Address 2 may indicate the TA, Address 3 may indicate the MDA, Address 4 may indicate the MSA, Address 5 may indicate the DA, and Address 6 may indicate the SA. When the frame leaves the first mesh edge node, the RA field may indicate the address of the next mesh node to receive the corresponding frame, the TA field may indicate the address of the first mesh edge node, the DA field may indicate the address of the destination of the frame, the SA field may indicate the address of the attached device, the MDA field may indicate the address of a second mesh edge node (which may communicate the frame out of the wireless mesh network), and the MSA field may indicate the address of the first mesh edge node. As the frame travels through the wireless mesh network, the RA and TA fields change, but the DA, MDA, SA, and MSA fields remain unchanged. When the frame reaches the second mesh edge node, or destination mesh node, the second mesh edge node may remove the mesh header, set the RA field to indicate the address of the next-hop device outside the wireless mesh network to receive the frame, and set the TA field to indicate the address of the second mesh edge node. If the originator or the destination is a mesh node, the address of the mesh node may populate the SA or DA field, as appropriate.
The Transparent Interconnection of Lots of Links (TRILL) working group of the Internet Engineering Task Force (IETF) has worked on separating device populations in terms of mesh members and non mesh members. The architecture proposed by the TRILL working group generates tunnels between mesh edge nodes, and traffic between devices attached to the wireless mesh network flow through the tunnels, which is similar to the encapsulation of frames traversing the wireless mesh network. In contrast, particular embodiments define a mesh-specific header that enables mesh nodes to route traffic to or from devices attached to the wireless mesh network without knowing anything about the devices. In particular embodiments, an addressing scheme for wireless mesh networks uses six address fields to enable mesh edge nodes to transparently pass non mesh addresses to each other. In particular embodiments, all mesh nodes in a wireless mesh network need not be aware of the addresses of devices outside the wireless mesh network. Particular embodiments provide full transparency for legacy LAN devices. Particular embodiments are compatible with bridging according to IEEE 802.3.
The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments described herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments described herein that a person having ordinary skill in the art would comprehend.