An efficient internet-wide ipv6 subnet discovery method

CN121309437BActive Publication Date: 2026-09-15TSINGHUA UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511343279.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2026-09-15
Estimated Expiration
2045-09-19

AI Technical Summary

Technical Problem

然而,这些方法无法直接扩展至IPv6网络

Benefits of technology

[0037] First, the experimental results show that the present invention discovered 8,381,974 IPv6 subnets in 14,147 Autonomous Systems (AS), filling the gap in existing research.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121309437B_ABST
    Figure CN121309437B_ABST
Patent Text Reader

Abstract

The application provides an efficient IPv6 subnet discovery method in the Internet, which consists of two stages: subnet refinement and target expansion. First, the target BGP prefix is input into the subnet refinement stage. The subnet refinement stage performs pruning refinement until the effective subnet boundary is identified, and the list of discovered IPv6 subnets is output. The target expansion stage takes the IPv6 user subnet list and the active address dataset as input, and filters out the active IPv6 addresses that cannot be matched in the subnet list. Then, these addresses are aggregated until the aggregated prefix no longer represents a single subnet. Next, these prefixes are input into the subnet refinement stage to determine their corresponding subnets, thereby further enriching the IPv6 subnet list.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of IPv6 subnet discovery technology, and more particularly to an efficient method for discovering IPv6 subnets over the Internet. Background Technology

[0002] Because the IPv6 address space is extremely large, it is typically allocated to end users as a subnet. Within this subnet, users can flexibly allocate and use a large number of IPv6 addresses. Different operators have significantly different strategies regarding the granularity of subnet allocation, and identifying the actual allocation granularity of a user's subnet is crucial in many network measurement and analysis tasks. It not only helps improve measurement efficiency and enhance the accuracy of analysis results but also provides a more solid foundation for understanding and managing network structures.

[0003] Existing research can be divided into two categories: one for the discovery of IPv4 subnets and the other for the discovery of IPv6 subnets. A large amount of work focuses on IPv4 subnet discovery. For example, TraceNET uses a series of heuristic rules and probing methods to identify subnets along a path and label their subnet masks; ExploreNET starts with / 31 subnets and gradually expands, determining subnet boundaries by sending probe packets and analyzing responses; TreeNET uses a tree structure to represent the relative positions between subnets. However, these methods cannot be directly extended to IPv6 networks. There are two main reasons for this: First, IPv4-based address allocation and routing behavior inference rules are no longer applicable in the IPv6 environment. Second, due to the vast address space of IPv6, a traversal approach to address space searching is not feasible. In IPv6 networks, existing measurement studies typically assume that subnet allocation uses a fixed granularity (e.g., / 48 or / 56), but this assumption may deviate significantly from actual network configurations, leading to inaccurate measurement results. Meanwhile, existing IPv6 subnet measurement methods typically employ brute-force scanning, which is limited to specific regions or individual operators and makes it difficult to reveal subnet allocation patterns globally. Summary of the Invention

[0004] The present invention aims to at least partially solve one of the technical problems in the related art.

[0005] Therefore, the first objective of this invention is to propose an efficient method for discovering IPv6 subnets within the Internet.

[0006] The second objective of this invention is to provide an efficient IPv6 subnet discovery device within the Internet range.

[0007] The third objective of this invention is to provide an electronic device.

[0008] The fourth objective of this invention is to provide a computer-readable storage medium.

[0009] The fifth objective of this invention is to provide a computer program product.

[0010] To achieve the above objectives, a first aspect of the present invention proposes an efficient method for discovering IPv6 subnets over the Internet, comprising:

[0011] Based on the BGP prefix input, starting from a specified initial prefix, the prefix length is gradually increased, and the number of probe packets to be sent under different prefix lengths is calculated according to the host density ratio model.

[0012] Send ICMP Echo Request probe packets to the target subnet. Determine the address activity and subnet consistency based on the received ICMP Echo Reply and Address Unreachable responses. Calculate the convergence condition based on the response data. When the source addresses of Address Unreachable are consistent and the response ratio reaches a preset threshold, determine that the current subnet has converged and record its allocation granularity.

[0013] Unmatched candidate addresses are extracted using an active IPv6 address dataset. The first 64 bits of the address are used as the initial prefix. The prefix length is gradually shortened and the convergence condition is verified to deduce potential user subnets in reverse.

