Network configuration method, apparatus, device, and autonomous vehicle

CN116436896BActive Publication Date: 2026-10-13BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310281150.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-21
Publication Date
2026-10-13
Estimated Expiration
2043-03-21

AI Technical Summary

Benefits of technology

[0011]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现如上所提供的方法。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116436896B_ABST
    Figure CN116436896B_ABST
Patent Text Reader

Abstract

The present disclosure provides a network configuration method, device, equipment and autonomous vehicle, relates to the field of autonomous driving and communication technology, and particularly relates to the field of vehicle-mounted sensor communication technology. The implementation scheme is: based on a communication protocol for data link layer management, a first message is sent to request address allocation, the communication protocol for data link layer management adopts a bridge protocol data unit message so that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number; a second message is received, the second message indicates an allocated address; and a current address is updated to the allocated address.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the fields of autonomous driving and communication technology, and more particularly to the field of vehicle-mounted sensor communication technology, specifically to a method, apparatus, electronic device, computer-readable storage medium, and computer program product for network configuration. Background Technology

[0002] With the development of autonomous driving technology, users have placed higher demands on the network configuration of sensor devices in autonomous vehicles. In the process of configuring the network for sensor devices in autonomous vehicles, it is often necessary to assign a unique address to each sensor device to ensure that the upper-layer perception module can correctly distinguish which sensor device the data originates from. How to easily and efficiently assign unique addresses to sensor devices has always been a hot research topic in this field.

[0003] The methods described in this section are not necessarily methods that had been previously conceived or adopted. Unless otherwise specified, no method described in this section should be assumed to be prior art simply because it is included in this section. Similarly, unless otherwise specified, the issues mentioned in this section should not be considered to be accepted in any prior art. Summary of the Invention

[0004] This disclosure provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for network configuration.

[0005] According to one aspect of this disclosure, a network configuration method is provided, comprising: sending a first message to request address allocation based on a communication protocol for data link layer management, wherein the communication protocol for data link layer management employs a bridge protocol data element message such that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number; receiving a second message indicating the allocated address; and updating the current address to the allocated address.

[0006] According to another aspect of this disclosure, a network configuration method is provided, comprising receiving a first message sent based on a communication protocol for data link layer management, the first message requesting address allocation, the communication protocol for data link layer management employing a bridge protocol data element message such that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management having a predetermined data link layer protocol number; and sending a second message indicating the allocated address.

[0007] According to another aspect of this disclosure, a network configuration apparatus is provided, including an address request module configured to send a first message to request address allocation based on a communication protocol for data link layer management, wherein the communication protocol for data link layer management employs a bridge protocol data element message such that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number; an address acquisition module configured to receive a second message indicating an allocated address; and an address update module configured to update the current address to the allocated address.

[0008] According to another aspect of this disclosure, a network configuration apparatus is provided, including a request receiving module configured to receive a first message sent based on a communication protocol for data link layer management, the first message requesting address allocation, the communication protocol for data link layer management employing a bridge protocol data element message such that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management having a predetermined data link layer protocol number; and an address allocation module configured to send a second message indicating an allocated address.

[0009] According to another aspect of this disclosure, an electronic device is provided, including at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the methods provided above in this disclosure.

[0010] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods provided above in this disclosure.

[0011] According to another aspect of this disclosure, a computer program product is provided, including a computer program, wherein the computer program, when executed by a processor, implements the methods provided above.

[0012] According to another aspect of this disclosure, an autonomous vehicle is provided, including a controller, wherein the controller is configured to perform the methods provided above in this disclosure.

[0013] According to one or more embodiments of this disclosure, addresses can be configured for sensor devices in autonomous vehicles in a simple and efficient manner.

[0014] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0015] The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0016] Figure 1 A schematic diagram of an exemplary system in which the various methods described herein may be implemented according to embodiments of the present disclosure is shown;

[0017] Figure 2 A flowchart of a network configuration method according to an embodiment of the present disclosure is shown;

[0018] Figure 3 A flowchart of a network configuration method according to another embodiment of the present disclosure is shown;

[0019] Figure 4 A flowchart of a network configuration method according to another embodiment of the present disclosure is shown;

[0020] Figure 5 A flowchart of a network configuration method according to another embodiment of the present disclosure is shown;

[0021] Figure 6 A two-sided handshake diagram of a network configuration method according to an embodiment of the present disclosure is shown;

[0022] Figure 7 A structural block diagram of a network configuration apparatus according to an embodiment of the present disclosure is shown;

[0023] Figure 8 A structural block diagram of a network configuration apparatus according to another embodiment of the present disclosure is shown;

[0024] Figure 9 A structural block diagram of a network configuration apparatus according to another embodiment of the present disclosure is shown;

[0025] Figure 10 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation

[0026] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0027] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.

[0028] The terminology used in the description of the various examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any one of the listed items and all possible combinations thereof.

[0029] In configuring sensor devices for autonomous vehicles, it is often necessary to assign unique addresses to each sensor to ensure that the upper-level perception module can correctly distinguish which sensor the data originates from. In related technologies, to enable the upper-level perception module to correctly identify which sensor the data comes from, device suppliers, based on the OEM's requirements, affix different labels to each device of the same type, which are then identified and installed in different locations by OEM workers. However, this method requires manually assigning different codes to each sensor, resulting in high production costs. In other cases, device suppliers provide uniform devices without different labels for each device of the same type or different installation locations. After installation, the devices are configured via the UDS (Unified Diagnostic Services) protocol. However, this method requires the diagnostic tool to pre-configure the addresses. Since devices of the same model have identical internal software, they share the same addresses, making it impossible for the diagnostic tool to establish network connections with them simultaneously. Configuration must be performed sequentially, resulting in very low efficiency. Therefore, a simple and efficient method for configuring addresses for sensor devices is urgently needed.

[0030] To address the aforementioned technical problems, a network configuration method is provided according to one aspect of this disclosure.

[0031] Before describing in detail the network configuration method according to embodiments of this disclosure, firstly, in conjunction with Figure 1 The description includes schematic diagrams of exemplary systems in which the various methods and apparatuses described herein may be implemented.

[0032] Figure 1 A schematic diagram of an exemplary system 100 in which the various methods and apparatus described herein can be implemented according to embodiments of this disclosure is shown. Reference Figure 1 The system 100 includes a motor vehicle 110, a server 120, and one or more communication networks 130 that couple the motor vehicle 110 to the server 120.

[0033] In embodiments of this disclosure, the motor vehicle 110 may include a computing device according to embodiments of this disclosure and / or be configured to perform a method according to embodiments of this disclosure.

[0034] Server 120 may run one or more services or software applications that enable network configuration methods. In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments. Figure 1 In the configuration shown, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or combinations thereof that can be executed by one or more processors. A user of motor vehicle 110 may sequentially interact with server 120 using one or more client applications to utilize the services provided by these components. It should be understood that various different system configurations are possible and may differ from system 100. Therefore, Figure 1 This is an example of a system used to implement the various methods described herein, and is not intended to be limiting.

