The embodiments relate to the field of network technologies, and in particular, to a method and an apparatus for obtaining an interior gateway protocol domain through division in a network.
With the development of network technologies, a scale of a bearer network increases significantly. For example, an Internet protocol (=—IP) radio access network (=—RAN) may include tens of thousands of network nodes. Due to protocol limitation from an interior gateway protocol (=—IGP), one network is usually divided into a plurality of IGP domains. If a network includes a large quantity of network nodes, it may be very difficult to manually divide the network into IGP domains. Therefore, in the prior art, a method for automatically dividing a network into IGP domains is used. In this method, a coupling relationship between global network nodes and a quantity of common edges between rings formed by the network nodes are analyzed to combine and divide network areas, thereby obtaining an IGP domain with an appropriate size. Because an algorithm used in the prior art is used for division based on a relationship between all network nodes in a network, when network expansion or adjustment occurs subsequently, calculation and division need to be performed for all the network nodes in the network again, which is obviously inappropriate. Therefore, the existing solution is only applicable to a scenario of initial network planning. For subsequent network expansion or adjustment, domain division and adjustment can be only completed still manually. This results in high maintenance overheads and low efficiency in IGP domain division.
The embodiments provide a method and an apparatus for obtaining an interior gateway protocol (IGP) domain through division in a network, to resolve a prior-art problem of high maintenance overheads due to network expansion or adjustment.
To achieve the foregoing objectives, the following technical solutions are used in the embodiments:
According to a first aspect, an embodiment provides a method for obtaining an IGP domain through division in a network. The method may be applied to a bearer network such as an IP RAN. The network may include an access site link and a non-access site link. The access site link includes a link between access site devices and a link between an access site device and an aggregation site device. The non-access site link includes a link other than the access site link in the network. An execution process of the method is as follows: obtaining, by a network device, an IGP domain through division based on a link in an access site subgraph changed due to a change of a network topology of the network. The access site subgraph is one or more connection diagrams formed after the non-access site link is removed from the network topology.
In this embodiment, a subgraph is used as a basic computing unit. When the network topology changes, only the subgraph within a change range may be included in a range of IGP domain redivision, thereby reducing complexity of obtaining an IGP domain through redivision in a process of network expansion or adjustment, and implementing automatic domain division in a network change. In this way, efficiency of obtaining an IGP domain through division is improved, and maintenance overheads are reduced.
In a possible implementation, that the network device determines the changed access site subgraph based on the change of the network topology includes: determining, by the network device, the changed access site device based on the network topology; obtaining an access site subgraph in which the changed access site device is located; and then determining, as the changed access site subgraph, the access site subgraph in which the changed access site device is located.
In this embodiment, the changed access site device is used as a basis for determining the changed access site subgraph, and then the IGP domain is obtained through division based on the changed access site subgraph. The IGP domain may be obtained through division in an appropriate range, instead of being obtained through redivision in a larger range, thereby obtaining better efficiency and effects in obtaining the IGP domain through division.
In a possible implementation, the obtaining an IGP domain through division based on a link in a changed access site subgraph includes: searching the changed access site subgraph for a valid access ring and a chain that does not belong to any access ring, where the access ring is a path whose start point and end point in the access site subgraph are both an aggregation site device, the valid access ring is an access ring whose link quantity or node quantity does not exceed a limited threshold N of the IGP domain, and N is an integer greater than 1; allocating a link in the valid access ring to an atomic domain based on a ring in which the link is located; allocating a link in the chain that does not belong to any access ring, to an atomic domain based on a chain in which the link is located; and obtaining the IGP domain based on the atomic domain, where the atomic domain is a minimum unit for forming an IGP domain.
In this embodiment, the valid access ring is set, so that the IGP domain obtained through division based on the valid access ring directly meets a requirement of the IGP domain on the link quantity or the node quantity. This avoids a case in which a new IGP domain obtained through division is invalid because the new IGP domain does not meet the requirement of the link quantity or the node quantity, and redivision needs to be performed for the IGP domain. In this way, efficiency of IGP domain division is improved.
In a possible implementation, the performing allocation to an atomic domain based on a ring in which the link is located includes: obtaining a union set of links in all valid access rings in the changed access site subgraph, and traversing the links in the union set; and when the link does not belong to any atomic domain, calculating, by using a pre-constructed evaluation function, a valid access ring including the link, selecting, as an atomic domain based on a calculation result of the evaluation function, one valid access ring including the link, and adding the atomic domain to an atomic domain set; or when the link has been added to at least one atomic domain, continuing to traverse a next link until the atomic domain set includes all the links in the union set, where the atomic domain set is a set of atomic domains.
In a possible implementation, the selecting, as an atomic domain based on a calculation result of the evaluation function, one valid access ring including the link, and adding the atomic domain to an atomic domain set includes: selecting, as the atomic domain based on the calculation result of the evaluation function, a valid access ring that has a minimum or maximum value of the evaluation function, and adding the atomic domain to the atomic domain set.
In a possible implementation, the method further includes: constructing or adjusting the evaluation function in advance based on a division requirement of a user.
In this embodiment, the evaluation function is introduced for calculation for atomic domain division. In this way, the user such as an operator may adjust a final division result by adjusting a calculation algorithm of the evaluation function, to adapt to different service requirements, thereby improving flexibility of IGP domain division.
In a possible implementation, if the chain that does not belong to any access ring is an aggregation site device chain, and the aggregation site device chain is a chain including an aggregation site device, performing allocation to the atomic domain based on a type of the chain in which the link is located is: directly using the aggregation site device chain as an atomic domain.
In a possible implementation, if the chain that does not belong to any access ring is an access site device chain, and the access site device chain is a chain that does not include an aggregation site device, performing allocation to the atomic domain based on the type of the chain in which the link is located includes: searching the atomic domain set for a valid access ring intersected with the access site device chain; and if the valid access ring intersected with the access site device chain is found, and a total quantity of links of the found valid access ring and the access site device chain does not exceed a link threshold N of the IGP domain, forming the atomic domain by using the access site device chain and the found valid access ring; or if no valid access ring intersected with the access site device chain is found, or a total quantity of links of the found valid access ring and the access site device chain exceeds a link threshold N of the IGP domain, forming the atomic domain by using the access site device chain and a path from a head node of the access site device chain to a nearest aggregation site device through the access site link, where N is an integer greater than 1.
In a possible implementation, if the chain that does not belong to any access ring is an access site device chain, and the access site device chain is a chain that does not include an aggregation site device, performing allocation to the atomic domain based on the type of the chain on which the link is located includes: searching the atomic domain set for a valid access ring intersected with the access site device chain; and if the valid access ring intersected with the access site device chain is found, and a total quantity of nodes of the found valid access ring and the access site device chain does not exceed a node threshold N of the IGP domain, forming the atomic domain by using the access site device chain and the found valid access ring; or if no valid access ring intersected with the access site device chain is found, or a total quantity of nodes of the found valid access ring and the access site device chain exceeds a node threshold N of the IGP domain, forming the atomic domain by using the access site device chain and a path from a head node of the access site device chain to a nearest aggregation site device through the access site link, where N is an integer greater than 1.
In this embodiment, IGP domain division is performed based on different types of chains with reference to a requirement of IGP domain division on a total quantity of links or nodes, to make the IGP domain division more appropriate and effective.
In a possible implementation, the obtaining of the IGP domain based on the atomic domain includes: based on the requirement for the IGP domain division, using one atomic domain as one IGP domain, or combining, to one IGP domain, at least two atomic domains whose total quantity of links does not exceed the link threshold N, or combining, to one IGP domain, at least two atomic domains whose total quantity of nodes does not exceed the node threshold N.
In this embodiment, based on different requirements for the IGP domain division in practice, a flexible division manner may be used. The division manner may be that one atomic domain is one IGP domain, or a plurality of atomic domains are combined to one IGP domain. In addition, the requirement for the total quantity of links or the total quantity of nodes in the IGP domain is considered, to make the IGP division manner flexible and effective.
In a possible implementation, based on the foregoing, the method further includes the following processing: after the IGP domain division, allocating a domain number to the new IGP domain obtained through division. For example, in a process of allocating a domain number, for an IGP domain that includes a link carrying a historical domain number, the historical domain number in the new IGP domain obtained through division may be preferentially used as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, a new domain number is directly allocated to the IGP domain.
In this embodiment, the domain number is automatically, instead of manually, allocated to the new IGP domain obtained through division, thereby improving efficiency of allocating a domain number. In addition, in this embodiment, the historical domain number in the link in the IGP domain is fully used in the process of allocating a domain number, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, in a process of reallocating the historical domain number that is in the new IGP domain obtained through division and that is used as the idle number, reallocation is performed based on a quantity of links whose domain numbers need to be adjusted.
In this embodiment, whether to reallocate a domain number is determined based on the quantity of links whose domain numbers need to be changed, so that the domain numbers in the links are not greatly changed as much as possible, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, preferentially using the historical domain number in the new IGP domain obtained through division as the idle number for reallocation includes: dividing, into at least one association domain set, the new IGP domain obtained through division, where IGP domains with an association relationship are added to an association domain set, and the association relationship is that one IGP domain and another IGP domain include at least one same idle domain number; then, obtaining an idle domain number set of the association domain set, and reallocating, to an IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, an idle domain number from the idle domain number set of the association domain set; and when the idle domain numbers in the idle domain number set are insufficient for allocation, allocating a new domain number to an IGP domain to which no idle domain number is allocated in the association domain set.
In this embodiment, when there are a plurality of IGP domains having a same idle domain number, for example, every two IGP domains have a same idle domain number, domain numbers are allocated in comprehensive consideration of a domain number condition in the plurality of IGP domains, thereby minimizing a quantity of links whose domain numbers need to be changed in the process of allocating a domain number.
In a possible implementation, the reallocating, to an IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, an idle domain number from the idle domain number set of the association domain set includes: determining a quantity of allocation manners based on a quantity of elements in the association domain set and a quantity of elements in the idle domain number set; and when the quantity of allocation manners is less than a preset allocation manner threshold Q, selecting a manner in which the quantity of links whose domain numbers are to be modified in the association domain set is minimized, to perform allocation; or when the quantity of allocation manners is greater than or equal to a preset allocation manner threshold Q, selecting, based on each IGP domain in the association domain set, a manner in which a quantity of links whose domain numbers are to be modified in each IGP domain is minimized, to perform allocation, where Q is an integer greater than 1. In a possible implementation, the access site device is a cell site gateway (CSG), and the aggregation site device is an aggregation site gateway (ASG).
In this embodiment, a specified threshold condition is set. In this way, when there are excessive allocation manners, the domain number is allocated based on a single IGP domain; and when there is a relatively appropriate quantity of allocation manners, the domain numbers are allocated based on a plurality of IGP domains. Therefore, the foregoing benefits of allocating domain numbers based on a plurality of IGP domains can be obtained, and calculation complexity and time consumption brought due to domain number allocation based on the plurality of IGP domains when there are excessive allocation manners can be avoided, thereby improving efficiency and scientificity of allocating a domain number.
According to a second aspect, an embodiment provides a method for obtaining an IGP domain through division in a network. In this method, a network device performs IGP domain division in a changed network based on a network topology. After the IGP domain division, the network allocates a domain number to a new IGP domain obtained through division. In a process of allocating a domain number, for an IGP domain that includes a link carrying a historical domain number, the historical domain number in the new IGP domain obtained through division may be preferentially used as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, a new domain number is directly allocated to the IGP domain.
In this embodiment, the domain number is automatically, instead of manually, allocated to the new IGP domain obtained through division, thereby improving efficiency of allocating a domain number. In addition, in this embodiment, the historical domain number in the link in the IGP domain is fully used in the process of allocating a domain number, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, in a process of reallocating the historical domain number that is in the new IGP domain obtained through division and that is used as the idle number, reallocation is performed based on a quantity of links whose domain numbers need to be adjusted.
In this embodiment, whether to reallocate a domain number is determined based on the quantity of links whose domain numbers need to be changed, so that the domain numbers in the links are not greatly changed as much as possible, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, preferentially using the historical domain number in the new IGP domain obtained through division as the idle number for reallocation includes: dividing, into at least one association domain set, the new IGP domain obtained through division, where IGP domains with an association relationship are added to an association domain set, and the association relationship is that one IGP domain and another IGP domain include at least one same idle domain number; obtaining an idle domain number set of the association domain set; reallocating, to an IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, an idle domain number from the idle domain number set of the association domain set; and when the idle domain numbers in the idle domain number set are insufficient for allocation, allocating a new domain number to an IGP domain to which no idle domain number is allocated in the association domain set.
In this embodiment, when there are a plurality of IGP domains having a same idle domain number, for example, every two IGP domains have a same idle domain number, domain numbers are allocated in comprehensive consideration of a domain number condition in the plurality of IGP domains, thereby minimizing a quantity of links whose domain numbers need to be changed in the process of allocating a domain number.
In a possible implementation, the reallocating, to an IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, of an idle domain number from the idle domain number set of the association domain set includes: determining a quantity of allocation manners based on a quantity of elements in the association domain set and a quantity of elements in the idle domain number set; and when the quantity of allocation manners is less than a preset allocation manner threshold Q, selecting a manner in which the quantity of links whose domain numbers are to be modified in the association domain set is minimized, to perform reallocation; or when the quantity of allocation manners is greater than or equal to a preset allocation manner threshold Q, selecting, based on each IGP domain in the association domain set, a manner in which a quantity of links whose domain numbers are to be modified in each IGP domain is minimized, to perform reallocation.
In this embodiment, a specified threshold condition is set. In this way, when there are excessive allocation manners, the domain number is allocated based on a single IGP domain; and when there is a relatively appropriate quantity of allocation manners, the domain numbers are allocated based on a plurality of IGP domains. Therefore, the foregoing benefits of allocating domain numbers based on a plurality of IGP domains can be obtained, and calculation complexity and time consumption brought due to domain number allocation based on the plurality of IGP domains when there are excessive allocation manners can be avoided, thereby improving efficiency and scientificity of allocating a domain number.
According to a third aspect, an embodiment provides an apparatus for obtaining an IGP domain through division in a network. The network includes an access site link and a non-access site link. The access site link includes a link between access site devices and a link between an access site device and an aggregation site device. The non-access site link includes a link other than the access site link in the network. The apparatus includes a determining unit and a division unit. The determining unit is configured to determine a changed access site subgraph, where the access site subgraph is one or more connection diagrams formed after the non-access site link is removed from a network topology. The division unit is configured to perform IGP domain division based on a link in the changed access site subgraph.
In this embodiment, a subgraph is used as a basic computing unit. When the network topology changes, only the subgraph within a change range may be included in a range of IGP redivision, thereby reducing complexity of obtaining an IGP domain through redivision in a process of network expansion or adjustment and implementing automatic domain division in a network change. In this way, maintenance overheads are reduced.
In a possible implementation, when the access site device is a CSG, the determining unit is configured to: determine a changed CSG node based on a change of the network topology of the network; obtain an access site subgraph in which the changed CSG is located; and then determine, as the changed access site subgraph, the access site subgraph in which the changed CSG node is located.
In this embodiment, the changed access site device such as a CSG is used as a basis for determining the changed access site subgraph, and then the IGP domain is obtained through division based on the changed access site subgraph. The IGP domain may be obtained through division in an appropriate range, instead of being obtained through redivision in a larger range, thereby obtaining better efficiency and effects in obtaining the IGP domain through division.
In a possible implementation, the aggregation site device is an ASG. Correspondingly, that the division unit performs IGP domain division based on the link in the changed access site subgraph may include that the division unit is configured to: search the changed access site subgraph for a valid access ring and a chain that does not belong to any access ring; allocate a link in the valid access ring to an atomic domain based on a ring in which the link is located; allocate a link in the chain that does not belong to any access ring, to an atomic domain based on a chain in which the link is located; and obtain the IPG domain based on the atomic domain, where the atomic domain is a minimum unit for forming an IGP domain. The access ring is a path whose start point and end point are both an ASG. The valid access ring is an access ring whose link quantity does not exceed a limited threshold N of the IGP domain, where N is an integer greater than 1.
In this embodiment, the valid access ring is set, so that the IGP domain obtained through division based on the valid access ring directly meets a requirement of the IGP domain on the link quantity or the node quantity. This avoids a case in which a new IGP domain obtained through division is invalid because the new IGP domain does not meet the requirement of the link quantity or the node quantity, and redivision needs to be performed for the IGP domain. In this way, efficiency of IGP domain division is improved.
In a possible implementation, that the division unit performs allocation to the atomic domain based on the ring in which the link is located may include that the division unit obtains a union set of links in all valid access rings in the changed access site subgraph, and traverses the links in the union set; and when the link does not belong to any atomic domain, calculates, by using a pre-constructed evaluation function, a valid access ring including the link, selects, as an atomic domain based on a calculation result of the evaluation function, one valid access ring including the link, and adds the atomic domain to an atomic domain set; or when the link has been added to at least one atomic domain, continues to traverse a next link until the atomic domain set includes all the links in the union set. The atomic domain set is a set of atomic domains.
In a possible implementation, that the division unit selects, as the atomic domain based on the calculation result of the evaluation function, the valid access ring including the link, and adds the atomic domain to the atomic domain set may include that the division unit selects, as the atomic domain based on the calculation result of the evaluation function, a valid access ring that has a minimum or maximum value of the evaluation function, and adds the atomic domain to the atomic domain set.
In a possible implementation, the division unit may further construct or adjust the evaluation function based on a division requirement of a user.
In this embodiment, the evaluation function is introduced for calculation for atomic domain division. In this way, the user such as an operator may adjust a final division result by adjusting a calculation algorithm of the evaluation function, to adapt to different service requirements, thereby improving flexibility of IGP domain division.
In a possible implementation, if the chain that does not belong to any access ring is an aggregation site device chain, and the aggregation site device chain is a chain including an aggregation site device, that the division unit is configured to perform allocation to the atomic domain based on a type of the chain in which the link is located may be that the division unit directly uses the ASG chain as an atomic domain.
In a possible implementation, if the chain that does not belong to any access ring is an access site device chain, and the access site device chain is a chain that does not include an aggregation site device, that the division unit is configured to perform allocation to the atomic domain based on the type of the chain on which the link is located may include that the division unit searches the atomic domain set for a valid access ring intersected with the access site device chain; and if the valid access ring intersected with the access site device chain is found, and a total quantity of links of the found valid access ring and the access site device chain does not exceed a limited threshold N of the IGP domain, for example, a link threshold N, forms the atomic domain by using the access site device chain and the found valid access ring; or if no valid access ring intersected with the access site device chain is found, or a total quantity of links of the found valid access ring and the access site device chain exceeds a limited threshold N of the IGP domain, for example, a link threshold N, forms the atomic domain by using the access site device chain and a path from a head node of the access site device chain to a nearest ASG through the access site link, where N is an integer greater than 1.
In a possible implementation, if the chain that does not belong to any access ring is an access site device chain, and the access site device chain is a chain that does not include an aggregation site device, that the division unit is configured to perform allocation to the atomic domain based on the type of the chain on which the link is located may include that the division unit searches the atomic domain set for a valid access ring intersected with the access site device chain; and if the valid access ring intersected with the access site device chain is found, and a total quantity of nodes of the found valid access ring and the access site device chain does not exceed a limited threshold N of the IGP domain, for example, a node threshold N, forms the atomic domain by using the access site device chain and the found valid access ring; or if no valid access ring intersected with the access site device chain is found, or a total quantity of nodes of the found valid access ring and the access site device chain exceeds a limited threshold N of the IGP domain, for example, a node threshold N, forms the atomic domain by using the access site device chain and a path from a head node of the access site device chain to a nearest ASG through the access site link, where N is an integer greater than 1.
In this embodiment, IGP domain division is performed based on different types of chains with reference to a requirement of IGP domain division on a total quantity of links or nodes, to make the IGP domain division more appropriate and effective.
In a possible implementation, that the division unit is configured to obtain the IGP domain based on the atomic domain may include that the division unit is configured to: based on a requirement for the IGP domain division, use one atomic domain as one IGP domain, or combine, to one IGP domain, at least two atomic domains whose total quantity of links does not exceed the link threshold N.
In this embodiment, based on different requirements for the IGP domain division in practice, a flexible division manner may be used. The division manner may be that one atomic domain is one IGP domain, or a plurality of atomic domains are combined to one IGP domain. In addition, the requirement for the total quantity of links or the total quantity of nodes in the IGP domain is considered, to make the IGP division manner flexible and effective.
In a possible implementation, the apparatus further includes an allocation unit, configured to: after the division unit performs the IGP domain division, allocate a domain number to the new IGP domain obtained through division. For example, in a process in which the allocation unit allocates the domain number, for an IGP domain that includes a link carrying a historical domain number, the historical domain number in the new IGP domain obtained through division may be preferentially used as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, a new domain number is directly allocated to the IGP domain.
In this embodiment, the domain number is automatically, instead of manually, allocated to the new IGP domain obtained through division, thereby improving efficiency of allocating a domain number. In addition, in this embodiment, the historical domain number in the link in the IGP domain is fully used in the process of allocating a domain number, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, in a process in which the allocation unit reallocates the historical domain number that is in the new IGP domain obtained through division and that is used as the idle number, reallocation is performed based on a quantity of links whose domain numbers need to be adjusted.
In this embodiment, whether to reallocate a domain number is determined based on the quantity of links whose domain numbers need to be changed, so that the domain numbers in the links are not greatly changed as much as possible, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, that the allocation unit is configured to preferentially use, as the idle number for reallocation, the historical domain number in the new IGP domain obtained through division may include that
the allocation unit is configured to: divide, into at least one association domain set, the new IGP domain obtained through division, where IGP domains with an association relationship are added to an association domain set; obtain an idle domain number set of the association domain set; reallocate, to an IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, an idle domain number from the idle domain number set of the association domain set; and when the idle domain numbers in the idle domain number set are insufficient for allocation, allocate a new domain number to an IGP domain to which no idle domain number is allocated in the association domain set, where the association relationship is that one IGP domain and another IGP domain include at least one same idle domain number.
In this embodiment, when there are a plurality of IGP domains having a same idle domain number, for example, every two IGP domains have a same idle domain number, domain numbers are allocated in comprehensive consideration of a domain number condition in the plurality of IGP domains, thereby minimizing a quantity of links whose domain numbers need to be changed in the process of allocating a domain number.
In a possible implementation, that the allocation unit reallocates, to the IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, the idle domain number from the idle domain number set of the association domain set may include that
the allocation unit determines a quantity of allocation manners based on a quantity of elements in the association domain set and a quantity of elements in the idle domain number set; and when the quantity of allocation manners is less than a preset allocation manner threshold Q, selects a manner in which the quantity of links whose domain numbers are to be modified in the association domain set is minimized, to perform allocation; or when the quantity of allocation manners is greater than or equal to a preset allocation manner threshold Q, selects, based on each IGP domain in the association domain set, a manner in which a quantity of links whose domain numbers are to be modified in each IGP domain is minimized, to perform allocation, where Q is an integer greater than 1.
In this embodiment, a specified threshold condition is set. In this way, when there are excessive allocation manners, the domain number is allocated based on a single IGP domain; and when there is a relatively appropriate quantity of allocation manners, the domain numbers are allocated based on a plurality of IGP domains. Therefore, the foregoing benefits of allocating domain numbers based on a plurality of IGP domains can be obtained, and calculation complexity and time consumption brought due to domain number allocation based on the plurality of IGP domains when there are excessive allocation manners can be avoided, thereby improving efficiency and scientificity of allocating a domain number.
According to a fourth aspect, an embodiment provides an apparatus for obtaining an IGP domain through division in a network. The apparatus includes a division unit and an allocation unit. The division unit is configured to perform IGP domain division in a changed network based on a network topology. The allocation unit is configured to: after the division unit performs the IGP domain division, allocate a domain number to a new IGP domain obtained through division. For example, in a process in which the division unit allocates a domain number, for an IGP domain that includes a link carrying a historical domain number, the historical domain number in the new IGP domain obtained through division may be preferentially used as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, a new domain number is directly allocated to the IGP domain.
In this embodiment, the domain number is automatically, instead of manually, allocated to the new IGP domain obtained through division, thereby improving efficiency of allocating a domain number. In addition, in this embodiment, the historical domain number in the link in the IGP domain is fully used in the process of allocating a domain number, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, in a process in which the allocation unit reallocates the historical domain number that is in the new IGP domain obtained through division and that is used as the idle number, reallocation is performed based on a quantity of links whose domain numbers need to be adjusted.
In this embodiment, whether to reallocate a domain number is determined based on the quantity of links whose domain numbers need to be changed, so that the domain numbers in the links are not greatly changed as much as possible, thereby saving domain number resources and improving network stability to some extent.
In a possible implementation, that the allocation unit is configured to preferentially use, as the idle number for reallocation, the historical domain number in the new IGP domain obtained through division may include that
the allocation unit is configured to: divide, into at least one association domain set, the new IGP domain obtained through division, where IGP domains with an association relationship are added to an association domain set; obtain an idle domain number set of the association domain set; reallocate, to an IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, an idle domain number from the idle domain number set of the association domain set; and when the idle domain numbers in the idle domain number set are insufficient for allocation, allocate a new domain number to an IGP domain to which no idle domain number is allocated in the association domain set, where the association relationship is that one IGP domain and another IGP domain include at least one same idle domain number.
In this embodiment, when there are a plurality of IGP domains having a same idle domain number, for example, every two IGP domains have a same idle domain number, domain numbers are allocated in comprehensive consideration of a domain number condition in the plurality of IGP domains, thereby minimizing a quantity of links whose domain numbers need to be changed in the process of allocating a domain number.
In a possible implementation, that the allocation unit reallocates, to the IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted, the idle domain number from the idle domain number set of the association domain set may include that
the allocation unit determines a quantity of allocation manners based on a quantity of elements in the association domain set and a quantity of elements in the idle domain number set; and when the quantity of allocation manners is less than a preset allocation manner threshold Q, selects a manner in which the quantity of links whose domain numbers are to be modified in the association domain set is minimized, to perform reallocation; or when the quantity of allocation manners is greater than or equal to a preset allocation manner threshold Q, selects, based on each IGP domain in the association domain set, a manner in which a quantity of links whose domain numbers are to be modified in each IGP domain is minimized, to perform reallocation, where Q is an integer greater than 1.
In this embodiment, a specified threshold condition is set. In this way, when there are excessive allocation manners, the domain number is allocated based on a single IGP domain; and when there is a relatively appropriate quantity of allocation manners, the domain numbers are allocated based on a plurality of IGP domains. Therefore, the foregoing benefits of allocating domain numbers based on a plurality of IGP domains can be obtained, and calculation complexity and time consumption brought due to domain number allocation based on the plurality of IGP domains when there are excessive allocation manners can be avoided, thereby improving efficiency and scientificity of allocating a domain number.
According to a fifth aspect, an embodiment provides an apparatus for obtaining an IGP domain through division in a network. The apparatus may be an access site device (for example, a CSG), an aggregation site device (for example, an ASG), or a controller (for example, a software-defined networking (SDN) controller). The apparatus includes a processor and a memory. The processor is configured to execute a computer program in the memory, to perform the first aspect and any implementation of various possible implementations of the first aspect.
According to a sixth aspect, an embodiment provides an apparatus for obtaining an IGP domain through division in a network. The apparatus may be an access site device (for example, a CSG), an aggregation site device (for example, an ASG), or a controller (for example, an SDN controller). The apparatus includes a processor and a memory. The processor is configured to execute a computer program in the memory, to perform the second aspect and any implementation of various possible implementations of the second aspect.
For an effect of each implementation of the apparatus, refer to the descriptions in the foregoing corresponding part and descriptions below and with respect to the figures. Details are not described herein again.
According to a seventh aspect, an embodiment provides a system for obtaining an IGP domain through division in a network. The system includes an access site device (for example, a CSG) and an aggregation site device (for example, an ASG). The access site device may implement a function or a feature of any apparatus in the third aspect and various possible implementations of the third aspect; and/or the aggregation site device may implement a function or a feature of any apparatus in the third aspect and various possible implementations of the third aspect.
In a possible implementation, the system may further include a controller, for example, an SDN controller. The controller may implement a function or a feature of any apparatus in the third aspect and various possible implementations of the third aspect.
According to an eighth aspect, an embodiment provides a system for obtaining an IGP domain through division in a network. The system includes an access site device (for example, a CSG) and an aggregation site device (for example, an ASG). The access site device may implement a function or a feature of any apparatus in the fourth aspect and various possible implementations of the fourth aspect; and/or the aggregation site device may implement a function or a feature of any apparatus in the fourth aspect and various possible implementations of the fourth aspect.
In a possible implementation, the system may further include a controller, for example, an SDN controller. The controller may implement a function or a feature of any apparatus in the fourth aspect and various possible implementations of the fourth aspect.
For an effect of each implementation of the system, refer to the descriptions in the foregoing corresponding part and descriptions below and with respect to the figures. Details are not described herein again.
According to a ninth aspect, an embodiment provides a computer readable storage medium. The computer storage medium stores program code. The program code is used to instruct to perform the first aspect and any implementation of various possible implementations of the first aspect.
According to a tenth aspect, an embodiment provides a computer readable storage medium. The computer storage medium stores program code. The program code is used to instruct to perform the second aspect and any implementation of various possible implementations of the second aspect.
For an effect of each implementation of the computer readable storage medium, refer to the descriptions in the foregoing corresponding part and descriptions below and with respect to the figures. Details are not described herein again.
According to an eleventh aspect, an embodiment provides a processor. The processor may execute a computer program in the processor or read and execute a computer program outside the processor, to implement any method in the first aspect and various possible implementations of the first aspect.
According to a twelfth aspect, an embodiment provides a processor. The processor may execute a computer program in the processor or read and execute a computer program outside the processor, to implement any method in the second aspect and various possible implementations of the second aspect.
For an effect of each implementation of the processor, refer to the descriptions in the foregoing corresponding part and descriptions below and with respect to the figures. Details are not described herein again.
To describe the solutions in the embodiments or in the prior art more clearly, the following briefly describes the accompanying drawings for describing the embodiments or the prior art. Apparently, the accompanying drawings in the following description show some embodiments, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
The following clearly and comprehensively describes the technical solutions in the embodiments with reference to the accompanying drawings in the embodiments.
The embodiments may be applied to network division. Typically, the embodiments may be applied to interior gateway protocol (IGP) domain division in a bearer network. The following describes the solutions in the embodiments in detail by using an example in which IGP domain division is performed in an Internet protocol (IP) radio access network (RAN).
Generally, the IP RAN includes a core layer, an aggregation layer, and an access layer. The embodiments are mainly implemented at the aggregation layer and the access layer. The access layer of the IP RAN includes an access site device such as a cell site gateway (CSG), configured to receive and process various service signals of a base station and forward the processed service signals to the aggregation layer for transmission. The aggregation layer includes an aggregation site device such as an aggregation site gateway (ASG) ASG, configured to aggregate and forward various service signals processed by the CSG. To improve reliability, the IP RAN is usually a ring network. The aggregation site device may constitute an aggregation ring. A combination of an access device and an aggregation device may constitute an access ring. Each aggregation ring may be connected to a plurality of access rings. The embodiments are described in detail below by using the CSG and the ASG as an example. It should be noted that a CSG node, a CSG apparatus, a CSG device, and a CSG described in the embodiments may be used interchangeably. Correspondingly, an ASG node, an ASG apparatus, an ASG device, and an ASG may also be used interchangeably.
The CO nodes 102A-102D, the ASG nodes 103A-103E, and/or the CSG nodes 104A-104Z may perform data communication with a centralized controller (for example, a software-defined networking (SDN) controller). The centralized controller may be any type of controller, configured to receive network topology information from the CO nodes 102A-102D, the ASG nodes 103A-103E, and/or the CSG nodes 104A-104Z, and transmit network topology information about one or more IGP domains to the CO nodes 102A-102D, the ASG nodes 103A-103E, and/or the CSG nodes 104A-104Z. The centralized controller may be configured to implement one or more IP RAN division algorithms, for example, a network division method 600 to be discussed in
As it may be understood by a person of ordinary skill in the art after reading the embodiments, that the embodiments are not limited to specific applications although
The network element 200 may include one or more downlink ports 210 coupled to a transceiver (Tx/Rx) 220. The Tx/Rx 220 may be a transmitter, a receiver, or a combination thereof. The Tx/Rx 220 may transmit and/or receive a frame from another network node by using the downlink port 210. Similarly, the network element 200 may include another Tx/Rx 220 coupled to a plurality of uplink ports 240. The another Tx/Rx 220 may transmit and/or receive a frame from another node by using the uplink port 240. The downlink port 210 and/or the uplink port 240 may include electrical and/or optical transmitting and/or receiving components. In another example embodiment, the network element 200 may include one or more antennas coupled to the Tx/Rx 220. The Tx/Rx 220 may wirelessly transmit and/or receive data (for example, a packet) from another network element by using one or more antennas.
A processor 230 may be coupled to the Tx/Rx 220 and be configured to process a frame and/or determine which node to send (for example, transmit) a packet to. In an example embodiment, the processor 230 may include one or more multi-core processors and/or a memory 250. The memory 250 may be used as a data storage, a buffer, or the like. It may be understood that, in another embodiment, as shown in
The memory 250 may be configured to store instructions for executing the various embodiments described. For details, refer to descriptions in the following embodiments. In an example embodiment, the memory 250 may include a network division module 260 that can be implemented on the processor 230. When applied to an IP RAN network, in an example embodiment, the network division module 260 may be implemented on a centralized controller to divide the IP RAN network. In another example embodiment, the network division module 260 may be implemented on an ASG node (for example, the ASG nodes 103A-103E described in
It is understood that by programming an executable instruction and/or loading an executable instruction onto the network element 200, at least one of the processor 230, the buffer, and the long-term memory is changed, thereby transforming the network element 200 into a particular machine or apparatus such as a multi-core forwarding architecture having particular functions described in the embodiments. It may be understood that, according to a well-known design rule in this field, a function implemented by loading executable software to a computer may be converted to hardware implementation. This is very basic in the field of electronic engineering and software engineering. Whether to implement a particular new function by using software or hardware is usually determined based on design stability and a quantity of to-be-manufactured units instead of another related problem in conversion from a software field to a hardware field. Generally, a frequently changing design is preferred to be implemented by using software, because rewriting a hardware implementation solution is more expensive than rewriting software. Generally, a stable design to be applied for mass production may be preferred to be implemented by using hardware (for example, by using an ASIC), because for large production activities, costs of hardware implementation may be lower than costs of software implementation. Generally, a design may be developed and tested in a software form, and then be transformed, according to the well-known design rule in this field, to an equivalent hardware implementation solution in an ASIC that is hardwired to a software instruction. In the same manner, a new machine controlled by the ASIC is a particular machine or apparatus. Likewise, a programmed computer and/or a computer on which an executable instruction is loaded may also be considered as a particular machine or apparatus.
Any processing in the embodiments may be implemented by executing a computer program by a processor (for example, a general-purpose multi-core processor). In this case, a computer program product may be provided to a computer or a network device using any type of non-transitory computer readable medium. The computer program product may be stored in the non-transitory computer readable medium in the computer or the network device. The non-transitory computer readable medium may include any type of tangible storage medium. For example, the non-transitory computer readable medium includes a magnetic storage medium (for example, a floppy disk, a magnetic tape, or a hard disk drive), an optical magnetic storage medium (for example, a magneto-optical disk), a compact disc read-only memory (CD-ROM), a compact disc-recordable (CD-R), a compact disc-rewritable (CD-R/W), a digital versatile disc (DVD), a Blu-Ray® disc (BD), and a semiconductor memory (for example, a mask ROM, a programmable ROM (PROM), an erasable PROM, a flash ROM, and a RAM). In addition, the computer program product may be provided to a computer or a network device using any type of transitory computer readable medium. For example, examples of a transitory computer readable medium include an electrical signal, an optical signal, and an electromagnetic wave. The transitory computer readable medium can provide a program to a computer by using a wired communication line (for example, an electrical wire and an optical fiber) or a wireless communication line.
The network topology structure may include, but is not limited to, a ring, a chain, and a combination thereof. If an access site device has at least two non-overlapping paths along which the access site device is finally connected to an aggregation site device, it is considered that the two paths along which the access site device is connected to the aggregation site device form a ring, and the ring in this type is referred to as an access ring. Both a start point and an end point of the access ring are the ASG node. It may be understood that the ASG node may be a same ASG node or may be different ASG nodes. For example, a ring 310A in
A chain is a basic topology unit that cannot be connected to another device to form a ring network structure. The chain may include a head node and a plurality of CSG nodes. These CSG nodes may access another network topology structure and/or aggregation ring (for example, the aggregation ring described in
In a ring and a chain, nodes are connected to each other by using a link. The link between access site devices and the link between an access site device and an aggregation site device are referred to as access site links. A link other than the access site link is referred to as a non-access site link. For example, a link between a CSG and another CSG and a link between a CSG and an ASG are referred to as access site links. The link other than the access site link is referred to as the non-access site link.
The network topology structure may be generally represented by a diagram (for example, a structural diagram of a network topology shown in
In this embodiment, when the IGP domain division is performed, calculation is performed by using a changed topology domain in the network topology. For an initially constructed network topology (for example, a structural diagram of a network topology shown in
The network topology of
A network (for example, the network 100 described in
First, a quantity of links or nodes included in an IGP domain is less than a specified threshold N. For example, the quantity of links included in the IGP domain is less than a preset link threshold N, or the quantity of nodes included in the IGP domain is less than a preset node threshold N.
Second, it is ensured that a CSG is dual-homed at the IGP protocol level. This is to improve network reliability, so that the CSG node can reach at least one ASG node in case of a fault of an ASG node or a fault of a CSG node and/or a link fault.
Third, a quantity of shared links that belong to one or more IGP domains in a network may be relatively small. Generally, to meet the first requirement, a physical link may have to be configured as a plurality of logical links to be allocated to different IGP domains. However, during IGP domain division, the quantity of logical links needs to be reduced as much as possible.
Fourth, when the network topology is adjusted, configuration information of an original link domain should be adjusted as little as possible to be affected to a relatively minimum extent.
In addition, the IGP domain requirement may include any other appropriate requirement that can be understood by a person of ordinary skill in the art when reading the embodiments. One or more IGP domain requirements (for example, an IGP chain threshold) may be set and/or determined by a network operator or a manager. For example, the network operator may determine the link threshold by using a planning tool based on network scalability and/or a protocol used in a network (for example, an intermediate system to intermediate system (intermediate system to intermediate system, IS-IS) protocol). The network operator may transmit the one or more IGP domain requirements to an IGP domain division apparatus (for example, a centralized controller) by using a computer or any other appropriate device that can be understood by a person of ordinary skill in the art when reading the embodiments.
In step 602 in the method 600, a changed access site subgraph may be determined to obtain a set of changed access site subgraphs. The access site subgraph is one or more connection diagrams formed after a non-access site link is removed from a network topology (for example, two access site subgraphs included in
In step 604 in the method 600, each link in the changed access site subgraph may be allocated to an atomic domain, and an IGP domain may be obtained based on the atomic domain. The atomic domain is a minimum unit for forming an IGP domain. The atomic domain may be obtained through selecting a valid access ring in which each link is located and/or a chain in which each link is located. As described above, the changed access site subgraph may be divided into a plurality of rings (which may be referred to as a ring set), and one or more rings are selected from the ring set as the atomic domain. A set formed by these selected atomic domains is the atomic domain set. In a specific embodiment, a condition that an atomic domain belongs to an atomic domain set is that the atomic domain includes at least one physical link of the atomic domain set. It may be understood that the atomic domain may also include one or more chains. For example, when the access site subgraph includes only a chain, or the atomic domain is a combination of a ring and a chain, for example, one or more chains are mounted on some access rings, the ring and the chain mounted on the ring may be combined to one atomic domain when it is ensured that a link threshold or a node threshold is not exceeded. After the atomic domains are obtained, the atomic domains may be combined. The plurality of atomic domains are combined to one IGP domain, or one atomic domain may be directly used as one IGP domain. Allocating a link to an atomic domain is to be discussed in
In step 606 in method 600, a domain number may be allocated to the IGP domain. A specific implementation of allocating the domain number to the IGP domain is to be discussed in
Step 702: Determine a changed CSG node, to obtain a set of changed CSG nodes.
In this step, based on a network topology, a CSG node to which link addition or link deletion occurs may be determined as the changed CSG node, to obtain the set of changed CSG nodes. For example, all links in
Step 704: Determine a changed access site subgraph.
In a specific implementation, a specific implementation of determining the changed access site subgraph may be: traversing elements in the set of changed CSG nodes, obtaining an access site subgraph in which each element is located, and determining the access site subgraph as the changed access site subgraph. In all access site subgraphs included in the network topology, a set formed by an access site subgraph including any changed CSG node is referred to as the set of changed access site subgraphs.
Step 802: Search a changed access site subgraph for a valid access ring.
In a specific implementation, the valid access ring is an access ring whose link quantity does not exceed a link threshold N of an IGP domain. It may be understood that, that a node quantity does not exceed a node threshold N of an IGP domain may alternatively be used as a criterion for determining the valid access ring. In other words, the valid access ring is an access ring whose node quantity does not exceed the node threshold N of the IGP domain. The specified threshold of the IGP domain is specified in an IGP domain division requirement. When the link quantity of the IGP domain is used as a criterion for determining a valid access ring, the specified threshold is the link threshold N, where a value of N may be an integer greater than 1. It indicates that the quantity of links included in the IGP domain is less than N. When the node quantity of the IGP domain is used as a criterion for determining a valid access ring, the specified threshold is a node threshold N, where a value of N is an integer greater than 1. It indicates that the quantity of nodes included in the IGP domain is less than N. The following is described by using the link threshold as an example. In this embodiment, the valid access ring is defined based on the link threshold N specified in the IGP domain division requirement. For example, an access ring whose link quantity does not exceed the link threshold N is defined as a valid access ring. Then, IGP domain division is performed based on the valid access ring, so that an IGP domain obtained through division can meet the IGP domain division requirement. It may be understood that, if the link threshold N is not specified in the IGP domain division requirement, the valid access ring may include any access ring. In other words, any access ring may be considered as a valid access ring.
When step 802 is implemented, an access ring in the changed access site subgraph may be found by using an access ring search algorithm. The access ring search algorithm may be, but is not limited to, a Tiernan algorithm, a Johnson algorithm, or any effective search algorithm that can be understood by a person of ordinary skill in the art when reading this solution and that is used to locate one or more rings in a directed graph. For example, the adopted ring search algorithm may execute the following process: using each ASG device in a changed access site subgraph as a start point, executing a depth-first traversal algorithm, deeply traversing each path whose end point is an ASG device, and using, as an access ring, a path obtained through traversing whose length is greater than 2.
After access rings are found, access rings including a same node and a same link may be further filtered out; and an access ring whose link quantity exceeds the preset link threshold N is filtered out from the obtained access rings; or an access ring whose node quantity exceeds the preset node threshold N is filtered out. In this way, a set of valid access rings in the changed access site subgraph is obtained.
Step 804: Search the changed access site subgraph for a chain that does not belong to any access ring.
In the changed access site subgraph, one or more connection graphs formed after all links belonging to any access ring are removed are chains included in the access site subgraph. For example, after the links in the ring are removed from the access site subgraph 410B in
Step 806: Allocate each link in the changed access site subgraph to an atomic domain.
Because the access site subgraph may include a ring and a chain, when a link is allocated to an atomic domain, a link in the ring and a link in the chain may be allocated in different manners, or may be allocated in a same manner. Description is provided by using an example in which different allocation manners are used for the ring and the chain.
A. For a link in a ring, allocation to an atomic domain may be performed based on a valid access ring in which the link is located. Dual-homing at an IGP protocol level can be ensured through the allocation to an atomic domain based on a valid access ring. According to a dual-homing requirement, a CSG has two non-intersecting paths respectively to two ASGs on a physical link. In other words, the CSG device has two different paths to an aggregation layer on the physical link. It indicates that the CSG device needs to be in an access ring. The ring is allocated to an IGP domain, to ensure the dual-homing at the IGP protocol level. Therefore, in this embodiment, the IGP domain division is performed based on the valid access ring, so that the CSG node can reach at least one ASG node in case of a fault of an ASG node or a fault of a CSG node and/or a link fault.
In an embodiment, the allocation to an atomic domain based on a valid access ring in which a link is located may include the following:
A1. Obtain a union set of links in all valid access rings in the changed access site subgraph.
The access site subgraph 410B in
A2. Traverse the links in the union set; and if a link does not belong to any atomic domain, calculate, by using a pre-constructed evaluation function, a valid access ring including the link, select, as an atomic domain based on a calculation result of the evaluation function, one valid access ring including the link, and add the atomic domain to an atomic domain set; or if the link has been added to at least one atomic domain, continue to traverse a next link until the atomic domain set includes all the links in the union set, where the atomic domain set is a set of atomic domains. Initially, the atomic domain set is empty. Step A2 is performed, so that a new atomic domain obtained through division may be added to the atomic domain set.
The access site subgraph 410B in
i. First, traverse the link 402A-404C in the union set. Because the atomic domain set is empty initially, the link 402A-404C does not belong to any atomic domain. The valid access ring including the link is calculated by using the pre-constructed evaluation function.
The evaluation function is preset. Different evaluation functions may be constructed based on different service scenarios. Details of constructing the evaluation function are to be discussed in
The ring 406B and the ring 406D that include the link 402A-404C are calculated by using the foregoing evaluation function, and calculation results are F(ring 406B)=100*1+10*0+5=105 and F(ring 406D)=100*2+10*0+6=206.
Based on a service scenario, a valid access ring that has a minimum or maximum value of the evaluation function is selected as an atomic domain, and the atomic domain is added to the atomic domain set. An example of selecting a valid access ring that has a minimum value of the evaluation function is used. Therefore, the ring 406B is selected as an atomic domain and added to the atomic domain set.
ii. Then, traverse a second link 404C-404D in the union set. Because the ring 406B in the atomic domain set already includes the link, the next link in the union set is traversed.
iii. Traverse links 404D-404F, 404F-404E, and 404E-402B in sequence in the union set. This process is the same as step ii.
iv. Traverse a next edge 404F-404G in the union set. Because 404F-404G has not been added to the atomic domain set, evaluation functions F(ring 406D)=100*2+10*3+6=236 and F(ring 406C)=100*1+10*2+5=125 are applied to the ring 406C and the ring 406D that include 404F-404G. The ring 406C that has a minimum value of the evaluation function is selected and added to the atomic domain set. In this case, the atomic domain set includes all the links in the access site subgraph, thereby completing selection for the atomic domain set.
After the foregoing steps i-iv are performed, all links in a valid access ring are allocated to an atomic domain.
For the access site subgraph 410A in
B. For a link in a chain, allocation to an atomic domain may be performed based on a type of the chain in which the link is located.
The type of the chain may include an aggregation site device chain such as an ASG chain, or an access site device chain such as a CSG chain.
For the ASG chain, the ASG chain may be directly used as an atomic domain. Based on definition of an access site subgraph, if an access site subgraph includes an ASG chain, the access site subgraph includes only the ASG chain. Therefore, the ASG chain is directly used as an atomic domain, to complete atomic domain division of the access site subgraph, for example, the access site subgraph 510A in
For the CSG chain, the atomic domain division may be performed by using a valid access ring that is in an atomic domain set and that is intersected with the CSG chain. For example, a network device may search the atomic domain set for the valid access ring intersected with the CSG chain. If the valid access ring intersected with the CSG chain is found, and a total quantity of links/nodes of the found valid access ring and the CSG chain does not exceed a limited threshold N of an IGP domain, the CSG chain and the found valid access ring form the atomic domain. If no valid access ring intersected with the CSG chain is found, or a total quantity of links/nodes of the found valid access ring and the CSG chain exceeds a limited threshold N of an IGP domain, the CSG chain and a path from a head node of the CSG chain to a nearest ASG through the access site link form the atomic domain.
The CSG chain in the access site subgraph 410B in
It should be noted that the atomic domain formed by the CSG chain and the valid access chain in the atomic domain set may be used as a new atomic domain and be added to the atomic domain set, and the atomic domain formed by the valid access ring generated in step A is deleted from the atomic domain set.
For the access site subgraph 510B in
The atomic domain division may be completed through processing of the foregoing two parts A and B. The atomic domain obtained through division according to the foregoing method can not only ensure that the quantity of links included in the IGP domain is less than the preset link threshold N or that the quantity of nodes included in the IGP domain is less than the preset node threshold N, but also ensure that the CSG is dual-homed at the IGP protocol level. Therefore, an atomic domain may be directly used as an IGP domain. In some scenarios of IGP domain division in bearer networks, a requirement for reducing a total quantity of IGP domains as much as possible may be further put forward. Based on the division requirement, in this embodiment, atomic domains may be further combined, that is, at least two atomic domains whose total quantity of links does not exceed the link threshold N are combined to one IGP domain. During combination, combination may be performed based on a quantity of common edges between atomic domains, a scale of a combined atomic domain, and the like. For example, during combination, if it is required for the IGP domain division to reduce a quantity of logical links as much as possible, a policy by using which the quantity of common edges between atomic domains is minimized may be selected for combination. A specific combination policy may be set according to an actual service requirement. This is not limited herein.
It should be noted that the method shown in
Step 902: Determine whether a link carrying a historical domain number exists in a new IGP domain obtained through division.
The historical domain number means a domain number used by the link before the IGP domain division at this time. For example, in
A correspondence between an IGP domain and a domain number may be stored in a database. A network device may search records in the database to determine whether a link carrying a historical domain number exists in a new IGP domain obtained through division.
For an IGP domain that includes a link carrying a historical domain number, the historical domain number in the new IGP domain obtained through division is preferentially used as an idle number for reallocation. In a process of reallocating the historical domain number that is in the new IGP domain obtained through division and that is used as the idle number, reallocation may be performed based on a quantity of links whose domain numbers need to be adjusted. This process is described in detail in steps 904-908.
For an IGP domain that includes no link carrying a historical domain number, step 910 is performed to directly allocate a new domain number.
Step 904: Divide the new IGP domain obtained through division into at least one association domain set.
When the association domain set is obtained through division, IGP domains with an association relationship in new IGP domains obtained through division are added to an association domain set. If one IGP domain and another IGP domain include at least one same idle domain number, the two IGP domains are considered to have an association relationship therebetween. In other words, a necessary and sufficient condition on which an IGP domain belongs to an association domain set is that the IGP domain has at least one same idle domain number as one IGP domain in the association domain set.
Similarly, for example, in
Step 906: Obtain an idle domain number set of the association domain set.
The idle domain number set of the association domain set is a set of idle domain numbers included in each IGP domain in the association domain set. For example, an idle domain number set of the association domain set 514 in
Step 908: Reallocate an idle domain number in the idle domain number set of the association domain set to an IGP domain in the association domain set. When the idle domain numbers in the idle domain number set are insufficient for allocation, a new domain number is allocated to an IGP domain to which no idle domain number is allocated in the association domain set.
It is assumed that a quantity of elements in the association domain set is M, and a quantity of elements in the idle domain number set of the association domain set is P. Herein, M and P are integers greater than or equal to 1, an element in the association domain set is an IGP domain, and an element in the idle domain number set is an idle domain number.
When M>P, P IGP domains are selected from the M IGP domains, P idle domain numbers are allocated to these P IGP domains, and new domain numbers are allocated to remaining M-P domains.
When M<P, M domain numbers are selected from the P domain numbers and allocated to the M IGP domains in the association domain set.
When M=P, processing may be performed in the manner used when M>P, or may be performed in the manner used when M<P. In this embodiment, an example in which the processing is performed in the manner used when M>P is used.
In step 908, when the idle domain number is selected from the idle domain number set of the association domain set and reallocated to the IGP domain in the association domain set, the idle domain number in the idle domain number set may be allocated based on a quantity of links whose domain numbers need to be adjusted.
In a specific embodiment, the quantity of links whose domain numbers need to be adjusted may be a quantity of links whose domain numbers need to be adjusted in the association domain set.
If M and P are very large, it is very complex to calculate the quantity of links whose domain numbers need to be adjusted in the association domain set. In another example embodiment, a manner in which a quantity of links whose domain numbers are to be modified in each IGP domain is minimized may be selected based on each IGP domain in the association domain set, to perform allocation.
In another specific embodiment, the foregoing two manners may also be combined for processing. The following uses an example in which the two manners are combined, to describe the process in step 908 in which the idle domain number in the idle domain number set of the association domain set is reallocated to the IGP domain in the association domain set based on the quantity of links whose domain numbers need to be adjusted. The process includes the following steps:
i. Determine a quantity of allocation manners based on the quantity of elements in the association domain set and the quantity of elements in the idle domain number set.
When M>P, there are AMP allocation manners, because there are AMP selection manners for selecting P IGP domains from M IGP domains.
When M<P, there are APM allocation manners, because there are APM selection manners for selecting M domain numbers from P domain manners.
ii. When the quantity of allocation manners is smaller than a preset allocation manner threshold Q, select a manner in which the quantity of links whose domain numbers are to be modified in the association domain set is minimized, to perform reallocation; or when the quantity of allocation manners is greater than or equal to a preset allocation manner threshold Q, select, based on each IGP domain in the association domain set, a manner in which the quantity of links whose domain numbers are to be modified in each IGP domain is minimized, to perform reallocation.
The allocation manner threshold Q may be preset based on a network status. The value is set, so that a more efficient allocation manner can be selected based on different network scales.
In an example of
Manner 1: Allocate the domain number 2 to the IGP domain 512A and allocate the domain number 3 to the IGP domain 512B.
Manner 2: Allocate the domain number 3 to the IGP domain 512A and allocate the domain number 2 to the IGP domain 512B.
It is assumed that a value of Q is 10, and the quantity of allocation manners is 2 smaller than the value of Q: 10, a manner in which the quantity of links whose domain numbers are to be modified in the association domain set 514 is minimized is selected for reallocation. If the allocation is performed in Manner 1, the links that need to be adjusted are 502B-504E and 504E-504F. If the allocation is performed in Manner 2, the links that need to be adjusted are 502A-504C, 504C-504D, 502B-504E, 504E-504F, 504F-504G, 504G-504H, 504H-502C, and 504F-504I, and 504I-504J. Therefore, Manner 1 is selected for allocation.
The following describes construction of the evaluation function in the embodiment shown in
The evaluation function used in step 806 in
In another specific embodiment, an evaluation function may be further constructed as F′=100*Redundancy+10*Dist(access ring)+Size(access ring). In the evaluation function F′, a weight of Redundancy is the largest, a weight of Dist(access ring) is the second largest, and a weight of Size(access ring) is the smallest. It indicates that when the evaluation function F′ is constructed, a minimized quantity of redundant links is used as a first priority factor, a shortest access site path distance between ASGs at two ends of an access ring is used as a second priority factor, and a smallest access ring is used as a third priority factor.
In other words, a user (for example, an operator) may select a parameter and a weight suitable for a service requirement of the user, to construct an evaluation function; and then apply the evaluation function to IGP domain division, to achieve an objective of obtaining IGP domains through division that meet different service requirements of different users.
All the foregoing method embodiments may be implemented in an apparatus for obtaining an IGP domain through division. The apparatus may be a network device. The network device may exist independently in a network, or may be coupled to another network element in a network (for example, coupled to a centralized controller or an ASG node or a CSG node in an IP RAN network).
As shown in
The determining unit 1202 is configured to determine a changed access site subgraph. For specific implementation of a function of the determining unit 1202, refer to step 602 in
The division unit 1204 is configured to: allocate each link in the changed access site subgraph to an atomic domain; and obtain an IGP domain based on the atomic domain. For specific implementation of a function of the division unit 1204, refer to step 604 in
The allocation unit 1206 is configured to: after the division unit 1204 performs the IGP domain division, allocate a domain number to a new IGP domain obtained through division; and in a process of allocating a domain number, for an IGP domain that includes a link carrying a historical domain number, preferentially use the historical domain number in the new IGP domain obtained through division as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, directly allocate a new domain number to the IGP domain. For specific implementation of a function of the allocation unit 1206, refer to step 606 in
In a specific embodiment, a function of the network device 1200 may be implemented by the network element 200 shown in
As shown in
The division unit 1302 is configured to perform IGP domain division in a changed network based on a network topology. For specific implementation of a function of the division unit 1302, refer to step 602 and step 604 in
The allocation unit 1304 is configured to: after the division unit 1302 performs the IGP domain division, allocate a domain number to a new IGP domain obtained through division; and in a process of allocating a domain number, for an IGP domain that includes a link carrying a historical domain number, preferentially use the historical domain number in the new IGP domain obtained through division as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, directly allocate a new domain number to the IGP domain. For specific implementation of a function of the allocation unit 1304, refer to step 606 in
An embodiment further provides a computer storage medium, configured to store a computer software instruction used by the network device shown in
The network device 1400 includes at least one processor 1410 (for example, a CPU), at least one network interface 1420 or another communications interface, a memory 1430, and at least one communications bus 1440 that is configured to implement communication connection between these apparatuses. The processor 1410 is configured to execute a program 1431 stored in the memory 1430. The memory 1430 may include a high-speed RAM, or may include a nonvolatile memory, for example, at least one magnetic disk memory. The at least one network interface 1420 (which may be wired or wireless) is used to implement communication connection between the network device 1400 and at least one another network elements. The Internet, a wide area network, a local network, a metropolitan area network, or the like may be used.
The processor 1410 is configured to: perform IGP domain division in a changed network based on a network topology; after the IGP domain division, allocate a domain number to a new IGP domain obtained through division; and in a process of allocating a domain number, for an IGP domain that includes a link carrying a historical domain number, preferentially use the historical domain number in the new IGP domain obtained through division as an idle number for reallocation; for an IGP domain that does not include a link carrying a historical domain number, directly allocate a new domain number to the IGP domain. For specific implementation of the IGP domain division, refer to step 602 and step 604 in
It should be noted that the foregoing embodiments are described by using an IP RAN network and a network element in the IP RAN network as an example. The solutions in the embodiments may be further applied to another type of bearer network. For an implementation process of the solutions, refer to implementation in the IP RAN network, for example, in a PTN network.
According to the solutions used in the embodiments, a subgraph is used as a basic computing unit. When the network topology changes, only the subgraph within a change range may be included in a range of IGP redivision, thereby reducing complexity of obtaining an IGP domain through redivision in a process of network expansion or adjustment and implementing automatic domain division in a network change.
In an example embodiment, in the embodiments, the evaluation function is introduced for calculation for atomic domain division. In this way, the user may adjust a final division result by adjusting a calculation algorithm of the evaluation function, to adapt to different service requirements, thereby improving flexibility of IGP domain division.
Although the implementations and examples are described with reference to the embodiments, in a process of implementing the embodiments, a person of ordinary skill in the art may understand and implement another variation of the disclosed embodiments by viewing the accompanying drawings, and disclosed content. A single processor or another unit may implement several functions enumerated in the claims. Some measures are recorded in dependent claims that are different from each other, but this does not mean that these measures cannot be combined to produce a better effect.
A person of ordinary skill in the art should understand that the embodiments may be provided as a method, an apparatus (device), or a computer program product. Therefore, the embodiments may use a form of hardware only embodiments, software only embodiments, or embodiments with a combination of software and hardware. Moreover, the embodiments may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, a CD-ROM, an optical memory, and the like) that include computer-usable program code. The computer program is stored/distributed in a proper medium and is provided as or used as a part of the hardware together with another hardware, or may also use another allocation form, for example, by using the Internet or another wired or wireless telecommunications system.
The embodiments are described with reference to the flowcharts and/or block diagrams of the method, the apparatus (device), and the computer program product according to the embodiments. It should be understood that computer program instructions may be used to implement each process and/or each block in the flowcharts and/or the block diagrams and a combination of a process and/or a block in the flowcharts and/or the block diagrams. These computer program instructions may be provided for a general-purpose computer, a special purpose computer, an embedded processor, or a processor of any other programmable data processing device to generate a machine, so that the instructions executed by a computer or a processor of any other programmable data processing device generate an apparatus for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
These computer program instructions may also be stored in a computer readable memory that can instruct the computer or any other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
These computer program instructions may also be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, thereby generating computer-implemented processing. Therefore, the instructions executed on the computer or the another programmable device provide steps for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
Various modifications and combinations may be made to the embodiments without departing from their spirit and scope. Correspondingly, the description and accompanying drawings are merely exemplary.
Number | Date | Country | Kind |
---|---|---|---|
201811012109.1 | Aug 2018 | CN | national |
This application is a continuation of International Application No. PCT/CN2019/102985, filed on Aug. 28, 2019, which claims priority to Chinese Patent Application No. 201811012109.1, filed on Aug. 31, 2018. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2019/102985 | Aug 2019 | US |
Child | 17184766 | US |