[0014] Optionally, the step of using a specified initial prefix as the starting point, gradually increasing the prefix length based on the BGP prefix input, and calculating the number of probe packets to be sent under different prefix lengths according to the host density ratio model, further includes:

[0015] According to the IPv6 address allocation standard, the host density ratio is set to a range of 0.8 to 0.94, and the probe budget for subnets less than or equal to / 56 is calculated based on this range.

[0016] For subnets larger than / 56 and smaller than or equal to / 64, an exhaustive search method is used to traverse and probe the address space to ensure that subnets within this range are fully covered.

[0017] Optionally, the step of sending ICMP Echo Request probe packets to the target subnet and determining the address activity and subnet consistency based on the received ICMP Echo Reply and Address Unreachable responses further includes:

[0018] The sent ICMP Echo Request packets contain a randomly selected IPv6 address to prevent the probe behavior from being identified as a scanning attack by network devices;

[0019] Source address clustering analysis is performed on Address Unreachable responses to identify whether there are multiple different last-hop routers, thereby determining whether the prefix contains multiple subnets.

[0020] Optionally, the step of determining the convergence condition based on response data, and determining that the current subnet has converged and recording its allocation granularity when the source addresses of Address Unreachable are consistent and the response ratio reaches a preset threshold, further includes:

[0021] Set the response ratio threshold in the convergence condition to 0.9, and consider the subnet to have converged only when this threshold is met;

[0022] If the number of source addresses in the Address Unreachable response exceeds 1, the subnet is determined to be non-converged, and further subnet expansion operations are triggered.

[0023] Optionally, the step of extracting unmatched candidate addresses using an active IPv6 address dataset, using the first 64 bits of the address as an initial prefix, gradually shortening the prefix length and verifying convergence conditions to deduce potential user subnets in reverse includes:

[0024] The active IPv6 address dataset is preprocessed to filter out addresses that have already been matched to the subnet list output by the subnet refinement stage, in order to extract unmatched candidate addresses.

[0025] Each time the prefix length is shortened, the newly generated prefix is ​​subjected to convergence verification to determine whether it is a valid user subnet.

[0026] To achieve the above objectives, a second aspect of the present invention provides an efficient IPv6 subnet discovery device within the Internet range, comprising:

[0027] The prefix extension module is used to gradually increase the prefix length based on the BGP prefix input, starting from a specified initial prefix, and calculate the number of probe packets to be sent under different prefix lengths according to the host density ratio model.

[0028] The address liveness detection module is used to send ICMP Echo Request probe packets to the target subnet and determine the consistency between the address liveness and the subnet based on the received ICMP Echo Reply and Address Unreachable responses.

[0029] The convergence condition determination module is used to determine the convergence condition based on the response data. When the source address of Address Unreachable is consistent and the response ratio reaches the preset threshold, the current subnet is determined to be converged and its allocation granularity is recorded.

[0030] The potential user subnet reverse derivation module is used to extract unmatched candidate addresses using an active IPv6 address dataset, use the first 64 bits of the address as the initial prefix, gradually shorten the prefix length and verify the convergence condition to reverse derive the potential user subnet.

[0031] To achieve the above objectives, a third aspect of the present invention provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;

[0032] The memory stores computer-executed instructions;

[0033] The processor executes computer execution instructions stored in the memory to implement the method as described in any one of the first aspects.

[0034] To achieve the above objectives, a fourth aspect of the present invention provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of the first aspects.

[0035] To achieve the above objectives, a fifth aspect of the present invention provides a computer program product that, when executed by a processor, implements the method described in any one of the first aspects.

[0036] The technical solutions provided by the embodiments of the present invention bring at least the following beneficial effects:

[0037] First, the experimental results show that the present invention discovered 8,381,974 IPv6 subnets in 14,147 Autonomous Systems (AS), filling the gap in existing research.

[0038] Secondly, the subnet list discovered by this invention can serve as high-quality topology discovery input, and during the subnet discovery process, this method identifies a large number of last-hop router interfaces, discovering approximately 10 million more than the state-of-the-art methods currently available.

[0039] Third, by identifying subnets, this invention avoids repeated probing within the same subnet, saving resources and improving topology discovery efficiency. Simultaneously, it can more accurately locate and deduplicate edge routers, constructing a true view of the network edge. Combining prefix granularity with edge device information, it can also be used to detect and analyze prefix rotation and infer ISP address allocation strategies. The results of subnet discovery also provide data support for address resource management and policy formulation.