[0035] Server 120 may include one or more general-purpose computers, special-purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0036] The computing unit in server 120 can run one or more operating systems, including any of the aforementioned operating systems and any commercially available server operating system. Server 120 can also run any of a variety of additional server applications and / or middleware applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0037] In some implementations, server 120 may include one or more applications to analyze and merge data feeds and / or event updates received from vehicle 110. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of vehicle 110.

[0038] Network 130 can be any type of network well known to those skilled in the art, and can support data communication using any of a variety of available protocols (including, but not limited to, TCP / IP, SNA, IPX, etc.). By way of example only, one or more networks 130 can be satellite communication networks, local area networks (LANs), Ethernet-based networks, token ring networks, wide area networks (WANs), the Internet, virtual networks, virtual private networks (VPNs), intranets, extranets, blockchain networks, public switched telephone networks (PSTNs), infrared networks, wireless networks (including, for example, Bluetooth, WiFi), and / or any combination of these with other networks.

[0039] System 100 may also include one or more databases 150. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 150 may be used to store information such as audio files and video files. The data repository 150 may reside in various locations. For example, a data repository used by server 120 may be local to server 120, or it may be located away from server 120 and may communicate with server 120 via a network-based or dedicated connection. The data repository 150 may be of different types. In some embodiments, the data repository used by server 120 may be a database, such as a relational database. One or more of these databases may store, update, and retrieve data from and from the database in response to commands.

[0040] In some embodiments, one or more of the databases 150 may also be used by an application to store application data. The databases used by the application may be of different types, such as key-value stores, object stores, or regular stores supported by a file system.

[0041] Motor vehicle 110 may include sensors 111 for sensing the surrounding environment. Sensors 111 may include one or more of the following sensors: a visual camera, an infrared camera, an ultrasonic sensor, a millimeter-wave radar, and a lidar (LiDAR). Different sensors can provide different detection accuracy and range. Cameras may be mounted in front of, behind, or at other locations on the vehicle. Visual cameras can capture the situation inside and outside the vehicle in real time and present it to the driver and / or passengers. In addition, by analyzing the images captured by the visual cameras, information such as traffic light indications, intersection conditions, and the operating status of other vehicles can be obtained. Infrared cameras can capture objects in night vision conditions. Ultrasonic sensors may be mounted around the vehicle to measure the distance of objects outside the vehicle using the strong directionality of ultrasound. Millimeter-wave radar may be mounted in front of, behind, or at other locations on the vehicle to measure the distance of objects outside the vehicle using the characteristics of electromagnetic waves. LiDAR may be mounted in front of, behind, or at other locations on the vehicle to detect the edges and shape information of objects, thereby performing object recognition and tracking. Due to the Doppler effect, the radar device can also measure the speed changes of the vehicle and moving objects.

[0042] The motor vehicle 110 may also include a communication device 112. The communication device 112 may include a satellite positioning module capable of receiving satellite positioning signals (e.g., BeiDou, GPS, GLONASS, and GALILEO) from satellite 141 and generating coordinates based on these signals. The communication device 112 may also include a module for communicating with a mobile communication base station 142. The mobile communication network can implement any suitable communication technology, such as current or emerging wireless communication technologies (e.g., 5G technology) like GSM / GPRS, CDMA, and LTE. The communication device 112 may also have a vehicle-to-everything (V2X) module, configured to enable vehicle-to-the-world communication, for example, vehicle-to-vehicle (V2V) communication with other vehicles 143 and vehicle-to-infrastructure (V2I) communication with infrastructure 144. Furthermore, the communication device 112 may also have a module configured to communicate with a user terminal 145 (including but not limited to smartphones, tablets, or wearable devices such as watches) via, for example, a wireless local area network conforming to the IEEE 802.11 standard or Bluetooth. Using the communication device 112, the motor vehicle 110 can also access the server 120 via the network 130.

[0043] The motor vehicle 110 may also include a control unit 113. The control unit 113 may include a processor, such as a central processing unit (CPU) or a graphics processing unit (GPU), or other dedicated processors, that communicates with various types of computer-readable storage devices or media. The control unit 113 may include an autonomous driving system for automatically controlling various actuators in the vehicle. The autonomous driving system is configured to control the powertrain, steering system, and braking system of the motor vehicle 110 (not shown) via multiple actuators in response to inputs from multiple sensors 111 or other input devices to control acceleration, steering, and braking respectively, without human intervention or with limited human intervention. Some processing functions of the control unit 113 can be implemented via cloud computing. For example, some processing can be performed using an onboard processor while other processing can be performed using cloud computing resources. The control unit 113 may be configured to perform methods according to this disclosure. Furthermore, the control unit 113 may be implemented as an example of a computing device on the motor vehicle side (client) according to this disclosure.

[0044] Figure 1 The system 100 can be configured and operated in various ways to enable the application of the various methods and apparatus described in this disclosure.

[0045] The following describes in detail a network configuration method according to embodiments of this disclosure.

[0046] Figure 2 A flowchart of a network configuration method 200 according to an embodiment of the present disclosure is shown. Figure 2 As shown, method 200 includes steps S201, S202 and S203.

[0047] In step S201, a first message is sent to request address allocation based on the communication protocol for data link layer management. The communication protocol for data link layer management uses a bridge protocol data element message so that the first message indicates the destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number.

[0048] In the example, the communication protocol used for data link layer management can be called LLMP (Link Layer Management Protocol). LLMP can be a new Layer 2 network management protocol that manages and configures the physical addresses (i.e., MAC addresses, or Media Access Control Addresses) of the link layer (i.e., Layer 2) based on bridged networks. Therefore, it can directly assign a new MAC address and / or a new IP address to the device in software, without relying on manual configuration and acquisition of MAC addresses and / or IP addresses beforehand, and then communicate using these new MAC addresses and / or IP addresses.

[0049] In the example, the device could be, for instance, a radar installed on an autonomous vehicle.

[0050] In the example, with the help of LLMP, the network configuration method of the embodiments of this disclosure can be a purely software method, that is, no additional assembly work is required for the devices to be configured, thereby simplifying the network configuration process and saving the manpower cost of network configuration.

[0051] In the example, LLMP uses BPDU (Bridge Protocol Data Unit) messages, meaning that LLMP can communicate over a bridged network. Because BPDUs have a predefined MAC address, such as 01:80:C2:00:00:06, this predefined MAC address can serve as the destination MAC address for communication between the server and devices. Therefore, devices do not rely on their own MAC addresses when communicating with the server, and there are no MAC address conflicts between devices during communication. Thus, the server can communicate with multiple devices simultaneously, and these devices can have the same or different MAC addresses.

