ADAPTIVE PREFIX DELEGATION
20220174035 · 2022-06-02
Inventors
Cpc classification
H04L61/5014
ELECTRICITY
International classification
Abstract
Adaptive prefix delegation that facilitates delegating prefixes from one device to another. The prefix delegation may be adaptively implemented to enable a delegating router to make decisions regarding characteristics of prefixes to be delegated. The adaptive prefix delegation may be automatically or dynamically preformed according to particularly operation capabilities of each delegating device.
Claims
1. A method for prefix delegation comprising: determining a value representing a quantity of interfaces available on a device for use in sub-delegating a first prefix; determining a plurality of bit combinations as a function of the value; and appending each of the bit combinations to the first prefix to correspondingly generate a plurality of second prefixes, the second prefixes being sufficient for sub-delegating the first prefix.
2. The method of claim 1 further comprising binarily representing each bit within the bit combinations as 0 or 1.
3. The method of claim 2 further comprising appending the bit combinations to the first prefix by adding each bit combination to a bit position immediately following a last bit of the first prefix.
4. The method of claim 3 further comprising determining a quantity of the bit combinations according to c=2.sup.b, where c is the quantity and b is proportional to the value.
5. The method of claim 4 further comprising determining b=┌log.sub.2(p+1)┐ where p is the value.
6. The method of claim 5 wherein: when b=1: i) the bit combinations correspond with: [0] and [1]; and ii) the second prefixes correspond with: [the first prefix plus one additional bit of 0] and [the first prefix plus one additional bit of 1]; and when b=2: i) the bit combinations correspond with: [0,0]; [0,1]; [1,0]; [1,1]; and ii) the second prefixes to correspond with: [the first prefix plus two additional bits of 0,0]; [the first prefix plus two additional bits of 0,1]; [the first prefix plus two additional bits of 1, 0]; and [the first prefix plus two additional bits of 1,1].
7. The method of claim 1 further comprising generating the second prefixes such that each second prefix is a unique Internet Protocol (IP) version 6 (IPv6) prefix.
8. The method of claim 1 further comprising: identifying the first prefix as an IPv6 prefix; and adding unique combinations of the bit combinations to the IPv6 prefix to generate the second prefixes such that each second prefix includes the IPv6 prefix plus bits of the corresponding bit combination.
9. The method of claim 1 further comprising allocating at least a portion of the second prefixes for further sub-delegation to downstream devices.
10. The method of claim 9 further comprising determining the portion to equal the second number less one.
11. A method for delegating Internet Protocol (IP) version 6 (IPv6) prefixes comprising: receiving a first IPv6 prefix for delegation; identifying a quantity of ports p available for delegating the first IPv6 prefix; generating a bit boundary b as a function of p; determining a plurality of binary bit combinations associated with b, each binary bit combination corresponding with a unique combination of 0s and 1s; appending the binary bit combinations to the first IPv6 prefix to generate a plurality of second IPv6 prefixes; and delegating one or more of the second IPv6 prefixes.
12. The method of claim 11 further comprising generating b according to the following equation:
b=┌log.sub.2(p+1)┐.
13. The method of claim 12 further comprising generating c number of binary bit combinations where c=2.sup.b.
14. The method of claim 11 further comprising: receiving the first IPv6 prefix as a /56 prefix; and generating the second IPv6 prefixes as four unique /58 prefixes when c=4.
15. A method for facilitating network addressing comprising: determining a first device having a first prefix and a capability to facilitate independent communications over a plurality of downstream links; determining a plurality of bit combinations as a function of a quantity of the downstream links; and assigning no more than one sub-prefix for delegation over each of the downstream links, each sub-prefix corresponding with the first prefix plus one of the bit combinations.
16. The method claim 15 further comprising assigning each of the sub-prefixes for delegation without determining a quantity of a plurality of second devices connected to one or more of the downstream links.
17. The method of claim 15 further comprising assigning the sub-prefixes for delegation prior to delegating any of the sub-prefixes over one or more of the downstream links.
18. The method of claim 15 further comprising generating the sub-prefixes at the first device by adding each bit combination to a bit position immediately following a last bit of the prefix.
19. The method of claim 18 further comprising generating each bit combination to uniquely consist of binary values of 0 and 1 such that each bit combination is different from every other bit combination.
20. The method of claim 19 further comprising generating each bit combination to consist of an equal quantity of the binary value, the equal quantity being proportional to the quantity of downstream links.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
[0007]
[0008]
[0009]
[0010]
DETAILED DESCRIPTION
[0011] As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
[0012]
[0013] The outside network 14 and the inside network 20 are illustrated to demonstrated one exemplary, non-limiting use of the present invention where a multiple system operator (MSO), Internet service provider (ISP) or other type of service provider is allocated a prefix or addressing domain by a suitable addressing entity to facilitate Internet-based messaging or other network-based messaging. The first prefix 16 delegated from the delegating router 12 need not necessarily be associated with the outside network 14 or any other particular network and may be provided to the requesting router 18 directly from the addressing entity. The inside network 20 is shown to be distinguished from the outside network 14 to demonstrated one use case where an MSO may be tasked with facilitating messaging for a plurality of inside networks, such as but not necessarily limited to home networks or other internal networks associated with its subscribers. While only one inside network 20 is illustrated, the delegating router 12 and/or the MSO may be responsible for facilitating prefix delegation with any number of inside networks or other downstream connected networks. The self-configuration capabilities contemplated by the present invention may be useful in allowing the MSO to delegate one or more prefixes 16 to each of the supported inside networks 20. The inside networks 20 may then adaptively delegate the received prefix(es) 16 to other downstream devices in a manner that ameliorates prefix delegation related responsibilities of the MSO.
[0014] A prefix delegation controller 22 may be included to facilitate the contemplated adaptive prefix delegation process of the present invention. The prefix delegation controller 22 is shown to be separate from the requesting router 18 for exemplary non-limiting purposes in order to highlight its use within the system 10. The prefix delegation controller 22 may be a computer program product, application or software operable with the requesting router 18, which may be periodically referred to herein as a customer edge router (CER) or edge router (ER) and/or other downstream connected routers, which may be periodically referred to herein as internal routers (IRs). The prefix delegation controller 22 may be downloaded, embedded or otherwise provided to each of the home network routers (ER, IRs, etc.). The prefix delegation controller 22 need not necessarily be a separate controller added to the home network routers and instead may be a default, an extension or other programmable setting capable of being integrated with an operating system of the home network routers or other routers configured in accordance with the present invention to facilitate adaptive prefix delegation. The prefix delegation controller 22 may be embodied in a computer-readable medium having non-transitory instructions, which may be operable with a processor or other logically executing feature, may facilitate the operations described herein.
[0015] The contemplated prefix delegation may correspond with the ER receiving the first prefix 16 from the delegating router 12 and thereafter sub-delegating the first prefix 16 to the IRs. The process of dividing the first prefix 16 into additional prefixes may be interchangeably referred to as sub-delegation and/or delegation in that the use of delegating and/or sub-delegating is not necessarily intended to incorporate a particular hierarchical relationship or other limiting organization between the delegating routers. While the present invention is predominately described with respect to facilitating delegation of prefixes between routers, the present invention fully contemplates facilitating prefix delegation between other types of devices and is not necessarily limited to routers or devices having routers. The exemplary description of routers is provided to demonstrate one use of the present invention where the ER may be responsible for facilitating or initiating prefix delegation with a plurality of downstream connected IRs arranged in a layered architecture. A five layer architecture is shown to correspond with a first layer having the ER, a second layer having one or more IRs connected directly to the ER, a third layer having one or more IRs and/or devices connected to one of the second layer IRs, a fourth layer having one or more IRs and/or devices connected to one of the third layer IRs, and a fourth layer having one or more devices connected to one of the fourth layer IRs.
[0016] The IRs and/or devices are shown to be connected to a single upstream ER or IRs as such devices may be configured to listen to no more than one delegating router/device on a link (solid lines) in order to comply with DHCP requirements. The single-connection of each component is shown for exemplary non-limiting purposes as the present invention fully contemplates the inside network having any number of configurations and interconnections between the ER, IRs and/or devices. Optionally, the ER, IRs and/or devices may be configured to receive multiple prefixes, such as in the manner described in U.S. patent application Ser. No. 13/754,954, the disclosure of which is hereby incorporated by reference in its entirety. The process of delegating prefixes may require the ER and/IRs to be characterized, according to the nomenclature set forth in DHCP at different times, as acting as a delegating router and/or a requesting router depending on whether operating to request a prefix or to delegate a prefix. The capability of the present invention to facilitate prefix delegation between routers and/or other devices having capabilities to act as delegating and/or requesting routers may be beneficial in allowing the contemplated adaptive prefix delegation to be used in virtually any environment where it may be desirable to facilitate automated prefix delegation. Optionally, the present invention may be useful in environments which may not rely upon the described interaction between the outside network 14 and the inside network 20.
[0017]
[0018] Block 62 relates to receiving a first prefix for subsequent delegation. The first prefix may be received with the ER for subsequent delegation throughout the inside network or being received with another device for subsequent delegation to other devise, which optionally may not be bound to a particular network. Without intending to limit the present invention, the method is described with respect to the ER receiving the first prefix from the delegating router and thereafter adaptively delegating the first prefix to the downstream connected IRs, which is turn may subsequently delegate received prefix(es) to further downstream connected IRs. The first prefix may corresponding with a prefix suitable to globally unique addressing (GUA), unique local addressing (ULA), Internet Protocol (IP) addressing (e.g., IPv4, IPv6) or other types of addressing related prefixes. The first prefix is assumed for exemplary non-limiting purposes to corresponding with an IPv6 prefix delegated to the ER according to DHCPv6, although the first prefix may be delegated according to other messaging protocols or manually input to the ER. The first prefix may be delegated to the ER in a IA_PD message, optionally along with a suitable IA_NA message, such as in the manner described in U.S. patent application Ser. No. 13/992,971, the disclosure of which is hereby incorporated by reference in its entirety.
[0019]
[0020] The first prefix is shown to correspond with a /56 prefix having an address of 2001:db8:1111:22::/56. The illustrated /56 first prefix consumes the 48 bits of the routing prefix and four bits of the subnet ID field, leaving eight bits for further subnet addressing. More or less bits would be available for the subnet ID field in the event the first prefix was longer or shorter than /56, e.g., 16 subnet bits would be available for a /48 prefix and 12 subnet bits would be available for a /52 prefix. The interface identifier field is shown to comprise 64 bits and may be reserved to facilitate other addressing requirements as one skilled in the art will appreciate. The present invention contemplates capitalizing on the variability associated with the length of the subnet ID field to facilitate prefix delegation. This is shown to correspond with using one or more of the available subnet ID bits as a bit boundary. The bit boundary can be added in accordance with the present invention to the first prefix in order to generate one or more second prefixes. The bit boundary may correspond with the bits available within the subnet ID fields, i.e., the bits of the subnet ID field not already being consumed with the first prefix. The bit boundary may comprise up to eight bits for a /56 first prefix, 12 bits for a /52 first prefix and 16 bits for a /48 prefix. The bits made available to the bit boundary may be individually selectable 0s and 1s to provide a plurality of bit combinations.
[0021] Returning back to
[0022] Block 66 relates to calculating a bit boundary to be used in facilitating delegation of the first prefix over the inside network 20. The bit boundary may be calculated to be proportional to the number of ports/interfaces identified to be available at the ER to facilitate communications with directly connected IRs. The bit boundary calculation may be adaptively or dynamically determined according to the particular configuration of the ER such that ERs having more interfaces may be provided a greater bit boundary than ERs having fewer interfaces. In this manner, the bit boundary for each router delegating a prefix may be uniquely and independently determined according to the particular operating constraints of that router. One non-limiting aspect of the present invention contemplates an algorithm executing at the ER or other delegating router calculating a bit boundary value b to represent the bit boundary. The algorithm may be used to facilitate assessing a number of addressing variations needed for the first prefix in order to generate a sufficient number of second prefixes to support the interfacing capabilities of the ER. The algorithm, for example, may be selected to ensure the ER divides the first prefix such that at least one second prefixes is generated for each available interface.
[0023] One contemplated algorithm calculates the bit boundary according to the following equation:
b=┌log.sub.2(p+1)┐
[0024] where b corresponds with a whole number representing the bit boundary and p corresponds with the number of available ports/interfaces. This equation may be beneficial in providing an arithmetic method for calculating the bit value b.
[0025] Block 68 relates to calculating bit combinations coinciding with the value associated with b. The bit boundary value b may be used to represent the number of bits available within the subnet ID field to be used in facilitating delegation of the first prefix. The number of bits (e.g., 1, 2, 3, etc.) may each correspond with binary values such that certain bit combinations of 0s and 1s are possible depending on the number of bits comprising the bit boundary. The number of bit combinations may be determined according to the following equation:
c=2.sup.b
[0026] where c is the quantity of possible combinations and b is the whole number determined according to the above-identified bit boundary formula.
[0027] Block 70 relates to generating the one or more second prefixes based on the bit combinations. The generation of prefixes based on the bit combinations, and thereby the bit boundary may be used to relate the quantity of generated prefixes to the quantity of available interfaces/ports. The prefix generation process may be performed independently and autonomously at each delegating router to enable dynamical network configuration and addressing, which may be particularly beneficial in enabling each router to proportionate prefix generation according to their particular capabilities. The second prefixes may be generated by appending, adding or otherwise associating one or more of the bit combinations with the first prefix. The resulting second prefixes may then correspond with the first prefix plus a different one of the bit combinations.
[0028]
[0029] Block 72 relates to delegating the one or more second prefixes to the next layer (e.g. layer 2 IRs). The ER may delegate the second prefixes according to DHCP or another delegation protocol. Optionally, the ER may keep one or the second prefixes for its own use such that the number of second prefixes made available for delegation corresponds with the number of bit combinations less one. The ER may retain the lowest prefix, i.e., the prefix corresponding with the binary combination of all 0s, for its own use and delegate the remaining prefixes for use with the lower layer IRs. The lower layer IRs may then use a received one of the second prefixes for further delegation, such as according to the processed described above where the lower layer IRs may repeat the process by substituting the received one of the second prefixes for the first prefix.
[0030] Block 74 relates to delegating one or more third prefixes. The one or more third prefixes may be delegated from the second layer IRs to third layer IRs based on the received one of the second prefixes delegated thereto. Each second layer IRs receiving one of the second prefixes may be perform operations similar to that described above with respect to the ER to facilitate further prefix delegation. The second layer originating delegations may be differ from the first layer delegations of the ER in that that the received one of the second prefixes is used instead of the first prefix and in that the bit boundary determined for the second layer IRs is instead added to the received second prefix when generating the one or more third prefixes. The lower layer IRs receiving one of the third prefixes may repeat a similar process for the next lower layer of IRs. The delegation process may repeat in this manner until each layer of IRs are delegated a prefix. Each lower layer delegation may add additional bit boundaries to the preceding layer prefix until the maximum prefix length of /64 is reached. The number of prefixes generated by each IRs below the ER may be constrained according the available interfaces such that each IRs adaptively determines the number of prefixes it can make available for the next layer.
[0031] The capability of the present invention to facilitate multiple-layer prefix delegation may be beneficial in unmanaged or automated networks where IRs may be freely added and removed from the network as it allows prefixes to be automatically generated without requiring network administrator to individual calculate the delegated prefixes. The contemplated prefix delegation may also be beneficial in that it allows each delegating router to individually assess its delegation capabilities to ensure enough prefixes are generated so that the delegating router can use each of its available interfaces. The adaptive prefix delegation can be used to facilitate mapping network addressing for virtually any size network or hierarchical grouping of routers. The extent of the adaptive prefix delegation may be constrained according to the prefix length limitations of the addressing protocol, e.g., the constraint of the IPv6 addressing limiting prefixes to the first 64 bits. The hierarchy or relationship between routers, i.e., the number of layers and/or the width of each layer, may be constrained according to the amount by which each first prefix can be sub-delegated and the interfaces available to each router.
[0032]
[0033] As supported above, one non-limiting aspect of the present invention contemplates a method for home routers to determine the size of prefix they sub-delegate within a home network based on their number of ports. When a self-configuring home network relies on DHCPv6 Prefix Delegation (PD), the present invention contemplates automating a decision made regarding how to break up the assigned prefix for sub-delegation. This decision may be made based on the number of ports/interfaces available on a given home router.
[0034] As illustrated in
[0035] In order to facilitate prefix delegation when auto-configuring a home network, the home routers may be configured in accordance with the present invention to decide how to sub-delegate prefixes assigned to them. One non-limiting aspect of the present invention contemplates facilitating this decision using a default setting or other operational constraint of the delegating router to facilitate an algorithmic process dependent on physical properties of the router. With this invention, each router's default choice may be to ensure that it can service the maximum number of downstream routers without unnecessarily limiting the network topology.
[0036] While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.