[0040] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description

[0041] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:

[0042] Figure 1 A flowchart illustrating an efficient IPv6 subnet discovery method within the Internet range, provided in an embodiment of the present invention;

[0043] Figure 2 A flowchart illustrating an efficient IPv6 subnet discovery method within the Internet range, provided in an embodiment of the present invention;

[0044] Figure 3 This is a flowchart illustrating the subnetting process provided in an embodiment of the present invention.

[0045] Figure 4 This is a schematic diagram of the structure of an efficient IPv6 subnet discovery device within the Internet range, provided in an embodiment of the present invention. Detailed Implementation

[0046] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.

[0047] Existing IPv6 subnet discovery methods largely rely on exhaustive scanning, which are typically limited to specific network areas or a few operator environments, making it difficult to reflect the subnet allocation characteristics at the Internet layer. Furthermore, existing measurement methods often presuppose a uniform granularity for subnet allocation, an assumption that may significantly deviate from actual network deployments, thus affecting the accuracy of measurement results. Therefore, one embodiment of this invention proposes a global IPv6 user subnet discovery system. Its core idea is to determine whether a subnet range is allocated to a single user by the same operator by probing the consistency of the last-hop router returned by the target address in the data. Specifically, if multiple addresses within a subnet reach the target host through the same last-hop router, it can be inferred that they belong to the same user or home network, thereby determining the actual subnet allocation granularity.

[0048] Figure 1 and Figure 2 This is a flowchart illustrating an efficient IPv6 subnet discovery method within the Internet scope, provided by an embodiment of the present invention. (Refer to...) Figure 1 and Figure 2 The method includes the following steps:

[0049] S1, based on the BGP prefix input, starts with a specified initial prefix, gradually increases the prefix length, and calculates the number of probe packets to be sent under different prefix lengths according to the host density ratio model.

[0050] The core of subnetting lies in a gradual expansion process. (Reference) Figure 3 The embodiments of the present invention start with the BGP prefix and then refine it layer by layer.

[0051] A key issue to consider in this invention is determining the appropriate number of data packets to send for probing under different prefixes. According to existing research, the smallest allocation unit for a subnet is generally considered to be / 64. Performing multiple traceroute operations within the same " / 64" subnet will not reveal different topologies or additional router interfaces. Therefore, for a subnet of size n, probing all user subnetting by traversal requires 2... 64-n This is clearly unacceptable. Embodiments of the present invention need to balance resource overhead with the comprehensiveness of discovering user subnet allocations. To address this issue, embodiments of the present invention utilize the host density ratio as an indicator to determine the number of probe packets required to be sent for subnet sizes of 56 or less.

[0052] Host density ratio measures the overall utilization of IPv6 addresses in a given subnet, and it is calculated as follows:

[0053]

[0054] The object is a block of IPv6 site addresses of a specified size, defined as / 56 in the RFC document. The host density ratio is used as an indicator of acceptable address utilization, thereby justifying further address space allocation. In this embodiment, the host density ratio is denoted as γ. For a prefix of size 56-1 (e.g., 1 = 24 for / 32), this embodiment assumes that the actual number of allocated objects is n. Therefore, the probability of hitting the allocated subnet with a single probe packet is...

[0055] Assume that this embodiment of the invention sends k probe packets. The number of hits X follows a binomial distribution with parameters (k, σ): X ~ Binomial(k, σ). This embodiment of the invention defines the error as the probability that after sending k probe packets, this embodiment of the invention receives at most an ICMP error message with only one source address, even if the prefix actually contains multiple user subnets. According to the extended standard of this embodiment of the invention, this situation may lead to missed subnet discovery. Therefore, the goal of this embodiment of the invention is to quantify the error by calculating the probability of receiving only 0 or 1 responses, expressed as:

[0056] Pr[X=0]=(1-σ) k Pr[X=1]=kσ(1-σ) k-1

[0057] The total probability of hitting 0 or 1 subnets is:

[0058] Pr[X≤1]=(1-σ) k-1 [1+(k-1)σ]

[0059] It is observed that for 0 < σ < 1, the inequality 1 - σ ≤ e holds. -σ For any positive integer k, we have (1-σ). k-1 ≤e -(k-1)σ Therefore, the embodiments of the present invention can yield:

[0060] Pr[X≤1] <e -(k-1)σ [1+(k-1)σ]

[0061] Furthermore, this embodiment of the invention sets an error upper limit e. -θ The objective of this invention is to make Pr[X≤1]<e -θ If the following inequality can be proven, then the objective is proved:

[0062] e -(k-1)σ [1+(k-1)σ] <e -θ

[0063] This expression can be simplified as follows:

[0064] -(k-1)σ+ln(1+(k-1)σ)<-θ

[0065] Let x = (k-1)σ, then the inequality becomes x - ln(1+x) > θ. Let x * -ln(1+x * ) = θ. Since the function f(x) = x - ln(1 + x) is strictly increasing for x > 0, the embodiments of this invention can conclude that: if x > x * If f(x) > θ, then f(x) > θ. Therefore, as long as This satisfies Pr[X≤1]<e -θ .

[0066] According to the IPv6 address allocation standard, the host density ratio based on / 56 allocation is between 0.8 and 0.94. Similar to existing research, this embodiment sets γ to 0.75 to ensure sufficient detection. This is to minimize the user subnet omission probability e. -θ This embodiment of the invention suggests setting θ to 16. After determining the values ​​of these two parameters, this embodiment of the invention can solve the equation x... * -ln(1+x* The probe budget for subnets with a size n of 56 or less is obtained by using θ. Considering the relatively small address space for subnets with a size n greater than 56, this embodiment of the invention employs an exhaustive search method to traverse the address space between n and 64 to ensure that subnets within this range are adequately probed. By combining an error-controlled model with brute-force probing, this embodiment of the invention achieves a reasonable balance between resource overhead and probe comprehensiveness, ultimately determining the number of probe packets required for different prefix sizes.

[0067] S2, send ICMP Echo Request probe packets to the target subnet, and determine the address activity and subnet consistency based on the received ICMP EchoReply and Address Unreachable responses; determine the convergence condition based on the response data, and when the source addresses of Address Unreachable are consistent and the response ratio reaches a preset threshold, determine that the current subnet has converged and record its allocation granularity.

[0068] This embodiment of the invention determines whether the convergence condition is met based on the received response. If a prefix is ​​a user subnet, when an ICMP Echo Request is sent to an address under that subnet, this embodiment of the invention assumes that the address under that subnet will only return two types of packets: ICMP Echo Reply and Address Unreachable. If ICMP Echo Reply is returned, it means that the target address has been allocated and is active; if Address Unreachable is returned, it means that the address is not in use and the neighbor discovery process of the last-hop router has timed out.

[0069] Furthermore, this embodiment of the invention needs to ensure that all addresses within the subnet return the same source address for "Address Unreachable," indicating that the subnets corresponding to this subnet are located after the same last-hop router. It also needs to ensure that all addresses within the subnet return both "ICMP Echo Reply" and "Address Unreachable" to prevent the existence of unassigned sub-subnets within this large subnet. Since this embodiment of the invention probes based on a subset of addresses within the subnet, rather than traversing it, this translates to all selected addresses returning both "ICMP Echo Reply" and "Address Unreachable."

[0070] If a subnet satisfies the above conditions, this embodiment of the invention considers the subnet to have converged. The convergence criteria are formally expressed as follows:

[0071]

[0072] Where AU represents the received Address Unreachable packet, ER represents the received ICMP EchoReply packet, SA represents the source address in the received packet, and |EQ P | represents the total number of ICMP EchoRequest packets sent under subnet P. Ideally, γ should be 1, but considering potential packet loss and special network configurations in real-world networks, this embodiment recommends setting γ to 0.9. Correspondingly, the conditions under which a subnet needs further expansion are as follows.

[0073]

[0074] In the first case, if the returned Address Unreachable packets indicate two different last-hop routers, it clearly means that there are two different user subnets under this prefix, thus requiring further expansion. In the second case, although all returned Address Unreachable packets originate from the same last-hop router, indicating that there may only be one user subnet under this prefix, if the sum of Address Unreachable packets and ICMP EchoReply packets is less than γ times the number of sent packets, it suggests that there may be an unallocated subnet under this prefix. Therefore, to accurately identify the least allocated subnet, further expansion and refinement of this subnet are still necessary. By applying this process to all input BGP prefixes, embodiments of the present invention can progressively identify subnets within each prefix.

[0075] S3. Using the active IPv6 address dataset, unmatched candidate addresses are extracted. The first 64 bits of the address are used as the initial prefix. The prefix length is gradually shortened and the convergence condition is verified to deduce the potential user subnet in reverse.

[0076] While the host density ratio provides a theoretical upper limit for error in measuring address space utilization, this embodiment of the invention suggests that there may still be a risk of missing user subnets in practice. The host density ratio is a global IPv6 address allocation metric, and its actual allocation and activity levels can vary significantly across different subnets. Especially for BGP prefixes with small user subnets or sparse active addresses, sampling with a limited number of packets may be insufficient to completely identify all user subnets, leading to omissions.

[0077] To address this, embodiments of the present invention introduce an IPv6 active address dataset to supplement the subnet set. Each active IPv6 address necessarily belongs to an assigned user subnet. Based on this observation, embodiments of the present invention can use the active addresses in the active address dataset to reverse-engineer potentially missed subnets and uncover more potential subnets, thereby improving the completeness of subnet discovery.

[0078] Specifically, this embodiment of the invention first extracts candidate addresses from the set of active IPv6 addresses, which cannot match any subnets obtained in the subnetting stage. Then, this embodiment extends the target prefix based on these addresses. The first 64 bits of each active address are used as the initial prefix, and its coverage is expanded by progressively shortening the prefix length. Each time the prefix length is shortened, the prefix must satisfy a convergence condition. If the current prefix still belongs to the same subnet, this embodiment considers it a subnet of the actual subnet, and further shortening the prefix length helps determine the true subnet boundary. If the current prefix no longer satisfies the convergence condition, this embodiment considers it to have exceeded the user's subnet boundary and enters the subnetting stage.

[0079] During the subnet refinement phase, this embodiment of the invention starts from the current prefix and iteratively refines it until the convergence condition is met again. Through this process, this embodiment of the invention can not only identify the allocation subnet corresponding to a given active address, but may also discover adjacent subnets. Finally, the target expansion phase supplements and expands the subnet set, effectively filling the coverage gaps in the first phase.

[0080] To achieve the above embodiments, the present invention also proposes an efficient IPv6 subnet discovery device within the Internet range. Figure 4 This is a schematic diagram illustrating the structure of a high-efficiency IPv6 subnet discovery device within the Internet range, provided as an embodiment of the present invention. Figure 4 As shown, the device includes:

[0081] The prefix extension module 100 is used to gradually increase the prefix length based on the BGP prefix input, starting from a specified initial prefix, and calculate the number of probe packets to be sent under different prefix lengths according to the host density ratio model.

[0082] The address liveness detection module 200 is used to send ICMP Echo Request probe packets to the target subnet and determine the consistency between the address liveness and the subnet based on the received ICMP Echo Reply and Address Unreachable responses.

[0083] The convergence condition determination module 300 is used to determine the convergence condition based on the response data. When the source address of AddressUnreachable is consistent and the response ratio reaches the preset threshold, the current subnet is determined to converge and its allocation granularity is recorded.

[0084] The potential user subnet reverse derivation module 400 is used to extract unmatched candidate addresses using an active IPv6 address dataset, use the first 64 bits of the address as an initial prefix, gradually shorten the prefix length and verify the convergence condition to reverse derive the potential user subnet.

[0085] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0086] To implement the above embodiments, the present invention also proposes an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory to implement the method provided in the foregoing embodiments.