[0052] In the example, LLMP can encapsulate packets based on Ethernet II (Ethernet Layer 2) and has a predetermined Ethernet Layer 2 protocol number, such as 0x88CF. The LLMP packet format can include, in sequence: DMAC (Destination MAC), SMAC (Source MAC), Type, LLMPDPU (LLMP Data Processing Unit), and FCS (Checksum). As mentioned above, DMAC can be the predetermined MAC address of the BPDU, such as 01:80:C2:00:00:06. SMAC can be the device's MAC address. When the device has not yet been assigned a new MAC address, its MAC address is unknown, so SMAC can be 0. When the device's MAC address is known, SMAC can be 0 or the device's current MAC address (e.g., the default MAC address at the factory). After the device is assigned a new MAC address, it can communicate using the updated MAC address as its SMAC. Type can indicate the LLMP protocol number, such as 0x88CF as mentioned above. An LLMPDPU can have multiple fields in TLV (Type-Length-Value) format. The TLV format fields can include device identification information, information related to the request or response content, and information indicating the end of the multiple fields. The last TLV format field in the LLMPDPU can be defined as a specific field, End of LLMP TLV, used to indicate the end of the LLMPDPU.

[0053] Therefore, the format of the first message sent from the device to the server based on the LLMP communication protocol can include, as described above, DMAC (e.g., 01:80:C2:00:00:06), SMAC (e.g., 0), Type (e.g., 0x88CF), LLMPDPU, and FCS in sequence. The function of the first message is to request address allocation; therefore, the LLMPDPU of the first message can include a TLV format field Device ID TLV indicating device identity, a TLV format field MAC Req TLV requesting MAC address allocation, and / or a TLV format field IP Req TLV requesting IP address allocation, as well as a TLV format field End of LLMPTLV indicating the end of the LLMDPU.

[0054] In step S202, a second message is received, which indicates the assigned address.

