WO2012088917A1 - 同源地址束汇聚方法及同源汇聚网络路由系统 - Google Patents

同源地址束汇聚方法及同源汇聚网络路由系统 Download PDF

Info

Publication number
WO2012088917A1
WO2012088917A1 PCT/CN2011/079262 CN2011079262W WO2012088917A1 WO 2012088917 A1 WO2012088917 A1 WO 2012088917A1 CN 2011079262 W CN2011079262 W CN 2011079262W WO 2012088917 A1 WO2012088917 A1 WO 2012088917A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
bundle
domain
routing
aggregation
Prior art date
Application number
PCT/CN2011/079262
Other languages
English (en)
French (fr)
Inventor
程东年
兰巨龙
程国振
马海龙
陈庶樵
张建辉
王保进
伊鹏
张风雨
Original Assignee
中国人民解放军信息工程大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国人民解放军信息工程大学 filed Critical 中国人民解放军信息工程大学
Publication of WO2012088917A1 publication Critical patent/WO2012088917A1/zh
Priority to US13/932,063 priority Critical patent/US9544228B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Definitions

  • the present invention relates to the field of network communication technologies, and in particular, to a coherent address beam aggregation method and a homogenous aggregation network routing system.
  • the IP network is the communication infrastructure of the Internet, and packet switching and routing are the two core elements of the IP network.
  • the number of hosts and subnets on the Internet has increased exponentially over time, the use of customer network to provider network-independent addresses, the deployment of traffic engineering, and multi-homing connections have made the routing system of IP networks face unprecedented scalability. challenge.
  • the scale of the Internet has shown an approximate exponential growth pattern over time, and its direct performance is an increase in the number of hosts and subnets on the Internet over time. Data shows that the number of hosts connected to the Internet has reached 100 billion, and the size of the autonomous domain (AS) on the Internet, the number of autonomous domains, and the number of connections from each AS to the Internet are also Rapid increase.
  • AS autonomous domain
  • the direct consequence of the increase in the number of Internet global routing entries is maintained by intra-domain and inter-domain routing nodes.
  • the number of routing states maintained is approximately exponentially increased, that is, the number of routing entries of the routing node increases exponentially, and the increase of this approximate index directly leads to a large hardware storage overhead and processing overhead for implementing the routing table in the router.
  • the router needs to increase the processing resources, reduce the packet forwarding efficiency, slow down the convergence of the route calculation, and reduce the power consumption and price required for processing.
  • many global routing entries also mean that routing protocol advertisements are required. The number of routes increases, and the direct consequence is that the global routing protocol is unstable.
  • the scalability of network routing means that the number of routing states of each routing node in the network routing system increases at a lower rate than the total number of connected hosts, subnets, and routing nodes. For example, when the number of hosts or subnets increases exponentially with time, the number of routing states of the routing nodes increases linearly with time.
  • Routing systems for IP networks typically establish routing information for each host and subnet that has a public IP address.
  • An effective way to solve the scalability problem is address aggregation.
  • the core of address aggregation technology is to make multiple routing states appear as a single routing state in a "compressed" form, so that the network is generally scalable.
  • CIDR Classless Inter-Domain Routing
  • CIDR is represented by Y. Rekhter of IBM TJ Watson Research Center and V. Fuller of BARRNet. Proposed in 1993, published in the IETF RFC1518 and RFC1519 two documents, the essence of CIDR is: Based on the variable length mask VLSM (Variable Length Subnet Mask) technology (see IETF RFC 950 published in 1985), will be numerically " Successive (power-of-two) "several smaller address prefixes are aggregated into a single larger address prefix.
  • VLSM Variable Length Subnet Mask
  • CIDR cancels the classification imposed on the IP address structure by the corresponding address allocation method (the IP address is divided into five categories A, B, C, D, and E before CIDR appears), which will be more A plurality of small networks corresponding to consecutive IP address blocks are aggregated into a single large network to form a so-called "supernet”.
  • the IP address is divided into five categories A, B, C, D, and E before CIDR appears
  • the IP address is divided into five categories A, B, C, D, and E before CIDR appears
  • a plurality of small networks corresponding to consecutive IP address blocks are aggregated into a single large network to form a so-called "supernet”.
  • CIDR effectively reduces the number of routing entries that must be saved in the routing table. For routing protocols, it also reduces the number of routing advertisements that must be advertised and must be updated. .
  • the PI elimination method (Elimination). This approach encourages or requires that both the customer and the service provider network do not use non-aggregated "provider-independent addresses (ie, PI addresses)", but only from The "Provider Assignment Address (ie, PA Address)” obtained by the provider and that can be aggregated.
  • the essence of the PI elimination method is still to maintain the effectiveness of CIDR "continuous address aggregation" at the expense of completely sacrificing the flexibility of the customer in selecting a service provider and thus unable to adapt to the natural evolution of the Internet.
  • a typical current practice is to increase the effect of CIDR on PA-type IPv4 address aggregation.
  • the regional address allocation mechanism RIR (including RIPE NCC, AfriNIC, APNIC, ARIN, LACNIC) will allocate the minimum size of the address block to its users. Limited to "*.*.*.*/2", and the corresponding filtering mechanism is introduced in the routing protocol so that the routing entity rejects route advertisements whose address prefix size is smaller than "*.*.*.*/21".
  • allocation The minimum size of the address block is limited to " *:*:*:*:*:*:*:*/32".
  • the spatial separation method Separates the network parts using different addresses of PA and PI from each other.
  • the local or edge of the network can use the PI address for local routing, and the global routing system of the network. Then use the aggregated PA address for global routing.
  • the direct advantage is that the local/edge routing state of the PI address space network part is hidden from the PA address space network part, thereby directly reducing the number of global routing states that need to be established and maintained in the PA address space network part.
  • This method does not use the network address of the network node and uses its geographic location for routing.
  • the network node is given a geographical location. If the network node 1 sends data to the network node 2, the network node 1 also needs to know the geographical location where the network node 2 is currently located.
  • One network node gets Information about the geographic location of other network nodes needs to be provided through an internal search process or an external geographic location.
  • a typical application scenario based on the geographic location routing method is a wireless network environment. The method is characterized by: First, the establishment of the route is no longer related to the network topology but only related to the image (or projection) of the network topology on the geographical map.
  • the representation of the scalability of the routing system changes from the complexity of the routing table to the complexity of the geographic location information acquisition service of the node; third, the granularity of the geographical location information representing the location of the network node and the geographical location information
  • the convergence level determines the difficulty and complexity of the geographic location information acquisition service of the network node.
  • the geographical location-based routing method does not solve the scalability problem, but also faces the non-based geographical location in different forms.
  • the routing method is essentially the same scalability issue.
  • CIDR does not have the natural adaptability to the evolution of customer or service provider network address allocation.
  • "aggregation of numerically consecutive address prefixes” means that CIDR cannot implement multiple aggregations of numerically "non-contiguous" address prefixes. Therefore, for an address allocation organization, CIDR means that its address allocation to the customer or service provider network should take full account of "continuity" in order to achieve good address aggregation.
  • This limitation poses a significant challenge to the address allocation mechanism because the size of a customer or service provider network typically changes over time (eg, expands), while the customer or service provider typically only follows its network.
  • the size of the period to apply for the size of the address space may consider a certain margin), once the address allocation agency is a customer or service provider With the address assigned by the network, it is difficult to predict how much address space the customer or service provider network will apply for next time, and it is difficult to reserve a "continuous" new address space for it.
  • Internet area registration authority may consider a certain margin
  • a typical address allocation strategy adopted by the RIR is to: Reserve a subsequent contiguous address space for one allocation so that address aggregation can be continued. Obviously, this strategy reduces the efficiency of the use of address space. Because even if you want to reserve a continuous address space, it is difficult to estimate the size of the reservation. In short, it is difficult for an address-sharing organization to guarantee "continuity" on two or more address assignments for the same customer or service provider network, thereby enabling CIDR to impose "continuity" requirements and address assignments on address aggregation. The actual "discontinuity" constitutes a contradiction that is difficult to reconcile.
  • CIDR does not support customers' flexibility in choosing a service provider.
  • ISP Internet Service Provider
  • CIDR must also be used in conjunction with an ISP (Internet Service Provider)-based address allocation scheme, that is, an address scheme called “provider allocation” (the corresponding address is called “PA address", Provider Assigned Addresses).
  • provider allocation the corresponding address is called "PA address", Provider Assigned Addresses.
  • PA address Provider Assigned Addresses
  • customers get their own address from their service provider.
  • the client's address space is a subset of its service provider address space.
  • the advantage of the PA address scheme is to ensure the convergence of consecutive addresses, but its obvious drawback is to limit the customer's choice and change to the service provider.
  • a customer network when a customer network changes its service provider for service, price, performance, reliability, etc., the customer network must reconfigure its IP address, SP, and new services to all its hosts and network devices.
  • the provider applies for a new address space and then configures a new address for all of its hosts and network devices.
  • Configuring a new address for the host and network device may mean reconfiguring or modifying some or even all of the applications running on the customer network. This is the so-called Renumbering problem. Changing the address usually costs a lot of money, manpower, time, and so on.
  • the "continuous aggregation" feature makes it impossible for CIDR to aggregate multiple address prefixes that are numerically discontinuous but belong to an AS into a single prefix, which is one of the characteristics of a large number of routing entries and a rapid growth trend. Important cause. Therefore, we believe that CIDR is no longer suitable as a basic method for address aggregation.
  • the present invention proposes a new basic method of address aggregation, gp, "coherent address aggregation", which can aggregate multiple address prefixes that are not consecutive but belong to one AS into a single prefix.
  • the object of the present invention is to overcome the shortcomings of the existing CIRD network system, and to provide a coherent address beam convergence method and a homogenous convergence network routing system.
  • IPv4 IPv6 protocol
  • the first address and the last address a n in a segment are respectively Its front and end, the high m bits of the front end ( ⁇ «) and the remaining low ⁇ zero bits are called the handle of the segment, where q is the address length.
  • a segment and its A handle is similar to an address block and a prefix corresponding to the address block.
  • a segment is conceptually equivalent to a block in the traditional sense, and its handle is equivalent to the prefix corresponding to the address block, so an address segment can Expressed as ⁇ &(1 ⁇ 8/11 ⁇ 10, for example, ⁇ 100.40.15.0/24>.
  • tail end is 1 larger than the front end, it is said to be adjacent, otherwise it is not continuous.
  • an address segment is referred to as a "homologous address segment", and each address in the address segment is referred to as a "same source address”.
  • the address block is a non-routable address identifier, gp, and the address block is not used as an identification of the routing node for the routing algorithm.
  • An address bundle is called a complete set of address segments linked by r consecutive or noncontiguous address segments, the first of which is segment 8. Called the root segment of the address bundle, the handle of the root segment is also called the handle of an address bundle.
  • the link relationship of r segments in an address bundle is specified by a function called "association”, see below.
  • an address bundle is referred to as a "homologous address bundle.”
  • a cognate address bundle contains (i.e., aggregates) multiple consecutive or non-contiguous groups of address segments, and for this reason, we visually assume that these multiple address segments have a common root cause - their cognate address bundle.
  • the address bundle is a routable address identifier, gp, and the address bundle is used as the identifier of the routing node for the routing algorithm.
  • Association also known as address bundle association, is a function that links multiple consecutive or noncontiguous address segments to each other to form a complete address segment group construction.
  • Linear and exponential functions can be the two simplest address bundle associations.
  • a linear association ⁇ ( ⁇ ) of address bundle B linearly links r address segments of the same size n:
  • the subscript i in equation (2) must take values from 0, but it is not necessary to continuously fetch values to rl.
  • Figure 2-1 and Figure 2-2 show exponential address bundles with 10 consecutive exponent values and 7 non-continuous index values, respectively.
  • association is referred to as "homologous association”.
  • IP addresses, cognate address segments, cognate address bundles, and homologous associations together form the theoretical basis for the cognate address aggregation method provided by the present invention.
  • a method for coherent address beam convergence including a homologous address segment, an address bundle, an address bundle association, a homologous address bundle linear association and an exponential association, a homologous address bundle allocation principle, a homologous address bundle best matching principle, and a homologous
  • the homologous address bundle refers to a complete address segment group formed by r consecutive or non-contiguous address segments through associated links, An address segment S.
  • the handle of the root segment becomes the handle of an address bundle
  • the link relationship of the r segment in an address bundle is specified by the function to be associated
  • the cognate address bundle association is to have multiple consecutive or non-contiguous address segments. Perform a function that links each other to form a complete address segment group construct.
  • Linear association and exponentially associated address bundles allow overlapping, overlapping means that the intersection of sets is not empty, allowing the domain of the linearly associated address bundle to be completely contained in an exponential domain, allowing index-associated address bundles
  • the definition field is completely contained in a linear address bundle domain.
  • Interleaving refers to occupying address space that is not occupied by other address segments.
  • the same size domain can be partially overlapped.
  • the best matching principle of the coherent address bundle allocation is that the difference between the actual allocation amount and the requested allocation amount is minimized, represented by a mathematical expression.
  • homologous address beam splitting refers to decomposing a large address bundle into a certain number of small address bundles. According to the number of split address bundles, the address beam split can be divided into two splits, Three-part splitting, etc., the general case is w-split (w is a positive integer greater than 1), which means splitting into w different address bundles.
  • the w-segment split of the index address bundle refers to an index address bundle.
  • the iterative method uses the binary splitting method to decompose a large address bundle into multiple times and decomposes into small address bundles with different granularities to meet the needs of subordinate address allocation organizations of various levels.
  • the process of address bundle merging is the inverse of address beam splitting. Process, address bundle merge combines multiple small address bundles into one large address bundle. Linear address bundles are merged according to the following rules.
  • Splicing merging refers to iteratively splicing multiple small address bundles into one large address bundle. Two small address bundles
  • the address bundle ⁇ contains the address bundle B, and the address bundle Bc ⁇ P B is merged into B.
  • the cognancy address aggregation algorithm is divided into two parts.
  • an algorithm for expressing a relationship between a specific IP address and an address bundle containing it which uses association A, exponent base b, and filter M, and offset 0, whose association A indicates that the type of association is a linear association or an exponential association, the index base b indicates the base value of the exponential association, and the filter M is the first M digit of a bit sequence of length m, M ⁇ m, then right splicing (mM) operators of 0, the filter M is an operation on the address Address, expressed as: Address / (mM), offset 0 indicates the address directly containing a specific IP address The distance from the front end of the segment to the front end of the root segment of the address bundle containing the address segment, for linear closure The offset O is the difference between the front end of the address segment directly containing an IP address and the front end of the root segment of the address bundle containing the address segment.
  • the offset 0 is directly related to a specific IP address.
  • the exponential power of the address segment differs from the exponential power of the root segment of the address bundle it contains.
  • an algorithm that computes a handle containing its address bundle from a specific IP address that uses the specific IP address D, association A, exponent base b, filter M, and offset 0 to calculate the address containing address D.
  • the handle of the bundle, the handle of the address segment containing D is calculated by the filter M of D, and the association type of the address D is decoded to obtain the association type.
  • the offset 0 of the D is subtracted from D to obtain the D.
  • the handle H b of the address bundle for the exponential association, according to the filter M of D, shift the offset 0 of D to the left by the (mM) bit to get the offset 0', and subtract H from 0 to get the address bundle containing D.
  • the handle H b the above operation addition, subtraction, multiplication, and power operation are all performed in the sense of modulo, and the modulus is the total number of addresses.
  • a homogenous aggregation network routing system including a coherent address beam convergence method, including a coherent address beam convergence routing structure, a coherent address beam convergence dissemination, an intra-domain routing method based on a coherent address bundle, and an inter-domain routing based on a homogenous address bundle Method, the intra-domain or inter-domain routing table structure based on the coherent address bundle, the storage method and storage form of the homology address bundle in the data packet, the generation process of the co-located address bundle host packet, the homologous address bundle domain or the domain The forwarding method and forwarding process of the packet between the routers.
  • a homogenous address beam convergence routing structure includes two types of aggregated routing units, an address bundle based routing unit and a homogenous aggregation based routing unit, and the address bundle based routing unit represents an address based
  • the routing and forwarding behavior of the intra-domain or inter-domain routers is based on the address bundle.
  • the routing table uses the address bundle as the index of the query. It uses the address bundle algorithm to forward the packet.
  • An address-based inter-domain router advertises its own address bundle to other inter-domain routers and receives address bundle advertisements from other inter-domain routers.
  • the address of the address bundle of the router between the other domain and the inter-domain router establishes inter-domain routing.
  • the routing table also uses the address bundle as the index of the query.
  • the address bundle-based router uses the address beam convergence algorithm to forward the packet.
  • a routing unit based on cohomology address beam aggregation represents an address-based inter-domain router with aggregation function, and its routing and forwarding behavior is based on an address bundle, and is not an address that has been aggregated.
  • the convergence of the bundles is called first-order convergence.
  • the corresponding address beam aggregation routing unit is called a first-order aggregation routing unit. Otherwise, they are called high-order aggregation and high-order aggregation routing units.
  • One routing domain usually adopts first-order aggregation.
  • the address bundles with a larger number of addresses are transformed into address bundles with fewer numbers.
  • the homogenous address beam aggregation routers of the provider routing domain usually implement high-order convergence. That is, the low-order address bundle of the customer routing domain is aggregated, and the homo-aggregation router also adopts an address beam convergence algorithm, and one routing domain has at least one homogeneous aggregation routing unit.
  • address bundle convergence a coherent address bundle is aggregated. Multiple "small" address bundles received from within the domain to outside the domain are aggregated into a "large” address bundle and stored in the aggregation relationship, address De-aggregation is a forwarding function, which means that a packet received from outside the domain is "downgraded" to a large address bundle to which it belongs.
  • a homo-convergence router also passes.
  • the intra-domain route is established by the address bundle of the router itself and other intra-domain routers.
  • the routing table uses the address bundle as the query index, and the routing table of the coherent address bundle aggregation router also records its aggregation relationship to the address bundle, one based on
  • the inter-domain router of the address bundle advertises its own address bundle to other inter-domain routers. For an address-bundle-based inter-domain router that implements an address bundle aggregation, it initiates three operations.
  • the aggregation address bundle is The "aggregator flag" of the routing table entry is set to 1, and the “aggregator flag” of all the routing table entries of the aggregated address bundle is set to 0, and the “aggregation group flag” of the routing table entry of the aggregation address bundle is set to "And the "aggregation group flag” of all the routing table entries of the aggregated address bundle sets the identity of the aggregation group; second, the "sink” of the forwarding table entry of the aggregation address bundle The sign of the symbol "set to 1, will be all collected The "aggregator flag" of the forwarding table entry of the poly address bundle is set to 0.
  • the entire aggregation relationship that is, the aggregated address bundles and a converged address bundle, are advertised to the outside world, based on the address bundle.
  • the router also receives address bundle advertisements from other inter-domain routers.
  • the routing table also uses the address bundle as the index of the query.
  • the coherent address bundle aggregation router also uses the address bundle aggregation algorithm. In a homogeneous aggregation network routing system, coherent address aggregation is spread. If a domain border router receives an address bundle aggregation advertisement from other routing domains, it broadcasts the aggregation relationship to all hosts and routers in the routing domain.
  • the intra-domain routing method based on the homologous address bundle includes using existing
  • the intra-domain routing of the IP network, RIP, OSPF, and IS-IS establishes an intra-domain route of the routing domain.
  • the original network address part of the original RIP, OSPF, and IS-IS protocol is changed to the address prefix, and the network address part of the protocol message.
  • the linear and exponential address bundles are represented as follows: The representation of the linear address bundle is:
  • the front end of the address bundle segment, the length of the address segment, and the upper limit respectively correspond to F Q , "and r" in the linear association definition expression (1) in the specification of the present invention, and the linear association indicates that the association is linear, and the exception list is not listed.
  • the general form of the index address bundle is: 31
  • the front end of the address bundle segment, the length of the address segment, the upper limit, and the index base respectively correspond to F Q , n, r, and a in the exponential association definition expression (2) in the specification of the present invention, and the exponential association indicates that the association is exponential.
  • the inter-domain routing method based on the homogenous address bundle includes: using the existing inter-domain routing BGP to establish inter-domain routing, and the address prefix of the address part in the original BGP protocol is changed to the homogenous address bundle.
  • the network address portion of the message in the BGP protocol represents the linear and exponential address bundles in the following form:
  • the representation of the linear address bundle is:
  • Exception list length exception list (variable length)
  • the front end of the address bundle segment, the length of the address segment, and the upper limit respectively correspond to F Q , "and r" in the linear association definition expression (1) in the specification of the present invention, and the linear association indicates that the association is linear, and the exception list is not listed.
  • index address bundle The general form of the index address bundle is:
  • Exception list length exception list (variable length) where the address bundle root segment front end, the address segment length, the upper limit, and the index base correspond to F Q , n, r, and a in the exponential association definition expression (2) in the present specification, respectively.
  • the index association indicates that the association is an index
  • the routing table structure of the router is: Address bundle identification path attribute other
  • the address bundle identifier is an address bundle handle, a path attribute, and other common routing entry fields
  • the inter-domain router uses the address bundle to express and establish the inter-domain route based on the inter-domain routing protocol, and uses the address bundle as the index of the inter-domain routing table to forward the packet.
  • the inter-domain routing table of the inter-domain router is divided into non-aggregation and aggregation. Two parts, the non-aggregation part includes entries corresponding to all first-order aggregation address bundles, and each first-order aggregation address bundle entry includes "address bundle identifier", "path attribute” and "other" attributes, and the convergence part includes All entries corresponding to the second-order and high-order aggregation address bundles;
  • the structure of the inter-domain routing table is:
  • the address bundle identifier ⁇ f is not i; Sf ⁇ f is not i; S 1 path attribute other non-converged address bundle - 1 0 non-converged address bundle - 2 0 non-converged address bundle - n 0
  • Address bundle -A1 is aggregated 0 A1
  • Address bundle -Z1 is aggregated 0 Zl
  • the forwarding table structure of the intra-domain or inter-domain routers.
  • the forwarding table is a compact form of the routing table, which is used to implement fast forwarding of packets, and entries in the forwarding table and entries in the routing table. For a correspondence, the forwarding table sets the address bundle flag, the next hop flag, and the output port number.
  • the general structure of the forwarding table of the intra-domain router is:
  • the general structure of the forwarding table of the inter-domain router is: Address bundle identifier: the next hop identifier output port number
  • the method and storage form of the cognate address bundle in the data message include: a cognate address bundle having "homologous IP address”, “homologous association type”, “mask” and “Offset” four cognate address elements, define the "association type”, “mask” and “offset” fields for the source and destination cognate addresses in the hop-by-hop extension header of the IP packet, respectively.
  • the source and destination IP addresses of the IP address of the IP packet are stored in the IP packet header address field and the destination homology address of the IP packet hop-by-hop extension header. Beams are associated with three types of types, masks, and offsets.
  • the method and process for generating a host packet include: acquiring four homologous address elements of the source and destination IP addresses, and filling them into two parts of the IP packet, each of the host messages.
  • the source or destination IP address contains four elements: IP address, association type, mask, and offset.
  • the process of generating host messages is the process of obtaining these four elements and filling them into IP packets.
  • the acquisition process is divided into two sub-processes: querying the domain name server and assigning offsets.
  • the host obtains the correspondence between the domain name and the IP address, the association type, the mask, and the address bundle by querying the domain name server sub-process, where the IP address and the mask are obtained.
  • the address segment where the IP address is located, the address bundle is the identifier of the address bundle containing the address segment where the IP address is located; the host assigns an offset quantum process to obtain a top-level aggregation address bundle containing a destination IP address, thereby obtaining the top-level aggregation
  • the address bundle is offset from the address segment directly containing the destination IP address; for an IP address, taken from the local storage Homologs address, type of association, an address mask, and the beam, respectively, the amount of the respective addresses of IP packets, off In the union type, mask, and offset fields.
  • the intra-domain and inter-domain routers forward the host packets.
  • the packet forwarding includes packet forwarding in the source routing domain, packet forwarding between routing domains, and packet forwarding in the destination routing domain.
  • the three sub-functions, for the forwarding of packets from the source and destination hosts in the same routing domain only involve the sub-function of "message forwarding in the source routing domain", but the forwarding of packets from the same routing domain is not true for the source and destination hosts.
  • the above three sub-functions are involved, and the forwarding of the packets from the source and destination hosts in the same routing domain is completed by the source routing domain.
  • the source host first obtains the four elements of the destination host's co-location through the domain name resolution process.
  • the source and destination host's coherent address elements are respectively filled in the source and destination IP address fields of the IP packet and the hop-by-hop extension header.
  • the network interface is sent to the intra-domain router connected to the intra-domain router.
  • the destination address and the hop-by-hop extension header read the four elements of the destination cognate address, based on the computed address bundle handle
  • the algorithm obtains the handle of the address bundle containing the source.
  • the source and the destination host are not in the same routing domain.
  • the packet forwarding is performed by the source routing domain, the inter-domain forwarding, and the destination routing domain.
  • the source host sends the IP packet to the source host.
  • An address-bundle-based border router in the same routing domain, that is, the border router is an inter-domain router.
  • the border router reads the four elements of the destination co-located address from the destination address of the IP packet and the hop-by-hop extension header, according to the calculation address bundle.
  • the algorithm of the handle gets a handle to the address bundle containing the destination IP address, and the address bundle handle is used to retrieve the keyword query forwarding table.
  • the IP packet is sent directly through the directly connected network segment interface. If the address of the address bundle B that is queried is 0, the IP packet is forwarded according to the corresponding next hop identifier. To the adjacent inter-domain router; if the converged address flag of the address bundle B of the query hit is 1, then for the address segment handle H(A) containing the destination IP address A, look for all the address bundles that are hit by the address bundle convergence.
  • the IP packet is forwarded to the neighboring intra-domain router according to the next hop identifier indicated by the query entry.
  • the intra-domain router directly connected to the destination host sends IP packets to the network segment where the destination host resides.
  • the destination host receives and accepts IP packets.
  • each network autonomous system can apply for and obtain one or more cognate address bundles to the network address allocation mechanism at different times.
  • the address allocation mechanism is When assigning a cognate address bundle, there is no longer a constraint of "reserving consecutive addresses for aggregation"; an autonomous system that obtains a cognate address bundle by allocation has to advertise each homologue it owns internally and to other autonomous systems of the outside world.
  • the address bundle; the inter-domain router of the autonomous system can aggregate its multiple address bundles into one address bundle and advertise to the outside world.
  • the advertisement Before the advertisement, it records the corresponding address bundle convergence relationship; For an intra-domain router in the autonomous system, it uses the address bundle instead of the prefix to establish an intra-domain route, and uses the address bundle instead of the prefix as the retrieval index of its own routing table and forwarding table; for other autonomy that receives a cognate address bundle notification
  • an inter-domain router of the system it is based on the path attribute of the homogenous address bundle in the advertisement and its own routing policy. Determining a path from itself to the coherent address bundle; in addition, an inter-domain router that receives a cognate address bundle advertisement may also aggregate the received address bundle. Similarly, it also records the corresponding address bundle convergence.
  • inter-domain routers Relationships and advertise the aggregated address bundles to other inter-domain routers; inter-domain routers also use the same-original address bundle instead of the traditional prefix to establish their own routing tables and forwarding tables; each host passes domain name resolution and aggregation. Spreading two processes to obtain and store all four cognate address elements of each destination IP address; the host writes four cognate address elements of the IP address to the corresponding fields of the IP packet and sends them out; whenever a domain or The inter-domain router receives a data packet, reads four cognate address elements of the destination IP address, and uses the cognancy address bundle address aggregation algorithm to calculate an address bundle corresponding to the destination address, and then uses the cognate address bundle to retrieve the forwarding table. Finally, the packet is forwarded to the next hop router.
  • the present invention overcomes the problem of the prior art that CIDR cannot perform aggregation core techniques of multiple non-contiguous address blocks.
  • the present invention overcomes the problem that the prior art CIDR "idle" the address space caused by the "reserved contiguous address space” for address aggregation purposes, thereby improving the utilization of the network address space.
  • the present invention overcomes the prior art CIDR does not support the problem of customers being flexible and free to choose a service provider.
  • the present invention enables an autonomous system of the network to reduce the number of address segment advertised to the global routing system, thereby directly reducing the number of routing entries of each router in the global routing system and its forwarding table.
  • the invention helps to remove the binding constraint between the customer network service provider networks, so that the customer network can freely use the PI address independent of the service provider network, and finally the customer network has the choice of the service provider network. Autonomy and flexibility, no longer subject to change of address
  • the address allocation mechanism can "reserve" a continuous address space without having to aggregate the future addresses of an autonomous system, thereby significantly improving the efficiency of the allocation of the address space.
  • FIG. 1-1 Schematic diagram of linear association of consecutive homologous address bundles
  • Figure 1-2 Schematic diagram of linear association of non-contiguous homologous address bundles
  • FIG. 2-1 Schematic diagram of continuous homologous address bundle index correlation
  • Figure 2-2 Schematic diagram of the association of non-contiguous coherent address bundle indices
  • Figure 3 is a block diagram of the flow of the best matching principle of the homologous address bundle
  • Figure 4 is a block diagram of the homology of the homology address bundle splitting method
  • Figure 5 is a flow chart of the process of merging the homologous address bundles
  • Figure 7 Flowchart of the algorithm for the relationship between an address of the cognate address and the address bundle containing it;
  • Figure 8 Flowchart of an algorithm for calculating the handle of its address bundle with an address of the same address;
  • Figure 9 Network routing of the homogenous aggregation Schematic diagram of the routing structure of the system;
  • Figure 10 is a block diagram showing the execution flow of the address beam spreading process of the homogeneous aggregation network routing system
  • Figure 11 is a flow chart of the host query domain name server sub-process of the homogeneous aggregation network routing system
  • Figure 12 Block diagram of the execution flow of the host-calculated offset quantum process in the homogeneous aggregation network routing system;
  • Figure 13 Flowchart of the execution of the packet forwarding process in the source routing domain of the homogeneous aggregation network routing;
  • Figure 14 Source of the homogeneous aggregation network routing system Flowchart for executing the process of forwarding packets between routing domains;
  • Figure 15 Block diagram of the execution flow of packet forwarding in the destination routing domain of the homogeneous aggregation network routing system;
  • Figure 16 Block diagram of the execution flow of the routing algorithm for the homogeneous aggregation network routing system.
  • the embodiment of the present invention Provides a new approach to address aggregation that is different from CIDR.
  • a fundamental difference between the present invention and CIDR is that: in the present invention, the homologous address bundle is used instead of the prefix of the address block, and therefore, the coherent address bundle also becomes the IP address of the Internet global address allocation mechanism.
  • the basic unit of the applicant's assigned address When using CIDR for address aggregation, the address allocation mechanism needs to consider the "continuous address reservation" problem, and the result inevitably reduces the use efficiency of the address space.
  • the present invention makes the allocation mechanism not have to consider the continuous address reservation problem, thereby making the address space efficient. No longer affected by address reservations. Since the nature of the cognate address bundle is completely different from the prefix, the allocation based on the cognate address bundle needs to follow the following six basic principles:
  • Principle 2 The domains of linear and exponential address bundles can overlap.
  • the overlap means that the intersection of the sets is not empty.
  • the domain of a linear address bundle can be completely contained in the definition field of an exponential address bundle, and vice versa.
  • a typical application of a linear address bundle is to fill in the "blank area" within the exponential address bundle domain. Therefore, the definition of a linear address bundle is usually small. The requirement to establish no overlap is to simplify the relationship between linear address bundles. The allocation and use of linear address bundles.
  • interleaving refers to occupying an address space that is not occupied by address segments of other bundles.
  • the address space corresponding to only one root address segment in the domain is different from the other party, and the rest are identical.
  • the domain of the three identical size index address bundles of 2 and B 3 partially overlap.
  • the best match means that the difference between the actual allocation amount and the requested allocation amount is minimized.
  • is the number of address segments of the address bundle.
  • the best match is equivalent to the following optimization problem
  • the address allocation mechanism uses the above-described best matching method to complete address allocation by the following steps:
  • Step 101 If the total number of address segments of all address bundles in the address pool is less than the number of address segments to be applied, the address request is rejected, and the process ends; otherwise, step 102 is performed.
  • Step 103 Calculate the total number of address segments corresponding to each address bundle combination by using a "recombination" method, find the total number of address segments that have the smallest difference from the number of applied address segments, and the corresponding address bundle combination, and record the address bundle combination and the address.
  • the bundle combination contains the number of address segments respectively ( ⁇ and performs step 104.
  • Step 104 If the current "recombination" contains all the address bundles in the address pool, go to step 106, otherwise, go to step 105.
  • Step 106 Find the address bundle combination C m corresponding to n ⁇ miniMJ, assign all the address bundles in C m , to the applicant, and end.
  • An example is given here to illustrate the above best match.
  • a Q has five address bundles in the address pool: BB 2 , B 3 , B 4 and B 5 , which contain address segments of 10, 20, 30, 40 and 50, respectively. If another smaller address organization 1 requests 100 address segments from A Q , A 0 will assign 6 2 , 6 3 and B 4 to the request for 100 address segments with rank r 2 , r 3 , the difference between the sum of r 4 is the smallest.
  • the split allocation of the address bundle allows the address allocation mechanism to perform its allocation in a more flexible manner. Specifically, by splitting the address bundle, a large distribution mechanism can decompose a large address bundle into a certain number of small address bundles. And then assign these small address bundles to small distribution agencies or The splitting rules of the ISPo linear address bundle and the exponential address bundle have been given in the above "(3) Summary of the Invention", and a specific implementation process is given here.
  • Two address bundles of address segments ⁇ ⁇ 2 where:
  • Step 201 End.
  • the binary splitting method of the exponential address bundle is accomplished by the following steps:
  • Step 212 End.
  • a large address bundle can be decomposed multiple times by using the dichotomy multiple times in an iterative manner, and then the decomposed small address bundles with different granularities are assigned to subordinate address allocation organizations of various levels.
  • the implementation of the three-point, w-split splitting process can be obtained according to the splitting rules of the linear and exponential address bundles, which will not be described in detail herein.
  • the process of merging address bundles is the inverse of the splitting of address bundles. Similar to prefix aggregation in CIDR, The address bundle merge combines multiple small address bundles into one large address bundle. Since the combination of linear address bundles is simple, only indexed address bundles are considered here.
  • Including merge means that the domain of one address bundle is contained in the domain of another address bundle, and And all the address segments of the former are also the address segments of the latter.
  • B Q ⁇ F Q + ⁇ (2-1)
  • address bundle B When established, the address bundle B. Contains address bundle B, gp, address bundle B. And B can be combined into B. See Figure 6. The inclusion of the index address bundle is done by the following steps:
  • Address bundle splicing and merging can be used directly for intra-domain and inter-domain router address beam aggregation operations, SP, using the merged address bundle as the aggregation address bundle, and then storing the correspondence between the merged address bundle and the aggregate address bundle Relationship, finally, advertise the convergence to other routers within the domain and between domains Address bundle.
  • Address aggregation for discontinuous prefixes is the core of the present invention. We call this address aggregation algorithm a “homologous address aggregation algorithm.”
  • the cognet aggregation algorithm is divided into two parts, "Expressing the relationship between a specific IP address and the address bundle containing it” and “Handling the address bundle containing it from a specific IP address”.
  • the algorithm that expresses the relationship between a specific IP address and the address bundle containing it uses association A, exponent base b, filter M, and offset 0 to represent the relationship between a particular IP address and the address bundle B containing it.
  • association A indicates the type of association (ie, linear association or exponential association);
  • index base b indicates the base value of the exponential association;
  • the filter M is the first M-bit (M ⁇ m) of a bit sequence of length m and then right
  • the splicing (mM) operator of 0, since the filter M is an operation on the address Address, it can be expressed as: Address/(m- M), for example, 100.40.35.12/22 100.40.32.0/22 ;
  • Offset 0 specifies the distance from the front end of the address segment directly containing a specific IP address to the front end of the root of the address bundle containing the address segment, which has different meanings in the case of linear correlation or exponential association, respectively See steps 504 and 508 of the algorithm below.
  • the algorithm for the relationship between 20.0/22) is completed by the following steps: Step 501: For the case of the linear address bundle, step 502 is performed, and for the case of exponentially associating the address bundle, step 505 is performed.
  • 0 is the difference between the exponential power value of the address segment directly containing a specific IP address and the exponential power value of the root of the address bundle containing the address segment, and ends.
  • An algorithm that computes a handle containing its address bundle from a specific IP address uses a specific IP address D, association A, exponent base b, filter M, and offset 0 to calculate the handle of the address bundle containing address D.
  • the algorithm of the handle of 20.0/22) is completed by the following steps:
  • the homogenous aggregation routing structure implements a routing function based on an address bundle instead of a conventional prefix, which is composed of three functional units, which are respectively described below with reference to FIG.
  • the address bundle-based routing unit represents an intra-domain or inter-domain router based on the address bundle.
  • the routing and forwarding behavior is based on the address bundle. Such units do not have the function of aggregating the address bundle. Therefore, it is also called “zero.”
  • An intra-domain router based on an address bundle establishes an intra-domain route through its own address bundles with routers in other domains.
  • its routing table uses the address bundle as the index of the query.
  • An address bundle-based inter-domain router advertises its own address bundle to other inter-domain routers and receives address bundle advertisements from other inter-domain routers. It establishes inter-domain routes through its own and other inter-domain router address bundles. As a result, its routing The table also uses the address bundle as the index of the query.
  • the address beam based router implements forwarding of the packets using an address beam aggregation algorithm (see the Homology Aggregation Algorithm embodiment).
  • a routing unit based on homogeneous aggregation represents an inter-domain path based on an address bundle and having aggregation function
  • the device does not consider intra-domain routers based on homogeneous aggregation, that is, the intra-domain routers do not implement aggregation for address bundles), and the routing and forwarding behaviors are based on address bundles, if pairs of address bundles that are not already aggregated For aggregation, it is called “first-order convergence”, and the corresponding address bundle convergence routing unit is called “first-order aggregation routing unit”; otherwise, it is called “high-order convergence” and "high-order aggregation routing unit”.
  • a routing domain usually transforms more of its own address bundles into lesser address bundles that are "visible" externally through first-order aggregation.
  • the high-order aggregation, gp is usually performed by the homogenous aggregation routers of the provider routing domain to aggregate the low-order address bundles of the customer routing domain.
  • the coherent aggregation router also implements convergence using an address beam aggregation algorithm (see the Homogenization Algorithm embodiment).
  • a routing domain has at least one cognate address bundle aggregation routing unit.
  • a cognate address bundle aggregation router In terms of address bundle convergence, a cognate address bundle aggregation router has two specific functions: address bundle convergence and de-aggregation. It also has dual functional roles for intra-domain and off-domain.
  • Address bundle aggregation is a routing function that aggregates multiple "small" address bundles received from within and outside the domain into a "large” address bundle and stores the aggregation relationship.
  • Address bundle solution aggregation is a forwarding function. , means "downgrading" a large address bundle to which it belongs from a domain to a number of small address bundles.
  • a homogenous aggregation router Like the address bundle-based router, a homogenous aggregation router also establishes intra-domain routes through the address bundles of its own and other intra-domain routers. As a result of routing, its routing table uses the address bundle as the index of the query. Unlike address bundle-based routers, the routing table of a homogeneous aggregation router also records its aggregation of address bundles. An address bundle-based inter-domain router advertises its own address bundle to other inter-domain routers. For an address bundle-based inter-domain router that implements an address bundle aggregation, it starts three operations. First, the "aggregator flag" of the routing table entry of the aggregation address bundle is set to 1, and all are aggregated.
  • the "aggregator flag" of the routing table entry of the address bundle is set to 0, the "aggregation group flag” of the routing table entry of the aggregation address bundle, and the “aggregation group label” of all routing table entries of the aggregated address bundle.
  • the entire aggregation relationship that is, the aggregated multiple address bundles and a converged address bundle
  • the address bundle-based inter-domain router also receives address bundle advertisements from other inter-domain routers. As a result of establishing an inter-domain route, the routing table also uses the address bundle as the index of the query.
  • the coherent address beam aggregation router also uses the address beam aggregation algorithm to forward packets.
  • the core of the routing mechanism in the homogeneous aggregation routing structure is based on address beam routing. It is divided into two parts: intra-domain and inter-domain routing. Existing intra-domain and inter-domain routing mechanisms can be directly used for the homogeneous aggregation routing structure. Since the address bundle-based aggregation given by the present invention is completely different from the traditional address prefix-based convergence, the homogenous aggregation routing structure requires minor modifications to the existing intra-domain and inter-domain routing protocols.
  • Aggregate dissemination refers to a domain border router (an address bundle-based router or a homogenous aggregation-based router) that receives an address bundle convergence relationship advertisement that broadcasts the aggregation relationship to all hosts and routers in the domain.
  • the aggregate dissemination is accomplished by the following steps:
  • Step 701 The domain border router determines whether a route advertisement received by the route advertisement includes an address bundle convergence relationship. If yes, step 702 is performed, otherwise, the process ends.
  • An address bundle aggregation relationship includes a plurality of aggregated address bundle identifiers and an aggregate address bundle identifier.
  • Step 702 Broadcast the address bundle convergence relationship to all hosts and routers in the domain by using a broadcast protocol message.
  • Step 703 The host and the router that receive the address bundle convergence relationship broadcast message store the address bundle convergence relationship.
  • Step 704 For a certain aggregated address bundle in the address bundle convergence relationship, if the domain name and the IP address, the association type, the mask, and the correspondence between the address bundles are obtained by querying the domain name server sub-process, The aggregated address bundle obtained in step 803 is replaced with a converged address bundle containing the address bundle obtained in step 803 of the twelfth embodiment.
  • Step 705 End.
  • the front end of the address bundle root segment, the length of the address segment, and the upper limit respectively correspond to F Q , n and r in the above formula (1)
  • the linear association indicates that the association is linear
  • the exception list lists the addresses that do not belong to the linear address bundle.
  • the index value of the segment is the value of the segment.
  • index address bundle The general form of the index address bundle is:
  • the front end of the address bundle root segment, the length of the address segment, the upper limit, and the index base respectively correspond to F Q , n, r, and a in the above formula (2), and the exponential association indicates that the association is an index, and the exception list is not listed.
  • the intra-domain router based on the address bundle can establish an intra-domain route through the corresponding intra-domain routing protocol.
  • the routing table uses the two attributes of the IP address and the address segment size as the index of the address bundle.
  • the specific structure of the routing table is as follows. An example of a routing table structure for intra-domain and inter-domain routers. VIII. An embodiment of the inter-domain routing method based on the homogenous address bundle is similar to the intra-domain routing based on the coherent address bundle.
  • the existing inter-domain routing protocol BGP is also modified to be used.
  • the general form of the index address bundle is:
  • the inter-domain router based on the address bundle can establish the inter-domain route through the BGP protocol.
  • the routing table uses the two attributes of the address bundle root segment front end and the address segment length as the address bundle index, and the specific structure of the routing table. See the example given in Example IX below.
  • the present invention assumes that inter-domain routing does not propagate into the domain, gp, except for the default routing information, any intra-domain router of a routing unit does not contain any other inter-domain routing information.
  • the present invention replaces the existing address prefix with the address bundle to represent the intra-domain route. Therefore, the intra-domain router uses the address bundle to establish and express the intra-domain route based on the intra-area routing protocol, and uses the address bundle as the index of the intra-domain routing table.
  • the routing table of an intra-domain router is a set of address bundle information. Each collection element is a routing entry.
  • the address bundle is the key for retrieving the required routing entries.
  • the address bundle identifier is the address bundle handle.
  • the address bundle handle can be from the front end of the address bundle root segment and The two attributes of the address segment length are calculated. The specific method is as follows: The total length of the address is q bits, and the length of the address segment is M consecutive addresses, then the corresponding address bundle handle is the high q-log of the front end of the address bundle root segment. The remaining low log (M) zero bits on the bit splicing.
  • Both "Path Properties" and "Other" are regular routing entry fields. For example, an intra-domain router has b l b 2 , ⁇ total! ! routing table entry, its routing table structure is:
  • an inter-domain router uses an address bundle to express and establish an inter-domain route based on an inter-domain routing protocol, and uses an address bundle as an index of the inter-domain routing table to forward packets. Since the present invention does not consider the homogenous convergence in the domain, the inter-domain routing table of the inter-domain router is divided into two parts: non-aggregation and convergence.
  • the non-aggregation part includes all the entries corresponding to the first-order aggregation address bundle, and the aggregation part includes the entries corresponding to all the second-order and high-order aggregation address bundles, and each first-order aggregation address bundle entry includes the "address bundle identifier".
  • each second-order and high-order aggregate address bundle entry includes “address bundle identifier", "path attribute” and “other” attributes, as well as “the aggregate address bundle” Correspondence relationship with the address bundle that is aggregated by it. "Attributes, each localized address bundle convergence is recorded by the attribute to the corresponding address bundle convergence relationship.
  • the convergence relationship attribute consists of two flags: the “aggregation flag” expresses the aggregate address bundle, and the “aggregation group flag” expresses the aggregation address bundle and all the aggregated address bundles.
  • the general structure of the inter-domain routing table is: Address bundle identifier ⁇ i 1 path attribute other
  • the routing table of the intra-domain router does not include the convergent flag and the convergent flag.
  • the forwarding table is a compact form of the routing table and is used to implement fast forwarding of packets.
  • Forward table in the table The item corresponds to the entries in the routing table.
  • the forwarding table no longer contains the "aggregation group flag", "path attribute” and “other” attributes, but has more "next hop identification” and "output port” than the routing table. No. "Two attributes.
  • the address bundle is a key for retrieving the required forwarding entries.
  • the forwarding table of a router in an domain has the following general structure:
  • the "next hop ID” and "output port number” are both regular forwarding entry fields.
  • an intra-domain router has b l b 2 , ... , b n a total of n forwarding entries, and its forwarding table structure is:
  • the inter-domain forwarding table is also divided into two parts: non-aggregation and aggregation. For each local address aggregation, the forwarding table only contains the corresponding "aggregator flag”. The "aggregation group flag" in the aggregation relationship is no longer included.
  • the general structure of the inter-domain forwarding table is:
  • an inter-domain router has K ⁇ , 2 , ..., ⁇ ⁇ a total of K aggregation address bundles, where ⁇ convergence
  • the forwarding table of the intra-domain router does not include the convergent flag field.
  • the homogenous address bundle included in the data packet is used to express the relationship between the source and destination IP addresses to the corresponding address bundle. Therefore, the method of storing the cognate address bundle in the data packet is to locate the source and destination cognate addresses.
  • the handle of the bundle and the distance from the address segment handle of the homologous address to the address bundle handle are stored in the grouping option that needs to be processed hop by hop.
  • the source and destination cognate addresses are stored as follows:
  • the source and destination IP addresses are still stored in the "source IPv6 address" and "destination IPv6 address” fields of the packet header respectively;
  • Next packet header (1 byte)
  • the homologous address bundle has 8 fields in the "hop-by-hop extension header", a total of 36 bytes, plus the "next packet header” and "the next packet header” and "the hop-by-hop extension header”.
  • Extended header length "The two bytes of the two fields total 38 bytes, the value of the next packet header” is the identifier of the next extended header after the "hop-by-hop extension header", and the "extension header length” The value is the number of bytes of the entire "hop-by-hop extension header” field (excluding the number of bytes of the first field "next packet header").
  • the "extension header type” field occupies 1 byte, and the highest 2 bits are encoded as "01”, indicating that the device corresponding to the device that does not support the cognate address should be corresponding. The packet is discarded, and the remaining 6 bits are encoded as "100000”, indicating that the next 35 bytes are the data contents of the cognate address.
  • the "Extended Header Data Length” field occupies 1 byte, indicating the first byte from the following to the "source address offset" The number of bytes in the field.
  • the "destination address association type” and “destination address mask” fields occupy 1 byte in common, wherein “destination address association type” occupies the highest bit, “destination address mask” occupies the remaining 6 bits, and “destination address association type” is 0 and 1 respectively represent linear association and exponential association, and the effective range of "destination address mask” is 1 to 127.
  • the "destination address offset” field occupies 16 bytes, indicating the difference between the address segment handle of the destination address and the address bundle handle containing the address segment.
  • the "association type”, “mask”, and “offset" of the source address are similar to the destination address and will not be described again.
  • the source or destination IP address in each host message includes four elements: an IP address, an association type, a mask, and an offset.
  • the process of generating a host message is to acquire these four elements and
  • the process of filling in IP packets the following describes the process of homologous address element acquisition and element filling.
  • the process of acquiring the cognate address elements is divided into two sub-processes: querying the domain name server and assigning offsets. These two sub-processes should be completed one after another.
  • the host obtains the correspondence between the domain name and the IP address, the association type, the mask, and the address bundle by querying the domain name server sub-process. See Figure 11.
  • the query domain name server subroutine is completed by the following steps:
  • Step 801 For each IP address (segment, bundle) obtained through the address allocation request, the acquirer registers in the domain name service system, and establishes ⁇ domain name ⁇ P ⁇ IP address, association type, mask, ground Correspondence between the address bundles ⁇ .
  • IP address and “mask” represent the address segment where the IP address is located
  • address bundle is the identifier of the address bundle containing the address segment where the IP address is located.
  • Step 802 For each domain name resolution request, the domain name server returns an IP address, an association type, a mask, and an address bundle corresponding to a domain name to the requester.
  • Step 803 The host requesting domain name resolution stores the above analysis result (that is, domain name, IP address, association type, mask, and address bundle) locally.
  • Step 804 If an address bundle convergence relationship broadcast message for the address bundle (obtained by step 803) is received (see “aggregation spread" of Embodiment 6) and the address bundle is an included address bundle, The aggregation address bundle replacement step 803 of the address bundle obtains the address bundle.
  • Step 805 End.
  • the sub-process of the host by assigning the offset should be performed immediately after querying the domain name server sub-process, aiming to obtain a top-level aggregation address bundle containing a destination IP address, and then obtaining the top-level aggregation address bundle to the address directly containing the destination IP address.
  • assigning an offset quantum process is accomplished by the following steps:
  • Step 901 If the association type of the IP address to which the offset is assigned is linear, step 902 is performed, and if it is exponential, step 903 is performed.
  • Step 902 Calculate the difference below and use the difference as the offset of the IP address:
  • Step 903 Calculate the difference 1 below:
  • the difference is shifted right by 2 bits and then used as the offset of the IP address, and ends.
  • the process of the cognate address element is performed after the feature acquisition process.
  • the process of placing the IP address, the association type, the mask, and the offset into the IP packet is performed by the following steps.
  • Step 1001 For an IP address, the cohort association type, the mask, and the address bundle are taken out from the local storage, and are respectively placed in the IP address, association type, mask, and offset field of the corresponding IP packet, and the process ends.
  • the packet forwarding function is divided into three sub-functions: packet forwarding in the source routing domain, packet forwarding between routing domains, and packet forwarding in the destination routing domain.
  • packet forwarding in the source routing domain For the packet forwarding of the source and destination hosts in the same routing domain, only the sub-function of "message forwarding in the source routing domain" is involved, and the packet forwarding of the source and destination hosts in the same routing domain involves the above three. Sub-function. The three different forwarding methods and procedures are described separately below.
  • Packet forwarding in the source routing domain is accomplished by the following steps:
  • Step 1101 The source host first obtains four elements of the same host's cognate address through the domain name resolution process, and then fills the source and destination host's coherent address elements into the source and destination IP address words of the IP packet.
  • the segment and the hop-by-hop extension header are finally sent to the intra-domain router connected to it through the network interface.
  • Step 1102 The intra-domain router reads the four elements of the destination co-located address from the destination address of the IP packet and the hop-by-hop extension header, and calculates the address bundle containing the address bundle by a specific IP address as given in the above fifth embodiment.
  • the handle "algorithm calculates the handle of the address bundle containing the destination IP address.
  • Step 1103 Use the address bundle handle to query the forwarding table for the search key. If the query fails, the method is processed according to the existing method (for example, discarding the IP packet, sending the ICMP packet, etc.); if the query is successful, step 1104 is performed.
  • the existing method for example, discarding the IP packet, sending the ICMP packet, etc.
  • Step 1104 Perform further judgment on the forwarding entry of the query hit as follows:
  • the IP packet is sent directly through the directly connected network segment interface, and ends; otherwise, (2).
  • Step 1105 The intra-domain router directly connected to the destination host sends an IP packet to the network segment where the destination host is located.
  • Step 1106 The destination host receives and accepts the IP packet. End.
  • the forwarding of packets from the source and destination hosts in the same routing domain is performed by the source routing domain, the inter-domain forwarding, and the destination routing domain forwarding. See Figure 14.
  • the forwarding of packets between routing domains is accomplished by the following steps:
  • Step 1201 The source host sends an IP packet to an address bundle-based border router that is in the same routing domain (the border router is an inter-domain router).
  • Step 1202 The border router reads the destination homologous from the destination address of the IP packet and the hop-by-hop extension header.
  • the four elements of the address, the handle of the address bundle containing the destination IP address is calculated according to the "handle of calculating the address bundle containing it by a specific IP address" algorithm given in the fifth embodiment above.
  • Step 1203 Use the address bundle handle to query the forwarding table for the search key. If the query fails, the method is processed according to the existing method (for example, discarding the IP packet, sending the ICMP packet, etc.); if the query is successful, step 1204 is performed.
  • the existing method for example, discarding the IP packet, sending the ICMP packet, etc.
  • Step 1204 Perform further judgment on the forwarding entry of the query hit as follows:
  • the IP packet is sent directly through the directly connected network segment interface, and ends; otherwise, (2).
  • the IP packet is forwarded to the adjacent inter-domain router according to the corresponding next hop identifier, and ends; otherwise, (3) is executed.
  • Step 1205 According to (3) in step 1205, the forwarding entry corresponding to the address bundle H (B) The one-hop identifier forwards the IP packet to the router in the adjacent domain.
  • Packet forwarding in the destination routing domain is accomplished by the following steps:
  • Step 1301 The intra-domain router reads the destination homologous from the destination address of the IP packet and the hop-by-hop extension header.
  • the four elements of the address, the handle of the address bundle containing the destination IP address is calculated according to the "handle of calculating the address bundle containing it by a specific IP address" algorithm given in the fifth embodiment above.
  • Step 1302 Use the address bundle handle to query the forwarding table for the search key. If the query fails, the method is processed according to the existing method (for example, discarding the IP packet, sending the ICMP packet, etc.); if the query is successful, step 1303 is performed.
  • the existing method for example, discarding the IP packet, sending the ICMP packet, etc.
  • Step 1303 Perform further judgment on the forwarding entry of the query hit as follows:
  • the IP packet is sent directly through the directly connected network segment interface, and ends; otherwise, (2).
  • Step 1304 The intra-domain router directly connected to the destination host sends an IP packet to the network segment where the destination host is located.
  • Step 1305 The destination host receives and accepts the IP packet. End.
  • the present invention provides a new basic aggregation mechanism for non-numeric contiguous addresses: cognet aggregation, on the basis of which the corresponding routing method, routing table and forwarding table structure are described. And the message forwarding method, the above mechanism, method and structure form a brand new new cognate address aggregation system.
  • the network address allocation mechanism may allocate one or more cognate address bundles to the autonomous system without being constrained by the "reserved contiguous address"; the autonomous system that allocates the cognate address bundle shall be inside And other autonomous systems of the outside world advertise each cognate address bundle that it owns; the inter-domain router of the autonomous system can directly advertise its own address bundle to the outside world, or can aggregate multiple address bundles and notify the outside world if For aggregation, the aggregation relationship is stored in the routing table and forwarding table of the router, and the homologously received from other inter-domain routers.
  • inter-domain router advertised by the address bundle, it can also perform address beam aggregation operations; intra-domain and inter-domain routers use the address bundle instead of the existing prefix to establish intra-domain and inter-domain routes respectively, and also replace the prefix route with the address bundle.
  • the index of the table and the forwarding table; the two processes of domain name resolution and aggregation and dissemination enable the host to obtain the same-origin address element of each destination IP address, and the host generates a source and destination address of the IP packet by using the same-origin address element;
  • Each IP packet, each domain or inter-domain router reads the homology address element of the destination address and uses the cognate address bundle address aggregation algorithm to calculate the address bundle corresponding to the destination address, and then uses the address bundle to retrieve the forwarding table, and finally Forward the packet to the next hop router.
  • the new global address aggregation method, the intra-domain and inter-domain routing method, the intra-domain and inter-domain router routing table structure, the intra-domain and inter-domain packet forwarding method and the network device provided by the present invention are described in detail above.
  • the principles and embodiments of the invention are set forth in the examples. The description of the above embodiments is only for helping to understand the method and structure of the present invention; at the same time, for those skilled in the art, according to the ideas, methods and structures of the present invention, there will be changes in the specific embodiments and applications. At the office. In summary, the content of the specification should not be construed as limiting the invention.
  • the technology of the present invention can be clearly understood by those skilled in the art from the above summary and embodiments, and can be implemented by means of software and a necessary general hardware platform. Based on the understanding of the technology of the present invention, the technical solution in the embodiments of the present invention may be embodied in the form of a software product and/or a digital product in essence or in the form of a digital product.
  • the computer software product and/or the digital product may be stored in a storage medium such as a ROM/RAM, a flash, a magnetic disk, an optical disk, or the like, and includes a plurality of instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.)
  • a computer device which may be a personal computer, a server, a network device, etc.
  • the method of the various embodiments of the invention or parts of the embodiments are performed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

