A system and method for discovering geographical boundaries within a cross-border cloud
Through the cross-border cloud internal geographic boundary discovery system that integrates measurement points and automatic analysis results, the cloud prefix selection method and task processing module are used to solve the problem of internal cloud topology detection, and efficient and accurate identification and measurement status of internal cloud internal geographic boundary is achieved. Monitoring reduces data pull time.
Patent Information
- Application Number
- CN202210761664.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-06-30
AI Technical Summary
At this stage, it is difficult to effectively detect the internal topology of the cloud, especially because the internal routers of most cloud platforms do not respond to external IP detection messages, making it difficult to use public Internet measurement points to detect the internal topology of the cloud, and the commonly used target selection methods cannot guarantee the topology. Integrity and reduction of measurement target number.
A cross-border cloud internal geographic boundary discovery system is proposed. By integrating measurement points, automatically pulling and analyzing the results, identifying the geographical boundary within the cloud, using the cloud prefix selection method to obtain IP prefix data, and generating and issuing it through the task processing module. and analyze measurement tasks, combined with the task scheduling module to monitor the status of measurement points in real time to ensure the smooth execution of measurement tasks.
It realizes high-quality prefix selection, quickly and accurately identify the internal geographical boundaries of the cloud, reduces the analysis time and the number of measurement targets, timely monitors the status of measurement points, avoids task jamming, and reduces data pulling time.
Smart Images