[0055] In the example, the format of the second message received by the device from the server based on the LLMP communication protocol can also include, as described above, DMAC (e.g., 01:80:C2:00:00:06), SMAC (e.g., the server's MAC address), Type (e.g., 0x88CF), LLMPDPU, and FCS in sequence. The second message is used to indicate the assigned address; therefore, the LLMPDPU of the second message may include a TLV format field Device ID TLV indicating device identity, a TLV format field MACResp TLV for assigning a MAC address, and / or a TLV format field IP Resp TLV for assigning an IP address, as well as a TLV format field End of LLMP TLV indicating the end of the LLMPDPU.

[0056] In the example, if the first message sent requests a MAC address, the second message can accordingly include a MAC Resp TLV field in TLV format for MAC address allocation. If the first message sent requests an IP address, the second message can accordingly include an IP Resp TLV field in TLV format for IP address allocation. If the first message sent requests both a MAC address and an IP address, the second message can accordingly include both MAC Resp TLV fields in TLV format for MAC address allocation and IP Resp TLV fields in TLV format for IP address allocation.

[0057] In step S203, the current address is updated to the assigned address.

[0058] According to the network configuration method of this disclosure, by applying a communication protocol for data link layer management and employing bridge protocol data unit messages, the device can communicate with the server based on the server's address instead of relying on the device's MAC address. This avoids MAC address conflicts between devices and enables the server to communicate with multiple devices simultaneously. Furthermore, by sending and receiving messages based on the communication protocol for data link layer management, the communication process does not depend on IP addresses, nor does it require additional assembly work on the devices to be configured. Instead, network configuration is achieved through a purely software method. Therefore, the network configuration method of this disclosure simplifies the network configuration process and saves on manpower costs.

[0059] The following further describes various aspects of the network configuration method according to embodiments of the present disclosure.

[0060] Figure 3 A flowchart of a network configuration method 300 according to another embodiment of the present disclosure is shown.

[0061] like Figure 3 As shown, the network configuration method 300 may include steps S301, S302, and S303. Steps S301, S302, and S303 can be combined with... Figure 2 The steps S201, S202, and S203 shown correspond to each other, so their details will not be repeated here.

[0062] According to some embodiments, the network configuration method 300 may further include: step S304, starting a first timer after step S301, the first timer having a predetermined first waiting period; step S305, determining whether a third message indicating successful communication is received within the first waiting period; step S306, in response to receiving the third message within the first waiting period, canceling the first timer and starting a second timer, the second timer having a predetermined second waiting period; step S307, determining whether receiving the second message in step S302 is successfully completed within the second waiting period; step S308, in response to receiving the second message within the second waiting period, canceling the second timer; and step S309, sending the third message after step S303.

[0063] See the example. Figure 3 When a device needs to be configured with an address, the device first executes step S301, sending a first message to request address allocation.

[0064] After sending the first message, the device executes step S304 to start the first timer. The first timer has a predetermined first waiting period, which is generally in the range of seconds. For example, the first waiting period can be predetermined to be 1 second, 3 seconds, or 5 seconds. This first waiting period can be flexibly set based on the device's performance and the link rate.

[0065] Then, in step S305, it is determined whether a third message has been received within the first waiting period. The format of the third message transmitted based on the LLMP communication protocol can be similar to that of the first and second messages, including DMAC (e.g., 01:80:C2:00:00:06), SMAC (e.g., the MAC address of the server), Type (e.g., 0x88CF), LLMPDPU, and FCS in sequence. The third message is used to indicate successful communication, so the LLMPDPU of the third message may include a TLV format field Device ID TLV indicating the device identity, a TLV format field Ack TLV indicating that a request or reply message has been received, and a TLV format field End of LLMP TLV indicating the end of LLMPDPU.

[0066] If the device receives a third message within the first waiting period, then step S306 can be executed to cancel the first timer and start the second timer. The second timer can have a predetermined second waiting period, which can also be flexibly set based on the device's performance and link rate. For example, the second waiting period can be set to be the same as the first waiting period. After starting the second timer, the device executes step S302 to receive the second message, and then in step S307, it determines whether the second message was successfully received within the second waiting period. If the second message was successfully received within the second waiting period, then step S308 is executed sequentially to cancel the second timer, and step S303 is executed to update the device's address based on the allocated address indicated in the received second message.

[0067] like Figure 3 As shown, if the device does not receive the third message within the first waiting period, but receives the second message, it can directly jump to step S303 after canceling the first timer.

[0068] After updating the address, step S309 can be executed to send a third message to the server to inform the server that the network configuration has been successfully completed.

[0069] According to embodiments of this disclosure, by confirming whether a third message has been received after sending the first message, it can be determined whether the first message has been successfully received by the peer, i.e., the server. By sending the third message after updating the address, the peer, i.e., the server, can be informed of the device's network configuration. In this way, both the device and the server can effectively monitor the message transmission during communication and respond appropriately to transmission failures, such as terminating the network configuration process. By setting a first timer and a second timer, the device is prevented from getting stuck in endless waiting during message reception, which could prevent it from handling other processes or even causing a system crash. This allows the device to respond more promptly to transmission failures.

[0070] According to some embodiments, the network configuration method 300 may further include: in response to not receiving a third message within a first waiting period, determining the number of times the first message has been sent; and in response to the number of times the first message has been sent being less than or equal to a predetermined maximum number of retransmissions, retransmitting the first message.

[0071] See the example. Figure 3 If the device does not receive the third message or the second message within the first waiting period, then after canceling the first timer, step S310 can be executed to determine whether the number of times the first message was sent is not greater than the predetermined maximum number of retransmissions. For example, the maximum number of retransmissions can be predetermined to be 3 times.

[0072] If the number of times the first message is sent is less than or equal to the predetermined maximum number of retransmissions, then the process can jump back to step S301 to send the first message for requesting address allocation. If the number of times the first message is sent exceeds the predetermined maximum number of retransmissions, then the network configuration process can be terminated.

[0073] According to embodiments of this disclosure, by retransmitting the first message when transmission fails, a corresponding response can be made to remedy the transmission failure. That is, multiple attempts are made to ensure that the other end, i.e., the server, can receive the first message sent by the device. By pre-determining a maximum number of retransmissions, a transmission failure is determined and a corresponding response is made after multiple retransmissions of the first message have failed to establish communication. For example, the network configuration process can be terminated, thus preventing the device from getting stuck in a loop of repeatedly sending the first message.

[0074] According to some embodiments, such as Figure 2 The network configuration method shown in 200 or as follows Figure 3 The network configuration method 300 shown may further include: sending a fourth message for requesting a restart, the fourth message indicating a destination physical address corresponding to the request; determining whether a third message is received after sending the fourth message; and in response to receiving the third message, performing a restart to make the assigned address effective.

[0075] In the example, the format of the fourth message can also include the same DMAC (e.g., 01:80:C2:00:00:06) as the first message, SMAC (e.g., the MAC address indicated in the second message), Type (e.g., 0x88CF), LLMPDPU, and FCS. The fourth message is used to request a reboot, so the LLMPDPU of the fourth message can include a TLV field (Device ID TLV) indicating the device's identity, a TLV field (Reboot Req TLV) requesting a reboot, and a TLV field (End of LLMP TLV) indicating the end of the LLMPDPU.

[0076] In the examples, some devices have fewer or simpler applications, allowing for direct updates of the address information within each device, thus eliminating the need for a restart to make the assigned addresses effective. However, some devices have more numerous or complex applications, making it difficult to update the address information individually. In such cases, a restart is required for the assigned addresses to take effect. In other words, the complexity of the applications within a device determines whether a restart is necessary for the assigned addresses to take effect.

[0077] According to embodiments of this disclosure, for devices with many or complex applications, restarting the device to make the assigned address effective eliminates the need for each device to update the address information contained in the device, thereby greatly improving the efficiency of network configuration.

[0078] According to some embodiments, a BPDU message may include multiple fields in TLV format, which include device identification information, information related to the request or response content, and information indicating the end of the multiple fields.

[0079] In the example, the TLV format consists of three parts: Type, Length, and Value. The Type part indicates the type of TLV, with a field length of 8 bits, thus supporting 256 TLV types. As mentioned above, different TLV types can correspond to different values ​​in their Type part. For example, End of LLMPTLV corresponds to the value 0 in the Type part, Device ID TLV to the value 1, MAC Req TLV to the value 2, MAC Resp TLV to the value 3, IP Req TLV to the value 4, IP Resp TLV to the value 5, Reboot Req TLV to the value 6, and Ack TLV to the value 8. The Length part indicates the length of the Value, with a field length of 16 bits. Correspondingly, the Value part, which contains the information data within the TLV, can be 0 to 1497 bytes in length. As mentioned above, the various types of TLVs contain different amounts of information, and therefore their Length portions can correspond to different values. For example, End of LLMP TLV, MAC Req TLV, IP Req TLV, and Reboot Req TLV do not contain any information in their Value portion, so their Length portions can correspond to the value 0; Ack TLV can correspond to the value 1 in its Length portion; the Value portion of IP Resp TLV can be a string in the form xxx.xxx.xxx.xxx, where x can be any number from 0 to 9, and its Length portion can correspond to the value 15; the Value portion of MAC Resp TLV can be a string in the form xx:xx:xx:xx:xx:xx, where x can be any ASCII character from 0 to 9 and a to f, and its Length portion can correspond to the value 17; the Value portion of Device ID TLV can be of variable length but cannot be empty, and its Length portion can correspond to the value 1 to 255.

[0080] In the example, the Type part can also be set to a value of 7, the Length part to a value of 0, and the Value part to contain no information, for a TLV format field called Reset TLV used to indicate device reset. Reset TLV can be included in a message sent from the server to the device.

[0081] In the example, the endianness of each field in the TLV can follow little-endian byte order encoding.

[0082] According to embodiments of this disclosure, by employing multiple fields in the TLV format, a BPDU message can include a variety of different information, and by predefining the TLV types corresponding to different values ​​of Type, hundreds of TLVs with different functions can be extended, thus enabling LLMP-based communication to implement various different operations and processes.

[0083] According to some embodiments, the address includes at least one of a MAC address and an IP address.

[0084] In the examples, if the device's MAC address is known and unique within the network, it can be used as the device's identifier and included in the Device ID TLV, thus allowing a request to assign a new IP address. Similarly, if the device's IP address is known and unique within the network, it can be used as the device's identifier and included in the Device ID TLV, thus allowing a request to assign a new MAC address. Likewise, if the device's Serial Number (SN) is known and unique within the network, it can be used as the device's identifier and included in the Device ID TLV, thus allowing a request to assign a new MAC address and / or IP address.

[0085] In the example, for devices with an Ethernet interface, a MAC address must be assigned to the device. Therefore, a known and unique IP address or serial number within the network can be included as the device's identifier in the Device ID TLV to request the allocation of a new MAC address.

[0086] According to embodiments of this disclosure, at least one of the MAC address and IP address of the device may be unknown. A new MAC address and IP address are assigned through the network configuration method of this disclosure, thereby obtaining the updated MAC address and IP address of the device. No additional assembly work is required for the device to be configured for network, which simplifies the network configuration process and saves manpower costs for network configuration.

[0087] According to another aspect of this disclosure, an alternative network configuration method is also provided.

[0088] Figure 4 A flowchart of a network configuration method 400 according to another embodiment of the present disclosure is shown. Figure 4 As shown, method 400 includes steps S401 and S402.

[0089] In step S401, a first message is received based on a communication protocol for data link layer management. The first message requests address allocation. The communication protocol for data link layer management uses a bridge protocol data element message so that the first message indicates the destination physical address corresponding to the request. The communication protocol for data link layer management has a predetermined data link layer protocol number.

[0090] In step S402, a second message is sent, which indicates the assigned address.

[0091] In the example, the communication protocol for data link layer management and the received first message based on step S401 of network configuration method 400, and the second message sent in step S402, can be compared with, for example, Figure 2 The communication protocol for data link layer management and the first message sent in step S201 correspond to the second message received in step S202, so their details will not be repeated here.

[0092] According to the network configuration method of this disclosure, by applying a communication protocol for data link layer management and employing bridge protocol data unit messages, the device can communicate with the server without relying on the device's MAC address, avoiding MAC address conflicts between devices and enabling the server to communicate with multiple devices simultaneously. Furthermore, by communicating via message sending and receiving based on the communication protocol for data link layer management, the communication process does not depend on IP addresses, nor does it require additional assembly work on the devices to be configured; instead, network configuration is achieved through a purely software method. Therefore, the network configuration method of this disclosure simplifies the network configuration process and saves on manpower costs.

[0093] Figure 5 A flowchart of a network configuration method 500 according to another embodiment of the present disclosure is shown.

[0094] like Figure 5 As shown, the network configuration method 500 may include steps S501 and S502. Steps S501 and S502 may be combined with... Figure 4 The steps S401 and S402 shown correspond to each other, so their details will not be repeated here.

[0095] According to some embodiments, the network configuration method 500 may further include: step S503, sending a third message indicating successful communication after step S501; step S504, starting a first timer after step S502, the first timer having a predetermined first waiting period; step S505, determining whether a third message has been received within the first waiting period; and step S506, in response to receiving a third message within the first waiting period, canceling the first timer and determining that the current processing has been completed.

[0096] See the example. Figure 5 When a device needs to be configured with an address, the server first executes step S501, receiving a first message from the device requesting address allocation.

[0097] After receiving the first message, the device executes step S503, which sends a third message to the device to inform it that the server has successfully received the first message.

[0098] Next, step S502 is executed to send the second message, and then in step S504, the first timer is started. The first timer has a predetermined first waiting period, which is generally in the range of seconds. For example, the first waiting period can be predetermined to be 1 second, 3 seconds or 5 seconds. The first waiting period can be flexibly set based on the performance of the device and the link rate.

[0099] Then, in step S505, it is determined whether a third message indicating successful communication has been received within the first waiting period. The format of the third message may include, in sequence, DMAC (e.g., 01:80:C2:00:00:06), SMAC (e.g., 0 or the MAC address indicated in the second message), Type (e.g., 0x88CF), LLMPDPU, and FCS.

[0100] If the server receives a third message from the device within the first waiting period, then step S506 can be executed to cancel the first timer and end the network configuration process.

[0101] According to embodiments of this disclosure, by sending a third message after receiving the first message, the peer end, i.e., the device end, can be informed that the first message has been successfully received. By confirming whether the third message has been received after sending the second message, the device's network configuration status can be determined. In this way, both the device end and the server end can effectively monitor the message transmission during communication and thus respond appropriately to transmission failures, such as terminating the network configuration process. By setting a first timer, the server is prevented from getting stuck in endless waiting during message reception, which could lead to an inability to process other processes or even a system crash.

[0102] According to some embodiments, the network configuration method 500 may further include: in response to not receiving a third message within a first waiting period, determining the number of times the second message has been sent; and in response to the number of times the second message has been sent being less than or equal to a predetermined maximum number of retransmissions, retransmitting the second message.

[0103] See the example. Figure 5 If the server does not receive the third message from the device within the first waiting period, then step S507 can be executed to determine whether the number of times the second message is sent is not greater than the predetermined maximum number of retransmissions. For example, the maximum number of retransmissions can be predetermined to be 3 times.

[0104] If the number of times the second message is sent is less than or equal to the predetermined maximum number of retransmissions, then the process jumps back to step S502 to send the second message for address allocation. If the number of times the second message is sent exceeds the predetermined maximum number of retransmissions, then the network configuration process can be terminated.

[0105] According to embodiments of this disclosure, by retransmitting the second message when transmission fails, a corresponding response can be made to remedy the transmission failure. That is, multiple attempts are made to ensure that the other end, i.e., the device, can receive the second message sent by the server. By pre-determining a maximum number of retransmissions, a transmission failure is determined and a corresponding response is made after multiple retransmissions of the second message have failed to establish communication. For example, the network configuration process can be terminated, thus preventing the server from getting stuck in a loop of repeatedly sending the second message.

[0106] According to some embodiments, such as Figure 4 The network configuration method shown is 400 or as follows Figure 5 The network configuration method 500 shown may further include: determining whether a fourth message for requesting a restart has been received, the fourth message indicating the destination physical address corresponding to the request; and in response to receiving the fourth message, sending a third message.

[0107] In the example, such as Figure 4 The network configuration method shown is 400 or as follows Figure 5 The fourth message in the network configuration method 500 shown can be with Figure 2 The network configuration method shown in 200 or as follows Figure 3 The fourth message in the network configuration method 300 shown corresponds to this, so its details will not be repeated here.

[0108] In the example, the server can send a third message to acknowledge successful receipt of the restart request from the peer, i.e., the device, in order to issue a restart command to the device.

[0109] According to embodiments of this disclosure, for devices with many or complex applications, restarting the device to make the assigned address effective eliminates the need for each device to update the address information contained in the device, thereby greatly improving the efficiency of network configuration.

[0110] According to some embodiments, such as Figure 4 The steps shown in step S402 or as follows Figure 5 The step S502 shown may include: selecting an unoccupied address from the free address pool; and including the address in a second message for transmission.

[0111] According to embodiments of this disclosure, by selecting unoccupied addresses from the free address pool and allocating them to devices, address conflicts between devices can be avoided, thereby ensuring the accuracy of the communication path based on the allocated addresses during subsequent communication processes.

[0112] Figure 6 A two-sided handshake diagram of a network configuration method 600 according to an embodiment of the present disclosure is shown.

[0113] like Figure 6 As shown, one side of the network configuration method 600 is the device side 610, and the other side is the server side 620.

[0114] After the client program on device 610 and the server program on server 620 begin running, device 610 can first send a first message 631 to server 620. The first message 631 requests address allocation, and therefore may include Device ID TLV, MAC Req TLV and / or IP Req TLV, as well as End of LLMP TLV.

[0115] After receiving the first message 631, the server 620 can send a third message 633 to the device 610. The third message 633 is used to indicate that the server has successfully received the first message 631, and the third message 633 may include DeviceID TLV, Ack TLV, and End of LLMP TLV.

[0116] Next, the server 620 can continue to send a second message 632 to the device 610. The second message 632 is used to indicate the assigned address, and thus the second message may include a Device ID TLV, a MAC Resp TLV (corresponding to the case where the first message 631 includes a MAC Req TLV) and / or an IP Resp TLV (corresponding to the case where the first message 631 includes an IP Req TLV), and an End of LLMP TLV.

[0117] When device 610 receives the second message 632 and updates its existing address based on the address indicated by the second message 632, it can send a third message 633 to server 620, including Device ID TLV, Ack TLV, and End of LLMPTLV.

[0118] For devices with numerous or complex applications, a reboot is required for the assigned addresses to take effect. Therefore, device 610 can also send a fourth message 634 to server 620. The fourth message 634 requests a reboot and may include Device ID TLV, Reboot Req TLV, and End of LLMP TLV.

[0119] After receiving the fourth message 634, the server 620 can send a third message 633, including Device IDTLV, Ack TLV, and End of LLMP TLV, to the device 610 to issue a restart command to the device.

[0120] According to another aspect of this disclosure, a network configuration apparatus is also provided.

[0121] Figure 7 A structural block diagram of a network configuration apparatus 700 according to an embodiment of the present disclosure is shown.

[0122] like Figure 7 As shown, the network configuration device 700 includes: an address request module 701, configured to send a first message to request address allocation based on a communication protocol for data link layer management, wherein the communication protocol for data link layer management uses a bridge protocol data element message so that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number; an address acquisition module 702, configured to receive a second message indicating an allocated address; and an address update module 703, configured to update the current address to the allocated address.

[0123] Since the address request module 701, address acquisition module 702, and address update module 703 in the network configuration device 700 can respectively correspond to, as follows: Figure 2 The details of steps S201 to S203 are not elaborated here.

[0124] Furthermore, the network configuration device 700 and its included modules may also include further sub-modules, which will be combined as follows Figure 8 Please provide a detailed explanation.

[0125] According to embodiments of this disclosure, by applying a communication protocol for data link layer management and employing bridge protocol data unit messages, devices can communicate with servers based on the server's address, independent of their own MAC addresses. This avoids MAC address conflicts between devices and enables the server to communicate with multiple devices simultaneously. Furthermore, by sending and receiving messages based on the communication protocol for data link layer management, the communication process does not rely on IP addresses, nor does it require additional assembly work on the devices to be configured. Instead, network configuration is achieved through a purely software-based method. Therefore, the network configuration method of this disclosure simplifies the network configuration process and saves on manpower costs associated with network configuration.

[0126] Figure 8 A structural block diagram of a network configuration apparatus 800 according to another embodiment of the present disclosure is shown.

[0127] like Figure 8 As shown, the network configuration device 800 may include an address request module 801, an address acquisition module 802, and an address update module 803. The address request module 801, address acquisition module 802, and address update module 803 can be coupled with, for example, an address request module 801, an address acquisition module 802, and an address update module 803. Figure 7 The address request module 701, address acquisition module 702, and address update module 703 shown correspond to each other, so their details will not be repeated here.

[0128] In the example, device 800 may further include: a request confirmation waiting module 804, configured to start a first timer after sending a first message, the first timer having a predetermined first waiting duration; a request success confirmation module 805, configured to determine whether a third message indicating successful communication has been received within the first waiting duration; a reply waiting module 806, configured to cancel the first timer and start a second timer in response to receiving a third message within the first waiting duration, the second timer having a predetermined second waiting duration; a reply confirmation module 807, configured to determine whether a second message has been received within the second waiting duration; a reply wait cancellation module 808, configured to cancel the second timer in response to receiving a second message within the second waiting duration; and a setup completion module 809, configured to send a third message after setting the current address to the assigned address.

[0129] Therefore, by confirming the receipt of the third message after sending the first message, it can be determined whether the first message has been successfully received by the peer, i.e., the server. By sending the third message after updating the address, the peer, i.e., the server, can learn about the device's network configuration. In this way, both the device and the server can effectively monitor the message transmission during communication, and thus respond appropriately to transmission failures, such as terminating the network configuration process. By setting the first and second timers, the device is prevented from getting stuck in endless waiting during message reception, which could prevent it from handling other processes or even crashing. This allows the device to respond more promptly to transmission failures.

[0130] In the example, the apparatus 800 may further include: a request count determination module 810, configured to determine the number of times the first message has been sent in response to the failure to receive a third message within a first waiting period; and a first message retransmission module 811, configured to retransmit the first message in response to the number of times the first message has been sent being less than or equal to a predetermined maximum retransmission count.

[0131] Therefore, by retransmitting the first message when transmission fails, a corresponding response can be made to remedy the situation. That is, multiple attempts are made to ensure that the other end, i.e., the server, can receive the first message sent by the device. By pre-setting a maximum number of retransmissions, if communication cannot be successfully established after multiple retransmissions of the first message, a transmission failure is determined and an appropriate response is made, such as ending the network configuration process, thus preventing the device from getting stuck in a loop of repeatedly sending the first message.

[0132] In the example, device 800 may further include: a restart request module 812 configured to send a fourth message for requesting a restart, the fourth message indicating a destination physical address corresponding to the request; a restart confirmation module 813 configured to determine whether a third message has been received after sending the fourth message; and a restart module 814 configured to perform a restart in response to receiving the third message so that the allocated address takes effect.

[0133] Therefore, for devices with many or complex applications, restarting the device to make the assigned address effective eliminates the need for each device to update the address information contained in the device, thus greatly improving the efficiency of network configuration.

[0134] In the example, a BPDU message may include multiple fields in TLV format, which include device identification information, information related to the request or response content, and information indicating the end of the multiple fields.

[0135] Therefore, by using multiple fields in the TLV format, a BPDU message can include a variety of different information, and by predefining the TLV types corresponding to different values ​​of Type, hundreds of different TLVs can be extended, so LLMP-based communication can realize various different operations and processes.

[0136] In the example, the address can include at least one of a MAC address and an IP address.

[0137] Therefore, at least one of the device's MAC address and IP address may be unknown. By assigning a new MAC address and IP address through the network configuration method of this embodiment, the updated MAC address and IP address of the device can be obtained. No additional assembly work is required for the device to be configured in the network, which simplifies the network configuration process and saves manpower costs for network configuration.

[0138] According to another aspect of this disclosure, another network configuration device is also provided.

[0139] Figure 9 A structural block diagram of a network configuration apparatus 900 according to another embodiment of the present disclosure is shown.

[0140] like Figure 9 As shown, the network configuration device 900 includes: a request receiving module 901, configured to receive a first message sent based on a communication protocol for data link layer management, the first message requesting address allocation, the communication protocol for data link layer management using a bridge protocol data element message so that the first message indicates a destination physical address corresponding to the request, and the communication protocol for data link layer management having a predetermined data link layer protocol number; and an address allocation module 902, configured to send a second message, the second message indicating the allocated address.

[0141] Since the request receiving module 901 and the address allocation module 902 in the network configuration device 900 can respectively correspond to, as Figure 4 Steps S401 and S402 are described above, so the details of each aspect will not be repeated here.

[0142] According to embodiments of this disclosure, by applying a communication protocol for data link layer management and employing bridge protocol data unit messages, the device can communicate with the server without relying on its MAC address, avoiding MAC address conflicts between devices and enabling the server to communicate with multiple devices simultaneously. Furthermore, by sending and receiving messages based on the communication protocol for data link layer management, the communication process does not depend on IP addresses, nor does it require additional assembly work on the devices to be configured for the network; instead, network configuration is achieved through a purely software method. Therefore, the network configuration method of this disclosure simplifies the network configuration process and saves on manpower costs associated with network configuration.

[0143] In the example, such as Figure 9 As shown, the apparatus 900 may further include: a request confirmation module 903, configured to send a third message indicating successful communication after receiving a first message; a waiting module 904, configured to start a first timer after sending a second message, the first timer having a predetermined first waiting duration; a reply success confirmation module 905, configured to determine whether a third message has been received within the first waiting duration; and an end module 906, configured to cancel the first timer and determine that the current processing has been completed in response to receiving a third message within the first waiting duration.

[0144] Therefore, by sending a third message after receiving the first message, the other end, i.e., the device, can be informed that the first message has been successfully received. By confirming whether the third message has been received after sending the second message, the device's network configuration status can be determined. In this way, both the device and the server can effectively monitor the message transmission during communication and respond appropriately to transmission failures, such as terminating the network configuration process. By setting a first timer, the server is prevented from getting stuck in endless waiting during message reception, which could lead to the inability to handle other processes or even system crashes.

[0145] In the example, the device 900 may further include: a response count determination module 907, configured to determine the number of times the second message has been sent in response to the failure to receive a third message within a first waiting period; and a second message retransmission module 908, configured to retransmit the second message in response to the number of times the second message has been sent being less than or equal to a predetermined maximum retransmission count.

[0146] Therefore, by retransmitting the second message when transmission fails, a corresponding response can be made to remedy the situation. That is, by making multiple attempts, it can be ensured that the other end, i.e., the device end, can receive the second message sent by the server. By pre-setting a maximum number of retransmissions, if communication cannot be successfully established after multiple retransmissions of the second message, a transmission failure is determined and an appropriate response is made, such as ending the network configuration process, thus preventing the server from getting stuck in a loop of repeatedly sending the first message.

[0147] In the example, device 900 may further include: a restart request confirmation module 909, configured to determine whether a fourth message for requesting a restart has been received, the fourth message indicating the destination physical address corresponding to the request; and a restart indication module 910, configured to send a third message in response to receiving the fourth message.

[0148] Therefore, for devices with many or complex applications, restarting the device to make the assigned address effective eliminates the need for each device to update the address information contained in the device, thus greatly improving the efficiency of network configuration.

[0149] In the example, the address allocation module 902 may include: an address selection module 902a, configured to select an unoccupied address from the free address pool; and an address sending module 902b, configured to include the address in a second message for transmission.

[0150] Therefore, by selecting unoccupied addresses from the free address pool and allocating them to devices, address conflicts between devices can be avoided, thereby ensuring the accuracy of the communication path based on the allocated addresses during subsequent communication processes.

[0151] According to embodiments of this disclosure, an electronic device, a readable storage medium, a computer program product, and an autonomous vehicle are also provided.

[0152] refer to Figure 10 The present invention describes a structural block diagram of an electronic device 1000 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0153] like Figure 10 As shown, the electronic device 1000 includes a computing unit 1001, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1002 or a computer program loaded from a storage unit 1008 into a random access memory (RAM) 1003. The RAM 1003 may also store various programs and data required for the operation of the electronic device 1000. The computing unit 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.

