A method and apparatus for determining an AS routing path
Patent Information
- Application Number
- CN202311110350.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-08-30
AI Technical Summary
虽然该方法准确度较高,但由于VP数据的限制,只能对很少一部分源AS到目的AS的路由路径进行推断
[0032]能够准确得到所有源AS与所有目的AS之间的路由路径,且有效降低了计算复杂度。
Smart Images

Figure CN117118889B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication, and more particularly to a method and apparatus for determining an AS routing path. Background Technology
[0002] The current internet is a vast network comprised of over 60,000 Autonomous Systems (AS). When an AS needs to publicize its reachability, it needs to advertise a prefix and rely on the cooperation of other ASs to spread this advertisement to any other AS in the internet. The AS that initiates the prefix advertisement is the destination AS. During this advertisement process, ASs forward the prefix according to the Border Gateway Protocol (BGP) and record the AS path traversed by the prefix from the destination AS to themselves. Thus, when a user within any AS wishes to access the destination AS, it only needs to send traffic to the destination AS based on the AS path it has recorded. The AS that sends the traffic is the source AS.
[0003] Figure 1 This is a schematic diagram illustrating the prefix propagation process in an inter-domain routing system. (Example:) Figure 1 As shown, destination AS1 wants to announce its reachability, so it advertises a prefix f. This prefix f is forwarded between different ASs according to BGP, and each AS records its unique optimal path to prefix f. For example, AS2 may receive two paths, <2,1> and <3,2,1>, and it will choose the more advantageous one based on its local preferences and path length (e.g., ...). Figure 1 (2,1) In the Internet, some ASs voluntarily publish the prefix paths they record for research or public benefit purposes; these are called Vantage Points (VPs). Typically, a Route Collector (RC) can be used to collect the data published by VPs, and based on this, paths from any source AS to any destination AS in the Internet can be inferred.
[0004] Inferring fine-grained AS routing paths—that is, paths from a source AS to a destination AS under a specific prefix—is crucial for detecting internet route hijacking and route leakage, locating and predicting possible routing directions for network failures, and improving route transmission quality. Furthermore, since a destination AS may advertise more than one prefix, inferring multiple paths between the source and destination AS reflects the AS's comprehensive routing strategy of accepting and propagating different prefixes under different neighbor contracts. This greatly assists ASs in calculating backup paths and improving load balancing.
[0005] Currently, there are two main methods for inferring AS routing paths. One is policy-based inference, which infers paths based on a rough classification of business cooperation between ASs. While it can infer paths from any source AS to any destination AS, its accuracy is very poor. The other method is concatenation-based inference. This method segments the paths observed by the VPN and then recombines the segments into new inferred paths. Although this method has higher accuracy, due to limitations in VPN data, it can only infer a small portion of routing paths from source AS to destination AS. Therefore, a new path inference scheme for arbitrary source AS to arbitrary destination AS is needed. Summary of the Invention
[0006] To address any of the aforementioned technical problems, embodiments of this application provide a method and apparatus for determining AS routing paths.
[0007] To achieve the objectives of the embodiments of this application, the embodiments of this application provide a method for determining an AS routing path, including:
[0008] Step A10: After receiving the m-th path inference request, obtain the current path inference model, wherein the path inference request is used to determine the path for propagation throughout the network for the current destination Autonomous System AS;
[0009] Step A20: Using the path of length N of the current destination AS as the inference condition, repeat steps A21 to A23 until all the verified paths obtained in the inference have a previous hop node without an AS. The obtained verified paths are then used as the path inference result for the m-th path inference request, including:
[0010] Step A21: Generate a path to be verified with a length of N+1 corresponding to the current destination AS;
[0011] Step A22: Perform the following operations on each path to be verified of length N+1, including:
[0012] For a current path to be verified with a length of N+1, the current path inference model is used to obtain the path from the current source AS to the current destination AS, and the path inference result of the current source AS is obtained.
[0013] If the probability that the current path to be verified actually exists in the path inference result of the current source AS is greater than the preset first probability threshold, then the current path to be verified is determined to be a verified path.
[0014] Step A23: Update the value of N to N+1, and continue to execute step A21;
[0015] Step A30: Update the training set of the current path inference model using the path inference result of the m-th path inference request;
[0016] Step A40: Use the updated training set of the path inference model to update the current path inference model, use the updated path inference model as the current path inference model, and continue to execute step A10;
[0017] Where m and N are both positive integers.
[0018] An apparatus for determining an AS routing path, comprising:
[0019] The acquisition module is configured to acquire the current path inference model after receiving the m-th path inference request, wherein the path inference request is used to determine the path for the current destination Autonomous System (AS) to propagate across the entire network.
[0020] The inference module is set to use the path of length N of the current destination AS as the inference condition, and loops through steps A21 to A23 until all the verified paths obtained in the inference have a previous hop node without an AS. The obtained verified paths are used as the path inference result of the m-th path inference request, including:
[0021] Step A21: Generate a path to be verified with a length of N+1 corresponding to the current destination AS;
[0022] Step A22: Perform the following operations on each path to be verified of length N+1, including:
[0023] For a current path to be verified with a length of N+1, the current path inference model is used to obtain the path from the current source AS to the current destination AS, and the path inference result of the current source AS is obtained.
[0024] If the probability that the current path to be verified actually exists in the path inference result of the current source AS is greater than the preset first probability threshold, then the current path to be verified is determined to be a verified path.
[0025] Step A23: Update the value of N to N+1, and continue to execute step A21;
[0026] The first update module is set to update the training set of the current path inference model using the path inference result of the m-th path inference request;
[0027] The second update module is set to update the current path inference model using the updated training set of the path inference model, and use the updated path inference model as the current path inference model obtained by the acquisition module.
[0028] Where m and N are both positive integers.
[0029] A storage medium storing a computer program, wherein the computer program is configured to execute the method described above when run.
[0030] An electronic device includes a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the methods described above.
[0031] One of the above technical solutions has the following advantages or beneficial effects:
[0032] It can accurately obtain the routing paths between all source ASs and all destination ASs, and effectively reduce the computational complexity.
[0033] Other features and advantages of the embodiments of this application will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the embodiments of this application. The objects and other advantages of the embodiments of this application may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description
[0034] The accompanying drawings are used to provide a further understanding of the technical solutions of the embodiments of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions of the embodiments of this application.
[0035] Figure 1 A schematic diagram illustrating the prefix propagation process in an inter-domain routing system;
[0036] Figure 2 This is a diagram illustrating the business relationship between AS.
[0037] Figure 3 A diagram illustrating the valley-free principle and the non-valley-free principle;
[0038] Figure 4 The location distribution diagram of the earliest differences in different prefixes of the same target AS provided in the embodiments of this application;
[0039] Figure 5 A flowchart illustrating the method for determining the AS routing path provided in an embodiment of this application;
[0040] Figure 6 A schematic diagram illustrating the correspondence between path concentration and AS degree provided in an embodiment of this application;
[0041] Figure 7 A graph showing the variation of path length deviation with AS degree provided in the embodiments of this application;
[0042] Figure 8 A schematic diagram illustrating the correspondence between the number of splicing points of the source AS and the AS degree provided in the embodiments of this application;
[0043] Figure 9 Another flowchart illustrating the method for determining the AS routing path provided in an embodiment of this application;
[0044] Figure 10 A schematic diagram of the AS routing path determination system provided in the embodiments of this application;
[0045] Figure 11 A comparison chart of AS-level path inference results based on the valley-free principle provided in the embodiments of this application;
[0046] Figure 12 A comparison diagram of the prefix-level path inference results based on the valley-free principle provided in the embodiments of this application;
[0047] Figure 13 A schematic diagram illustrating the path inference results based on the non-valley-free principle provided in this application embodiment;
[0048] Figure 14 A schematic diagram of the structure of the AS routing path determination device provided in the embodiments of this application. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be described in detail below with reference to the accompanying drawings. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be arbitrarily combined with each other.
[0050] In the process of developing this application, a technical analysis of the relevant technologies was conducted, and the following problems were found in the inference of AS routing paths in the relevant technologies, including:
[0051] First, the strategies of Action Servers (AS) on the Internet are proprietary, diverse, and complex. Even when faced with different prefixes of a destination AS declaration, other ASs often adopt different strategies for forwarding it, and complex strategies often reduce the accuracy of path inference.
[0052] Second, the number of Virtual Paths (VPs) is scarce, and the published data is limited and biased. Currently, there are only a few hundred VPs, and they are often concentrated in a few large or central Autonomous Systems (AS), resulting in very little knowledge about the paths used by peripheral ASs. This scarcity and biased data significantly complicates the broad inference of paths.
[0053] Third, existing technologies can only make inferences based on the valleyless principle. Although non-valleyless paths account for more than 10% of the network and are increasing year by year, no work has yet made inferences about non-valleyless paths.
[0054] Finally, the sheer scale of the internet introduces a combinatorial explosion problem for path inference. Arbitrary path inference can result in hundreds of billions of possible paths, necessitating effective constraints on the rules governing path inference to ensure it remains within acceptable time and storage requirements.
[0055] To address the aforementioned technical problems, embodiments of this application provide the following solutions, including:
[0056] Figure 2 This is a diagram illustrating the business relationship between AS. (Example:) Figure 2 As shown, the interconnected ASes on the Internet employ complex path transmission strategies, including traffic engineering, local preferences, and complex import / export strategies. For ease of study, these complex strategies are abstracted into two relationships: provider-customer (p2c) and peer-to-peer (p2p). In a p2c relationship, the customer pays the provider for network-wide reachability information, while in a p2p relationship, ASes exchange reachability information freely.
[0057] Figure 3 This is a diagram illustrating the valley-free principle and the non-valley-free principle. (Example) Figure 3 As shown, in order to maximize economic benefits, AS paths often follow a pattern of 0 or more hops c2p links, 0 or 1 hop p2p links, and 0 or more hops p2c links. Figure 3 The path on the left (which resembles a mountain peak) is also known as the valley-less path. In contrast, the path on the right (which is called the valley-less path) is... Figure 3 Paths with valleys on the right are also called non-valley-free paths. In existing Internet AS routing paths, valley-free paths account for approximately 90%, while non-valley-free paths account for approximately 10%.
[0058] While valley-free paths constitute the majority of paths on the Internet, non-valley-free paths are also very important and have been increasing in recent years. Compared to valley-free paths, non-valley-free paths have fewer restrictions, increasing the searchable space by more than an order of magnitude. Therefore, in this embodiment, determining the network-wide transmission path for the destination AS includes both valley-free and non-valley-free paths for the destination AS.
[0059] The valley-free rule path of the destination AS includes the AS-level path and the prefix-level path of the destination AS; where:
[0060] The AS-level path of the target AS is obtained by performing path inference operations based on the valley-free principle starting from the current target node.
[0061] For the prefix-level path of the target AS, the differences often occur in the very beginning stage of prefix propagation due to the different propagation paths of the prefixes. Figure 4 This is a map showing the earliest location differences among different prefixes of the same target AS provided in embodiments of this application. For example... Figure 4 As shown, the horizontal axis represents the number of hops from the target AS, and the vertical axis represents the value of the Cumulative Distribution Function (CDF). It can be seen that most prefixes begin to diverge at the first or second hop. In other words, for most prefixes, the subsequent propagation can be effectively inferred by using the first one or two hops of the initial propagation of the target AS as inference conditions.
[0062] For the prefix-level path of the current target AS, that is, the path obtained by performing path inference operation with the valley-free principle path corresponding to the initial propagation segment of any prefix declared by the current target node as the inference condition, wherein the initial propagation segment is the path generated within the j-th hop of the target AS, where j is a positive integer less than or equal to 2.
[0063] For non-valley-free path rules, the paths can be categorized based on the order of links within them, and path inference operations can be performed on each category based on the classification results. Table 1 shows the correspondence between the classification and proportion of non-valley-free path rules. See the table below for details:
[0064] (c2p)*(p2p)(p2p) 1,340,436(31.2%) 1 (c2p)*(p2p) ? (p2c)+(p2p) 979,192(22.8%) 1 (c2p)*(p2p)(p2p)(p2c)+ 780,424(18.2%) 2 (c2p)*(p2p)(p2p)(p2p) 177,946(4.1%) 1 (c2p)*(p2p)? (p2c)+(p2p)p2p) 169,302(3.9%) 1 other 850,227(19.8%) -
[0065] Table 1
[0066] Table 1 uses regular expressions to describe the link arrangement of AS paths, where * indicates one or more hops, ? indicates 0 or 1 hop, and + indicates 1 or more hops.
[0067] As can be seen from the sorting of links in the AS path in Table 1, there are two types of non-valley-free paths that dominate. The first type of path (type value 1) is a valley-free path followed by 1 to 2 hop p2p links; the second type of path (type value 2) is a valley-free path in the middle part where 0 or 1 hop p2p links are changed to 2 hop p2p links.
[0068] For a non-valley-free rule path of the current destination AS, the initial path segment corresponding to either the first type or the second type of path in the non-valley-free principle path of the current destination AS is used as the inference condition to perform the path inference operation; where:
[0069] The first type of path is a valleyless path for the current destination AS, where the next one or two hops are all p2p links;
[0070] The initial path segment is the path of the current destination AS in the non-valley-free principle. In the first type of path, there are two path segments with two p2p links after the c2p link. The initial path segment is then propagated in a p2c manner.
[0071] Based on the above description, the inference conditions used for the path of the target AS in the embodiments of this application include four types: AS-level path without valley rules, prefix level without valley rules, first type path without valley rules, and second type path without valley rules.
[0072] When the inference condition is an AS-level path with no valley rule, a prefix-level path with no valley rule, or a second-type path with no valley rule, the following scheme is used to determine the routing path of the current destination AS, including:
[0073] Figure 5 This is a flowchart illustrating the method for determining the AS routing path provided in an embodiment of this application. Figure 5 As shown, the method includes:
[0074] Step A10: After receiving the m-th path inference request, obtain the current path inference model, wherein the path inference request is used to determine the path for the current destination AS to propagate throughout the network;
[0075] Step A20: Using the path of length N of the current destination AS as the inference condition, repeat steps A21 to A23 until all the verified paths obtained in the inference have a previous hop node without an AS. The obtained verified paths are then used as the path inference result for the m-th path inference request, including:
[0076] Step A21: Generate a path to be verified with a length of N+1 corresponding to the current destination AS;
[0077] Step A22: Perform the following operations on each path to be verified of length N+1, including:
[0078] For a current path to be verified with a length of N+1, the current path inference model is used to obtain the path from the current source AS to the current destination AS, and the path inference result of the current source AS is obtained.
[0079] If the probability that the current path to be verified actually exists in the path inference result of the current source AS is greater than the preset first probability threshold, then the current path to be verified is determined to be a verified path.
[0080] Step A23: Update the value of N to N+1, and continue to execute step A21;
[0081] Step A30: Update the training set of the current path inference model using the path inference result of the m-th path inference request;
[0082] Step A40: Use the updated training set of the path inference model to update the current path inference model, use the updated path inference model as the current path inference model, and continue to execute step A10;
[0083] Where m and N are both positive integers.
[0084] In the above method flow, steps A10, A20, A30 and A40 constitute the loop for updating the path inference model (here referred to as the large loop), and steps A21, A22 and A23 constitute the loop for determining the propagation path of the current target AS across the entire network (here referred to as the small loop).
[0085] The current path inference model in the large loop is used to provide a basis for judgment in the path inference operation in the small loop.
[0086] Specifically, by using the operation in step A22, the path generation process is continuously pruned, removing paths to be verified whose actual existence probability is not greater than the first probability threshold, and retaining paths to be verified whose actual existence probability is greater than the first probability threshold to be added to the next small loop. This greatly reduces the number of generated paths and the space complexity required by the algorithm, thereby effectively controlling the number of paths to be verified generated in the next loop, effectively controlling the search scale of paths, and reducing computational complexity.
[0087] The path inference model uses the XGBoost model for training and prediction, which requires both positive and negative examples. All real paths observed by the VP can be considered positive examples, while the possible combinations of negative examples are infinite. Therefore, it's necessary to selectively include only a few negative examples that are most helpful to the entire training process to prevent time and space explosion. Thus, a method is proposed to continuously generate valuable negative examples during model learning and apply these negative examples to subsequent training processes. Therefore, this embodiment proposes using a smaller loop to update the path inference model in the larger loop after determining the path.
[0088] Specifically, in step A30, the training set of the current path inference model is updated using the path inference result of the m-th path inference request, and then the current path inference model is updated using the updated training set to implement the Generative Adversarial Learning Process (GALP) to improve the learning speed of the path inference model and provide more accurate path inference results in the path inference process of the next path inference request.
[0089] In step A30, a portion or all of the paths that were not observed by VP in the verification path can be used as negative examples of the training set.
[0090] Furthermore, the part of the path that was not observed by VP in the verification path will be used as a counterexample of the training set; the other part of the path will be used as a protection path and will not be used as data in the training set.
[0091] Since the VP's observations of the network are very limited, there will indeed be many real paths that go unobserved. Therefore, another set of paths that the VP has not observed is selected as guard paths, meaning that these guard paths will neither be added to the positive examples in the training set nor to the negative examples.
[0092] In practical applications, the current destination AS can be set to any AS, which will accurately obtain the routing paths between all source ASs and all destination ASs.
[0093] Specifically, the path corresponding to the inference condition is a valley-free path starting from the current target node; correspondingly, the path inference result of the m-th path inference request is the AS-level path of the current destination AS in the entire network; or,
[0094] The path corresponding to the inference condition is the valley-free path corresponding to the initial propagation segment of any prefix declared by the current target node. Correspondingly, the path inference result of the m-th path inference request is the prefix-level path transmitted by the current destination AS across the entire network; or...
[0095] The path corresponding to the inference condition is the initial path segment of the second type of path in the non-valley principle path of the current destination AS. Correspondingly, the path inference result of the m-th path inference request is the non-valley principle path of the second type of path transmitted in the whole network.
[0096] Based on the above analysis, it can be seen that the method provided in this application embodiment can accurately obtain the routing paths between all source ASs and all destination ASs, and effectively reduce the computational complexity.
[0097] The path inference model is explained below:
[0098] The initial data of the training set of the path inference model includes positive examples of paths observed by VP and negative examples of at least two paths that are not observed by VP and have the shortest path length in each AS, such as the 10 paths that are not observed by VP and have the shortest path length in each AS.
[0099] When m equals 1, since there are no path inference results generated by small loops, the path inference result of the current source AS is obtained in the following ways:
[0100] When the path corresponding to the inference condition is a valleyless path starting from the current target node, the shortest valleyless path generation algorithm is used to obtain at least two paths with the shortest path length and valleyless principle for the current source AS, and the inference result of the current source AS is obtained.
[0101] When the path corresponding to the inference condition is the valley-free path corresponding to the initial propagation segment of any prefix declared by the current target node, the shortest valley-free path generation algorithm is used to obtain the valley-free path with the shortest path length of the current source AS, and the inference result of the current source AS is obtained.
[0102] When the path corresponding to the inference condition is the second type of path among the non-valley-free principle paths of the current destination AS, the shortest valley-free path generation algorithm is adopted to obtain the valley-free principle path of the current source AS. At least two paths with the shortest path length and subsequent propagation mode of the valley-free rule path are p2c links and are taken as the inference result of the current source AS.
[0103] Correspondingly, when m equals 1, the step of updating the training set of the current path inference model using the path inference result of the m-th path inference request includes...
[0104] The verified paths in the path inference results are categorized into the following three types:
[0105] The paths observed by VP are used as positive examples in the training set;
[0106] Paths not observed by VP and whose path ranking value is greater than a preset order value are used as counterexamples in the training set;
[0107] Paths not observed by VP and whose path rank value is not greater than the order value will not be included in the data of the training set;
[0108] The paths identified as positive and negative examples in the training set are updated in the training set of the path inference model;
[0109] The path ranking values are sorted in order of path length from shortest to longest. The order value is the maximum of the first path number and the second path number. The first path number is the sum of the number of observable paths from the current source AS to the current target AS, and the second path number is the median of the sum of the number of paths from the current source AS to each target AS.
[0110] The number of the first path and the number of the second path are both the sum of the number of paths observed by VP.
[0111] The median, also known as the middle value, is a statistical term that refers to the middle number in a set of data arranged in sequence. In this embodiment, the order can be from most to least or least to most paths.
[0112] When m is not equal to 1, due to the path inference results generated by small loops, the path inference result of the current source AS is obtained in the following ways:
[0113] If the path corresponding to the inference condition is a valleyless path starting from the current target node, then the current target AS is used as the input, and the AS-level path output by the target model is used as the inference result of the current source AS.
[0114] When the path corresponding to the inference condition is the valley-free path corresponding to the initial propagation segment of any prefix declared by the current target node, the initial propagation segment of any prefix declared by the current target node is used as the input, and the path with the highest probability of actual existence among the paths of the prefix output by the target model is used as the inference result of the current source AS.
[0115] When the path corresponding to the inference condition is the second type of path in the non-valley-free principle path of the current target AS, the path with two p2p links after the c2p link in the first type of path is taken as input, and the path output by the target model is taken as the inference result of the current source AS.
[0116] Correspondingly, when m is not equal to 1, the step of updating the training set of the current path inference model using the path inference result of the m-th path inference request includes...
[0117] Paths with a probability of actual existence greater than the first threshold in the path inference results are identified into the following three categories:
[0118] The paths observed by VP are used as positive examples in the training set;
[0119] Paths that are not observed by VP and whose actual existence probability is greater than the first probability threshold and less than the preset second probability threshold are used as counterexamples in the training set.
[0120] Data that is not observed by VP but has a true probability greater than the second probability threshold will not be included in the training set.
[0121] The paths identified as positive and negative examples in the training set are updated in the training set of the path inference model.
[0122] As can be seen from the above, corresponding path inference results and corresponding training set update methods are provided for different situations.
[0123] The above-mentioned inferences based on path transmission strategies are comprehensive but inaccurate, while inferences based on splicing point information are accurate but incomplete. To address this technical problem, this application proposes the following solutions, including:
[0124] The current path inference model includes a current first path model and a current second path model; wherein the first path model infers the path from the source AS to the destination AS based on the path transmission strategy, and the second path model infers the path from the source AS to the destination AS based on the splicing point information.
[0125] The model used for the path inference result of the current source AS is obtained through the following methods:
[0126] Identify the AS category corresponding to the current source AS and obtain the identification result, wherein the AS category is a small AS that has not been sufficiently observed or a large AS that has been sufficiently observed;
[0127] Based on the identification results, a model is selected from the current first path model corresponding to the small AS and the current second path model corresponding to the large AS, and used as the model for the path inference result of the current source AS.
[0128] The following explains the path characteristics of a small AS:
[0129] The path transmission strategy of a small AS is simple enough that it can provide sufficiently good results. Considering that there is currently no publicly available standard for evaluating the complexity of AS strategies, this application proposes to use the following metrics to describe the complexity of the path transmission strategy of any source AS:
[0130] Path concentration ratio is the proportion of paths that an AS takes from a small number of its neighbors.
[0131] Figure 6 This diagram illustrates the correspondence between path concentration and AS degree as provided in an embodiment of this application. Figure 6 As shown, the highest percentage of paths from any source AS to the total number of paths is recorded. It can be seen that when the AS degree is less than 100, the three neighbors can provide more than 90% of its path count, proving that the strategy of this type of AS is simple.
[0132] Path length deviation is the deviation between an observed path and the simplest path that conforms to the valley-free principle.
[0133] The path length deviation can be determined by the first difference. Second difference And any difference in the third difference can be used to represent it, where:
[0134] 1. Measure the path length between the source AS and the destination AS as observed by VP. Subtract the shortest path length between the source AS and the target AS that conforms to the valley-free principle. Obtain the first difference
[0135] Correspondingly, the calculation expression is:
[0136] 2. Calculate the path length between the sampling AS and the destination AS observed by VP. Subtract the shortest path length between the sampled AS and the target AS that conforms to the valley-free principle. Obtain reference value Calculate the first difference again. Compared with the reference value The absolute value of the difference between them is used to obtain the second difference. Wherein, the sampling AS is the previous AS before the source AS in the direction from the destination AS to the source AS (i.e., the next hop node of the source AS).
[0137] Correspondingly, the calculation expression is: in
[0138] 3. Calculate the second difference between at least two paths observed by VP, calculate the average of at least two pairs of second differences, and obtain the third difference;
[0139] Correspondingly, the calculation expression is: Where m is the number of paths observed in the source AS s.
[0140] Of the three differences mentioned above, the first difference is adopted. When representing path length deviation, due to the first difference The value could also be due to the AS preceding the source AS in the direction from the destination AS to the source AS. Therefore, the second difference can be used. To overcome the first difference Potential biases may occur; additionally, the number of observed paths for the source AS s may be greater than two, if only the second difference corresponding to one path is considered. To represent the path length deviation, there may be calculation errors. Therefore, a second difference is calculated from multiple paths. The third difference Δ is obtained by averaging. s Using the third difference Δ s It indicates path length deviation with higher accuracy.
[0141] Among them, the first difference Second difference The smaller any of the third differences, the simpler the strategy; conversely, the larger the first difference... Second difference Furthermore, the larger any of the third differences is, the more complex the strategy will be.
[0142] Figure 7 This is a graph showing the variation of path length deviation with AS degrees, provided for embodiments of this application. Figure 7 It can be seen that the smaller the degree of an AS, the smaller its path deviation, indicating that its strategy will be simpler. Therefore, path inference is suitable for path transmission strategies for ASs with small degrees.
[0143] The path characteristics of large-scale ASs are explained below:
[0144] Large-scale Analytical Assemblages (AS) are sufficiently well-observed that stitching-based algorithms can provide accurate inferences. In stitching algorithms, the accuracy is determined by the number of stitching points. For example, if we want to infer a path from a source AS s to a destination AS d, and we find that we can observe a path from the source AS s to a certain AS x, and a path from AS x to the destination AS d, then AS x becomes a stitching point from the source AS s to the destination AS d. The more stitching points there are, the more likely the stitching algorithm is to find the correct path.
[0145] Based on the path characteristics of different AS categories in the above analysis, the path determination method proposed in this application combines the advantages of both methods. It uses splicing point information to make accurate inferences for a portion of large ASs (also known as coreAS) that are fully observed, and uses path transmission strategy to make comprehensive inferences for the remaining small ASs (also known as shellAS) that cannot be fully observed.
[0146] The step of identifying the AS category corresponding to the current source AS and obtaining the identification result includes:
[0147] If the number of splicing points of the current source AS is greater than or equal to the preset splicing point threshold, the current source AS is identified as a large AS; otherwise, the current source AS is identified as a small AS.
[0148] In the above identification method, if the number of splicing points of the current source AS is greater than or equal to the preset splicing point threshold, it means that the current source AS can be fully observed, and path inference based on splicing point information can obtain accurate path inference results; if the number of splicing points of the current source AS is less than the splicing point threshold, it means that the current source AS has not been fully observed, and path inference based on path transmission strategy can obtain comprehensive path inference results.
[0149] Furthermore, during the training process of the first path model, the source AS corresponding to the training data in the first path model satisfies the following conditions: the number of splicing points is less than the splicing point threshold, or the degree is less than the degree threshold.
[0150] During the training process of the second path model, the source AS corresponding to the training data in the second path model satisfies that the number of splicing points is greater than or equal to the splicing point threshold.
[0151] Specifically, the paths of source ASs with a degree less than a degree threshold and a number of splicing points greater than a splicing point threshold are used as training data shared by the second path model and the third path model during training.
[0152] The degree threshold and splicing point threshold are obtained in the following ways:
[0153] Based on the number of splicing points corresponding to each AS as a source AS, establish a correspondence between the number of splicing points and the degree of each AS;
[0154] In a coordinate graph where the horizontal axis represents the degree of AS and the vertical axis represents the number of splicing points, the position of each AS in the coordinate graph is determined according to the correspondence of each AS.
[0155] Based on the distribution density of AS in the coordinate graph, the boundary information of the two poles of AS distribution is determined. The value of the boundary line of the horizontal axis is used as the degree threshold, and the value of the boundary line of the vertical axis is used as the splicing point threshold.
[0156] Figure 8 This is a schematic diagram illustrating the correspondence between the number of splicing points of the source AS and the AS degree provided in the embodiments of this application. For example... Figure 8 As shown, the number of splicing points exhibits a bipolar distribution. The two dashed lines in the figure distinguish between large and small ASs; the horizontal dashed line is the boundary line for 1000 splicing points, and the vertical dashed line is the boundary line for 300 AS degrees.
[0157] Based on the two dividing lines mentioned above, AS can be divided into four regions, including:
[0158] Region 1: AS with a degree less than 300 and a number of splicing points less than 1000;
[0159] Area 2: AS with a degree less than 300 and a number of splicing points not less than 1000;
[0160] Area 3: AS with a degree of not less than 300 and a number of splicing points of less than 1000;
[0161] Area 4: AS with a degree of not less than 300 and a number of splicing points of not less than 1000.
[0162] Based on the path characteristics of small ASs, when an AS degree is less than 300, the path transmission strategy of such ASs is relatively simple. Therefore, the ASs in Region 1 and Region 2 are classified as small ASs.
[0163] Based on the path characteristics of large ASs, it can be seen that when an AS has more than 1000 splicing points, such ASs have been fully observed. Therefore, the ASs in regions 2 and 4 are classified as small ASs.
[0164] Based on the above classification results, AS in region 2 is classified into two categories simultaneously to ensure sufficient training data during the training of the first path model and the second path model, thereby guaranteeing the accuracy of the trained model in path inference.
[0165] from Figure 8 Based on the density of AS distribution, it can be seen that the number of AS in region 3 is relatively small and very limited. Its impact on the overall inference accuracy can be ignored, and a strategy method can be used to infer this type of AS.
[0166] The values 300 and 100 can be slightly adjusted without affecting the final result.
[0167] The above content explains how to determine the routing path of the destination AS based on the path inference model generated by GALP, and provides corresponding processing solutions for the first type of path in the non-valley-free principle path whose inference condition is not the current destination AS.
[0168] The following provides corresponding processing solutions for the first type of path in the non-valley-free principle of the path corresponding to the inference condition, which is the current destination AS:
[0169] Figure 9 This is another flowchart illustrating the method for determining the AS routing path provided in an embodiment of this application. For example... Figure 9 As shown, the method includes:
[0170] Step B10: Use the current path inference model to obtain the AS-level path of the last hop p2p link or p2c link, and obtain the valley-free rule path;
[0171] Step B20: For each valley-free rule path, perform the following two rounds of iterative operations, and use the paths that are determined to be real as the path inference results, including:
[0172] Step B21: For the current valley-free rule path of length N, obtain the path that is linked as a p2p link after the valley-free rule path, and get the path to be detected with length N+1.
[0173] Step B22: Using a preset machine learning model to determine the first type of path, determine whether the path to be detected actually exists;
[0174] Step B23: If the judgment result is that it truly exists, then update the value of N to N+1 and continue to execute step B21;
[0175] The training set paths used by the machine learning model include the paths obtained by adding one or two p2p links after the paths in the training set of the current path inference model.
[0176] As can be seen from the above process, for the first type of path in the non-valley-free rule path, since the regular expression of the first type of path is to add 1 or 2 p2p links to the suffix of the valley-free rule path, the required training set can be constructed based on the inference results of the path inference model mentioned above. Furthermore, since the training set of the path inference model generated based on GALP contains rich training data, the machine learning model does not need to be generated based on GALP. Using the paths generated from the training set of the path inference model as training data can also ensure the accuracy of the path inference results of the generated machine learning model.
[0177] Considering that the non-valley-free path of the first type consists of a valley-free path and one or two p2p links, and the valley-free path has already been given by GALP, the only task here is to infer its subsequent paths. There are two reasons for using splice point information to generate path inference results: First, most existing policy-based methods are based on the valley-free principle, and in the non-valley-free principle, only the rule of "p2p propagation of subsequent paths" can be utilized. Given that only one or two p2p links propagate, the reduction provided by policy-based methods is very limited, making splice point information a better approach. Second, there are relatively few ASs on the Internet that use the non-valley-free principle for routing, making it relatively easy to obtain reliable non-valley-free p2p fragments. In this case, obtaining how the p2p fragments propagate is not difficult; the key point is determining whether the AS will use the non-valley-free principle to propagate the path. Therefore, using splice point information for inference is a better choice.
[0178] The following describes the application example of the method provided in the embodiments of this application:
[0179] Figure 10 This is a schematic diagram of an AS routing path determination system provided in an embodiment of this application. Figure 10 As shown, the system includes a generator and a discriminator. The generator is used to iteratively generate paths to be verified node by node, and the discriminator determines the paths that have passed verification. The discriminator has a built-in path inference model to complete the path inference result for each source AS.
[0180] Considering that the non-valley-free paths of the first type consist of valley-free paths and one or two p2p links, and the valley-free paths are already provided by GALP, the only task is to infer their subsequent paths. There are two reasons for using splice point information to generate path inference results:
[0181] First, most existing policy-based methods are based on the valleyless principle, and in non-valleyless principle scenarios, only the "peer-to-peer propagation of subsequent links" rule can be utilized. Given that only one or two p2p links propagate, policy-based methods offer very limited constraints, making the use of join point information a clearly better approach.
[0182] Secondly, there are relatively few Action Servers (AS) on the internet that use the non-valley-free principle for routing, making it relatively easy to obtain more reliable non-valley-free P2P segments. In this case, obtaining how the P2P segments propagate is not difficult; the key point is determining whether the AS will use the non-valley-free principle for propagation. Therefore, using splicing point information for inference is a better choice.
[0183] Let's take the path retrieval process at the AS level as an example for explanation:
[0184] The smaller loop is implemented in the generator, where branches are continuously pruned to control the search scale while generating paths, while the larger loop uses the incorrect cases generated in the previous round as negative examples to improve the model's learning speed.
[0185] In the generator, starting from any destination AS, the process of its prefix being propagated across the internet is simulated. A path of length N (i.e., a path N-1 hops from the destination AS) is propagated to its neighbors, generating paths of length N+1. For paths of length N+1, a discriminator judges them; only paths deemed true with a probability higher than a first probability threshold t (e.g., 50%) are added to the next iteration, continuing to generate paths of length N+2. This significantly reduces the number of paths generated and the space complexity required by the algorithm.
[0186] In the main loop, all observed paths are considered positive examples, while paths that the discriminator determined should exist in the previous round but were not actually observed are considered negative examples. Specifically, in the first round, since there is no "previous round" discriminator to provide any results, a shortest valley-free path generation algorithm (i.e., each AS considers the shortest path it receives that conforms to the valley-free principle as a routing path) is used to generate initial discrimination results, and unobserved paths are considered negative examples. Once positive and negative examples are determined, they are fed into the first or second path model according to the classification of the source AS, and XGBoost learns two types of discriminators. Next, the discriminator determines which paths should exist (i.e., the probability of being judged as true is higher than t) and which should not exist (i.e., the probability of being judged as true is lower than t) from the results generated by the generator. For those paths that do exist, they are re-added to the training set. As mentioned earlier, paths that the discriminator believes should exist but were not observed are considered negative examples. However, due to the limited observation of the network, many real paths will indeed remain unobserved. Therefore, certain requirements are imposed on the determination of negative examples: only those paths that are deemed true by the discriminator to be more than t but less than the second probability threshold (e.g., 80%) and have not been observed will be added as negative examples. Paths with a probability higher than 80% but not observed will neither be added to the positive examples nor the negative examples.
[0187] Generally, 2-3 rounds of the large loop are sufficient to make relatively accurate path inferences. After the entire training process is completed, any target AS can be input, and the generator and discriminator will work together to accurately obtain its AS-level path for propagation across the entire network.
[0188] Table 2 shows the features used by the first and second path models in the discriminator, with * indicating features used only by the second path model. Since path segments starting from the source AS are only provided to the core AS and not the shell AS, the core AS can concatenate path segments from the source AS with path segments leading to the destination AS. The shell AS, however, cannot use concatenation and must rely on the basic AS strategy for inference. In addition, both models contain basic path information, such as basic AS properties (including next-hop AS preference, next-hop AS level, AS degree, neighbor degree and neighbor relationship, IXP, etc.), path properties (including path length, destination AS path segment fit, etc.), and shortest path related features (including shortest path length, path deviation from shortest path length, etc.).
[0189]
[0190] Table 2
[0191] The system's performance in specific application scenarios is illustrated using three RC platforms: RouteViews, RIPE RIS, and Isolario. Data from each month of 2020 is used to compare the results of the splicing point algorithm, the strategy algorithm, and the method provided in the embodiments of this application.
[0192] For valley-free AS-level path inference, 70% of the paths are used for training and 30% for validation. For valley-free prefix-level path inference, 10%–50% of the paths under a specific prefix are used as initial propagation fragments for the prefix. For non-valley-free path inference, 70% of the paths are used for training and 30% for validation. The results are as follows:
[0193] Figure 11 A comparison chart of AS-level path inference results based on the valley-free principle provided in this application embodiment. (See attached image.) Figure 11 As shown, 10-GR and KnownPath algorithms represent the results of policy-based inference methods, while ProbInfer, sibyl, and iPlaneNano represent the results of concatenation-based inference methods. The value of t indicates the results of the proposed scheme under different thresholds in the discriminator. Each symbol represents a month. The horizontal axis represents accuracy, i.e., the ratio of correctly inferred paths to all inference results, and the vertical axis represents coverage, i.e., the ratio of correctly inferred paths to all observable positive examples. The proposed scheme achieves 1.7 to 6.7 times higher accuracy or coverage than other algorithms.
[0194] Figure 12 A comparison diagram of the prefix-level path inference results based on the valley-free principle provided in this application embodiment. (See diagram below.) Figure 12 As shown, GR, KnownPath, and GR-C represent the results of the policy-based inference method, ProbInfer and sibyl represent the results of the concatenation-based inference method, the circles represent the results of the proposed solution, and the vertical lines in the figure are standard deviation error bars. With different proportions of paths under specific prefixes considered as initial propagation segments, the proposed solution achieves up to 9 times the accuracy improvement compared to other algorithms.
[0195] Figure 13 This is a schematic diagram illustrating the path inference results based on the non-valley-free principle provided in an embodiment of this application. For example... Figure 13 As shown, the circles and red crosses represent the accuracy and coverage of the first type of path and the second type of path, respectively. From Figure 13 It can be seen that the solution proposed in this application has an average accuracy and coverage of over 90% for path inference without valley principle.
[0196] Figure 14 This is a schematic diagram of the structure of the AS routing path determination device provided in an embodiment of this application. Figure 14 As shown, the apparatus includes:
[0197] The acquisition module 100 is configured to acquire the current path inference model after receiving the m-th path inference request, wherein the path inference request is used to determine the path for propagation across the entire network for the current destination Autonomous System AS;
[0198] Inference module 200 is configured to use the path of current destination AS length N as the inference condition, looping through steps A21 to A23 until all verified paths obtained through inference have a previous hop node without an AS. The obtained verified paths are used as the path inference result of the m-th path inference request, including:
[0199] Step A21: Generate a path to be verified with a length of N+1 corresponding to the current destination AS;
[0200] Step A22: Perform the following operations on each path to be verified of length N+1, including:
[0201] For a current path to be verified with a length of N+1, the current path inference model is used to obtain the path from the current source AS to the current destination AS, and the path inference result of the current source AS is obtained.
[0202] If the probability that the current path to be verified actually exists in the path inference result of the current source AS is greater than the preset first probability threshold, then the current path to be verified is determined to be a verified path.
[0203] Step A23: Update the value of N to N+1, and continue to execute step A21;
[0204] The first update module 300 is configured to update the training set of the current path inference model using the path inference result of the m-th path inference request.
[0205] The second update module 400 is set to update the current path inference model using the updated training set of the path inference model, and use the updated path inference model as the current path inference model obtained by the acquisition module.
[0206] Where m and N are both positive integers.
[0207] The apparatus provided in this application embodiment can accurately obtain the routing paths between all source ASs and all destination ASs, and effectively reduce the computational complexity.
[0208] This application provides a storage medium storing a computer program, wherein the computer program is configured to execute the method described in any of the preceding descriptions when it runs.
[0209] This application provides an electronic device including a memory and a processor. The memory stores a computer program, and the processor is configured to run the computer program to perform the method described in any of the preceding descriptions.
[0210] It will be understood by those skilled in the art that all or some of the steps, systems, or apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
Claims
1. A method for determining an AS routing path, characterized in that, include: Step A10: After receiving the m-th path inference request, obtain the current path inference model, wherein the path inference request is used to determine the path for propagation throughout the network for the current destination Autonomous System AS; Step A20: Using the path of length N of the current destination AS as the inference condition, repeat steps A21 to A23 until all the verified paths obtained in the inference have a previous hop node without an AS. The obtained verified paths are then used as the path inference result for the m-th path inference request, including: Step A21: Generate a path to be verified with a length of N+1 corresponding to the current destination AS; Step A22: Perform the following operations on each path to be verified of length N+1, including: For a current path to be verified with a length of N+1, the current path inference model is used to obtain the path from the current source AS to the current destination AS, and the path inference result of the current source AS is obtained. If the probability that the current path to be verified actually exists in the path inference result of the current source AS is greater than the preset first probability threshold, then the current path to be verified is determined to be a verified path. Step A23: Update the value of N to N+1, and continue to execute step A21; Step A30: Update the training set of the current path inference model using the path inference result of the m-th path inference request; Step A40: Use the updated training set of the path inference model to update the current path inference model, use the updated path inference model as the current path inference model, and continue to execute step A10; Where m and N are both positive integers.
2. The method according to claim 1, characterized in that: The path corresponding to the inference condition is a valley-free path starting from the current target node. Correspondingly, the path inference result of the m-th path inference request is the AS-level path of the current destination AS transmitted across the entire network; or... The path corresponding to the inference condition is the valley-free path corresponding to the initial propagation segment of any prefix declared by the current target node. Correspondingly, the path inference result of the m-th path inference request is the prefix-level path transmitted by the current target AS in the whole network, wherein the initial propagation segment is the path generated within the j-th hop of the target AS, where j is a positive integer less than or equal to 2. or, The path corresponding to the inference condition is the initial path segment of the second type of path in the non-valley principle path of the current destination AS. Correspondingly, the path inference result of the m-th path inference request is the non-valley principle path of the second type of path transmitted throughout the network. The initial path segment is a path segment in the first type of path in the non-valley principle path of the current destination AS where there are two peer-to-peer p2p links after the customer and supplier c2p link. The initial path segment is subsequently propagated in a supplier-customer p2c manner. The first type of path is a path in the non-valley principle path of the current destination AS where the last one or two hops are p2p links.
3. The method according to claim 1, characterized in that: When m equals 1, the path inference result of the current source AS is obtained in the following ways: When the path corresponding to the inference condition is a valleyless path starting from the current target node, the shortest valleyless path generation algorithm is used to obtain at least two paths with the shortest path length and valleyless principle for the current source AS, and the inference result of the current source AS is obtained. When the path corresponding to the inference condition is the valley-free path corresponding to the initial propagation segment of any prefix declared by the current target node, the shortest valley-free path generation algorithm is used to obtain the valley-free path with the shortest path length of the current source AS, and the inference result of the current source AS is obtained. When the path corresponding to the inference condition is the second type of path in the non-valley-free principle path of the current destination AS, the shortest valley-free path generation algorithm is adopted to obtain the valley-free principle path of the current source AS, and at least two paths with the shortest path length and subsequent propagation mode of the valley-free rule path are p2c links as the inference result of the current source AS. Correspondingly, when m equals 1, the step of updating the training set of the current path inference model using the path inference result of the m-th path inference request includes... The verified paths in the path inference results are categorized into the following three types: The path observed by observation point VP is used as a positive example in the training set; Paths not observed by VP and whose path ranking value is greater than a preset order value are used as counterexamples in the training set; Paths not observed by VP and whose path rank value is not greater than the order value will not be included in the data of the training set; The paths identified as positive and negative examples in the training set are updated in the training set of the path inference model; The path ranking values are sorted in order of path length from shortest to longest. The order value is the maximum of the first path number and the second path number. The first path number is the sum of the number of observable paths from the current source AS to the current target AS, and the second path number is the median of the sum of the number of paths from the current source AS to each target AS.
4. The method according to claim 2, characterized in that: When m is not equal to 1, the path inference result of the current source AS is obtained in the following ways: If the path corresponding to the inference condition is a valleyless path starting from the current target node, then the current target AS is used as the input, and the AS-level path output by the target model is used as the inference result of the current source AS. When the path corresponding to the inference condition is the valley-free path corresponding to the initial propagation segment of any prefix declared by the current target node, the initial propagation segment of any prefix declared by the current target node is used as the input, and the path with the highest probability of actual existence among the paths of the prefix output by the target model is used as the inference result of the current source AS. When the path corresponding to the inference condition is the second type of path in the non-valley-free principle path of the current target AS, the path with two p2p links after the c2p link in the first type of path is taken as input, and the path output by the target model is taken as the inference result of the current source AS. Correspondingly, when m is not equal to 1, the step of updating the training set of the current path inference model using the path inference result of the m-th path inference request includes... Paths with a probability of actual existence greater than the first threshold in the path inference results are identified into the following three categories: The paths observed by VP are used as positive examples in the training set; Paths that are not observed by VP and whose actual existence probability is greater than the first probability threshold and less than the preset second probability threshold are used as counterexamples in the training set. Paths that are not observed by VP but have a probability of actually existing greater than the second probability threshold will not be included in the data of the training set; The paths identified as positive and negative examples in the training set are updated in the training set of the path inference model.
5. The method according to any one of claims 1 to 4, characterized in that: The current path inference model includes a current first path model and a current second path model; wherein the first path model infers the path from the source AS to the destination AS based on the path transmission strategy, and the second path model infers the path from the source AS to the destination AS based on the splicing point information. The model used for the path inference result of the current source AS is obtained through the following methods: Identify the AS category corresponding to the current source AS and obtain the identification result, wherein the AS category is a small AS that has not been sufficiently observed or a large AS that has been sufficiently observed; Based on the identification results, a model is selected from the current first path model corresponding to the small AS and the current second path model corresponding to the large AS, and used as the model for the path inference result of the current source AS.
6. The method according to claim 5, characterized in that, The process of identifying the AS category corresponding to the current source AS and obtaining the identification result includes: If the number of splicing points of the current source AS is greater than or equal to the preset splicing point threshold, the current source AS is identified as a large AS; otherwise, the current source AS is identified as a small AS.
7. The method according to claim 6, characterized in that: During the training process of the first path model, the source AS corresponding to the training data in the first path model satisfies the following conditions: the number of splicing points is less than the splicing point threshold, or the degree is less than the degree threshold. During the training process of the second path model, the source AS corresponding to the training data in the second path model satisfies that the number of splicing points is greater than or equal to the splicing point threshold. Specifically, the paths of source ASs with a degree less than the degree threshold and a number of splicing points greater than the splicing point threshold are used as training data shared by the second path model and the first path model during training.
8. The method according to claim 7, characterized in that, The degree threshold and splicing point threshold are obtained through the following methods: Based on the number of splicing points corresponding to each AS as a source AS, establish a correspondence between the number of splicing points and the degree of each AS; In a coordinate graph where the horizontal axis represents the degree of AS and the vertical axis represents the number of splicing points, the position of each AS in the coordinate graph is determined according to the correspondence of each AS. Based on the distribution density of AS in the coordinate graph, the boundary information of the two poles of AS distribution is determined. The value of the boundary line of the horizontal axis is used as the degree threshold, and the value of the boundary line of the vertical axis is used as the splicing point threshold.
9. The method according to claim 2, characterized in that, The method further includes: When the path corresponding to the inference condition is the first type of path in the non-valley-free principle path of the current destination AS, the AS-level path of the last hop p2p link or p2c link is obtained by using the current path inference model to obtain the valley-free rule path. For each valley-free rule path, perform the following two rounds of iterative operations, and use the paths that are determined to be real as the path inference results, including: Step B21: For the current valley-free rule path of length N, obtain the path that is linked as a p2p link after the valley-free rule path, and get the path to be detected with length N+1. Step B22: Using a preset machine learning model to determine the first type of path, determine whether the path to be detected actually exists; Step B23: If the judgment result is that it truly exists, then update the value of N to N+1 and continue to execute step B21; The training set paths used by the machine learning model include the paths obtained by adding one or two p2p links after the paths in the training set of the current path inference model.
10. An apparatus for determining an AS routing path, characterized in that, include: The acquisition module is configured to acquire the current path inference model after receiving the m-th path inference request, wherein the path inference request is used to determine the path for the current destination Autonomous System (AS) to propagate across the entire network. The inference module is set to use the path of length N of the current destination AS as the inference condition, and loops through steps A21 to A23 until all the verified paths obtained in the inference have a previous hop node without an AS. The obtained verified paths are used as the path inference result of the m-th path inference request, including: Step A21: Generate a path to be verified with a length of N+1 corresponding to the current destination AS; Step A22: Perform the following operations on each path to be verified of length N+1, including: For a current path to be verified with a length of N+1, the current path inference model is used to obtain the path from the current source AS to the current destination AS, and the path inference result of the current source AS is obtained. If the probability that the current path to be verified actually exists in the path inference result of the current source AS is greater than the preset first probability threshold, then the current path to be verified is determined to be a verified path. Step A23: Update the value of N to N+1, and continue to execute step A21; The first update module is set to update the training set of the current path inference model using the path inference result of the m-th path inference request; The second update module is set to update the current path inference model using the updated training set of the path inference model, and use the updated path inference model as the current path inference model obtained by the acquisition module. Where m and N are both positive integers.
11. A storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program is configured to execute the method described in any one of claims 1 to 9 when it is run.
12. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Method and system for inferring various AS relationships based on a graph neural network
CN113919414A
Modification to as_path elements
US20080112418A1