同源地址束汇聚方法及同源汇聚网络路由系统
(一) 技术领域
本发明涉及网络通信技术领域,尤其是涉及一种同源地址束汇聚方法及同 源汇聚网络路由系统。 说
(二) 背景技术
IP网络是互联网的通信基础设施, 分组交换和路由则是 IP网络的两个核 心要素。 互联网上主机和子网数量随时间呈指数增加、 客户网络对提供商网络 无关地址的使用、 流量工程的部署、 多宿连接等诸书多因素均使得 IP 网络的路 由系统正面临前所未有的可扩展性挑战。近二十年来, 互联网的规模随时间呈 现近似指数的增长模式,其直接表现是上互联网的主机和子网数量随时间呈现 近似指数的增加。有数据表明, 连接到互联网上的主机数量已经达到千亿的规 模, 而互联网上的自治域 (即 AS) 自身的规模、 自治域的数量、 每个 AS到 互联网的连接的数量等也都在迅速增加。 据互联网权威网站 http://www.cidr-report.org/报道, 截止到 2010年 11月 1日, 互联网已经具有超 过 3万 5千个 AS, 而典型的域间路由表项的个数已超过 33万 7千条, 且仍在 快速增长。互联网规模快速增大的直接后果之一就是域间路由系统建立和维护 的域间路由状态数量相应地快速增加,主机数量的增加直接导致子网规模的增 大, 这使得子网要通过获得新的地址前缀来扩大自己的地址空间, 而子网数量 的增加则直接导致全局路由节点的路由表项数的增加。
互联网全局路由表项数量增大的直接后果是域内和域间路由节点所保持 和维护的路由状态数呈近似指数增加, 即路由节点的路由表项数呈近似指数增 加,而这种近似指数增加直接导致路由器内用于实现路由表的硬件存储开销和 处理开销巨大, 集中表现在路由计算需要的路由器处理资源增加、报文转发效 率降低、 路由计算的收敛速度减慢、 处理所需的功耗和价格升高等, 此外, 众 多的全局路由表项同时意味着需要路由协议通告的路由数量增多,其直接后果 是导致全局路由协议的不稳定。
网络路由的可扩展性是指网络路由系统中每个路由节点的路由状态数量 的增加速度低于所连接的主机、 子网以及路由节点总量的增加速度。 比如, 当 主机或子网数量随时间呈近似指数增加时,路由节点的路由状态数量则随时间 呈线性增加。 IP网络的路由系统通常要为每一个拥有公开 IP地址的主机和子 网建立路由信息。解决可扩展性问题的有效方法是地址汇聚, 地址汇聚技术的 核心是以"压缩"的形式使得多个路由状态集中表现为单一的路由状态, 从而使 得网络在总体上呈现可扩展性。 当前, 互联网的路由系统唯一可以使用的地址 汇聚技术是无类域间路由 CIDR( Classless Inter-Domain Routing ) 0 CIDR由 IBM 公司 T. J. Watson研究中心的 Y. Rekhter以及 BARRNet公司的 V. Fuller等人于 1993年提出, 公布于 IETF的 RFC1518和 RFC1519两个文档, CIDR的本质 是: 基于可变长度掩码 VLSM (Variable Length Subnet Mask) 技术 (见 1985 年公布的 IETF RFC 950), 将在数值上"连续 (2的幂意义) "的多个较小地址 前缀汇聚成单个较大的地址前缀。从网络拓扑结构的角度看, 通过相应的地址 分配方法, CIDR取消了施加在 IP地址结构上的分类 (CIDR出现之前, IP地 址分为 A、 B、 C、 D和 E五类), 将多个连续 IP地址块所对应的多个小网络 聚合成单一的大网络, 形成所谓的"超网"。 另一方面, 从网络路由的角度看, 由于将路由表中的众多路由条目合并为成更少的条目, 因而 CIDR有效减少了 路由表中必须保存的路由条目数量, 对路由协议而言, 还减少了必须发布和必 须更新的路由通告数量。
在二十年前, CIDR的确减少了路由表中路由条目数量, 但近些年来路由 节点的路由表项数呈近似指数增加的事实表明: 当今互联网在规模、 速度、 对 地址的使用模式等诸多方面已经大大超出 CIDR的汇聚能力。鉴于解决路由特 别是域间路由的可扩展性问题已经到了刻不容缓的地步, 2006年 10月, IETF 中的因特网架构委员会 IAB (Internet Architecture Board)在阿姆斯特丹召开了 针对路由和寻址的专门工作会议 RAWS ( Amsterdam IAB Routing and Addressing Workshop) , 该会议将路由可扩展性列为最高级别的问题以表示对 它的重视。 该会议形成以下结论: 随着网络多归属、 流量工程等技术的广泛应 用, 互联网路由数量增长迅速而且增长速度已经超过摩尔定律的曲线, 硬件技 术进步虽然可以在一定时期内支持路由表的持续增长,但是路由不稳定性等深 层问题难以依靠硬件技术来解决。此外, 新路由寻址架构技术的成熟以及部署 需要历时多年, 所以需要尽早启动这方面的研究。 此次会议之后, 因特网研究 任务组 IRTF (Internet Research Task Force) 成立了独立的路由研究组 RRG (Routing Research Group) , 旨在展开对路由寻址新架构的专门研究。
在对互联网路由的扩展性问题上达成共识的基础上, 国际上的学术界和业 界进行了大量的相关研究和尝试, 提出了不少解决方法和方案, 归纳起来可分 为" PI消除"、 "空间分离"和"地理位置"三大类。
第一, PI 消除方法 (Elimination)。 该方法鼓励或要求客户和服务提供商 网络均不使用不可汇聚的"提供商无关的地址 (即 PI地址) ", 而仅仅使用从 提供商处获得、 可被汇聚的"提供商分配地址 (即 PA地址) "。 PI消除方法的 本质仍然是维护 CIDR"连续地址汇聚 "的有效性, 其代价则是完全牺牲客户在 选择服务提供商上的灵活性, 从而无法适应互联网的自然演进。
当前的一个典型的做法是, 为了增强 CIDR对 PA类型的 IPv4地址汇聚的 效果, 区域性地址分配机构 RIR (包括 RIPE NCC, AfriNIC, APNIC, ARIN, LACNIC) 将为其用户分配地址块的最小尺寸限定为 "*.*.*.*/2Γ, 同时在路由 协议中引入对应的过滤机制使得路由实体拒绝地址前缀尺寸小于" *.*.*.*/21" 的路由通告。 对于 IPv6, 分配地址块的最小尺寸限定为" *:*:*:*:*:*:*:*/32"。
第二, 空间分离方法 (Separation^ 该方法将使用 PA和 PI两类不同地址 的网络部分相互分离开来, 具体说, 网络的局部或边缘可以使用 PI地址进行 局部路由, 而网络的全局路由系统则使用可汇聚的 PA地址进行全局路由。 在 PA和 PI两个不同地址网络部分的连接处设置"地址空间映射"机构, 以实现不 同地址空间对应网络部分之间的互连。 空间分离方法的直接好处是使得 PI地 址空间网络部分的局部 /边缘路由状态向 PA地址空间网络部分进行了隐藏, 从 而直接减少 PA地址空间网络部分需要建立和维护的全局路由状态数量。 分离 方法的不利一面则是 "地址空间映射"的引入增加了网络结构本身的复杂性、维 护开销以及通信开销。值得注意的是, 该方法的本质是将需要建立和维护的全 局路由状态的总体数量减少而非一种真正的地址汇聚方法。
第三, 基于地理位置的路由。 与其他方法不同, 该方法不使用网络节点的 网络地址而使用它所在的地理位置进行选路。 在基于地理位置的路由系统中, 网络节点被赋予一个自己的地理位置,如若网络节点 1向网络节点 2发送数据, 则网络节点 1还需要知道网络节点 2当前所在的地理位置。一个网络节点获得 其它网络节点地理位置的信息需要通过内部的搜索过程或外部的地理位置提 供服务来完成。 基于地理位置路由方法的典型应用场景是无线网络环境, 该方 法的特点是: 第一, 路由的建立不再与网络拓扑有关而仅与网络拓扑在地理位 置图上的映象(或投影)有关; 第二, 路由系统可扩展性的表现形式从路由表 的复杂性转变为节点地理位置信息获取服务的复杂性; 第三, 代表网络节点所 在位置的地理位置信息的粒度大小以及对地理位置信息的汇聚水平决定网络 节点地理位置信息获取服务的难易程度和复杂性, 换句话说, 基于地理位置的 路由方法并没有解决可扩展性问题,而是以不同的形式同样面临与非基于地理 位置的路由方法在本质上相同的可扩展性问题。
值得指出的是, 除了基于地理位置的路由, 上述旨在改善互联网路由可扩 展性的方法均无一例外地仍将 CIDR作为对地址进行汇聚的基础方法, 换句话 说,他们都是基于该基础方法之上的高层面系统方法。然而,从可扩展角度看, 我们认为 CIDR不具备对主机、客户网络以及服务提供商网络规模增长的自然 适应性, 主要原因如下。
首先, CIDR不具备对客户或服务提供商网络地址分配演进的自然适应性。 作为 CIDR的核心特征, 针对"数值上连续地址前缀的汇聚"意味着 CIDR无法 实现多个在数值上"非连续 "地址前缀的汇聚。 因此, 对于地址分配机构而言, CIDR意味着它针对客户或服务提供商网络的地址分配应当充分考虑 "连续性" 才能获得良好的地址汇聚效果。 该限制给地址分配机构带来一个明显的挑战 性, 因为, 一个客户或服务提供商网络的规模通常随时间而动态变化(如, 扩 大), 而客户或服务提供商通常只按照其网络在某个时期的规模来申请地址空 间的大小 (可能会考虑一定的余量), 地址分配机构一旦为客户或服务提供商 网络分配了的地址,就很难预测该客户或服务提供商网络下一次在何时申请多 大的地址空间, 也就很难为其预留"连续的"新地址空间, 互联网区域注册机构
RIR (Regional Internet Registry) 采取的典型地址分配策略是: 为一次分配保 留后续的连续地址空间以便可以持续地进行地址汇聚。显然, 这种策略降低了 地址空间的利用效率。 因为即便要预留连续地址空间, 也难以估算预留量的大 小。简而言之, 地址分配机构很难保证针对同一个客户或服务提供商网络两次 或多次地址分配上的 "连续性", 从而使得 CIDR对地址汇聚施加的"连续性 "要 求与地址分配实际上的"非连续性"构成了一对难以调和的矛盾。
第二, CIDR不支持客户在选择服务提供商上的灵活性。 为了实现地址汇 聚, CIDR还必须与基于 ISP (Internet服务提供商)的地址分配方案配合使用, 即采用所谓"提供商分配"的地址方案 (相应的地址称为" PA 地址", Provider Assigned Addresses ) , gp, 客户均从其服务提供商获得自己的地址。 这样, 从 地址空间角度看, 客户的地址空间是其服务提供商地址空间的一个子集。 PA 地址方案的优势是保证了连续地址的汇聚,但其明显的弊端却是限制了客户对 服务提供商的选择和改变。 比如, 当一个客户网络出于服务、 价格、 性能、 可 靠性等目的要改变其服务提供商时,该客户网络必须对它的所有主机和网络设 备重新配置 IP地址, SP , 先向其新服务提供商申请新的地址空间, 再为其所 有主机和网络设备配置新地址,而为主机和网络设备配置新地址可能意味着要 重新配置或修改运行于客户网络之上的部分甚至全部应用,这就是所谓的改变 地址 (Renumbering) 问题。 改变地址通常要付出巨大的金钱、 人力、 时间等 代价。而当今的客户均希望其在选择和改变网络服务提供商方面具有充分的灵 活性又避免改变它原有的地址。 总之, "连续汇聚"特征使得 CIDR不能将多个虽然数值上不连续但却同属 于一个 AS的地址前缀汇聚成单个前缀, 而正是该特征成为路由表项数量巨大 且呈现快速增长趋势的一个重要成因。 因此, 我们认定 CIDR不再适合作为地 址汇聚的基础方法。 本发明提出一种新的地址汇聚基础方法, gp, "同源地址 汇聚", 它能将多个数值不连续但同属于一个 AS的地址前缀汇聚成单个前缀。
(三)发明内容
本发明的目的是克服现有 CIRD网络系统存在的缺陷, 提供一种同源地址 束汇聚方法及同源汇聚的网络路由系统。
本发明的实施并不限定于具体的 IP协议版本, 但为描述方便起见, 下文 中根据所述内容选用 IPv4或者 IPv6协议的形式进行描述。
1 . 术语
下面三个术语是本发明的重要基础, 同时也是本发明的重要组成部分。 术语一: 地址段
称由 n个连续的网络地址构成的一个地址序列 <βι, α2, ..., α„>为一个地址 段, 其中^ F +I ( =1,2, ... , «-1), 和 都能被 2整除。 也就是, 一个地址 段有大小为《 或 2fe(fc=log «)个连续的地址。 为了便于说明, 分别称一个段中的 首地址 和尾地址 an为其前端(front)和尾端(end),前端的高 m个比特 ( ≤«) 和剩余的低^ 个零比特称为段的句柄 (handle ) , 其中 q是地址长度。 一个 段和它的句柄类似于一个地址块和与该地址块对应的前缀。一个段在概念上等 同于传统意义上的地址块,而它的句柄则等同于与该地址块对应的前缀,所以, 一个地址段可以表示成<&(1 ^8/11^10的形式, 例如, <100.40.15.0/24>。
两个不同的段 和 不被允许有任何重叠的地址 (即, 相同地址的子序 列) 。 如果 的尾端比 的前端大 1, 则称 与 邻近, 否则, 不连续。
在本发明中,称一个地址段为"同源地址段",称地址段内的各个地址为"同 源地址"。
在本发明中, 地址块是不可路由的地址标识, gp, 地址块不可作为路由节 点的标识用于路由算法。
术语二: 地址束
称一个地址束为由 r个连续或不连续的地址段链接起来的一个完整的地址 段组, 其中的第一个段 8。称为该地址束的根段, 根段的句柄也称为一个地址束 的句柄。一个地址束中 r个段的链接关系由被称为"关联"的函数指定,见下文。
在本发明中, 称一个地址束为"同源地址束"。 一个同源地址束包含 (即汇 聚) 了多个连续或不连续的地址段组, 正因此原因, 我们形象地认定这多个地 址段具有一个共同的根源——它们的同源地址束。
在本发明中, 地址束是可路由的地址标识, gp, 地址束被作为路由节点的 标识用于路由算法。
术语三: 关联
关联也称地址束关联,是将多个连续或不连续的地址段进行相互链接从而 形成一个完整地址段组构造的函数。
线性函数和指数函数可以是两个最为简单的地址束关联。 例如, 地址束 B 的一个线性关联 Β(·)将 r个具有相同大小 n的地址段线性地链接成一体:
fl B(i) = F0 + n-i , (i=0,l ...,r- 1) (1) 其中?。和 B(i)分别表示地址束根段的前端和该地址束中第 i个段的前端, 即, & = ^ 此外, 式 (1)中的下标 i必须从 0开始取值, 但不必连续取值到 r-l。 图 1- 1, 图 1-2分别给出了具有 10个连续地址段和 7个非连续地址段的线性地 址束。
相似地, 指数关联 ΓΒ(·)可以有以下形式:
/e B(i) = F。 + i^a1— 1) , (i=0, l, . . . , r— 1) (2) 其中, a表示指数的基数 (比如, a=2), / e B(i)表示第 i个段的前端, 与线性关 联相同, 式 (2)中的下标 i必须从 0开始取值, 但不必连续取值到 r-l。 图 2-1, 图 2-2分别给出了具有 10个连续指数值和 7个非连续指数值的指数地址束。
在本发明中, 称一个关联为"同源关联"。
总体上, IP地址、 同源地址段、 同源地址束和同源关联共同构成本发明给 出的同源地址汇聚方法的理论基础。
本发明的技术方案是:
一种同源地址束汇聚方法, 包括同源地址段、 地址束、 地址束关联、 同源 地址束线性关联和指数关联,同源地址束分配原则,同源地址束最佳匹配原则, 同源地址束的分裂、 合并原则, 同源地址束算法。
同源地址束汇聚方法中, 同源地址段为拥有大小为 n或 2fe (k=log n ) 个 连续或非连续地址序列, n个地址序列 , a2, ......, ,其中^ F^+I , i=l,
2, . . . . . ., n- 1 , 到 都能被 2整除, 所述的同源地址束是指由 r个连续或非 连续的地址段通过关联链接构成一个完整地址段组, 第一个地址段 S。称地址 束的根段, 根段的句柄成为一个地址束的句柄, 一个地址束中 r段的链接关系 由被成为关联的函数指定, 同源地址束关联是将多个连续或非连续地址段进行 相互链接形成一个完整地址段组构造的函数。
同源地址束汇聚方法中, 同源地址束关联分为线性关联和指数关联, 线性 关联是指将 r个具有相同大小 n的地址段组按线性关系链接成一体, 表达式为 Λ(ΐ) , /B(i)=F。+n.i, i=0, 1, 2, ......, r-1 , 其中, F。为同源地址束根段前端, f B(i)为该地址束第 i个地址束根段的前段;地址束指数关联是指将 r个具有相 同大小 n 的地址段组按指数关系链接成一体, 其表达式为 / B(i), fB(i)= F。+n.(a'- 1), i=0, 1, 2, ......, r-1 , a表示基数, 如 a=2, F。表示地址束根段 前端, feB(i)表示该地址束第 i个地址束根段前段。
同源地址束汇聚方法中, 同源地址束的分配原则为:
①任何两个地址束的根段不应相同;
②线性关联和指数关联的地址束的定义域允许重叠, 重叠是指集合的交集非 空, 允许线性关联地址束的定义域完全被包含于一个指数定义域之中, 允许指 数关联的地址束的定义域完全被包含于一个线性地址束定义域之中,
③两个线性关联地址束的定义域不应有任何重叠,
Φ两个指数关联地址束的定义域可以重叠, 重叠的方式遵循原则 ©和©,
©不同大小的定义域应尽可能交织,交织是指占用未被其它地址段占用的地址 空间,
©相同大小的定义域可以部分重叠。
同源地址束汇聚方法中, 同源地址束分配的最佳匹配原则是指实际分配量 与请求分配量之间的差异最小化, 用数学表达式表示,
arg min { ^ r - n }, I = {1,2,..., h}
s.t.
Figure imgf000012_0001
≥ n 同源地址束汇聚方法中, 同源地址束分裂是指将一个大的地址束分解成一 定数量小的地址束。 按照分裂后的地址束数目, 地址束分裂可分为二分分裂、 三分分裂等, 其一般情形为 w分分裂 (w为大于 1的正整数), 指的是分裂为 w个不同的地址束。
线性地址束的二分分裂是指对于一个线性地址束 B={FQ+n4, i=0, 1, 2, ......, r_l}, 指定一个正整数/^使得 0<Pl<r-l且:
Figure imgf000013_0001
1, , /?厂 1},
B2={(F0+ n-pi)+n-i2, 2=0, 1, , 1—^}。
线性地址束的三分分裂是指对于一个线性地址束 B={FQ+ivi, i=0, 1, 2, ......, r-l}, 指定两个正整数 和/ ¾使得 (k/^^^r-l且:
Figure imgf000013_0002
B3={CF0+ ηφ2)+η·ί3, i3=0, 1, , r-l-p2}。
一般, 线性地址束的 w分分裂是指对于一个线性地址束 B={FQ+n4, i=0, 1, 2, ......, r-1}, 指定 W- 1个正整数 , / i使得
Figure imgf000013_0003
且:
Figure imgf000013_0004
1, 厂 1 },
B2={(F0+ n-pl)+n-i2, i2=0, 1, 1— ,
Bk={(F0+ n-pk-i)+n-ik, ik=0, 1,……,/¾— 1—¾- 1}, 2<k≤w-l
BW={(F0+ n-pw-i)+n-iw, iw= , 1, , 1— /?w
指数地址束的二分分裂法是指对于一个地址束 B^Fa+n^-l), i=0, 1, 2, ......, r-1}, 指定一个正整数 使得 0 ^r- 1且: 5X ={ 0+«- (2h― 1), ix = 0, 1,…… qx― 1},
B2 ={F0+n-(2qi+i2—1), 2 =0,1,…… s— 1— },
指数地址束的三分分裂是指对于一个指数地址束
Figure imgf000014_0001
i=0, 1, 2, ......, 1}, 指定两个正整数 和 使得 0<^< 2<s- 1且:
B ={F0+n- (2'1 - 1), i = 0, 1,…… qx― 1},
B2 ={F0+n-(2qi+i2—1), 2 =0,1,…… q2— 1— },
B3 = { 0 + «·(2?2+,'3—1), 3 =0,1,…… 1— 2},
一般, 指数地址束的 w分分裂是指对于一个指数地址束
Figure imgf000014_0002
i=0,l,2, ......, 1 },指定 w- 1个正整数 Ρί2..., pw 使得 (^/^〈/^〈…〈/^― ^r- 1 且:
B ={F0+n- (2'1 - 1), i = 0, 1,…… qx― 1},
B2 ={F0+n-(2qi+i2—1), 2 =0,1,…… q2— 1— },
Bk ={F0+n- (2?»― 1), ik = 0,1,…… qk― 1― qk_x}, 2<k≤w-l
Bw ={F0 +n- il^ - 1), iw =0,1,…… - qw_x }。
通过迭代方式运用二分分裂法将一个大地址束进行多次分解,分解成具有 不同粒度的小地址束,适应各种级别的下级地址分配机构的需要;地址束合并 的过程是地址束分裂的逆过程,地址束合并将多个小的地址束合并成一个大的 地址束。 线性地址束按照以下规则进行合并。
对于两个线性地址束
Figure imgf000014_0003
1, ...... ,P2-l}, 如果满足: F2=F1+n-(p1-l)
则两个地址束
Figure imgf000015_0001
1 , 2, ......, 指数地址束合并有两种典型的类型, 拼接合并和包含合并, 拼接合并是指 以迭代方式将多个小的地址束拼接成一个大的地址束, 两个小地址束
B!={F! + n-(2i-l), i=0, 1, …, p},
B2={F2 + m-(2J- 1), j=0, 1, …, q},
若 F^ Fi + n-pP"-:!), m = n-2p+1
此时,
Figure imgf000015_0002
+ n. k- 1), k=0, 1, ..., p+q+1 }; 包含合并是指一个地址束的定义域包含于另一个地址束的定义域之中,并 且前者的所有地址段也是后者的地址段, 两个地址束 BQ和 B ,
Bo={F0 + n-(2i-l), i=0, 1, …, u}, B={F + m,(2j— 1), j=0, 1, ..., v}, 若 u>v且存在 xe {0,l, u-v}使得:
F = F。+ n 2x— 1), m = n-2x成立,
则地址束^包含地址束 B, 地址束 Bc^P B合并为 B。
同源地址束汇聚方法中, 同源地址汇聚算法分为两个部分, 第一, 表达一 个具体 IP地址与包含它的地址束之间关系的算法, 它使用关联 A、 指数基 b、 过滤符 M、 和偏移量 0, 其关联 A指明关联的类型是线性关联或指数关联, 指数基 b指明指数关联的基值, 过滤符 M是将一个长度为 m的比特序列的前 M位, M≤m, 再右拼接 (m-M) 个 0的操作符, 过滤符 M是对地址 Address 的一种运算, 表示为: Address/(m-M), 偏移量 0则指明直接包含一个具体 IP 地址的地址段的前端到包含该地址段的地址束的根段前端的距离,对于线性关 联, 偏移量 O是直接包含一个 IP地址的地址段的前端与包含该地址段的地址 束的根段的前端之差值, 对于指数关联, 偏移量 0是直接包含一个具体 IP地 址的地址段的指数幂值与它包含该地址段的地址束的根段的指数幂值之差。第 二, 由一个具体 IP地址计算包含它的地址束的句柄的算法, 该算法使用具体 IP地址 D、 关联 A、 指数基 b、 过滤符 M、 和偏移量 0来计算包含地址 D的 地址束的句柄, 用 D的过滤符 M计算得到包含 D的地址段的句柄 , 对地 址 D的关联 A译码得到其关联类型, 对于线性关联, 将 H减去 D的偏移量 0 得到包含 D的地址束的句柄 Hb, 对于指数关联, 按照 D的过滤符 M将 D的 偏移量 0左移 (m-M)位得到偏移量 0', 将 H减去 0'得到包含 D的地址束的 句柄 Hb, 上述运算加、 减、 乘、 乘方运算均在取模意义下进行, 模为地址总 数。
含有同源地址束汇聚方法的同源汇聚网络路由系统,包括同源地址束汇聚 路由结构, 同源地址束汇聚散播, 基于同源地址束的域内路由方法, 基于同源 地址束的域间路由方法, 基于同源地址束的域内或域间路由表结构, 同源地址 束在数据报文中的存放方法和存放形式, 同源地址束主机报文的生成过程, 同 源地址束域内或域间路由器对报文的转发方法和转发过程。
同源汇聚网络路由系统中, 同源地址束汇聚路由结构含有两类汇聚的路由 单元, 基于地址束的路由单元和基于同源汇聚的路由单元, 所述基于地址束的 路由单元代表一个基于地址束的域内或域间路由器,其路由和转发行为都是基 于地址束, 作为域内或域间选路的结果, 其路由表以地址束为查询的索引, 它 采用地址束算法对报文实施转发,一个基于地址束的域间路由器向其它域间路 由器通告自身拥有的地址束并接收来自其它域间路由器的地址束通告,通过自 身和其它域间路由器的地址束的地址建立域间路由,路由表也以地址束为查询 的索引, 基于地址束的路由器采用地址束汇聚算法对报文分组实施转发。
同源汇聚网络路由系统中,基于同源地址束汇聚的路由单元代表一个基于 地址束且具备汇聚功能的域间路由器, 其路由和转发行为都是基于地址束的, 对不是已被汇聚的地址束进行汇聚, 称为一阶汇聚, 相应的地址束汇聚路由单 元称为一阶汇聚路由单元, 否则, 分别称为高阶汇聚和高阶汇聚路由单元, 一 个路由域通常通过一阶汇聚将自己拥有的个数较多的地址束变换为对个数较 少的地址束, 在具有提供商 -客户关系的路由域之间, 通常提供商路由域的同 源地址束汇聚路由器实施高阶汇聚, 即对客户路由域的低阶地址束进行汇聚, 同源汇聚路由器同样采用地址束汇聚算法,一个路由域至少有一个同源汇聚路 由单元, 就地址束汇聚而言, 一个同源地址束汇聚, 从域内到域外收到的多个 "小"地址束汇聚成一个"大"地址束并存储该汇聚关系, 地址束解汇聚则是一种 转发功能, 指对从域外收到的一个分组将其所属的大地址束 "降级为"多个小地 址束, 与基于地址束的路由器相同, 一个同源汇聚路由器也通过自身和其它域 内路由器的地址束建立域内路由, 作为选路的结果, 其路由表以地址束为查询 索引, 在同源地址束汇聚路由器的路由表还记录它对地址束的汇聚关系, 一个 基于地址束的域间路由器向其它域间路由器通告自身拥有的地址束,对于实施 了一个地址束汇聚的基于地址束的域间路由器, 它要启动三个操作, 第一, 将 该汇聚地址束的路由表表项的"汇聚符标志"置为 1, 将所有被汇聚地址束的路 由表表项的"汇聚符标志"置为 0, 将该汇聚地址束的路由表表项的"汇聚组标 志"以及所有被汇聚地址束的路由表表项的"汇聚组标志"置位该汇聚组的标 识; 第二, 将该汇聚地址束的转发表表项的"汇聚符标志"置为 1, 将所有被汇 聚地址束的转发表表项的"汇聚符标志"置为 0; 第三, 将整个汇聚关系, 即被 汇聚的多个地址束以及一个汇聚地址束, 向外界通告, 基于地址束的域间路由 器还接收来自其它域间路由器的地址束通告, 作为建立域间路由的结果, 其路 由表也以地址束为查询的索引, 同源地址束汇聚路由器同样采用地址束汇聚算 法。 同源汇聚网络路由系统中, 同源地址汇聚散播, 如果一个域边界路由器从 其它路由域收到一个地址束汇聚通告,它便将该汇聚关系广播到本路由域内的 所有主机和路由器。
同源汇聚网络路由系统中,基于同源地址束的域内路由方法包括使用现有
IP网络的域内路由 RIP, OSPF, IS-IS协议建立一个路由域的域内路由,原 RIP, OSPF, IS-IS协议中原先的网络地址部分的地址前缀改为地址束, 协议消息的 网络地址部分采用如下的形式分别表示线性和指数地址束: 线性地址束的表示形式为:
0 31
Figure imgf000018_0001
其中的地址束根段前端、 地址段长度、 上限分别对应本发明说明书中线性 关联定义表达式 (1)中的 FQ、 《和 r, 线性关联表示关联是线性的, 例外列表则 罗列不属于该线性地址束的地址段的索引值 。 指数地址束的一般形式为: 31
Figure imgf000019_0001
其中的地址束根段前端、 地址段长度、 上限、 指数基分别对应本发明说明 书中指数关联定义表达式 (2)中的 FQ、 n、 r、和 a, 指数关联表示关联是指数的, 例外列表则罗列不属于该指数地址束的地址段的索引值 i。 如果 a=2, 则可以
31
Figure imgf000019_0002
同源汇聚网络路由系统中, 基于同源地址束的域间路由方法包括: 使用现 有的网络域间路由 BGP建立域间路由,原 BGP协议中地址部分的地址前缀改为 同源地址束, BGP协议中的消息的网络地址部分采用如下的形式分别表示线性 和指数地址束: 线性地址束的表示形式为:
0 31
地址束根段前端
线性关联 地址段长度 上限
例外列表长度 例外列表 (变长) 其中的地址束根段前端、 地址段长度、 上限分别对应本发明说明书中线性 关联定义表达式 (1)中的 FQ、 《和 r, 线性关联表示关联是线性的, 例外列表则 罗列不属于该线性地址束的地址段的索引值 。
指数地址束的一般形式为:
0 31
地址束根段前端
指数关联 地址段长度 上限
指数基
例外列表长度 例外列表 (变长) 其中的地址束根段前端、 地址段长度、 上限、 指数基分别对应本发明说明 书中指数关联定义表达式 (2)中的 FQ、 n、 r、和 a, 指数关联表示关联是指数的, 例外列表则罗列不属于该指数地址束的地址段的索引值 i。 如果 a=2, 则可以
31
Figure imgf000020_0001
同源汇聚网络路由系统中, 路由器的路由表结构为: 地址束标识 路径属性 其它
Figure imgf000021_0001
其中, 地址束标识就是地址束句柄, 路径属性和其它均为常规的路由表项 字段;
域间路由器在运行域间路由协议的基础上用地址束表达和建立域间路由, 用地址束作为域间路由表的索引来转发分组,域间路由器的域间路由表分为非 汇聚和汇聚两个部分, 非汇聚部分包含所有一阶汇聚地址束所对应的表项, 每 个一阶汇聚地址束表项包括 "地址束标识"、 "路径属性"和"其它"属性, 汇聚部 分则包含所有二阶和高阶汇聚地址束所对应的表项;
域间路由表的结构为:
地址束标识 ^ f不i; Sf ^ f不i; S1 路径属性 其它 非汇聚地址束 -1 0 非汇聚地址束 -2 0 非汇聚地址束 -n 0
汇聚地址束 -Al 1 A1
被汇聚 0 A1
地址束 -A1 被汇聚 0 A1
地址束 -Am 汇聚地址束 -Bl 1 Bl
被汇聚 0 Bl
地址束 -Bl 被汇聚 0 Bl
地址束 -Bm 汇聚地址束 -Z1 1 Zl
被汇聚 0 Zl
地址束 -Z1 被汇聚 0 Zl
地址束 -Zm
汇聚符标志 = 1表示对应的地址束为在本地实施了汇聚的汇聚地址束, 被 它汇聚的是汇聚符标志 =0且"汇聚组标志"取值相同的所有地址束, 汇聚符标 志 = '0'且汇聚组标志 = '- '表示一个未在本地实施汇聚的地址束, 即非汇聚地址 束。
同源汇聚网络路由系统中, 域内或域间路由器的转发表结构, 转发表是路 由表的简洁形式, 用于实现对分组的快速转发, 转发表中的表项与路由表中的 表项一一对应, 转发表设地址束标志, 下一跳标志, 输出端口号, 域内路由器 的转发表一般结构为:
Figure imgf000022_0001
域间路由器的转发表一般结构为: 地址束标识 汇聚符标志 下一跳标识 输出端口号
Figure imgf000023_0001
同源汇聚网络路由系统中, 同源地址束在数据报文中的存放方法和存放形 式包括: 一个同源地址束具有 "同源 IP地址", "同源关联类型", "掩码 "和"偏 移"四个同源地址要素, 在 IP报文的逐跳扩展头中分别为源和目的的同源地址 定义"关联类型", "掩码 "和"偏移"三个字段, 为了表达源、 目的 IP地址对他们 所在地址束的所属关系, 将一个 IP报文的四个同源地址要素分别存放在该 IP 报文头地址字段以及 IP报文逐跳扩展头的目的同源地址束关联类型、 掩码和 偏移三个字段。
同源汇聚网络路由系统中,主机报文的生成方法和过程包括,分别获取源、 目的 IP地址四个同源地址要素并将它们填入 IP报文两个部分, 每一个主机报 文中的源或者目的 IP地址均包含四个要素: IP地址、 关联类型、 掩码和偏移, 主机报文的生成过程就是获取这四个要素并将它们填入 IP报文的过程, 同源 地址要素获取过程分为查询域名服务器和指派偏移量两个子过程,主机通过查 询域名服务器子过程得到域名和 IP地址、 关联类型、 掩码以及地址束之间的 对应关系, 其中, IP地址和掩码表达 IP地址所在的地址段, 地址束为包含 IP 地址所在地址段的地址束的标识; 主机通过指派偏移量子过程, 旨在获取包含 一个目的 IP地址的顶级汇聚地址束, 进而得到该顶级汇聚地址束到直接包含 该目的 IP地址的地址段的偏移量; 对于一个 IP地址, 从本地存储器中取出其 同源地址、 关联类型、 掩码以及地址束, 分别量入相应 IP报文的 IP地址、 关 联类型、 掩码和偏移字段中。
同源汇聚网络路由系统中,域内和域间路由器对主机报文的转发方法和过 程, 报文转发包括源路由域内的报文转发、 路由域间的报文转发和目的路由域 内的报文转发三个子功能, 对于源、 目的主机同在一个路由域的报文转发, 仅 仅涉及 "源路由域内的报文转发"一个子功能, 而对于源、 目的主机不在同一个 路由域的报文转发则同时涉及上述三个子功能, 而对源、 目的主机同在一个路 由域的报文转发通过源路由域内报文转发过程完成, 即源主机先通过域名解析 过程获得目的主机同源地址的四要素,再将源主机和目的主机的同源地址要素 分别填入 IP报文的源、 目的 IP地址字段以及逐跳扩展头中, 最后通过网络接 口发至与其相连的域内路由器, 域内路由器从 IP报文的目的地址和逐跳扩展 头读取目的同源地址的四要素,根据计算地址束句柄的算法得到包含它的地址 束的句柄, 源、 目的主机不在同一个路由域的报文转发则同时由源路由域内转 发、 域间转发以及目的路由域内转发完成, 源主机将 IP报文发至与其同在一 个路由域的基于地址束的边界路由器, 即该边界路由器是域间路由器, 边界路 由器从 IP报文的目的地址和逐跳扩展头读取目的同源地址的四要素, 根据计 算地址束句柄的算法得到包含目的 IP地址的地址束的句柄, 用该地址束句柄 检索关键字查询转发表。
如果本路由器直连目的主机, 则直接将 IP报文通过直连的网段接口发出; 如果查询命中的地址束 B 的汇聚符标志为 0, 则按照对应的下一跳标识将 IP 报文转发到相邻的域间路由器; 如果查询命中的地址束 B的汇聚符标志为 1, 则对于包含目的 IP地址 A的地址段句柄 H(A),在被命中地址束汇聚的全部地 址束中寻找满足下式的两个相邻的被汇聚地址束 61和 B1+1; H(B < H(A) < H(B1+1); 将 IP报文中目的 IP地址 A的偏移量改写为 H(A) - H(B , 目的路由 域内的报文转发, 域内路由器从 IP报文的目的地址和逐跳扩展头读取目的同 源地址的四要素, 由一个具体 IP地址计算包含它的地址束的句柄算法计算得 到包含目的 IP地址的地址束之句柄, 用该地址束句柄为检索关键字查询转发 表, 如果本路由器直连目的主机, 则直接将 IP报文通过直连的网段接口发出, 按照查询命中表项所指示的下一跳标识将 IP报文转发到相邻的域内路由器, 直连目的主机的域内路由器将 IP报文发给目的主机所在的网段, 目的主机接 收并接受 IP报文。
综合来说, 在本发明实施例中, 每个网络自治系统可在不同的时间向网络 地址分配机构申请并获得一个或多个同源地址束, 与 CIDR的情形不同的是, 地址分配机构在分配同源地址束时不再有 "保留连续地址以供汇聚"的约束; 通 过分配得到同源地址束的自治系统要在其内部和向外界的其他自治系统逐个 通告它拥有的每个同源地址束; 自治系统的域间路由器可以将自己的多个地址 束汇聚成一个地址束后向外界通告,在通告之前它要记录相应的地址束汇聚关 系; 对于收到一个同源地址束通告的本自治系统内的一个域内路由器而言, 它 用地址束取代前缀建立域内路由, 同时用地址束取代前缀作为自己路由表和转 发表的检索索引;对于收到一个同源地址束通告的其他自治系统的一个域间路 由器而言,它依据通告中同源地址束的路径属性以及自己的选路策略确定从自 己到该同源地址束的一条路径; 此外, 收到一个同源地址束通告的域间路由器 也可以针对该接收的地址束进行汇聚, 同理, 它也要记录相应的地址束汇聚关 系并向其它域间路由器通告汇聚后的地址束;域间路由器也用同源地址束而非 传统前缀为索引建立自己的路由表和转发表;每个主机均通过域名解析和汇聚 散播两个过程得到并存储每个目的 IP地址的全部四个同源地址要素; 主机将 IP地址的四个同源地址要素写入 IP报文的相应字段并向外发送; 每当一个域 内或域间路由器收到一个数据分组, 它读取目的 IP地址的四个同源地址要素 并使用同源地址束地址汇聚算法计算与目的地址对应的地址束,然后用该同源 地址束检索转发表, 最后将分组转发到下一跳路由器。
本发明的积极效果是:
①本发明克服了现有技术 CIDR不能进行多个非连续地址块的汇聚核心技 术的问题。
②本发明克服了现有技术 CIDR出于地址汇聚目的而"预留连续地址空间 " 所造成部分地址空间 "闲置" 的问题, 因而提高了网络地址空间的利用率。
③本发明克服了现有技术 CIDR不支持客户灵活自由选择服务提供商的问 题。
④本发明可以使得网络的一个自治系统减少向全局路由系统通告的地址 段标识的数量,从而直接减少全局路由系统中每个路由器的路由表及其转发表 的路由表项数量。
⑤本发明有助于解除客户网络服务提供商网络之间的绑定约束,使得客户 网络可以自由使用与服务提供商网络无关的 PI地址, 最终使得客户网络在服 务提供商网络的选择具有了的自主性和灵活性, 不再受改变地址
( Renumbering ) 问题的困扰。
⑥本发明采用基于地址束的地址分配策略后, 地址分配机构可以不必为一 个自治系统将来的地址汇聚而事先 "预留"连续的地址空间, 从而能够显著提 高地址空间分配的使用效率。 (四) 附图说明
图 1-1 连续同源地址束线性关联示意图;
图 1-2 非连续同源地址束线性关联示意图;
图 2-1 连续同源地址束指数关联示意图;
图 2-2 非连续同源地址束指数关联示意图;
图 3 同源地址束最佳匹配原则流程方框图;
图 4 同源地址束二分分裂法流程方框图;
图 5 同源地址束拼接合并的流程方框图;
图 6 同源地址束指数包含合并流程方框图;
图 7 同源地址一个地址与包含它的地址束之间关系算法的流程方框图; 图 8 同源地址一个地址计算包含它的地址束之句柄的算法的流程方框图; 图 9 同源汇聚的网络路由系统的路由结构示意图;
图 10 同源汇聚网络路由系统的地址束散播过程执行流程方框图; 图 11 同源汇聚网络路由系统的主机查询域名服务器子过程的流程方框 图;
图 12 同源汇聚网络路由系统主机计算偏移量子过程的执行流程方框图; 图 13 同源汇聚网络路由的源路由域内的报文转发过程的执行流程图; 图 14 同源汇聚网络路由系统的源路由域间报文转发过程的执行流程图; 图 15 同源汇聚网络路由系统目的路由域内报文转发的执行流程方框图; 图 16同源汇聚网络路由系统执行流程方框图。
(五)具体实施方式
为了减小路由表尺寸从而改善互联网路由系统的可扩展性,本发明实施例 提供了一种不同于 CIDR的全新地址汇聚方法。 为了使本技术领域的人员更好 地理解本发明实施例中的技术方案, 并使本发明实施例的上述目的、特征和优 点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细 的说明。
连续和非连续同源地址束线性关联的示意图参见图 1-1和图 1-2, 连续和 非连续同源地址束指数关联的示意图参见图 2-1和图 2-2。
一、 同源地址束的分配原则实施例
本发明与 CIDR的一个根本不同点在于: 本发明中用于选路的是同源地址 束而不再是地址块的前缀, 因此, 同源地址束也成为互联网全球地址分配机构 向 IP地址的申请者分配地址的基本单元。 在使用 CIDR进行地址汇聚时, 地 址分配机构需要考虑 "连续地址预留"问题, 其结果必然降低地址空间的使用效 率, 本发明使得分配机构不必考虑连续地址预留问题, 从而使得地址空间的效 率不再受到地址预留的影响。 由于同源地址束的性质与前缀完全不同, 所以基 于同源地址束的分配需要遵循以下六个基本原则:
对于线性或指数地址束的分配, 遵循以下两个原则:
原则①: 任何两个不同地址束的根不应相同。
例如,对于线性关联,不能将地址束 B! = {Fo + n-i, i=0,l, r- 1 }和 B2 = {F0 + nvj, j=0,l, s-1 }定义为两个不同的线性地址束, BP , 两个不同线性地址束 的根段前端不能相同。 同理, 对于指数关联, 不能将地址束 ^ {Fa + i -l), i=0,l, ..., r-l }和 B2 = {F。 + m.(2j-l), j=0,l, s-1 }定义为两个不同的指数地址 束。 原则②: 线性和指数地址束的定义域可以重叠。
这里, 重叠指集合的交集非空。 只要地址段不发生冲突, 一个线性地址束 的定义域可以完全被包含于一个指数地址束的定义域中, 反之亦然。
例如, 对于线性地址束
Figure imgf000029_0001
j=0,l, 2, 3, 4, 7}和指数地址束 B2={F。 + 5·η + n-C^-l), i=0, 1, 2, 3, 4, 5, 6, 7}, 两者定义域的重叠部分包含三个地址束, 即: {(Fo + n-k, k=5, 6, 7} 0 而对于指数地址束 = {F0 + m.p1— 1), i=0,l, 2, 3, 4} 和线性地址束 B2 = {(Fo + m-23) + m.j, j=0,l, 2, 3, 4, 5, 6, 7}, B2的定义域则完全 被包含于 的定义域内。
对于线性地址束的分配, 遵循以下一个原则:
原则③: 两个线性地址束的定义域不应有任何重叠。
线性地址束的典型应用是填补指数地址束定义域内的 "空白区", 因此, 线性地址束的定义域通常较小,设立无重叠的要求是为了简化线性地址束之间 的关系, 有利于对线性地址束的分配和使用。
例如,对于线性地址束 Bi = {Fo + n-i, i=0,l, 2, 3, 4, 5, 6, 7}和 B2 = {(F0 + 8·η) + n-j, j=0,l, 2, 3, 4, 5, 6, 7} , 二者的定义域无任何重叠, 而对于 B3 = {F0 + m-i, i=0,l, 2, 3, 4, 5, 7}和 B4 = {(F。 + 6-m) + m-j, j=0, 2, 3, 4, 5, 6, 7} ,由于两者的定义 域中包含两个相同的线性地址束, SP : {F。 + m.k, k=6, 7}, 故违背了原则三, 因此, 应当取消对 或64的定义。
对于指数地址束的分配, 遵循以下两个原则:
原则④: 两个指数地址束的定义域可以重叠, 但重叠的方式应遵循原则五 和原则六。
原则⑤: 不同大小的定义域应该尽可能地交织。 这里, 交织指占用未被其他束的地址段占用的地址空间。
例如, 一个较大指数地址束 B!={F0 + n-C^-l), i=0, 1, 2, 3, 4, 5, 6, 7, 8, 9}的 定义域内包含较多的 "空白区", 因此, 可以定义多个其它较小的指数地址束 B2={(F0 + η·24) + n-(2j-l), j=0, 1, 2, 3} , B3={(F0 + η·25) + n-(2k-l), k=0, 1, 2, 3, 4}, B4={(F0 + η·26) + η·(2ρ-1), ρ=0, 1, 2, 3, 4, 5}, B5={(F0 + η·27) + n-(2q-l), q=0, 1, 2, 3, 4, 5, 6}和 B6={(F0 + η·28) + η·(2Γ-1), r=0, 1, 2, 3, 4, 5, 6, 7}。
原则⑥: 两个相同大小的定义域可以部分重叠。
例如, 指数地址束 B!={F0 + n-C^-l), i=0, 2, 3, 4, 5, 6, 7, 8}和 B2={(F0 + n) + n-(2J-l), j=0, 2, 3, 4, 5, 6, 7, 8}具有相同大小的定义域, 二者的定义域几乎完全 重叠, gp, 每一个地址束的的定义域内只有一个根地址段对应的地址空间与对 方不同, 其余全同。 类似地, 还可以定义 B3={(FQ + 2.n) + n.(2k-l), k=0, 2, 3, 4, 5, 6, 7, 8}使得 ^、 62和 B3三个相同大小指数地址束的定义域部分重叠。
二、 同源地址束分配的最佳匹配原则实施例
在遵循上述六个原则的基础上,还需要考虑实际分配与请求分配之间的最 佳匹配问题。 所谓最佳匹配是指实际分配量与请求分配量之间的差异最小化。 为简单起见, 假设一个地址分配机构的地址池中有 h个地址束, 这些束有相同 的大小 z, 因此总的可分配地址数量为
Figure imgf000030_0001
其中 Γι是地址束 的地址段个 数。 对于一个需要 η个地址段的请求, 就是使得实际分配的 m (m<h)个地址 束中实际包含的地址段数与需要的地址段数 n的差最小化。一般而言, 最佳匹 配等价于如下的优化问题
arg min { ^ r - n }, I = {1,2,..., h }
W (3 )
S.t. ^ Γ > Π 具体而言, 参见图 3, 地址分配机构采用上述最佳匹配方法通过以下步骤 完成地址分配:
步骤 101 : 如果地址池中所有地址束的总地址段数小于申请的地址段数, 则拒绝地址申请, 结束; 否则, 执行步骤 102。
步骤 102: 置 =1, 执行步骤 103。
步骤 103:采用" 重组合"方法计算每个地址束组合对应的总地址段数, 求 出与申请的地址段数之差最小的总地址段数以及相应的地址束组合,记该地址 束组合和该地址束组合包含的地址段数分别为 (^和 执行步骤 104。
步骤 104:如果当前的" 重组合"包含了地址池中所有的地址束, 则执行步 骤 106, 否则, 执行步骤 105。
步骤 105: 置 = +1, 执行步骤 103。
步骤 106: 求与 n^miniMJ对应的地址束组合 Cm, 将 Cm, 中的所有地址 束分配给申请者, 结束。
这里给出一个例子说明上述最佳匹配。 假设一个分配机构 AQ的地址池中 具有五个地址束: B B2, B3, B4和 B5, 它们包含的地址段分别为 10, 20, 30, 40和 50。 如果另一个较小的地址机构 1向 AQ申请 100个地址段, A0将 把62,63和 B4分配给 因为这样的分配可以使请求的 100个地址段与秩 r2, r3, r4之和的差最小。
三、 同源地址束的分裂式实施例
地址束的分裂式分配可以使得地址分配机构以更加灵活的方式完成它的 分配, 具体地说, 通过地址束分裂, 一个大的分配机构可以将一个大的地址束 分解成一定数量小的地址束, 进而将这些小的地址束分配给小的分配机构或 ISPo 线性地址束和指数地址束的分裂规则已在上文 "(三) 发明内容"中已经 给出了表达式, 此处给出具体的实施过程。
参见图 4, 线性地址束的二分分裂法通过以下步骤完成:
步骤 201: 对于具有 s个地址段的地址束 B = {F + n.i, i=0,l, s-l}, 可 选取正整数 p (0<p<s-l )将其分解成分别具 p个和 s-p个地址段的两个地址束 Β^Ρ Β2, 其中:
B!={F+n-i, i=0, 1, , p-1}
B2={(F+ η·ρ) + n-j, j=0, 1, , s-l-p }
步骤 201: 结束。
参见图 4, 指数地址束的二分分裂法通过以下步骤完成:
步骤 211: 对于具有 s个地址段的地址束 B = {F + n-C^-l), i=0,l, s-l}, 可选取 m (0≤m≤s-l) 将其分解成分别具有 m个和 s-m个地址段的两个地址 束 Β^Ρ Β2, 其中:
Β1={¥ + η-(Τ-1), i=0,l, ...,m- 1}
B2={F + n-(2m+j- l),j=0,l, s-m-1 }
步骤 212: 结束。
很明显, 可通过迭代方式多次运用二分法将一个大地址束进行多次分解, 然后将分解后的、具有不同粒度的小地址束分配给各种级别的下级地址分配机 构。 类似地, 可以根据线性和指数地址束的分裂规则得到三分、 w分分裂的具 体的实施过程, 在这里就不详细叙述了。
四、 同源地址束合并实施例
地址束合并的过程是地址束分裂的逆过程。 与 CIDR中前缀汇聚相似, 地 址束合并将多个小的地址束合并成一个大的地址束。因为线性地址束的合并很 简单, 在此只考虑指数地址束。
地址束合并有两种典型的类型, 即拼接合并和包含合并。 另一方面, 每种 地址束合并都需要满足特定的条件。拼接合并是指多个小的地址束以拼接的方 式合并成一个大的地址束。具体地,对于两个地址束
Figure imgf000033_0001
+ n. -l), i=0,l, p}和 B2={F2 + m<2j- l),j=0,l, ...,q}, 如果满足条件:
F2 = F1 + n-(2p+1-l)
m = η·2ρ+1
则 和 可以合并成一个更大的地址束 Β: B={F! + n-(2k-l), k=0,l, ..., p+q+l}o很明显, 拼接合并也能以迭代的方式进行以便将多个小地址束合并为 单个大地址束。
参见图 5, 指数地址束的拼接合并通过以下步骤完成:
步骤 301: 对于两个地址束
Figure imgf000033_0002
+ η·(2-1), i=0,l, ..., ρ}和 B2={F2 + m-(2J- l),j=0,l, ...,q}。如果F1<F2,执行步骤 302;如果 F F^执行步骤 303; 如果 Fi=F2, 61和 不可以进行拼接合并, 结束。
步骤 302: 如果 F2 = F1 + n.(2p+1— 1)且 m = n.2p+1, 则 Β^ΡΒ2可以拼接合并 成一个地址束8={ + 11.(2-1),1^=0,1, ... +9+1}, 否则, Β^ΡΒ2不可以进行 拼接合并, 结束。
步骤 303:如果 F1=F2+m.(2q+1- 1)且 n = m.2q+1,则 Β^ΡΒ2可以拼接合并 成一个地址束8= 2 + 1!1-(2-1),1^=0,1,... +9+1}, 否贝 lj, Β^ΡΒ2不可以进行 拼接合并, 结束。
包含合并是指一个地址束的定义域包含于另一个地址束的定义域之中, 并 且前者的所有地址段也是后者的地址段。 具体地, 对于两个地址束 BQ={FQ + η·(2-1), i=0,l, u}和 B={F + m-(2J-l), j=0,l, v}, 如果 u>v 且存在 xe{0,l, ...,u- v}使得:
F = F0+n-(2x- 1)
m = η·2χ
成立, 则地址束 B。包含地址束 B, gp, 地址束 B。和 B可以合并为 B。 参见图 6, 指数地址束的包含合并通过以下步骤完成:
步骤 401: 对于两个地址束 B!={F! + η·(2-1), i=0,l, u}和 B2={F2 + m-(2J- l),j=0,l, ...^}。如果 ≥?2,执行步骤 402;如果 F^F^执行步骤 405。
步骤 402: 置 x=0。
步骤 403: 如果
Figure imgf000034_0001
+ n.px-l)且 m = n.2x, 则地址束 包含地址束 B2, 结束, 否则执行步骤 404。
步骤 404:置 x=x+l,如果 x>u-v,地址束 Β^Ρ:¾之间不存在包含关系, 结束, 否则, 执行步骤 403。
步骤 405: 置 x=0。
步骤 406: 如果 F^Fz+m.px-l)且 n = m.2x,则地址束 B2包含地址束 B 结束, 否则执行步骤 407。
步骤 407:置 x=x+l,如果 x>u-v,地址束 Β^Ρ:¾之间不存在包含关系, 结束, 否则, 执行步骤 406。
地址束拼接合并和包含合并可直接用于域内和域间路由器的地址束汇聚 操作, SP, 使用合并后的地址束作为汇聚地址束, 然后存储被合并地址束与该 汇聚地址束之间的对应关系, 最后, 向域内和域间的其他路由器通告该汇聚地 址束。
五、 同源地址束汇聚算法, 即不连续前缀地址汇聚算法实施例
针对不连续前缀的地址汇聚是本发明的核心内容,我们称该地址汇聚算法 为"同源地址汇聚算法"。
为非连续汇聚引入三个新的核心功能要素, gp"地址段", "地址前缀关联" 以及"地址束", 其中地址前缀关联可将多个不连续的地址前缀段映射为一个对 应的地址前缀段群; (称汇聚后的前缀段为"同源前缀片", 称"同源地址束"所 包含的任一个地址为"同源地址")
同源地址汇聚算法分为两个部分, 分别为"表达一个具体 IP地址与包含它 的地址束之间的关系 "和"由一个具体 IP地址计算包含它的地址束的句柄"。 表 达一个具体 IP地址与包含它的地址束之间关系的算法使用关联 A、 指数基 b、 过滤符 M、和偏移量 0来表示一个具体 IP地址与包含它的地址束 B之间关系, 其中关联 A指明关联的类型 (即, 线性关联或指数关联); 指数基 b指明指数 关联的基值; 过滤符 M是将一个长度为 m的比特序列的前 M位 (M≤m) 再 右拼接 (m-M)个 0的操作符, 由于过滤符 M是对地址 Address的一种运算, 故它可表示为: Address/(m- M), 比如, 100.40.35.12/22=100.40.32.0/22; 偏移 量 0则指明直接包含一个具体 IP地址的地址段的前端到包含该地址段的地址 束的根的前端的距离,该距离在线性关联或指数关联情况下分别具有不同的含 义, 详见下面算法的步骤 504和步骤 508。
参见图 7,表达地址范围 [100.40.32.0, 100.40.35.255]内的任一个 IP地址 D (比如, 设 D=100.40.35.12) 与包含它的地址束 B (比如, 设的 B 句柄为 100.40.20.0/22) 之间关系的算法通过以下步骤完成: 步骤 501 : 对于线性地址束的情形, 执行步骤 502, 对于指数关联地址束 的情形, 执行步骤 505。
步骤 502: 为 IP地址 D指定关联, 例如置 A=l。
步骤 503: 为 D指定过滤符 M, 例如置 M=100.40.32.0/22。
步骤 504: 为 D指定偏移量 0, 例如置 0=3072 (注: 对于线性关联, 偏 移量 0是直接包含一个具体 IP地址的地址段的前端与包含该地址段的地址束 的根的前端之差值), 结束。
步骤 505: 为 IP地址 D指定关联, 例如置 A=2。
步骤 506: 为 D指定指数基值, 例如置 b=2。
步骤 507: 为 D指定过滤符 M, 例如置 M=100.40.32.0/22。
步骤 508: 为 D指定偏移量 0, 例如置 0=3 (注: 对于指数关联, 偏移量
0是直接包含一个具体 IP地址的地址段的指数幂值与包含该地址段的地址束 的根的指数幂值之差), 结束。
由一个具体 IP地址计算包含它的地址束的句柄的算法则使用具体 IP地址 D、 关联 A、 指数基 b、 过滤符 M、 和偏移量 0来计算包含地址 D的地址束的 句柄。参见图 8, 由地址范围 [100.40.32.0, 100.40.35.255]内的任一个 IP地址 D (比如, 设 D=100.40.35.12) 计算包含它的地址束 B (比如, 设 B 的句柄为 100.40.20.0/22) 的句柄的算法通过以下步骤完成:
步骤 601: 用 D的过滤符 M计算得到包含 D的地址段的句柄 , 例如, 对于 D=100.40.35.12, 有 Hs=100.40.32.0/22。
步骤 602: 对地址 D的关联 A译码得到其关联类型, 对于线性关联, 执行 步骤 603, 对于指数关联, 执行步骤 604。 步骤 603:将 H减去 D的偏移量 0得到包含 D的地址束的句柄 ,例如, Hb=100.40.32.0 - 3072 = 100.40.20.0, 结束。
步骤 604:按照 D的过滤符 M将 D的偏移量 0左移 (m-M)位得到偏移量 0,, 将 H减去 0,得到包含 D 的地址束的句柄 Hb, 例如, Hb=100.40.32.0 - 2 2"22x(22-l) = 100.40.32.0 - 210x3 = 100.40.20.0, 结束。
应当指出的是, 上述加、 减、 乘、 乘方运算均在取模意义下进行, 模为地 址总数。
六、 同源地址束汇聚路由结构实施例
总体上, 同源汇聚路由结构实现基于地址束而非传统前缀的选路功能, 它 由三种功能单元组成, 参考图 9, 现分别描述如下。
1) 基于地址束的路由单元
基于地址束的路由单元代表一个基于地址束的域内或域间路由器,其路由 和转发行为都是基于地址束的, 这类单元不具备对地址束进行汇聚的功能, 因 此, 也称为 "零阶 "地址束汇聚路由单元。 一个基于地址束的域内路由器通过自 身和其它域内路由器的地址束建立域内路由, 作为选路的结果, 其路由表以地 址束为查询的索引。一个基于地址束的域间路由器向其它域间路由器通告自身 拥有的地址束并接收来自其它域间路由器的地址束通告,通过自身和其它域间 路由器的地址束建立域间路由, 结果, 其路由表也以地址束为查询的索引。
基于地址束的路由器采用地址束汇聚算法(见同源汇聚算法实施例)对分 组实施转发。
2) 基于同源汇聚的路由单元
基于同源汇聚的路由单元代表一个基于地址束且具备汇聚功能的域间路 由器(本发明暂不考虑基于同源汇聚的域内路由器, 即域内路由器均不实施针 对地址束的汇聚) , 其路由和转发行为都是基于地址束的, 如果对不是已被汇 聚的地址束进行汇聚,则称为"一阶汇聚",相应的地址束汇聚路由单元称为"一 阶汇聚路由单元", 否则, 分别称为"高阶汇聚"和"高阶汇聚路由单元"。一个路 由域通常通过一阶汇聚将自己拥有的较多地址束变换为对外"可见"的较少地 址束。在具有 "提供商-客户"关系的路由域之间,通常由提供商路由域的同源汇 聚路由器实施高阶汇聚, gp, 对客户路由域的低阶地址束进行汇聚。 同源汇聚 路由器同样采用地址束汇聚算法 (见同源汇聚算法实施例) 实施汇聚。
一个路由域至少有一个同源地址束汇聚路由单元。就地址束汇聚而言, 一 个同源地址束汇聚路由器同时具备地址束汇聚和解汇聚两种具体功能,还具备 对域内和对域外的双重功能角色。地址束汇聚是一种路由功能, 指对从域内和 域外收到的多个"小"地址束汇聚成一个"大"地址束并存储该汇聚关系, 而地址 束解汇聚则是一种转发功能,指对从域外收到的一个分组将其所属的大地址束 "降级为"多个小地址束。
与基于地址束的路由器相同,一个同源汇聚路由器也通过自身和其它域内 路由器的地址束建立域内路由, 作为选路的结果, 其路由表以地址束为查询的 索引。 与基于地址束的路由器不同的是, 同源汇聚路由器的路由表还记录它对 地址束的汇聚关系。一个基于地址束的域间路由器向其它域间路由器通告自身 拥有的地址束。对于实施了一个地址束汇聚的基于地址束的域间路由器, 它要 启动三个操作, 第一, 将该汇聚地址束的路由表表项的"汇聚符标志"置为 1, 将所有被汇聚地址束的路由表表项的"汇聚符标志"置为 0, 将该汇聚地址束的 路由表表项的 "汇聚组标志 "以及所有被汇聚地址束的路由表表项的 "汇聚组标 志"置位该汇聚组的标识;第二,将该汇聚地址束的转发表表项的"汇聚符标志" 置为 1, 将所有被汇聚地址束的转发表表项的"汇聚符标志"置为 0; 第三, 将 整个汇聚关系 (即被汇聚的多个地址束以及一个汇聚地址束) 向外界通告。 基 于地址束的域间路由器还接收来自其它域间路由器的地址束通告,作为建立域 间路由的结果, 其路由表也以地址束为查询的索引。
同源地址束汇聚路由器同样采用地址束汇聚算法对分组实施转发。
3) 路由机制
同源汇聚路由结构中的路由机制的核心是基于地址束选路。它分为域内和 域间路由两个部分,现有的域内和域间路由机制均可直接用于同源汇聚路由结 构。由于本发明给出的基于地址束的汇聚与传统的基于地址前缀的汇聚在机理 上完全不同, 因此同源汇聚路由结构需要对现有的域内和域间路由协议分别做 微小的修改。
对于同源汇聚路由结构中的域内路由, 可以使用现有的协议, 例如, RIP, OSPF, IS-IS等, 但是协议消息携带的不再是传统的地址前缀而是地址束。 对 于域间路由, 仍可使用现有的 BGP协议, 但 BGP消息中应携带地址束而不是 地址前缀。
4) 汇聚散播的实施例
汇聚散播指收到一个地址束汇聚关系通告的域边界路由器(基于地址束的 路由器或基于同源汇聚的路由器)将该汇聚关系广播到本域内的所有主机和路 由器。 参见图 10, 汇聚散播通过以下步骤完成:
步骤 701 : 域边界路由器判断它收到的一个路由通告中是否包含地址束汇 聚关系, 若包含, 则执行步骤 702, 否则结束。 一个地址束汇聚关系包含多个被汇聚的地址束标识以及一个汇聚地址束 标识。
步骤 702: 通过广播协议消息将地址束汇聚关系广播到本域内的所有主机 和路由器。
步骤 703: 收到地址束汇聚关系广播消息的主机和路由器存储地址束汇聚 关系。
步骤 704: 对于该地址束汇聚关系中的某个被汇聚的地址束, 如果已经通 过查询域名服务器子过程得到了域名和 IP地址、 关联类型、 掩码以及该地址 束之间的对应关系,则用包含由实施例十二中步骤 803得到的地址束的汇聚地 址束替换步骤 803得到的被汇聚地址束。
步骤 705: 结束。
七、 一种基于同源地址束的域内路由方法实施例
现有的协议, 例如, RIP, OSPF, IS-IS 等均可以用作同源汇聚路由结构 中的域内路由协议, 但是, 如果原先要在这些协议消息的网络地址部分中填写 传统的前缀的话, 现在要改为填写地址束。 以 RIP和 OSPF协议为例, 原先消 息中表达网络地址前缀的形式为:
0 31
IP地址
掩码 现在表达的线性地址束的形式为: 0 31
Figure imgf000041_0001
其中的地址束根段前端、 地址段长度、 上限分别对应上文式 (1)中的 FQ、 n 和 r, 线性关联表示关联是线性的, 例外列表则罗列不属于该线性地址束的地 址段的索引值 。
指数地址束的一般形式为:
0 31
Figure imgf000041_0002
其中的地址束根段前端、 地址段长度、 上限、 指数基分别对应上文式 (2) 中的 FQ、 n、 r、 和 a, 指数关联表示关联是指数的, 例外列表则罗列不属于该 指数地址束的地址段的索引值1。 如果 a=2, 则可以无指数基字段, 即:
0 31
Figure imgf000041_0003
注意, 地址束根段前端和地址段长度两个属性等同于传统地址前缀的 IP 地址和掩码两个属性。 上述修改完成后,基于地址束的域内路由器就可通过相应的域内路由协议 建立域内路由, 其路由表就以 IP地址和地址段尺寸两个属性作为地址束的索 引, 路由表的具体结构见下文域内和域间路由器的路由表结构实施例。 八、 一种基于同源地址束的域间路由方法实施例 与基于同源地址束的域内路由要修改现有的域内路由协议类似,现有的域 间路由协议 BGP也要经过修改才能用作同源汇聚路由结构中的域间路由协议。 如果原先要在 BGP协议消息的网络地址部分中填写传统的前缀的话, 现在要 改为填写地址束。 例如, 原先 BGP消息中表达网络地址前缀的形式为:
0 7 8 39
前缀长度 前缀
要改为对地址束的表达, 其中, 线性地址束的形式为:
0 31
Figure imgf000042_0001
其中的地址束根段前端和地址段长度分别与原始 BGP消息中的前缀和前 缀长度相对应,前缀长度在功能上与地址段尺寸等价, gP :前缀长度 =32-log2C¾ 址段尺寸)。 指数地址束的一般形式为:
0 31
Figure imgf000042_0002
而基数为 2的指数地址束的形式为:
0 31
Figure imgf000043_0001
上述修改完成后, 基于地址束的域间路由器就可以通过 BGP协议建立域 间路由,其路由表就以地址束根段前端和地址段长度两个属性作为地址束的索 引, 路由表的具体结构见下文的实施例九给出的示例。
本发明假定域间路由不向域内散播, gp, 除包含缺省路由信息, 一个路由 单元的任何域内路由器均再不包含任何其它的域间路由信息。
九、 域内和域间路由器的路由表结构实施例
本发明用地址束取代现有的地址前缀来表示域内路由, 因此, 域内路由器 在运行域内路由协议的基础上用地址束建立和表达域内路由,用地址束作为域 内路由表的索引。一个域内路由器的路由表是一组地址束信息的集合, 每个集 合元素为一个路由表项, 地址束是检索所需路由表项的关键字, 域内路由表的
Figure imgf000043_0002
其中, 地址束标识就是地址束句柄。地址束句柄可以由地址束根段前端和 地址段长度两个属性计算得到, 具体方法为: 分别设地址总长度为 q比特, 地 址段长度为 M 个连续地址, 则对应的地址束句柄为地址束根段前端的高 q-log(M)个比特拼接上剩余的低 log(M)个零比特。 "路径属性"和"其它"均为常 规的路由表项字段。 例如, 一个域内路由器有 bl b2, ^共!!个路由表项, 它的路由表结构为:
Figure imgf000044_0001
类似地,域间路由器在运行域间路由协议的基础上用地址束表达和建立域 间路由, 用地址束作为域间路由表的索引来转发分组。 由于本发明暂不考虑域 内同源汇聚, 因此, 与域内情形不同的是, 域间路由器的域间路由表分为非汇 聚和汇聚两个部分。 非汇聚部分包含所有一阶汇聚地址束所对应的表项, 汇聚 部分则包含所有二阶和高阶汇聚地址束所对应的表项,每个一阶汇聚地址束表 项包括 "地址束标识"、 "路径属性"和"其它"属性, 而每个二阶和高阶汇聚地址 束表项除包括 "地址束标识"、 "路径属性"和"其它"属性外, 还包括 "该汇聚地址 束与被其汇聚的地址束之间的对应关系"属性, 每一个在本地进行的地址束汇 聚均由该属性记录对应的地址束汇聚关系。汇聚关系属性由两个标志构成: "汇 聚符标志"表达汇聚地址束, 而"汇聚组标志"则表达汇聚地址束和所有的被汇 聚地址束。 域间路由表的一般结构为: 地址束标识 ^i1 路径属性 其它
f不; S f不; S
Figure imgf000045_0001
其中, 汇聚符标志 = 1表示对应的地址束为在本地实施了汇聚的汇聚地址 束, 被它汇聚的是汇聚符标志 =0且"汇聚组标志"取值相同的所有地址束, 汇 聚符标志 = '0'且汇聚组标志 = '- '表示一个未在本地实施汇聚的地址束, 即非汇 聚地址束。 例如, 一个域间路由器有 Βΐ Β2, ..., Βκ共 K个汇聚地址束, 其中 ΒΓ汇聚 Bn, Bl2, ..., Bim(i=l,2, ..., Κ) 共 m个地址束。 则它的路由表结构为:
Figure imgf000046_0001
注意, 由于本发明暂不考虑基于同源汇聚的域内路由器以及域间路由不向 域内散播, 故域内路由器的路由表中不包含汇聚符标志和汇聚符标志两个字 段。
十、 域内和域间路由器的转发表结构实施例
转发表是路由表的简洁形式, 用于实现对分组的快速转发。转发表中的表 项与路由表中的的表项一一对应, 转发表不再包含"汇聚组标志"、 "路径属性" 和"其它"属性, 但比路由表多了"下一跳标识"和"输出端口号"两个属性。 地址 束是检索所需转发表项的关键字,一个域内路由器的转发表具有如下的一般结 构:
Figure imgf000047_0001
其中"下一跳标识"和"输出端口号"均为常规的转发表项字段。 例如, 一个 域内路由器有 bl b2, ... , bn共 n个转发表项, 它的转发表结构为:
Figure imgf000047_0002
与域间路由器的域间路由表类似,域间转发表也分为非汇聚和汇聚两个部 分, 对于每一个在本地进行的地址束汇聚, 转发表中仅包含相应的"汇聚符标 志"而不再包含汇聚关系中的"汇聚组标志"。 域间转发表的一般结构为:
地址束标识 汇聚符标志 下一跳标识 输出端口号
Figure imgf000047_0003
例如, 一个域间路由器有 Βΐ Β2, ..., Βκ共 K个汇聚地址束, 其中 ΒΓ汇聚
Figure imgf000048_0001
注意, 由于本发明暂不考虑基于同源汇聚的域内路由器以及域间路由不向 域内散播, 故域内路由器的转发表不包含汇聚符标志字段。
十一、 同源地址束在数据报文中的存放方法和存放形式实施例
我们以 IPv6协议为例说明同源地址在数据报文中的存放方法和存放形式。 数据报文中包含的同源地址束是为了表达源、 目的 IP地址对相应地址束的所 属关系, 因此, 同源地址束在数据报文中的存放方法是将源、 目的同源地址所 在地址束的句柄以及同源地址所在地址段句柄到该地址束句柄的距离集中存 放在需要逐跳处理的分组选项中。 对于 IPv6分组, 源、 目的同源地址的存放 形式如下:
(1) 源、 目的 IP地址仍分别存放在分组头的 "源 IPv6地址"和"目的 IPv6 地址"字段中;
(2) 地址束句柄以及地址所在地址段句柄到该地址束句柄的距离按下面格 式存放于"逐跳扩展包头 "中: IPv6分组头 (40字节)
下一分组头 (1字节)
扩展头长度 (1字节)
扩展头类型 (1字节)
扩展头数据长度 (1字节)
目的地址关联类型 (1比特)
目的地址掩码 (7比特)
目的地址偏移 (16字节)
源地址关联类型 (1比特)
源地址掩码 (7比特)
源地址偏移 (16字节)
下一分组头 (1字节) 同源地址束在"逐跳扩展头"中共有 8个字段, 总计 36字节, 加上"逐跳扩 展包头 "必有的"下一分组头"和"扩展头长度"两个字段的两个字节共计 38 字 节, "下一分组头 "的取值为位于"逐跳扩展头"之后的下一扩展头的标识,而"扩 展头长度"的取值为整个"逐跳扩展头"字段的字节数 (不包括第一个字段 "下一 分组头 "的字节数) 。
在包含同源地址束信息的"逐跳扩展头"中,"扩展头类型"字段占用 1字节, 其最高 2比特编码为" 01", 表示对于不支持同源地址的设备应将对应的分组丢 弃, 其余 6比特编码为" 100000", 表示后面的 35字节为同源地址的数据内容。 "扩展头数据长度" 字段占用 1字节,表示从其后第一个字节到 "源地址偏移" 字段的字节数。"目的地址关联类型"和"目的地址掩码 "两字段共同占用 1字节, 其中"目的地址关联类型"占用最高比特, "目的地址掩码"占用其余 6比特, "目 的地址关联类型"为 0和 1分别表示线性关联和指数关联, "目的地址掩码"的 有效取值范围是 1〜127。 "目的地址偏移"字段占用 16字节, 表示目的地址所 在地址段句柄到包含该地址段的地址束句柄之差值。源地址的"关联类型"、 "掩 码"和"偏移"与目的地址的类似, 不再赘述。
除了同源地址束信息外, "逐跳扩展头 "内还可以包含其它类型的信息。 当 多种信息同时位于逐跳扩展头时, 需要对 "扩展头类型 "字段的低 6比特进行特 别编码, 以表示这多种信息在逐跳扩展头中的顺序 (或相对次序) , 此内容超 出本发明的范围, 不再赘述。
十二、 主机报文的生成过程实施例
在本发明中,每一个主机报文中的源或者目的 IP地址均包含四个要素: IP 地址、 关联类型、 掩码和偏移, 主机报文的生成过程就是获取这四个要素并将 它们填入 IP报文的过程, 下面分别描述同源地址要素获取和要素填写两个过 程。
同源地址要素获取过程分为查询域名服务器和指派偏移量两个子过程,这 两个子过程应相继完成。
主机通过查询域名服务器子过程得到域名和 IP地址、 关联类型、 掩码以 及地址束之间的对应关系。参见图 11,查询域名服务器子过程通过以下步骤完 成:
步骤 801 : 对于通过地址分配请求获得的每个 IP地址(段、 束)均由获得 者在域名服务系统中进行注册, 建立 {域名 ^P{IP地址, 关联类型, 掩码, 地 址束 }之间的对应关系。
其中, "IP地址"和"掩码"表达 IP地址所在的地址段, "地址束"为包含 IP 地址所在地址段的地址束的标识。
步骤 802: 对于每个域名解析请求, 域名服务器向请求者返回与某个域名 对应的 IP地址、 关联类型、 掩码以及地址束。
步骤 803: 请求域名解析的主机将上述解析结果 (即, 域名、 IP地址、 关 联类型、 掩码以及地址束) 存储于本地。
步骤 804: 如果收到过针对该地址束 (由步骤 803得到) 的地址束汇聚关 系广播消息 (见实施例六的"汇聚散播") 并且该地址束是被包含的地址束, 则 用包含该地址束的汇聚地址束替换步骤 803得到地址束。
步骤 805: 结束。
主机通过指派偏移量的子过程应在查询域名服务器子过程之后立即进行, 旨在获取包含一个目的 IP地址的顶级汇聚地址束, 进而得到该顶级汇聚地址 束到直接包含该目的 IP地址的地址段的偏移量。 参见图 12, 指派偏移量子过 程通过以下步骤完成:
步骤 901 : 如果被指派偏移量的 IP地址的关联类型是线性的则执行步骤 902, 如果是指数的则执行步骤 903,
步骤 902: 计算下面的差值并将该差值作为 IP地址的偏移量:
(包含 IP地址的地址段句柄) - (包含 IP地址的地址束句柄)
结束。
步骤 903: 计算下面的差值 1 :
(包含 IP地址的地址段句柄) - (包含 IP地址的地址束句柄) 计算下面的差值 2:
(地址长度) - (掩码值)
将该差值右移差值 2位后作为 IP地址的偏移量, 结束。
同源地址要素填过程在要素获取过程之后进行, 它是将 IP地址、 关联类 型、 掩码和偏移置入 IP报文的过程, 通过以下步骤完成。
步骤 1001 :对于一个 IP地址, 从本地存储器中取出其同源地址关联类型、 掩码以及地址束, 分别置入相应 IP报文的 IP地址、 关联类型、 掩码和偏移字 段中, 结束。
注意,上述查询域名服务器和指派偏移量两个子过程主要用于一个主机获 取其它主机的同源地址要素。一个主机自身的同源地址要素完全可以通过其他 更为简单的方法获得, 比如, 机构内部的分配以及人工配置等, 该内容超出了 本发明的范围。
十三、 域内和域间路由器对报文的转发方法和过程实施例
报文转发功能分为源路由域内的报文转发、路由域间的报文的转发以及目 的路由域内的报文转发三个子功能。对于源、 目的主机同在一个路由域的报文 转发, 仅仅涉及"源路由域内的报文转发"一个子功能, 而对于源、 目的主机不 在同一个路由域的报文转发则同时涉及上述三个子功能。下面分别描述这三种 不同的转发方法和过程。
源、 目的主机同在一个路由域的报文转发通过源路由域内报文转发过程完 成。 参见图 13, 源路由域内的报文转发通过以下步骤完成:
步骤 1101 : 源主机先通过域名解析过程获得目的主机同源地址的四要素, 再将源主机和目的主机的同源地址要素分别填入 IP报文的源、 目的 IP地址字 段以及逐跳扩展头中, 最后通过网络接口发至与其相连的域内路由器。
步骤 1102: 域内路由器从 IP报文的目的地址和逐跳扩展头读取目的同源 地址的四要素, 按照上文实施例五中给出的 "由一个具体 IP地址计算包含它的 地址束的句柄 "算法计算得到包含目的 IP地址的地址束之句柄。
步骤 1103: 用该地址束句柄为检索关键字查询转发表, 如果查询失败, 按 现有的方法处理 (比如, 丢弃 IP报文、 发送 ICMP报文等) ; 如果查询成功, 则执行步骤 1104。
步骤 1104: 对查询命中的转发表项作如下的进一步判断:
(1) 如果本路由器直连目的主机,则直接将 IP报文通过直连的网段接口发 出, 结束; 否则执行 (2)。
(2) 按照查询命中表项所指示的下一跳标识将 IP报文转发到相邻的域内 路由器, 结束。
步骤 1105 : 直连目的主机的域内路由器将 IP报文发给目的主机所在的网 段。
步骤 1106: 目的主机接收并接受 IP报文。 结束。 源、 目的主机不在同一个路由域的报文转发则同时由源路由域内转发、 域 间转发以及目的路由域内转发完成。参见图 14,路由域间的报文的转发通过以 下步骤完成:
步骤 1201 : 源主机将 IP报文发至与其同在一个路由域的基于地址束的边 界路由器 (该边界路由器是域间路由器) 。
步骤 1202: 边界路由器从 IP报文的目的地址和逐跳扩展头读取目的同源 地址的四要素, 按照上文实施例五中给出的 "由一个具体 IP地址计算包含它的 地址束的句柄 "算法计算得到包含目的 IP地址的地址束之句柄。
步骤 1203: 用该地址束句柄为检索关键字查询转发表, 如果查询失败, 按 现有的方法处理 (比如, 丢弃 IP报文、 发送 ICMP报文等) ; 如果查询成功, 则执行步骤 1204。
步骤 1204: 对查询命中的转发表项作如下的进一步判断:
(1) 如果本路由器直连目的主机,则直接将 IP报文通过直连的网段接口发 出, 结束; 否则执行 (2)。
(2) 如果查询命中的地址束 B的汇聚符标志为 0, 则按照对应的下一跳标 识将 IP报文转发到相邻的域间路由器, 结束; 否则执行 (3)。
(3) 如果查询命中的地址束 B的汇聚符标志为 1, 则对于包含目的 IP地址 A 的地址段句柄 H(A), 在被命中地址束汇聚的全部地址束中寻找满足下式的 两个相邻的被汇聚地址束 B^P B1+1
H(B < H(A) < H(B1+1)
然后, 将 IP报文中目的 IP地址 A的偏移量改写为:
H(A) - H(B
执行步骤 1205。
注意, H(B0所对应的地址束可能就是汇聚地址束而非某个被汇聚地址束。 步骤 1205: 按照步骤 1205中 (3)得到的与地址束 H(B 对应的转发表项制 定的下一跳标识将 IP报文转发到相邻的域内路由器。 结束。
参见图 15, 目的路由域内的报文转发通过以下步骤完成:
步骤 1301 : 域内路由器从 IP报文的目的地址和逐跳扩展头读取目的同源 地址的四要素, 按照上文实施例五中给出的 "由一个具体 IP地址计算包含它的 地址束的句柄 "算法计算得到包含目的 IP地址的地址束之句柄。
步骤 1302: 用该地址束句柄为检索关键字查询转发表, 如果查询失败, 按 现有的方法处理 (比如, 丢弃 IP报文、 发送 ICMP报文等) ; 如果查询成功, 则执行步骤 1303。
步骤 1303: 对查询命中的转发表项作如下的进一步判断:
(1) 如果本路由器直连目的主机,则直接将 IP报文通过直连的网段接口发 出, 结束; 否则执行 (2)。
(2) 按照查询命中表项所指示的下一跳标识将 IP报文转发到相邻的域内 路由器, 结束。
步骤 1304: 直连目的主机的域内路由器将 IP报文发给目的主机所在的网 段。
步骤 1305: 目的主机接收并接受 IP报文。 结束。
由上述本发明提供的实施例可见,本发明给出了一种针对非数值连续地址 的全新基础汇聚机理: 同源地址汇聚, 在此基础上描述了对应的路由方法、 路 由表和转发表结构以及报文转发方法, 上述的机理、 方法和结构形成了一个全 新的全新得同源地址汇聚体系。在本发明实施例中, 网络地址分配机构可以在 不受"保留连续地址"约束的情况下为自治系统分配一个或多个同源地址束; 分 配得到同源地址束的自治系统要在其内部和外界的其他自治系统逐个通告它 拥有的每个同源地址束; 自治系统的域间路由器可以将自己的地址束直接向外 界通告, 也可以将多个地址束汇聚后向外界通告, 如果进行了汇聚, 则要将汇 聚关系保存在路由器的路由表和转发表中,对于从其它域间路由器收到同源地 址束通告的一个域间路由器而言, 它也可以进行地址束汇聚操作; 域内和域间 路由器均用地址束取代现有的前缀分别建立域内和域间路由, 同时也用地址束 取代前缀路由表和转发表的索引;域名解析和汇聚散播两个过程可以使主机获 得每个目的 IP地址的同源地址要素, 主机用同源地址要素生成一个 IP报文的 源、 目的地址; 对于收到的每个 IP报文, 各个域内或域间路由器读取目的地 址的同源地址要素并使用同源地址束地址汇聚算法计算与目的地址对应的地 址束, 然后用该地址束检索转发表, 最后将分组转发到下一跳路由器。
本说明书中的各个实施例均采用相互关联和递进的方式描述,各个实施例 之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施 例的不同之处。 尤其, 对于基于地址束的路由单元和基于同源汇聚的路由单元 两种网络节点实施例而言, 由于其基本相似于方法实施例, 所以描述得比较简 单, 相关之处参见其它相关实施例部分的说明即可。
以上对本发明所提供的新型全局地址汇聚方法、 域内和域间路由方法、 域 内和域间路由器路由表结构以及域内和域间报文转发方法及网络设备进行了 详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述。 以 上实施例的说明只是用于帮助理解本发明的方法和结构; 同时, 对于本领域的 一般技术人员, 依据本发明的思想、 方法和结构, 在具体实施方式及应用范围 上均会有改变之处。 综上所述, 本说明书内容不应理解为对本发明的限制。
通过上文给出的发明内容以及实施例,本领域的技术人员可以清楚地了解 到本发明的技术,在此基础上可借助软件以及必需的通用硬件平台的方式予以 实现。基于对本发明技术的理解, 本发明实施例中的技术方案本质上或者说对 现有技术做出贡献的部分可以以软件产品和 /或数字产品的形式体现出来, 该 计算机软件产品和 /或数字产品可以存储在存储介质中, 如 ROM/RAM、 Flash, 磁碟、 光盘等, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述 的方法。

Claims

权 要 求 书
1、 一种同源地址束汇聚方法, 其特征是: 包括同源地址段、 地址束、 地址束 关联、 同源地址束线性关联和指数关联, 同源地址束分配原则, 同源地址束最 佳匹配原则, 同源地址束的分裂、 合并原则, 同源地址束算法。
2、 根据权利要求 1所述的汇聚方法, 其特征是: 所述的同源地址段为拥有大 小为 11或2¾ fc=log n个连续或非连续地址序列, n个地址序列 , α2, ......, αη, 其中^ F +I , i=l, 2, ......, n-l, 到 都能被 2整除, 所述的同源地 址束是指由 r个连续或非连续的地址段通过关联链接构成一个完整地址段组, 第一个地址段 S。称地址束的根段, 根段的句柄成为一个地址束的句柄, 一个 地址束中 r段的链接关系由被成为关联的函数指定, 同源地址束关联是将多个 连续或非连续地址段进行相互链接形成一个完整地址段组构造的函数。
3、 根据权利要求 1所述的汇聚方法, 其特征是: 同源地址束关联分为线性关 联和指数关联, 线性关联是指将 r个具有相同大小 n的地址段组按线性关系链 接成一体, 表达式为 f'B(i) , f'B(i)=F。+n-i ( 1 ) , i=0, 1, 2, ......, r-l, 其中, F。为同源地址束根段前端, f B(i)为该地址束第 i个地址束根段的 前段; 地址束指数关联是指将 r个具有相同大小 n的地址段组按指数关系链接 成一体,其表达式为 feB(i), feB(i)= F。+n.(a'— 1) ( 2 ), i=0, 1, 2, ......, r-1 , a表示基数, 如 a=2, F。表示地址束根段前端, feB(i)表示该地址束第 i个 地址束根段前段。
4、 根据权利要求 1所述的汇聚方法, 其特征是: 所述同源地址束的分配原则 为:
φ任何两个地址束的根段不应相同; ②线性关联和指数关联的地址束的定义域允许重叠,所述的重叠是指集合的交 集非空, 允许线性关联地址束的定义域完全被包含于一个指数定义域之中, 允 许指数关联的地址束的定义域完全被包含于一个线性地址束定义域之中;
③两个线性关联地址束的定义域不应有任何重叠 ·,
Φ两个指数关联地址束的定义域可以重叠, 重叠的方式遵循原则 ©和©;
©不同大小的定义域应尽可能交织,所述的交织是指占用未被其它地址段占用 的地址空间;
©相同大小的定义域可以部分重叠。
5、 根据权利要求 1所述的汇聚方法, 其特征是: 所述同源地址束分配的最佳 匹配原则是指实际分配量与请求分配量之间的差异最小化,用数学表达式表示 arg min r - n}, I = {1,2,..., h}
' s t. ^ r. > n
6、 根据权利要求 1所述的汇聚方法, 其特征是: 所述同源地址束分裂是指将 一个大的地址束分解成一定数量小的地址束。 按照分裂后的地址束数目, 地址 束分裂可分为二分分裂、 三分分裂等, 其一般情形为 w分分裂, w 为大于 1 的正整数;
针对线性地址束8= 。+11^=0, 1, 2, ......, r-1}的二分分裂是指定一个正整 数 使得 0< - 1且:
Figure imgf000059_0001
1,……,p厂 1},
Β2={(^ο+ n-p )+n-i2, i2=0, 1, , r— 1— }。 线性地址束 B={FQ+n.i, i=0, 1, 2, ......, r-1}的三分分裂是指定两个正整数
Ρι和 /¾使得(kp /^r- 1且:
Figure imgf000060_0001
Β3={(^Ρ0+ «·/¾)+«· 33=0, 1, , 1— /¾}。
般, 线性地址束的 w分分裂是指对于一个线性地址束 B={F()+ivi, i=0, 1, ......, r- 1}, 指定 w- 1个正整数 , /^…, /?^使得 0〈 </¾<〜</?W4<r- 1且:
Figure imgf000060_0002
Bk={(F0+ /2-pkK=0, 1, ……,/¾— 1—¾- 1}, 2<k≤w-l
Bw={(Fo+ n-pw-i)+n-iw, /W=0, 1, , r-l-/?w_i
针对一个指数地址束
Figure imgf000060_0003
i=0, 1, 2, ......, r-1}的二分分裂是指 定一个正整数 qi使得 0< <r- 1且:
βχ ={ 0 + «- (2'1 - 1), i, = 0, 1,…… - 1},
B2 ={F0 +n-(2qi+i2 —1), 2 =0,1,…… s— 1— },
指数地址束的三分分裂是指对于一个指数地址束
Figure imgf000060_0004
i=0, 1, 2, ......, s-1}, 指定两个正整数 和 2使得 0< < 2<¾- 1且:
Bx ={F0+n- (2'·' - 1), ix二 0, 1,…… qx― 1},
B2 ={F0 +n-(2^ — 1), 2 =0,1,…… 2— 1— } ,
B3 ={F0 +n-(2cl2+ —1), 3 =0,1,…… 1— 2},
一般, 指数地址束的 w分分裂是指对于一个指数地址束
Figure imgf000060_0005
i=0, 1, 2, ......, 1}, 指定 w-1个正整数/? / 使得 O^^^c^w—^r-l 且:
B ={F0+n- (2'1 - 1), i = 0, 1,…… qx― 1},
B2 ={F0+n-(2qi+i2—1), 2 =0,1,…… q2 -1-q
Bk ={F0+n- (2?»― 1), ik = 0,1,…… qk― 1― qk_x}, 2<k≤w-l
Bw ={F0 +n- il^ - 1), iw =0,1,…… - qw_x }。
通过迭代方式运用二分分裂法将一个大地址束进行多次分解, 分解成具有不同 粒度的小地址束, 适应各种级别的下级地址分配机构的需要;
地址束合并的过程是地址束分裂的逆过程, 地址束合并将多个小的地址束 合并成一个大的地址束, 线性地址束按照如下规则进行合并: 对于两个线性地 址束 h= , 1, ...... 厂 1}和 B2={F2+«.2, i2= , 1, ...... 1}, 如果满 足:
F2=F1+n'(p厂 V)
则两个地址束
Figure imgf000061_0001
1, 2, ......,
/¾- 1}。
指数地址束合并有两种典型的类型, 拼接合并和包含合并, 拼接合并是指以迭 代方式将多个小的地址束拼接成一个大的地址束, 两个小地址束
B F1+M21-!), i=0, 1, …, p}, B2={F2 + m-(2J- 1), j=0, 1, …, q}, 若 + n- P"-:!), m = n-2p+1
此时, B^PB2可以合并成为 B: B={F1 + n-(2k-l), k=0, 1, ..., p+q+1}; 包含合并是指一个地址束的定义域包含于被另一个地址束的定义域之中,并且 前者的所有地址段也是后者的地址段, 两个地址束 BQ和 B,
B0={F0 + n,(2i— 1), i=0, 1, …, u}, B={F + m,(2j— 1), j=0, 1, ..., v}, 若 u>v且存在 xe {0,l, u-v}使得:
F = F。+ n 2x— 1), m = n'2x 成立,
则地址束 包含地址束 B, 地址束 Bc^P B合并为 B。
7、 根据权利要求 1所述的汇聚方法, 其特征是: 所述同源地址汇聚算法分为 两个部分, 即表达一个具体 IP地址与包含它的地址束之间关系的算法使用关 联八、 指数基 b、 过滤符 M、 和偏移量 0, 其关联 A指明关联的类型是线性关 联或指数关联, 指数基 b指明指数关联的基值, 过滤符 M是将一个长度为 m 的比特序列的前 M位, M≤m, 再右拼接(m-M)个 0的操作符, 过滤符 M是 对地址 Address的一种运算, 表示为: Address/(m-M), 偏移量 0则指明直接 包含一个具体 IP地址的地址段的前端到包含该地址段的地址束的根段前端的 距离, 对于线性关联, 偏移量 0是直接包含一个 IP地址的地址段的前端与包 含该地址段的地址束的根段的前端之差值,对于指数关联,偏移量 0是直接包 含一个具体 IP地址的地址段的指数幂值与它包含该地址段的地址束的根段的 指数幂值之差, 由一个具体 IP地址计算包含它的地址束的句柄的算法则使用 具体 IP地址 D、 关联 A、 指数基 b、 过滤符 M、 和偏移量 0来计算包含地址 D的地址束的句柄, 用 D的过滤符 M计算得到包含 D的地址段的句柄 , 对地址 D的关联 A译码得到其关联类型, 对于线性关联, 将 H减去 D的偏移 量 0得到包含 D的地址束的句柄 ,对于指数关联,按照 D的过滤符 M将 D 的偏移量 0左移 (m-M)位得到偏移量 0', 将 H减去 0'得到包含 D的地址束 的句柄 Hb, 上述运算加、 减、 乘、 乘方运算均在取模意义下进行, 模为地址 总数。
8、 一种含有权利要求 1 的同源汇聚网络路由系统, 其特征是: 包括同源地址 束汇聚路由结构, 同源地址束汇聚散播, 基于同源地址束的域内路由方法, 基 于同源地址束的域间路由方法, 基于同源地址束的域内或域间路由表结构, 同 源地址束在数据报文中的存放方法和存放形式, 同源地址束主机报文的生成过 程, 同源地址束域内或域间路由器对报文的转发方法和转发过程。
9、 根据权利要求 8所述的网络路由系统, 其特征是: 所述同源地址束汇聚路 由结构含有两类汇聚的路由单元,基于地址束的路由单元和基于同源汇聚的路 由单元, 所述基于地址束的路由单元代表一个基于地址束的域内或域间路由 器, 其路由和转发行为都是基于地址束, 作为域内或域间选路的结果, 其路由 表以地址束为查询的索引, 它采用地址束算法对报文实施转发, 一个基于地址 束的域间路由器向其它域间路由器通告自身拥有的地址束并接收来自其它域 间路由器的地址束通告,通过自身和其它域间路由器的地址束的地址建立域间 路由, 路由表也以地址束为查询的索引, 基于地址束的路由器采用地址束汇聚 算法对报文分组实施转发。
10、 根据权利要求 9所述的网络路由系统, 其特征是: 所述基于同源地址束 汇聚的路由单元代表一个基于地址束且具备汇聚功能的域间路由器,其路由和 转发行为都是基于地址束的, 对不是已被汇聚的地址束进行汇聚, 称为一阶汇 聚, 相应的地址束汇聚路由单元称为一阶汇聚路由单元, 否则, 分别称为高阶 汇聚和高阶汇聚路由单元,一个路由域通常通过一阶汇聚将自己拥有的个数较 多地址束变换为对个数较少地址束, 在具有提供商 -客户关系的路由域之间, 通常提供商路由域的同源地址束汇聚路由器实施高阶汇聚, 即对客户路由域的 低阶地址束进行汇聚, 同源汇聚路由器同样采用地址束汇聚算法, 一个路由域 至少有一个同源汇聚路由单元, 就地址束汇聚而言, 一个同源地址束汇聚, 从 域内到域外收到的多个"小"地址束汇聚成一个"大"地址束并存储该汇聚关系, 地址束解汇聚则是一种转发功能,指对从域外收到的一个分组将其所属的大地 址束"降级为 "多个小地址束, 与基于地址束的路由器相同, 一个同源汇聚路由 器也通过自身和其它域内路由器的地址束建立域内路由, 作为选路的结果, 其 路由表以地址束为查询索引,在同源地址束汇聚路由器的路由表还记录它对地 址束的汇聚关系,一个基于地址束的域间路由器向其它域间路由器通告自身拥 有的地址束, 对于实施了一个地址束汇聚的基于地址束的域间路由器, 它要启 动三个操作, 第一, 将该汇聚地址束的路由表表项的"汇聚符标志"置为 1, 将 所有被汇聚地址束的路由表表项的 "汇聚符标志 "置为 0, 将该汇聚地址束的路 由表表项的"汇聚组标志"以及所有被汇聚地址束的路由表表项的"汇聚组标 志"置位该汇聚组的标识;第二,将该汇聚地址束的转发表表项的"汇聚符标志" 置为 1, 将所有被汇聚地址束的转发表表项的"汇聚符标志"置为 0; 第三, 将 整个汇聚关系, 即被汇聚的多个地址束以及一个汇聚地址束, 向外界通告, 基 于地址束的域间路由器还接收来自其它域间路由器的地址束通告,作为建立域 间路由的结果, 其路由表也以地址束为查询的索引, 同源地址束汇聚路由器同 样采用地址束汇聚算法。
11、 根据权利要求 8所述的网络路由系统, 其特征是: 所述的同源地址汇 聚散播, 如果一个域边界路由器从其它路由域收到一个地址束汇聚通告, 它便 将该汇聚关系广播到本路由域内的所有主机和路由器。
12、 根据权利要求 8所述的网络路由系统, 其特征是: 所述的基于同源地 址束的域内路由方法包括使用现有 IP网络的域内路由 RIP, OSPF, IS-IS协议 建立一个路由域的域内路由, 原 RIP, OSPF, IS-IS协议中原先的网络地址部 分的地址前缀改为地址束,协议消息的网络地址部分采用如下的形式分别表示 线性和指数地址束: 线性地址束的表示形式为:
0 31
Figure imgf000065_0001
其中的地址束根段前端、 地址段长度、 上限分别对应本发明说明书中线性 关联定义表达式 (1)中的 FQ、 《和 r, 线性关联表示关联是线性的, 例外列表则 罗列不属于该线性地址束的地址段的索引值 。
指数地址束的一般形式为:
0 31
Figure imgf000065_0002
其中的地址束根段前端、 地址段长度、 上限、 指数基分别对应本发明说明 书中指数关联定义表达式 (2)中的 FQ、 n、 r、和 a, 指数关联表示关联是指数的, 例外列表则罗列不属于该指数地址束的地址段的索引值 i。 如果 a=2, 则可以 0 31
Figure imgf000066_0001
13、 根据权利要求 8所述的网络路由系统, 其特征是: 基于同源地址束的 域间路由方法包括: 使用现有的网络域间路由 BGP建立域间路由, 原 BGP协 议中地址部分的地址前缀改为同源地址束, BGP协议中的消息的网络地址部分 采用如下的形式分别表示线性和指数地址束:
线性地址束的表示形式为:
0 31
Figure imgf000066_0002
其中的地址束根段前端、 地址段长度、 上限分别对应本发明说明书中线性 关联定义表达式 (1)中的 FQ、 《和 r, 线性关联表示关联是线性的, 例外列表则 罗列不属于该线性地址束的地址段的索引值 。
指数地址束的一般形式为:
0 31
Figure imgf000066_0003
9 其中的地址束根段前端、 地址段长度、 上限、 指数基分别对应本发明说明 书中指数关联定义表达式 (2)中的 FQ、 n、 r、和 a, 指数关联表示关联是指数的, 例外列表则罗列不属于该指数地址束的地址段的索引值 i。 如果 a=2, 则可以
0 31
Figure imgf000067_0001
14、 根据权利要求 8所述的网络路由系统, 其特征是: 所述路由器的路由 表结构为:
Figure imgf000067_0002
其中,地址束标识就是地址束句柄,路径属性和其它均为常规的路由表项字段; 域间路由器在运行域间路由协议的基础上用地址束表达和建立域间路由,用地 址束作为域间路由表的索引来转发分组,域间路由器的域间路由表分为非汇聚 和汇聚两个部分, 非汇聚部分包含所有一阶汇聚地址束所对应的表项, 每个一 阶汇聚地址束表项包括"地址束标识"、 "路径属性"和"其它"属性, 汇聚部分则 包含所有二阶和高阶汇聚地址束所对应的表项;
域间路由表的结构为: 地址束标识 汇聚符标志 汇聚组标志 路径属性 其它
Figure imgf000068_0001
汇聚符标志 = 1表示对应的地址束为在本地实施了汇聚的汇聚地址束, 被它汇 聚的是汇聚符标志 =0且"汇聚组标志"取值相同的所有地址束, 汇聚符标志 = '0'且汇聚组标志 = '- '表示一个未在本地实施汇聚的地址束, 即非汇聚地址束。
15、 根据权利要求 13或 14所述的网络路由系统, 其特征是: 域内或域间 路由器的转发表结构, 转发表是路由表的简洁形式, 用于实现对分组的快速转 发, 转发表中的表项与路由表中的表项一一对应, 转发表设地址束标志, 下一 条标志, 输出端口号, 域内路由器的转发表一般结构为:
11 地址束标识 下一跳标识 输出端口号
Figure imgf000069_0001
域间路由器的转发表一般结构为:
地址束标识 汇聚符标志 下一跳标识 输出端口号
Figure imgf000069_0002
16、 根据权利要求 8所述的网络路由系统, 其特征是: 所述同源地址束在 数据报文中的存放方法和存放形式包括: 一个同源地址束具有 "同源 IP地址", "同源关联类型", "掩码 "和"偏移"四个同源地址要素, 在 IP报文的逐跳扩展头 中分别为源和目的的同源地址定义"关联类型", "掩码 "和"偏移"三个字段, 为 了表达源、 目的 IP地址对他们所在地址束的所属关系, 将一个 IP报文的四个 同源地址要素分别存放在该 IP报文头地址字段以及 IP报文逐跳扩展头的目的 同源地址束关联类型、 掩码和偏移三个字段。
17、 根据权利要求 8所述的网络路由系统, 其特征是: 所述主机报文的生 成方法和过程包括, 分别获取源、 目的 IP地址四个同源地址要素并将它们填 入 IP报文两个部分,每一个主机报文中的源或者目的 IP地址均包含四个要素: IP地址、 关联类型、掩码和偏移, 主机报文的生成过程就是获取这四个要素并 将它们填入 IP报文的过程, 同源地址要素获取过程分为查询域名服务器和指 派偏移量两个子过程, 主机通过查询域名服务器子过程得到域名和 IP地址、 关联类型、 掩码以及地址束之间的对应关系, 其中, IP地址和掩码表达 IP地 址所在的地址段, 地址束为包含 IP地址所在地址段的地址束的标识; 主机通 过指派偏移量子过程, 旨在获取包含一个目的 IP地址的顶级汇聚地址束, 进 而得到该顶级汇聚地址束到直接包含该目的 IP地址的地址段的偏移量; 对于 一个 IP地址, 从本地存储器中取出其同源地址、 关联类型、 掩码以及地址束, 分别量入相应 IP报文的 IP地址、 关联类型、 掩码和偏移字段中。
18、 根据权利要求 8所述的网络路由系统, 其特征是: 所述的域内和域间 路由器对主机报文的转发方法和过程, 报文转发包括源路由域内的报文转发、 路由域间的报文转发和目的路由域内的报文转发三个子功能, 对于源、 目的主 机同在一个路由域的报文转发, 仅仅涉及"源路由域内的报文转发"一个子功 能, 而对于源、 目的主机不在同一个路由域的报文转发则同时涉及上述三个子 功能, 而对源、 目的主机同在一个路由域的报文转发通过源路由域内报文转发 过程完成, 即源主机先通过域名解析过程获得目的主机同源地址的四要素, 再 将源主机和目的主机的同源地址要素分别填入 IP报文的源、 目的 IP地址字段 以及逐跳扩展头中, 最后通过网络接口发至与其相连的域内路由器, 域内路由 器从 IP报文的目的地址和逐跳扩展头读取目的同源地址的四要素, 使用计算 地址束句柄的算法得到包含该目的地址的地址束的句柄, 源、 目的主机不在同 一个路由域的报文转发则同时由源路由域内转发、域间转发以及目的路由域内 转发完成, 源主机将 IP报文发至与其同在一个路由域的基于地址束的边界路 由器, 即该边界路由器是域间路由器, 边界路由器从 IP报文的目的地址和逐 跳扩展头读取目的同源地址的四要素,根据计算地址束句柄的算法得到包含目 的 IP地址的地址束的句柄, 用该地址束句柄检索关键字查询转发表,
如果本路由器直连目的主机, 则直接将 IP报文通过直连的网段接口发出; 如果查询命中的地址束 B 的汇聚符标志为 0, 则按照对应的下一跳标识将 IP 报文转发到相邻的域间路由器; 如果查询命中的地址束 B的汇聚符标志为 1, 则对于包含目的 IP地址 A的地址段句柄 H(A),在被命中地址束汇聚的全部地 址束中寻找满足下式的两个相邻的被汇聚地址束 61和 B1+1; H(B < H(A) < H(B1+1); 将 IP报文中目的 IP地址 A的偏移量改写为 H(A) - H(B , 目的路由 域内的报文转发, 域内路由器从 IP报文的目的地址和逐跳扩展头读取目的同 源地址的四要素, 由一个具体 IP地址计算包含它的地址束的句柄算法计算得 到包含目的 IP地址的地址束之句柄, 用该地址束句柄为检索关键字查询转发 表, 如果本路由器直连目的主机, 则直接将 IP报文通过直连的网段接口发出, 按照查询命中表项所指示的下一跳标识将 IP报文转发到相邻的域内路由器, 直连目的主机的域内路由器将 IP报文发给目的主机所在的网段, 目的主机接 收并接受 IP报文。
14
PCT/CN2011/079262 2010-12-30 2011-09-09 同源地址束汇聚方法及同源汇聚网络路由系统 WO2012088917A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/932,063 US9544228B2 (en) 2010-12-30 2013-07-01 Method of creating source IP address bunches in a router, and router comprising a network routing system comprising source IP address bunches

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010615488.0A CN102055817B (zh) 2010-12-30 2010-12-30 同源地址束汇聚方法及同源汇聚网络路由系统
CN201010615488.0 2010-12-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/932,063 Continuation-In-Part US9544228B2 (en) 2010-12-30 2013-07-01 Method of creating source IP address bunches in a router, and router comprising a network routing system comprising source IP address bunches

Publications (1)

Publication Number Publication Date
WO2012088917A1 true WO2012088917A1 (zh) 2012-07-05

Family

ID=43959735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/079262 WO2012088917A1 (zh) 2010-12-30 2011-09-09 同源地址束汇聚方法及同源汇聚网络路由系统

Country Status (3)

Country Link
US (1) US9544228B2 (zh)
CN (1) CN102055817B (zh)
WO (1) WO2012088917A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2875607A4 (en) * 2012-07-20 2016-03-02 Samsung Electronics Co Ltd HOME NETWORK SYSTEM AND NETWORK SETUP PROCESS FOR A ROUTER IN IT
CN115428415A (zh) * 2020-04-16 2022-12-02 华为技术有限公司 使用可变长度地址在分层网络架构中转发报文的系统和方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055817B (zh) * 2010-12-30 2014-07-30 中国人民解放军信息工程大学 同源地址束汇聚方法及同源汇聚网络路由系统
CN102917429B (zh) * 2012-10-22 2015-09-09 华为技术有限公司 报文传输方法及装置
CN103078968B (zh) * 2013-01-22 2015-12-02 华为技术有限公司 域名查询方法、ip分族方法、装置和设备
US10924452B1 (en) * 2013-08-30 2021-02-16 Amazon Technologies, Inc. Auditing IP address assignments
CN104518967B (zh) * 2013-09-30 2017-12-12 华为技术有限公司 路由方法、设备和系统
US9729439B2 (en) 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US10277506B2 (en) 2014-12-08 2019-04-30 128 Technology, Inc. Stateful load balancing in a stateless network
US9736184B2 (en) 2015-03-17 2017-08-15 128 Technology, Inc. Apparatus and method for using certificate data to route data
US9729682B2 (en) 2015-05-18 2017-08-08 128 Technology, Inc. Network device and method for processing a session using a packet signature
US9762485B2 (en) 2015-08-24 2017-09-12 128 Technology, Inc. Network packet flow controller with extended session management
US10079800B2 (en) * 2015-10-14 2018-09-18 Nominum, Inc. Client subnet efficiency by equivalence class aggregation
US9871748B2 (en) 2015-12-09 2018-01-16 128 Technology, Inc. Router with optimized statistical functionality
US9985883B2 (en) 2016-02-26 2018-05-29 128 Technology, Inc. Name-based routing system and method
US10205651B2 (en) 2016-05-13 2019-02-12 128 Technology, Inc. Apparatus and method of selecting next hops for a session
US10298616B2 (en) 2016-05-26 2019-05-21 128 Technology, Inc. Apparatus and method of securing network communications
US10841206B2 (en) 2016-05-31 2020-11-17 128 Technology, Inc. Flow modification including shared context
US10257061B2 (en) 2016-05-31 2019-04-09 128 Technology, Inc. Detecting source network address translation in a communication system
US11075836B2 (en) 2016-05-31 2021-07-27 128 Technology, Inc. Reverse forwarding information base enforcement
US9832072B1 (en) 2016-05-31 2017-11-28 128 Technology, Inc. Self-configuring computer network router
US10200264B2 (en) 2016-05-31 2019-02-05 128 Technology, Inc. Link status monitoring based on packet loss detection
US10091099B2 (en) 2016-05-31 2018-10-02 128 Technology, Inc. Session continuity in the presence of network address translation
US10009282B2 (en) 2016-06-06 2018-06-26 128 Technology, Inc. Self-protecting computer network router with queue resource manager
CN107592262A (zh) * 2016-07-07 2018-01-16 中兴通讯股份有限公司 报文发送方法和装置、报文跨域转发的网络架构
US9985872B2 (en) 2016-10-03 2018-05-29 128 Technology, Inc. Router with bilateral TCP session monitoring
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
US10425511B2 (en) 2017-01-30 2019-09-24 128 Technology, Inc. Method and apparatus for managing routing disruptions in a computer network
US10277499B2 (en) 2017-02-07 2019-04-30 Level 3 Communications, Llc System and method for next hop BGP routing in a network
US10833980B2 (en) 2017-03-07 2020-11-10 128 Technology, Inc. Router device using flow duplication
US10432519B2 (en) 2017-05-26 2019-10-01 128 Technology, Inc. Packet redirecting router
US11165863B1 (en) 2017-08-04 2021-11-02 128 Technology, Inc. Network neighborhoods for establishing communication relationships between communication interfaces in an administrative domain
US10693715B1 (en) 2017-10-26 2020-06-23 Amazon Technologies, Inc. Dynamic network address space allocation for virtual networks
US20190253341A1 (en) 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
CN111049746B (zh) * 2018-10-12 2022-04-22 华为技术有限公司 一种路由表项生成方法、字典树生成方法和装置
CN109309727A (zh) * 2018-10-26 2019-02-05 苏州浪潮智能软件有限公司 一种sp远程访问实现方法
CN110198251B (zh) * 2019-04-02 2022-08-02 腾讯科技(深圳)有限公司 一种获得客户端地址的方法及装置
CN113132499B (zh) * 2019-12-30 2022-10-18 中国移动通信集团山西有限公司 Ip地址信息管理方法、装置、设备及计算机存储介质
CN111447292B (zh) * 2020-02-24 2021-10-01 北京邮电大学 一种IPv6地理位置定位方法、装置、设备及存储介质
CN115428411B (zh) 2020-04-23 2024-05-28 瞻博网络公司 使用会话建立度量的会话监测
CN111629275B (zh) * 2020-05-15 2022-06-10 浙江信网真科技股份有限公司 一种组播表项自聚合的安全过滤方法
US11902166B2 (en) * 2020-08-04 2024-02-13 Cisco Technology, Inc. Policy based routing in extranet networks
CN113709268A (zh) * 2020-12-11 2021-11-26 浙江十进制网络有限公司 一种网络任意点播寻址方法及其互联网络
CN112800142B (zh) * 2020-12-15 2023-08-08 赛尔网络有限公司 Mr作业处理方法、装置、电子设备及存储介质
EP4178173A1 (en) * 2021-11-05 2023-05-10 Nokia Technologies Oy Apparatus, methods, and computer programs
CN114491371B (zh) * 2022-01-27 2022-09-16 佛山众陶联供应链服务有限公司 一种web系统前端多系统跳转方法及系统
CN115022225B (zh) * 2022-05-31 2023-11-10 东风电驱动系统有限公司 报文转发方法、装置、设备及可读存储介质
CN115412528B (zh) * 2022-08-08 2024-09-20 北京达佳互联信息技术有限公司 一种主机路由地址存储方法、装置、电子设备及存储介质
CN117714219B (zh) * 2024-02-18 2024-04-23 中国电子科技集团公司第三十研究所 一种设备地址/标识的隐藏还原方法及报文传输方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881918A (zh) * 2005-06-15 2006-12-20 华为技术有限公司 自动交换光网络中节点可达性的识别方法
US20070189329A1 (en) * 2006-02-14 2007-08-16 Nokia Corporation System for combining networks of different addressing schemes
CN101123613A (zh) * 2007-08-23 2008-02-13 张建中 一种多维地址编址的方法和装置以及系统
CN102055817A (zh) * 2010-12-30 2011-05-11 中国人民解放军信息工程大学 同源地址束汇聚方法及同源汇聚网络路由系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202106B1 (en) * 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
US20070121664A1 (en) * 2005-11-30 2007-05-31 Szczebak Edward J Jr Method and system for double data rate transmission
US8233477B1 (en) * 2008-03-24 2012-07-31 Force10 Networks, Inc. Dynamic crosstalk reduction for backplane serial channels
CN101425973B (zh) * 2008-11-25 2011-05-11 中兴通讯股份有限公司 一种ip组播在等价多路径上的选路方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881918A (zh) * 2005-06-15 2006-12-20 华为技术有限公司 自动交换光网络中节点可达性的识别方法
US20070189329A1 (en) * 2006-02-14 2007-08-16 Nokia Corporation System for combining networks of different addressing schemes
CN101123613A (zh) * 2007-08-23 2008-02-13 张建中 一种多维地址编址的方法和装置以及系统
CN102055817A (zh) * 2010-12-30 2011-05-11 中国人民解放军信息工程大学 同源地址束汇聚方法及同源汇聚网络路由系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2875607A4 (en) * 2012-07-20 2016-03-02 Samsung Electronics Co Ltd HOME NETWORK SYSTEM AND NETWORK SETUP PROCESS FOR A ROUTER IN IT
CN115428415A (zh) * 2020-04-16 2022-12-02 华为技术有限公司 使用可变长度地址在分层网络架构中转发报文的系统和方法

Also Published As

Publication number Publication date
CN102055817B (zh) 2014-07-30
US20130297824A1 (en) 2013-11-07
US9544228B2 (en) 2017-01-10
CN102055817A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
WO2012088917A1 (zh) 同源地址束汇聚方法及同源汇聚网络路由系统
US8559434B2 (en) Packet forwarding in a network
JP4565793B2 (ja) 最長一致アドレスルックアップのための方法および装置
Draves et al. Constructing optimal IP routing tables
US8924508B1 (en) Advertising end-user reachability for content delivery across multiple autonomous systems
US8160069B2 (en) System for forwarding a packet with a hierarchically structured variable-length identifier
CN112511428A (zh) 报文封装方法、报文转发方法、通告方法、电子设备、和存储介质
US7990893B1 (en) Fast prefix-based network route filtering
WO2018032961A1 (zh) 一种管理信息的方法,装置及系统
WO2017184530A2 (en) A mapping database system for use with content chunks and methods of routing to content in an ip network
CN109639579B (zh) 组播报文的处理方法及装置、存储介质、处理器
US8923298B2 (en) Optimized trie-based address lookup
CN103731516B (zh) 基于嵌套视图的dns解析方法及其系统
CN101908998A (zh) 路径计算方法、路径计算单元及路径计算系统
CN104243631A (zh) 一种IPv4地址与IPv6地址有状态转换的方法及设备
US8301738B1 (en) Systems and methods for private network addressing in IP protocols
Ren et al. Routing and addressing with length variable ip address
WO2017000893A1 (zh) Ip路由查找
Francis A near-term architecture for deploying PIP
Hsieh et al. A classified multisuffix trie for IP lookup and update
Roos et al. Enhancing compact routing in CCN with prefix embedding and topology-aware hashing
Anastasiades et al. Content discovery in wireless information-centric networks
Wang et al. Compact location encodings for scalable Internet routing
WO2016141678A1 (zh) 一种为vpn路由分配标签的方法及装置
KR20160092382A (ko) 계층화된 도메인 기반의 네트워크 구조에서 라우터의 도메인 라우팅 테이블 관리 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11853184

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11853184

Country of ref document: EP

Kind code of ref document: A1