[0154] Multiple components in electronic device 1000 are connected to I / O interface 1005, including: input unit 1006, output unit 1007, storage unit 1008, and communication unit 1009. Input unit 1006 can be any type of device capable of inputting information to electronic device 1000. Input unit 1006 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device, and may include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 1007 can be any type of device capable of presenting information, and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 1008 may include, but is not limited to, a hard disk and an optical disk. The communication unit 1009 allows the electronic device 1000 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers and / or chipsets, such as Bluetooth™ devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices and / or the like.

[0155] The computing unit 1001 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1001 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1001 performs the various methods and processes described above, such as network configuration methods. For example, in some embodiments, the network configuration method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1008. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 1000 via ROM 1002 and / or communication unit 1009. When the computer program is loaded into RAM 1003 and executed by the computing unit 1001, one or more steps of the network configuration method described above may be performed. Alternatively, in other embodiments, the computing unit 1001 may be configured to perform the network configuration method by any other suitable means (e.g., by means of firmware).

[0156] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0157] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0158] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0159] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0160] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0161] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0162] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0163] While embodiments or examples of this disclosure have been described with reference to the accompanying drawings, it should be understood that the methods, systems, and devices described above are merely exemplary embodiments or examples, and the scope of the invention is not limited by these embodiments or examples, but only by the granted claims and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. Furthermore, the steps may be performed in a different order than that described in this disclosure. Further, various elements in the embodiments or examples may be combined in various ways. Importantly, as the technology evolves, many elements described herein can be replaced by equivalents that appear after this disclosure.