[0087] To implement the above embodiments, the present invention also proposes a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the methods provided in the foregoing embodiments.

[0088] To implement the above embodiments, the present invention also proposes a computer program product, including a computer program that, when executed by a processor, implements the methods provided in the foregoing embodiments.

[0089] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in this invention all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0090] It should be noted that personal information collected from users should be used for legitimate and reasonable purposes and should not be shared or sold outside of these legitimate uses. Furthermore, such collection / sharing should only be conducted after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign an agreement / authorization that includes authorization of relevant user information before the user uses the function. In addition, any necessary steps must be taken to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and procedures.

[0091] This invention is intended to provide implementation schemes for users to selectively prevent the use or access to personal information data. That is, this disclosure is intended to provide hardware and / or software to prevent or block access to such personal information data. Once personal information data is no longer needed, risks can be minimized by restricting data collection and deleting data. Furthermore, where applicable, such personal information can be de-identified to protect user privacy.

[0092] In the foregoing descriptions of the embodiments, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0093] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0094] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of the invention pertain.

[0095] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.

[0096] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any of the following techniques known in the art, or a combination thereof: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0097] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0098] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0099] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present invention.

[0100] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0101] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. An efficient method for discovering IPv6 subnets over the Internet, characterized in that, Includes the following steps: Based on the BGP prefix input, starting from a specified initial prefix, the prefix length is gradually increased, and the number of probe packets to be sent under different prefix lengths is calculated according to the host density ratio model. Send ICMP Echo Request probe packets to the target subnet, and determine the address activity and subnet consistency based on the received ICMP Echo Reply and Address Unreachable responses; Based on the response data, the convergence condition is determined. When the source address of Address Unreachable is consistent and the response ratio reaches the preset threshold, the current subnet is determined to be converged and its allocation granularity is recorded. Unmatched candidate addresses are extracted using an active IPv6 address dataset. The first 64 bits of the address are used as the initial prefix. The prefix length is gradually shortened and the convergence condition is verified to deduce potential user subnets in reverse.