Figure CN115134251B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network topology detection, and in particular to a system and method for discovering geographical boundaries within a cross-border cloud. Background Art
[0002] As the largest man-made complex system, the Internet has been growing in size and complexity since its inception. Although the network structure is extremely complex, the study of Internet topology has always attracted network and non-network researchers for a long time. [1-6] It is the cornerstone of network structure research and the basis for network protocol design, research and optimization of network resource allocation, network geographic positioning, and network attack detection and prevention.
[0003] With the access of various network devices, the scale of the Internet continues to grow, making the Internet topology extremely complex, which adds many difficulties to the measurement of network topology. For example, due to the dynamic changes of the network topology and mechanisms such as load balancing, the wrong topology is obtained. At the same time, the filtering of detection data packets by network firewalls also increases the difficulty of obtaining network topology information. In fact, no entity or organization can fully and truly understand the network structure of the entire Internet, nor is there a protocol designed specifically to obtain the network structure. However, network topology measurement is of great significance. The various topological properties of the Internet affect the performance of network protocols, network applications, and services. Therefore, a better understanding of the Internet topology and its main characteristics will enable network researchers to design better network protocols or services. [7] In addition, accurate network structure helps network engineers and operators to continuously try to improve or optimize network resource configuration. [8] Understanding Internet topology may have some applications in security. For example, Burch and Cheswick
[11] It is proposed to use Internet topology information to track anonymous data packets.
[0004] With the continuous development of cloud services, the pattern of the Internet and the original ecosystem have fundamentally changed: in the early days, the path for transmitting traffic in the valley-free autonomous domain was composed of 0 or more c2p links (customer service provider links), 0 or one p2p (peer connection) link, and 0 or more p2c (service provider customer link) links. Therefore, Tier-1 and Tier-2 network service providers with the ability to transmit traffic across borders have always been considered the backbone of the Internet. They ensure the global accessibility of the Internet. However, with the development of cloud services, this situation is gradually changing. Todd et al. found through the study of AS-level topology that more and more cloud service providers have non-hierarchical accessibility, that is, the network can achieve the ability to transmit traffic across borders without traversing the networks of large network service providers such as Tier-1 and Tier-2. It can be said that the development of cloud services is gradually "flattening" the Internet.
[0005] At the same time, more and more companies are hosting websites, databases and other applications completely on cloud platforms in order to save costs and manpower. When users access cloud applications, even if the user and the computer room where the application server is located are not in the same country or even the same continent, the cloud platform can provide fast and stable traffic transmission.
[0006] In recent years, there has been an increase in research on cloud services. [7] In order to study how the cloud hides its own traffic, Yeganeh et al. used Amazon nodes to measure the prefixes of other ASs and found the virtual private interconnection (VPI) between the cloud and other ASs from the results. [8] et al. conducted performance tests on path, latency, and throughput for three different cloud-to-cloud links (public Internet connection based on traffic providers, dedicated connection based on third-party providers, and private connection based on cloud providers) and explained the reasons for the performance differences.
[0007] Osama [9] et al. used an end-to-end (VM-to-VM) approach to perform performance tests on cross-continental paths from Amazon, Google, and Microsoft, and then compared cloud paths with public Internet paths in terms of tail packet loss rate and jitter, predictability of packet loss, and latency. They also gave potential reasons for the better performance of cloud paths, and finally considered how to further improve the quality of these paths with the help of existing loss mitigation technologies. Lorenzo Corneo
[10] et al. created VMs in 189 data centers of different cloud service providers, and then used the RIRP atlas platform's measurement points around the world to ping and traceroute the VMs to obtain latency and paths. They then used the PyASN tool and the PeeringDB dataset to label the IP paths measured by traceroute. They then analyzed the latency differences from different countries to the VMs, as well as the ratio of cloud service provider IPs to the measured paths.
[0008] It can be seen that the current research on the cloud is mainly focused on studying its traffic transmission performance and link methods, and there is less research on the internal topological structure of the cloud. However, in fact, the efficient and stable transmission of cloud platform traffic mainly depends on its characteristics of concentrating the generated traffic in its own network and the cloud has built its own dedicated links and data centers to avoid the impact of public Internet congestion. Therefore, the efficient and stable transmission of cloud platform traffic is closely related to its internal topological structure. The regional boundaries in the internal topology of the cloud carry the important work of cross-border traffic transmission. The discovery of the internal regional boundaries of the cloud is of great significance to understanding the cross-border traffic transmission performance of the cloud and examining the global network structure of the cloud.
[0009] However, since most routers inside cloud platforms often adopt a non-response strategy for external IP detection packets, the detection packets sent by external hosts can only detect the junction between the cloud and the public Internet, so it is difficult to use the public Internet measurement point to detect the internal topology of the cloud. It is necessary to use the virtual machine inside the cloud as the measurement point. In addition, in previous studies, the selection of measurement targets can be divided into two situations: 1. Target selection to ensure measurement integrity: The measurement target is selected by sampling the entire IPV4 public address space; this method often measures millions of targets in one measurement, which takes a lot of time; at the same time, detecting the global IP from the inside of the cloud will obtain a large amount of cloud external data, which is a waste of measurement resources; 2. Target selection to ensure measurement efficiency: Only a few fixed targets are selected for repeated measurements to study performance changes. Although this method reduces the measurement time, it is difficult to ensure the integrity of the measured topology due to too few measurement targets.
[0010] From the above, we can see that the two commonly used target selection methods are not suitable for detecting the internal topology of the cloud. How to select appropriate targets to ensure the topological integrity of the measurement while minimizing the number of measurement targets and the proportion of cloud external data remains to be solved. At the same time, since the cloud will deploy multiple computer rooms in different regions, it is necessary to rent multiple measurement points to detect the topology inside the cloud. It will take a long time to measure the target using multiple measurement points one by one and download the results. At the same time, the result files generated by the underlying measurement tools are not easy to understand for non-topological measurement researchers. Summary of the invention
[0011] In view of the above problems, the present invention proposes a system and method for discovering the internal geographic boundaries of a cross-border cloud, which integrates the measurement points into a measurement platform to drive the measurement points to complete the topological measurement of the measurement targets, and automatically pulls and analyzes the results to obtain the geographical boundaries inside the cloud.
[0012] According to one aspect of the present invention, a cross-border cloud internal geographic boundary discovery system is provided, the system includes a user end and a server end, the server end includes a prefix selection module, a task processing module, and a measurement module;
[0013] The prefix selection module is configured to obtain IP prefix data belonging to the cloud to be tested using a cloud prefix selection method;
[0014] The task processing module includes a task generation submodule, a task issuing submodule, and a result analysis submodule; wherein the task generation submodule is configured to obtain the measurement parameter data input by the user terminal, and generate measurement task information according to the IP prefix data of the cloud to be measured and the measurement parameter data; the task issuing submodule is configured to issue measurement tasks to all measurement points according to the measurement task information, and obtain the result data returned by the measurement points, wherein the format of the result data is binary data; the result analysis submodule is configured to analyze the result data to identify the geographical boundaries within the cloud;
[0015] The measurement module is configured to perform a measurement task according to the measurement task information.
[0016] Furthermore, the specific steps of using the cloud prefix selection method in the prefix selection module to obtain IP prefix data belonging to the cloud to be tested include:
[0017] Using multiple databases that can extract cloud platform IP prefixes, obtain the correspondence between cloud organization names, autonomous domains, and IP prefixes, and construct a set containing the correspondence between the three.
[0018] The cloud organization name keywords of the cloud to be tested are obtained based on the name characteristics of the cloud organization of the cloud to be tested;
[0019] Filter cloud organization name candidates in the set based on the cloud organization name keyword of the cloud to be tested;
[0020] Based on the corresponding relationship, searching the set for the autonomous domain corresponding to the cloud organization name candidate;
[0021] Based on the corresponding relationship, searching the set for one or more IP prefixes corresponding to the autonomous domain;
[0022] Merge multiple IP prefixes to obtain the IP prefix data of the cloud to be tested.
[0023] Furthermore, the measurement task information includes basic task information, original task target and measurement related parameters; the basic task information includes measurement type, task ID and task name; the original task target includes a specific IP address or a network segment in CIDR format; the measurement related parameters include configuration parameters of the measurement tool, parameters used to generate specific measurement targets and a list of measurement points used in this measurement.
[0024] Furthermore, the specific steps of analyzing the result data in the result analysis submodule to identify the geographical boundaries within the cloud include:
[0025] Convert the result data from binary format file to path text file;
[0026] Process each path text file to obtain a link text file for each measurement point; the specific process includes: for each path in each path text file, extract two adjacent IPs into a pair of IP links, and save the discovery time, delay, anonymous hop count between the two IPs, and the measurement point where the link is discovered; for each path text file, merge the extracted IP links, merge the same links into one, and update the delay, discovery time, and anonymous hop count between IPs of the new link to obtain a link text file for each measurement point;
[0027] Merge the link text files of each measurement point to obtain the total link text file of the task;
[0028] Create geographic information tag interface and autonomous domain information tag interface;
[0029] Use the geographic information marking interface and the autonomous domain information marking interface to mark the IPs in the total link text file, and remove the IPs that cannot be marked;
[0030] Traverse the marked total link text file to find the cloud internal geographic boundary link.
[0031] Furthermore, the system further includes a task scheduling module, which is configured to monitor the status of the measurement points in real time to ensure that the measurement tasks are smoothly executed; specifically, it includes:
[0032] Each measurement point is assigned a tag. The size of the tag is used to record the status of the measurement point. The status of the measurement point includes alive, doubtful, and disconnected.
[0033] Perform a target reachability detection operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark;
[0034] When a task is about to be executed, the measurement points to be used are filtered using the status of the measurement points, and the measurement points whose status is marked as offline are removed; at the same time, a target reachability detection operation is actively performed again, and the measurement points that have no response in this target reachability detection operation are removed to obtain an updated measurement point list;
[0035] Transmitting the measurement task information to the measurement points in the measurement point list according to the updated measurement point list and task configuration;
[0036] During the task execution process, the measurement points are continuously traversed and the target reachability detection operation is repeated to ensure that the measurement tasks are executed on the measurement points that are in the survival state.
[0037] According to another aspect of the present invention, a method for discovering geographical boundaries within a cross-border cloud is provided, the method comprising the following steps:
[0038] Step 1: Use the cloud prefix selection method to obtain the IP prefix data belonging to the cloud to be tested;
[0039] Step 2: Obtaining measurement parameter data input by the user;
[0040] Step 3: Generate measurement task information according to the IP prefix data of the cloud to be measured and the measurement parameter data;
[0041] Step 4: issuing topology measurement tasks to all measurement points according to the measurement task information, and obtaining result data returned by the measurement points; the format of the result data is binary data;
[0042] Step 5: Analyze the result data to identify the geographic boundaries within the cloud.
[0043] Furthermore, the specific steps of step 1 include:
[0044] Step 11: Utilize multiple databases that can extract cloud platform IP prefixes to obtain the corresponding relationship between cloud organization name, autonomous domain, and IP prefix, and construct a set containing the corresponding relationship between the three.
[0045] Step 12: Obtain the cloud organization name keywords of the cloud to be tested based on the name characteristics of the cloud organization of the cloud to be tested;
[0046] Step 13: Filter cloud organization name candidates in the set based on the cloud organization name keywords of the cloud to be tested;
[0047] Step 14: Based on the corresponding relationship, search the set for the autonomous domain corresponding to the cloud organization name candidate;
[0048] Step 15: Based on the corresponding relationship, search the set for one or more IP prefixes corresponding to the autonomous domain;
[0049] Step 16: Merge multiple IP prefixes to obtain IP prefix data of the cloud to be tested.
[0050] Furthermore, the measurement task information includes basic task information, original task target and measurement related parameters; the basic task information includes measurement type, task ID and task name; the original task target includes a specific IP address or a network segment in CIDR format; the measurement related parameters include configuration parameters of the measurement tool, parameters used to generate specific measurement targets and a list of measurement points used in this measurement.
[0051] Furthermore, the specific steps of step 5 include:
[0052] Step 51, converting the result data from the binary format file into a path text file;
[0053] Step 52: Process each path text file to obtain a link text file for each measurement point. The specific process includes:
[0054] Step 521: for each path in each path text file, extract two adjacent IPs into a pair of IP links, and save the discovery time, delay, anonymous hop count between the two IPs, and the measurement point of the discovery link;
[0055] Step 522: for each path text file, merge the extracted IP links, merge the same links into one, and update the delay, discovery time, and anonymous hop count between IPs of the new link to obtain a link text file for each measurement point;
[0056] Step 53, merging the link text files of each measurement point to obtain the total link text file of the task;
[0057] Step 54: Create a geographic information tag interface and an autonomous domain information tag interface;
[0058] Step 55: Use the geographic information marking interface and the autonomous domain information marking interface to mark the IPs in the total link text file, and remove the IPs that cannot be marked;
[0059] Step 56: traverse the marked total link text file to find the cloud internal geographic boundary link.
[0060] Furthermore, the method further includes: monitoring the status of the measuring point in real time to ensure that the measuring task is smoothly executed; specifically including:
[0061] Each measurement point is assigned a tag. The size of the tag is used to record the status of the measurement point. The status of the measurement point includes alive, doubtful, and disconnected.
[0062] Perform a target reachability detection operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark;
[0063] When a task is about to be executed, the measurement points to be used are filtered using the status of the measurement points, and the measurement points whose status is marked as offline are removed; at the same time, a target reachability detection operation is actively performed again, and the measurement points that have no response in this target reachability detection operation are removed to obtain an updated measurement point list;
[0064] Transmitting the measurement task information to the measurement points in the measurement point list according to the updated measurement point list and task configuration;
[0065] During the task execution process, the measurement points are continuously traversed and the target reachability detection operation is repeated to ensure that the measurement tasks are executed on the measurement points that are in the survival state.
[0066] The beneficial technical effects of the present invention are:
[0067] The present invention optimizes the characteristics of the cloud itself on the basis of normal topology detection and develops high-quality prefix selection, that is, according to the characteristics of cloud traffic transmission, selects prefixes that can discover more geographical boundaries within the cloud for detection, thereby reducing the number of detection targets; fast cloud geographical boundary identification, that is, for the detection results, the geographical boundaries within the cloud can be quickly and accurately analyzed, thereby reducing the analysis time; measurement status monitoring, that is, constantly monitoring the status of the measurement point, observing whether it is abnormally disconnected and making corresponding processing, and at the same time incrementally pulling the measurement point to generate data, preventing the measurement point abnormality from causing the task process to be stuck while ensuring that there is no misjudgment as much as possible, and reducing the time required to pull data. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] The present invention can be better understood by referring to the description given below in conjunction with the accompanying drawings, which together with the following detailed description are included in this specification and form a part of this specification, and are used to further illustrate the preferred embodiments of the present invention and explain the principles and advantages of the present invention.
[0069] Figure 1 This is a schematic diagram of the structure of a cross-border cloud internal geographic boundary discovery system according to an embodiment of the present invention;
[0070] Figure 2 is a schematic diagram of a flow chart of a prefix selection module selecting a prefix in an embodiment of the present invention;
[0071] Figure 3 is a schematic diagram of the process of cloud geographic boundary identification in the result analysis submodule in an embodiment of the present invention;
[0072] Figure 4 is an example diagram of different file formats in an embodiment of the present invention;
[0073] Figure 5 1 is a diagram showing experimental results of a cloud prefix selection method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0074] In order to enable those skilled in the art to better understand the scheme of the present invention, exemplary implementations or embodiments of the present invention will be described below in conjunction with the accompanying drawings. Obviously, the described implementations or embodiments are only implementations or embodiments of a part of the present invention, not all of them. Based on the implementations or embodiments of the present invention, all other implementations or embodiments obtained by ordinary technicians in the field without creative work should fall within the scope of protection of the present invention.
[0075] In order to solve the above problems, the present invention proposes a system and method for measuring the geographical boundaries of cross-border clouds, which is used to efficiently and quickly detect the topology inside the cloud to find the geographical boundaries inside the cloud. The present invention aims to ensure that fewer targets are measured on the basis of measuring the topological integrity and obtain measurement results faster.
[0076] An embodiment of the present invention provides a cross-border cloud internal geographic boundary discovery system, the system includes a user end and a server end, the server end includes a prefix selection module, a task processing module, and a measurement module;
[0077] The prefix selection module is configured to obtain IP prefix data belonging to the cloud under test using a cloud prefix selection method;
[0078] The task processing module includes a task generation submodule, a task delivery submodule, and a result analysis submodule; wherein: the task generation submodule is configured to obtain the measurement parameter data input by the user end, the measurement parameter data includes the measurement point, measurement method, measurement speed, stop condition, and sampling density of the prefix to be measured; and generates measurement task information according to the IP prefix data of the cloud to be measured and the measurement parameter data; the task delivery submodule is configured to issue measurement tasks to all measurement points according to the measurement task information, and obtain the result data returned by the measurement point, and the format of the result data is binary data; the result analysis submodule is configured to analyze the result data to identify the geographical boundaries within the cloud;
[0079] The measurement module is configured to perform a topology measurement task according to the measurement task information.
[0080] In this embodiment, preferably, the specific steps of using the cloud prefix selection method in the prefix selection module to obtain IP prefix data belonging to the cloud to be tested include:
[0081] Using multiple databases that can extract cloud platform IP prefixes, obtain the correspondence between cloud organization names, autonomous domains, and IP prefixes, and construct a set containing the correspondence between the three.
[0082] The cloud organization name keywords of the cloud to be tested are obtained based on the name characteristics of the cloud organization of the cloud to be tested;
[0083] Filter cloud organization name candidates in the collection based on the cloud organization name keywords of the cloud to be tested;
[0084] Based on the corresponding relationship, search the autonomous domain corresponding to the cloud organization name candidate in the set;
[0085] Based on the corresponding relationship, search for one or more IP prefixes corresponding to the autonomous domain in the set;
[0086] Merge multiple IP prefixes to obtain the IP prefix data of the cloud to be tested.
[0087] In this embodiment, preferably, the measurement task information includes basic task information, original task target and measurement related parameters; the basic task information includes measurement type, task ID and task name; the original task target includes a specific IP address or a network segment in CIDR format; the measurement related parameters include the configuration parameters of the measurement tool, the parameters used to generate a specific measurement target and a list of measurement points used in this measurement.
[0088] In this embodiment, preferably, the specific steps of analyzing the result data in the result analysis submodule to identify the geographical boundaries within the cloud include:
[0089] Convert the result data from binary format file to path text file;
[0090] Process each path text file to obtain a link text file for each measurement point; the specific process includes: for each path in each path text file, extract two adjacent IPs into a pair of IP links, and save the discovery time, delay, anonymous hop count between the two IPs, and the measurement point where the link is discovered; for each path text file, merge the extracted IP links, merge the same links into one, and update the delay, discovery time, and anonymous hop count between IPs of the new link to obtain a link text file for each measurement point;
[0091] Merge the link text files of each measurement point to obtain the total link text file of the task;
[0092] Create geographic information tag interface and autonomous domain information tag interface;
[0093] Use the geographic information tagging interface and the autonomous domain information tagging interface to tag the IPs in the total link text file, and remove the IPs that cannot be tagged;
[0094] Traverse the marked total link text file to find the cloud internal geographic boundary link.
[0095] In this embodiment, preferably, the system further includes a task scheduling module, which is configured to monitor the status of the measurement points in real time to ensure that the measurement tasks are executed smoothly; specifically, it includes:
[0096] Each measurement point is assigned a tag. The size of the tag is used to record the status of the measurement point. The status of the measurement point includes alive, doubtful, and disconnected.
[0097] Perform a target reachability detection operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark;
[0098] When a task is about to be executed, the measurement points to be used are filtered using the status of the measurement points, and the measurement points whose status is marked as offline are removed; at the same time, a target reachability detection operation is actively performed again, and the measurement points that have no response in this target reachability detection operation are removed to obtain an updated measurement point list;
[0099] According to the updated measuring point list and task configuration, the measuring task information is transmitted to the measuring points in the measuring point list;
[0100] During the task execution process, the measurement points are continuously traversed and the target reachability detection operation is repeated to ensure that the measurement tasks are executed on the measurement points that are in the survival state.
[0101] Another embodiment of the present invention provides a cross-border cloud internal geographic boundary discovery system, such as Figure 1 As shown, the system is divided into four modules, namely: prefix selection module, task processing module, task scheduling module and measurement module. Among them, the prefix selection module has only one function: using the cloud prefix selection method, select the IPV4 prefix belonging to the cloud to be measured before each measurement;
[0102] The task processing module mainly interacts with the user and has three main functions: obtaining measurement parameters to generate tasks, packaging task information into data packets for download, merging and analyzing the original measurement results sent by the task scheduling module, and finally displaying the results to the user;
[0103] The task scheduling module is used to connect the task processing module and the measurement module to connect the system in series. It mainly includes: storing the task in the database according to the information in the task data packet, generating the data packet used by each measurement point according to the parameters and transmitting it to the measurement point; at the same time, controlling the measurement point to start, pause, and terminate the task in advance, and monitoring the measurement point status; and pulling the task measurement result data at each measurement point;
[0104] The measurement module is the last module to perform topology measurement. It has two main functions: receiving measurement commands and data packets and calling the measurement tool to execute the measurement commands after receiving the start signal, and notifying the task status in real time; monitoring whether the process communicating with the task scheduling module is running normally, and restarting the process if it is abnormal.
[0105] The above modules are described in detail below.
[0106] 1) The cloud prefix selection method is used in the prefix selection module. This method is proposed based on the fact that cloud platforms tend to concentrate the generated traffic in their own networks. It is inferred that most of the result data obtained by measuring targets belonging to the cloud using cloud internal measurement points belongs to the cloud. This method reduces the measurement target from the entire IPV4 public address space to the address space of the autonomous domain to which the cloud belongs. This target selection method greatly reduces the number of detection targets, and due to the above characteristics, the loss of topology integrity is small. Figure 2 As shown, the cloud prefix selection method specifically includes the following steps:
[0107] Step 1. Summarize the cloud organization name keywords based on the name characteristics of the cloud organization to be detected;
[0108] Step 2. Collect information about prefixes, organization names, and ASs on the Internet, including the correspondence between cloud organization names and autonomous domains, and between autonomous domains and IP prefixes, etc.
[0109] Step 3. Use the cloud organization name keyword to filter out candidates that may be cloud organization names from the organization names;
[0110] Step 4. Observe whether there are any candidates that do not belong to the cloud. If yes, go to step 5; if no, go to step 6;
[0111] Step 5. Further screen the candidates, delete those that do not belong to the cloud, modify the keywords, and go to step 1;
[0112] Step 6. Obtain the autonomous domain number corresponding to the organization name;
[0113] Step 7. Obtain the IP prefix according to the autonomous domain number;
[0114] Step 8. Merge the autonomous domain numbers obtained from different data sources and merge the IP prefixes obtained from different data sources;
[0115] Step 9. Use the merged autonomous domain number to obtain the IP prefix again, and merge it with the merged IP prefix again;
[0116] Step 10: Remove the disputed IP prefixes in the historical measurement results.
[0117] According to an embodiment of the present invention, a cloud prefix selection method is used to select the IPV4 prefix belonging to the cloud to be measured before each measurement. The specific steps are as follows: input the organization name keyword set of the cloud to be measured, first obtain the IP prefix data to be excluded from the database, then download the data about the organization name and the corresponding IP prefix from the CAIDA website, and download the AS number and organization name corresponding to the cloud to be detected from the hurricane website, then traverse the CAIDA organization name data, continuously find the organization name containing the keyword, and determine whether the organization name belongs to the cloud. If it belongs to the cloud, find the corresponding organization ID, autonomous domain number and IP prefix from the CAIDA data in turn according to the organization name. If it does not belong to the cloud, remove the organization name, and update the organization name keyword, and repeat until the keyword is not updated. Then, extract the autonomous domain number and IP prefix belonging to the cloud from the hurricane information through a regular expression, merge the autonomous domain number with the autonomous domain number of the CAIDA data, and then obtain an IP prefix according to the merged autonomous domain number. Then the three IP prefixes are merged to get the final cloud IP prefix. The basic rule of merging is: if multiple IP prefixes are exactly the same, only one is retained; if an IP prefix is included in another IP prefix, this IP prefix is discarded. The pseudo code of the cloud prefix selection method is shown below.
[0118]
[0119] The task processing module, task scheduling module and measurement module are further divided into several different sub-modules.
[0120] 2) The task processing module includes a task generation submodule, a task export submodule, a result analysis submodule, and a display submodule. The task generation submodule is responsible for receiving the parameters input by the user, performing integrity verification on them, and writing the verified data into files and databases;
[0121] The task export submodule is responsible for checking whether the task to be exported has been exported, and packaging the unexported task files into task data packages for download;
[0122] The result analysis submodule first analyzes and merges the original measurement results of each measurement point, and then labels the results with geographic autonomous domains through labeling data; this submodule uses fast cloud geographic boundary recognition technology to identify the geographic boundaries within the cloud from the original measurement results, such as Figure 3 As shown, the identification process specifically includes:
[0123] Step 1. Parse the result file from a binary file into a path text file using an open source parsing tool;
[0124] Step 2. For each path in each result file, extract two adjacent IPs into a pair of IP links, and save information such as the discovery time, latency, anonymous hop count between the two IPs, and the measurement point where the link was discovered;
[0125] Step 3. For each result file, merge the obtained IP links, merge the same links into 1, update the delay, discovery time, and anonymous hop count information of the new link, and obtain the link text file of each measurement point;
[0126] Step 4. Merge the link text files of the measurement points, and update the information such as the return delay, discovery time, anonymous hop count between IPs, and the measurement points where the links are discovered, to obtain the total link text file of the task;
[0127] Step 5. Create a geographic information tag interface and an autonomous domain information tag interface;
[0128] Step 6. Use the geographic information tagging interface and the autonomous domain information tagging interface to tag the IPs in the total link text file, and remove the IPs that cannot be tagged;
[0129] Step 7. Traverse the marked files and find the cloud internal geographic boundary links.
[0130] According to an embodiment of the present invention, the specific process of using the fast cloud geographic boundary identification technology to identify the geographic boundary inside the cloud from the original measurement results is as follows: first, traverse the result folder and convert the binary warts file therein into a text file via the sc_warts2text tool provided by the measurement tool, and then treat the two adjacent IPs in each text file as a link, wherein the IP with a smaller ttl is the input IP, and the IP with a larger ttl is the output IP, and calculate the link delay, anonymous hop count, discovery time and other information based on the information such as the delay of the two IPs, and save the measurement point of the link discovery. Then, merge the links of each measurement point, use the input and output IPs as the standard for judging whether the links are the same, merge the same links into one, and update the delay, discovery time, and anonymous hop count between IPs to the smallest in the link. Then, two-way merge is performed on the files of different measurement points in pairs, and the merging method and information update method are the same as the update method of the file link of each measurement point, and finally merge into a total link text file. Then, the prefix tree is used to construct the geographic information tag tree and the autonomous domain information tag tree, and the geographic information tag tree and the autonomous domain information tag tree are used to tag the IP in the total link text file, and the IP attributes that cannot be tagged are set to null. Finally, the tagged file is traversed to find the links where the outgoing IP and the incoming IP belong to different countries and the number of anonymous hops is 0, and the IP in the autonomous domain of the cloud in such links is marked as the cloud internal geographic boundary link. The pseudo code is shown below.
[0131]
[0132] The file formats of textFile, linkFile, and markedFile in the code are Figure 4 shown.
[0133] Furthermore, since theoretically when cloud measurement points are used to measure targets within the cloud, the path IPs obtained should all belong to the cloud itself, the result analysis submodule also tracks the IPs that do not belong to the cloud in the measurement results. By discovering the information of the linked measurement points, the measurement target of the IP is found in the path text files of each measurement point, and then the whois tool is used to actively query the organization to which the IP belongs. If the query finds that the IP does not belong to the cloud, the prefix to which the IP belongs is recorded, and the IP prefix is removed in the subsequent measurement target selection process.
[0134] The display submodule displays the obtained data results to the user in the form of a web page, as well as the neighbor IPs of each result IP in this measurement, the IPs within three hops, and the path from the measurement point to the result IP.
[0135] 3) The task scheduling module includes a task import submodule, a task distribution and result extraction module, and a task control submodule. Among them, the task import submodule is responsible for receiving the task information data packet exported by the task processing module, decompressing it and putting the data into the database;
[0136] The task delivery and result extraction submodule is responsible for analyzing the various parameters in the imported task file, generating different measurement task data structures according to different parameters, transferring the file package to be used for measurement to the corresponding measurement point, issuing a command to start measurement to the measurement point and extracting the data obtained by the measurement point in real time, and packaging the result data of all measurement points after the measurement is completed;
[0137] The task control submodule is responsible for interrupting, stopping, and resuming the task at the process level and constantly monitoring the status of the measurement point to see if it is offline. Specifically, during actual detection, the measurement point may suddenly go offline before or during detection due to network or other reasons. The measurement point that goes offline before detection will cause the target that should have been detected by this measurement point to not be detected, and the integrity of the measurement result data will be lost; and the measurement point that goes offline abnormally during detection may not be able to update the detection status and it is considered that the measurement point cannot complete the measurement task, causing the task to be stuck. In addition, the sum of the results obtained from all measurements is often large, and pulling them uniformly after the measurement will consume a certain amount of time and also occupy most of the bandwidth of the machine. In order to solve the above problems, the present invention uses a measurement status monitoring method in the task control part, and the specific steps of this method are as follows:
[0138] Step 1. At the beginning of the program, a tag is assigned to each measurement point. The size of this tag is used to record the status of the measurement point. The status of the measurement point includes three types: alive, questionable, and offline. During the entire program execution, the status of the measurement point will continuously switch between these three.
[0139] Step 2. Perform a ping (target reachability detection) operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark;
[0140] Step 3. When the task is about to be executed, use the status of the measurement points to filter the measurement points to be used, remove the measurement points marked as offline, and actively ping again to remove the measurement points that did not respond in this ping, so as to obtain an updated measurement point list;
[0141] Step 4. Pack data packets for each measurement point according to the updated measurement point list and task configuration and transmit them to the measurement point, and all of them are sent to the backward measurement point to issue the task of starting measurement;
[0142] Step 5. At regular intervals, loop through the measurement points and execute step 6;
[0143] Step 6. During the task execution, continuously traverse the measurement points, ping the current measurement point, and determine whether the current measurement point is still alive based on the reply. If it is still alive, execute step 7, or if it is not alive, remove the measurement point from the loop;
[0144] Step 7. Determine whether the measurement point task is completed. If completed, remove the measurement point from the loop. If not completed, execute step 8.
[0145] Step 8. Incrementally pull the task result data obtained from the measurement point. If there are still measurement points in the loop, execute step 5. If not, execute step 9.
[0146] Step 9. Finally, incrementally pull the result data of all measurement points, and then package and compress all measurement point result files into one file.
[0147] According to an embodiment of the present invention, in the measurement status monitoring method, the task scheduling module and the measurement module communicate using the celery tool, the task scheduling module serves as the broker of celery, and the measurement module serves as the worker. After initializing the broker, the task scheduling module will create a dictionary, the key of which is the alias of the measurement point, and the value is the mark of the measurement point. If the mark is 0, it means that the measurement point is alive, if the mark is 1-5, it means that the measurement point is in doubt, and if the mark is a negative number, it means that the measurement point has been disconnected. After that, the celery tool is used to execute the ping command on all the detection measurement points at regular intervals, and whether the measurement point as the worker is alive is determined based on whether it is replied. If a reply is received from a certain measurement point and the mark of the measurement point is a positive number, the number is reduced by one, if the measurement point mark is already 0, it remains unchanged, if the measurement point mark is a negative number, the number of marks of the measurement point is increased by one, if the reply fails and the measurement point mark is greater than or equal to 0 and less than 5, the number of marks of the measurement point is increased by one, if the measurement point mark is negative or greater than or equal to 5, the measurement point mark is directly set to -5 to represent that the measurement point has been disconnected. After that, when the task arrives at the task scheduler, the mark of the selected measurement point in the task configuration is determined, and the measurement points marked as negative are removed. At the same time, a ping operation is actively performed on the remaining measurement points again, and the measurement points that successfully respond are selected and the selected measurement point list is updated accordingly. According to the updated measurement point list and the task configuration, a data packet is packaged for each measurement point and transmitted to the measurement point. After all are delivered, a command to start measurement is issued to the measurement point through Celery.
[0148] During the task execution, the following steps are executed in a loop: 1. Traverse the measurement points and ping each traversed measurement point again. If the measurement point successfully replies or has not failed to reply for three consecutive rounds, execute step 2. If the measurement point has not replied for three consecutive rounds, it is considered that the measurement point has been abnormally disconnected during the measurement process. To prevent the measurement point from being stuck in the task, delete the measurement point from the measurement point list; 2. Check whether the status of the last task of the measurement point in celery is ready. If so, delete the measurement point from the measurement point list. If not, execute step 3; 3. Use the rsync tool to incrementally pull the task result data obtained by the measurement point. If there are still measurement points in the loop, continue the loop. If not, jump out of the loop.
[0149] Finally, rsync is used to incrementally pull the result data of all measurement points, and then all measurement point result files are packaged and compressed into one file using the tar tool.
[0150] 4) The measurement module may include a task receiving and executing submodule and an automatic restart submodule. The task receiving and executing submodule is mainly responsible for decompressing the data packet and executing the measurement script after receiving the start task command, and notifying the task scheduling module that the task of the measurement point is completed after the measurement is completed; the automatic restart submodule is responsible for periodically sending messages to the process to determine whether the process is alive based on whether it replies. If the process is found to have no reply for many consecutive times, it is considered that there is a problem with the process and the process is terminated. After ensuring that the task scheduling module also monitors that the measurement point is offline, the process is restarted.
[0151] In order to better transmit information among various modules, the present invention designs two task-related data structures, namely, task information data packet and measurement task data structure. The task information data packet (i.e., measurement task information) is a data packet obtained after the task processing module packages the user topology detection information. The topology detection information can be divided into three categories according to the functional classification:
[0152] a. Basic information of this task, including measurement type, task ID and task name;
[0153] b. The original target of this measurement, which may be a specific IP address or a network segment in CIDR format;
[0154] c. Parameters related to specific detection, including configuration parameters of the measurement tool, parameters used to generate specific measurement targets, and a list of measurement points used in this detection.
[0155] According to the classification of information, the task data structure of this module is designed as shown in Table 1, where the basic file contains the basic information of the task, the target file contains the original target of the task, and the config file contains the detection related parameters. After the three files are encrypted and compressed, they form a data packet of a measurement task. In addition, in order to facilitate the system to parse the file, except for the target file, the other two files store data in json format.
[0156] Table 1 Task data packet structure
[0157]
[0158] The measurement task data structure is a data structure that guides data preparation, command execution, result analysis and other operations in the entire detection process. Its design is shown in Table 2, where id stores the task id of this task, startTime stores the start time of this task, and steps is a list that stores data structures named step. Each step represents a step in the task execution process, including generating detection target files for each measurement point; generating detection commands; preliminary parsing of result files; labeling and storing detection results, etc.
[0159] Table 2 Data structure of the task
[0160]
[0161]
[0162] Step is the data structure of the specific steps of the task, and its specific design is shown in Table 3, where inputs and outputs represent the input and output of this step respectively, and command represents the command to be executed in this step.
[0163] Table 3 step data structure
[0164]
[0165] Furthermore, in addition to the above four main modules, the present invention also designs three other modules, namely:
[0166] Quick deployment module: This module aims to speed up system deployment and prevent installation failures caused by version incompatibility. This module uses docker software to package the system source code and operating environment, packages all modules into different images, and replaces the IP addresses in database access and website access with domain names; at the same time, it writes startup scripts for software that needs to be started manually. When deploying a new system, you only need to install docker software on the new machine, overwrite the image to the new machine, and write the domain name into the hosts file of the new machine;
[0167] Task log module: The purpose of this module is to record the task execution process and facilitate backtracking of errors. This module records detailed information during the task execution as a log file and stores various information in the form of JSON. It uses the measurement task data structure as the basic structure, further divides the step into task step name and subtask list, and uses the execution information of the step at each measurement point as a subtask in the list. On this basis, the start time and end time of each subtask are recorded.
[0168] Data encryption and login authentication module: The purpose of this module is to distinguish tasks issued by different users and encrypt the task data. Each task processing module in this module is set with a unique userid and put into the configuration file as a task attribute when generating tasks. At the same time, the username and password are set on the task scheduling module, and each pair of username and password is bound to a userid. Only by logging in to the task scheduling module with the username and password corresponding to the userid can the task be successfully imported, otherwise the task to be imported will be skipped. When pulling, the task scheduling module will also transfer tasks that do not belong to the same user to their respective task processing modules according to different userids, and use the openssl module that comes with linux to encrypt the data.
[0169] Another embodiment of the present invention provides a method for discovering geographical boundaries within a cross-border cloud, the method comprising the following steps:
[0170] Step 1: Use the cloud prefix selection method to obtain the IP prefix data belonging to the cloud to be tested;
[0171] Step 2: Obtaining measurement parameter data input by the user;
[0172] Step 3: Generate measurement task information based on the IP prefix data and measurement parameter data of the cloud to be measured;
[0173] Step 4: Issue topological measurement tasks to all measurement points according to the measurement task information, and obtain result data returned by the measurement points; the format of the result data is binary data;
[0174] Step 5: Analyze the resulting data to identify the geographic boundaries within the cloud.
[0175] In this embodiment, preferably, the specific steps of step 1 include:
[0176] Step 11: Utilize multiple databases that can extract cloud platform IP prefixes to obtain the corresponding relationship between cloud organization name, autonomous domain, and IP prefix, and construct a set containing the corresponding relationship between the three.
[0177] Step 12: Obtain the cloud organization name keywords of the cloud to be tested based on the name characteristics of the cloud organization of the cloud to be tested;
[0178] Step 13: Filter cloud organization name candidates in the set based on the cloud organization name keyword of the cloud to be tested;
[0179] Step 14: Based on the corresponding relationship, search the set for the autonomous domain corresponding to the cloud organization name candidate;
[0180] Step 15: Based on the corresponding relationship, search for one or more IP prefixes corresponding to the autonomous domain in the set;
[0181] Step 16: Merge multiple IP prefixes to obtain IP prefix data of the cloud to be tested.
[0182] In this embodiment, preferably, the measurement task information includes basic task information, original task target and measurement related parameters; the basic task information includes measurement type, task ID and task name; the original task target includes a specific IP address or a network segment in CIDR format; the measurement related parameters include the configuration parameters of the measurement tool, the parameters used to generate a specific measurement target and a list of measurement points used in this measurement.
[0183] In this embodiment, preferably, the specific steps of step 5 include:
[0184] Step 51, converting the result data from the binary format file into a path text file;
[0185] Step 52: Process each path text file to obtain a link text file for each measurement point. The specific process includes:
[0186] Step 521: for each path in each path text file, extract two adjacent IPs into a pair of IP links, and save the discovery time, delay, anonymous hop count between the two IPs, and the measurement point of the discovery link;
[0187] Step 522: for each path text file, merge the extracted IP links, merge the same links into one, and update the delay, discovery time, and anonymous hop count between IPs of the new link to obtain a link text file for each measurement point;
[0188] Step 53, merging the link text files of each measurement point to obtain the total link text file of the task;
[0189] Step 54: Create a geographic information tag interface and an autonomous domain information tag interface;
[0190] Step 55: Use the geographic information marking interface and the autonomous domain information marking interface to mark the IPs in the total link text file, and remove the IPs that cannot be marked;
[0191] Step 56: traverse the marked total link text file to find the cloud internal geographic boundary link.
[0192] In this embodiment, preferably, the method further includes: real-time monitoring of the status of the measuring point to ensure that the measuring task is smoothly executed; specifically including:
[0193] Each measurement point is assigned a tag. The size of the tag is used to record the status of the measurement point. The status of the measurement point includes alive, doubtful, and disconnected.
[0194] Perform a target reachability detection operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark;
[0195] When a task is about to be executed, the measurement points to be used are filtered using the status of the measurement points, and the measurement points whose status is marked as offline are removed; at the same time, a target reachability detection operation is actively performed again, and the measurement points that have no response in this target reachability detection operation are removed to obtain an updated measurement point list;
[0196] According to the updated measuring point list and task configuration, the measuring task information is transmitted to the measuring points in the measuring point list;
[0197] During the task execution process, the measurement points are continuously traversed and the target reachability detection operation is repeated to ensure that the measurement tasks are executed on the measurement points that are in the survival state.
[0198] According to the embodiment of the present invention, the specific implementation may be the following process:
[0199] Step 1. The prefix selection module downloads data from the Internet, analyzes the data and merges the analysis results from different sources, and finally obtains a set of IPV4 prefix data and autonomous domain data belonging to the cloud to be tested;
[0200] Step 2. The user inputs the parameters for data measurement, the selected measurement points and other information into the task processing module. The task generation submodule generates the target, config and basic files based on the input data and the IPV4 prefix data obtained by the prefix selection module and stores the task information into the database at the same time.
[0201] Step 3. When the user wants to export the task, the task export submodule encrypts the target, config, and basic files and the login authentication submodule's encryption, and packages them into a compressed package and downloads it;
[0202] Step 4. When the user imports the task compression package into the task scheduling, the task import submodule cooperates with the encryption and login authentication submodule to decompress and decrypt the compressed package, and puts the task data into the database;
[0203] Step 5. The task delivery and result extraction submodule obtains the measurement target from the measurement prefix sampling according to the various parameters in the imported task file, generates the measurement script according to the parameter configuration, and packages it into a measurement data packet and transmits it to the measurement point. When all measurement points receive the data packet, the command to start the task is issued to all measurement points used, and the data obtained by the measurement points are extracted in real time. After the measurement is completed, the encryption and login authentication submodule is cooperated to package and encrypt the result data of all measurement points;
[0204] Step 6. If the user wants to operate the task status while the task is in progress, the task control submodule can be used to pause, resume, or stop the task at the process level;
[0205] Step 7. The task processing module pulls down the result file of the task from the task scheduling module and uses the result analysis submodule to analyze the internal geographical boundary nodes of the cloud and stores the analysis results in the database;
[0206] Step 8. Track the IP addresses that do not belong to the cloud in the results, find the target prefix that detected the result, and actively query the organization to which the prefix belongs through the whois tool. If it is found that the organization does not belong to the cloud, the prefix is considered to be controversial, and the prefix will be removed in the next measurement prefix selection;
[0207] Step 9. The display submodule reads the task results from the database and displays the results to the user in the form of a web page;
[0208] Step 10. While carrying out the above process, the task log module records a log for each operation involving a task status change and saves it in the database.
[0209] It should be noted that, in addition to basic topology measurement, cloud detection can also include latency detection, alias detection, multicast detection, and so on. To implement these detection methods, different measurement tools need to be used. Therefore, the scalability of the present invention is mainly reflected in the scalability of the measurement tools: when you want to add a measurement tool, you only need to add the parameter configuration information corresponding to the measurement tool in the config file of the task, and add a function to analyze the original measurement results in the result analysis submodule of the task processing module, and add a function to generate the measurement script corresponding to the measurement tool in the task distribution and result pulling submodule of the task scheduling module. The execution process of the present invention uses the task as the smallest data unit for data transmission. Both the task distribution process and the result pulling and analysis process are independent of the measurement tool. Therefore, when adding a new measurement tool, there is no need to modify the entire execution process.
[0210] The function of a cross-border cloud internal geographic boundary discovery method described in this embodiment can be explained by the aforementioned cross-border cloud internal geographic boundary discovery system. Therefore, for the parts not described in detail in this embodiment, please refer to the above system embodiment and will not be repeated here.
[0211] The technical effect of the present invention is further verified through experiments.
[0212] In terms of measurement prefix selection, the experiment took Amazon Cloud as the measurement target, selected the as-organizations open source data released by CAIDA on January 1, 2022, and downloaded the BGP global routing prefix data released by ripe and routerview at the corresponding time, as well as the data in the BGP dataset of hurricane electric. After the cloud prefix selection method, 6851 IP prefixes were obtained using the CAIDA dataset, and 4337 IP prefixes were obtained by downloading Amazon Cloud data from the BGP dataset of hurricane electric. After merging, 6509 IP prefixes belonging to the Amazon Cloud were obtained. The number of IP addresses contained in these two datasets and after the merger is shown in the figure below. Figure 5 Compared with the two separate data sets, the number of IP addresses covered by the two sets of data has increased by about 1.7% and 13.4% respectively; at the same time, using the prefixes in the MaxMind geolocation dataset as the global IPv4 prefix dataset requires sampling and measuring 35,333,902 IP prefixes, and the target number to be measured is much higher than that of the present invention.
[0213] In the experiment, the prefix data obtained by the cloud prefix selection method and the global IPV4 prefix data were detected on the discovery rate of the internal geographical boundary of the cloud using the same measurement points and the same configuration. After prefix sampling, 231070 and 35647625 IP addresses to be tested were obtained respectively. After analyzing the measurement results, 106804 different link data and 24736 different IPs were obtained by the cloud prefix selection method, and 4636 cloud internal geographical boundary IPs were discovered. The global IPV4 prefix data method was used to obtain 7340834 different IPs and 5735949 different link data, and 5140 cloud internal geographical boundary IPs. It can be seen that although the number of internal geographical boundary IPs discovered by the present invention is slightly smaller than that of the global IPV4 prefix data method, the discovery rate of the internal geographical boundary of the cloud is much higher than that of the global IPV4 prefix data method.
[0214] In summary, the present invention improves the discovery rate of the internal geographical boundaries of the cloud while greatly reducing the measurement targets and measurement time. Compared with the global IPV4 prefix sampling, the measurement target set obtained by the cloud prefix selection method is reduced by about 100 times. At the same time, by comparing the results obtained by measurement, although the IP addresses and link data discovered by the cloud prefix selection method are much smaller than the global IPV4 prefix sampling, the discovered internal geographical boundaries of the cloud are only 500 less than the global IPV4 prefix sampling, and the discovery rate is increased by nearly 200 times.
[0215] Although the present invention has been described according to a limited number of embodiments, it will be apparent to those skilled in the art, with the benefit of the above description, that other embodiments are contemplated within the scope of the invention thus described. The disclosure of the present invention is intended to be illustrative rather than restrictive of the scope of the invention, which is defined by the appended claims.
[0216] The documents cited in the present invention are as follows:
[0217] [1]Luckie M.Scamper: a scalable and extensible packet prober for active measurement of the internet[C] / / Proceedings of the 10th ACM SIGCOMMconference on Internet measurement.ACM, 2010.
[0218] [2]Paxson V,Mahdavi J,Adams A,et al.An architecture for large scaleInternet measurement[J].IEEE Communications Magazine,1998,36(8):0-54.
[0219] [3] Kalidindi S, Zekauskas M J. Surveyor: An infrastructure for Internet performance measurements [C]. In INET'99, San Jose, CA, June 1999.
[0220] [4]McGregor T,Braun H W.Balancing cost and utility in activemonitoring:The AMP example[C].In INET 2000,Yokohama,Japan,July 2000.
[0221] [5]Huffaker B, Plummer D and Moore D, et al.Topology discovery by active probing[C].In SAINT 2002, pages 90–96, Nara City, Japan, January 2002.
[0222] [6] Zhang Yu, Fang Binxing, Zhang Hongli. Measurement and analysis of China's IP-level network topology[J]. Journal of Communications, 2007, 28(12):96-101.
[0223] [7]Bahador Yeganeh,Ramakrishnan Durairajan,Reza Rejaie,and WalterWillinger.2019.How Cloud Traffic Goes Hiding:A Study of Amazon's PeeringFabric.In Proceedings of the Internet Measurement Conference(IMC'19).Association for Computing Machinery,New York,NY,USA,202–216.DOI:https: / / doi.org / 10.1145 / 3355369.3355602
[0224] [8]Yeganeh B.,Durairajan R.,Rejaie R.,Willinger W.(2020)A FirstComparative Characterization of Multi-cloud Connectivity in Today’sInternet.In:Sperotto A.,Dainotti A.,Stiller B.(eds)Passive and ActiveMeasurement.PAM 2020.Lecture Notes in Computer Science,vol 12048.Springer,Cham. https: / / doi.org / 10.1007 / 978-3-030-44081-7_12
[0225] [9]Todd Arnold,Jia He,Weifan Jiang,Matt Calder,Italo Cunha,VasileiosGiotsas,and Ethan Katz-Bassett.2020.Cloud Provider Connectivity in the FlatInternet.In Proceedings of the ACM Internet Measurement Conference(IMC'20).Association for Computing Machinery,New York,NY,USA,230–246.DOI:https: / / doi.org / 10.1145 / 3419394.3423613
[0226]
[10] Lorenzo Corneo,Maximilian Eder,Nitinder Mohan,AleksandrZavodovski,Suzan Bayhan,Walter Wong,Per Gunningberg,Jussi Kangasharju,and Ott.2021.Surrounded by the Clouds:A Comprehensive Cloud Reachability Study.In Proceedings of the Web Conference 2021 ( WWW'21 ).Association forComputing Machinery,New York,NY,USA,295–304.DOI:https: / / doi.org / 10.1145 / 3442381.3449854
[0227]
[11] Burch H,Cheswick B.Tracing Anonymous Packets to Their ApproximateSource[C] / / Usenix Conference on System Administration.2000.
Claims
1. A cross-border cloud internal geographic boundary discovery system, characterized in that: It includes a user end and a server end, wherein the server end includes a prefix selection module, a task processing module, and a measurement module; The prefix selection module is configured to use a cloud prefix selection method to obtain IP prefix data belonging to the cloud to be tested; including: using multiple databases that can extract cloud platform IP prefixes to obtain the correspondence between cloud organization names, autonomous domains, and IP prefixes, and constructing a set containing the correspondence between the three; summarizing the name characteristics of the cloud organization of the cloud to be tested to obtain the cloud organization name keywords of the cloud to be tested; based on the cloud organization name keywords of the cloud to be tested, filtering cloud organization name candidates in the set; based on the correspondence, searching the autonomous domain corresponding to the cloud organization name candidate in the set; based on the correspondence, searching the set for one or more IP prefixes corresponding to the autonomous domain; merging multiple IP prefixes to obtain the IP prefix data of the cloud to be tested; The task processing module includes a task generation submodule, a task issuing submodule, and a result analysis submodule; wherein the task generation submodule is configured to obtain the measurement parameter data input by the user terminal, and generate measurement task information according to the IP prefix data of the cloud to be measured and the measurement parameter data; the task issuing submodule is configured to issue measurement tasks to all measurement points according to the measurement task information, and obtain result data returned by the measurement points, wherein the format of the result data is binary data; the result analysis submodule is configured to analyze the result data to identify the geographical boundaries within the cloud, including: Convert the result data from the binary format file to a path text file; process each path text file to obtain a link text file for each measurement point, the specific process includes: for each path in each path text file, extract two adjacent IPs into a pair of IP links, and save the discovery time, delay, anonymous hop count between the two IPs, and the measurement point where the link is discovered; for each path text file, merge the extracted IP links, merge the same links into 1, and update the delay, discovery time, and anonymous hop count between IPs of the new link to obtain a link text file for each measurement point; merge the link text files of each measurement point to obtain a total link text file for the task; create a geographic information tag interface and an autonomous domain information tag interface; use the geographic information tag interface and the autonomous domain information tag interface to tag the IPs in the total link text file, and remove the IPs that cannot be tagged; traverse the tagged total link text file to find the cloud internal geographic boundary link; The measurement module is configured to perform a measurement task according to the measurement task information.
2. A cross-border cloud internal geographic boundary discovery system according to claim 1, characterized in that: The measurement task information includes basic task information, original task target and measurement related parameters; the basic task information includes measurement type, task ID and task name; the original task target includes a specific IP address or a network segment in CIDR format; the measurement related parameters include the configuration parameters of the measurement tool, the parameters used to generate specific measurement targets and the list of measurement points used in this measurement.
3. A cross-border cloud internal geographic boundary discovery system according to claim 1 or 2, characterized in that: The system further includes a task scheduling module, which is configured to monitor the status of the measurement points in real time to ensure that the measurement tasks are executed smoothly; specifically, it includes: Each measurement point is assigned a tag. The size of the tag is used to record the status of the measurement point. The status of the measurement point includes alive, doubtful, and disconnected. Perform a target reachability detection operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark; When a task is about to be executed, the measurement points to be used are filtered using the status of the measurement points, and the measurement points whose status is marked as offline are removed; at the same time, a target reachability detection operation is actively performed again, and the measurement points that have no response in this target reachability detection operation are removed to obtain an updated measurement point list; Transmitting the measurement task information to the measurement points in the measurement point list according to the updated measurement point list and task configuration; During the task execution process, the measurement points are continuously traversed and the target reachability detection operation is repeated to ensure that the measurement tasks are executed on the measurement points that are in the survival state.
4. A method for discovering geographical boundaries within a cross-border cloud, characterized in that: The following steps are involved: Step 1: Use the cloud prefix selection method to obtain the IP prefix data belonging to the cloud to be tested; The specific steps include: Step 11: Utilize multiple databases that can extract cloud platform IP prefixes to obtain the corresponding relationship between cloud organization name, autonomous domain, and IP prefix, and construct a set containing the corresponding relationship between the three. Step 12: Obtain the cloud organization name keywords of the cloud to be tested based on the name characteristics of the cloud organization of the cloud to be tested; Step 13: Filter cloud organization name candidates in the set based on the cloud organization name keywords of the cloud to be tested; Step 14: Based on the corresponding relationship, search the set for the autonomous domain corresponding to the cloud organization name candidate; Step 15: Based on the corresponding relationship, search the set for one or more IP prefixes corresponding to the autonomous domain; Step 16: Merge multiple IP prefixes to obtain IP prefix data of the cloud to be tested; Step 2: Obtaining measurement parameter data input by the user; Step 3: Generate measurement task information according to the IP prefix data of the cloud to be measured and the measurement parameter data; Step 4: issuing topology measurement tasks to all measurement points according to the measurement task information, and obtaining result data returned by the measurement points; the format of the result data is binary data; Step 5: Analyze the result data to identify the geographical boundaries within the cloud. The specific steps include: Step 51, converting the result data from the binary format file into a path text file; Step 52: Process each path text file to obtain a link text file for each measurement point. The specific process includes: Step 521: for each path in each path text file, extract two adjacent IPs into a pair of IP links, and save the discovery time, delay, anonymous hop count between the two IPs, and the measurement point of the discovery link; Step 522: for each path text file, merge the extracted IP links, merge the same links into one, and update the delay, discovery time, and anonymous hop count between IPs of the new link to obtain a link text file for each measurement point; Step 53, merging the link text files of each measurement point to obtain the total link text file of the task; Step 54: Create a geographic information tag interface and an autonomous domain information tag interface; Step 55: Use the geographic information marking interface and the autonomous domain information marking interface to mark the IPs in the total link text file, and remove the IPs that cannot be marked; Step 56: traverse the marked total link text file to find the cloud internal geographic boundary link.
5. A method for discovering geographical boundaries within a cross-border cloud according to claim 4, characterized in that: The measurement task information includes basic task information, original task target and measurement related parameters; the basic task information includes measurement type, task ID and task name; the original task target includes a specific IP address or a network segment in CIDR format; the measurement related parameters include the configuration parameters of the measurement tool, the parameters used to generate specific measurement targets and the list of measurement points used in this measurement.
6. A method for discovering geographical boundaries within a cross-border cloud according to claim 4 or 5, characterized in that: The method further includes: monitoring the status of the measuring point in real time to ensure that the measuring task is smoothly executed; specifically including: Each measurement point is assigned a tag. The size of the tag is used to record the status of the measurement point. The status of the measurement point includes alive, doubtful, and disconnected. Perform a target reachability detection operation on all measurement points at regular intervals, and modify the mark of the measurement point according to whether the measurement point is replied and the current state of the measurement point, and modify the state of the measurement point according to the value of the modified mark; When a task is about to be executed, the measurement points to be used are filtered using the status of the measurement points, and the measurement points whose status is marked as offline are removed; at the same time, a target reachability detection operation is actively performed again, and the measurement points that have no response in this target reachability detection operation are removed to obtain an updated measurement point list; Transmitting the measurement task information to the measurement points in the measurement point list according to the updated measurement point list and task configuration; During the task execution process, the measurement points are continuously traversed and the target reachability detection operation is repeated to ensure that the measurement tasks are executed on the measurement points that are in the survival state.
Citation Information
Patent Citations
Cloud boundary identification method based on multi-source observation data and related equipment
CN112526638A
Method and system for quickly discovering IPv6 (Internet Protocol Version 6) network boundary equipment
CN113315814A