Communication method and device
By using multi-layer encapsulation technology, the direct link and trunk link between STA devices can be switched freely, which solves the problem that STA devices cannot switch freely in AP scenarios, improves data transmission efficiency and reduces latency.
Patent Information
- Application Number
- CN202410877221.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-01
- Publication Date
- 2026-01-06
AI Technical Summary
In scenarios where multiple STA devices are connected to the AP, the STAs cannot freely switch between each other after establishing a direct link, resulting in low data transmission efficiency and increased latency.
By using multi-layer encapsulation technology, data packets that conform to the direct link are encapsulated into the encapsulation structure of the trunk link, so that the data packets are transmitted transparently on the trunk link. The access point device is unaware of the link switch and forwards the data packets through the access point device.
It enables free switching between direct links and relay links, improves data transmission efficiency, reduces latency, and avoids data packet out-of-order problems caused by link switching.
Smart Images

Figure CN121284652A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a communication method and apparatus. Background Technology
[0002] With the development of wireless communication technology, more and more wireless communication devices support multi-link communication. However, in scenarios where multiple station (STA) devices access an access point (AP), if a direct link is established between STAs, the STAs will stop transmitting data on the relay link and will only switch to the relay link for transmission after the direct link between STAs is broken. Therefore, it is not possible to freely switch between the relay link and the direct link. Summary of the Invention
[0003] This application provides a communication method and apparatus. In this method, the device can transmit data packets on a direct link to the peer device through an access point device, thereby enabling free switching between direct links and relay links.
[0004] Firstly, this application provides a communication method in which a first device is connected to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device, and a communication link established between the second device and the access point device. The method includes: the first device sending a first data packet to the second device via the second communication link. The first data packet conforms to the encapsulation structure corresponding to the second communication link, and the first data packet encapsulates a second data packet, which also conforms to the encapsulation structure corresponding to the first communication link. Thus, this application, through multi-layer encapsulation, encapsulates a data packet conforming to the encapsulation structure of a direct link into a data packet conforming to the encapsulation structure of a relay link, enabling the first device to send data packets corresponding to the direct link to the second device via the access point device, thereby achieving free switching of data transmission between the first and second communication links.
[0005] This application makes the data packets transparent to the access point device by encapsulating them in multiple layers, so that the data packets of the direct link (i.e., the first communication link, also known as the direct connection) can be transmitted on the relay link (i.e., the second communication link, also known as the relay connection). In other words, the access point device is unaware of the link switching on the first device side, and it still forwards data packets according to its rules, without increasing the processing pressure of the access point layer.
[0006] For example, the first communication link and the second communication link can coexist. That is, the first device can interact with the second device via the first communication link while simultaneously interacting with the second device via the second communication link, thereby improving the data transmission efficiency and reducing data transmission latency between the two devices. When both the first and second communication links exist simultaneously, the first device can switch from the first communication link to the second communication link for data transmission, or vice versa, or can transmit data simultaneously on both links, thus achieving free switching between communication links.
[0007] For example, the first communication link and the second communication link may not exist simultaneously. For instance, if the first communication link is disconnected, the first device can continue transmitting data packets corresponding to the first communication link (i.e., the direct link) through the second communication link. This allows the receiving end to receive data packets corresponding to the first communication link from the second communication link, ensuring that the data packets received by the receiving end are still continuous based on the second communication link and avoiding data packet out-of-order issues caused by link switching. If the first communication link is reconnected, the first device can quickly switch back to the first communication link to continue transmitting data packets.
[0008] In one possible implementation, the first data packet includes a first communication identifier (TID) and a first sequence number (SN). The first TID corresponds to the second communication link, and the first SN is assigned based on the first TID. The second data packet includes a second TID and a second SN; the second TID corresponds to the first communication link, and the second SN is assigned based on the second TID. Thus, by encapsulating the second data packet within the first data packet, the second data packet still carries the TID and SN associated with the first communication link. This allows the receiving end to receive data packets corresponding to the first communication link from the second communication link. Furthermore, based on the TID and SN in the second data packet, the receiving end can perform the same processing on the second data packet as on the data packets received from the first communication link. This ensures that even after a link switch, the receiving end can still receive consecutive data packets corresponding to the first communication link, avoiding data packet out-of-order issues.
[0009] In one possible implementation, a first data packet encapsulates a third data packet, and the third data packet encapsulates a second data packet. The first data packet is a Media Access Control Layer Protocol Data Unit (MPDU) data packet, the second data packet is an MPDU data packet, and the third data packet is a Media Access Control Layer Service Data Unit (MSDU) data packet. In this way, by encapsulating the MPDU into an MSDU, data exchange between the MAC layer and the peer's MAC layer can be achieved. After receiving the MPDU, the peer's MAC layer, through a three-layer encapsulation method (i.e., the MPDU encapsulates the MSDU, and the MSDU encapsulates the MPDU), can process the data packet twice to complete operations such as scoring and sorting of the innermost MPDU.
[0010] For example, the MSDU can also be the first data packet, where the encapsulated MPDU is the second data packet.
[0011] In one possible implementation, the third data packet includes an Ethernet type field, which contains indication information indicating that the third data packet encapsulates a second data packet. By marking the Ethernet type field, the receiving end can identify that an MPDU is also encapsulated internally. The LLC layer can then pass the MSDU to the MAC layer for processing, enabling the MAC layer to obtain the MPDU from the MSDU and perform corresponding scoring and other processing based on the TID and SN in the MPDU.
[0012] In one possible implementation, the indication information is 89-0d. Thus, by carrying the agreed-upon indication information through the Ethernet type field, the receiving end can determine that the MSDU also encapsulates an MPDU based on this agreed-upon indication information carried in the Ethernet type field.
[0013] In one possible implementation, the second data packet is a data frame, and the frame body of the second data packet carries data information. Thus, using the technical solution of this application, data packets carrying data information corresponding to the first communication link can be transmitted on the second communication link, allowing data information transmitted from the first device to the second device to be transmitted on either the first or the second communication link, achieving free switching between data transmission links. Furthermore, data information transmitted from the first device to the second device can be transmitted simultaneously on both links, improving the efficiency of data information transmission.
[0014] For example, the same data information can be transmitted simultaneously on both the first and second communication links to achieve redundant data transmission, thereby improving data transmission security and preventing data loss and retransmission. Transmitting data information through two links achieves redundant transmission without affecting data transmission efficiency.
[0015] In one possible implementation, the second data packet is a Block Acknowledgment Request (BAR) frame or a Block Acknowledgment (BA) frame. The BAR frame is used to request feedback on whether the data packet was received correctly, and the BA frame is used to indicate whether the data packet was received correctly. Thus, by encapsulating the BAR frame or BA frame into the MPDU of the second communication link, this application enables BAR frames or BA frames for data packets originally transmitted on the direct link (actually transmitted on the second communication link, i.e., the relay link) to be directly transmitted from the first device to the second device via the second communication link. In other words, BAR frames or BA frames on the direct link can also be transmitted on the second communication link through multi-layer encapsulation, allowing the first device to obtain the reception status of the second device.
[0016] In one possible implementation, the second data packet is a direct link measurement request frame or a direct link measurement response frame. The direct link measurement request frame is used to request feedback on the communication quality measurement results of the first communication link and / or the second communication link, and the direct link measurement response frame is used to indicate the communication quality measurement results of the first communication link and / or the second communication link. Thus, by encapsulating the direct link measurement request frame or the direct link measurement response frame into a data packet of the second communication link, the first device can transmit the direct link measurement request frame or the direct link measurement response frame to the second device via the second communication link. Through the interaction of the direct link measurement request frame or the direct link measurement response frame between the first device and the second device, the first device can obtain the communication quality of the second device's link, and thereby determine whether a link switch needs to be performed based on the link communication quality of the second device.
[0017] In one possible implementation, the first device sends a fourth data packet to the second device via a first communication link. The fourth data packet conforms to the encapsulation structure corresponding to the first communication link. In this way, the first device can transmit data packets to the second device via the second communication link and / or the first communication link, thereby enabling free switching between the first and second communication links, or enabling multi-link aggregation transmission between the first and second devices via the first and second communication links (i.e., both links simultaneously transmit data packets corresponding to the directly connected link).
[0018] In one possible implementation, the fourth data packet includes a first TID and a third SN, with the third SN being assigned based on the first TID. Thus, through multi-layer encapsulation, data packets carrying the same TID can be transmitted on both the first and second communication links; that is, the second communication link can transmit data packets corresponding to the directly connected link (i.e., the first communication link).
[0019] Secondly, this application provides a communication method in which a first device is connected to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device, and a communication link established between the second device and the access point device. The method includes: the access point device receiving a first data packet sent by the first device via the second communication link; the first data packet includes a first communication identifier (TID) and a first sequence number (SN), the first TID corresponding to the first communication link, and the first SN being assigned based on the first TID. The access point device generates a second data packet based on the first data packet; the second data packet includes the first TID and the first SN. The access point device sends the second data packet to the second device via the second communication link. Thus, during the forwarding of the data packet sent by the first device to the second device, the access point device in this application does not change the TID and SN in the data packet, ensuring that the TID and SN in the data packet sent by the first device to the second device via the second communication link remain unchanged during transmission. This ensures that the TID in the data packet received by the second device is the same as that in the data packet on the direct link, and the SN is associated, thereby avoiding the problem of out-of-order data packets at the receiving end caused by link switching.
[0020] In one possible implementation, the first data packet further includes first address information and second address information. The first address information indicates that the sender of the first data packet is a first device, and the second address information indicates that the receiver of the first data packet is a second device. The access point device sends the second data packet to the second device via the second communication link, including: the access point device searching for a target buffer queue based on the first address information, the second address information, and the first TID; the access point device placing the second data packet in the target buffer queue; and the access point device sending the second data packet on the second communication link according to the SN order in the data packets in the target buffer queue. In this way, the access point device can set up an independent buffer queue (also called a buffer space, buffer area, etc.) for data packets transmitted on the second communication link corresponding to the directly connected link (i.e., the first communication link, also known as a direct connection), so that data packets with the sender being the first device, the receiver being the second device, and corresponding to the first TID can be placed in an independent buffer queue. The data packets in this queue are sent according to the SN order without changing the TID and SN. This allows the receiving end to receive data packets with the same TID as the directly connected link through the second communication link, and ensures that the SN of the data packets received from the second communication link are continuous based on the TID, thus avoiding the problem of out-of-order data packets.
[0021] In one possible implementation, the first data packet is an Add Block Acknowledgment (ADDBA) request frame, which requests the establishment of a Block Acknowledgment (BA) session. The first data packet includes first identification information indicating that the responding end of the BA session is the second device; the BA session corresponds to a first TID. The second data packet is an ADDBA request frame, which includes second identification information indicating that the initiating end of the BA session is the first device. Thus, by carrying identification information in the ADDBA request frame or ADDBA response frame sent by the first device to the second device, the access point device can establish a common BA session between the first and second devices based on the identification information carried in the data packet, enabling data packets sent by the first device to the second device via the second communication link to be transmitted over the common BA session. Furthermore, since the ADDBA request frame or ADDBA response frame carries the same TID as the one in the direct link, the TID of the public BA session is the same as that of the BA session on the direct link, enabling the first device and the second device to transmit data packets based on the established public BA session, and the TID of the data packets in the public BA session is the same as that of the direct link.
[0022] In one possible implementation, the method further includes: an access point device receiving a first ADDBA response frame sent by a second device via a second communication link; the access point device sending a second ADDBA response frame to the first device via the second communication link based on the first ADDBA response frame; the first ADDBA frame and the second ADDBA response frame are used to respond to the establishment of a BA session. Thus, by carrying identification information for identifying the peer in the ADDBA request frame or ADDBA response frame sent by the first device to the second device, the access point device can establish a common BA session between the first device and the second device based on the identification information carried in the data packet, enabling data packets sent by the first device to the second device via the second communication link to be transmitted on the common BA session. Furthermore, since the ADDBA request frame or ADDBA response frame carries the same TID as in the directly connected link, the TID of the common BA session is the same as that of the BA session on the directly connected link, enabling the first device and the second device to transmit data packets based on the established common BA session, and the TID of the data packets in this common BA session is the same as that of the directly connected link.
[0023] In one possible implementation, the first ADDBA response frame includes a first TID and second identification information; the second ADDBA response frame includes both the first TID and the first identification information. Thus, by carrying identification information for identifying the peer in the ADDBA request frame or ADDBA response frame sent by the first device to the second device, the access point device can establish a common BA session between the first and second devices based on the identification information carried in the data packets. This allows data packets sent by the first device to the second device via the second communication link to be transmitted over the common BA session. Furthermore, since the ADDBA request frame or ADDBA response frame carries the same TID as the one in the directly connected link, the TID of the common BA session is the same as that of the BA session on the directly connected link. This enables the first and second devices to transmit data packets based on the established common BA session, and the TIDs of the data packets in this common BA session are all the same as those of the directly connected link.
[0024] In one possible implementation, the method further includes: the access point device receiving a first acknowledgment request (BAR) frame sent by the first device via a second communication link. The first BAR frame requests feedback on whether data packets for the BA session have been correctly received, and includes first identification information. Based on the first BAR frame, the access point device sends a second BAR frame to the second device via the second communication link. The second BAR frame requests feedback on whether data packets for the BA session have been correctly received, and includes second identification information. In this way, the first device can transmit BAR frames or BA frames to the second device via the second communication link and the common BA session on the second communication link, enabling the second device to receive BA frames or BA frames corresponding to data packets transmitted on the second communication link corresponding to the directly connected link. Furthermore, the first device can obtain information about the second device's reception status of data packets transmitted on the second communication link corresponding to the directly connected link.
[0025] In one possible implementation, the method further includes: the access point device receiving a first acknowledgment (BA) frame sent by the second device via the second communication link, the first BA frame indicating whether data packets of the BA session have been correctly received, and the first BA frame including second identification information; based on the first BA frame, the access point device sending a second BA frame to the first device via the second communication link, the second BA frame indicating whether data packets of the BA session have been correctly received, and the second BA frame including the first identification information. In this way, the first device can transmit BAR frames or BA frames to the second device via the second communication link and the common BA session on the second communication link, enabling the second device to receive BA frames or BA frames corresponding to data packets of the directly connected link transmitted on the second communication link, further enabling the first device to obtain the reception status of data packets corresponding to the directly connected link transmitted on the second communication link via the second communication link.
[0026] In one possible implementation, the first BAR frame, the second BAR frame, the first BA frame, and the second BA frame include a first TID. Thus, the first or second device can determine the corresponding BA session based on the TID carried in the management or control frame, and further determine the relevant information corresponding to the BA session that requires feedback from the peer or needs to be fed back to the peer.
[0027] In one possible implementation, the method further includes: an access point device receiving a first trunk link measurement request frame sent by a first device via a second communication link. The first trunk link measurement request frame requests feedback on the communication quality measurement results of the second communication link and includes first identification information. Based on the first trunk link measurement request frame, the access point device sends a second trunk link measurement request frame to the second device via the second communication link. The second trunk link measurement request frame requests feedback on the communication quality measurement results of the second communication link and includes second identification information. In this way, the first device can transmit trunk link measurement request frames or trunk link measurement response frames to the second device via the second communication link and the common BA session on the second communication link, enabling the first device to obtain the communication quality of the second device's link via the second communication link.
[0028] In one possible implementation, the method further includes: an access point device receiving a first trunk link measurement response frame sent by a second device via a second communication link, the first trunk link measurement response frame indicating the communication quality measurement result of the second communication link, and the first trunk link measurement response frame including second identification information; the access point device, based on the first trunk link measurement response frame, sending a second trunk link measurement response frame to the first device via the second communication link, the second trunk link measurement response frame indicating the communication quality measurement result of the second communication link, and the second trunk link measurement response frame including first identification information. In this way, the first device can transmit a trunk link measurement request frame or a trunk link measurement response frame to the second device via the second communication link and the common BA session on the second communication link, enabling the first device to obtain the communication quality of the second device's link via the second communication link.
[0029] Thirdly, this application provides a communication method in which a first device connects to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device and a communication link established between the second device and the access point device. The method includes: the first device sending a first data packet to the access point device via the second communication link; the first data packet includes a first communication identifier (TID) and a first serial number (SN), the first TID corresponding to the first communication link, and the first SN being allocated based on the first TID.
[0030] In one possible implementation, the first data packet is an Add Block Acknowledgment (ADDBA) request frame, which is used to request the establishment of a Block Acknowledgment (BA) session. The ADDBA request frame includes first identification information, which is used to indicate that the responding end of the BA session is the second device.
[0031] In one possible implementation, the method further includes: a first device receiving an ADDBA response frame forwarded by an access point device from a second device via a second communication link, the ADDBA response frame being used to respond to the establishment of a BA session, and the ADDBA response frame including first identification information.
[0032] In one possible implementation, the method further includes: the first device sending a block acknowledgment (BAR) frame to the second device via a second communication link. The BAR frame is used to request feedback on whether the data packets of the BA session have been received correctly. The BAR frame includes first identification information, which is used to indicate that the responding end of the BA session is the second device.
[0033] The BAR frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0034] In one possible implementation, the method further includes: a first device receiving a BA frame forwarded by an access point device from a second device via a second communication link, the BA frame being used to indicate whether data packets of the BA session have been received correctly, and the BA frame including first identification information.
[0035] The BAR frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0036] In one possible implementation, the method further includes: the first device sending a relay link measurement request frame to the second device through the second communication link, the relay link measurement request frame being used to request feedback on the communication quality measurement results of the second communication link, the relay link measurement request frame including first identification information, the first identification information being used to indicate that the responding end of the BA session is the second device.
[0037] In one possible implementation, the method further includes: a first device receiving a relay link measurement response frame forwarded by an access point device from the second device via a second communication link, the relay link measurement response frame being used to indicate the communication quality measurement result of the second communication link, and the relay link measurement response frame including first identification information.
[0038] In one possible implementation, the method further includes: the first device sending a second data packet to the second device via a first communication link; the second data packet includes a first TID and a third SN, wherein the third SN is assigned based on the first TID.
[0039] Fourthly, this application provides a communication method in which a first device is connected to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device and a communication link established between the second device and the access point device. The method includes: the second device receiving a first data packet forwarded by the access point device from the first device via the second communication link; the first data packet includes a first communication identifier (TID) and a first sequence number (SN), the first TID corresponding to the first communication link, and the first SN being allocated based on the first TID.
[0040] In one possible implementation, the first data packet is an Add Block Acknowledgment (ADDBA) request frame, which is used to request the establishment of a Block Acknowledgment (BA) session. The ADDBA request frame includes second identification information, which is used to indicate that the initiator of the BA session is the first device.
[0041] In one possible implementation, the first SN in the ADDBA request frame is the starting sequence number.
[0042] In one possible implementation, the method further includes: the second device sending an ADDBA response frame to the first device through a second communication link. The ADDBA response frame is used to respond to the establishment of a BA session. The ADDBA response frame includes second identification information, and the first identification information is used to indicate that the initiator of the BA session is the first device.
[0043] In one possible implementation, the method further includes: a second device receiving a Block Acknowledgment Request (BAR) frame forwarded by an access point device from a first device via a second communication link. The BAR frame is used to request feedback on whether the data packets of the BA session have been received correctly. The BAR frame includes second identification information, which is used to indicate that the initiator of the BA session is the first device.
[0044] The BAR frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0045] In one possible implementation, the method further includes: the second device sending a BA frame to the first device via a second communication link. The BA frame is used to indicate whether the data packets of the BA session are correct, and the BA frame includes second identification information.
[0046] The BA frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0047] In one possible implementation, the method further includes: the second device receiving a relay link measurement request frame forwarded by the access point device from the first device via the second communication link, the relay link measurement request frame being used to request feedback on the communication quality measurement results of the second communication link, the relay link measurement request frame including second identification information, the second identification information being used to indicate that the initiator of the BA session is the first device.
[0048] In one possible implementation, the method further includes: the second device sending a relay link measurement response frame to the first device via a second communication link, the relay link measurement response frame being used to indicate the communication quality measurement result of the second communication link, and the relay link measurement response frame including second identification information.
[0049] In one possible implementation, the method further includes: the second device receiving a second data packet sent by the first device through a first communication link; the second data packet includes a first TID and a third SN, wherein the third SN is assigned based on the first TID.
[0050] Fifthly, this application provides a communication device applied to a first device, wherein the first device is connected to a second device via a first communication link and a second communication link, the first communication link being a direct link between the first device and the second device, and the second communication link including a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the device includes: a sending module, used to send a first data packet to the second device via the second communication link; wherein the first data packet conforms to the encapsulation structure corresponding to the second communication link, and the first data packet encapsulates a second data packet, the second data packet conforming to the encapsulation structure corresponding to the first communication link.
[0051] In one possible implementation, the first data packet includes a first communication identifier (TID) and a first sequence number (SN); the first TID corresponds to a second communication link, and the first SN is allocated based on the first TID. The second data packet includes a second TID and a second SN; the second TID corresponds to a first communication link, and the second SN is allocated based on the second TID.
[0052] In one possible implementation, the first data packet encapsulates a third data packet, and the third data packet encapsulates a second data packet; the first data packet is a Media Access Control Protocol Data Unit (MPDU) data packet, the second data packet is an MPDU data packet, and the third data packet is a Media Access Control Service Data Unit (MSDU) data packet.
[0053] In one possible implementation, the third data packet includes an Ethernet type field, which includes indication information indicating that the third data packet contains a second data packet.
[0054] In one possible implementation, the instruction message is 89-0d.
[0055] In one possible implementation, the second data packet is a data frame, and the frame body of the second data packet carries data information.
[0056] In one possible implementation, the second data packet is a Block Acknowledgment Request (BAR) frame or a Block Acknowledgment (BA) frame. The BAR frame is used to request feedback on whether the data packet was received correctly, and the BA frame is used to indicate whether the data packet was received correctly.
[0057] In one possible implementation, the second data packet is a direct link measurement request frame or a direct link measurement response frame. The direct link measurement request frame is used to request feedback on the communication quality measurement results of the first communication link and / or the second communication link, and the direct link measurement response frame is used to indicate the communication quality measurement results of the first communication link and / or the second communication link.
[0058] In one possible implementation, the sending module is further configured to send a fourth data packet to the second device via the first communication link; the fourth data packet conforms to the encapsulation structure corresponding to the first communication link.
[0059] In one possible implementation, the fourth data packet includes a first TID and a third SN, wherein the third SN is assigned based on the first TID.
[0060] Sixthly, this application provides a communication device applied to an access point device, wherein a first device is connected to a second device via a first communication link and a second communication link, the first communication link being a direct link between the first device and the second device, and the second communication link including a communication link established between the first device and the access point device and a communication link established between the second device and the access point device; the device includes: a receiving module for receiving a first data packet sent by the first device via the second communication link; the first data packet includes a first communication identifier (TID) and a first serial number (SN), the first TID corresponding to the first communication link, and the first SN being assigned based on the first TID; a processing module for generating a second data packet based on the first data packet; the second data packet including the first TID and the first SN; and a sending module for sending the second data packet to the second device via the second communication link.
[0061] In one possible implementation, the first data packet further includes first address information and second address information, wherein the first address information is used to indicate that the sender of the first data packet is a first device, and the second address information is used to indicate that the receiver of the first data packet is a second device; the processing module is used to: search the target buffer queue based on the first address information, the second address information, and the first TID; and place the second data packet in the target buffer queue; the sending module is further used to send the second data packet on the second communication link according to the order of the SN in the data packets in the target buffer queue.
[0062] In one possible implementation, the first data packet is an Add Block Acknowledgment (ADDBA) request frame, which is used to request the establishment of a Block Acknowledgment (BA) session. The first data packet includes first identification information, which is used to indicate that the responding end of the BA session is the second device. The BA session corresponds to the first TID. The second data packet is an ADDBA request frame, which includes second identification information, which is used to indicate that the initiating end of the BA session is the first device.
[0063] In one possible implementation, the receiving module is further configured to receive a first ADDBA response frame sent by the second device through a second communication link; the sending module is further configured to send a second ADDBA response frame to the first device through the second communication link based on the first ADDBA response frame; the first ADDBA frame and the second ADDBA response frame are used to respond to the establishment of a BA session.
[0064] In one possible implementation, the first ADDBA response frame includes a first TID and second identification information; the second ADDBA response frame includes the first TID and the first identification information.
[0065] In one possible implementation, the receiving module is further configured to receive a first block acknowledgment request (BAR) frame sent by the first device through the second communication link. The first BAR frame is used to request feedback on whether the data packets of the BA session have been received correctly, and the first BAR frame includes first identification information. The sending module is further configured to send a second BAR frame to the second device through the second communication link based on the first BAR frame. The second BAR frame is used to request feedback on whether the data packets of the BA session have been received correctly, and the second BAR frame includes second identification information.
[0066] In one possible implementation, the receiving module is further configured to receive a first acknowledgment (BA) frame sent by the second device through the second communication link. The first BA frame is used to indicate whether the data packets of the BA session have been received correctly, and the first BA frame includes second identification information. The sending module is further configured to send a second BA frame to the first device through the second communication link based on the first BA frame. The second BA frame is used to indicate whether the data packets of the BA session have been received correctly, and the second BA frame includes first identification information.
[0067] In one possible implementation, the first BAR frame, the second BAR frame, the first BA frame, and the second BA frame include a first TID.
[0068] In one possible implementation, the receiving module is further configured to: receive a first relay link measurement request frame sent by the first device through the second communication link, the first relay link measurement request frame being used to request feedback on the communication quality measurement results of the second communication link, the first relay link measurement request frame including first identification information; the sending module is further configured to, based on the first relay link measurement request frame, send a second relay link measurement request frame to the second device through the second communication link, the second relay link measurement request frame being used to request feedback on the communication quality measurement results of the second communication link, the second relay link measurement request frame including second identification information.
[0069] In one possible implementation, the receiving module is further configured to receive a first relay link measurement response frame sent by the second device through the second communication link, the first relay link measurement response frame being used to indicate the communication quality measurement result of the second communication link, and the first relay link measurement response frame including second identification information; the sending module is further configured to send a second relay link measurement response frame to the first device through the second communication link based on the first relay link measurement response frame, the second relay link measurement response frame being used to indicate the communication quality measurement result of the second communication link, and the second relay link measurement response frame including first identification information.
[0070] In a seventh aspect, this application provides a communication device applied to a first device, the first device being connected to a second device via a first communication link and a second communication link, the first communication link being a direct link between the first device and the second device, the second communication link including a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the device includes: a sending module, used to send a first data packet to the access point device via the second communication link; the first data packet includes a first communication identifier TID and a first serial number SN, the first TID corresponding to the first communication link, and the first SN being allocated based on the first TID.
[0071] In one possible implementation, the first data packet is an Add Block Acknowledgment (ADDBA) request frame, which is used to request the establishment of a Block Acknowledgment (BA) session. The ADDBA request frame includes first identification information, which is used to indicate that the responding end of the BA session is the second device.
[0072] In one possible implementation, the apparatus further includes a receiving module for receiving an ADDBA response frame forwarded by the access point device from the second device via the second communication link. The ADDBA response frame is used to respond to the establishment of a BA session and includes first identification information.
[0073] In one possible implementation, the sending module is further configured to send a block acknowledgment (BAR) frame to the second device via the second communication link. The BAR frame is used to request feedback on whether the data packets of the BA session have been received correctly. The BAR frame includes first identification information, which is used to indicate that the responding end of the BA session is the second device.
[0074] The BAR frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0075] In one possible implementation, the receiving module is further configured to receive BA frames forwarded by the access point device from the second device via the second communication link. The BA frames are used to indicate whether the data packets of the BA session have been received correctly, and the BA frames include first identification information.
[0076] The BAR frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0077] In one possible implementation, the sending module is further configured to send a relay link measurement request frame to the second device via the second communication link. The relay link measurement request frame is used to request feedback on the communication quality measurement results of the second communication link. The relay link measurement request frame includes first identification information, which is used to indicate that the responding end of the BA session is the second device.
[0078] In one possible implementation, the receiving module is further configured to receive a relay link measurement response frame forwarded by the access point device from the second device via the second communication link. The relay link measurement response frame is used to indicate the communication quality measurement result of the second communication link, and the relay link measurement response frame includes first identification information.
[0079] In one possible implementation, the sending module is further configured to send a second data packet to a second device via a first communication link; the second data packet includes a first TID and a third SN, wherein the third SN is assigned based on the first TID.
[0080] Eighthly, this application provides a communication method applied to a second device, wherein a first device is connected to the second device via a first communication link and a second communication link, the first communication link being a direct link between the first device and the second device, and the second communication link including a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the apparatus includes a receiving module for receiving a first data packet from the first device forwarded by the access point device via the second communication link; the first data packet includes a first communication identifier (TID) and a first serial number (SN), the first TID corresponding to the first communication link, and the first SN being allocated based on the first TID.
[0081] In one possible implementation, the first data packet is an Add Block Acknowledgment (ADDBA) request frame, which is used to request the establishment of a Block Acknowledgment (BA) session. The ADDBA request frame includes second identification information, which is used to indicate that the initiator of the BA session is the first device.
[0082] In one possible implementation, the first SN in the ADDBA request frame is the starting sequence number.
[0083] In one possible implementation, the apparatus further includes a sending module for sending an ADDBA response frame to the first device via a second communication link. The ADDBA response frame is used to respond to the establishment of a BA session. The ADDBA response frame includes second identification information, and the first identification information is used to indicate that the initiator of the BA session is the first device.
[0084] In one possible implementation, the receiving module is further configured to receive a Block Acknowledgment Request (BAR) frame forwarded by the access point device through the second communication link from the first device. The BAR frame is used to request feedback on whether the data packets of the BA session have been received correctly. The BAR frame includes second identification information, which is used to indicate that the initiator of the BA session is the first device.
[0085] The BAR frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0086] In one possible implementation, the sending module is further configured to send a BA frame to the first device via a second communication link. The BA frame is used to indicate whether the data packets of the BA session are correct, and the BA frame includes second identification information.
[0087] The BA frame includes a first TID and a second SN, with the second SN being assigned based on the first TID.
[0088] In one possible implementation, the receiving module is further configured to receive a relay link measurement request frame forwarded by the access point device from the first device via the second communication link. The relay link measurement request frame is used to request feedback on the communication quality measurement results of the second communication link. The relay link measurement request frame includes second identification information, which is used to indicate that the initiator of the BA session is the first device.
[0089] In one possible implementation, the sending module is further configured to send a relay link measurement response frame to the first device via the second communication link. The relay link measurement response frame is used to indicate the communication quality measurement result of the second communication link, and the relay link measurement response frame includes second identification information.
[0090] In one possible implementation, the receiving module is further configured to receive a second data packet sent by the first device via a first communication link; the second data packet includes a first TID and a third SN, wherein the third SN is assigned based on the first TID.
[0091] In a ninth aspect, embodiments of this application provide a computer-readable medium for storing a computer program, the computer program including instructions for performing the methods of the first aspect, the second aspect, the third aspect, or any possible implementation of any of the foregoing aspects.
[0092] In a tenth aspect, embodiments of this application provide a computer program including instructions for performing the methods in any possible implementation of the first aspect, the second aspect, the third aspect, or any of the foregoing aspects.
[0093] Eleventhly, embodiments of this application provide a chip including a processing circuit and transceiver pins. The transceiver pins and the processing circuit communicate with each other via an internal link. The processing circuit executes methods from the first aspect, the second aspect, the third aspect, or any possible implementation of the foregoing aspects to control the receiving pin to receive signals and to control the transmitting pin to transmit signals.
[0094] In a twelfth aspect, embodiments of this application provide a communication system, which includes a first device, a second device, and an access point device as described in various aspects. Attached Figure Description
[0095] Figure 1 This is a schematic diagram of a communication system as an example.
[0096] Figure 2 This is a schematic diagram of the structure of the AP and STA as an example;
[0097] Figure 3 This is a schematic diagram illustrating the structure of the AP and STA as an example;
[0098] Figure 4 This is an example illustration of an MLD device address diagram;
[0099] Figure 5 This is a schematic diagram of the frame structure of an MPDU as an example.
[0100] Figure 6 This is a schematic diagram of the MPDU frame header structure as an example.
[0101] Figure 7 Create a flowchart for the BA session shown in the example;
[0102] Figure 8 This is a schematic diagram illustrating the structure of an ADDBA frame as an example.
[0103] Figure 9 This is a schematic diagram illustrating the structure of the Block Ack Parameter Set field;
[0104] Figure 10 This is a schematic diagram illustrating the structure of the DELBA Parameter set field;
[0105] Figure 11 This is a schematic diagram of the structure of a BAR frame as an example.
[0106] Figure 12 This is a schematic diagram illustrating the structure of a Block Acknowledgment Request Control (BAR Control) field as an example.
[0107] Figure 13 This is a schematic diagram illustrating the structure of the BAR Information field as an example;
[0108] Figure 14 This is a schematic diagram illustrating the structure of the BAR Information field as an example;
[0109] Figure 15 This is a schematic diagram of the structure of a BA frame as an example.
[0110] Figure 16 This is a schematic diagram illustrating the structure of a Block Acknowledgment Information (BA Information) field as an example.
[0111] Figure 17 This is a schematic diagram of a communication system as an example.
[0112] Figure 18 This is a schematic diagram of the frame structure as an example.
[0113] Figure 19 This is a schematic diagram illustrating the communication method process as an example.
[0114] Figure 20 This is a schematic diagram of the frame structure as an example.
[0115] Figure 21 This is a schematic diagram of the frame structure as an example.
[0116] Figure 22 This is a schematic diagram of the frame structure as an example.
[0117] Figure 23 This is a schematic diagram of the frame structure as an example.
[0118] Figure 24 A flowchart illustrating the method for establishing a public BA session is provided below.
[0119] Figure 25 This is a schematic diagram of an ADDBA request frame as an example.
[0120] Figure 26 This is a schematic diagram of the ADDBA response frame structure as an example.
[0121] Figure 27 This is an example of a BAR / BA frame interaction diagram;
[0122] Figure 28 This is a schematic diagram of the structure of a BAR frame as an example.
[0123] Figure 29 This is a schematic diagram of the structure of a BAR frame as an example.
[0124] Figure 30 This is an example of a Relay Link Measurement Request / Response frame interaction diagram;
[0125] Figure 31 This is a schematic diagram illustrating the structure of a Relay Link Measurement Request frame as an example.
[0126] Figure 32 This is a schematic diagram of a communication system as an example.
[0127] Figure 33 This is a schematic diagram of the communication device structure as an example.
[0128] Figure 34 This is a schematic diagram of the communication device structure as an example.
[0129] Figure 35 This is a schematic diagram of the communication device structure as an example.
[0130] Figure 36 This is a schematic diagram of the structure of a communication device as an example. Detailed Implementation
[0131] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0132] The technical solutions provided in this application can be applied to wireless local area network (WLAN) systems, such as Wi-Fi. For example, the technical solutions provided in this application can be applied to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series protocols (or standards), such as the 802.11be protocol, the 802.11bn protocol (or Wi-Fi 8, also known as ultra-high reliability (UHR) or ultra-high reliability and throughput (UHRT)), or next-generation protocols of the 802.11bn protocol, or protocols supporting ambient power (AMP), etc., and will not be listed exhaustively. The technical solutions provided in this application can also be applied to wireless personal area networks (WPANs) based on millimeter wave (MMW) technologies, such as integrated millimeter wave (IMMW) and ultra-wideband (UWB) technologies. The technical solutions provided in the embodiments of this application can be applied to the IEEE 802.15 series protocols, such as the 802.15.4a, 802.15.4z, or 802.15.4ab protocols, or future UWB WPAN protocols, etc., and will not be listed one by one. The technical solutions provided in the embodiments of this application can also be applied to the Spark Link or NearLink standard protocol. The technical solutions provided in the embodiments of this application can also be applied to the following communication systems, such as Internet of Things (IoT) systems, vehicle-to-everything (V2X, where X can represent anything), device-to-device (D2D), narrowband Internet of Things (NB-IoT) systems, long term evolution (LTE) systems, 5th generation (5G) communication systems, and new communication systems that will emerge in the future development of communication, etc.For example, V2X can include vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-pedestrian (V2P), or vehicle-to-network (V2N) communication.
[0133] WLAN systems can provide high-speed, low-latency transmission. As WLAN application scenarios continue to evolve, WLAN systems will be applied to more scenarios and industries, such as the Internet of Things (IoT) industry, the Internet of Vehicles (IoV) industry, the banking industry, enterprise offices, stadiums, concert halls, hotel rooms, dormitories, hospital wards, classrooms, supermarkets, squares, streets, production workshops, and warehouses. Of course, devices supporting WLAN communication or sensing (such as access points or sites) can be sensor nodes in smart cities (such as smart water meters).
[0134] Smart meters, smart air quality monitoring nodes), and smart devices in smart homes (such as smart cameras, projectors, displays, and televisions).
[0135] This includes devices such as audio equipment, refrigerators, washing machines, etc.; nodes in the Internet of Things (IoT); entertainment terminals (such as wearable devices like augmented reality (AR) and virtual reality (VR); smart devices in smart offices (such as printers, projectors, megaphones, audio equipment, etc.); vehicle-to-everything (V2X) devices; infrastructure in everyday life scenarios (such as vending machines, self-service navigation kiosks in supermarkets, self-service checkout machines, self-service ordering machines, etc.); and equipment in large sports and music venues.
[0136] Although the embodiments of this application primarily use WLAN as an example, especially networks applied to the IEEE 802.11 series of standards, the various aspects involved in the embodiments of this application can be extended to other networks employing various standards or protocols. For example, Bluetooth, high-performance radio LAN (HIPERLAN) (a wireless standard similar to the IEEE 802.11 standard), and wide area networks (WANs) or other networks now known or to be developed in the future.
[0137] Figure 1 For an illustrative example of a communication system, please refer to the diagram. Figure 1The communication system includes, but is not limited to, at least one AP device (hereinafter referred to as AP) and at least one STA device (hereinafter referred to as STA). Figure 1 This description uses only an example of a communication system including an AP and STA1 and STA2. Optionally, STA1 can be either the first device mentioned in this application or the second device mentioned in this application. STA2 can be either the second device mentioned in this application or the first device mentioned in this application.
[0138] An Access Point (AP) is a communication device deployed in a wireless communication network to provide wireless communication services to its associated Stations (STAs). It has wireless transceiver capabilities and serves as an access point for mobile users to access wired networks. APs are primarily deployed in homes, buildings, and campuses, with a typical coverage radius of tens to hundreds of meters. They can also be deployed outdoors. An AP acts as a bridge between wired and wireless networks, connecting various wireless network clients and then connecting the wireless network to the Ethernet. Specifically, an AP can be a terminal device or network device with a WiFi chip. APs can support the 802.11ax standard. They can also support various WLAN standards such as 802.11ac, 802.11n, and the next-generation 802.11 standard.
[0139] AP devices can include, but are not limited to: access points (APs) in wireless fidelity (Wi-Fi) systems, such as home gateways, routers, servers, switches, bridges, etc.; evolved Node Bs (eNBs), radio network controllers (RNCs), Node Bs (NBs), base station controllers (BSCs), base transceiver stations (BTSs), home base stations (e.g., home evolved Node Bs, or home Node Bs (HNBs)); base band units (BBUs); wireless relay nodes, wireless backhaul nodes, transmission and reception points (TRPs or transmission points (TPs)); 5G devices, such as gNBs in new radio (NR) systems, or transmission points (TRPs or TPs); antenna panels (including multiple antenna panels) of base stations in 5G systems; or network nodes constituting gNBs or transmission points.
[0140] A Switchboard (STA) is a terminal or chip or chip system that can be installed in the aforementioned communication system and has wireless transceiver capabilities. A STA can be a wireless communication chip, a wireless sensor, or a wireless communication terminal. The STA can also be referred to as a user device, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user equipment. In the embodiments of this application, the STA device can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical care, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, vehicle terminal, or other devices supporting Wi-Fi communication capabilities. The STA device of this application can also be built into a vehicle's on-board module, on-board component, on-board chip, or on-board unit as one or more components or units. The vehicle can implement the communication method provided in this application through the built-in on-board module, on-board component, on-board chip, or on-board unit. Optionally, the STA can support the 802.11ax standard. The STA can also support various WLAN standards such as 802.11ac, 802.11n, and the next-generation 802.11 standard.
[0141] The scenarios in this application include: communication between STA and AP, communication between STA and STA, and communication between AP and AP.
[0142] Figure 2 The diagram illustrates the structure of an AP and STA, showing only the PHY and MAC components. The AP shown has multiple antennas, while the STA has a single antenna. In real-world scenarios, both APs and STAs can have multiple antennas, and some can even have more than two antennas.
[0143] Figure 3 For an exemplary structural diagram of the AP and STA, please refer to... Figure 3The internal structure of AP and STA is the same. From top to bottom, they can be divided into logical link control (LLC) layer module, MAC layer module, PHY layer baseband module, radio frequency and antenna. Multiple antennas can be configured.
[0144] Still refer to Figure 3 In this layered model, each entity (including the PHY and MAC layers) provides services to the entity in its immediate superior layer. User data is transmitted between layers via service data units (SDUs). The LLC layer and the MAC layer exchange data based on MAC service data units (MSDUs). That is, the LLC layer sends or receives data to the MAC layer via MSDUs, and the MAC layer sends or receives data to the LLC layer via MSDUs. The PHY layer and the MAC layer exchange data based on PHY service data units (PSDUs). That is, the PHY layer sends or receives data to the MAC layer via PSDUs, and the MAC layer sends or receives data to the PHY layer via PSDUs.
[0145] In this embodiment of the application, a protocol is used to indicate the manner in which entities in the hierarchical model exchange data and control information with their corresponding counterparts. These exchanges are implemented through protocol data units (PDUs), wherein the MAC layer and its corresponding entity interact with each other through MAC protocol data units (MPDUs), and the PHY layer interacts with each other through PHY protocol data units (PPDUs).
[0146] In the embodiments of this application, at least one AP and at least one STA in the communication system may include one or more multiple link devices (MLD).
[0147] A multi-link device refers to a device that simultaneously has multiple STAs (such as APs or non-AP STAs), each operating on different frequency bands or channels. When the channel spacing between two stations within a multi-link device is sufficiently large, they can operate independently without interference. If any two stations can transmit while another station receives, they are said to support simultaneous transmitting and receiving (STR) capability; otherwise, they are said to lack simultaneous transmitting and receiving (NSTR) capability. A multi-link device includes multiple subordinate stations, which can be physical or logical. Each station can operate on a link, a frequency band, or a channel. The subordinate stations shown here can be APs or non-AP STAs. For ease of description, this application embodiment may refer to a multi-link device with an AP as a subordinate station as a multi-link AP, a multi-link AP device, or an AP multi-link device (AP MLD). A multi-link device belonging to a non-AP STA is called a multi-link STA, a multi-link STA device, or a STA multi-link device (STAmulti-link device, STMLD). Alternatively, a multi-link device belonging to a non-AP STA is called a multi-link non-AP, a multi-link non-AP device, or a non-AP multi-link device (non-AP MLD). A multi-link device (which can be either a non-AP MLD or an AP MLD) is a communication device with wireless communication capabilities. This communication device can be a complete device or a chip or processing system installed within a complete device. Devices with these chips or processing systems installed can implement the methods and functions of the embodiments in this application under the control of these chips or processing systems.
[0148] Multilink devices can implement wireless communication by following the 802.11 series of protocols, such as EHT, or 802.11be-based or compatible protocols, thereby enabling communication with other devices, which may or may not be multilink devices. A multilink device can establish multiple links with another multilink device.
[0149] Figure 4 For an illustrative example of an MLD device address diagram, please refer to... Figure 4Taking the AP as an MLD device as an example, it is configured with an MLD address, and each of its corresponding links (such as the link with STA1 (which can also be called a communication link or path) and the link with STA2) is configured with a link address. For example, the address corresponding to the link with STA1 is Link Address1, and the address corresponding to the link with STA2 is LinkAddress2.
[0150] Multi-link devices can operate in frequency bands including, but not limited to, sub-1GHz, 2.4GHz, 5GHz, 6GHz, and high-frequency 60GHz. Furthermore, MLDs can communicate through multiple channels on the same frequency band. This multi-band or multi-channel approach can be collectively referred to as multi-link. Multi-link communication improves peak throughput, reduces service transmission latency, and thus increases the communication rate between MLDs.
[0151] Combination Figure 1 The following is a brief description of the signaling (also referred to as information, message, or frame) involved in this application:
[0152] 1. MPDU
[0153] Figure 5 For an exemplary illustration of the MPDU frame structure, please refer to... Figure 5 An MPDU may include one or more of the following fields: Frame Control, Duration, Address 1, Address 2, Address 3, Sequence Control, Address 4, Quality of Service Control, High Throughput Control (HTControl), Cipher-Block Chaining Message Authentication Code Protocol Header (CCMP Header), Frame Body, Message Integrity Code (MIC), and Frame Check Sequence (FCS).
[0154] In this configuration, address 1 indicates the receiving address (i.e., the address of the receiving end), and address 2 indicates the sending address (i.e., the address of the sending end). For downlink data MPDUs, address 3 is set to the source address; for uplink data MPDUs, address 3 is set to the destination address; and for management frames, address 3 is set to the associated AP address.
[0155] It should be noted that the specific format of MPDU is not limited to... Figure 5 As shown, for example, address 4 in the MPDU can be optional, and this application does not limit the specific format of the MPDU.
[0156] Figure 6 For an exemplary illustration of the MPDU frame header structure, please refer to... Figure 6 It may include, but is not limited to, the following fields (which may also be called subfields): protocol version, type, subtype, to distributed system (to DS), from distributed system (from DS), more fragments, retry, power management, more data, protected frame, presence of HT control (+HTC).
[0157] The protocol version subfield occupies two bits and indicates the protocol version corresponding to the frame. The type subfield occupies two bits, and the subtype subfield occupies four bits. The type and subtype are used to indicate the type of the frame. The standard defines three frame types: control frames, data frames, and management frames. The to-DS subfield and the from-DS subfield each occupy one bit and are used to indicate whether the MPDU is an uplink MPDU, a downlink MPDU, or a P2P (point-to-point) MPDU. The more fragments, retry, power management, more data, protected frame, and HT control presence subfields each occupy one bit. More fragments indicates whether there are other fragments associated with this frame, and more data indicates whether there is any other buffered data to be received. Retry indicates whether this frame is a retransmitted message.
[0158] Based on frame type, MPDUs can be divided into data frames (Type=10), management frames (Type=00), and control frames (Type=01). For data frames, depending on whether they are destined for or originate from the distributed system (DS), their address 1, address 2, address 3, and address 4 are configured as follows:
[0159] Table 1
[0160] To DS From DS Remark Address 1 Address 2 Address 3 Address 4 0 0 Point-to-point transmission RA = DA TA = SA BSSID Does not exist 0 1 Downward RA = DA TA = BSSID SA Does not exist 1 0 Up RA = BSSID TA = SA DA Does not exist 1 1 Mesh RA TA DA SA
[0161] As shown in Table 1, for example, sending `to DS = 0` and `From DS = 0` indicates point-to-point (P2P) transmission, which is a direct link where communication occurs between STAs. When `To DS = 0` and `From DS = 1`, it indicates downlink transmission, meaning the DS sends information to the STA. When `To DS = 1` and `From DS = 0`, it indicates uplink transmission, meaning the STA sends information to the DS. `DA` refers to the destination address, `SA` refers to the source address, and the Basic Service Set Identifier (BSSID) indicates the address of the AP to which the AP device belongs (or is associated with). The settings for addresses 3 and 4 have two examples: either they are absent or they are associated with an SA.
[0162] For example, addresses 1, 2, and 3 in the MPDU header of a management frame are shown in the table below:
[0163] Table 2
[0164] Frame type Address 1 Address 2 Address 3 Management frame (Type=00) DA SA BSSID
[0165] Still refer to Figure 5 For example, the Sequence Control field includes a sequence number (SN) and a fragment number. Specifically, each sender maintains a sequence number counter for each traffic identification (TID) of each receiver. That is, each sequence number space (SNS) is set based on the <receiver address, TID>. If both the sender and receiver are MLD devices, the receiver address is the corresponding MLD address. For example, the sender assigns a sequence number to each MSDU or MAC Management Protocol Data Unit (MMPDU) it sends based on the <receiver address, TID>. This means that the sequence numbers in data packets corresponding to the same <receiver address, TID> are consecutive; in other words, the SNS corresponding to the <receiver address, TID> is unique within the same sender.
[0166] 2. Block Acknowledgment (BA) Session Establishment
[0167] Figure 7 For a flowchart illustrating the BA session setup example, please refer to... Figure 7In multi-link scenarios, a block acknowledgment session must be established before using multi-link aggregation transmission, which includes, but is not limited to, the following steps:
[0168] S701, the first device sends an add block acknowledgement (ADDBA) request frame to the second device.
[0169] For example, the first device can be referred to as the BA session initiator, and the second device can be referred to as the BA session responder. The first device sends an ADDBARequest frame to the second device to request the establishment of a BA session with the responder (i.e., the second device).
[0170] The second device receives the ADDBA request frame sent by the first device.
[0171] S702, the second device sends an ADDBA response frame to the first device.
[0172] For example, in response to a received ADDBA Request frame, the second device sends an ADDBA Response frame to the first device. The ADDBA request frame and the ADDBA response frame are used to establish a multi-link block acknowledgment dialogue between multiple links of the first device and multiple links of the second device.
[0173] Figure 8 For an exemplary structural diagram of an ADDBA frame (including request and response frames), please refer to... Figure 8 ADDBA frames include, but are not limited to: Frame Control field, Duration field, Address 2 field, Address 3 field, Sequence Control field, High Throughput Control (HT) field, Frame Body field, and Frame Check Sequence (FCS) field.
[0174] The frame body structure of the ADDBA Request frame is shown in the table below:
[0175] Table 3
[0176] Order Information 1 Category 2 Block ACK Action 3 Dialog Token 4 Block Ack Parameter Set 5 Block Ack Timeout Value 6 Block Ack Starting Sequence Control 7 ADDBA Extension (optional), adds block confirmation extension
[0177] The frame structure of the ADDBA Response frame is shown in the table below:
[0178] Table 4
[0179] Order Information 1 Category 2 Block ACK Action 3 Dialog Token 4 Status Code 5 Block Ack Parameter Set 6 Block Ack Timeout Value 7 ADDBA Extension (optional) adds a block confirmation extension field.
[0180] Figure 9 For an illustrative structural diagram of the Block Ack Parameter Set field, please refer to... Figure 9 The Block Ack Parameter Set fields include, but are not limited to: a 1-bit Aggregate MAC Service Data Unit Supported (A-MSDU Supported) field, a 2-bit Block Ack Policy field, a 3-bit Traffic Identification (TID) field, and a 10-bit Buffer Size field.
[0181] The A-MSDU Supported field indicates whether aggregated MSDUs are supported. The Block Ack Policy field indicates the block acknowledgment policy used. The TID indicates which TID the block acknowledgment session was established for. The BufferSize field indicates the size of the buffer space. The length of the Buffer Size field is only an illustrative example and is not limited in this application.
[0182] Optionally, the ADDBA frame is a management frame. After receiving the ADDBA request frame, the second device needs to send back an acknowledgment frame (Ack). After receiving the ADDBA response frame, the first device also needs to send back an acknowledgment frame (Ack). In this embodiment, the acknowledgment frame (Ack) is not... Figure 7 This is reflected in the text.
[0183] For example, a block acknowledgment session (BA) established between two STAs has a specific communication identifier (TID) and is only used for unidirectional data transmission from the initiator to the responder. For instance, for downlink data transmission, only the AP can initiate the BA session. For uplink data transmission, only the STA can initiate the BA session. Specifically, the initiator establishes a BA session for a specific TID by exchanging ADDBA Request / Response frames with the STA. In other words, a TID corresponds to a BA session.
[0184] Optionally, the initiating or responding end can send a delete block acknowledgment (DELBA) frame to terminate the block acknowledgment session for the corresponding TID. The frame structure of the DELBA frame can be found in [reference needed]. Figure 8 The frame body of the DELBA frame is shown in the table below:
[0185] Table 5
[0186] Order Information 1 Category 2 Block ACK Action 3 DELBA Parameter set, the set of parameters to confirm the deletion of the block. 4 Reason Code, Status Code
[0187] Figure 10 For an illustrative diagram of the DELBA Parameter set field structure, please refer to... Figure 10 Specifically, this includes, but is not limited to: the Reserved field, the Initiator field, and the TID field.
[0188] The Initiator field indicates whether the sender of the DELBA frame is the originator. The TID field indicates which TID corresponds to which Block Acknowledgment (BA) session to delete.
[0189] S703, the first device sends a data packet to the second device.
[0190] For example, after a BA session is successfully established, the first device sends an MPDU data packet to the second device. The second device receives the MPDU data packet sent by the first device.
[0191] Once a block acknowledgment session is successfully established, the receiving end maintains a corresponding scoreboard and reordering buffer (which can also be called a reordering buffer queue, but this application does not specify) for the BA session, while the sending end maintains a sending buffer.
[0192] The scoring board records which packets were correctly received. The reordering buffer arranges MSDUs according to their serial numbers (SNs) and submits them to the upper layer in ascending order of SN. The sender's transmit buffer, based on the BA session, removes correctly transmitted MSDU packets from the transmit buffer and submits new MPDU packets for transmission according to the size of the receiver's buffer.
[0193] This can also be understood as follows: for the receiving end, the BA session, TID, scoreboard, and reordering buffer are uniquely corresponding. For example, the receiving end may have different BA sessions with different sending ends, which corresponds to different TIDs, scoreboards, and reordering buffers. Data packets received from different BA sessions are placed in the reordering buffer corresponding to that BA session (i.e., TID), and are delivered to the upper layer in ascending order according to the SN number corresponding to the MSDU in the reordering buffer.
[0194] S704, the first device sends a Block Ack Request (BA Request) frame to the second device.
[0195] For example, the first device sends a BAR frame to the second device to request the second device's data packet reception status.
[0196] Figure 11For an exemplary structural diagram of a BAR frame, please refer to... Figure 11 This includes, but is not limited to: Frame Control field, Duration field, Receive Address (RA) field, Transmit Address (TA) field, Block Acknowledgment Request Control field, Block Acknowledgment Request Information field, and Frame Check Sequence (FCS) field.
[0197] Figure 12 For an illustrative diagram of the structure of the Block Acknowledgment Request Control (BAR Control) field, please refer to... Figure 12 Specifically, this includes, but is not limited to: the Reserved field, the BAR Type field, and the Business Type Information (TID_INFO) field. The BAR Type subfield indicates the specific BAR variant.
[0198] Figure 13 This is an illustrative diagram of the structure of the BAR Information field. For example, the TID_INFO field depends on the specific BAR variant. When the BAR Type subfield is set to 1 or 2, the TID_INFO subfield indicates which TID. In this case, the BAR Information field includes a Block AckStarting Sequence Control subfield, which includes, but is not limited to, a Fragment Number field and a Starting Sequence Number field.
[0199] Figure 14 The diagram illustrates the structure of the BAR Information field. When the BAR Type subfield is set to 3, the TID_INFO subfield indicates the number of TIDs requested for block confirmation. In this case, the BAR Information field format includes multiple Per TID Info fields and a Block Ack Starting SequenceControl field. For example, the Per TID Info fields include, but are not limited to, a Reserved field and a TID Value field.
[0200] S705, the second device sends a Block Ack (BA) frame to the first device.
[0201] For example, in response to a received BAR frame, the second device sends a Block Acknowledgment (BA) frame to the first device to indicate the status of the second device's data packet reception.
[0202] Figure 15 For an exemplary structural diagram of a BA frame, please refer to... Figure 15 BA frames include, but are not limited to: Frame Control field, Duration field, Receive Address (RA) field, Transmit Address (TA) field, Block Acknowledgment Control (BA Control) field, Block Acknowledgment Information (BA Information) field, and Frame Check Sequence (FCS) field.
[0203] The Block Acknowledgment Control (BA Control) fields include, but are not limited to: the Reserved field, the BA Type field, and the TID_INFO field.
[0204] The BA Type field is used to indicate which specific variant of the BA frame it is.
[0205] Figure 16 For an illustrative structural diagram of the Block Confirmation Information (BA Information) field, please refer to... Figure 16 The TID_INFO field depends on the specific BA variant. When the BA Type subfield is set to 2, the TID_INFO field indicates which TID. In this case, the BAR Information field includes a Block AckStarting Sequence Control subfield and a Block Ack Bitmap subfield. The Block Ack Bitmap field includes a block acknowledgment bitmap used to indicate the reception status of the data packet received by the second device.
[0206] 3. Tunnel Direct Link Establishment (TDLS)
[0207] For two STAs associated with the same AP, if the two STAs are within wireless communication range, a direct link can be established between them. This direct link allows for data exchange, increasing transmission rates and reducing latency. In existing technologies, the most significant feature of the TDLS mechanism is that the establishment of the P2P direct link is completely transparent to the AP. When a TDLS management frame is sent through the AP, it is encapsulated into a data frame for transmission.
[0208] Figure 17 For an illustrative example of a communication system, please refer to the diagram. Figure 17 Taking the transmission of data from STA1 to STA2 as an example, the data is carried in the frame body field of the data packet. Before a direct link is established between STA1 and STA2, STA1 transmits data packets to STA2 through a relay link (which can also be understood as the second communication link mentioned in this application). For example, STA1 establishes a BA_1 session with the AP, and the AP establishes a BA_2 session with STA2. As mentioned above, for the sending end, the BA session, TID, transmission buffer, and counter are uniquely corresponding. For the receiving end, the BA session, TID, rearrangement buffer, and scoring board are uniquely corresponding.
[0209] On the relay link, STA1 sends data packet _1 to the AP. The format of this data packet is described above and will not be repeated here. The data packet includes, but is not limited to, TID_1 and SN_1. SN_1 is assigned by STA1 based on a counter value, which is determined by the number of data packets sent in the BA_1 session corresponding to TID_1.
[0210] The AP receives data packet_1 and re-encapsulates it to obtain data packet_2. Data packet_2 includes, but is not limited to, TID_2 and SN_2. SN_2 is assigned by the AP based on a counter value, which is based on the number of data packets sent in the BA_2 session corresponding to TID_2.
[0211] STA2 receives data packet _2. Based on TID_2, STA2 places data packet _2 in the corresponding rearrangement buffer and delivers the data packets to the upper layer in ascending order of the SN number of the data packets in the rearrangement buffer (e.g., SN_2 in data packet _2).
[0212] Still refer to Figure 17After STA1 and STA2 establish a direct link (i.e., a direct link TDLS, the first communication link mentioned in this application) and establish a BA session, STA1 and STA2 can only transmit data through the direct link. After the direct link between STA1 and STA2 is disconnected, STA1 and STA2 then transmit data through a trunk link. In this scenario, because the direct link and the trunk link each establish independent BA sessions (i.e., different TIDs and different SNSs), it is impossible to quickly switch back and forth between the direct link and the trunk link to achieve MAC layer continuation or aggregated transmission.
[0213] This application provides a communication method that enables free switching between relay links and direct links and / or simultaneous transmission between relay links and direct links (also known as multi-link aggregation transmission).
[0214] The following is combined with Figure 17 The scenario shown illustrates the communication method in the embodiments of this application in detail.
[0215] 1. Communication Method One
[0216] Still with Figure 17 Taking the scenario as an example, STA1 and STA2 establish a direct link, and STA1 and STA2 are associated with the same AP (which can also be understood as access).
[0217] A BA session is established between STA1 and STA2, a BA session is established between STA1 and AP, and a BA session is established between STA2 and AP. The specific establishment process is detailed above and will not be repeated here.
[0218] In this embodiment, when both a relay link and a direct link exist simultaneously, data transmission between STA1 (which can be either the first device or the second device mentioned in this application) and STA2 (which can be either the second device or the first device mentioned in this application) can freely switch between the relay link and the direct link. In one example, STA1 can send a first data packet to STA2 via the direct link, and then STA1 switches to the relay link to send a second data packet to STA2 via the relay link. In another example, STA1 can send a first data packet to STA2 via the relay link, and then STA1 switches to the direct link to send a second data packet to STA2 via the direct link.
[0219] For example, when STA1 and STA2 are MLD devices, STA1 can also send data packets to STA2 simultaneously through a direct link and a relay link. The data information carried in the data packets sent on the two links may be the same or different, and this application does not limit this.
[0220] Figure 18 For an illustrative example of a frame structure, please refer to... Figure 18 In this embodiment of the application, the MPDU_2 transmitted by STA1 on the relay link encapsulates the MSDU, and the MSDU encapsulates the MPDU_1.
[0221] For example, the first data packet mentioned in this application can be either MPDU_2 or MSDU. The second data packet mentioned in this application is MPDU_1.
[0222] In this embodiment, the encapsulation format of the first data packet (e.g., MPDU_2 or MSDU) conforms to the encapsulation structure of a trunk link, and the encapsulation format of the second data packet (e.g., MPDU_1) conforms to the encapsulation structure of a direct link. Thus, by encapsulating the data packets of the direct link into the data packets of the trunk link, the data packets of the direct link can be transmitted on the trunk link.
[0223] The second communication link mentioned in this application is a relay link (also referred to as a relay connection) between STA1 and STA2, which includes the link between STA1 and AP and the link between AP and STA2. The first communication link mentioned in this application is a direct link (also referred to as a direct connection) between STA1 and STA2.
[0224] Optionally, the link or communication connection mentioned in the embodiments of this application may include uplink and / or downlink.
[0225] For the AP, the received data packets still conform to the protocol requirements of the relay link and can be forwarded according to existing technical methods. For the receiving end STA2, it can receive data packets through the relay link and obtain the data packets that should have been transmitted on the direct link. Based on the processing method of the direct link, it can further process the data packets, so that the data packets received from STA1 can be reordered according to the sequence number sent on the direct link, thus avoiding out-of-order delivery.
[0226] In this example, the communication method between STA1 and STA2 on the direct link is as described above and will not be repeated here. The following is a detailed explanation of the data transmission process of STA1 on the trunk link when STA1 switches from the direct link to the trunk link for data transmission, or when STA1 transmits data simultaneously through both the direct link and the trunk link.
[0227] Figure 19 For an illustrative example of a communication method flowchart, please refer to... Figure 19 Specifically, including but not limited to the following steps:
[0228] S1901, generate MPDU_1 that conforms to the encapsulation structure of a direct link.
[0229] Specifically, still referring to Figure 18 , STA1 generates an MPDU (i.e., the third data packet mentioned in this application) according to the encapsulation structure of the direct link transmission, denoted as MPDU_1. The frame structure of MPDU_1 can refer to Figure 5 , in this example, the Address1 field of MPDU_1 is set to the receiving end address (i.e., the address of STA2), the Address2 field is set to the sending end address (i.e., the address of STA1), and the Address3 field is set to the address of the AP, for example, it can be the BSSID of the AP.
[0230] Exemplarily, the SN (denoted as SN_1) carried in the Sequence Control field is allocated based on TID_STA1-STA2. As described above, TID is used to indicate the BA session. In this example, TID_STA1-STA2 is used to indicate the BA session established on the direct link with STA1 as the initiator and STA2 as the responder.
[0231] It can be understood that TID_STA1-STA2 at the STA1 end is associated (or corresponds) with a counter, a transmission buffer, and an SNS (for example, the SNS1 in Figure 17 ). The SN can be allocated according to the counting value of the counter corresponding to TID_STA1-STA2. STA1 can place the data packet containing TID_STA1-STA2 in this transmission buffer. Among them, SNS1 is indexed or identified by <STA2 address, TID_STA1-STA2>.
[0232] That is to say, as long as STA1 sends a data packet with the receiving address being STA2 and the TID being TID_STA1-STA2, the counter is incremented by 1,
[0233] Correspondingly, the SN number is allocated based on this counter, and it can also be understood that the SN is allocated based on TID_STA1-STA2. STA1 places the data packet to be sent containing <STA2 address, TID_STA1-STA2> in the transmission buffer corresponding to <STA2 address, TID_STA1-STA2>.
[0234] The description of other fields can refer to the above, and will not be elaborated here.
[0235] S1902, encapsulate MPDU_1 into MSDU.
[0236] For example, STA1 can obtain the communication quality of the relay link between itself and STA2. In a link switching embodiment, STA1 can determine whether to switch communication links based on the communication quality of the two links. For example, when the communication quality of the direct link is higher than that of the relay link, and the difference is greater than a preset threshold (which can be set according to actual needs, and is not limited in this application), STA1 can determine to transmit data packets on the direct link, that is, send MPDU_1 to STA2 through the direct link. If the communication quality of the relay link is higher than that of the direct link, and the difference is greater than the preset threshold, STA1 can determine to switch to transmission on the relay link, that is, perform the encapsulation steps S1902 and S1903 on MPDU_1, and send the encapsulated data packet to STA2 through the relay link.
[0237] For example, if STA1 and STA2 in the communication system are MLD devices, they can increase the transmission throughput by link aggregation through direct link and trunk link. STA1 can transmit MPDU_1 on the direct link, perform encapsulation steps S1902 and S1903 on MPDU_1 (which can also be another MPDU), and send the encapsulated data packet to STA2 through the trunk link.
[0238] Specifically, please refer to Figure 18 STA1 encapsulates MPDU_1 into MSDU. The MSDU frame includes, but is not limited to: Logical Link Control (LLC) field, Sub-Network Access Protocol (SNAP) field, Payload Type field, and Payload field.
[0239] For example, MPDU_1 is encapsulated into the payload field of MSDU.
[0240] For example, the Subnet Access Protocol (SNAP) field includes, but is not limited to, the Vendor Code field and the Ether Type field.
[0241] In this embodiment, STA1 can set the Ether Type field to 89-0d to indicate that the MSDU's payload field encapsulates an MPDU with a direct link. Of course, it can also be set to other types of values, which are not limited in this application.
[0242] S1903 encapsulates the MSDU into MPDU_2.
[0243] Exemplarily, STA1 constructs MPDU_2 according to the encapsulation structure for relay link transmission. Specifically, STA1 encapsulates the MSDU into the frame body field of MPDU_2.
[0244] Still referring to Figure 18 , the Address1 field of MPDU_2 is set to the receiving end address, which is the address of the AP, for example, the BSSID of the AP. The Address2 field is set to the sending end address, which is the address of STA1. The Address3 field is set to the receiving end address, which is the address of STA2.
[0245] Exemplarily, the SN carried in the Sequence Control field (denoted as SN_2) is allocated based on TID_STA1-AP. As described above, TID is used to indicate the BA session. In this example, TID_STA1-AP is used to indicate the BA session established on the relay link with STA1 as the initiator and the AP as the responder.
[0246] It can be understood that TID_STA1-AP at the STA1 end is associated (or corresponds) with a counter, a transmission buffer, and an SNS (for example, the SNS2 in Figure 17 ). SN_2 can be allocated according to the counting value of the counter corresponding to TID_STA1-AP. STA1 can place the data packet containing TID_STA1-AP in this transmission buffer. Among them, SNS2 is indexed or identified by <AP address, TID_STA1-AP>.
[0247] STA1 sends MPDU_2 to the AP. The AP receives MPDU_2 and forwards it. Specifically, the AP looks up the corresponding buffer (or buffer queue) based on the TID carried in MPDU_2, and places it in the buffer based on the SN_2 carried in MPDU_2 to process and forward the data packets in the order in the buffer. The specific processing method can refer to the existing technology, and this application does not make any limitations.
[0248] Exemplarily, the AP repackages MPDU_2 to obtain MPDU_3. The structure in the repackaged MPDU_3 can still refer to Figure 18 shown (MPDU_2 in Figure 18 can be used as MPDU_3), where the Address1 field of MPDU_3 is set to the receiving end address, which is the address of STA2. The Address2 field is set to the sending end address, for example, the BSSID of the AP. The Address3 field is set to the source address, which is the address of STA1.
[0249] Exemplarily, the SN carried in the Sequence Control field of MPDU_3 (denoted as SN_3) is allocated based on TID_AP-STA2. As described above, TID is used to indicate the BA session. In this example, TID_AP-STA2 is used to indicate the BA session where the AP established on the relay link is the initiator and STA2 is the responder.
[0250] It can be understood that TID_AP-STA2 at the AP side is associated (or corresponds) with a counter, a transmission buffer, and an SNS (such as the SNS3 in Figure 17 . The SN can be allocated according to the counting value of the counter corresponding to TID_AP-STA2. The AP can place the data packet containing TID_AP-STA2 in this transmission buffer. Among them, SNS3 is indexed or identified by <STA2 address, TID_AP-STA2>.
[0251] The AP sends MPDU_3 to STA2 through the relay link. STA2 receives MPDU_3 from the AP. Specifically, the MAC layer in STA2 analyzes MPDU_3. Based on TID_AP-STA2 in MPDU_3, STA2 searches for the corresponding rearrangement buffer (or called rearrangement buffer queue, rearrangement buffer space, etc., which is not limited in this application) and the corresponding scoreboard. STA2 places MPDU_3 in the buffer queue and records the data packet reception situation through the scoreboard count. For specific descriptions, reference can be made to the above or the existing technical embodiments, which will not be elaborated here.
[0252] STA2 outputs each data packet in the rearrangement buffer corresponding to SNS3 to the upper-layer LLC layer in the order of SN. Still taking MPDU_3 as an example. STA2 de-encapsulates MPDU_3 in the order of SN and delivers the MSDU to the upper-layer LLC layer.
[0253] The LLC layer analyzes the MSDU. The LLC layer reads that the Ethernet field of the MSDU is 89-0d and the new PayloadType, and determines that the MSDU encapsulates the MPDU of the direct link. The LLC layer de-encapsulates the MSDU to obtain MPDU_1 and returns MPDU_1 to the MAC layer for reception processing.
[0254] The MAC layer can find the corresponding rearrangement buffer space and scoreboard based on the TID_STA-STA and the transceiver address carried in MPDU_1. This rearrangement buffer and scoreboard are the rearrangement buffer and scoreboard corresponding to the BA session of the direct link. That is, by encapsulating the data packet carrying the TID and SN of the direct link into the data packet of the relay link, the receiving end can transmit the data packet originally belonging to the direct link through the direct link, thus avoiding data packet disorder.
[0255] For example, STA2 can deliver data packets to the upper layer in ascending order based on the rearranged order of the SN numbers in the buffer.
[0256] In this embodiment, STA1 can also send management frames or control frames that were originally transmitted on the direct link via the relay link. Specifically, STA1 encapsulates the management frames or control frames encapsulated according to the direct link into MPDUs (i.e., data frames) that conform to the encapsulation format of the relay link for transmission. That is, the management frames or control frames of the direct link are transmitted through the data frames of the relay link.
[0257] Management frames or control frames include, but are not limited to: BAR frames, BA frames, measurement request frames, measurement response frames, etc., and this application does not limit them.
[0258] In one example, such as Figure 7 As described in the text, after STA1 sends a data packet, it can send a BA frame to STA2 via a relay link (or a direct link, which will not be repeated below) to request STA2 to provide feedback on the reception status of the data packet sent by STA1 to STA2. This data packet can be understood as MPDU_1.
[0259] Figure 20 For an illustrative example of a frame structure, please refer to... Figure 20 STA1 encapsulates the BAR frame into the data frame of the relay link, specifically into the frame body field of the MPDU. For example... Figure 20 As shown, the Type field in the Frame Control field of an MPDU can be 00, indicating that the MPDU is a management frame. Alternatively, it can be 01, indicating a control frame. The descriptions of the MPDU's fields are provided above and will not be repeated here.
[0260] Still refer to Figure 21 The BAR frame includes, but is not limited to: Category field, Action field, Dialog Token field, BAR Control field, and BAR Information field.
[0261] Optionally, the Category, Action, and Dialog Token fields can be used to indicate that the data frame encapsulated in the frame body is a BAR frame.
[0262] In this example, the information carried in the BAR frame (and BA frame) is all related to the BA session on the direct link between STA1 and STA2, enabling STA1 to send a BAR frame to STA2 via a trunk link to confirm whether the data packets for the BA session on the direct link have been successfully received. The data packets for the BA session on the direct link may be sent via the direct link or via a trunk link; this application does not limit this.
[0263] In another example, STA2 can send a BA frame to STA1 via a relay link to provide feedback on whether the data packet was received correctly.
[0264] Figure 21 For an illustrative example of a frame structure, please refer to... Figure 21 STA1 encapsulates the BA frame into the data frame of the relay link, specifically into the frame body field of the MPDU. For example... Figure 21 As shown, the Type field in the Frame Control field of an MPDU can be 00, indicating that the MPDU is a management frame. Alternatively, it can be 01, indicating a control frame. The descriptions of the MPDU's fields are provided above and will not be repeated here.
[0265] Still refer to Figure 21 The BA frame includes, but is not limited to: Category field, Action field, Dialog Token field, Block Confirmation Request Control (BA Control) field, and Block Confirmation Request Information (BA Information) field.
[0266] Optionally, the Category, Action, and Dialog Token fields can be used to indicate that the data frame encapsulated in the frame body is a BA frame.
[0267] In another example, STA1 or STA2 can send a Relay Link Measurement Request (RPM) frame or a Relay Link Measurement Response (RTM) frame to the peer via a relay link to obtain the communication quality of the link (including the relay link and / or the direct link) between the peer and the AP. Optionally, the RPM frame and RPM response frame can carry the communication quality of the link between the peer and the AP as measured by the local end. For example, STA1 sends a RPM frame to STA2 (which can be encapsulated as a data frame and sent via the relay link, or sent directly via the direct link). The RPM frame can include the communication quality of the relay link between STA1 and the AP and / or the quality of the direct link between STA1 and STA2 as measured by STA1. In response to the received RPM frame, STA2 measures the link (including the relay link and / or the direct link) to obtain the communication quality of the relay link between STA2 and the AP and / or the quality of the direct link between STA1 and STA2. STA2 sends a measurement response frame to STA1. This frame carries the communication quality of the relay link between STA2 and the AP, and / or the quality of the direct link between STA1 and STA2. The communication quality can be parameters such as RSSI (Received Signal Strength Indication), which are not limited in this application. The communication quality of the intermediate link between the STA and the AP can include the uplink communication quality and / or the downlink communication quality, which are not limited in this application. The method for obtaining the link's communication quality can be found in existing technical embodiments, and will not be repeated here.
[0268] For example, when STA1 sends a Relay Link Measurement Request frame to STA2 via the relay link, and STA2 sends a Relay Link Measurement Response frame to STA1 via the relay link, STA1 and STA2 encapsulate the measurement request frame and the measurement response frame into a data frame for transmission.
[0269] Figure 22 For an illustrative example of a frame structure, please refer to... Figure 22 The measurement request frame is encapsulated into the frame body of the MPDU. The Type field in the Frame Control field of the MPDU can indicate whether it is a management frame or a control frame.
[0270] The measurement request frame includes, but is not limited to, the Category field, Action field, Dialog Token field, and Communication Quality field. The Communication Quality field carries the link communication quality measured by the sending end (i.e., the sender of the MPDU, such as STA1).
[0271] Optionally, the Category, Action, and Dialog Token fields can be used to indicate that the data frame encapsulated in the frame body is a Relay Link Measurement Request frame.
[0272] Figure 23 For an illustrative example of a frame structure, please refer to... Figure 23 The measurement response frame is encapsulated into the frame body of the MPDU. The Type field in the Frame Control field of the MPDU can indicate whether it is a management frame or a control frame. Measurement request frames include, but are not limited to, the Category field, Action field, Dialog Token field, and Communication Quality field. Among them, the Communication Quality field is used to carry the link communication quality measured by the sending end (i.e., the sending end of the MPDU, such as STA2).
[0273] Optionally, the Category, Action, and Dialog Token fields can be used to indicate that the data frame encapsulated in the frame body is a Relay Link Measurement Response frame.
[0274] 2. Communication Method Two
[0275] In this embodiment, STA1 and STA2 are associated (i.e., accessed) under the same AP, and a direct link is established between STA1 and STA2. The link establishment process can be referred to above and will not be repeated here. STA1 and STA2 can establish a common BA session between the direct link and the trunk link. The TID and SNS corresponding to the common BA session are consistent with those on the direct link. That is to say, when the data packet sent by STA1 to STA2 through the trunk link is transmitted on the trunk link, the TID and SN in the data packet remain unchanged and correspond to the TID and SN of the data packet on the direct link.
[0276] Figure 24 For an illustrative flowchart of the public BA session establishment method, please refer to... Figure 24 Specifically, including but not limited to the following steps:
[0277] S2601, STA1 sends ADDBA request frame 1 to AP.
[0278] For example, STA1 generates an ADDBA request frame to initiate a BA session with STA2. STA1 is the BA session initiator, and STA2 is the BA session responder.
[0279] Figure 25 For an illustrative example of an ADDBA request frame, please refer to... Figure 25 The ADDBA request frame includes, but is not limited to: Frame Control field, Duration field, Address 2 field, Address 3 field, Sequence Control field, High Throughput Control (HT) field, Frame Body field, and Frame Check Sequence (FCS) field.
[0280] The frame body fields of the ADDBBA request frame include, but are not limited to: Category, Block ACK Action, Dialog Token, Peer Address, Block Ack Parameter Set, Block Ack Timeout Value, Block Ack Starting Sequence Control, and ADDBA Extension. Descriptions of each field can be found above and will not be repeated here.
[0281] The Block Ack Starting Sequence Control field contains the Starting Sequence Number, which indicates the initial value of the starting sequence number of the scoreboard at the responding end (i.e., the receiving end).
[0282] The Peer Address field carries the address of the peer device, i.e., the address of the initiating or responding end of the BA session. In this example, the ADDBA request frame sent by STA1 to the AP, with STA1 as the initiating end, has the peer address carried in its Peer Address field as the address of the responding end (STA2). Descriptions of the other fields are as described above and will not be repeated here.
[0283] Still refer to Figure 25 The Block Ack Parameter Set field includes, but is not limited to: the A-MSDU Supported field, the Block Ack Policy field, the Service Identifier (TID) field, and the Buffer Size field.
[0284] The Service Identifier (TID) field contains the TID corresponding to the BA session of the direct link between STA1 and STA2. In other words, the TID of this common BA session is the same as the TID of the BA session of the direct link between STA1 and STA2.
[0285] The Buffer Size field carries the buffer size indicated by STA1, for example, Value_1. Other field descriptions are as described above and will not be repeated here.
[0286] S2602, AP sends ADDBA request frame 2 to STA2.
[0287] For example, in response to a received ADDBA request frame, the AP generates ADDBA request frame 2 based on that request frame. Its frame structure can be found in [reference needed]. Figure 25 In the ADDBA request frame 2, the Peer Address field carries the address of the initiating end of the BA session (i.e., STA1). The Buffer Size field carries the buffer size indicated by the AP, for example, Value_2. Other field descriptions are as described above and will not be repeated here.
[0288] In this embodiment, the AP does not change the information carried in the Service Identifier (TID) field and the Block Ack Starting Sequence Control field during the forwarding of the ADDBA request frame. That is, the TID and SN numbers in the data packets transmitted on the relay link are consistent with those on the directly connected link. The contents of other fields can be modified as needed, and this application does not impose any limitations.
[0289] S2603, STA2 sends ADDBA response frame 1 to AP.
[0290] For example, in response to a received ADDBA request frame, STA2 sends an ADDBA response frame to the AP via the trunk link.
[0291] Figure 26For an illustrative diagram of the ADDBA response frame structure, please refer to... Figure 26 The ADDBA response frame includes, but is not limited to: Frame Control field, Duration field, Address 2 field, Address 3 field, Sequence Control field, High Throughput Control (HT) field, Frame Body field, and Frame Check Sequence (FCS) field.
[0292] The frame body fields of the ADDBBA response frame include, but are not limited to: Category, Block ACK Action, Dialog Token, Peer Address, Status Code, Block Ack ParameterSet, Block Ack Timeout Value, and ADDBAExtension. Descriptions of each field can be found above and will not be repeated here.
[0293] The Peer Address field contains the address of the peer device, i.e., the address of the initiator or responder of the BA session. In this example, STA2 sends an ADDBA response frame to the AP, and STA2, as the responder, carries the peer address in its Peer Address field, which is the address of the initiator (STA1). Descriptions of the other fields are as described above and will not be repeated here.
[0294] Still refer to Figure 26 The Block Ack Parameter Set field includes, but is not limited to: the A-MSDU Supported field, the Block Ack Policy field, the Service Identifier (TID) field, and the Buffer Size field.
[0295] The Service Identifier (TID) field contains the TID corresponding to the BA session of the direct link between STA1 and STA2. In other words, the TID of this common BA session is the same as the TID of the BA session of the direct link between STA1 and STA2.
[0296] The Buffer Size field carries the buffer size indicated by STA2, such as Value_3. For the descriptions of other fields, please refer to the above text and will not be elaborated here.
[0297] S2604, the AP sends an ADDBA response frame 2 to STA1.
[0298] Exemplarily, in response to the received ADDBA request frame, the AP generates an ADDBA response frame 2 based on this request frame. The frame structure can be referred to Figure 26 . Among them, the Peer Address field in the ADDBA response frame 2 carries the address of the responding end of the BA session (which is STA2). The Buffer Size field carries the buffer size indicated by the AP, such as Value_4. For the descriptions of other fields, please refer to the above text and will not be elaborated here.
[0299] In the embodiment of the present application, during the process of forwarding the ADDBA response frame, the AP does not change the information carried in the Traffic Identifier (TID) field.
[0300] After the public BA session is successfully established, STA1 and STA2 can transmit data on the relay link based on the public BA session. For STA1, it only needs to maintain a set of independent SNS spaces. That is to say, the data packets sent by STA1 to STA2 through the relay link and / or the data packets sent by STA1 to STA2 through the direct link can both be maintained using a set of independent SNS spaces (including counters, transmit buffers, etc.). This SNS space is indexed and identified using <STA2 address, TID_STA1-STA2>. Among them, this TID_STA1-STA2 is the TID corresponding to the BA session established with STA1 as the initiator and STA2 as the responder on the direct link, and can also be understood as the TID corresponding to the public BA session established with STA1 as the initiator and STA2 as the responder on the relay link.
[0301] For example, STA1 sends a data packet to STA2 on the direct link. The data packet includes TID_STA1-STA2 and SN_1, where SN_1 is allocated by STA1 based on <STA2 address, TID_STA1-STA2>. STA2 receives the data packet, queries the corresponding reordering buffer space and scoreboard based on TID_STA1-STA2, and can process the data packet according to the order of SN_1 in the queue.
[0302] Next, STA2 sends a data packet to STA2 on the relay link. The data packet includes TID_STA1-STA2 and SN_2, where SN_2 is assigned by STA1 based on <STA2 address, TID_STA1-STA2>. For example, SN_2 and SN_1 are consecutive sequence numbers.
[0303] The AP receives the data packet, repackages and forwards it. The TID_STA1-STA2 and SN in the data packet forwarded by the AP remain unchanged, that is, the SN number is still SN_2. Specifically, the AP can maintain an independent scoreboard, a reordering buffer area, and a corresponding transmission buffer area based on <SA = STA1 address, TA = STA2 address, TID_STA1-STA2>. Based on the address information in the data packet, the AP determines that the sender of the data packet is STA1, the receiver is STA2, and the TID is the TID corresponding to the common BA. Then, the AP can determine that the data packet is a data packet of the common BA session between STA1 and STA2 on the relay link based on <SA = STA1 address, TA = STA2 address, TID>. For such data packets, the AP will not change the TID and SN in them. Specifically, the AP finds the corresponding scoreboard and reordering buffer area based on <SA = STA1 address, TA = STA2 address, TID>. The AP can process the data packet in order according to the SN_2 in the data packet. Next, the AP places the repackaged data packet in the corresponding transmission buffer area and sends the data packets in order according to the SN_2 in the data packet. That is to say, during the data packet forwarding process, the AP will not change the TID and SN in the data packet. Optionally, for a data packet with the destination address being STA2 but the source address not being STA1, or the source address being STA1 but the destination address not being STA2, it can determine that the data packet is not a data packet of the common BA session based on the source address, destination address, and TID. Then, the AP can forward the data packet according to the process in the prior art, including repackaging the TID and SN.
[0304] STA2 receives the data packet sent by the AP. STA2 can determine that it is a data packet of the common BA session based on the TID in the data packet and perform the same processing (or partial same processing) as the data packet on the direct link on the data packet. For example, place the data packet in the reordering buffer area corresponding to TID_STA1-STA2 and submit the data to the upper layer in ascending order according to the SN number in the data packet in the reordering buffer area. For example, if the reordering buffer area currently includes a data packet with SN_1 and a data packet with SN_2, then STA2 submits the data packets received from the direct link and the relay link in the reordering buffer area to the upper layer in SN order.
[0305] In one possible implementation, similar to the scenario above, STA1 can also obtain the data packet reception status of STA2 through the trunk link. That is, STA1 can send a BAR frame to STA2 through the public BA session of the trunk link, and STA2 can send a BA frame back to STA1 through the same link. In this example, both the BAR frame and the BA frame include a Peer Address field, which carries the peer's address.
[0306] Figure 27 For an illustrative diagram of BAR / BA frame interaction, please refer to... Figure 27 Specifically, including but not limited to the following steps:
[0307] S2901, STA1 sends BAR frame 1 to AP.
[0308] Figure 28 For an exemplary structural diagram of a BAR frame, please refer to... Figure 28 This includes, but is not limited to, fields such as: Frame Control, Duration, Address 1, Address 2, Address 3, Sequence Control, High Throughput Control (HT Control), Cryptographic Blockchain Message Authentication Code Protocol Header (CCMP Header), Frame Body, Message Integrity Code (MIC), and Frame Check Sequence (FCS).
[0309] The Frame Body field includes, but is not limited to: Category field, Action field, Dialog Token field, Peer Address field, Block Acknowledgment Request Control (BAR Control) field, and Block Acknowledgment Request Information (BAR Information) field.
[0310] The Peer Address field contains the peer's address. Optionally, this field can also be called the Association Identifier (AID) field, which carries the peer's AID.
[0311] In this example, the Peer Address field in BAR frame 1 sent by STA1 carries the address of the peer (i.e., the responding end), which is the address of STA2. Alternatively, it could be STA2's AID.
[0312] S2902, AP sends BAR frame 2 to STA2.
[0313] For example, the AP receives BAR frame 1, re-encapsulates BAR frame 1 to obtain BAR frame 2, the structure of which is as follows: Figure 28 As shown. In the BAR frame 2 re-encapsulated by the AP, the Peer Address field carries the peer address (i.e., the sender's address), which is STA1's address. Alternatively, it could be STA1's AID.
[0314] S2903, STA2 sends BA frame 1 to AP.
[0315] For example, STA2 sends BA frame 1 to AP in response to receiving BAR frame 2.
[0316] Figure 29 For an exemplary structural diagram of a BAR frame, please refer to... Figure 29 This includes, but is not limited to, fields such as: Frame Control, Duration, Address 1, Address 2, Address 3, Sequence Control, High Throughput Control (HT Control), Cryptographic Blockchain Message Authentication Code Protocol Header (CCMP Header), Frame Body, Message Integrity Code (MIC), and Frame Check Sequence (FCS).
[0317] The Frame Body field includes, but is not limited to: Category field, Action field, Dialog Token field, Peer Address field, Block Acknowledgment Control (BA Control) field, and Block Acknowledgment Information (BA Information) field.
[0318] The Peer Address field contains the peer's address. Optionally, this field can also be called the Association Identifier (AID) field, which carries the peer's AID.
[0319] In this example, the Peer Address field in BA frame 1 sent by STA2 carries the address of the peer (i.e., the initiator of the BA session), which is the address of STA1. Of course, it could also be the AID of STA1.
[0320] S2904, AP sends BA frame 2 to STA1.
[0321] For example, the AP receives BA frame 1, re-encapsulates BA frame 1 to obtain BA frame 2, the structure of which is as follows: Figure 29 As shown. In the BA frame 2 re-encapsulated by the AP, the Peer Address field carries the peer address (i.e., the responding end of the BA session), which is the address of STA2. Alternatively, it could be STA2's AID.
[0322] STA1 receives BA frame 1 and can determine whether the data packet has been received correctly based on BA frame 1.
[0323] In another possible implementation, similar to the scenario above, STA1 can also obtain the communication quality of STA2's link (including the trunk link and / or the direct link) through the trunk link. Specifically, STA1 can send a Relay Link Measurement Request frame to STA2 via the common BA session of the trunk link, and STA2 can send a Relay Link Measurement Response frame back to STA1 through the same link. In this example, both the Relay Link Measurement Request and Relay Link Measurement Response frames include a Peer Address field, which carries the peer's address.
[0324] In this example, the information carried in the BAR frame (and BA frame) is all related to the BA session (which can also be understood as a public BA session) on the direct link between STA1 and STA2. This enables STA1 to send a BAR frame to STA2 via a trunk link to confirm whether the data packets for the BA session on the direct link have been successfully received. The data packets for the BA session on the direct link may be sent via the direct link or via a trunk link; this application does not limit this.
[0325] Figure 30 For an illustrative diagram of the Relay Link Measurement Request / Response frame interaction, please refer to... Figure 3 Specifically, including but not limited to the following steps:
[0326] S3201, STA1 sends Relay Link Measurement Request frame 1 to AP.
[0327] Figure 31 For an exemplary structural diagram of the Relay Link Measurement Request frame, please refer to... Figure 31 This includes, but is not limited to, fields such as: Frame Control, Duration, Address 1, Address 2, Address 3, Sequence Control, High Throughput Control (HT Control), Cryptographic Blockchain Message Authentication Code Protocol Header (CCMP Header), Frame Body, Message Integrity Code (MIC), and Frame Check Sequence (FCS).
[0328] The Frame Body field includes, but is not limited to: Category field, Action field, Dialog Token field, Peer Address field, and Communication Quality field.
[0329] The Peer Address field contains the peer's address. Optionally, this field can also be called the Association Identifier (AID) field, which carries the peer's AID.
[0330] In this example, the Peer Address field in the Relay Link Measurement Request frame 1 sent by STA1 carries the address of the peer (i.e., the responding end), which is the address of STA2. Alternatively, it could be STA2's AID.
[0331] The communication quality field carries the link communication quality measured by the sending end (i.e., the sending end of the measurement request frame, such as STA1), including, for example, the communication quality of the relay link between STA1 and AP. The communication quality of the intermediate link between STA and AP may include uplink communication quality and / or downlink communication quality, which is not limited in this application. The method for obtaining the link communication quality can refer to existing technical embodiments, and will not be repeated here.
[0332] S3202, AP sends Relay Link Measurement Request frame 2 to STA2.
[0333] For example, when the AP receives Relay Link Measurement Request frame 1, it re-encapsulates Relay Link Measurement Request frame 1 to obtain Relay Link Measurement Request frame 2, the structure of which is as follows: Figure 31As shown. In the BAR frame 2 re-encapsulated by the AP, the Peer Address field carries the peer address (i.e., the sender's address), which is STA1's address. Alternatively, it could be STA1's AID.
[0334] S3203, STA2 sends Relay Link Measurement Response frame 1 to AP.
[0335] For example, STA2 can obtain the communication quality of the relay link between itself and AP. Optionally, it can also obtain the communication quality of the direct link. The communication quality can be parameters such as RSSI, which are not limited in this application. The communication quality of the intermediate link between STA and AP can include the communication quality of the uplink and / or the communication quality of the downlink, which are not limited in this application. The method of obtaining the communication quality of the link can refer to existing technical embodiments, which will not be repeated in this application.
[0336] STA2 sends Relay Link Measurement Response frame 1 to AP. The encapsulation structure of the Relay Link Measurement Response frame can be found in [reference needed]. Figure 31 This will not be elaborated upon here.
[0337] The Peer Address field in Relay Link Measurement Response frame 1 carries the peer address. Optionally, this field can also be called the Association Identifier (AID) field, which carries the peer's AID.
[0338] In this example, the Peer Address field in the Relay Link Measurement Response frame 1 sent by STA1 carries the peer address (i.e., the initiator of the BA session), which is STA1's address. Alternatively, it could be STA1's AID.
[0339] The communication quality field carries the link communication quality measured by the sending end (i.e., the sending end of the measurement response frame, such as STA2), including, for example, the communication quality of the relay link between STA2 and AP. The communication quality of the intermediate link between STA and AP may include uplink communication quality and / or downlink communication quality, which is not limited in this application. The method for obtaining the link communication quality can refer to existing technical embodiments, and will not be repeated here.
[0340] S3204, AP sends Relay Link Measurement Response frame 2 to STA1.
[0341] For example, the AP receives Relay Link Measurement Response frame 1, re-encapsulates Relay Link Measurement Response frame 1 to obtain Relay Link Measurement Response frame 2, the structure of which is as follows: Figure 29 As shown. In the Relay Link Measurement Response frame 2, which is re-encapsulated by the AP, the Peer Address field carries the peer address (i.e., the responding end of the BA session), which is the address of STA2. Alternatively, it could be STA2's AID.
[0342] In the embodiments of this application, in both the AP-transparent and AP-non-transparent implementation methods, STA1 and STA2 can freely switch between the relay link and the direct link. For example, after the direct link is disconnected, STA1 can continue to send data packets of the direct link through the relay link, enabling STA2 to receive data packets corresponding to the direct link from the relay link. After the direct link is reconnected, STA1 can switch to the direct link to continue transmission. In this example, the data packets received by STA2 always correspond to the direct link, and the serial numbers of each data packet are consecutive. Furthermore, the technical solution in the embodiments of this application can also enable STA1 and STA2 to transmit data packets simultaneously on both the relay link and the direct link, i.e., to achieve link aggregation transmission of the relay link and the direct link. For example, in this example, STA1 can transmit the same data packets through two links, improving the stability of data packet transmission (i.e., avoiding packet loss) without affecting the data transmission efficiency of the direct link.
[0343] In summary, this application provides both a communication method that is transparent to the AP and a communication method that is not transparent to the AP. Transparent to the AP means that the AP still forwards data packets according to the existing protocol procedures; that is, the AP is unaware of the operations at both ends of the direct link. Non-transparent to the AP means that the AP forwards data packets according to the method described in this application, meaning the AP needs to support additional functionalities.
[0344] In one possible implementation, the AP receives a Relay Link Measurement Request frame from STA1. Based on the address of STA2 carried in the Peer Address field of the Relay Link Measurement Request frame, the AP can determine that STA1 is requesting feedback on the communication quality of the relay link between the AP and STA2. The AP can obtain the communication quality of the relay link between the AP and STA2 (the method of obtaining this quality can be found in existing technologies and will not be elaborated here). The AP then sends a Relay Link Measurement Response frame to STA1. The Peer Address field of the Relay Link Measurement Response frame carries the address of STA2, and the communication quality field carries the communication quality measurement result obtained by the AP.
[0345] In one possible implementation, the technical solution in this application embodiment can also be applied to another relay scenario, such as... Figure 32 As shown, a communication link is established between STA and AP1 and AP2. AP1 can directly interact with STA, or it can interact with STA via the backhaul link STA and AP2. The backhaul link STA and AP2 belong to the same relay device. When AP1 interacts with STA via the backhaul link STA and AP2, the scheme described in the above embodiment can be used. That is, AP1 is equivalent to STA1 (or STA2) in the above embodiment, the backhaul link STA and AP2 are equivalent to AP in the above embodiment, and STA is equivalent to STA2 (or STA1) in the above embodiment.
[0346] The above mainly describes the solution provided by the embodiments of this application from the perspective of interaction between various network elements. It is understood that, in order to achieve the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0347] This application embodiment can divide the communication device into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0348] Figure 33 For an exemplary structural diagram of a communication device, please refer to... Figure 33 The device is applied to a first device, which is connected to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first and second devices. The second communication link includes a communication link established between the first device and an access point device, and a communication link established between the second device and the access point device. The device includes a sending module 3301, used to send a first data packet to the second device via the second communication link. The first data packet conforms to the encapsulation structure corresponding to the second communication link, and the first data packet encapsulates a second data packet, which in turn conforms to the encapsulation structure corresponding to the first communication link.
[0349] Figure 34 For an exemplary schematic diagram of another communication device, please refer to... Figure 34 This device is applied to an access point device. A first device is connected to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first and second devices. The second communication link includes a communication link established between the first device and the access point device, and a communication link established between the second device and the access point device. The device includes: a receiving module 3401, used to receive a first data packet sent by the first device through the second communication link; the first data packet includes a first communication identifier (TID) and a first sequence number (SN), the first TID corresponding to the first communication link, and the first SN being assigned based on the first TID; a processing module 3402, used to generate a second data packet based on the first data packet; the second data packet includes the first TID and the first SN; and a sending module 3403, used to send the second data packet to the second device through the second communication link.
[0350] Figure 35 For an exemplary schematic diagram of another communication device, please refer to... Figure 35The device is applied to a first device, which is connected to a second device via a first communication link and a second communication link. The first communication link is a direct link between the first device and the second device. The second communication link includes a communication link established between the first device and an access point device and a communication link established between the second device and the access point device. The device includes a sending module 3501, used to send a first data packet to the access point device via the second communication link. The first data packet includes a first communication identifier (TID) and a first serial number (SN). The first TID corresponds to the first communication link, and the first SN is assigned based on the first TID.
[0351] Figure 36 For an exemplary schematic diagram of another communication device, please refer to... Figure 36 The device is applied to a second device. The first device is connected to the second device via a first communication link and a second communication link. The first communication link is a direct link between the first device and the second device. The second communication link includes a communication link established between the first device and the access point device and a communication link established between the second device and the access point device. The device includes: a receiving module for receiving a first data packet sent by the access point device through the second communication link; the first data packet includes a first communication identifier (TID) and a first serial number (SN), the first TID corresponds to the first communication link, and the first SN is assigned based on the first TID.
[0352] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0353] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium storing a computer program containing at least one piece of code that can be executed by a communication device to control the communication device to implement the above-described method embodiments.
[0354] Based on the same technical concept, this application also provides a computer program, which, when executed by a communication device, is used to implement the above-described method embodiments.
[0355] The program may be stored, in whole or in part, on a storage medium packaged with the processor, or in part or in whole on a memory not packaged with the processor.
[0356] Based on the same technical concept, this application also provides a processor for implementing the above-described method embodiments. The processor can be a chip.
[0357] The steps of the methods or algorithms described in conjunction with the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Additionally, the ASIC can reside in a network device. Alternatively, the processor and storage medium can exist as discrete components in the network device.
[0358] Those skilled in the art will recognize that the functions described in the embodiments of this application in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transfer of a computer program from one place to another. Storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0359] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0360] The terms "first" and "second," etc., used in the specification and claims of this application are used to distinguish different objects, not to describe a specific order of objects. For example, "first target object" and "second target object," etc., are used to distinguish different target objects, not to describe a specific order of target objects.
[0361] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0362] In the description of the embodiments in this application, unless otherwise stated, "multiple" means two or more. For example, multiple processing units means two or more processing units; multiple systems means two or more systems.
[0363] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A communication method characterized by comprising: A first device is connected with a second device through a first communication link and a second communication link, the first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the method comprises: The first device sends a first data packet to the second device through the second communication link; The first data packet conforms to a packaging structure corresponding to the second communication link, the first data packet encapsulates a second data packet, and the second data packet conforms to a packaging structure corresponding to the first communication link.
2. The method of claim 1, wherein: The first data packet includes a first traffic identifier (TID) and a first sequence number (SN), the first TID corresponds to the second communication link, and the first SN is allocated based on the first TID; The second data packet includes a second TID and a second SN, the second TID corresponds to the first communication link, and the second SN is allocated based on the second TID.
3. The method of claim 1, wherein, The first data packet encapsulates a third data packet, and the third data packet encapsulates the second data packet; The first data packet is a media access control (MAC) protocol data unit (PDU) data packet, the second data packet is a MAC PDU data packet, and the third data packet is a MAC service data unit (MSDU) data packet.
4. The method of claim 3, wherein, The third data packet includes an Ethernet type field, and the Ethernet type field includes indication information indicating that the third data packet encapsulates the second data packet.
5. The method of claim 4, wherein, The indication information is 89-0d.
6. The method according to any one of claims 1 to 5, characterized in that, The second data packet is a data frame, and a frame body of the second data packet carries data information.
7. The method of claim 1, wherein, The second data packet is a block acknowledgement request (BAR) frame or a block acknowledgement (BA) frame, the BAR frame is used to request feedback of whether a data packet is correctly received, and the BA frame is used to indicate whether a data packet is correctly received.
8. The method of claim 1, wherein, The second data packet is a direct link measurement request frame or a direct link measurement response frame, the direct link measurement request frame is used to request feedback of a communication quality measurement result of the first communication link and / or the second communication link, and the direct link measurement response frame is used to indicate the communication quality measurement result of the first communication link and / or the second communication link.
9. The method of claim 2, wherein, The method further comprises: The first device sends a fourth data packet to the second device through the first communication link; The fourth data packet conforms to a packaging structure corresponding to the first communication link.
10. The method of claim 9, wherein, The fourth data packet includes the first TID and a third SN, and the third SN is allocated based on the first TID.
11. A communication method, comprising: A first device is connected with a second device through a first communication link and a second communication link, the first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the method comprises: The access point device receives a first data packet sent by the first device through the second communication link; the first data packet comprises a first communication identifier TID and a first sequence number SN, the first TID corresponds to the first communication link, and the first SN is allocated based on the first TID; The access point device generates a second data packet based on the first data packet; the first TID and the first SN are included in the second data packet; The access point device sends the second data packet to the second device through the second communication link.
12. The method of claim 11, wherein, The first data packet further comprises first address information and second address information, the first address information is used to indicate that the sending end of the first data packet is the first device, and the second address information is used to indicate that the receiving end of the first data packet is the second device; The access point device sends the second data packet to the second device through the second communication link, comprising: The access point device finds a target buffer queue based on the first address information, the second address information and the first TID; The access point device places the second data packet in the target buffer queue; The access point device sends the second data packet on the second communication link in the order of SN in the data packet in the target buffer queue.
13. The method of claim 11, wherein, The first data packet is an ADDBA request frame, the ADDBA request frame is used to request to establish a block acknowledgement BA session, the first data packet comprises first identification information, the first identification information is used to indicate that the response end of the BA session is the second device; the BA session corresponds to the first TID; The second data packet is the ADDBA request frame, and the second data packet comprises second identification information, the second identification information is used to indicate that the initiation end of the BA session is the first device.
14. The method of claim 13, wherein, The method further comprises: The access point device receives a first ADDBA response frame sent by the second device through the second communication link; The access point device sends a second ADDBA response frame to the first device through the second communication link based on the first ADDBA response frame; the first ADDBA frame and the second ADDBA response frame are used to respond to establish the BA session.
15. The method of claim 14, wherein, The first ADDBA response frame comprises the first TID and the second identification information; the second ADDBA response frame comprises the first TID and the first identification information.
16. The method of claim 13, wherein, The method further comprises: The access point device receives a first block acknowledgement request BAR frame sent by the first device through the second communication link, the first BAR frame is used to request to feed back whether the data packet of the BA session is correctly received, and the first BAR frame comprises the first identification information; The access point device sends a second BAR frame to the second device through the second communication link based on the first BAR frame, the second BAR frame is used to request to feed back whether the data packet of the BA session is correctly received, and the second BAR frame comprises the second identification information.
17. The method of claim 16, wherein, The method further comprises: The access point device receives a first block acknowledgement (BA) frame sent by the second device through the second communication link, the first BA frame being used to indicate whether the data packet of the BA session is correctly received, and the first BA frame comprising the second identification information; The access point device sends a second BA frame to the first device through the second communication link based on the first BA frame, the second BA frame being used to indicate whether the data packet of the BA session is correctly received, and the second BA frame comprising the first identification information.
18. The method of claim 17, wherein, The first BAR frame, the second BAR frame, the first BA frame, and the second BA frame comprise the first TID.
19. The method of claim 13, wherein, The method further comprises: The access point device receives a first relay link measurement request frame sent by the first device through the second communication link, the first relay link measurement request frame being used to request feedback of the communication quality measurement result of the second communication link, and the first relay link measurement request frame comprising the first identification information; The access point device sends a second relay link measurement request frame to the second device through the second communication link based on the first relay link measurement request frame, the second relay link measurement request frame being used to request feedback of the communication quality measurement result of the second communication link, and the second relay link measurement request frame comprising the second identification information.
20. The method of claim 19, wherein, The method further comprises: The access point device receives a first relay link measurement response frame sent by the second device through the second communication link, the first relay link measurement response frame being used to indicate the communication quality measurement result of the second communication link, and the first relay link measurement response frame comprising the second identification information; The access point device sends a second relay link measurement response frame to the first device through the second communication link based on the first relay link measurement response frame, the second relay link measurement response frame being used to indicate the communication quality measurement result of the second communication link, and the second relay link measurement response frame comprising the first identification information.
21. A method of communication, comprising: A first device is connected with a second device through a first communication link and a second communication link, the first communication link is a direct link between the first device and the second device, and the second communication link comprises a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the method comprises: The first device sends a first data packet to the access point device through the second communication link; the first data packet comprises a first communication identifier (TID) and a first sequence number (SN), the first TID corresponds to the first communication link, and the first SN is allocated based on the first TID.
22. The method of claim 21, wherein, The first data packet is an add block acknowledgement (ADDBA) request frame, the ADDBA request frame is used to request to establish a block acknowledgement (BA) session, the ADDBA request frame includes first identification information, the first identification information is used to indicate that a responding end of the BA session is the second device, and the BA session corresponds to the first TID.
23. A method of communication, comprising: A first device is connected with a second device through a first communication link and a second communication link, the first communication link is a direct link between the first device and the second device, and the second communication link includes a communication link established between the first device and an access point device and a communication link established between the second device and the access point device; the method includes: The second device receives a first data packet from the first device forwarded by the access point device through the second communication link; the first data packet includes a first communication identifier (TID) and a first sequence number (SN), the first TID corresponds to the first communication link, and the first SN is allocated based on the first TID.
24. The method of claim 23, wherein, The first data packet is an add block acknowledgement (ADDBA) request frame, the ADDBA request frame is used to request to establish a block acknowledgement (BA) session, the ADDBA request frame includes second identification information, the second identification information is used to indicate that an initiating end of the BA session is the first device, and the BA session corresponds to the first TID.
25. A communications device, characterized by The processor is configured to perform the method of any one of claims 1-10, or perform the method of any one of claims 11-20, or perform the method of claims 21-22, or perform the method of claims 23-24.
26. A computer storage medium, comprising, The computer instructions, when executed on an electronic device, cause the electronic device to perform the method of any one of claims 1-10, or perform the method of any one of claims 11-20, or perform the method of claims 21-22, or perform the method of claims 23-24.
27. A computer program product, characterised in that, The computer program product, when executed on a computer, causes the computer to perform the method of any one of claims 1-10, or perform the method of any one of claims 11-20, or perform the method of claims 21-22, or perform the method of claims 23-24.