Claims

1. A network configuration method, comprising: Based on a communication protocol for data link layer management, a first message is sent to request address allocation, wherein the communication protocol for data link layer management uses a bridge protocol data element message to make the first message indicate a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number, wherein sending the first message to request address allocation includes: In response to the fact that the media access control address of the device to be configured is known and unique within the network, the media access control address is included in the first message as the device's identity to request the allocation of an Internet Protocol address. In response to the fact that the Internet Protocol address of the device to be configured is known and unique within the network, the Internet Protocol address is included as the device's identifier in the first message to request the allocation of the Media Access Control address; and In response to the fact that the serial number of the device to be configured with the address is known and unique within the network, the serial number is included in the first message as the device's identity identifier to request the allocation of the Media Access Control address and / or the Internet Protocol address; Receive a second message, wherein the second message indicates the assigned address; and Update the current address to the assigned address.

2. The method according to claim 1, further comprising: After sending the first message, a first timer is started, wherein the first timer has a predetermined first waiting duration; Determine whether a third message indicating successful communication is received within the first waiting period; In response to receiving the third message within the first waiting period, the first timer is canceled and a second timer is started, wherein the second timer has a predetermined second waiting period; Determine whether the second message has been received within the second waiting period; In response to receiving the second message within the second waiting period, the second timer is cancelled; and The third message is sent after the current address is set to the assigned address.

