CN112804377B - Data query method, electronic equipment, server, storage equipment and gateway equipment - Google Patents

Data query method, electronic equipment, server, storage equipment and gateway equipment Download PDF

Info

Publication number
CN112804377B
CN112804377B CN202110375259.4A CN202110375259A CN112804377B CN 112804377 B CN112804377 B CN 112804377B CN 202110375259 A CN202110375259 A CN 202110375259A CN 112804377 B CN112804377 B CN 112804377B
Authority
CN
China
Prior art keywords
address
network
target
message
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110375259.4A
Other languages
Chinese (zh)
Other versions
CN112804377A (en
Inventor
伍桓民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ziguang Hengyue Technology Co Ltd
Original Assignee
Ziguang Hengyue Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ziguang Hengyue Technology Co Ltd filed Critical Ziguang Hengyue Technology Co Ltd
Priority to CN202110375259.4A priority Critical patent/CN112804377B/en
Publication of CN112804377A publication Critical patent/CN112804377A/en
Application granted granted Critical
Publication of CN112804377B publication Critical patent/CN112804377B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5053Lease time; Renewal aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a data query method, electronic equipment, a server, storage equipment and gateway equipment, wherein the method comprises the following steps: receiving a query instruction input by a user, wherein the query instruction at least comprises: network segment address of the network to be inquired; according to the query instruction, generating an IP address request message aiming at a network to be queried, wherein the request message comprises: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal; the first request code is used for identifying the type of the request message; broadcasting a request message in a network to be queried; receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address; and analyzing the response message to obtain a returned target IP address and a target equipment identifier. The method and the system can remotely obtain the IP address of the BMC management port of the server under the conditions of not entering a machine room, connecting peripheral equipment and restarting equipment, and can adapt to objective requirements in a high-security environment.

Description

Data query method, electronic equipment, server, storage equipment and gateway equipment
Technical Field
The application relates to the technical field of communication, in particular to a data query method, electronic equipment, a server, storage equipment and gateway equipment.
Background
In a practical scenario, after a client purchases a server, the server is usually set up by a machine room operation and maintenance staff, and then an IP address is configured to the server management port, for example, through a DHCP (Dynamic Host Configuration Protocol) or a manual Configuration, and the server is accessed to the internal office network. And the user of the server remotely uses the server daily in a mode of accessing the IP address of the server management port through the browser. In the daily use process, the following two situations often appear, lead to the unable remote management server of coming through original IP of user no longer:
1. after long-term non-use (for example, eleven/spring festival/leave), the user forgets the Management IP address of the BMC (Baseboard Management Controller, one of the core components of the server) of the server.
2. The IP address of the management port of the server is configured in a DHCP mode, and the lease of the IP address is expired, so that the lease is subject to failure, and the management address is changed into other IP. These operations are imperceptible at the user level and also result in the user not being logged in.
In order to retrieve the management address of the server, the following solutions are currently mainstream:
firstly, entering a Basic Input Output System (BIOS) of a server, and inquiring an IP of a server management interface through the BIOS, wherein the detailed steps are as follows:
(1) firstly, a server needs to enter a machine room to be connected with peripherals such as a display, a keyboard, a mouse and the like;
(2) and restarting the server through a power button, and performing related operations by the keyboard and the mouse according to related display on a display in the restarting process of the equipment so as to enter a server BIOS.
(3) The IP address of the Management port is checked directly on a basic information page of the BIOS or through an IPMI (Intelligent Platform Management Interface) related function page of the BIOS.
Secondly, a BMC (Baseboard Management Controller) module logging in the server through a serial port checks the IP address:
(1) firstly, a portable machine is required to enter a machine room and is connected with a server serial port through a serial port cable;
(2) and opening serial port communication software on the portable machine, and logging in a serial port of the BMC module of the server after setting serial port communication parameters.
(3) The BMC IP is viewed through a BMC module built-in command.
But with the advance of digitization and informatization, network information security has attracted more and more attention. With the comprehensive promotion of the autonomous controllability of key devices such as network communication and servers, more and more domestic servers are applied to the scene with extremely high requirements on information safety:
the server maintenance under the scene of high information security requirement has the following characteristics:
firstly, the information security requirement is extremely high for business reasons, so that the management of the computer room is very strict. Such as: 1. personnel are not allowed to enter and exit the machine room at any time, and the personnel must enter the machine room after approval; 2. all external equipment with storage and photographing functions, such as a U disk, a mobile phone and the like, are not allowed to enter a machine room;
and (II) compared with the common enterprise users, the requirements on the stability and the reliability of the server are higher. The method is very sensitive to the operation of restarting the server, and usually a report/application and the like need to be filled in for recording;
therefore, under the above characteristics in the high-security environment, the maintenance method is not convenient and fast enough. Has the following disadvantages:
firstly, the server needs to enter the machine room and be connected with various peripheral devices, and the labor/time cost is consumed when the server applies for entering the machine room to initiate operations such as application/approval. In addition, the old reason is that the week is spent because the IP address of the BMC management port is forgotten, which is a very small thing, and the old reason is that people feel very complicated and not simple and convenient all the time;
secondly, when the server is restarted when the BIOS is entered, the running service on the server is interrupted, and the stability is influenced;
and (III) the operation is complicated, a user is required to have a certain data communication knowledge background, and the use threshold is too high. For example, in the third scheme, 1, a user interface which triggers the equipment to actively send the gratuitous ARP is not provided, and the equipment can be triggered to send the gratuitous ARP only in a mode of restarting the equipment; 2. the ARP only has the mapping relation between the IP and the MAC address, that is, the MAC address of the BMC management port must be known firstly through message analysis. Otherwise, the most depressed ARP message in the local area network cannot be identified, which message is sent by the device that wants to retrieve the IP.
Disclosure of Invention
An object of the embodiments of the present application is to provide a data query method, an electronic device, a server, a storage device, and a gateway device, which implement automatic query of an IP address of a device available in a local area network.
A first aspect of an embodiment of the present application provides a data query method, including: receiving a query instruction input by a user, wherein the query instruction at least comprises: network segment address of the network to be inquired; generating an IP address request message aiming at the network to be queried according to the query instruction, wherein the request message comprises: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal; the first request code is used for identifying the type of the request message; broadcasting the request message in the network to be inquired; receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address; and analyzing the response message to obtain a returned target IP address and a target equipment identifier.
In an embodiment, the query condition further includes a device identifier of the target server; generating an IP address request packet for the network to be queried according to the query condition, further comprising: and filling the device identifier of the target server in a field after the first request code, encapsulating the network segment address, the physical address of the current terminal and the first request code after filling the field, and generating the request message. In an embodiment, the analyzing the response packet to obtain the returned IP address and the target device identifier includes: extracting a second request code of the response message, wherein the second request code is used for identifying the type of the response message; judging whether the field information of the second request code is the same as the preset field information; and if the field information of the second request code is the same as the preset field information, extracting the target IP address and the target equipment identifier in the response message, and storing the target IP address and the target equipment identifier in a preset address form.
In an embodiment, the extracting the target IP address and the target device identifier in the response message and storing the target IP address and the target device identifier in a preset address form includes: extracting the target IP address and the target equipment identification in the response message; retrieving in a preset address form by taking the target equipment identifier as an index; and if a target address record which is the same as the target equipment identifier is retrieved from the preset address form and the IP address recorded in the target address record is different from the target IP address, replacing the IP address in the target address record with the target IP address.
In an embodiment, the extracting the target IP address and the target device identifier in the response message and storing the target IP address and the target device identifier in a preset address form further includes: and if the target address record which is the same as the target equipment identifier is not searched in the preset address form, adding the target IP address and the target equipment identifier in the response message into the preset address form.
In one embodiment, the method further comprises: when an address list refreshing instruction is received, locally searching whether a preset address form exists, wherein the refreshing instruction comprises: network segment address information of the network to be inquired; if a preset address form exists, sequentially extracting the equipment identification of each line in the preset address form in a row unit, and encapsulating the equipment identification and the network segment address information into an updating request; broadcasting the update request in the network to be queried; and if response information returned by the server in the network to be queried according to the updating request is received in a preset time period, updating the preset address form according to the response information, and if not, deleting the current line information in the preset address form.
In an embodiment, after the updating the preset address form according to the response information, the method further includes: and broadcasting the updated preset address form in the network to be inquired.
In an embodiment, the query instruction includes a message sending rate; the broadcasting the request message in the network to be queried includes: and broadcasting the request message in the network to be inquired according to the message sending rate.
A second aspect of the embodiments of the present application provides a data query method, including: receiving an IP address request message from a terminal, wherein the request message comprises: a network segment address of a network to be queried, a preset first request code and a physical address of the terminal, wherein the first request code is used for identifying the type of the request message; analyzing the request message to obtain a network segment address of the network to be queried and a first request code preset by the terminal; verifying the legality of the packaging format of the request message according to the network segment address and the first request code; if the request message is in a preset packaging format, generating a response message according to the request message, wherein the response message comprises: the IP address of the requested target server, a preset second request code and the physical address of the terminal; the second request code is used for identifying the type of the response message; and returning the response message to the terminal.
In an embodiment, the request message further includes: a device identification of the target server; the generating of the response message according to the request message further comprises: extracting the equipment identification of the target server in the request message; judging whether the equipment identifier of the target server is the same as the current equipment identifier of the current execution server; and if the equipment identifier of the target server is the same as the current equipment identifier, filling the current equipment identifier in a field behind the second request code, encapsulating the IP address of the current execution server, the second request code after filling the field and the physical address of the terminal, and generating the response message.
In an embodiment, before analyzing the request packet to obtain the network segment address of the network to be queried and the first request code preset by the terminal, the method further includes: reading a preset count value of a counter every other first time period, wherein the counter is used for recording the number of received invalid messages; when the request message is received, judging whether the number of the invalid messages currently recorded by the counter reaches a preset threshold value; if the number of the invalid messages reaches the preset threshold value, triggering the step of analyzing the request messages; and if the number of the invalid messages does not reach the preset threshold value, driving the counter to record the number of the invalid messages plus 1.
In one embodiment, the method further comprises: and clearing the counter every second time period, wherein the second time period is greater than the first time period.
A third aspect of the embodiments of the present application provides a data query apparatus, including: a first receiving module, configured to receive a query instruction input by a user, where the query instruction at least includes: network segment address of the network to be inquired; a first generating module, configured to generate, according to the query instruction, an IP address request packet for the network to be queried, where the request packet includes: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal; the first request code is used for identifying the type of the request message; a broadcast module, configured to broadcast the request packet in the network to be queried; the second receiving module is used for receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address; and the first analysis module is used for analyzing the response message and acquiring a returned target IP address and a target equipment identifier.
In an embodiment, the query condition further includes a device identifier of the target server; the generation module is further to: and filling the device identifier of the target server in a field after the first request code, encapsulating the network segment address, the physical address of the current terminal and the first request code after filling the field, and generating the request message.
In one embodiment, the first parsing module is configured to: extracting a second request code of the response message, wherein the second request code is used for identifying the type of the response message; judging whether the field information of the second request code is the same as the preset field information; and if the field information of the second request code is the same as the preset field information, extracting the target IP address and the target equipment identifier in the response message, and storing the target IP address and the target equipment identifier in a preset address form.
In an embodiment, the extracting the target IP address and the target device identifier in the response message and storing the target IP address and the target device identifier in a preset address form includes: extracting the target IP address and the target equipment identification in the response message; retrieving in a preset address form by taking the target equipment identifier as an index; and if a target address record which is the same as the target equipment identifier is retrieved from the preset address form and the IP address recorded in the target address record is different from the target IP address, replacing the IP address in the target address record with the target IP address.
In an embodiment, the extracting the target IP address and the target device identifier in the response message and storing the target IP address and the target device identifier in a preset address form further includes: and if the target address record which is the same as the target equipment identifier is not searched in the preset address form, adding the target IP address and the target equipment identifier in the response message into the preset address form.
In one embodiment, the method further comprises: the searching module is used for locally searching whether a preset address form exists or not when receiving an address list refreshing instruction, wherein the refreshing instruction comprises: network segment address information of the network to be inquired; the encapsulation module is used for sequentially extracting the equipment identifier of each line in the preset address form in a row unit if the preset address form exists, and encapsulating the equipment identifier and the network segment address information into an updating request; the broadcast module is further configured to broadcast the update request in the network to be queried; and the updating module is used for updating the preset address form according to response information if the response information returned by the server in the network to be queried according to the updating request is received within a preset time period, and otherwise, deleting the current line information in the preset address form.
In one embodiment, the broadcast module is further configured to: and after the preset address form is updated according to the response information, broadcasting the updated preset address form in the network to be inquired.
In an embodiment, the query instruction includes a message sending rate; the broadcast module is further configured to: and broadcasting the request message in the network to be inquired according to the message sending rate.
A fourth aspect of the embodiments of the present application provides a data query apparatus, including: a third receiving module, configured to receive an IP address request packet from a terminal, where the request packet includes: a network segment address of a network to be queried, a preset first request code and a physical address of the terminal, wherein the first request code is used for identifying the type of the request message; the second analysis module is used for analyzing the request message to obtain the network segment address of the network to be inquired and a first request code preset by the terminal; the verification module is used for verifying the legality of the packaging format of the request message according to the network segment address and the first request code; a second generating module, configured to generate a response packet according to the request packet if the request packet is in the predetermined encapsulation format, where the response packet includes: the IP address of the requested target server, a preset second request code and the physical address of the terminal; the second request code is used for identifying the type of the response message; and the return module is used for returning the response message to the terminal.
In an embodiment, the request message further includes: a device identification of the target server; the second generation module is further to: extracting the equipment identification of the target server in the request message; judging whether the equipment identifier of the target server is the same as the current equipment identifier of the current execution server; and if the equipment identifier of the target server is the same as the current equipment identifier, filling the current equipment identifier in a field behind the second request code, encapsulating the IP address of the current execution server, the second request code after filling the field and the physical address of the terminal, and generating the response message.
In one embodiment, the method further comprises: a reading module, configured to read a preset count value of a counter at intervals of a first time period before the request packet is analyzed to obtain the network segment address of the network to be queried and a first request code preset by the terminal, where the counter is used to record the number of received invalid packets; the judging module is used for judging whether the number of the invalid messages currently recorded by the counter reaches a preset threshold value or not when the request message is received; the triggering module is used for triggering the step of analyzing the request message if the number of the invalid messages reaches the preset threshold value; and the driving module is used for driving the counter to record the number of the invalid messages plus 1 if the number of the invalid messages does not reach the preset threshold value.
In one embodiment, the method further comprises: and the zero clearing module is used for clearing the counter every second time period, wherein the second time period is greater than the first time period.
A fifth aspect of an embodiment of the present application provides an electronic device, including: a memory to store a computer program; a processor configured to execute the method of the first aspect and any embodiment thereof in the embodiments of the present application to query an IP address of a server in a network.
A sixth aspect of an embodiment of the present application provides a server, including: a memory to store a computer program; the processor is configured to execute the method of the second aspect of the embodiment of the present application and any embodiment thereof to return its own IP address to the requesting terminal.
A seventh aspect of embodiments of the present application provides a non-transitory electronic device readable storage device, including: a program which, when run by an electronic device, causes the electronic device to perform the method of the first aspect of an embodiment of the present application and any embodiment thereof.
An eighth aspect of embodiments of the present application provides a non-transitory electronic device readable storage device, including: a program which, when run by a server, causes the server to perform the method of the second aspect of an embodiment of the present application and any embodiment thereof.
A ninth aspect of the embodiments of the present application provides a gateway device, including: the communication module is respectively connected with the electronic device of the fifth aspect of the present application and the server of the sixth aspect of the present application, and is configured to transmit information between the electronic device and the server. According to the data query method, the electronic equipment, the server, the storage equipment and the gateway equipment, a user inputs a query instruction at least containing a network segment address of a network to be queried, then an IP address request message aiming at the network to be queried is generated according to the query instruction, and the request message is broadcasted in the network to be queried; receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address; and finally, analyzing the response message to obtain a returned target IP address and a target equipment identifier. Therefore, the information such as the IP address of the server in the appointed local area network can be remotely acquired under the conditions of not entering a machine room, connecting peripheral equipment and restarting equipment.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1A is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 1B is a schematic structural diagram of a server according to an embodiment of the present application;
fig. 2 is a schematic diagram illustrating a scenario of querying an IP address according to an embodiment of the present application;
FIG. 3A is a schematic flow chart illustrating a data query method according to an embodiment of the present application;
fig. 3B is a schematic diagram of an interface operable by the Client terminal to the user according to an embodiment of the present application;
FIG. 3C is a schematic diagram of a comparison of a normal gratuitous ARP (left) and an extended gratuitous ARP (right) according to an embodiment of the present application;
FIG. 4 is a flowchart illustrating a data query method according to an embodiment of the present application;
FIG. 5 is a flowchart illustrating a data query method according to an embodiment of the present application;
FIG. 6 is a flowchart illustrating a data query method according to an embodiment of the present application;
fig. 7A to 7F are schematic diagrams illustrating an example of the data query method according to an embodiment of the present application;
FIG. 8 is a schematic structural diagram of a data query device according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a data query device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. In the description of the present application, the terms "first," "second," and the like are used solely to distinguish one from another and are not to be construed as indicating or implying relative importance.
For further clarity of description of the technical solutions of the present application, the terms referred to are now explained as follows:
bmc (baseboard Management controller): the baseboard management controller is also one of the core components of the server. The BMC module is mainly responsible for monitoring and managing servers, such as hardware state management and operating system management of the servers, and recording information and log records of various hardware, and is used for prompting users and problem location.
The BMC is an independent, small operating system with a single IP, and typically runs on an independent control chip on the server motherboard. The BMC does not rely on other hardware (such as CPU, memory, etc.) on the server, nor on components such as BIOS, operating system, etc. The BMC may interact with other components such as BIOS, OS for management through different hardware interfaces such as LPC, I2C, SMBUS, Serial.
Typically, the BMC is external to the server and is represented by a standard RJ45 port and a serial interface.
A management port: namely, the RJ45 network port of the BMC external displayed on the outside of the server. As long as the management network port is configured with an IP address and is accessed into an office network through a network cable, an office computer can open a server management page in a mode of accessing the IP address of the management port through a browser to carry out remote management.
Serial Interface (Serial Interface): the expansion interface using the serial communication system is generally in the form of DB9, RJ45, or the like.
When the server can not be remotely connected through the management port, the PC can be connected with the serial port of the server through serial port login software and a serial port cable, and a server BMC module is logged in to perform fault positioning.
IPMI (Intelligent Platform Management Interface), which is a standard protocol used for server Management and is commonly used in the industry. The physical state of the server, such as acquiring temperature, voltage, fan operating state, power state, etc., may be monitored by the IPMI protocol. Meanwhile, the IPMI is also responsible for recording information and log records of various hardware, and is used for prompting a user and positioning subsequent problems. Interaction between the BMC and other server components, such as BIOS and OS, is accomplished via IPMI protocol.
Mac (media Access Control address): translates to a media access control Address, commonly referred to as a Physical Address or network card Address, which functions as a unique network identification (like an identification card ID) for each device in the network.
The MAC address is 48 bits in length and is typically represented by 12 16-ary numbers, such as: 08:00:20:0A:8C: 6D or 0800-200A-8C 6D.
SN (Serial number): the serial number, which is the product number given to the manufactured product by the company/equipment manufacturer, serves as the unique identifier for that product.
Arp (address Resolution protocol): the address resolution protocol is an ethernet protocol for acquiring a physical address of a device having an IP address from the IP address. The basic flow is that the device will send an ARP request containing the target IP address, which is broadcast to all other network devices on the local network. The network device using the target IP address will send out an ARP reply to the requesting device and tell its own physical address after receiving the message.
Gratuitous arp (gratutous arp): the gratuitous ARP packet is a special ARP request which is actively sent by the equipment and can send the ARP request of the IP address which is being used by the equipment.
The free ARP is mainly used as follows: 1. and detecting whether network equipment conflicting with the IP of the network exists in the network. 2. And informing other equipment in the network to update the ARP cache.
As shown in fig. 1A, the present embodiment provides an electronic apparatus 1 including: at least one processor 11 and a memory 12, one processor being exemplified in fig. 1A. The processor 11 and the memory 12 are connected by a bus 10. The memory 12 stores instructions executable by the processor 11, and the instructions are executed by the processor 11, so that the electronic device 1 may execute all or part of the flow of the method in the embodiments described below, so as to query the IP address of the server in the network.
In an embodiment, the electronic device 1 may be a mobile phone, a tablet computer, a notebook computer, a desktop computer, or the like.
As shown in fig. 1B, the present embodiment provides a server 2 including: at least one processor 21 and a memory 22, one processor being exemplified in fig. 1B. The processor 21 and the memory 22 are connected by a bus 20. The memory 22 stores instructions executable by the processor 21, the instructions being executable by the processor 21 to cause the server 2 to perform all or part of the flow of the method in the embodiments described below to return its own IP address to the requesting terminal.
In an embodiment, the server 2 may be a mobile phone, a tablet computer, a notebook computer, a desktop computer, or a large server system composed of multiple computers.
Please refer to fig. 2, which is a schematic diagram of a data query scenario according to an embodiment of the present application, taking a Client/Server (Client/Server) architecture and an example of obtaining an IP in a request/response message sending interaction manner, and taking a BMC module of a Server located in a local area network room as a Server side (hereinafter, referred to as Server, Server side). And a computer which runs operation and maintenance software at other positions such as an office area in the local area network is used as a Client terminal (hereinafter referred to as Client and Client side).
The client may be implemented by the electronic device 1 shown in fig. 1A, and there may be a plurality of clients. The server may be implemented by the server 2 shown in fig. 1B, and there may be a plurality of servers. Data communication between the client and the server can be carried out through the gateway device. The gateway device may be a communication device such as a switch or router. And the communication module of the gateway equipment is respectively connected with the client and the server and is used for transmitting information between the electronic equipment and the server.
For example, Host a, Host B, and Host C are all common office computers, and serve as clients. Server A, Server B, Server C are all servers. Suppose that a new office worker uses Host C to access the local 192.168.2.0 network, ready to remotely access the Server B Server, but finds that office colleagues have no one remembered the Server B address. At this time, the available IP addresses in the local area network can be automatically queried in the following embodiment of the present application.
Please refer to fig. 3A, which is a data query method according to an embodiment of the present application, and the method may be executed by the electronic device 1 shown in fig. 1A as a client, and may be applied in the data query scenario shown in fig. 2 to query an IP address of a server in a network. The method comprises the following steps:
step 301: receiving a query instruction input by a user, wherein the query instruction at least comprises: and the network segment address of the network to be inquired.
In this step, a query instruction input by a user may be received through an interactive interface, where the network to be queried may be a local area network as shown in fig. 2, and the query instruction at least includes a network segment address of the local area network, so as to locate a range to be queried.
In one embodiment, as shown in fig. 3B, the Client may provide an operable interface to the user through the operation and maintenance software, to provide device locking, sending rate, function buttons, and the like.
The target equipment is locked through two items of information of an SN number and a network address column, wherein the SN information is used for judging whether the message needs to be processed by the equipment in the message interaction process.
In an embodiment, if the client remembers the SN number of the server that needs to log in, the SN and the lan segment address of the target device are respectively filled in at the SN number and the network address.
In one embodiment, the client does not remember the SN number of the server, but only fills in the network segment address in the "network address" column.
In one embodiment, the query command includes a message sending rate. As shown in fig. 3B, two message sending methods are built in the "sending rate" position, and the message can be sent according to different sending settings.
For example, if the "PPS" transmission mode is selected, the extended packet is continuously transmitted according to the input rate (PPS) after the "transmission" button is clicked. If input 6, the request message is sent at the rate of 6 messages per second until the stop button is clicked and the sending is terminated. The value range is 4-8, and prompt is given when the value exceeds the range.
The "seconds" transmission mode is selected, and after clicking the "send" button, the request message is sent at a fixed rate (3 PPS) for a set duration, e.g., 40 seconds is set by default and the transmission is stopped when time out. The value range is 10-50, and the exceeding can be prompted.
Step 302: according to the query instruction, generating an IP address request message aiming at a network to be queried, wherein the request message comprises: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal. The first request code is used for identifying the type of the request message.
In an embodiment, the query condition further includes a device identifier of the target server. Step 302 may also include: and filling the device identifier of the target server in a field behind the first request code, encapsulating the network segment address, the physical address of the current terminal and the first request code filled in the field, and generating a request message.
In this step, the free ARP message may be used to perform extended encapsulation based on the free ARP message, so as to carry the request message.
The free ARP is selected for expansion and encapsulation, and the following characteristics of the message are mainly utilized:
1. the message is sent out in a broadcast mode, and all equipment under the local area network can receive the message.
2. Under normal conditions, the processing mechanism of other network devices receiving the free ARP message is that the ARP cache of the other network devices is updated without replying the message. The expanded and packaged free ARP message does not need to be replied and the ARP cache does not need to be updated. Therefore, the scheme can not increase extra burden on equipment overhead and can not have extra influence on a local area network.
3. The free ARP message is short, and has enough long space for expansion and encapsulation. In order to meet the requirement of the minimum message length of 64 bytes, a plurality of 00 are filled in the tail bytes of the original message. Therefore, the message structure does not need to be adjusted in a large scale, and the software code only needs to add a message analysis mechanism aiming at the 'extended encapsulation' part.
As shown in fig. 3C, which is a schematic diagram illustrating a comparison between a normal gratuitous ARP (left side) and an extended gratuitous ARP (right side), the IP address request packet of this embodiment may be formed in an extended gratuitous ARP form after being extended and encapsulated on a normal gratuitous ARP packet.
An example of a common gratuitous ARP is as follows:
Figure 122487DEST_PATH_IMAGE001
the extended gratuitous ARP structure mainly includes: an original message layer and an extension layer, wherein:
the original message layer is from the ordinary free ARP structure, mainly include: hardware type, protocol type, hardware length, protocol length, operation code, source hardware address, source IP address, destination hardware address, destination IP address.
1. When used as a request message, the original message layer of the extended gratuitous ARP has the following characteristics:
the source IP address field and the destination IP address field are processed by special filling: i.e., the source IP address field and the destination IP address field are both filled with network segment addresses of the local area network (to-be-queried network) where the server device is located, such as 192.168.1.255, 10.0.255.255, etc. The method has the main function of distinguishing the ARP cache from the ordinary gratuitous ARP, and avoids updating the ARP cache by devices which do not support the scheme (such as switches, routers, printers, other servers and the like of the same network). Other fields may be consistent with ordinary gratuitous ARP fill content.
After receiving the extended request message, the device which does not support the scheme can judge that the message is illegal through the field, and directly discards the message without processing.
2. When used as a request message, the extension layer mainly includes: the request code and the SN of the requested target server BMC 6 bits later. Compared with the common free ARP message, the extended request message can be added with 4 bytes of length as an extension layer behind the message, and the extended request message is designed to be divided into two fields:
the first request code: the length of the first request code is 1 byte, and the first request code has three values of FE, FF and 2E.
SN padding field: occupying 3 bytes for padding the 6-bit number behind the device SN.
And the two fields are respectively used for identifying whether the Client and the server are the secondary encapsulated extended messages or not and determining a subsequent specific processing mechanism.
In one embodiment, the request message uses the first request code (FE, FF) + SN, and the meaning is as follows:
FE: the first request code is used for a scenario that the SN number of the requested target server is known, and whether the device needs to retrieve the IP can be determined by the SN number. The user fills 6 bits after the device SN in the operation and maintenance tool, the first request code of the extension message sent by the Client is the FE, and the SN field is the content filled by the user.
When the Server receives the extended message with the first request code as FE, the SN filling field content of 3 bytes behind the first request code is extracted and compared with the last 6 bits of SN in the BMC configuration file. Only the Server with the matched comparison result needs to send the response message, otherwise, the response message is not sent.
FF: the first request code is used for a scene that SN of a target server is forgotten, a user only fills in a network segment address in an operation and maintenance tool, the first request code of the secondary encapsulation message sent by the Client is FF, and an SN field is filled with 00 of 3 bytes.
All the servers which receive the FF extended message as the first request code directly send back the response message.
Of course, the above extended encapsulation manner is only an example, and the adopted encapsulation parameters such as the content and the number of the added fields can be adaptively modified based on the actual scene.
Step 303: and broadcasting the request message in the network to be queried.
In this step, the request message may be a broadcast message, and when the terminal has no broadcast function, the request message may be sent out in a broadcast form through the gateway device, and when the terminal has a message broadcast function, the request message may also be broadcast out by the terminal itself, so as to ensure that all server devices in the lan can receive the request message. For example, the request packet may be the packet based on the gratuitous ARP in step 302, the gratuitous ARP packet is a broadcast packet, the broadcast is for the network forwarding device, and the network forwarding device will broadcast the request packet as long as the terminal ensures that the transmitted packet is the broadcast packet, and each device can receive the broadcast packet.
In one embodiment, the query command includes a message sending rate. In the network to be queried, the broadcast request message includes: and broadcasting the request message in the network to be inquired according to the message sending rate.
Step 304: and receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address.
In this step, after the request message is broadcast, a response message returned by the server in the local area network is waited to be received.
Step 305: and analyzing the response message to obtain a returned target IP address and a target equipment identifier.
According to the data query method, the client generates a request message according to the query instruction, broadcasts the request message in the local area network, receives a response message returned by the server in the local area network, and can obtain the target IP address and the target equipment identification required by the user by analyzing the response message. In an actual scenario, because the request message is for the entire network to be queried, all devices supporting the scheme reply to the response message, and finally collect a list of the IP and the SN, which is a target server that is desired to be retrieved, and can be determined by the client based on the list.
Please refer to fig. 4, which is a data query method according to an embodiment of the present application, and the method may be executed by the electronic device 1 shown in fig. 1A as a client, and may be applied in the data query scenario shown in fig. 2 to query an IP address of a server in a network. The method comprises the following steps:
step 401: receiving a query instruction input by a user, wherein the query instruction at least comprises: and the network segment address of the network to be inquired. See the description of step 301 in the above embodiments for details.
Step 402: according to the query instruction, generating an IP address request message aiming at a network to be queried, wherein the request message comprises: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal. The first request code is used for identifying the type of the request message. See the description of step 302 in the above embodiments for details.
Step 403: and broadcasting the request message in the network to be queried. See the description of step 303 in the above embodiments for details.
Step 404: and receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address. See the description of step 304 in the above embodiments for details.
Step 405: and extracting a second request code of the response message, wherein the second request code is used for identifying the type of the response message.
In this step, the Client analyzes the free ARP packet according to the extended packet protocol standard within the time of starting the operation and maintenance tool, as follows:
and (I) analyzing the extended message according to the gratuitous ARP protocol standard by using the first 42 bytes. If the analysis has errors, the message is directly discarded without processing.
And (II) if the analysis in the step (I) is passed, extracting a 43 th byte (namely, a second request code position) second request code of the message according to an extended message packaging standard, wherein the second request code is used for identifying the type of the response message, such as identifying whether the response message is an extended message with a preset format.
Step 406: and judging whether the field information of the second request code is the same as the preset field information. If yes, go to step 407, otherwise, do nothing, and end.
In this step, the second request code is used to identify the type of the response message, for example, to identify whether the response message is an extended message with a predetermined format, if the second request code field is 00, it indicates that the response message is a normal free ARP message, the ARP cache is directly updated after the protocol stack of the terminal itself is analyzed, and the operation and maintenance software does not perform any special processing. If the second request code field is 2E, it indicates that the received response message is an extension message, and step 407 is entered. If the second request code field has other values, the Client-side operation and maintenance software can directly discard the response message.
Step 407: and extracting the target IP address and the target equipment identification in the response message, and storing the target IP address and the target equipment identification in a preset address form.
In this step, assuming that the preset field is 2E, if the second request code field is the preset field 2E, it indicates that the received response message is an extended message, and the Client can extract the source IP address field of the ARP layer and the SN field information of the extended layer, and store the extracted information in the excel document of the preset address form in the tool directory.
In an embodiment, step 407 may specifically include: and extracting the target IP address and the target equipment identification in the response message. And taking the target equipment identification as an index and retrieving in a preset address form. And if a target address record which is the same as the target equipment identification is searched in the preset address form and the IP address recorded in the target address record is different from the target IP address, replacing the IP address in the target address record with the target IP address. And if the target address record which is the same as the target equipment identifier is not searched in the preset address form, adding the target IP address and the target equipment identifier in the response message into the preset address form.
In this step, if the response message is determined to be an extended message, the SN information (device identifier) of the target server is extracted from the response message, and is used as an index to search in the "SN number" column in an excel file (preset address form) named "IPaddress" in the software directory:
firstly, if the same index number is searched in the preset address form, comparing the 'Target IP' field information in the response message with the 'IP' information of the same line with the same index number. And if the IP addresses are inconsistent, updating the IP addresses in the preset address form, otherwise, not performing any processing.
Secondly, if the same index number cannot be retrieved from the preset address form, adding SN and IP address information in the response message into an excel file, wherein the recording form can be as the following table 1:
table 1.
Figure 455380DEST_PATH_IMAGE002
In an embodiment, a background update mechanism may be further configured to intelligently maintain the discovered device IP form. After the client collects the IP addresses of some devices, no matter the DHCP lease expires or the DHCP lease is manually changed by the machine room manager, the client cannot log in the devices again, and then the user can manually input the "network segment address" and click the "refresh form" button of the interactive interface shown in fig. 3B, so as to conveniently update the IP addresses in the "IPaddress" form. The above method may therefore further comprise:
step 408: when an address list refreshing instruction is received, whether a preset address form exists is locally searched, wherein the refreshing instruction comprises the following steps: and network segment address information of the network to be queried.
In this step, the user can input the network segment address of the network to be queried on the software operation interface, and then click the 'refresh form' button, the Client receives the form refresh command, and the Client can start a background task: and judging whether an excel file named 'IPAddress' exists in the directory, and if not, prompting that 'no IP form record exists locally'. If the file exists in the directory, step 409 is entered.
Step 409: if the preset address form exists, sequentially extracting the equipment identification of each line in the preset address form by using a line unit, and encapsulating the equipment identification and the network segment address information into an updating request.
In this step, if there is a preset address form, the "SN number" of each row is extracted in row units, and the "SN number" and the network segment address input by the user are subjected to extended encapsulation (the method and format of the update request encapsulation may be the same as the encapsulation format of the IP address request packet). The preset address form may be accumulated by searching for the SN at one time, may be copied from another storage device, or may be a form found when the user cannot remember the SN of the target device.
Step 410: an update request is broadcast in the network to be queried.
In this step, the message sending rate of the update request may also be preset, for example, the update request may be sent continuously at a rate of 3PPS per second for 20 seconds.
Step 411: and updating the preset address form according to the response information, otherwise, deleting the current line information in the preset address form.
In this step, if the response information returned by the server in the network to be queried according to the update request is received within the preset time period, the SN in the message is compared with the information in the "Serial number" column of the local line, and if the SN in the message is consistent with the information in the "Serial number" column of the local line, the update request is immediately stopped being sent. And simultaneously, extracting the IP information in the received response message and updating the IP information to the IP column of the row in the file. And if the SN information in the response message is not consistent with the excel record, not processing the message. The preset time period may be, for example, 20 seconds.
If no response extension message is received within 20 seconds, it indicates that the server device corresponding to the row of recorded information may be invalid, and the row of information may be deleted.
After the information of the current line is updated, the same operation is started to be carried out on the next line until the end of the form. During the background updating task, the user can be prompted that the IP form is being updated, and other operations cannot be performed. And recovering to normal after finishing updating all the forms.
In an embodiment, to facilitate information sharing of the IP address form, the method may further include:
step 412: and after updating the preset address form according to the response information, broadcasting the updated preset address form in the network to be queried. So that other clients in the same lan can use the preset address form. The sharing of the preset address form is realized, and other clients can download in various modes such as FTP/HTTP and the like.
The data query method expands and encapsulates the free ARP message in a Client/Server remote request/response mode, and provides an efficient and convenient method for retrieving the equipment management IP through a special processing mechanism of the Client/Server on the expanded message. Therefore, the IP address of the BMC management port of the server can be remotely obtained under the conditions of not entering a machine room, connecting peripheral equipment and restarting equipment, and the objective requirement under a high-security environment can be met.
Please refer to fig. 5, which is a data query method according to an embodiment of the present application, and the method may be executed by the server 2 shown in fig. 1B as a server room, and may be applied in the data query scenario shown in fig. 2 to return its own IP address to the requesting terminal. The method comprises the following steps:
step 501: receiving an IP address request message from a terminal, wherein the request message comprises: the network segment address of the network to be queried, a preset first request code and a physical address of the terminal, wherein the first request code is used for identifying the type of the request message.
In this step, for details of the request message, reference may be made to the description in the embodiments shown in fig. 3A to fig. 4.
Step 502: and analyzing the request message to obtain the network segment address of the network to be inquired and a first request code preset by the terminal.
In this step, the request packet may be parsed using a predetermined extended packet encapsulation format:
and (I) analyzing the front 42 bytes of the expanded request message according to a free ARP protocol standard, and identifying that a source IP address field and a destination IP address field of an ARP layer are network segment addresses.
And secondly, continuing to analyze the message and extracting the first request code (42 bytes of the offset Ethernet header 14 and the ARP header 28).
Step 503: and verifying the legality of the packaging format of the request message according to the network segment address and the first request code.
In this step, the first request code is identified, and whether the first request code is FF or FE is determined. And if the first request code is FF or FE, carrying out the next processing, otherwise, discarding the message. And then matching the extended request message encapsulation format. When the two conditions of 'ARP layer source/destination IP is network segment address' and 'first request code' both meet the preset encapsulation format, the Server judges that the request message is an extended protocol message, is legal, and needs to perform subsequent operation according to the extended protocol definition field.
Step 504: if the request message is in a preset packaging format, generating a response message according to the request message, wherein the response message comprises: the IP address of the requested target server, a preset second request code and the physical address of the terminal. The second request code is used for identifying the type of the response message.
In this step, the encapsulation format of the response packet may be the same as the format of the request packet, and in the response packet, the "first request code" field is referred to as a "second request code", and the specific packet encapsulation method may refer to the description of the request packet encapsulation in the above embodiment.
Step 505: and returning the response message to the terminal.
Please refer to fig. 6, which is a data query method according to an embodiment of the present application, and the method may be executed by the server 2 shown in fig. 1B as a server, and may be applied in the data query scenario shown in fig. 2 to return its own IP address to the requesting terminal. The method comprises the following steps:
step 601: and reading a preset count value of a counter every a first time period, wherein the counter is used for recording the number of the received invalid messages. Here, the number of invalid packets may be the number of invalid gratuitous ARP packets.
In an embodiment, the counter is cleared every second time period, wherein the second time period is greater than the first time period.
In this step, the first period of time may be 15 seconds, and the second period of time may be 60 seconds. The Server side realizes the activation and the closing of the remote recovery IP function through the following internal counter maintenance and timing reading/clearing mechanism:
1. message counter maintenance mechanism
Under general conditions, the Server end does not start the function of analyzing the extended message. Therefore, the Server will not process the extended message after receiving the extended message, and will regard the extended and encapsulated free ARP message as the 'wrong free ARP', i.e. the invalid message.
The inside of the Server software maintains a counter, and when an 'error free ARP' message is analyzed, the counter is increased by one.
Every 60 seconds, the Server will clear the counter and start counting from zero again.
2. Timing read counter mechanism
The Server side reads the counter value every 15 seconds.
Step 602: receiving an IP address request message from a terminal, wherein the request message comprises: the network segment address of the network to be queried, a preset first request code and a physical address of the terminal, wherein the first request code is used for identifying the type of the request message. See the description of step 501 in the above embodiments for details.
Step 603: and judging whether the number of invalid messages currently recorded by the counter reaches a preset threshold value. If yes, go to step 604, otherwise, go to step 605.
In this step, the preset threshold may be set based on actual conditions, for example, may be 15, and if the current count value > =15, the process proceeds to step 604. Otherwise step 605 is entered.
Step 604: and if the number of the invalid messages reaches a preset threshold value, triggering the step of analyzing the request messages. Step 606 is entered.
In this step, assuming that the current count value > =15, the function of analyzing the extended packet is activated, and the triggering software further analyzes the extended and packaged free ARP packet.
Step 605: and if the number of the invalid messages does not reach the preset threshold value, the driving counter records the number of the invalid messages and adds 1. And returns to step 601.
In an embodiment, assuming that the current count value is less than 15, the server determines whether the function of parsing the extended encapsulation packet is turned on, and turns off the function if the function is turned on. If not, no treatment is carried out.
The Server end starts to send/stop the message by matching with the Client through the mechanism, and the following operations can be realized:
when the Client starts to send the extended message, the Server can be remotely triggered to automatically turn on the function switch by matching with a 'timing reading counter' mechanism.
And secondly, after the Client stops sending the message, the Client triggers to automatically close the function switch by matching with a 'timer clear counter' mechanism in the next period of 'counter reading' task, so that the function is prevented from being opened for a long time.
Step 606: and analyzing the request message to obtain the network segment address of the network to be inquired and a first request code preset by the terminal. See the description of step 502 in the above embodiments for details.
Step 607: and verifying the legality of the packaging format of the request message according to the network segment address and the first request code. See the description of step 503 in the above embodiments for details.
Step 608: and extracting the equipment identification of the target server in the request message.
In this step, if the request message further includes: the device identification of the target server. The client specifies the requested target server, and then extracts the device identification of the target server in the request message.
Step 609: and judging whether the equipment identifier of the target server is the same as the current equipment identifier of the current execution server. If yes, go to step 610, otherwise, end.
Step 610: and filling the current equipment identifier in a field behind the second request code, encapsulating the IP address of the current execution server, the second request code filled in the field and the physical address of the terminal, and generating a response message.
In this step, if the device identifier of the target server is the same as the current device identifier, which indicates that the current execution server is the target server designated by the client, the IP address of the current execution server, the second request code after field filling, and the physical address of the terminal are encapsulated to generate a response message. The packaging format of the response message can be the same as that of the request message, and the response message can be expanded and packaged on a common free ARP message to form an expanded free ARP form.
Similar to the request message, the extended gratuitous ARP structure used as a response message mainly includes: an original message layer and an extension layer, wherein:
the original message layer mainly comprises: hardware type, protocol type, hardware length, protocol length, operation code, source hardware address, source IP address, destination hardware address, destination IP address
1. When used as a response message, the original message layer of the extended gratuitous ARP has the following characteristics:
and both the source IP address field and the target IP address field are filled with the IP address of the BMC management port of the current execution Server equipment and used as a carrier space for filling the BMC IP address of the Server side. The Client extracts the IP address of the Server from the field and records the IP address into a related excel file. Other fields may be consistent with ordinary gratuitous ARP fill content.
2. The response message extension layer mainly comprises: the second request code and the SN of the requested target server BMC 6 bits later. The response message uses the second request code (2E) + SN, meaning as follows:
2E: when the Server needs to send a response message, filling each field according to the extended free ARP message encapsulation format. The destination MAC of the response message is no longer the broadcast address but the source MAC address of the received request message. When the Client receives the extended message of which the request code is 2E, the information in the SN and the destination IP address field is extracted and stored in the excel file. If the request codes are not matched, no processing is carried out;
step 611: and returning the response message to the terminal.
Please refer to fig. 7A to 7F, which are data query methods according to an embodiment of the present application, and the method takes the scenario in fig. 2 as an example, and by using an operation example of an interaction scenario, a process that needs to retrieve an IP can be accurately locked under the condition of a known device SN.
Host A and B, C are both common office computers, and Server A and B, C are both servers supporting the scheme. The new office worker uses Host C to access the local 192.168.2.0 network to prepare for remote access to the Server B Server, but finds that the office colleagues have not remembered the Server B address. The following operations may be performed:
step one, a client finds out an SN number of a Server B through supporting materials, opens an operation and maintenance tool on a Host C, and fills the following information on an operation interface:
network address input box, fill 192.168.2.255.
(II) SN number input box, 6 bits after filling the SN number of the device: 021151.
and (III) selecting to send the message in a mode of continuously sending for 40 seconds.
And clicking the corresponding button, and broadcasting the extended gratuitous ARP message (namely the request message) by the Host C for 40 seconds at the rate of 3 extended gratuitous ARP messages (namely the request message) per second, and stopping sending the message after the timeout. As shown in detail in fig. 7A, the request message content is as follows:
and (3) source MAC: 0042-E281-2CD7
And destination MAC: FFFF-FFFF
The type of the data packet: 0806 (ARP)
And (3) source MAC: 0042-E281-2CD7
And (3) source IP: 192.168.2.255
And destination MAC: FFFF-FFFF
Destination IP: 192.168.2.255
Request code: FE
SN No.: 021151.
and step two, because of the attribute (broadcast message) of the free ARP message, all the equipment in the network can receive and analyze the expanded request message.
Step three, after receiving the request message (such as various PCs, switches, etc., here, Host a/B is taken as an example), the network device that does not support the present solution parses the extended request message according to the gratuitous ARP protocol standard as follows:
and (I) according to the Ethernet header protocol standard, analyzing the first 14 bytes of the extended request message. Because the extension request message has not been modified and the analysis is passed. And the value is analyzed to be 0806 through the Ethernet header type field, which indicates that the next layer under the load is an ARP message.
And (II) when 15 th to 28 th bytes are analyzed according to the ARP protocol specification standard, the source/destination IP field is found to be the network segment address 192.168.2.255, the request message is directly discarded after the illegal message is judged, and no processing is performed.
And (III) processing the subsequent messages.
Step four, after receiving the request message (here, taking Server a/B/C as an example, as shown in fig. 7B), the device supporting the solution performs processing:
the function switch of the scheme at the Server end is in a closing state by default.
And (II) the Server reads the 'wrong free ARP message' counter once every 15 seconds and judges whether to activate the function of analyzing the extended request message or not according to the counting.
And (III) when the Client just starts to send the extended request message, if the Server reads the counter at the moment, judging that the count still does not meet the activation condition, and analyzing the extended request message according to the free ARP protocol standard.
The specific analysis process is described in the above step three, and is not described herein again. Whenever a false gratuitous ARP message (invalid message) is determined, a counter inside the software increments the count.
And (V) according to the rate (3 PPS) of the continuous message sending of the Client, the counter can meet the judgment condition in a very short time (several seconds).
And (VI) when the Server reads the counter again for counting in the next period (interval of 15 seconds), judging that the function activation condition is met, and opening the analysis extended message switch.
Step five, as shown in fig. 7C, after the device supporting the present solution turns on the function switch, it starts to use the extended packet encapsulation format to parse the request packet as follows:
and (I) analyzing the first 42 bytes of the extended request message according to the free ARP protocol standard, wherein the analyzing step is the same as the step III, and when the source/destination IP field of the ARP layer is judged to be the network segment address 192.168.2.255, the source/destination IP field is not discarded at first.
And (II) continuing to analyze the request message, extracting a request code (42 bytes in total of the offset Ethernet header 14 and the ARP header 28) in the message, and judging whether the message is FF or FE. If the message is FF or FE, the next processing is carried out, otherwise, the message is discarded.
And (III) supposing that the second request code extracted from the request message sent by the Client is FE at the moment, and matching the extended message encapsulation format. When the two conditions of the ARP layer source IP, the target IP as the network segment address and the second request code meet the preset encapsulation format, the Server judges that the request message is an extended protocol message and needs to perform subsequent operation according to the extended protocol definition field.
Step six, as shown in fig. 7D, the device supporting this scheme starts to process the extension request packet:
according to the first request code FE, the Server extracts three byte fields behind the first request code of the extended request message and compares the three byte fields with 6 bits behind the SN recorded in the configuration file of the BMC of the Server.
And (II) supposing that the Server A and the Server C judge that the 6 bits after the SN of the servers are inconsistent with the SN carried by the request message through comparison and do not carry out any processing.
And thirdly, if the Server B is judged to be consistent through SN comparison, the request message is considered to be sent to the Server B, and a response message needs to be sent to the Client.
Step seven, as shown in fig. 7E, the Server B fills the response message according to the extended message format:
the Server end encapsulates the response message according to the format of the extended message, and except for the extended part and the following parts, the other parts are consistent with the gratuitous ARP:
and the value of the Ethernet layer destination MAC field of the response message fills the source MAC address of the request message (namely the MAC address of the Host C), so that only the Host C corresponding to the destination MAC can receive the message.
And filling the BMC port management address into a source/destination IP field of the ARP layer.
Expanding the layer: the second request code fills in 2E, SN fills in 6 bits after its SN. The contents of the response message can be obtained as follows:
and (3) source MAC: 8A41-EFDC-2C19
And destination MAC: 0042-E281-2CD7
The type of the data packet: 0806 (ARP)
And (3) source MAC: 8A41-EFDC-2C19
And (3) source IP: 192.168.2.173
And destination MAC: FFFF-FFFF
Destination IP: 192.168.2.173
Request code: 2E
SN :021151
And (II) each time the extended message is received, the Server sends a response message according to the standard.
Step eight, the Client analyzes the free ARP message according to the standard of the extended message protocol within the starting time of the operation and maintenance tool:
and (I) analyzing the extended message according to the free ARP protocol standard by the first 42 bytes, wherein the analyzing step is the same as the step three. If the error exists, the message is directly discarded without processing.
And (II) if the analysis in the first step is passed, extracting and judging a second request code of the 43 th byte (namely the position of the second request code defined by the scheme) of the message according to the expanded message encapsulation standard to judge:
the field is 00, which indicates that the message is a common free ARP message, the ARP cache is directly updated after the protocol stack of the equipment analyzes, and the operation and maintenance software does not perform any special processing.
The field is 2E, and as shown in fig. 7F, it indicates that the received message is an extended message used in the present solution, and the Client extracts the source IP field of the ARP layer and the SN field information of the extended layer, and stores the extracted information in an excel document in the tool directory.
The field is other values, and the Client end operation and maintenance software directly discards the message.
Step nine, after the Client end operation and maintenance tool stops sending, the user can open and view the equipment BMC management address corresponding to the SN in the excel file in the tool directory.
Step ten, after acquiring the corresponding IP address, the software can be closed (the steps two-eight can be completed basically in millisecond level according to the CPU and the network transmission speed of each device, theoretically, the IP address of the target device can be obtained within 1 second after the Server starts to process the extension message).
Step eleven, after the Client stops sending the extended message, the Server end can not respond to the message.
Step twelve, when the polling period is finished in 60 seconds, the Server clears the counter.
And step thirteen, reading the counter period by the next Server after the counter is cleared, and closing the function if the counting of the counter does not meet the triggering condition.
In an embodiment, if the Client does not remember the SN number of the target device, all the devices capable of responding may also reply to the IP, and the Client proposes an IP "entry" of the network device, and the user may exclude the IP "entry" according to the actual situation and perform verification to find the IP address of the corresponding device. The following were used:
step one, a user only fills in a network segment address in an operation and maintenance tool, selects a sending mode and clicks a sending button. The first request code of the extension message sent by the Client is FF. The meaning of the representation is that the Server can directly reply the IP of the Server without comparing SN.
And step two, except that the intermediate interactive process does not use the judgment of the step six, other steps are completely consistent with the process.
After message interaction, SN and IP information of all reply information servers in the local area network can be recorded in the excel form, a client can exclude a part according to the actual condition of the network, and then the rest IP is confirmed manually through a browser.
The following describes an IP form intelligent maintenance mechanism on the Client side by an embodiment:
based on the above embodiment, after a period of time using the 192.168.2.173 address, the user finds that the device is again inaccessible using the IP on a certain day. In fact, the re-initiation procedure obtains a new address due to failure of DHCP continuation of the device. All the changes cannot be perceived by users including machine room managers and network managers.
The intelligent maintenance mechanism can well solve the problem, and when a client finds that the device can not be accessed through the IP any more. The IP information in the form may then be refreshed to address the IP address change by the following operations. The process is as follows:
step one, a customer opens an operation and maintenance tool, inputs a network segment address, and then clicks a 'refresh form' button:
software searches an excel file named 'IPaddress' under an address list.
And secondly, analyzing the text content in line units, extracting the Serial number (refer to the following table 2) of the second line in the file, manually filling the network segment address with the user, and packaging the network segment address and the network segment address into an extended message.
TABLE 2
Figure 269752DEST_PATH_IMAGE003
And (III) broadcasting the Client to the network for 20 seconds at the rate of 3 extended messages per second.
Step two, the middle message transceiving process, the processing of other devices and Server side under the local area network, and the process of Server reply are completely the same as the above example (refer to step two to step seven of the above example).
Step three, the Client analyzes the expanded message in the same way as the above process within the starting time of the operation and maintenance tool (same as step 8 of the above example), but the processing is different:
and (I) if the expanded message of the response is received, judging whether the expanded message is a response message required by updating the item currently. Therefore, the information in the SN filling field in the response message is extracted and compared with the SN information in the local line of the excel file:
if the comparison result is not consistent, the answer message is not the answer message required by the current item. The message is discarded directly and no change is made to the contents of the line.
And if the comparison result is consistent, the IP information of the message is extracted and updated to the IP column of the current line. And then immediately stopping sending the message, and starting to process the next line of the excel.
And (II) if the responded extended message is not received all the time, deleting the line of information in the file after the 20S transmission is finished.
And step four, after the IP information updating operation of the current line is completed, the next line of information is updated (the steps are completely the same as the above).
The data query method provides a more convenient, faster and user-friendly solution to the problem of forgetting the server to manage the IP in the server use scene under the confidential scene compared with the traditional maintenance mode.
Please refer to fig. 8, which is a data query apparatus 800 according to an embodiment of the present application, and the apparatus is applied to the electronic device 1 shown in fig. 1A, and can be applied to an office client in a data query scenario shown in fig. 2 to query an IP address of a server in a network. The device includes: the first receiving module 801, the first generating module 802, the broadcasting module 803, the second receiving module 804 and the first analyzing module 805 are in the following principle relationship:
a first receiving module 801, configured to receive a query instruction input by a user, where the query instruction at least includes: and the network segment address of the network to be inquired.
A first generating module 802, configured to generate, according to the query instruction, an IP address request packet for a network to be queried, where the request packet includes: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal. The first request code is used for identifying the type of the request message.
A broadcasting module 803, configured to broadcast the request packet in the network to be queried.
The second receiving module 804 is configured to receive response messages returned by all servers in the network to be queried according to the network segment address, the first request code, and the physical address.
The first parsing module 805 is configured to parse the response packet to obtain a returned target IP address and a target device identifier.
In an embodiment, the query condition further includes a device identifier of the target server. The generation module is further to: and filling the device identifier of the target server in a field behind the first request code, encapsulating the network segment address, the physical address of the current terminal and the first request code filled in the field, and generating a request message.
In one embodiment, the first parsing module 805 is configured to: and extracting a second request code of the response message, wherein the second request code is used for identifying the type of the response message. And judging whether the field information of the second request code is the same as the preset field information. And if the field information of the second request code is the same as the preset field information, extracting the target IP address and the target equipment identifier in the response message, and storing the target IP address and the target equipment identifier in the preset address form.
In an embodiment, the extracting the target IP address and the target device identifier in the response message and storing the extracted target IP address and the target device identifier in the preset address form includes: and extracting the target IP address and the target equipment identification in the response message. And taking the target equipment identification as an index and retrieving in a preset address form. And if a target address record which is the same as the target equipment identification is searched in the preset address form and the IP address recorded in the target address record is different from the target IP address, replacing the IP address in the target address record with the target IP address.
In an embodiment, the extracting the target IP address and the target device identifier in the response message and storing them in the preset address form further includes: and if the target address record which is the same as the target equipment identifier is not searched in the preset address form, adding the target IP address and the target equipment identifier in the response message into the preset address form.
In one embodiment, the method further comprises: the searching module 806 is configured to locally search whether a preset address form exists when receiving an address list refresh instruction, where the refresh instruction includes: and network segment address information of the network to be queried. The encapsulating module 807 is configured to, if a preset address form exists, sequentially extract device identifiers of each row in the preset address form in a row unit, and encapsulate the device identifiers and the network segment address information into an update request. The broadcasting module 803 is further configured to broadcast the update request in the network to be queried. And the updating module 808 is configured to update the preset address form according to the response information if response information returned by the server in the network to be queried according to the update request is received within a preset time period, and otherwise, delete the current line information in the preset address form.
In one embodiment, the broadcasting module 803 is further configured to: and after updating the preset address form according to the response information, broadcasting the updated preset address form in the network to be queried.
In one embodiment, the query command includes a message sending rate. The broadcast module 803 is further configured to: and broadcasting the request message in the network to be inquired according to the message sending rate.
For a detailed description of the data query device 800, please refer to the description of the related method steps in the above embodiments.
Please refer to fig. 9, which is a data query apparatus 900 according to an embodiment of the present application, and the apparatus is applied to the server 2 shown in fig. 1B, and can be applied to a server room server in a data query scenario shown in fig. 2 to return its own IP address to a requesting terminal. The device includes: a third receiving module 901, a second parsing module 902, a verifying module 903, a second generating module 904 and a returning module 905, wherein the principle relationship of each module is as follows:
a third receiving module 901, configured to receive an IP address request packet from a terminal, where the request packet includes: the network segment address of the network to be queried, a preset first request code and a physical address of the terminal, wherein the first request code is used for identifying the type of the request message.
The second parsing module 902 is configured to parse the request packet to obtain a network segment address of the network to be queried and a first request code preset by the terminal.
And the verification module 903 is configured to verify the validity of the encapsulation format of the request message according to the network segment address and the first request code.
A second generating module 904, configured to generate a response message according to the request message if the request message is in a predetermined encapsulation format, where the response message includes: the IP address of the requested target server, a preset second request code and the physical address of the terminal. The second request code is used for identifying the type of the response message.
A returning module 905, configured to return the response message to the terminal.
In one embodiment, the request message further includes: the device identification of the target server. The second generating module 904 is further configured to: and extracting the equipment identification of the target server in the request message. And judging whether the equipment identifier of the target server is the same as the current equipment identifier of the current execution server. And if the equipment identifier of the target server is the same as the current equipment identifier, packaging the IP address of the current execution server, the second request code, the current equipment identifier and the physical address of the terminal, and generating a response message. Specifically, the current device identifier may be filled in a field after the second request code, and the IP address of the current execution server, the second request code after the field is filled, and the physical address of the terminal are encapsulated to generate the response packet.
In one embodiment, the method further comprises: the reading module 906 is configured to read a preset count value of a counter at intervals of a first time period before the request packet is analyzed to obtain the network segment address of the network to be queried and the first request code preset by the terminal, where the counter is configured to record the number of the received invalid packets. The determining module 907 is configured to determine, when the request packet is received, whether the number of invalid packets currently recorded by the counter reaches a preset threshold. The triggering module 908 is configured to trigger a step of parsing the request packet if the number of the invalid packets reaches a preset threshold. And the driving module 909 is configured to, if the number of the invalid messages does not reach the preset threshold, drive the counter to record the number of the invalid messages plus 1.
In one embodiment, the method further comprises: the clearing module 910 is configured to clear the counter every second time period, where the second time period is greater than the first time period.
For a detailed description of the data query apparatus 900, please refer to the description of the related method steps in the above embodiments.
An embodiment of the present invention further provides a non-transitory electronic device readable storage device, including: a program that, when run on an electronic device, causes the electronic device to perform all or part of the procedures of the methods in the above-described embodiments. The storage device may be a magnetic Disk, an optical Disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a Flash Memory (Flash Memory), a Hard Disk (Hard Disk Drive, abbreviated as HDD), a Solid State Drive (SSD), or the like. The storage device may also comprise a combination of memories of the kind described above.
Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations fall within the scope defined by the appended claims.

Claims (10)

1. A method for querying data, comprising:
receiving a query instruction input by a user, wherein the query instruction at least comprises: network segment address of the network to be inquired;
generating an IP address request message aiming at the network to be queried according to the query instruction, wherein the request message comprises: the network segment address of the network to be inquired, a preset first request code and the physical address of the current terminal; the first request code is used for identifying the type of the request message;
broadcasting the request message in the network to be inquired;
receiving response messages returned by all servers in the network to be queried according to the network segment address, the first request code and the physical address;
analyzing the response message to obtain a returned target IP address and a target equipment identifier;
the request message is an expanded free ARP message, wherein a source IP address field and a target IP address field of the expanded free ARP message are both filled with a network segment address of the network to be inquired.
2. The method of claim 1, wherein the query instruction further includes a device identifier of the target server; generating an IP address request packet for the network to be queried according to the query instruction, further comprising:
and filling the device identifier of the target server in a field after the first request code, encapsulating the network segment address, the physical address of the current terminal and the first request code after filling the field, and generating the request message.
3. The method of claim 1, wherein the parsing the response packet to obtain the returned IP address and the target device identifier comprises:
extracting a second request code of the response message, wherein the second request code is used for identifying the type of the response message;
judging whether the field information of the second request code is the same as the preset field information;
if the field information of the second request code is the same as the preset field information, extracting a target IP address and a target equipment identifier in the response message, and storing the target IP address and the target equipment identifier in a preset address form;
the extracting the target IP address and the target device identifier in the response message and storing the target IP address and the target device identifier in a preset address form includes:
extracting the target IP address and the target equipment identification in the response message;
retrieving in a preset address form by taking the target equipment identifier as an index;
if a target address record which is the same as the target equipment identifier is retrieved from the preset address form, and the IP address recorded in the target address record is different from the target IP address, replacing the IP address in the target address record with the target IP address;
and if the target address record which is the same as the target equipment identifier is not searched in the preset address form, adding the target IP address and the target equipment identifier in the response message into the preset address form.
4. The method of claim 1, further comprising:
when an address list refreshing instruction is received, locally searching whether a preset address form exists, wherein the refreshing instruction comprises: network segment address information of the network to be inquired;
if a preset address form exists, sequentially extracting the equipment identification of each line in the preset address form in a row unit, and encapsulating the equipment identification and the network segment address information into an updating request;
broadcasting the update request in the network to be queried;
if response information returned by the server in the network to be queried according to the updating request is received within a preset time period, updating the preset address form according to the response information, and if not, deleting the current line information in the preset address form;
after the updating the preset address form according to the response information, the method further comprises the following steps:
and broadcasting the updated preset address form in the network to be inquired.
5. A method for querying data, comprising:
receiving an IP address request message from a terminal, wherein the request message comprises: a network segment address of a network to be queried, a preset first request code and a physical address of the terminal, wherein the first request code is used for identifying the type of the request message;
analyzing the request message to obtain a network segment address of the network to be queried and a first request code preset by the terminal;
verifying the legality of the packaging format of the request message according to the network segment address and the first request code;
if the request message is in a preset packaging format, generating a response message according to the request message, wherein the response message comprises: the IP address of the requested target server, a preset second request code and the physical address of the terminal; the second request code is used for identifying the type of the response message;
returning the response message to the terminal;
the request message is an expanded free ARP message, wherein a source IP address field and a target IP address field of the expanded free ARP message are both filled with a network segment address of the network to be inquired.
6. The method according to claim 5, wherein before said analyzing said request packet to obtain said network segment address of said network to be queried and said first request code preset by said terminal, further comprising:
reading a preset count value of a counter every other first time period, wherein the counter is used for recording the number of received invalid messages;
when the request message is received, judging whether the number of the invalid messages currently recorded by the counter reaches a preset threshold value;
if the number of the invalid messages reaches the preset threshold value, triggering the step of analyzing the request messages;
if the number of the invalid messages does not reach the preset threshold value, driving the counter to record the number of the invalid messages plus 1;
further comprising:
and clearing the counter every second time period, wherein the second time period is greater than the first time period.
7. An electronic device, comprising:
a memory to store a computer program;
a processor arranged to perform the method of any one of claims 1 to 4 to query for an IP address of a server in a network.
8. A server, comprising:
a memory to store a computer program;
a processor configured to perform the method of any one of claims 5 to 6 to return its own IP address to the requesting terminal.
9. A non-transitory electronic device readable storage device, comprising: program which, when run by an electronic device, causes the electronic device to perform the method of any one of claims 1 to 4, or which, when run by a server, causes the server to perform the method of any one of claims 5 to 6.
10. A gateway device, comprising:
a communication module, connected to the electronic device of claim 7 and the server of claim 8, respectively, for transmitting information between the electronic device and the server.
CN202110375259.4A 2021-04-08 2021-04-08 Data query method, electronic equipment, server, storage equipment and gateway equipment Active CN112804377B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110375259.4A CN112804377B (en) 2021-04-08 2021-04-08 Data query method, electronic equipment, server, storage equipment and gateway equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110375259.4A CN112804377B (en) 2021-04-08 2021-04-08 Data query method, electronic equipment, server, storage equipment and gateway equipment

Publications (2)

Publication Number Publication Date
CN112804377A CN112804377A (en) 2021-05-14
CN112804377B true CN112804377B (en) 2021-07-06

Family

ID=75816505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110375259.4A Active CN112804377B (en) 2021-04-08 2021-04-08 Data query method, electronic equipment, server, storage equipment and gateway equipment

Country Status (1)

Country Link
CN (1) CN112804377B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745419B (en) * 2022-05-07 2024-02-23 深信服科技股份有限公司 Method, device, equipment and storage medium for acquiring terminal MAC address
CN115150331B (en) * 2022-09-02 2022-11-25 无锡沐创集成电路设计有限公司 Information processing method, information processing device, electronic device, and medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375491A (en) * 2016-08-31 2017-02-01 浙江远望信息股份有限公司 Method, device and system for discovering network equipment
CN106412142A (en) * 2016-08-30 2017-02-15 浙江宇视科技有限公司 Resource device address obtaining method and device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516599A (en) * 2012-06-15 2014-01-15 华为技术有限公司 Host finding method, network device, and host
CN103888551B (en) * 2012-12-19 2017-09-12 华为技术有限公司 Internet Protocol address acquisition methods, trunking and system in a kind of network
CN104994180A (en) * 2015-06-05 2015-10-21 太仓市同维电子有限公司 Method for acquiring equipment management IP address
CN105763671A (en) * 2016-04-27 2016-07-13 杭州华三通信技术有限公司 IP address distribution method and apparatus
CN107809496B (en) * 2016-09-09 2020-05-12 新华三技术有限公司 Network access control method and device
CN106657434B (en) * 2016-11-24 2019-12-06 新华三信息技术有限公司 method and device for checking IP address
CN112311907B (en) * 2020-11-18 2023-05-12 深信服科技股份有限公司 ARP request response method, load balancing equipment and related device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106412142A (en) * 2016-08-30 2017-02-15 浙江宇视科技有限公司 Resource device address obtaining method and device
CN106375491A (en) * 2016-08-31 2017-02-01 浙江远望信息股份有限公司 Method, device and system for discovering network equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"ARP防火墙的设计与开发";柴王爱;《电脑知识与技术》;20120131;第8卷(第2期);269-271 *

Also Published As

Publication number Publication date
CN112804377A (en) 2021-05-14

Similar Documents

Publication Publication Date Title
US10002526B1 (en) Internet-of-things systems and methods
JP5111340B2 (en) Method for monitoring apparatus constituting information processing system, information processing apparatus, and information processing system
US9432358B2 (en) System and method of authenticating user account login request messages
US7555545B2 (en) Method system and storage medium for detecting network elements
CN1714541B (en) Information processing device, server client system, method, and computer program
CN103269389B (en) Check and repair the method and apparatus that malice DNS arranges
CN112804377B (en) Data query method, electronic equipment, server, storage equipment and gateway equipment
US8595339B2 (en) Network management apparatus and method
US7307962B2 (en) System for inference of presence of network infrastructure devices
JP2004013901A (en) Method and system for supervising device connected to network and displaying equipment status
US20080301143A1 (en) Automatic Update System and Method for Using a Meta Mib
US20030090716A1 (en) Management information transmission apparatus, apparatus management apparatus, and apparatus management system
US20050038888A1 (en) Method of and apparatus for monitoring event logs
US10719523B2 (en) NXD query monitor
WO2019224727A2 (en) Systems and methods for determining characteristics of devices on a network
US20230412742A1 (en) Apparatus, method, and system for monitoring image-forming apparatus, and storage medium
US20090165011A1 (en) Resource management method, information processing system, information processing apparatus, and program
KR20030081186A (en) Home server access system including server and access control method
US11277376B2 (en) Systems and methods for utilizing an internet protocol (IP) address scanning model to identify available IP addresses
CN113315852A (en) Domain name resolution method, device and system
EP0955760A1 (en) Apparatus and method for preventing duplicate IP address setting
CN109639784B (en) Server management information acquisition method, device, client and storage medium
EP1385351A1 (en) Logging mobile devices onto multiple networks
JP6339538B2 (en) Authoritative DNS server device, DNS query processing method, and DNS query processing program
US20180019914A1 (en) System and method for document processing job accounting

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant