Communication methods, device, system and readable storage medium
By timely updating the AC's forwarding entry during STA roaming, the problems of data packet loss and network lag after STA roaming are solved, and more stable wireless communication is achieved.
Patent Information
- Application Number
- PCT/CN2024/103560
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-22
- Filing Date
- 2024-07-04
- Publication Date
- 2025-03-27
AI Technical Summary
After the STA roams from one AP to another, the AC will not actively update the STA's forwarding entry, resulting in data packet loss and network communication stuttering.
By detecting that the wireless communication connection between the STA and the AP is disconnected, the first device sends information to the third device (AC), instructing to delete the forwarding entry corresponding to the STA. After receiving this information, the third device deletes the forwarded table entry in time and updates the forwarded table entry to cache data when the STA reconnects.
It effectively reduces the data packet loss rate of STA, avoids network communication lag, and improves the communication quality of STA through wireless networks.
Smart Images

Figure CN2024103560_27032025_PF_FP_ABST
Abstract
Description
Communication method, device, system and readable storage medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 22, 2023, with application number 202311245888.0 and application name “Communication Method, Device, System and Readable Storage Medium”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of wireless communication technology, and in particular to a communication method, device, system and readable storage medium. Background Art
[0003] To improve the communication quality of stations (STAs) over wireless networks (such as wireless local area networks (WLANs) and wireless fidelity (Wi-Fi) networks), an access controller (AC) is typically connected to multiple wireless access points (APs). Based on the STA's environment and the network quality of different APs, the STA can roam between multiple APs connected to the AC to improve communication quality when accessing the internet or other devices connected to the AC. For example, after connecting to a current AP for network data transmission, if the STA moves closer to another AP or the network quality of the other AP is better than the current AP, the STA can connect to the other AP for communication.
[0004] Generally speaking, data transmitted from the internet or other devices connected to an AC to a STA is forwarded by the AC to the AP connected to the STA's corresponding port based on the STA's forwarding entry in the AC's forwarding table (which records the correspondence between the STA and the AC's ports). The AP then transmits the data to the STA over the wireless network. When a STA roams from one AP to another, the AC does not proactively update the STA's forwarding entry. As a result, the AC forwards the data intended for the STA to the AP that roamed, causing packet loss.
[0005] Summary of the Invention
[0006] In view of this, the present application provides a communication method, device, system and readable storage medium, which are conducive to reducing the data packet loss rate of a site and avoiding network communication jams at the site.
[0007] A first aspect provides a communication method, the method comprising: connecting a first device to a second device, wherein the second device accesses a wireless access point provided by the first device as a site, and the access controller of the first device is a third device; the first device detects that the wireless communication connection between the first device and the second device is disconnected, and sends first information to the third device, wherein the first information is used to instruct the third device to delete a forwarding entry corresponding to the second device in a forwarding table of the third device.
[0008] Based on the above method, the third device (acting as an AC) can promptly delete the forwarding entry corresponding to the second device in the forwarding table after the wireless communication connection between the second device (acting as a STA) and the first device (acting as an AP) is disconnected. According to the provisions of the communication protocol, when the third device does not have a forwarding entry for the second device, it can cache the data transmitted to the second device and transmit the cached data to the third device after the second device reconnects to the third device's wireless access point. This helps reduce the packet loss rate of the second device and avoids network communication lags on the second device.
[0009] In some implementations, the first device is a wireless access point connected to the third device, configured to provide the second device with a wireless network connection to a network (eg, the Internet) to which the third device is connected or to other devices to which the third device is connected.
[0010] In a possible implementation of the first aspect above, the above-mentioned first device detects that the wireless communication connection between the first device and the second device is disconnected, and sends the first information to the third device, including: the first device detects that the wireless communication connection between the first device and the second device is disconnected, and sends the first information to the third device through the management channel between the first device and the third device.
[0011] In some implementations, the management channel between the first device and the third device can be a communication channel between the third device and the first device for transmitting control information, or a message (or frame) for transmitting control information defined by the communication protocol between the third device and the first device.
[0012] In a possible implementation of the first aspect, the first information includes an identifier of the second device, where the identifier includes at least one of a media access control address, a device serial number, a device name, and an Internet Protocol address.
[0013] A second aspect provides a communication method, which includes: a third device receives first information sent by a first device, the first information being sent when the first device detects that the wireless communication connection between the first device and the second device is disconnected, wherein the third device is an access controller of the first device, and the second device accesses a wireless access point provided by the first device as a site; and the third device deletes a forwarding table entry corresponding to the second device in a forwarding table in response to the first information.
[0014] Based on the above method, the third device (acting as an AC) can promptly delete the forwarding entry corresponding to the second device in the forwarding table after receiving the first information indicating that the wireless communication connection between the second device (acting as a STA) and the first device (acting as an AP) has been disconnected. According to the provisions of the communication protocol, when the third device does not have a forwarding entry for the second device, it can cache data transmitted to the second device and transmit the cached data to the third device after the second device reconnects to the third device's wireless access point. This helps reduce the packet loss rate of the second device and avoids network communication lags on the second device.
[0015] In some implementations, the first device is a wireless access point connected to the third device, configured to provide the second device with a wireless network connection to a network (eg, the Internet) to which the third device is connected or to other devices to which the third device is connected.
[0016] In a possible implementation of the second aspect above, the method further includes: after deleting the forwarding table entry corresponding to the second device, the third device sends an address resolution protocol request message for the Internet Protocol address of the second device; the third device receives an address resolution protocol response message corresponding to the address resolution protocol request message sent by the second device, and establishes a first forwarding table entry corresponding to the second device in the forwarding table, wherein the forwarding port in the first forwarding table entry is the communication port between the wireless access point to which the second device is currently connected and the third device.
[0017] In this implementation, after deleting the forwarding table entry corresponding to the second device, the third device can promptly establish the first forwarding table entry corresponding to the second device by sending an address resolution protocol request message for the Internet Protocol address of the second device, thereby shortening the time for disconnection of the communication connection between the third device and the second device and avoiding network lag of the second device.
[0018] In a possible implementation of the second aspect above, the method further includes: the third device receives the first message, and the sending device recorded in the first message is the second device; the third device establishes a first forwarding table entry corresponding to the second device in the forwarding table, wherein the forwarding port in the first forwarding table entry is the communication port between the wireless network access point to which the second device is currently connected and the third device.
[0019] In a possible implementation of the second aspect above, the method further includes: after deleting the forwarding entry corresponding to the second device, the third device caches the first data corresponding to the second device; and the third device transmits the first data to the second device based on the first forwarding entry.
[0020] In this implementation, after establishing the first forwarding table entry for the second device, the third device may transmit the cached data corresponding to the second device to the second device, thereby reducing the amount of data lost by the second device.
[0021] A third aspect provides a communication method, which includes: a fourth device establishing a wireless communication connection with a second device, wherein the second device accesses a wireless access point provided by the fourth device as a site, the access controller of the fourth device is a third device, and the fourth device communicates with the third device through a first port; the fourth device sends a second message to the third device, wherein the second message is used to instruct the third device to update the forwarding port in the forwarding table entry corresponding to the second device in the forwarding table of the third device to the first port, and the media access control address recorded in the source address field in the second message is the media access control address of the second device.
[0022] Using the above method, when the second device (as a STA) establishes a wireless communication connection with the fourth device, the fourth device (as an AP) can send a second message to the third device (as an AC), where the media access control address recorded in the source address field is the media access control address of the second device, so that the third device promptly updates the forwarding table entry corresponding to the second device. This method can reduce the packet loss rate of the second device and avoid network communication lags on the second device.
[0023] In some implementations, the fourth device is a wireless access point connected to the third device to provide the second device with a wireless network for connecting to a network (eg, the Internet) to which the third device is connected or other devices to which the third device is connected.
[0024] In a possible implementation of the third aspect, the second message is any one of the following messages: an Address Resolution Protocol message, a Spanning Tree Protocol message, and an Internet Control Message Protocol message with the third device as the destination device.
[0025] A fourth aspect provides a first device, the first device comprising: a memory for storing one or more programs; a processor for executing one or more programs so that the first device implements any one of the communication methods provided in the first aspect.
[0026] In a fifth aspect, the present application provides a third device, which includes: a memory for storing one or more programs; and a processor for executing one or more programs so that the third device implements any one of the communication methods provided in the second aspect above.
[0027] In a sixth aspect, the present application provides a fourth device, which includes: a memory for storing one or more programs; and a processor for executing one or more programs so that the fourth device implements any one of the communication methods provided in the third aspect.
[0028] The seventh aspect provides a system, which includes any one of the first devices provided by the fourth aspect and any one of the third devices provided by the fifth aspect.
[0029] The eighth aspect provides a readable storage medium, which includes one or more programs. When the one or more programs are executed on the device, the device enables any one of the communication methods provided by the first aspect, or implements any one of the communication methods provided by the second aspect, or implements any one of the communication methods provided by the third aspect.
[0030] The ninth aspect provides a program product, which, when running on a device, enables the device to implement any one of the communication methods provided in the first aspect, or any one of the communication methods provided in the second aspect, or any one of the communication methods provided in the third aspect.
[0031] It should be understood that the beneficial effects of the fourth to ninth aspects mentioned above can be referred to the description of the first to third aspects mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] FIG1 shows a schematic diagram of a roaming scenario according to some embodiments of the present application;
[0033] FIG2 shows a timing diagram of data forwarding by the AC 10 in the scenario shown in FIG1 according to some embodiments of the present application;
[0034] FIG3 is a schematic diagram showing a process of a communication method according to some embodiments of the present application;
[0035] FIG4A shows a timing diagram of data forwarding to STA 30 after AC 10 updates the forwarding table based on the forwarding table deletion message sent by AP 21 according to some embodiments of the present application;
[0036] FIG4B shows a timing diagram of data forwarding to STA 30 after AC 10 updates a forwarding table entry based on an uplink message sent by AP 22 according to some embodiments of the present application;
[0037] FIG5A shows a schematic diagram of a connection between AP 21, AP 22, and AC 10 according to some embodiments of the present application;
[0038] FIG5B shows another schematic diagram of a connection between AP 21, AP 22, and AC 10 according to some embodiments of the present application;
[0039] FIG5C shows another schematic diagram of a connection between AP 21, AP 22, and AC 10 according to some embodiments of the present application;
[0040] FIG5D shows a schematic diagram of another connection method between AP 21, AP 22 and AC 10 according to some embodiments of the present application;
[0041] FIG6 shows a schematic diagram of software architecture in an AC and an AP according to some embodiments of the present application;
[0042] FIG7A shows a functional schematic diagram of a site connection status detection module according to some embodiments of the present application;
[0043] FIG7B shows a functional schematic diagram of a forwarding entry update information sending module according to some embodiments of the present application;
[0044] FIG7C shows a functional schematic diagram of a roaming detection module according to some embodiments of the present application;
[0045] FIG7D shows a functional schematic diagram of a forwarding entry processing module according to some embodiments of the present application;
[0046] FIG8A is a schematic diagram showing an implementation process of a communication method according to some embodiments of the present application;
[0047] FIG8B shows a schematic diagram of an interaction process of a communication method according to some embodiments of the present application;
[0048] FIG9 is a schematic diagram showing an interaction flow of another communication method according to some embodiments of the present application;
[0049] FIG10A is a schematic diagram showing an implementation process of another communication method according to some embodiments of the present application;
[0050] FIG10B is a schematic diagram showing an interaction flow of yet another communication method according to some embodiments of the present application;
[0051] FIG11 is a schematic diagram showing an interaction flow of yet another communication method according to some embodiments of the present application;
[0052] FIG12 shows a schematic structural diagram of a device 100 according to some embodiments of the present application. DETAILED DESCRIPTION
[0053] Illustrative embodiments of the present application include, but are not limited to, communication methods, devices, systems, and readable storage media.
[0054] The technical solution of this application is introduced below with reference to the accompanying drawings.
[0055] FIG1 shows a schematic diagram of a roaming scenario according to some embodiments of the present application.
[0056] As shown in Figure 1, AC 10 includes Ethernet interfaces eth.0, eth.1, eth.2, and eth.3. Ethernet interface eth.0 is connected to the Internet, Ethernet interface eth.1 is connected to network attached storage (NAS) 40, Ethernet interface eth.2 is connected to AP 22, and Ethernet interface eth.3 is connected to AP 21.
[0057] 1 , STA 30 is connected to AP 21 via a wireless network and performs network data transmission through AP 21. For example, STA 30 can access the Internet or other devices connected to AC 10 (e.g., NAS 40) through AP 21 and AC 10. When STA 30 moves to an area closer to AP 22 or when AP 22 provides a higher network quality than AP 21, the STA can roam to AP 22 (disconnect from the wireless network connection with AP 21 and connect to AP 22 via a wireless network) based on a roaming protocol (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11K protocol, IEEE 802.11V protocol, IEEE 802.11R protocol, etc.) and perform network data transmission through AP 22.
[0058] However, data transmitted from the internet or NAS 40 to a STA is transmitted by AC 10 to AP 21 or AP 22 based on STA 30's forwarding table entry (which records the correspondence between STA 30 and the AP). After STA 30 roams from AP 21 to AP 22, the forwarding table entry corresponding to STA 30 in AC 10 is not immediately updated. For example, when STA 30 and AC 10 communicate via the Transmission Control Protocol (TCP), AC 10 updates STA 30's forwarding table entry after a preset period of time has passed since the communication connection with STA 30 was disconnected. When STA 30 and AC 10 communicate via the User Datagram Protocol (UDP), AC 10 updates STA 30's forwarding table entry after receiving an uplink message from STA 30.
[0059] In this case, because AC 10 does not proactively update the forwarding table entry corresponding to STA 30, AC 10 forwards data transmitted from the internet or NAS 40 to STA 30 via Ethernet interface eth.3 to AP 21. However, STA 30 has actually roamed to AP 22, and AP 21 cannot correctly transmit the data to STA 30.
[0060] It should be understood that the AC's forwarding table records the correspondence between the STA identifiers (e.g., media access control (MAC) addresses, device names, device serial numbers, Internet Protocol (IP) addresses, etc.) of each STA connected to the AC and the AC's ports (which can be physical interfaces of the AC (e.g., the aforementioned Ethernet interfaces) or logical ports for wireless communication). The correspondence between each STA's STA identifier and AC port can be referred to as a forwarding table entry.
[0061] In other embodiments, other information may also be recorded in the forwarding table of the AC, such as whether the MAC address is the local address of the AC, the aging time of the forwarding table entry (the time when the forwarding table entry is automatically refreshed), the STA identifier of each STA and the IP four-tuple information (source IP address, destination IP address, source port, destination port) or five-tuple information (source IP address, destination IP address, protocol number, source port, destination port) or seven-tuple information (source IP address, destination IP address, protocol number, source port, destination port, service type and interface index), etc.
[0062] Exemplarily, FIG2 shows a timing diagram of data forwarding by the AC 10 in the scenario shown in FIG1 according to some embodiments of the present application.
[0063] As shown in FIG2 , the data that the Internet or NAS 40 needs to transmit to STA 30 includes data D1 , data D2 , data D3 , and data D4 , and the MAC address of STA 30 is MAC1 .
[0064] Before time T1, STA 30 is connected to AP 21. The forwarding entry corresponding to STA 30 in AC 10's forwarding table is "MAC1 → eth.3" (the correspondence between STA 30's MAC address and Ethernet interface eth.3). Based on the forwarding entry "MAC1 → eth.3," AC 10 can transmit data D1 to AP 21 connected to Ethernet interface eth.3. AP 21 then transmits the data D1 to STA 30 over the wireless network.
[0065] At time T1, STA 30 disconnects from the wireless network connection with AP 21, and at time T2, connects to AP 22 via the wireless network.
[0066] From time T1 to time T2, AC 10 does not update the forwarding table entry corresponding to STA 30. AC 10 still transmits data D2 to AP 21 connected to Ethernet interface eth.3 based on the forwarding table entry "MAC1 → eth.3." However, from time T1 to time T2, STA 30 is not connected to AP 21, so STA 30 cannot receive data D2, resulting in packet loss.
[0067] From T2 to T3, STA 30 is connected to AP 22 but does not send any uplink packets to AC 10. AC 10 therefore does not update the forwarding entry for STA 30. From T2 to T3, AC 10 still transmits data D3 to AP 21 connected to Ethernet interface eth.3 based on the forwarding entry "MAC1 → eth.3." However, from T2 to T3, STA 30 is not connected to AP 21, so it cannot receive data D3, resulting in packet loss.
[0068] At time T3, STA 30 sends an uplink message to AC 10 via AP 22. After receiving the uplink message, AC 10 updates the forwarding table entry corresponding to STA 30 to "MAC1 → eth.2" (the correspondence between STA 30's MAC address and Ethernet interface eth.2). After T3, AC 10 can transmit data D4 to AP 22 connected to Ethernet interface eth.2 based on the forwarding table entry "MAC1 → eth.2." AP 22 then transmits the data to STA 30 over the wireless network.
[0069] Based on the above process, it can be seen that during the period from STA 30 disconnecting from AP 21 to STA 30 sending an uplink message to AP 22, the data (data D2, data D3) that the Internet or NAS 40 needs to transmit to STA 30 cannot be transmitted to STA 30, resulting in data packet loss in STA 30.
[0070] In view of this, an embodiment of the present application provides a communication method, which is applied to a scenario in which a STA roams from a first AP to a second AP, and the first AP and the second AP are connected to the same AC. The first AP sends forwarding table item update information to the AC when it detects that the wireless network connection status between the STA and the first AP is disconnected, and / or the second AP sends forwarding table item update information to the AC after detecting that a wireless communication connection with the STA is established. The AC can then update the historical forwarding table item corresponding to the STA in the AC's forwarding table (the mapping relationship between the port connected to the first AP on the AC and the STA's STA identifier) to the current forwarding table item (the mapping relationship between the port connected to the second AP on the AC and the STA's STA identifier) based on the received forwarding table item update information. In this way, the AC can promptly update the forwarding table item corresponding to the STA in the scenario in which the STA roams from the first AP to the second AP, which is beneficial to reducing the amount of packet loss of data sent by the AC to the STA.
[0071] In some embodiments, corresponding to a scenario where a STA roams from a first AP to a second AP, and the first AP and the second AP are connected to the same AC, upon detecting that the wireless network connection between the STA and the first AP is disconnected, the first AP may send a forwarding table entry deletion message (as forwarding table update information) carrying the STA's STA identifier (e.g., the MAC address, name, device serial number, etc. of the STA device) to the AC. After receiving the forwarding table entry deletion message, the AC may delete the forwarding table entry corresponding to the STA from the AC's forwarding table based on the STA identifier in the forwarding table entry deletion message.
[0072] After deleting the STA's forwarding table entry, the AC can cache data destined for the STA. Then, after the STA connects to a second AP, the AC can create a new forwarding table entry in its forwarding table that corresponds to the STA, indicating the correspondence between the port on the AC connected to the second AP and the STA's STA identifier. Based on the newly created forwarding table entry, the AC can transmit previously cached data and current data to the STA via the second AP. This helps reduce packet loss in roaming scenarios when the STA is sending data from the AC to the STA.
[0073] In some embodiments, a scenario in which a STA roams from a first AP to a second AP, and the first and second APs are connected to the same AC, may be described. Upon detecting that the STA is connected to the second AP via a wireless network, the second AP may send an uplink message corresponding to the STA to the AC (a message in which the message sending device is recorded as the STA). After receiving the uplink message corresponding to the STA, the AC may update the historical forwarding entry in the AC's forwarding table (the mapping relationship between the port connected to the first AP on the AC and the STA's STA identifier) to the current forwarding entry (the mapping relationship between the port connected to the second AP on the AC and the STA's STA identifier) based on the STA identifier. The AC may then transmit data to the STA via the second AP based on the current forwarding entry.
[0074] In this way, after the STA roams from the first AP to the second AP, the AC can promptly update the forwarding table entry corresponding to the STA and transmit data to the STA based on the updated forwarding table entry, thereby avoiding STA device data loss due to failure to promptly update the forwarding table entry corresponding to the STA.
[0075] Exemplarily, FIG3 shows a process diagram of a communication method according to some embodiments of the present application.
[0076] Referring to FIG3 , corresponding to the scenario shown in FIG1 , after detecting that the wireless network between STA 30 and AP 21 is disconnected, AP 21 (as the first AP) can send a forwarding entry deletion message to AC 10. After receiving the forwarding entry deletion message, AC 10 can delete the forwarding entry corresponding to STA 30 (e.g., the aforementioned forwarding entry "MAC1→eth.3") from its forwarding table. Then, after STA 30 connects to AP 22 (as the second AP), the AC can create a new forwarding entry corresponding to STA 30 (e.g., the aforementioned forwarding entry "MAC1→eth.2") and, based on the newly created forwarding entry, transmit data to STA 30 via AP 22.
[0077] It should be understood that after the forwarding entry corresponding to STA 30 is deleted from AC 10's forwarding table, AC 10 cannot query the forwarding table to find the Ethernet interface corresponding to STA 30. AC 10 can cache data to be transmitted to STA 30 and, after creating a new forwarding entry for STA 30, transmit the cached data to STA 30 via AP 22 based on the newly created forwarding entry. This reduces packet loss in data sent from AC 10 to STA 30 and prevents network lag for STA 30.
[0078] Continuing with FIG3 , corresponding to the scenario shown in FIG1 , after detecting a wireless network connection between STA 30 and AP 22, AP 22 may send an uplink message corresponding to STA 30 (a message in which the message sending device is STA 30) to AC 10 (for example, the address in the source address field of the uplink message (the MAC address of the device sending the message) is the MAC address of STA 30). After receiving the uplink message corresponding to STA 30, AC 10 may update the forwarding port (for example, the aforementioned Ethernet interface eth.3) in the forwarding table entry corresponding to STA 30 to the port on AC 10 to which AP 22 is connected (for example, the aforementioned Ethernet interface eth.2), and transmit data to STA 30 via AP 22 based on the updated forwarding table entry.
[0079] Based on the above method, AC 10 can promptly update STA 30's forwarding table when the AP to which STA 30 is connected changes, and transmit data to STA 30 based on the updated forwarding table. This helps reduce packet loss in data sent by AC 10 to STA 30 and avoids network lag.
[0080] For example, Figure 4A shows a timing diagram of AC 10 forwarding data to STA 30 after updating the forwarding table based on the forwarding table deletion message sent by AP 21 according to some embodiments of the present application; Figure 4B shows a timing diagram of AC 10 forwarding data to STA 30 after updating the forwarding table entry based on the uplink message sent by AP 22 according to some embodiments of the present application.
[0081] 4A , corresponding to the situation shown in FIG3 , the data that the Internet or NAS 40 needs to transmit to STA 30 includes data D1 , data D2 (including data D21 and data D22 ), data D3 , and data D4 , and the MAC address of STA 30 is MAC1 .
[0082] Before time T1, STA 30 is connected to AP 21. The forwarding entry corresponding to STA 30 in AC 10's forwarding table is "MAC1 → eth.3." Based on the forwarding entry "MAC1 → eth.3," AC 10 can transmit data D1 to AP 21 connected to Ethernet interface eth.3. AP 21 then transmits the data D1 to STA 30 over the wireless network.
[0083] At time T1, AP 21 detects that STA 30 has lost its wireless network connection to AP 21 and sends a forwarding entry deletion message to AC 10. In response to the forwarding entry deletion message, AC 10 deletes the forwarding entry "MAC1→eth.3" corresponding to STA 30 from its forwarding table at time T4. STA 30 connects to AP 22 via the wireless network at time T2 and sends an uplink message to AC 10 at time T3.
[0084] During the period from time T1 to time T4, the forwarding entry corresponding to STA 30 in AC 10 is not updated. AC 10 still transmits data D21 to AP 21 connected to Ethernet interface eth.3 based on the forwarding entry “MAC1→eth.3”.
[0085] During the period from time T4 to time T2, the forwarding entry "MAC1→eth.3" has been deleted. AC 10 cannot find the forwarding entry corresponding to STA 30 in the forwarding table and caches data D22.
[0086] From time T2 to time T3, STA 30 is connected to AP 22 but does not send any uplink packets to AC 10. AC 10 therefore does not update the forwarding table entry for STA 30. From time T2 to time T3, AC 10 still cannot find the forwarding table entry for STA 30 and caches data D3.
[0087] At time T3, STA 30 sends an uplink message to AC 10 via AP 22. After receiving the uplink message from STA 30, AC 10 creates a forwarding entry corresponding to STA 30, "MAC1 → eth.2," in its forwarding table. After T3, AC 10 transmits cached data D22, cached data D3, and data D4 to AP 22 connected to Ethernet interface eth.2 based on the forwarding entry "MAC1 → eth.2." AP 22 then transmits the data to STA 30 over the wireless network.
[0088] Based on the above process, only data D21 is lost when STA 30 roams from AP 21 to AP 22. Compared to the situation shown in Figure 2, data D22 and data D3 are not lost. The packet loss of data sent by AC 10 to STA 30 is minimal, thus avoiding communication interruptions for STA 30.
[0089] For another example, referring to FIG4B , corresponding to the situation shown in FIG3 , the data that the Internet or NAS 40 needs to transmit to the STA 30 includes data D1 , data D2 , data D3 , and data D4 , and the MAC address of the STA 30 is MAC1 .
[0090] Before time T1, STA 30 is connected to AP 21. The forwarding entry corresponding to STA 30 in AC 10's forwarding table is "MAC1 → eth.3." Based on the forwarding entry "MAC1 → eth.3," AC 10 can transmit data D1 to AP 21 connected to Ethernet interface eth.3. AP 21 then transmits the data D1 to STA 30 over the wireless network.
[0091] At time T1, STA 30 disconnects from the wireless network connection with AP 21, and at time T2, connects to AP 22 via the wireless network.
[0092] Between T1 and T2, AC 10 does not update the forwarding table entry for STA 30. AC 10 still transmits data D2 to AP 21 connected to Ethernet interface eth.3 based on the forwarding entry "MAC1 → eth.3." However, between T1 and T2, STA 30 is not connected to AP 21, and data D2 is lost.
[0093] At time T2, AP 22 detects that STA 30 is connected to AP 22 via the wireless network and sends an uplink message corresponding to STA 30 to AC 10. In response to the uplink message corresponding to STA 30, AC 10 updates the forwarding entry corresponding to STA 30 from "MAC1→eth.3" to "MAC1→eth.2".
[0094] During the period from time T2 to time T3, AC 10 may transmit data D3 to AP 22 connected to Ethernet interface eth.2 based on the forwarding table entry “MAC1→eth.2”, and AP 22 may transmit data D3 to STA 30 via the wireless network.
[0095] After time T3, since the forwarding entry corresponding to STA 30 has been updated to "MAC1→eth.2", AC 10 can transmit data D4 to AP 22 connected to Ethernet interface eth.2 based on the forwarding entry "MAC1→eth.2", and then AP 22 transmits it to STA 30 through the wireless network.
[0096] Based on the above process, only data D2 is lost when STA 30 roams from AP 21 to AP 22. Compared to the scenario shown in Figure 2, data D3 is not lost, reducing the amount of data lost from AC 10 to STA 30 and preventing communication interruptions for STA 30.
[0097] It should be understood that the AP can be any device used to connect a STA to the AC's network, including but not limited to a wireless router, customer premises equipment (CPE), a mobile phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, etc.
[0098] It should be understood that the AC can be any device used to manage APs and STAs connected to the AC, including but not limited to routers, CPEs, car computers, mobile phones, tablet computers, laptop computers, desktop computers, etc.
[0099] In some embodiments, the AC can be used to aggregate data from different APs and access the Internet or other devices, to manage AP configuration, and to authenticate, manage, and control broadband access and security of STAs.
[0100] It should be understood that a STA can be any device that can connect to an AP via a wireless network, including but not limited to laptops, desktop computers, mobile phones, tablets, smart home devices (such as smart TVs, smart lamps, smart curtains, smart cameras, etc.), IoT devices (such as sensors), wearable devices (such as smart watches, smart bracelets, etc.), etc.
[0101] It should be understood that the connection between AP 21, AP 22, and AC 10 via Ethernet interfaces provided in the aforementioned embodiments is merely an example. In other embodiments, AP 21, AP 22, and AC 10 may also be connected in other ways, which are not limited here.
[0102] 5A , APs 21 and 22 may be connected to the AC 10 through a power line communication (PLC) network.
[0103] 5B , AP 21 and AP 22 may be connected to AC 10 through a wireless network.
[0104] 5C , AP 21 and AP 22 may be connected to AC 10 through a fiber to the remote (FTTR) network.
[0105] It should be understood that in other embodiments, AP 21 and AP 22 may be connected to AC 10 using different methods, which are not limited herein. For example, referring to FIG. 5D , AP 21 may be connected to AC 10 using a first method, and AP 22 may be connected to AC 10 using a second method. The first method and the second method may be the same or different. For example, the first method and the second method may be any of the aforementioned Ethernet interfaces, PLC networks, FTTR networks, wireless networks, and the like.
[0106] The following describes the technical solution of this application in conjunction with the software architecture in the AC and AP.
[0107] To facilitate understanding, the software architecture in the AC and AP is first introduced with reference to the scenario shown in FIG3 .
[0108] FIG6 shows a schematic diagram of software architecture in an AC and an AP according to some embodiments of the present application.
[0109] As shown in FIG6 , the software architecture of the AP may include a site connection status detection module and a forwarding table update information sending module; the software architecture of the AC includes a forwarding table processing module, a roaming detection module, and a kernel.
[0110] The station connection status detection module is used to detect the status of the wireless communication connection between the STA and the AP, and transmit the detected wireless communication connection status to the forwarding entry update information sending module.
[0111] In some embodiments, the station connection status detection module can detect the status of the wireless communication connection with the AP by monitoring messages defined by the communication protocol indicating that the STA has connected to the AP via the wireless network, or messages indicating that the STA has disconnected the wireless communication connection with the AP. For example, referring to FIG7A , the station connection status detection module can determine that the wireless communication connection between the STA and the AP has been disconnected if the STA receives an NL80211_CMD_DEL_STATION message for the STA. The station connection status detection module can also determine that the STA is connected to the AP via the wireless network if the STA receives an NL80211_CMD_NEW_STATION message for the STA.
[0112] The forwarding entry update information sending module is used to send forwarding entry update information to the AC according to the detection result of the site connection status detection module.
[0113] In some embodiments, when the detection result of the station connection status detection module indicates that the wireless communication connection between a STA and the AP is disconnected, the forwarding table entry update information sending module can send forwarding table entry deletion information to the AC. For example, referring to FIG7B , the forwarding table entry update information sending module can send forwarding table entry deletion information to the AC via a management channel to delete the forwarding table entry corresponding to the STA. The forwarding table entry deletion information can include the identifier of the STA (e.g., MAC address).
[0114] It should be understood that the management channel (also known as the control channel) is a communication channel used to transmit control information between the AC and the AP, or a message (or frame) used to transmit control information as defined by the communication protocol between the AC and the AP. For example, in some implementations, when the AC and the AP communicate via the Controlling and Provisioning of Wireless Access Points (CAPWAP) protocol, the management channel can be a communication channel with port number 5247 defined by the CAPWAP protocol. For another example, when the AC and the AP communicate via a wireless network, the management channel can be a management frame defined by the 802.11 protocol.
[0115] In other embodiments, the forwarding table entry update information sending module may also send the forwarding table entry deletion information to the AC in other ways (such as control frames), which is not limited here.
[0116] In some embodiments, when the detection result of the station connection status detection module indicates that a certain STA is connected to the AP via the wireless network, the forwarding entry update information sending module may send an uplink message corresponding to the STA to the AC (a message in which the message sending device is the STA). For example, referring to FIG7B , the forwarding entry update information sending module may send the uplink message corresponding to the STA to the AC by broadcasting (e.g., broadcasting an Address Resolution Protocol (ARP) message), multicasting (e.g., multicasting a Spanning Tree Protocol (STP) message), or unicasting (e.g., sending an Internet Control Message Protocol (ICMP) message with the AC as the destination device).
[0117] In some embodiments, the forwarding entry update information sending module may send an uplink message of the corresponding STA to the AC through a data channel.
[0118] It should be understood that a data channel is a channel used to transmit data between an AC and an AP, or a message (or frame) used to transmit data as defined by the communication protocol between the AC and the AP. For example, in some embodiments, when the AC and the AP communicate via the CAPWAP protocol, the management channel can be a communication channel with port number 5246 defined by the CAPWAP protocol. For another example, when the AC and the AP communicate via a wireless network, the data channel can be a data frame (or message) defined by the 802.11 protocol.
[0119] In other embodiments, the forwarding entry update information sending module may also send the uplink message corresponding to the STA to the AC in other ways, which are not limited here.
[0120] The roaming detection module is used to detect whether the STA connected to the AP is connected to the AP in a roaming manner, and send the detection result to the forwarding entry processing module.
[0121] In some embodiments, the roaming detection module can cache the mapping between STAs connected to the AC and their forwarding ports for a preset duration. Upon receiving an uplink message from a STA, the roaming detection module can determine that the STA is connected to the AP via roaming if the port on the AC to which the STA is currently connected is different from the forwarding port to which the STA was last connected.
[0122] For example, referring to Figure 7C , the roaming detection module can cache the mapping between the MAC addresses of STAs that have historically connected to the AC and their forwarding ports for a preset duration. Upon receiving an uplink message corresponding to a STA, the roaming detection module can determine the forwarding port to which the STA was last connected based on the STA's MAC address from the cached mapping. If the port on the AC to which the STA is currently connected to the AP is different from the forwarding port to which it was last connected, the STA is determined to have roamed to the AP.
[0123] The forwarding entry processing module is used to delete or update the forwarding entry corresponding to the STA in the forwarding table according to the forwarding entry deletion information sent by the forwarding entry update information sending module or the detection result of the roaming detection module.
[0124] In some embodiments, referring to Figure 7D, when the forwarding table entry processing module receives forwarding table entry deletion information for a certain STA (for example, when the AP receives forwarding table entry deletion information sent by the NL80211_CMD_DEL_STATION message corresponding to the STA), it can delete the forwarding table entry corresponding to the STA in the AC's forwarding table.
[0125] In some embodiments, referring to Figure 7D, when the roaming detection module detects that a STA is connected to the AP via roaming, the forwarding table entry processing module can update the forwarding port in the forwarding table entry corresponding to the STA in the AC's forwarding table to the port to which the AP to which the STA is currently connected is connected.
[0126] The core is used to implement AC-related functions, such as aggregating data from different APs and connecting them to the Internet, AP configuration management, wireless user authentication and management, and bandwidth, access, switching, and security functions.
[0127] In some embodiments, the kernel can be used to send an ARP request message to the STA according to rules defined by the communication protocol (for example, when there is data that needs to be forwarded to the STA and there is no forwarding entry for the STA in the forwarding table), and to create a new forwarding entry corresponding to the STA based on the received ARP reply message. In some embodiments, the kernel can be used to cache the data that needs to be forwarded to the STA when there is data that needs to be forwarded to the STA in the AC and there is no forwarding entry for the STA in the forwarding table, and to transmit the cached data to the STA after the STA reconnects to the AC.
[0128] In some embodiments, the kernel may be configured to update a forwarding table entry corresponding to the STA based on a received uplink message corresponding to the STA.
[0129] It should be understood that the software architecture shown in FIG6 is only an example. In other embodiments, the software architecture of the AC and AP may include more or fewer modules, or some modules may be merged or split, which is not limited here.
[0130] It should be understood that in some embodiments, only some modules in the software architecture shown in Figure 6 may be arranged in the AC and AP to implement the method provided in the embodiments of the present application.
[0131] Below, the technical solution of the present application is introduced in combination with the software architecture shown in FIG6 and the scenario shown in FIG3 .
[0132] First, a technical solution is introduced in which the AP to which the STA connects before roaming triggers the AC to update the STA's forwarding table entries.
[0133] Exemplarily, FIG8A shows a schematic diagram of an implementation process of a communication method according to some embodiments of the present application.
[0134] 8A , the AC 10 is provided with a forwarding table entry processing module 101 and a core 103 , and the AP 21 is provided with a site connection status detection module 211 and a forwarding table entry update information sending module 212 .
[0135] STA 30 first connects to AP 21 and transmits data through AP 21 and AC 10 (for example, accesses the Internet or other devices connected to AC 10 through AC 10). If the network quality of AP 22 is higher than that of AP 21, STA 30 can disconnect from the wireless communication connection with AP 21 and roam to AP 22.
[0136] After detecting that the wireless communication connection between STA 30 and AP 21 is disconnected, station connection status detection module 211 may transmit the detection result to forwarding entry update information transmission module 212. In response to the detection result, forwarding entry update information transmission module 212 may transmit forwarding entry deletion information to forwarding entry processing module 101 of AC 10. After receiving the forwarding entry deletion information, forwarding entry processing module 101 of AC 10 may delete the forwarding entry "MAC1→eth.3" corresponding to STA 30 from AC 10's forwarding table. After deleting the forwarding entry "MAC1→eth.3" corresponding to STA 30, AC 10 may cache data to be transmitted to STA 30 and send an ARP request packet to the IP address corresponding to STA 30 through kernel 103 to obtain STA 30's forwarding port.
[0137] After STA 30 roams to AP 22, it can send an ARP reply message to AC 10 in response to the ARP request message sent by kernel 103. After receiving the ARP reply message, AC 10's forwarding entry processing module 101 can create a new forwarding entry "MAC1 → eth.2" corresponding to STA 30 in AC 10's forwarding table. AC 10 can then transmit cached data corresponding to STA 30 to STA 30 via AP 22 based on the newly created forwarding entry "MAC1 → eth.2."
[0138] In this way, AC 10 can promptly update the forwarding table entry corresponding to STA 30 after the wireless communication connection between STA 30 and AP 21 is disconnected, which helps reduce the packet loss of data sent by AC 10 to STA 30 and avoid network lag.
[0139] In combination with the process shown in FIG8A , FIG8B shows a schematic diagram of an interaction flow of a communication method according to some embodiments of the present application.
[0140] As shown in FIG8B , the communication method may include the following steps:
[0141] S801: STA 30 and AC 10 perform data transmission through AP 21.
[0142] The STA 30 is connected to the AP 21 via a wireless network and performs data transmission with the AC 10 based on the AP 21 .
[0143] For example, STA 30 can access a network (e.g., the Internet) to which AC 10 is connected, or access other devices connected to AC 10, through AP 21. For example, STA 30 can download data from other devices (e.g., servers) on the Internet or upload data to other devices. For another example, STA 30 can access a NAS connected to AC 10, such as NAS 40 described above, to download data from or upload data to the NAS.
[0144] It should be understood that during data transmission between STA 30 and AC 10 through AP 21, the forwarding entry corresponding to STA 30 in the forwarding table of AC 10 is the forwarding entry "MAC1→eth.3", and AC 10 can transmit data to STA 30 through AP 21 connected to Ethernet interface eth.3.
[0145] S802 : The AP 21 detects that the wireless communication connection with the STA 30 is disconnected, and sends forwarding entry deletion information to the AC 10 .
[0146] For example, the AP 21 may monitor the NL80211_CMD_DEL_STATION message based on the aforementioned station connection status detection module 211 , and send forwarding entry deletion information to the AC 10 when the NL80211_CMD_DEL_STATION message corresponding to the STA 30 is monitored.
[0147] In some embodiments, the forwarding entry deletion information may include the STA identifier of the STA 30 , such as at least one of the MAC address, name, and device serial number of the STA 30 .
[0148] In some embodiments, the AP 21 may embed the forwarding table entry deletion information into a management frame, and send the forwarding table entry deletion information to the AC 10 through the management frame.
[0149] In some embodiments, the AP 21 may detect that the wireless communication connection with the STA 30 is disconnected based on the aforementioned station connection status detection module 211 , and send forwarding entry deletion information to the AC 10 through the forwarding entry update information sending module 212 .
[0150] S803: AC 10 deletes the forwarding entry of STA 30.
[0151] In response to the forwarding entry deletion information, the AC 10 deletes the forwarding entry corresponding to the STA 30 in the forwarding table of the AC 10 based on the STA ID of the STA 30 .
[0152] In some embodiments, the AC 10 may delete the forwarding entry corresponding to the STA 30 in the forwarding table of the AC 10 through the aforementioned forwarding entry processing module 101 .
[0153] In some embodiments, if the AC 10 has a neighbor information set and a hard acceleration information set, it may also delete information corresponding to the STA 30 from the neighbor information set and the hard acceleration set. It should be understood that the neighbor information set is an information set in the AC 10 that stores a list of routers that have a bidirectional communication relationship with the AC 10. In some embodiments, the neighbor information set may also be referred to as a neighbor table.
[0154] It should be understood that the hardware acceleration information set is used in the AC 10 to store information (eg, MAC address, IP address, etc.) of devices connected to the AC 10 (eg, AP, AC, etc.) that support hardware acceleration.
[0155] S804: AC 10 buffers the forwarding data corresponding to STA 30 and sends an ARP request message.
[0156] After deleting the forwarding entry of STA 30 in the forwarding table of AC 10 , AC 10 may cache the forwarding data corresponding to STA 30 and send an ARP request message to STA 30 .
[0157] In some embodiments, the IP addresses assigned by AC 10 to STAs connected to AP 21 or AP 22 have a lease period. That is, if the time interval between a STA's two connections to AC 10 via AP 21 or AP 22 is less than the lease period, AC 10 will assign the same IP address to the STA. Based on this, in some embodiments, AC 10 can send an ARP request message for the IP address used by STA 30 before it disconnected from AP 21.
[0158] In some embodiments, an ARP request message is a message defined by ARP and may include the IP address of the device that needs to respond to the ARP request message (hereinafter referred to as the destination IP address). When AC 10 receives data that needs to be forwarded to a STA, if the forwarding table does not contain a forwarding entry corresponding to the STA, AC 10 may send an ARP request message for the IP address of the STA.
[0159] In some embodiments, if the AC 10 does not receive an ARP reply message corresponding to the ARP request message within a predefined time period, the AC 10 discards the ARP request message.
[0160] In some embodiments, the AC 10 may send an ARP request message through the kernel 103 .
[0161] S805: STA 30 establishes a wireless communication connection with AP 22.
[0162] After disconnecting the wireless communication connection with AP 21 , STA 30 may establish a wireless communication connection with AP 22 to roam to AP 22 .
[0163] In some embodiments, step S805 may be executed before step S803, or may be executed in parallel with step S803 and step S804, which is not limited here.
[0164] S806 : STA 30 sends an ARP reply message to AC 10 through AP 22 .
[0165] After establishing a wireless communication connection with the AP 22 , the STA 30 may send an ARP reply message to the AC 10 through the AP 22 upon receiving the ARP request message sent by the AC 10 .
[0166] It should be understood that an ARP reply message is a message defined by ARP. When a device receives an ARP request message, if its own IP address is the same as the destination IP address in the ARP request message, it can send an ARP reply message to the device that sent the ARP request message. The ARP reply message may include the device's MAC address.
[0167] S807: AC 10 creates a forwarding entry corresponding to STA 30 based on the ARP reply message.
[0168] After receiving the ARP reply message, AC 10 may create a forwarding entry corresponding to STA 30 based on the ARP reply message. The forwarding port of STA 30 in the newly created forwarding entry is the port to which AP 22 on AC 10 is connected (eg, Ethernet interface eth.2).
[0169] For example, the AC 10 may obtain the MAC address (MAC1) of the STA 30 in the ARP reply message, and create a forwarding entry “MAC1→eth.2” corresponding to the STA 30 .
[0170] In some embodiments, the AC 10 may create a new forwarding table entry corresponding to the STA 30 based on the ARP reply message through the kernel 103 .
[0171] S808: AC 10 transmits data to STA 30 through AP 22 based on the newly created forwarding entry.
[0172] After AC 10 creates a new forwarding entry corresponding to STA 30 , it can transmit data to STA 30 through AP 22 based on the newly created forwarding entry.
[0173] For example, the AC 10 may forward the cached data corresponding to the STA 30 and other data to be transmitted to the STA 30 to the AP 22 connected to the Ethernet interface eth.2, and then the AP 22 transmits the data to the STA 30 through the wireless network.
[0174] Based on the above method, when STA 30 roams from AP 21 to AP 22, AC 10 can promptly delete the previously stored forwarding entry corresponding to STA 30 based on the forwarding entry deletion message sent by AP 21, and create a new forwarding entry corresponding to STA 30. This allows AC 10 to promptly send data corresponding to STA 30 to AP 22. This helps reduce packet loss in data sent by AC 10 to STA 30 and prevents network lag for STA 30.
[0175] 8A and 8B , AC 10 creates a forwarding entry for STA 30 based on the ARP request message and the ARP reply message. In other embodiments, AC 10 may not send an ARP request message, but instead create a forwarding entry for STA 30 after receiving an uplink message from STA 30.
[0176] For example, FIG9 shows a schematic diagram of an interaction process of another communication method according to some embodiments of the present application. As shown in FIG9, the method includes steps S901 to S908, wherein steps S901 to S903 can refer to the aforementioned steps S801 to S803 and are not described in detail here. The following describes steps S904 to S908 that are different from the embodiment shown in FIG8:
[0177] S904 : The AC 10 buffers the forwarded data corresponding to the STA 30 .
[0178] After deleting the forwarding entry of STA 30 in the forwarding table of AC 10 , AC 10 may cache the forwarding data corresponding to STA 30 .
[0179] S905: STA 30 establishes a wireless communication connection with AP 22.
[0180] After disconnecting the wireless communication connection with AP 21 , STA 30 may establish a wireless communication connection with AP 22 to roam to AP 22 .
[0181] In some embodiments, step S905 may be executed before step S903, or may be executed in parallel with step S903 and step S904, which is not limited here.
[0182] S906: STA 30 sends an uplink message to AC 10 through AP 22.
[0183] After establishing a wireless communication connection with AP 22, STA 30 sends an uplink message to AC 10 through AP 22 according to the time point for sending uplink messages set by the application currently accessing the network of STA 30 (for example, sending an uplink message once every certain time interval).
[0184] In some embodiments, the address recorded in the source address field in the uplink message (the address of the device sending the message) may be the MAC address of the STA 30 .
[0185] S907: AC 10 creates a forwarding entry corresponding to STA 30 based on the uplink message.
[0186] After receiving the uplink message, AC 10 may create a new forwarding entry corresponding to STA 30 in the forwarding table of AC 10 based on the uplink message.
[0187] For example, the AC 10 may obtain the address recorded in the source address field of the uplink message (MAC address of the STA 30: MAC1), and create a new forwarding entry "MAC1→eth.2" corresponding to the STA 30.
[0188] S908: AC 10 transmits data to STA 30 through AP 22 based on the newly created forwarding entry.
[0189] After AC 10 creates a new forwarding entry corresponding to STA 30 , it can transmit data to STA 30 through AP 22 based on the newly created forwarding entry.
[0190] For example, the AC 10 may forward previously buffered data corresponding to the STA 30 and other data to be transmitted to the STA 30 to the AP 22 connected to the Ethernet interface eth.2, and then the AP 22 transmits the data to the STA 30 via the wireless network.
[0191] Based on the above method, AC 10 can promptly delete the previously stored forwarding table entry corresponding to STA 30 and create a new forwarding table entry for STA 30 when STA 30 roams from AP 21 to AP 22. This allows AC 10 to promptly send data for STA 30 to AP 22. This helps reduce packet loss in data sent from AC 10 to STA 30 and prevents network lag for STA 30.
[0192] The following describes a technical solution in which the AP to which the STA connects after roaming triggers the AC to update the STA's forwarding table entries.
[0193] Exemplarily, FIG10A shows a schematic diagram of an implementation process of another communication method according to some embodiments of the present application.
[0194] 10A , the AC 10 is provided with a forwarding entry processing module 101 and a roaming detection module 102 , and the AP 22 is provided with a site connection status detection module 221 and a forwarding entry update information sending module 222 .
[0195] STA 30 first connects to AP 21 and transmits data through AP 21 and AC 10 (for example, accesses the Internet or other devices connected to AC 10 through AC 10). If the network quality of AP 22 is higher than that of AP 21, STA 30 can disconnect from the wireless communication connection with AP 21 and roam to AP 22.
[0196] After detecting that a wireless communication connection has been established between STA 30 and AP 22, station connection status detection module 221 may send the detection result to forwarding entry update information sending module 222. In response to the detection result, forwarding entry update information sending module 222 may send an uplink message corresponding to STA 30 to roaming detection module 102 of AC 10. After receiving the uplink message corresponding to STA 30, roaming detection module 102 of AC 10 may determine that STA 30 is connected to AP 22 via roaming if STA 30's current forwarding port (Ethernet interface eth.2 connected to AP 22) is different from the forwarding port used when STA 30 last connected to AC 10 (Ethernet interface eth.3 connected to AP 21). Roaming detection module 102 may then send a roaming message to forwarding entry processing module 101 indicating that STA 30 has roamed (indicating that STA 30 is connected to AP 22 via roaming). In response to the roaming message from STA 30, forwarding entry processing module 101 can update the forwarding entry for STA 30 in the forwarding table from "MAC1 → eth.3" to "MAC1 → eth.2." Next, AC 10 can transmit data corresponding to STA 30 to STA 30 via AP 22 based on the updated forwarding entry "MAC1 → eth.2."
[0197] In this way, AC 10 can promptly update the forwarding table entry corresponding to STA 30 after the wireless communication connection between STA 30 and AP 21 is disconnected, which helps reduce the packet loss of data sent by AC 10 to STA 30 and avoid network lag.
[0198] In conjunction with the process shown in FIG10A , FIG10B shows a schematic diagram of an interaction process of another communication method according to some embodiments of the present application. As shown in FIG10B , the communication method may include the following steps:
[0199] S1001: STA 30 and AC 10 perform data transmission through AP 21.
[0200] STA 30 is connected to AP 21 via a wireless network, and performs data transmission with AC 10 based on AP 21. For details, please refer to the aforementioned step S801, which will not be described in detail here.
[0201] S1002: STA 30 disconnects the wireless communication connection with AP 21.
[0202] When STA 30 determines to roam to another AP (eg, AP 22 ) (eg, when the network quality provided by AP 22 is higher than the network quality provided by AP 21 ), STA 30 may disconnect the wireless communication connection with AP 21 .
[0203] S1003 : STA 30 establishes a wireless communication connection with AP 22 .
[0204] After STA 30 disconnects the wireless communication connection with AP 21 , it can establish a wireless communication connection with AP 22 .
[0205] S1004 : In response to STA 30 establishing a wireless communication connection with AP 22 , AP 22 sends an uplink message corresponding to STA 30 to AC 10 .
[0206] In response to the STA 30 establishing a wireless communication connection with the AP 22 , the AP 22 may send an uplink message corresponding to the STA 30 to the AC 10 .
[0207] In some embodiments, the message sending device recorded in the uplink message corresponding to STA 30 is STA 30. For example, the address recorded in the source address field in the uplink message corresponding to STA 30 may be the MAC address of STA 30: MAC1.
[0208] In some embodiments, the uplink message corresponding to STA 30 may be any one of the following messages: an ARP message, an STP message, or an ICMP message with AC 10 as the destination device.
[0209] In some embodiments, the AP 22 may send an uplink message corresponding to the STA 30 to the AC 10 through a data channel between the AP 22 and the AC 10 .
[0210] In some embodiments, when the station connection status detection module 221 detects that the STA 30 has established a wireless communication connection with the AP 22 , the AP 22 may send an uplink message corresponding to the STA 30 to the AC 10 through the forwarding entry update information sending module 222 .
[0211] S1005 : AC 10 updates the forwarding table entry corresponding to STA 30 based on the uplink message corresponding to STA 30 .
[0212] After receiving the uplink message corresponding to STA 30, AC 10 can query the forwarding table entry corresponding to STA 30 from AC 10 based on the STA identifier of the sending device (STA 30) recorded in the uplink message corresponding to STA 30, and update the forwarding port in the queried forwarding table entry to the current forwarding port of STA 30 (Ethernet interface eth.2 to which AP 22 is connected).
[0213] For example, in some embodiments, the address recorded in the source address field of the uplink message is MAC1. AC 10 may query the forwarding entry "MAC1→eth.3" corresponding to STA 30 based on MAC1 and update it to "MAC1→eth.2".
[0214] In some embodiments, when the roaming detection module 102 determines that the current forwarding port of STA 30 (Ethernet interface eth.2 connected to AP 22) is different from the forwarding port (Ethernet interface eth.3 connected to AP 21) used when STA 30 last connected to AC 10, AC 10 may update the forwarding entry of STA 30 in the forwarding table from "MAC1→eth.3" to "MAC1→eth.2" through the forwarding entry processing module 101.
[0215] S1006: AC 10 transmits data to STA 30 through AP 22 based on the updated forwarding table entry.
[0216] After updating the forwarding table entry corresponding to the STA 30, the AC 10 may transmit data to the STA 30 through the AP 22 based on the updated forwarding table entry.
[0217] For example, the AC 10 may transmit data to be transmitted to the STA 30 to the AP 22 through the Ethernet interface eth.2, and then the AP 22 transmits the data to the STA 30 through the wireless network.
[0218] Based on the above method, AC 10 can promptly update the forwarding table entry corresponding to STA 30 based on the uplink message sent by AP 22 when STA 30 roams from AP 21 to AP 22. This allows AC 10 to promptly send data corresponding to STA 30 to AP 22. This helps reduce packet loss in data sent by AC 10 to STA 30 and prevents network lag for STA 30.
[0219] The following describes a technical solution in which the AP connected to the STA before roaming and the AP connected to the STA after roaming jointly trigger the AC to update the STA's forwarding table entries.
[0220] FIG11 is a schematic diagram showing an interaction process of another communication method according to some embodiments of the present application. As shown in FIG11 , the interaction process includes the following steps:
[0221] S1101: STA 30 and AC 10 perform data transmission through AP 21.
[0222] STA 30 is connected to AP 21 via a wireless network, and performs data transmission with AC 10 based on AP 21. For details, please refer to S801 above and will not be described in detail here.
[0223] S1102 : The AP 21 detects that the wireless communication connection with the STA 30 is disconnected, and sends forwarding entry deletion information to the AC 10 .
[0224] For example, the AP 21 may monitor the NL80211_CMD_DEL_STATION message based on the aforementioned station connection status detection module 211 , and send forwarding entry deletion information to the AC 10 when the NL80211_CMD_DEL_STATION message corresponding to the STA 30 is monitored.
[0225] S1103: AC 10 deletes the forwarding entry of STA 30.
[0226] In response to the forwarding entry deletion information, AC 10 deletes the forwarding entry corresponding to STA 30 in the forwarding table of AC 10 based on the STA ID of STA 30. For details, please refer to the aforementioned step S803 and will not be repeated here.
[0227] S1104 : The AC 10 buffers the forwarding data corresponding to the STA 30 .
[0228] After deleting the forwarding entry of STA 30 in the forwarding table of AC 10 , AC 10 may cache the forwarding data corresponding to STA 30 .
[0229] S1105 : STA 30 establishes a wireless communication connection with AP 22 .
[0230] In some embodiments, step S1105 may be executed before step S1103, or may be executed in parallel with step S1103 and step S1104, which is not limited here.
[0231] S1106 : In response to STA 30 establishing a wireless communication connection with AP 22 , AP 22 sends an uplink message corresponding to STA 30 to AC 10 .
[0232] In response to STA 30 establishing a wireless communication connection with AP 22, AP 22 may send an uplink message corresponding to STA 30 to AC 10. For details, please refer to the aforementioned step S1004 and will not be repeated here.
[0233] S1107: AC 10 creates a new forwarding entry corresponding to STA 30 based on the uplink message corresponding to STA 30.
[0234] After receiving the uplink message corresponding to STA 30, AC 10 can create a new forwarding table entry corresponding to STA 30 (such as the aforementioned forwarding table entry "MAC1→eth.2") based on the STA identifier of the sending device (STA 30) of the uplink message recorded in the uplink message corresponding to STA 30.
[0235] S1108: AC 10 transmits data to STA 30 through AP 22 based on the newly created forwarding entry.
[0236] After creating a new forwarding table entry corresponding to the STA 30 , the AC 10 may transmit data to the STA 30 through the AP 22 based on the newly created forwarding table entry.
[0237] Based on the above method, AC 10 can promptly update the forwarding entry corresponding to STA 30 based on the forwarding entry deletion information sent by AP 21 and the uplink message corresponding to STA 30 sent by AP 22 during the process of STA 30 roaming from AP 21 to AP 22. This allows AC 10 to promptly send data corresponding to STA 30 to AP 22. This helps reduce packet loss in data sent by AC 10 to STA 30 and avoids network lag for STA 30.
[0238] The embodiment of the present application further provides a device 100. One or more of the AP, AC, and STA in the embodiment of the present application may adopt the structure of the device 100.
[0239] FIG12 shows a schematic structural diagram of a device 100 according to some embodiments of the present application.
[0240] As shown in FIG. 12 , device 100 includes a processor 110 , a memory 120 , a communication interface 130 , and a bus 140 .
[0241] The processor 110 may include one or more processing units. For example, the processor 110 may include a central processing unit (CPU), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a microcontroller unit (MCU), a video codec, a digital signal processor (DSP), a baseband processor, a neural-network processing unit (NPU), a field programmable gate array (FPGA), etc. In some embodiments, different processing units may be independent devices or integrated into one or more processors.
[0242] In some embodiments, the processor 110 may be configured to execute one or more programs to implement the methods provided in the aforementioned embodiments.
[0243] For example, when the device 100 is an AC, the processor 110 can be used to execute instructions for receiving forwarding table entry deletion information from other devices (such as AP) and deleting the forwarding table entry corresponding to the STA, executing instructions for receiving uplink messages from other devices corresponding to the STA and updating the forwarding table entry corresponding to the STA, executing instructions for determining whether the STA is connected to the AC via roaming, executing instructions for forwarding data to the AP to which the STA is connected based on the forwarding table entry, executing instructions for caching data forwarded to the STA, executing instructions for sending ARP request messages, etc.
[0244] For another example, when the device 100 is an AP, the processor 110 can be used to execute instructions for detecting the status of the wireless communication connection between the STA and the device 100, executing instructions for sending a forwarding table entry deletion message to the AC when the wireless communication connection between the STA and the device 100 is disconnected, executing instructions for sending an uplink message corresponding to the STA to the AC when the wireless communication connection between the STA and the device 100 is established, executing instructions for transmitting data sent by the AC to the STA through the wireless network, etc.
[0245] For another example, when the device 100 is a STA, the processor 100 can be used to execute an instruction to roam to an AP when the network quality of the network provided by the AP is higher than the AP to which the device 100 is currently connected, execute an instruction to send an ARP reply message to the AC in response to an ARP request message sent by the AC, etc.
[0246] The memory 120 may include one or more memories for storing data or program code. For example, in some embodiments, the memory 120 may be used to store data sent by other devices. For another example, in some embodiments, the memory 120 may be used to store instructions for the communication methods provided in the aforementioned embodiments.
[0247] In some embodiments, the memory 120 may include a hard disk drive, a solid-state drive, a flash memory, an optical disk, or a magneto-optical disk.
[0248] In some embodiments, memory 120 may include removable or non-removable or fixed media.
[0249] In some embodiments, memory 120 may be internal or external to device 100 .
[0250] Communication interface 130 is used to enable communication between device 100 and other devices. Communication interface 130 may include a wired or wireless communication interface (such as the aforementioned Ethernet interface eth.0, Ethernet interface eth.1, Ethernet interface eth.2, Ethernet interface eth.3, etc.), so that device 100 can communicate with other devices through a wired or wireless network.
[0251] For example, when the device 100 is an AC, the device 100 can be connected to the Internet and an AP device through the communication interface 130 .
[0252] For another example, when the device 100 is an AP, the device 100 may be connected to an AC or STA device through the communication interface 130 .
[0253] For another example, when the device 100 is a STA, the device 100 may be connected to an AP through a communication interface.
[0254] The bus 140 is used to connect the processor 110 , the memory 120 , the communication interface 130 , and other possible modules or circuits.
[0255] It should be understood that the structure of the device 100 shown in FIG. 12 is merely an example. In other embodiments, the device 100 may include more or fewer modules, which is not limited here.
[0256] An embodiment of the present application also provides a program product, which, when executed on a device, can enable the device to implement the communication methods provided in the aforementioned embodiments.
[0257] An embodiment of the present application further provides a readable storage medium, which stores one or more programs. When the one or more programs are executed by a device, the device implements the communication methods provided in the aforementioned embodiments.
[0258] An embodiment of the present application further provides a system, which includes the AP 21 and AC 10 provided by the aforementioned embodiments.
[0259] An embodiment of the present application further provides a system, which includes the AP 22 and AC 10 provided by the aforementioned embodiments.
[0260] An embodiment of the present application further provides a system, which includes the AP 21, AP 22, and AC 10 provided in the aforementioned embodiments.
[0261] In the accompanying drawings, some structural or method features may be shown in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or order may not be required. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of a structural or method feature in a particular figure does not imply that such feature is required in all embodiments, and in some embodiments, such features may not be included or may be combined with other features.
[0262] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "comprises" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a" do not exclude the presence of other identical elements in the process, method, article or device that includes the elements.
Claims
1. A communication method, characterized in that: include: A first device is connected to a second device, wherein the second device accesses a wireless access point provided by the first device as a site, and an access controller of the first device is a third device; The first device detects that the wireless communication connection between the first device and the second device is disconnected, and sends first information to the third device, wherein the first information is used to instruct the third device to delete the forwarding entry corresponding to the second device in the forwarding table of the third device.
2. The method according to claim 1, characterized in that The first device detects that the wireless communication connection between the first device and the second device is disconnected, and sends first information to the third device, including: The first device detects that the wireless communication connection between the first device and the second device is disconnected, and sends the first information to the third device through the management channel between the first device and the third device.
3. According to the method of claim 1 or 2, the first information includes an identification of the second device, and the identification includes at least one of a media access control address, a device serial number, a device name, and an Internet Protocol address.
4. A communication method, characterized in that: include: The third device receives first information sent by the first device, where the first information is sent when the first device detects that the wireless communication connection between the first device and the second device is disconnected, wherein the third device is an access controller of the first device, and the second device accesses a wireless access point provided by the first device as a site; In response to the first information, the third device deletes a forwarding entry corresponding to the second device in the forwarding table of the third device.
5. The method according to claim 4, characterized in that The method further comprises: After deleting the forwarding table entry corresponding to the second device, the third device sends an address resolution protocol request message for the Internet Protocol address of the second device; The third device receives an address resolution protocol response message corresponding to the address resolution protocol request message sent by the second device, and establishes a first forwarding table entry corresponding to the second device in the forwarding table, wherein the forwarding port in the first forwarding table entry is a communication port between a wireless access point to which the second device is currently connected and the third device.
6. The method according to claim 4, characterized in that The method further comprises: The third device receives the first message, and the sending device recorded in the first message is the second device; The third device establishes a first forwarding table entry corresponding to the second device in the forwarding table, wherein the forwarding port in the first forwarding table entry is a communication port between a wireless network access point to which the second device is currently connected and the third device.
7. The method according to claim 5 or 6, characterized in that: The method further comprises: The third device caches the first data corresponding to the second device after deleting the forwarding table entry corresponding to the second device; The third device transmits the first data to the second device based on the first forwarding table entry.
8. A communication method, characterized in that: include: The fourth device establishes a wireless communication connection with the second device, wherein the second device accesses the wireless access point provided by the fourth device as a site, the access controller of the fourth device is the third device, and the fourth device communicates with the third device through the first port; The fourth device sends a second message to the third device, wherein the second message is used to instruct the third device to update the forwarding port in the forwarding table entry corresponding to the second device in the forwarding table of the third device to the first port, and the media access control address recorded in the source address field in the second message is the media access control address of the second device.
9. The method according to claim 8, characterized in that The second message is any one of the following messages: an Address Resolution Protocol message, a Spanning Tree Protocol message, and an Internet Control Message Protocol message with the third device as the destination device.
10. A first device, characterized in that: include: A memory for storing one or more programs; A processor, configured to execute the one or more programs so that the device implements the communication method according to any one of claims 1 to 3.
11. A third device, characterized in that: include: A memory for storing one or more programs; A processor, configured to execute the one or more programs so that the device implements the communication method according to any one of claims 4 to 7.
12. A fourth device, characterized in that: include: A memory for storing one or more programs; A processor, configured to execute the one or more programs so that the device implements the communication method described in claim 8 or 9.
13. A system, characterized in that: The system comprises the first device of claim 10 and the third device of claim 11 .
14. A readable storage medium, characterized in that: The readable storage medium includes one or more programs, and when the one or more programs are executed on the device, the device implements the communication method described in any one of claims 1 to 3, or the communication method described in any one of claims 4 to 7, or the communication method described in any one of claims 8 to 9.
Citation Information
Patent Citations
Communication method, device and system and readable storage medium
CN119697798A
process for preparing an emulsion of paraffin in water for use in metalworking
NL80211C
Method and device for MAC (media access control) address withdrawal
CN102088415A
Terminal roaming realization method, system and wireless access point
CN105451221A
MAC address management method and device
CN107819622A