3. The method according to claim 2, further comprising: In response to the failure to receive the third message within the first waiting period, the number of times the first message was sent is determined; as well as In response to the first message being sent less than or equal to the predetermined maximum number of retransmissions, the first message is retransmitted.

4. The method according to claim 2 or 3, further comprising: Send a fourth message to request a restart, wherein the fourth message indicates the destination physical address corresponding to the request; Determine whether the third message was received after the fourth message was sent; and In response to receiving the third message, a restart is performed to make the allocated address effective.

5. The method according to any one of claims 1 to 3, wherein, The bridge protocol data unit message includes multiple fields in a type-length-value format. These fields include device identification information, information related to the request or response content, and information indicating the end of the multiple fields.

6. The method according to any one of claims 1 to 3, wherein, The address includes at least one of a media access control address and an Internet protocol address.

7. A network configuration method, comprising: A first message is received based on a communication protocol for data link layer management, the first message requesting address allocation, wherein the communication protocol for data link layer management uses a bridge protocol data element message to make the first message indicate a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number, wherein the first message requesting address allocation includes: In response to the fact that the media access control address of the device to be configured is known and unique within the network, the media access control address is included in the first message as the device's identity to request the allocation of an Internet Protocol address. In response to the fact that the Internet Protocol address of the device to be configured is known and unique within the network, the Internet Protocol address is included as the device's identifier in the first message to request the allocation of the Media Access Control address; and In response to the fact that the serial number of the device whose address is to be configured is known and unique within the network, the serial number is included as the device's identifier in the first message to request the allocation of the Media Access Control address and / or the Internet Protocol address; and Send a second message, wherein the second message indicates the assigned address.

