Enabling communication between local area networks (LANs), such as wired Ethernet networks in distinct buildings, can be achieved via the implementation of a wireless bridge, e.g., where a wired link between the networks is unavailable and/or impractical to install. However, wireless bridging of LANs typically involves implementing router functionality, e.g., at level 3 of the Open Systems Interconnection (OSI) model. Such routing functionality can involve processing overhead that can introduce additional latency in communications.
Examples disclosed herein are directed to a method, comprising: at a repeater device, implementing a network bridge between a first interface and a second interface of the repeater device; establishing a connection between the first interface and another communications controller of another computing device; establishing a further connection between the second interface and a further communications controller of a further computing device; and in response to establishing the further connection, initializing a virtual interface corresponding to the further communications controller.
Additional examples disclosed herein are directed to a repeater device, comprising: a first wireless communications interface; a second wireless communications interface; and a processor configured to: implement a network bridge between the first wireless communications interface and the second wireless communications interface; establish a connection between the first wireless communications interface and another communications controller of another computing device; establishing a further connection between the second wireless communications interface and a further communications controller of a further computing device; and in response to establishing the further connection, initializing a virtual interface corresponding to the further communications controller.
The first building 104 includes a local area network (LAN) connecting client computing devices 112-1, 112-2 and 112-3 (collectively referred to as the client devices 112, and generically referred to as a client device 112; similar nomenclature is used elsewhere herein for reference numerals with hyphenated suffixes) and a computing device 116. The client devices 112 and the device 116 can include any of a wide variety of computing devices, such as desktop computers, laptop computers, servers, and the like. The device 116 can implement a network distribution system (e.g., a switch or the like) interconnecting the devices 112). In this example, the device 116 includes a communications interface such as an Ethernet controller, having a set of hardware ports for connection to the client devices 112. The computing device 116 may also connect (e.g., via a further hardware port) to a wide area network (WAN) 120 which may include the Internet. The system 100 may include a router or other device connecting the device 116 to the WAN, but such a device is omitted from
The second building 108 includes client computing devices 124-1 and 124-2, such as laptop computers, smartphones, or the like. The client devices 124 may be configured to access the WAN 120 via the device 116, and/or to access certain applications, data, or the like, within the LAN of the building 104 via the device 116. However, as noted above, the buildings 104 and 108 lack a wired communications link, and may be too distant from one another for a wireless network interface controller at the device 116 to communicate directly with wireless network interface controllers at the client devices 124. Therefore, as will be described below in greater detail, the system 100 also includes a repeater device 128 configured to establish wireless connections with the device 116, and with the client devices 124. The repeater 128 is configured to wirelessly bridge traffic between the buildings 104 and 108.
As will be apparent to those skilled in the art, wireless bridging typically involves implementing level-3 routing functionality, which can introduce latency to communications between the buildings 104 and 108 as a result of the increased complexity involved in routing messages between LANs. As discussed below, the repeater 128 implements certain functions that facilitate level-2 switching between the devices of the buildings 104 and 108, such that the client devices 112, the device 116, and the client devices 124, can communicate effectively as members of a single LAN. As will also be apparent in the discussion below, in some examples the functionality of the repeater 128 can be implemented in drivers, firmware, or the like, for wireless LAN (WLAN) interfaces of the repeater 128. Those WLAN interfaces can be deployed as discrete modules, such as Universal Serial Bus (USB) dongles or the like that can be connected to a computing device. The device 116, or any other device implementing a distribution system, can therefore also be equipped to perform certain functions performed by the repeater 128, to facilitate level-2 switching between distribution systems separated by wireless links.
Turning to
The repeater 128 also includes a first WLAN network interface controller 208-1, and a second WLAN network interface controller 208-2, each connected with the processor 200. The WLANs 208 each include one or more antennas, baseband chips and/or other control circuits, as will be apparent to those skilled in the art. In some examples, the WLANs 208 are integrated with the repeater 128, e.g., supported within a housing of the repeater 128 and connected with the processor 200 via one or more internal buses. In other examples, either or both of the WLANs 208 can be implemented as discrete modules, for example interconnected with the processor 200 via respective USB controllers and hardware ports of the repeater 128.
The instructions stored in the memory 204 and executed by the processor 200 include, in this example, an operating system (OS) 212 or other suitable orchestration application, e.g., configured to implement a network bridge as discussed below. The instructions stored in the memory 204 for execution by the processor 200 also include a first driver 216-1 corresponding to the WLAN 208-1, and a second driver corresponding to the second WLAN 208-2. In other examples, depending for example on whether the WLANs 208 are integrated or separate modules (e.g., USB-based modules), the drivers 216 can be implemented on the respective WLANs 208, and/or functionality implemented by the drivers 216 can be shared between on-board controllers of the WLANs 208 and the processor 200.
Each WLAN 208 has, as will be apparent, a substantially unique media access control (MAC) address, e.g., a string of six octets stored in a read-only memory of the WLAN 208 itself. Thus, the WLAN 208-1 is illustrated as having a MAC address 220-1, and the WLAN 208-2 is illustrated as having a MAC address 220-2.
Via the operation of the WLANs 208 and execution of the OS 212 and drivers 216, the repeater 128 is configured to establish wireless connections with, for example, the device 116 and the client devices 124, in a manner that facilitates level-2 switching of traffic between the devices of the buildings 104 and 108. Through such connections, the LANs of the buildings 104 and 108 can therefore be interconnected wirelessly to behave as a single LAN, rather than as distinct LANs requiring level-3 routing for interconnection.
Turning to
At block 305, the processor 200 is configured to initialize the relevant WLAN 208, e.g., beginning execution of the corresponding driver 216. At block 310, the processor 200 is configured to determine whether the WLAN is operating in a station mode or an access point (AP) mode. The WLANs 208 can operate in either mode, and the choice of mode art block 310 can therefore be set in configuration data, determined by configuration of the devices 116 and 124, or the like. In this example, the device 116 includes a WLAN (whether integrated or deployed as a distinct module) that is configured as an access point. The WLAN 208-1 is therefore configured to operate as a station, the determination for the WLAN 208-1 at block 310 is negative. For the WLAN 208-1, performance of the method 300 can therefore end.
The devices 124, in this example, include WLANs (which may be integrated or deployed as distinct modules, such as USB modules) configured to operate in station mode. The WLAN 208-2 is therefore configured to operate in AP mode, and the determination at block 310 is affirmative. Following an affirmative determination at block 310, at block 315 the processor 200 is configured to await detection of a connection to a station. When a connection to a station, e.g., the client device 124-1, is detected, at block 320 the processor 200 is configured to initialize a virtual interface at the WLAN 208-2. The virtual interface initialized at block 320 corresponds uniquely to the station detected at block 315. At block 325, the processor 200 is configured to indicate frames from the station detected at block 315 on the virtual interface initialized at block 320, for switching to a destination via the WLAN 208-1. As will be apparent, the processor 200 is also configured to switch frames (e.g., received via the WLAN 208-1) addressed to the station detected at block 315 to the virtual interface initialized at block 320. The above process can be repeated for each station connected to the WLAN 208-2 (or, more generally, any WLAN at the repeater 128 that is operating in AP mode), such that the WLAN 208-2 maintains a number of active virtual interfaces equal to the number of stations connected to the WLAN 208-2.
Turning to
The repeater 128 also implements a network bridge, e.g., with a forwarding table containing mappings between the MAC addresses 404-1 and 404-2, and the WLANs 408. Any frames received at the repeater 128 and addressed to, for example, the client device 124-1 (e.g., having the MAC address 404-1 as a destination) are switched to the virtual interface 408-1 for transmission to the WLAN 400-1. This also allows frames addressed to the client device 124-1 to be aggregated (e.g., into an Aggregated MAC Service Data Unit, or A-MSDU). Further, the provision of a single virtual interface for each station connected to the WLAN 208-2 enables the use of three-address headers, rather than four-address headers.
As will be apparent, frames sent from one of the client devices 124, e.g., the device client 124-1 (e.g., having the MAC address 404-1 as source) and addressed to the device 116 are received at the WLAN 208-2 and indicated on the virtual interface 408-1. The frames are then switched to the WLAN 208-1 for delivery (following aggregation, if implemented) to the device 116. For example, the device 116 can include a WLAN 412 (which can be integrated or provided as a USB or other suitable module) with a MAC address 416. As will be apparent, if the devices 112 are connected to the device 116 via an Ethernet interface, e.g., with each device 112 having a dedicated hardware port, the device 116 can implement bridging functionality to switch inbound messages to the relevant device 112 (and the bridge at the repeater 128 may include entries mapping each of the MAC addresses of the client devices 112 to the WLAN 208-1's MAC address 416).
In some examples, as shown in
As will now be apparent, the geographic range of a WLAN can be extended via one or more repeaters, e.g., with devices such as the device 116 also operating as repeaters and implementing the method 300. Turning to
The repeater 128, in this example, initializes the virtual interfaces 500, 408-1, and 408-2 as mentioned earlier, as well as a virtual interface 612 corresponding to a further repeater 616 with a WLAN 620 and a virtual interface 624 corresponding to the WLAN 208-2. The repeater 616 further implements, in association with a WLAN 628, virtual interfaces 630-1 and 630-2 corresponding respectively to WLANs 636-1 and 636-2 of further client devices 632-1 and 632-2. As will be apparent, the creation of virtual interfaces establishing one-to-one relationships between stations and virtual interfaces can be performed at still further repeaters, e.g., to further extend the reach of the resulting network.
In some examples, rather than dynamically creating virtual interfaces corresponding to stations, the repeater 128 can maintain a predetermined set of virtual interfaces (e.g., a set of pre-generated virtual MAC addresses), and can activate or deactivate such interfaces in response to establishing connections with stations.
The scope of the claims should not be limited by the embodiments set forth in the above example, but should be given the broadest interpretation consistent with the description as a whole.
The present application claims priority to U.S. Provisional Patent Application No. 63/381,797, filed Nov. 1, 2022, the contents of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63381797 | Nov 2022 | US |