The field of invention relates generally to networking and, more specifically but not exclusively relates to techniques for improving the bandwidth for wireless access points employed to support Wireless Local Area Networks (WLANs).
In recent years, network reach and flexibility has been greatly enhanced through the development and deployment of wireless networks. Although many different wireless protocols are now available (e.g., Wi-Fi, Bluetooth, infared, various cellular transmission schemes, WiMax, etc.), the majority of wireless networks deployed today employ wireless network components that operate under the IEEE (Instituted for Electronic and Electrical Engineers) 802.11 suite of standards.
The most numerous WLAN deployments, commonly referred to as “WiFi” (wireless fidelity) networks, employ an air interface operating in the 2.4-gigahertz (GHz) frequency range. The original Wi-Fi standard was developed by the Wireless Ethernet Compatibility Alliance (WECA), and is based on the IEEE 802.11b specification. Wi-Fi uses spread-spectrum radio waves using direct-sequence spread spectrum (DSSS) by splitting each byte of data into several parts and sending them concurrently on different frequencies. This results in a bandwidth of up to 11 megabits per second (Mb/s) when an appropriate signal strength is available. IEEE 802.11g defines a similar standard to Wi-Fi, with backward compatibility to 802.11b. However, 802.11g employs orthogonal frequency-division multiplexing (OFDM) rather than DSSS, and supports bandwidth up to 54 Mb/s. Enhanced implementations of 802.11g are asserted by their manufacturers to support transfer rates of up to 108 Mb/s. WLAN equipment employing the IEEE 802.11a standard has also been recently introduced. The 802.11a standard employs a 5 GHz air interface using an OFDM carrier.
A typical 802.11 WLAN deployment is shown in
Each wireless AP 100A-C provides WLAN service to stations within its coverage area using wireless signals and protocols defined by the applicable air interface (typically 802.11b or 802.11g or both) employed for the WLAN. (For illustrative purposes, each coverage area is shown in a circular shape, although in practice, the actual shape of a particular coverage area will generally vary based on various obstacles and signal interference from external sources. Additionally, each of coverage areas 101A-C is shown to not overlap any other coverage area. Again, this is for illustrative purposes, as WLAN coverage areas often overlap.) Exemplary WLAN stations depicted in
A wireless AP provides a basic and extended service set to one or more stations that communicate with the AP. The AP facilitates and coordinates communication and channel access between stations, and provides an access mechanism for the stations to access various land-based networks via switch 102, such as depicted by enterprise network 116 and Internet 118. Stations authenticated and associated with an AP typically do not operate in a peer-to-peer mode—communication from one station to another are routed through the AP. Thus, the AP serves as a relay station for data traffic between stations within its coverage area by providing a routing function on the WLAN side. Furthermore, an AP provides another routing function pertaining to the routing of downlink traffic originating from an upstream network (such as enterprise network 116 and Internet 118, as well as traffic originating from other APs) and destined for a WLAN station served by the AP.
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified:
a shows an IEEE 802.3 frame format; and
b shows an IEEE 802.11 frame format.
Embodiments of methods and apparatus for enhancing WLAN access point bandwidth are described herein. In the following description, numerous specific details are set forth to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The WLAN controller is further depicted as including an 802.11 PHY block 210, and an 802.11 MAC (Media Access Control) block 212. As will be recognized by those skilled in the networking arts, the PHY and MAC blocks are respectively associated with the Physical and Data Link layers, which comprise the two lowest layers (layer-1 and layer-2) in the seven-layer OSI (Open System Interconnect) network communication model.
As its name implies, WLAN/Ethernet bridge is employed as a bridge between 802.11 WLAN signals and 802.3 Ethernet signals. More particularly, in the illustrated architecture, WLAN/Ethernet bridge 202 provides an interface between 802.11 frames passed to and from the WLAN sub-system, and 802.3 frames passed to and from Ethernet controller 204. This is facilitated, in part, by an 802.11/802.3 translator 214, which translates frame formats between 802.11 and 802.3 and vice-versa. As an option, the frame translation operations may be performed by WLAN controller 208.
As discussed above, an access point may also need to perform switching and/or routing functions. At one level, switching operations are performed via WLAN sub-system 200, such as managing access to the WLAN channel(s) using collision avoidance mechanisms and the like, since by its nature, the WLAN air interface comprises a shared medium necessitating some type of switching mechanism. Additionally, the AP must perform switching/routing operations, wherein packets received at an input side of an input/output (I/O) port are routed to either an appropriate destination station via the WLAN sub-system or to another I/O port to be transferred to another network. For illustrative purposes, the switching and routing operations are depicted in
Another operation typically provided by an access point relates to security. Not only is a WLAN signal sent over a shared medium, it may be accessed (at the signal level) by any station within the AP's coverage area, regardless of whether that station is authorized or not to access the AP. Accordingly, to control AP access, various security schemes are implemented, such as WEP (Wired Equivalent Privacy) and WPA (Wi-Fi Protected Access) schemes. Under these schemes, packets are encrypted using some security key infrastructure, such as shared keys, rotating keys, etc. At the same time, Ethernet transmissions are typically are either a) not encrypted or b) encrypted using decryption/encryption managed by the transmission endpoints rather than the AP (e.g., Virtual Private Connections, Secure Socket Layer security, etc.) To facilitate the encryption and decryption operations necessary to support secure WLAN traffic, WLAN/Ethernet bridge 202 also includes an encryption/decryption block 222. Generally, some or all of the operations illustrated by encryption/decryption block 222 may be performed by WLAN sub-system 200, depending on the particular AP architecture.
Another operation provided by an AP is station management. For example, prior to being permitted access to AP services, a station typically needs to perform a registration operation or the like. During this process, the MAC address of the station will be acquired and the station will be identified/authenticated, an IP (Internet Protocol) address of the station will be dynamically or statically allocated and stored in an MAC-to-IP address translation table access by switch/router 220, and other related operations are performed. The station management operations are collectively depicted as being performed by a station management block 224, which access WLAN controller 208 via a management interface 226.
The Ethernet controller 204 is used to provide the interface between the AP and various networks to which the AP is communicatively coupled via corresponding network infrastructure, such as switched, bridges, routers, etc. To facilitate these operations, the Ethernet controller typically includes one or more I/O ports 228, an 802.3 PHY block 230, and an 802.3 MAC block 232. In general, I/O ports 228 will be coupled to one or more networks via corresponding IEEE 802.3 (Ethernet) links. Accordingly, such ports are alternately referred to as Ethernet ports or Ethernet I/O ports. In other instances, an Ethernet port name includes its underlying transmission rate, such as a GigE (Gigabit per second Ethernet) port for for Ethernet ports supporting GigE transmission rates.
As depicted by the Transmit and Receive arrows adjacent to WLAN sub-system 200, the “direction” of the forwarding operations described herein are from the viewpoint of the AP relative to the WLAN stations. Accordingly, transmit operations are performed to forward packets received from an Ethernet link at an AP to a WLAN station, while receive operations are performed to forward packets received from a WLAN station to be forwarded through the AP to a network via an Ethernet link.
The partitioning of the functional blocks illustrated in
Typically, the operations depicted by all or a portion of the various functional blocks depicted for the WLAN/Ethernet bridge are facilitated via execution of corresponding software modules that are executed on an embedded processor or the like. While this affords some degree of flexibility, it increases network latency and decreases AP throughput. This is due, in part, to latencies caused by memory access bottlenecks, as well as latencies inherent in software-based functions, such as 802.11/802.3 translation.
In general, internal processor 302 may employ various types of instruction and data caching operations using well-known caching techniques. Accordingly, NPU 300 is depicted to further include an optional instruction cache (I-cache) 311 and an optional data cache (D-cache) 312.
With further reference to
Continuing at a block 404, after the packet has been sent to external memory 310, Ethernet controller 404 notifies processor 302 of the packet's presence. In response, the packet header information is read from external memory 310 and the packet is processed again with a soft-switch function and layer-2 header translation from an 802.3 MAC header to an 802.11 MAC header. In the manner discussed above, the header translation operation is performed by executing a corresponding software module on internal processor 302.
Next, at a block 406, processor 302 sends an interrupt to WLAN controller 208 via communications interface 308 to fetch the packet from external memory 310. In response in a block 408, the WLAN controller submits a request to retrieve the packet via communications interface 308 to memory controller 306. The packet is then fetched from external memory 310 via memory controller 304 in a block 410, and sent to WLAN controller 208 via communications interface 308 in a block 414. At this point, the packet is transmitted to a destined WLAN station via WLAN sub-system 200, as depicted in a block 416.
With reference to
Continuing at a block 506, the WLAN controller next sends notification to internal processor 302 that a packet has been transferred to external memory 310. The processor then performs layer-2 header translation and a software switching function on the packet in a block 508. In a block 510, the processor notifies Ethernet controller 304 that a packet is ready to be transmitted out. The Ethernet controller than reads the packet from external memory 310 and performs a switching function (as necessary) in a block 512 to direct the packet to the appropriate I/O port. The receive forwarding process is completed in a block 514, with the Ethernet controller transmitting the packet via the I/O port and Ethernet link to a first network hop along the path to the destined packet recipient.
Each of the foregoing packet-forwarding processes introduces excessive latency during the transfer of packets between the NPU and the WLAN controller. This reduces the overall bandwidth of the wireless AP. The problem becomes more severe when multiple WLAN controllers are connected to the NPU via a single communication interface (such as in the configuration described below with reference to
In accordance with aspects of the embodiments now described, the aforementioned transfer latencies are significantly reduced via employment of a WLAN “mailbox,” which provides built-in packet-processing capabilities that enables some of the tasks performed by the conventional architecture of
An exemplary AP architecture 600 that employs a WLAN mailbox in accordance with one embodiment of the invention is shown in
In addition to these components, NPU 602 includes a WLAN mailbox 604. The WLAN mailbox provides built-in computation and storage capabilities that are employed to offload packet-forwarding tasks, as described in further detail below. The capabilities are facilitated via associated functional blocks and components, as depicted toward the top of
As shown in
PCI controller 700 employs a PCI bus 704 to communicate with other components coupled to the PCI bus using PCI control and data signaling. In one embodiment, PCI controller communicates with WLAN sub-system 200 via a single WLAN controller 208 that includes a PCI interface. As illustrated in
For example, an AP may support multiple WLAN protocols via corresponding 802.11 WLAN controllers, as depicted by respective 802.11g, 802.11b, and 802.11a WLAN controllers 208A, 208B, and 208C. Also as depicted in
Referring now to
In one embodiment, as depicted by a block 806 and its associated dashed connection arrows, a layer-2 frame format translation operation is performed by the WLAN mailbox on the fly to change the frame format from the incoming Ethernet format to an applicable outgoing WLAN protocol format. This operation includes a layer-2 header translation operation performed by 802.3-to-802.11 MAC header translator 610 to translate the packet's MAC header for an 802.3 format to an 802.11 format. Further details of the MAC header translation and related frame format translation operations are discussed below with reference to
As discussed above, in some wireless AP architectures the frame format translations are performed by the WLAN sub-system. Accordingly, the operation of block 806 is not employed for such architectures.
As depicted in blocks 808 and 810, in response to the notification of block 804, the WLAN controller requests the packet via the communication interface, and the packet data is fetched directly from the memory block (in which it was stored in block 802) in the WLAN mailbox and sent to the WLAN controller via the communications interface. The packet is then transmitted to its destined WLAN station via WLAN sub-system 200, as depicted in a block 812.
The operations of blocks 904 and 906 are substantially analogous to the operations of blocks 804 and 806 discussed above, except the frame format translation is now from a WLAN-based format to an Ethernet format. More particularly, in block 906 the frame format is translated from a WLAN-base protocol to an Ethernet protocol. Accordingly, in the illustrated embodiment, the frame format translation includes a layer-2 MAC header translation that is performed on the fly using 802.11-to-802.3 MAC header translator 612. As before, under embodiments that perform frame format translations via the WLAN controller, the operation of block 906 is bypassed. Also as before, a portion of the operation of block 906 may be performed in parallel with the notification operation of block 904.
In response to the notification of block 904, Ethernet controller 700 requests the packet from the WLAN mailbox, and the packet is read from the memory block (C or D) in which it was previously stored. Subsequently, in a block 910, the packet is sent to the first hop in the Ethernet network via Ethernet controller 304.
The formats for an 802.3 frame format and an 802.11 frame format are respectively shown in
The 802.11 frame format includes a 2-byte Frame Control field, a 2-byte Duration ID, 6-byte Address 1, 2, 3, and 4 fields, a 2-byte Sequence Control field, a 0-2312 byte Data field, and a 4-byte FCS field. Address 1 corresponds to the MAC address of the source of the WLAN transmission. Address 2 corresponds to the MAC address of the destination of the WLAN transmission. Address 3 corresponds to the MAC address of the receiving WLAN station. Address 4 corresponds to the MAC address for the transmitting WLAN station.
Another aspect of the frame format translation corresponds to generating the FCS field value. The CRC generators (606 and 608) are employed for generating a cyclic redundancy check value, which is calculated over the entire MAC frame. It is used to verify the integrity of the frame at a next hop. Upon receiving a frame, the CRC for the frame is recalculated and compared with the FCS field value. A difference in the existing and recalculated FCS field values indicates the packet has been corrupted. During the MAC header translation (in either direction), a new FCS field value will be calculated using the CRC generator corresponding to the packet flow direction (Transmit or Receive), and will be appended following the data field in the translated frame.
As described above, in some embodiments layer-2 (MAC) header translation is performed on the fly during the substantially parallel operations of blocks 804 and 806 in
The packet-forwarding schemes in accordance with the embodiments disclosed herein provide several advantages over the conventional techniques. The schemes increase the bandwidth of packet transfer between the WLAN controller(s) and the NPU. This becomes even more advantages when multiple WLAN controllers are employed in the same AP, and is particularly valuable in view of the increased use of 802.11g and 802.11a WLANs. The schemes also reduce packet-forwarding latencies.
In accordance with one aspect, packet data is transferred between the Ethernet controller and the communications interface (via the use of associated programmed logic in the NPU) in a manner that bypasses the conventional memory controller/external memory storage mechanism. This avoids the bottlenecks and latencies associated with employing the external memory for storing packet data.
In accordance with another aspect implemented by some embodiment, by removing the need for the processor to perform layer-2 header translation, packet arriving from the WLAN sub-system may be quickly forwarded to the Ethernet controller for switching, while packets arriving at the wireless AP that are destined for a WLAN station may be quickly forwarded to the WLAN sub-system with minimal latency. Furthermore, the processor can offload some of the software switching functions directly to the Ethernet controller. Hence, many of the packets will not need to be written to the external memory if the packet to be routed between a WLAN station and an Ethernet I/O port. This is very important for time critical packets such as voice or video data.
As another advantage, the schemes reduce the need for the internal processor to have large caches, since a large part of the processing performed (e.g., layer-2 header translation) is now done easily by the header translation units in the WLAN mailbox. Furthermore, since the processor does not need to perform layer-2 header translation and to some extent switching functions, the processor may be run at lower clocking speeds, thus reducing power consumption.
In general, the operations performed by the various functional blocks and components of the WLAN mailbox may be implemented on an integrated circuit (IC) using well-known semiconductor manufacturing processes. Furthermore, the various WLAN mailbox functional blocks may be implemented via hardware-based (e.g., gate-level) programmed logic, software running on an embedded compute element, or a combination of the two. In one embodiment, the 802.3-to-802.11 MAC header translator 610 and the 802.11-to-802.3 MAC header translator 612 are implemented via programmed logic to perform hardware-based MAC header translations. Similarly, programmed logic is implemented to facilitate the forwarding and storage a packets under the WLAN mailbox architectures described herein.
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the drawings. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.