2. The method as described in claim 1, characterized in that, The method of inputting a BGP prefix, starting with a specified initial prefix, gradually increasing the prefix length, and calculating the number of probe packets to be sent for different prefix lengths based on the host density ratio model, further includes: According to the IPv6 address allocation standard, the host density ratio is set to a range of 0.8 to 0.94, and the probe budget for subnets less than or equal to / 56 is calculated based on this range. For subnets larger than / 56 and smaller than or equal to / 64, an exhaustive search method is used to traverse and probe the address space to ensure that subnets within this range are fully covered.

3. The method as described in claim 1, characterized in that, The step of sending ICMP Echo Request probe packets to the target subnet and determining address activity and subnet consistency based on received ICMP Echo Reply and Address Unreachable responses also includes: The sent ICMP Echo Request packets contain a randomly selected IPv6 address to prevent the probe behavior from being identified as a scanning attack by network devices; Source address clustering analysis is performed on Address Unreachable responses to identify whether there are multiple different last-hop routers, thereby determining whether the prefix contains multiple subnets.

4. The method as described in claim 1, characterized in that, The step of determining convergence conditions based on response data, which involves determining that the current subnet has converged and recording its allocation granularity when the source addresses of AddressUnreachable are consistent and the response ratio reaches a preset threshold, also includes: Set the response ratio threshold in the convergence condition to 0.9, and consider the subnet to have converged only when this threshold is met; If the number of source addresses in the Address Unreachable response exceeds 1, the subnet is determined to be non-converged, and further subnet expansion operations are triggered.

5. The method as described in claim 1, characterized in that, The method of extracting unmatched candidate addresses using an active IPv6 address dataset, using the first 64 bits of the address as an initial prefix, gradually shortening the prefix length and verifying convergence conditions to deduce potential user subnets in reverse, also includes: The active IPv6 address dataset is preprocessed to filter out addresses that have already been matched to the subnet list output by the subnet refinement stage, in order to extract unmatched candidate addresses. Each time the prefix length is shortened, the newly generated prefix is ​​subjected to convergence verification to determine whether it is a valid user subnet.

6. A highly efficient IPv6 subnet discovery device within the Internet range, characterized in that, include: The prefix extension module is used to gradually increase the prefix length based on the BGP prefix input, starting from a specified initial prefix, and calculate the number of probe packets to be sent under different prefix lengths according to the host density ratio model. The address liveness detection module is used to send ICMP Echo Request probe packets to the target subnet and determine the consistency between the address liveness and the subnet based on the received ICMP Echo Reply and Address Unreachable responses. The convergence condition determination module is used to determine the convergence condition based on the response data. When the source address of Address Unreachable is consistent and the response ratio reaches the preset threshold, the current subnet is determined to be converged and its allocation granularity is recorded. The potential user subnet reverse derivation module is used to extract unmatched candidate addresses using an active IPv6 address dataset, use the first 64 bits of the address as the initial prefix, gradually shorten the prefix length and verify the convergence condition to reverse derive the potential user subnet.

7. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-5.

9. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-5.

Citation Information

Patent Citations

  • IPv6 address detection method and device and electronic equipment

    CN116800720A

  • Whole-network IPv6 active address detection method and device based on transfer learning

    CN118250257A