8. The method according to claim 7, further comprising: After receiving the first message, a third message indicating successful communication is sent. After the second message is sent, a first timer is started, wherein the first timer has a predetermined first waiting period; Determine whether the third message is received within the first waiting period; and In response to receiving the third message within the first waiting period, the first timer is canceled and it is determined that the current processing has been completed.

9. The method of claim 8, further comprising: In response to the failure to receive the third message within the first waiting period, the number of times the second message was sent is determined; as well as In response to the second message being sent less than or equal to the predetermined maximum number of retransmissions, the second message is retransmitted.

10. The method according to claim 8 or 9, further comprising: Determine whether a fourth message requesting a restart has been received, wherein the fourth message indicates the destination physical address corresponding to the request; and In response to receiving the fourth message, the third message is sent.

11. The method according to any one of claims 7 to 9, wherein, The sending of the second message includes: Select an unoccupied address from the free address pool; and The address is included in the second message for transmission.

12. A network configuration device, comprising: An address request module is configured to send a first message to request address allocation based on a communication protocol for data link layer management. The communication protocol for data link layer management uses a bridge protocol data element message to ensure the first message indicates a destination physical address corresponding to the request. The communication protocol for data link layer management has a predetermined data link layer protocol number. Sending the first message to request address allocation includes: In response to the fact that the media access control address of the device to be configured is known and unique within the network, the media access control address is included in the first message as the device's identity to request the allocation of an Internet Protocol address. In response to the fact that the Internet Protocol address of the device to be configured is known and unique within the network, the Internet Protocol address is included as the device's identifier in the first message to request the allocation of the Media Access Control address; and In response to the fact that the serial number of the device to be configured with the address is known and unique within the network, the serial number is included in the first message as the device's identity identifier to request the allocation of the Media Access Control address and / or the Internet Protocol address; The address acquisition module is configured to receive a second message, wherein the second message indicates the assigned address; and The address update module is configured to update the current address to the assigned address.

13. The apparatus of claim 12, further comprising: The request confirmation waiting module is configured to start a first timer after sending the first message, wherein the first timer has a predetermined first waiting duration; The request success confirmation module is configured to determine whether a third message indicating successful communication has been received within the first waiting period. The response waiting module is configured to cancel the first timer and start a second timer in response to receiving the third message within the first waiting period, wherein the second timer has a predetermined second waiting period; The response confirmation module is configured to determine whether the second message has been received within the second waiting period; The response wait cancellation module is configured to cancel the second timer in response to receiving the second message within the second wait duration; and The configuration module is configured to send the third message after setting the current address to the assigned address.

14. The apparatus of claim 13, further comprising: The request count determination module is configured to determine the number of times the first message was sent in response to the fact that the third message was not received within the first waiting period. as well as The first message retransmission module is configured to retransmit the first message in response to the first message being sent less than or equal to a predetermined maximum number of retransmissions.

15. The apparatus according to claim 13 or 14, further comprising: The restart request module is configured to send a fourth message for requesting a restart, wherein the fourth message indicates the destination physical address corresponding to the request; The restart confirmation module is configured to determine whether the third message has been received after the fourth message has been sent; and The restart module is configured to perform a restart in response to receiving the third message so that the allocated address takes effect.

16. The apparatus according to any one of claims 12 to 14, wherein, The bridge protocol data unit message includes multiple fields in a type-length-value format. These fields include device identification information, information related to the request or response content, and information indicating the end of the multiple fields.

17. The apparatus according to any one of claims 12 to 14, wherein, The address includes at least one of a media access control address and an Internet protocol address.

18. A network configuration apparatus, comprising: A request receiving module is configured to receive a first message sent based on a communication protocol for data link layer management, the first message requesting address allocation, wherein the communication protocol for data link layer management uses a bridge protocol data element message to make the first message indicate a destination physical address corresponding to the request, and the communication protocol for data link layer management has a predetermined data link layer protocol number, wherein the first message requesting address allocation includes: In response to the fact that the media access control address of the device to be configured is known and unique within the network, the media access control address is included in the first message as the device's identity to request the allocation of an Internet Protocol address. In response to the fact that the Internet Protocol address of the device to be configured is known and unique within the network, the Internet Protocol address is included as the device's identifier in the first message to request the allocation of the Media Access Control address; and In response to the fact that the serial number of the device whose address is to be configured is known and unique within the network, the serial number is included as the device's identifier in the first message to request the allocation of the Media Access Control address and / or the Internet Protocol address; and The address allocation module is configured to send a second message, wherein the second message indicates the address to be allocated.

19. The apparatus of claim 18, further comprising: The request confirmation module is configured to send a third message indicating successful communication after receiving the first message; The waiting module is configured to start a first timer after sending the second message, wherein the first timer has a predetermined first waiting duration; The successful response confirmation module is configured to determine whether the third message has been received within the first waiting period; and The termination module is configured to cancel the first timer and determine that the current processing has been completed in response to receiving the third message within the first waiting period.

20. The apparatus of claim 19, further comprising: The response count determination module is configured to determine the number of times the second message was sent in response to the fact that the third message was not received within the first waiting period; as well as The second message retransmission module is configured to retransmit the second message in response to the number of times the second message has been sent being less than or equal to a predetermined maximum number of retransmissions.

21. The apparatus according to claim 19 or 20, further comprising: The restart request confirmation module is configured to determine whether a fourth message for requesting a restart has been received, wherein the fourth message indicates the destination physical address corresponding to the request; and The restart instruction module is configured to send the third message in response to receiving the fourth message.

22. The apparatus according to any one of claims 18 to 20, wherein, The address allocation module includes: The address selection module is configured to select an unoccupied address from the free address pool; and The address sending module is configured to include the address in a second message for transmission.

23. An electronic device, comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; in The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-11.

24. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-11.

25. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method according to any one of claims 1-11.

26. An autonomous vehicle, comprising a controller, wherein, The controller is configured to perform the method according to any one of claims 1-11.

Citation Information

Patent Citations

  • IP address automatic configuration method based on link layer topology

    CN102307249A

  • Network equipment management method based on ethernet technology

    CN1411214A