[go: up one dir, main page]

WO2017020718A1 - Method and device for routing processing - Google Patents

Method and device for routing processing Download PDF

Info

Publication number
WO2017020718A1
WO2017020718A1 PCT/CN2016/090819 CN2016090819W WO2017020718A1 WO 2017020718 A1 WO2017020718 A1 WO 2017020718A1 CN 2016090819 W CN2016090819 W CN 2016090819W WO 2017020718 A1 WO2017020718 A1 WO 2017020718A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
routing
packet
information
cache
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2016/090819
Other languages
French (fr)
Chinese (zh)
Inventor
宋卓
李易
李�雨
刘泓昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of WO2017020718A1 publication Critical patent/WO2017020718A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

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/742Route cache; Operation thereof

Definitions

  • the present application relates to the field of computers, and in particular to a technique for routing processing.
  • the routing subsystem in the operating system kernel faces an increase in traffic buffer capacity due to a large number of external IP addresses, resulting in system performance degradation and stability.
  • the first one is to optimize the path of the query routing table, for example, using a trie tree to improve the search efficiency; the second is to turn off the route if necessary. Cache function.
  • the first solution involves architectural adjustments that may require significant changes to the kernel version, which has a huge potential impact on a large number of underlying services based on the original kernel version; the second solution solves even to some extent The stability problem, but also brings huge performance overhead, such as significantly increased CPU utilization.
  • the present application provides a method and device for routing processing to effectively solve the problem that the routing cache capacity is soaring and the system performance is degraded.
  • a route processing method includes:
  • mapping the routing address to the corresponding predetermined address includes: when the routing address is an external address, mapping the routing address according to the corresponding mask information. The intended address.
  • the method further includes: determining, according to the cache related information corresponding to the route cache, corresponding mask information; wherein, when the routing address is an external address, the routing address is Mapping the corresponding predetermined address includes: when the routing address is an external address, mapping the routing address to a corresponding predetermined address according to the mask information.
  • the cache related information includes at least one of: capacity information of the route cache; current available capacity information of the route cache; maximum number of cache records supported by the route cache; and the route cache The amount of information that has been cached.
  • performing the matching query in the route cache according to the predetermined address to obtain the corresponding routing information further includes: when the routing address matches the miss in the routing cache, according to the routing address, the corresponding route A matching query is performed in the table to obtain corresponding routing information.
  • the method further includes: updating the route cache according to the predetermined address and the routing information.
  • the detecting whether the routing address of the to-be-routed packet is an external address comprises: detecting, according to the corresponding subnet information, whether the routing address of the to-be-routed packet is an external address.
  • the detecting whether the routing address of the to-be-routed packet is an external address further includes: detecting whether the routing address is a legal address; wherein, when the routing address is an external address, mapping the routing address to correspond
  • the predetermined address includes: when the routing address is an external address and belongs to a legal address, mapping the routing address to a corresponding predetermined address.
  • the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside.
  • the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, the detecting whether the routing address of the to-be-routed packet is an external address includes: when the to-be-routed When the routing packet does not need to be forwarded, it is detected whether the routing address of the to-be-routed packet is an external address.
  • a route processing device wherein the device includes:
  • a detecting device configured to detect whether a routing address of the packet to be routed is an external address
  • mapping device configured to: when the routing address is an external address, map the routing address to a corresponding predetermined address
  • Querying means configured to perform a matching query in the route cache according to the predetermined address to obtain corresponding routing information
  • the processing device is configured to process the to-be-routed packet according to the routing information.
  • mapping device is configured to: when the routing address is an external address, map the routing address to a corresponding predetermined address according to the corresponding mask information.
  • the device further includes: a mask determining device, configured to determine corresponding mask information according to the cache related information corresponding to the route cache; wherein the mapping device is configured to: when the routing address is an external address, Mapping the routing address to a corresponding predetermined address according to the mask information.
  • the cache related information includes at least one of: capacity information of the route cache; current available capacity information of the route cache; maximum number of cache records supported by the route cache; and the route cache The amount of information that has been cached.
  • the querying apparatus is further configured to: when the routing address matches the miss in the routing cache, perform a matching query in the corresponding routing table according to the routing address to obtain corresponding routing information.
  • the device further includes: updating means, configured to update the route cache according to the predetermined address and the routing information.
  • the detecting device is configured to: detect, according to the corresponding subnet information, whether the routing address of the to-be-routed packet is an external address.
  • the detecting device is further configured to: detect whether the routing address is a legal address; wherein the mapping device is configured to: when the routing address is an external address and belongs to a legal address, mapping the routing address Corresponding predetermined address.
  • the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside.
  • the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, the detecting apparatus is configured to: when the to-be-routed packet does not need to be forwarded, Detecting whether the routing address of the to-be-routed packet is an external address.
  • the present application maps the external address to a corresponding predetermined address by detecting an external address, and then performs a matching query in a route cache or a routing table to obtain routing information, and finally completes according to the routing information. Processing of data packets. Since the number of predetermined addresses is controllable in the present application, the number of route buffers can be kept at a low level by mapping a large number of external addresses to a limited range of predetermined addresses; even in the case of large traffic concurrent situations, The number of route caches is reduced by several orders of magnitude, and as the number of caches decreases, hot cache entries do not need to be re-established, which can improve cache hit speed and CPU utilization to a certain extent, thereby reducing the number of route caches.
  • the application may also use the mask information to perform an address mapping operation, thereby further reducing the number of route caches; and, in addition, the cache related information of the route cache may be combined to determine the mask information used, thereby further avoiding buffer overflow. Ensure system performance.
  • the present application can also detect whether the routing address is a legal address before the address mapping, for example, excluding the Martian address, thereby further reducing the number of routing buffers, and also having a certain defense effect against DDoS attacks.
  • FIG. 1 shows a flow chart of a method for routing processing in accordance with an aspect of the present application
  • FIG. 2 shows a flow chart of a method for routing processing in accordance with a preferred embodiment of the present application
  • FIG. 3 shows a schematic diagram of an apparatus for routing processing according to another aspect of the present application.
  • FIG. 4 shows a schematic diagram of an apparatus for routing processing in accordance with a preferred embodiment of the present application
  • the terminal, the device of the service network, and the trusted party are both included.
  • One or more processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology.
  • the information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage,
  • computer readable media does not include non-transitory computer readable media, such as modulated data signals and carrier waves.
  • the source address or the destination address of the acquired data packet is an external address.
  • the source address is detected; and the destination address is detected for the data packet to be forwarded to the outside.
  • the goal of reducing the number of route buffers is achieved by mapping a large number of external addresses to a limited range of predetermined addresses.
  • the processing of the data packet is completed according to the routing information obtained from the query in the route cache or the routing table.
  • the routing processing device in the present application may include, but is not limited to, a module in a routing subsystem in an operating system kernel, an independent module in an operating system kernel, an application that can implement a routing function, a router or a switch, etc., which can implement a routing function. device.
  • routing processing device is only an example, and other existing or future possible routing processing devices, such as may be applicable to the present application, are also included in the scope of the present application, and are hereby incorporated by reference. The way is included here.
  • FIG. 1 shows a flow chart of a method for routing processing in accordance with an aspect of the present application.
  • the method includes step S11, step S12, step S13, and step S14.
  • the device 1 detects whether the routing address of the packet to be routed is an external address; in step S12, when the routing address is an external address, the device 1 maps the routing address to a corresponding predetermined address; in step S13 The device 1 performs a matching query in the route cache according to the predetermined address to obtain corresponding routing information.
  • the device 1 processes the to-be-routed packet according to the routing information.
  • the device 1 includes, but is not limited to, a user equipment, a network device, or a device formed by integrating a user equipment and a network device through a network.
  • the user equipment includes, but is not limited to, any mobile electronic product that can interact with a user through a touchpad, such as a smart phone, a PDA, etc., and the mobile electronic product can adopt any operating system, such as an android operating system. iOS operating system, etc.
  • the network device includes an electronic device capable of automatically performing numerical calculation and information processing according to an instruction set or stored in advance, and the hardware includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), and a programmable gate. Arrays (FPGAs), digital processors (DSPs), embedded devices, and more.
  • the network device includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a plurality of servers; wherein the cloud is composed of a large number of computers or network servers based on Cloud Computing Among them, cloud computing is a kind of distributed computing, a virtual supercomputer composed of a group of loosely coupled computers.
  • the network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (Ad Hoc network), and the like.
  • the device 1 may also be a script program running on the user equipment, the network device, or the user equipment and the network device, the network device, the touch terminal, or the network device and the touch terminal integrated through the network.
  • the above-mentioned device 1 is only an example, and other existing or future devices 1 may be applicable to the present application, and are also included in the protection scope of the present application, and are hereby incorporated by reference. Included here.
  • step S11 the device 1 continuously detects whether the routing address of the packet to be routed is an external address; in step S12, when the routing address is an external address, the device 1 continuously maps the routing address to a corresponding reservation.
  • step S13 the device 1 continues to perform a matching query in the route cache according to the predetermined address to obtain corresponding routing information; in step S14, the device 1 continues to perform the routing information according to the routing information.
  • the packet to be routed is processed until the device 1 stops detecting whether the routing address of the packet to be routed is an external address in step S11.
  • step S11 the device 1 detects whether the routing address of the packet to be routed is an external address.
  • the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside. That is, the routing packet includes: a packet received from the outside and a packet to be forwarded to the outside.
  • the packet received from the outside is referred to as an ingress
  • the packet to be forwarded to the external packet is referred to as an egress.
  • the routing address In the inbound direction, the routing address is a source address, and the source address is detected as an external address.
  • the routing address is a destination address, and the destination address is detected as an external address.
  • the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, in step S11, when the to-be-routed packet does not need to be forwarded The device 1 detects whether the routing address of the to-be-routed packet is an external address.
  • the routing subsystem in the operating system kernel forwards the received packet according to its destination address, which includes the source and destination addresses. If the destination address is local, the packet does not need to be forwarded; if the destination address is not local, the packet needs to be forwarded to the next-level device.
  • the inbound direction it is first determined whether the data packet to which the routing address belongs needs to be forwarded, and when it is not required to be forwarded, it is further detected whether the routing address is an external address.
  • the outbound direction since it is clearly known that its destination address is not local, it is not necessary to determine whether it needs to be forwarded.
  • step S11 the device 1 detects whether the routing address of the packet to be routed is an external address according to the corresponding subnet information.
  • the inbound direction it is detected whether the source address is an IP address in the subnet; in the outbound direction, it is detected whether the destination address is an IP address in the subnet.
  • the device 1 further detects whether the routing address is a legal address; wherein, in step S12, when the routing address is an external address and belongs to a legal address, the device 1 maps the routing address. Corresponding predetermined address.
  • the device 1 only maps legal external addresses.
  • Martial packet a packet that has an impossible
  • the source or destination IP address which contains the source address or destination address of the impossible address, is filtered out.
  • the IP address with the source address of 0.0.0.0 is such an invalid address. Filtering invalid addresses plays a role in defending against DDoS (Distributed Denial of Service) attacks.
  • DDoS Distributed Denial of Service
  • step S12 when the routing address is an external address, the device 1 maps the routing address to a corresponding predetermined address.
  • the non-subnet IP address and the non-illegal address of the external address are mapped to obtain the predetermined address.
  • step S12 the device 1 maps the routing address to a corresponding predetermined address according to the corresponding mask information.
  • the mask is set to 24 bits, and all addresses of 202.114.1.* are mapped to the predetermined address 202.114.1.0. If the mask is set to 16 bits, all addresses of 202.114.*.* are mapped to the predetermined address 202.114.0.0. If the mask is set to 0 in extreme cases, then in theory all external addresses will be mapped to the predetermined address of 0.0.0.0. In order to reduce the dependency on the special address 0.0.0.0, for the case where the mask is 0, special processing can be performed to modify the predetermined address to other easily identifiable addresses (such as 1.1.1.1).
  • mapping manner is only an example, and other existing or future mapping manners may be applicable to the present application, and are also included in the scope of the present application, and are hereby incorporated by reference. herein.
  • step S13 the device 1 performs a matching query in the route cache according to the predetermined address to obtain corresponding routing information.
  • the routing information includes a source address and a destination address
  • the routing cache includes the routing information and the predetermined address obtained by mapping. If the corresponding routing information already exists in the route cache, the routing table does not need to be queried. If a new external address is used, because the corresponding routing information is not saved in the route cache, the result of the matching query in the route cache is the cache miss. In the case of the cache miss, the routing table needs to be matched. Inquire. Because the query routing table contains various legality checks and memory allocation release, the speed is slow. Therefore, the way to query the routing table is called a slow path. Correspondingly, the way to query the route cache is called a fast path.
  • the route cache is first queried, that is, the fast path is entered, and if the cache hits, the query ends. If the external address is a brand new address and there is no routing information corresponding to the external address in the route cache, the result of the fast path query is a cache miss. In this case, the routing table needs to be queried through the slow path.
  • step S13 when the routing address matches the miss in the routing cache, the device 1 performs a matching query in the corresponding routing table according to the routing address to obtain corresponding routing information.
  • a matching query needs to be performed in the corresponding routing table to obtain corresponding routing information.
  • the method may further include: the device 1 updating the route cache according to the predetermined address and the routing information.
  • the routing cache needs to be updated according to the predetermined address and the routing information, that is, the query is performed.
  • the result of the routing table is written to the route cache. Then, when the route query is cached in the next fast path, because the related record of the external address already exists in the route cache, the result of the fast path query is a cache hit, and the routing table does not need to be queried, thereby improving query efficiency.
  • step S14 the device 1 processes the to-be-routed packet according to the routing information.
  • the data packet received from the outside and the data packet to be forwarded to the outside are processed correspondingly.
  • FIG. 2 shows a flow chart of a method for routing processing in accordance with a preferred embodiment of the present application.
  • the method includes step S21, step S25, step S22, step S23, and step S24.
  • steps S21, S23, and S24 are the same as or substantially the same as those of step S11, step S13, and step S14 in FIG. 1, and are not described again for the sake of brevity.
  • step S25 the device 1 determines corresponding mask information according to the cache related information corresponding to the route cache.
  • step S22 when the routing address is an external address, the device 1 maps the routing address to a corresponding predetermined address according to the mask information.
  • the cache related information includes at least one of the following: a capacity letter of the route cache Information; current available capacity information of the route cache; maximum number of cache records supported by the route cache; and quantity information of existing cache records of the route cache.
  • the number of bits of the mask can be adjusted based on the actual usage of the route cache.
  • the external address can be mapped to more predetermined addresses, and the number of mask bits can be larger (for example, the mask is set to 24 bits); when there is less available cache, the external address can be mapped. To a lesser predetermined address, the number of mask bits is smaller (for example, the mask is set to 0).
  • FIG. 3 shows an apparatus 1 for routing processing according to another aspect of the present application, wherein the apparatus 1 includes a detecting means 11, a mapping means 12, a query means 13, and a processing means 14.
  • the detecting device 11 detects whether the routing address of the packet to be routed is an external address; when the routing address is an external address, the mapping device 12 maps the routing address to a corresponding predetermined address; 13 performing a matching query in the route cache according to the predetermined address to obtain corresponding routing information; and the processing device 14 processes the to-be-routed packet according to the routing information.
  • the device 1 includes, but is not limited to, a user equipment, a network device, or a device formed by integrating a user equipment and a network device through a network.
  • the user equipment includes, but is not limited to, any mobile electronic product that can interact with a user through a touchpad, such as a smart phone, a PDA, etc., and the mobile electronic product can adopt any operating system, such as an android operating system. iOS operating system, etc.
  • the network device includes an electronic device capable of automatically performing numerical calculation and information processing according to an instruction set or stored in advance, and the hardware includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), and a programmable gate. Arrays (FPGAs), digital processors (DSPs), embedded devices, and more.
  • the network device includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a plurality of servers; wherein the cloud is composed of a large number of computers or network servers based on Cloud Computing Among them, cloud computing is a kind of distributed computing, a virtual supercomputer composed of a group of loosely coupled computers.
  • the network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (Ad Hoc network), and the like.
  • the device 1 may also be a foot running on the user equipment, the network device, or the user equipment and the network device, the network device, the touch terminal, or the network device and the touch terminal integrated through the network.
  • This program may also be a foot running on the user equipment, the network device, or the user equipment and the network device, the network device, the touch terminal, or the network device and the touch terminal integrated through the network.
  • the detecting device 11 Continuously detecting whether the routing address of the packet to be routed is an external address; when the routing address is an external address, the mapping device 12 continuously maps the routing address to a corresponding predetermined address; the querying device 13 continues according to the predetermined The address performs a matching query in the route cache to obtain corresponding routing information; the processing device 14 continues to process the to-be-routed packet according to the routing information until the detecting device 11 stops detecting whether the routing address of the to-be-routed packet is external. address.
  • the detecting means 11 detects whether the routing address of the packet to be routed is an external address.
  • the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside. That is, the routing packet includes: a packet received from the outside and a packet to be forwarded to the outside.
  • the packet received from the outside is referred to as an ingress
  • the packet to be forwarded to the external packet is referred to as an egress.
  • the routing address In the inbound direction, the routing address is a source address, and the source address is detected as an external address.
  • the routing address is a destination address, and the destination address is detected as an external address.
  • the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, when the to-be-routed packet does not need to be forwarded, the detecting The device 11 detects whether the routing address of the packet to be routed is an external address.
  • the routing subsystem in the operating system kernel forwards the received packet according to its destination address, which includes the source and destination addresses. If the destination address is local, the packet does not need to be forwarded; if the destination address is not local, the packet needs to be forwarded to the next-level device.
  • the inbound direction it is first determined whether the data packet to which the routing address belongs needs to be forwarded, and when it is not required to be forwarded, it is further detected whether the routing address is an external address.
  • the out direction Because it is clear that its destination address is not local, it is not necessary to determine whether it needs to be forwarded.
  • the detecting device 11 detects whether the routing address of the packet to be routed is an external address according to the corresponding subnet information.
  • the inbound direction it is detected whether the source address is an IP address in the subnet; in the outbound direction, it is detected whether the destination address is an IP address in the subnet.
  • the detecting device 11 further detects whether the routing address is a legal address; wherein the mapping device 12 maps the routing address to a corresponding predetermined address when the routing address is an external address and belongs to a legal address. .
  • the mapping device 12 only maps legitimate external addresses. By detecting whether the routing address is an illegal address, the packet may be filtered out, for example, the source address is 0.0.
  • the IP address of 0.0 is such an illegal address. Filtering invalid addresses plays a role in defending against DDoS (Distributed Denial of Service) attacks.
  • DDoS Distributed Denial of Service
  • the mapping device 12 maps the routing address to a corresponding predetermined address.
  • the non-subnet IP address and the non-illegal address of the external address are mapped to obtain the predetermined address.
  • mapping device 12 maps the routing address to a corresponding predetermined address according to the corresponding mask information.
  • the mask is set to 24 bits, and all addresses of 202.114.1.* are mapped to the predetermined address 202.114.1.0. If the mask is set to 16 bits, all addresses of 202.114.*.* are mapped to the predetermined address 202.114.0.0. If the mask is set to 0 in extreme cases, then in theory all external addresses will be mapped to the predetermined address of 0.0.0.0. In order to reduce the dependency on the special address 0.0.0.0, for the case where the mask is 0, special processing can be performed to modify the predetermined address to other easily identifiable addresses (such as 1.1.1.1).
  • mapping manner is only an example, and other existing or future mapping manners may be applicable to the present application, and are also included in the scope of the present application, and are hereby incorporated by reference. herein.
  • the querying device 13 performs a matching query in the route cache according to the predetermined address to obtain corresponding routing information.
  • the routing information includes a source address and a destination address
  • the routing cache includes the routing information and the predetermined address obtained by mapping. If the corresponding routing information already exists in the route cache, the routing table does not need to be queried. If a new external address is used, because the corresponding routing information is not saved in the route cache, the result of the matching query in the route cache is the cache miss. In the case of the cache miss, the routing table needs to be matched. Inquire. Because the query routing table contains various legality checks and memory allocation release, the speed is slow. Therefore, the way to query the routing table is called a slow path. Correspondingly, the way to query the route cache is called a fast path.
  • the route cache is first queried, that is, the fast path is entered, and if the cache hits, the query ends. If the external address is a brand new address and there is no routing information corresponding to the external address in the route cache, the result of the fast path query is a cache miss. In this case, the routing table needs to be queried through the slow path.
  • the querying device 13 when the routing address matches the miss in the routing cache, the querying device 13 performs a matching query in the corresponding routing table according to the routing address to obtain corresponding routing information.
  • a matching query needs to be performed in the corresponding routing table to obtain corresponding routing information.
  • the device 1 may further comprise an update device (not shown) that updates the route cache based on the predetermined address and the routing information.
  • the routing cache needs to be updated according to the predetermined address and the routing information, that is, the query is performed.
  • the result of the routing table is written to the route cache. Then, when the route query is cached in the next fast path, because the related record of the external address already exists in the route cache, the result of the fast path query is a cache hit, and the routing table does not need to be queried, thereby improving query efficiency.
  • the processing device 14 processes the to-be-routed packet according to the routing information.
  • the data packet received from the outside and the data packet to be forwarded to the outside are processed correspondingly.
  • Figure 4 shows an apparatus 1 for routing processing according to a preferred embodiment of the present application, wherein the apparatus 1 comprises a detecting means 11', a mapping means 12', a query means 13', a processing means 14' and a cover Code determining means 15'.
  • the content of the detecting device 11', the querying device 13', and the processing device 14' is the same as or substantially the same as that of the detecting device 11, the querying device 13, and the processing device 14 in Fig. 3, and will not be described again for brevity.
  • the mask determining device 15' determines corresponding mask information according to the cache related information corresponding to the route cache. Wherein, when the routing address is an external address, the mapping device 12' maps the routing address to a corresponding predetermined address according to the mask information.
  • the cache related information includes at least one of: capacity information of the route cache; current available capacity information of the route cache; maximum number of cache records supported by the route cache; the route cache The amount of information that has been cached.
  • the number of bits of the mask can be adjusted based on the actual usage of the route cache.
  • the external address can be mapped to more predetermined addresses, and the number of mask bits can be larger (for example, the mask is set to 24 bits); when there is less available cache, the external address can be mapped. To a lesser predetermined address, the number of mask bits is smaller (for example, the mask is set to 0).
  • the present application maps the external address to a corresponding predetermined address by detecting an external address, and then performs a matching query in a route cache or a routing table to obtain routing information, and finally completes according to the routing information. Processing of data packets. Since the number of predetermined addresses is controllable in the present application, the number of route buffers can be kept at a low level by mapping a large number of external addresses to a limited range of predetermined addresses; even in the case of large traffic concurrent situations, The number of route caches is reduced by several orders of magnitude, and as the number of caches decreases, hot cache entries do not need to be re-established, which can improve cache hit speed and CPU utilization to a certain extent, thereby reducing the number of route caches.
  • the application may also use the mask information to perform an address mapping operation, thereby further reducing the number of route caches; and, in addition, the cache related information of the route cache may be combined to determine the mask information used, thereby further avoiding buffer overflow. Ensure system performance.
  • the present application can also detect whether the routing address is a legal address before the address mapping, for example, excluding the Martian address, from Further reducing the number of route caches also has a certain defense against DDoS attacks.
  • the present application can be implemented in software and/or a combination of software and hardware, for example, using an application specific integrated circuit (ASIC), a general purpose computer, or any other similar hardware device.
  • the software program of the present application can be executed by a processor to implement the steps or functions described above.
  • the software programs (including related data structures) of the present application can be stored in a computer readable recording medium such as a RAM memory, a magnetic or optical drive or a floppy disk and the like.
  • some of the steps or functions of the present application may be implemented in hardware, for example, as a circuit that cooperates with a processor to perform various steps or functions.
  • a portion of the present application can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide a method and/or technical solution in accordance with the present application.
  • the program instructions for invoking the method of the present application may be stored in a fixed or removable recording medium, and/or transmitted by a data stream in a broadcast or other signal bearing medium, and/or stored in a The working memory of the computer device in which the program instructions are run.
  • an embodiment in accordance with the present application includes a device including a memory for storing computer program instructions and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, triggering
  • the apparatus operates based on the aforementioned methods and/or technical solutions in accordance with various embodiments of the present application.

Landscapes

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

Abstract

The aim of the present application is to provide a method and device for routing processing. In the present application, an external address is obtained by means of detection, the external address is mapped onto a corresponding predetermined address, then matching and query are performed in a routing cache or a routing table, so as to obtain routing information, and finally, the processing of a data packet is completed according to the routing information. Since the number of the predetermined addresses is controllable in the present application, the number of routing caches may be maintained at a relatively low level by mapping a large number of external addresses onto the predetermined addresses within a limited range; in addition, as the number of caches decreases, hot cache items also do not need to be re-established and released, which may improve the cache hit speed to a certain degree, and reduce the utilization rate of a CPU, thereby guaranteeing the performance of a system while reducing the number of routing caches.

Description

一种用于路由处理的方法与设备Method and device for routing processing 技术领域Technical field

本申请涉及计算机领域,尤其涉及一种用于路由处理的技术。The present application relates to the field of computers, and in particular to a technique for routing processing.

背景技术Background technique

操作系统内核中的路由子系统面临在流量日益增大的情况下,由于大量外部IP地址而导致的路由缓存容量暴涨,以致系统性能下降,稳定性受到影响。现有技术中有两种解决方案,第一种是对查询路由表的路径进行优化,例如采用字典树(trie tree)等,以提高查找效率;第二种是在必要的情况下关掉路由缓存功能。然而,第一种方案涉及架构上的调整,可能需要对内核版本进行重大变更,这对基于原有内核版本的大量基础业务的潜在影响是巨大的;第二种方案即使在某种程度上解决了稳定性问题,却也带来了巨大的性能开销,例如明显上升的CPU利用率。The routing subsystem in the operating system kernel faces an increase in traffic buffer capacity due to a large number of external IP addresses, resulting in system performance degradation and stability. There are two solutions in the prior art. The first one is to optimize the path of the query routing table, for example, using a trie tree to improve the search efficiency; the second is to turn off the route if necessary. Cache function. However, the first solution involves architectural adjustments that may require significant changes to the kernel version, which has a huge potential impact on a large number of underlying services based on the original kernel version; the second solution solves even to some extent The stability problem, but also brings huge performance overhead, such as significantly increased CPU utilization.

发明内容Summary of the invention

本申请提供了一种用于路由处理的方法与设备,以有效解决路由缓存容量暴涨以致系统性能下降的问题。The present application provides a method and device for routing processing to effectively solve the problem that the routing cache capacity is soaring and the system performance is degraded.

根据本申请的一个方面,提供了一种路由处理方法,其中,该方法包括:According to an aspect of the present application, a route processing method is provided, wherein the method includes:

检测待路由分组的路由地址是否为外部地址;Detecting whether the routing address of the packet to be routed is an external address;

当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;When the routing address is an external address, mapping the routing address to a corresponding predetermined address;

根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;Performing a matching query in the route cache according to the predetermined address to obtain corresponding routing information;

根据所述路由信息处理所述待路由分组。Processing the to-be-routed packet according to the routing information.

进一步地,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。Further, when the routing address is an external address, mapping the routing address to the corresponding predetermined address includes: when the routing address is an external address, mapping the routing address according to the corresponding mask information. The intended address.

进一步地,该方法还包括:根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;其中,所述当所述路由地址为外部地址,将所述路由地址 映射得对应的预定地址包括:当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。Further, the method further includes: determining, according to the cache related information corresponding to the route cache, corresponding mask information; wherein, when the routing address is an external address, the routing address is Mapping the corresponding predetermined address includes: when the routing address is an external address, mapping the routing address to a corresponding predetermined address according to the mask information.

进一步地,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。Further, the cache related information includes at least one of: capacity information of the route cache; current available capacity information of the route cache; maximum number of cache records supported by the route cache; and the route cache The amount of information that has been cached.

进一步地,所述根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息还包括:当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。Further, performing the matching query in the route cache according to the predetermined address to obtain the corresponding routing information further includes: when the routing address matches the miss in the routing cache, according to the routing address, the corresponding route A matching query is performed in the table to obtain corresponding routing information.

进一步地,该方法还包括:根据所述预定地址及所述路由信息更新所述路由缓存。Further, the method further includes: updating the route cache according to the predetermined address and the routing information.

进一步地,所述检测待路由分组的路由地址是否为外部地址包括:根据对应子网信息检测待路由分组的路由地址是否为外部地址。Further, the detecting whether the routing address of the to-be-routed packet is an external address comprises: detecting, according to the corresponding subnet information, whether the routing address of the to-be-routed packet is an external address.

进一步地,所述检测待路由分组的路由地址是否为外部地址还包括:检测所述路由地址是否为合法地址;其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。Further, the detecting whether the routing address of the to-be-routed packet is an external address further includes: detecting whether the routing address is a legal address; wherein, when the routing address is an external address, mapping the routing address to correspond The predetermined address includes: when the routing address is an external address and belongs to a legal address, mapping the routing address to a corresponding predetermined address.

进一步地,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。Further, the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside.

进一步地,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,所述检测待路由分组的路由地址是否为外部地址包括:当所述待路由分组不需要被转发时,检测所述待路由分组的路由地址是否为外部地址。Further, the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, the detecting whether the routing address of the to-be-routed packet is an external address includes: when the to-be-routed When the routing packet does not need to be forwarded, it is detected whether the routing address of the to-be-routed packet is an external address.

根据本申请的另一个方面,提供了一种路由处理设备,其中,该设备包括:According to another aspect of the present application, a route processing device is provided, wherein the device includes:

检测装置,用于检测待路由分组的路由地址是否为外部地址;a detecting device, configured to detect whether a routing address of the packet to be routed is an external address;

映射装置,用于当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址; a mapping device, configured to: when the routing address is an external address, map the routing address to a corresponding predetermined address;

查询装置,用于根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;Querying means, configured to perform a matching query in the route cache according to the predetermined address to obtain corresponding routing information;

处理装置,用于根据所述路由信息处理所述待路由分组。The processing device is configured to process the to-be-routed packet according to the routing information.

进一步地,所述映射装置用于:当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。Further, the mapping device is configured to: when the routing address is an external address, map the routing address to a corresponding predetermined address according to the corresponding mask information.

进一步地,该设备还包括:掩码确定装置,用于根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;其中,所述映射装置用于:当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。Further, the device further includes: a mask determining device, configured to determine corresponding mask information according to the cache related information corresponding to the route cache; wherein the mapping device is configured to: when the routing address is an external address, Mapping the routing address to a corresponding predetermined address according to the mask information.

进一步地,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。Further, the cache related information includes at least one of: capacity information of the route cache; current available capacity information of the route cache; maximum number of cache records supported by the route cache; and the route cache The amount of information that has been cached.

进一步地,所述查询装置还用于:当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。Further, the querying apparatus is further configured to: when the routing address matches the miss in the routing cache, perform a matching query in the corresponding routing table according to the routing address to obtain corresponding routing information.

进一步地,该设备还包括:更新装置,用于根据所述预定地址及所述路由信息更新所述路由缓存。Further, the device further includes: updating means, configured to update the route cache according to the predetermined address and the routing information.

进一步地,所述检测装置用于:根据对应子网信息检测待路由分组的路由地址是否为外部地址。Further, the detecting device is configured to: detect, according to the corresponding subnet information, whether the routing address of the to-be-routed packet is an external address.

进一步地,所述检测装置还用于:检测所述路由地址是否为合法地址;其中,所述映射装置用于:当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。Further, the detecting device is further configured to: detect whether the routing address is a legal address; wherein the mapping device is configured to: when the routing address is an external address and belongs to a legal address, mapping the routing address Corresponding predetermined address.

进一步地,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。Further, the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside.

进一步地,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,所述检测装置用于:当所述待路由分组不需要被转发时,检测所述待路由分组的路由地址是否为外部地址。 Further, the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, the detecting apparatus is configured to: when the to-be-routed packet does not need to be forwarded, Detecting whether the routing address of the to-be-routed packet is an external address.

与现有技术相比,本申请通过检测得到外部地址,将所述外部地址映射得对应的预定地址,然后在路由缓存或路由表中进行匹配查询以获得路由信息,最后根据所述路由信息完成对数据包的处理。因为本申请中所述预定地址的数量可控,可以通过将大量外部地址映射到有限范围的预定地址,使得路由缓存数量保持在一个较低的水平;即使在大流量并发的情况下,也可以使路由缓存数量降低若干个数量级,而且随着缓存数量减少,热的缓存项也无需重新建立释放,可以在一定程度上提高缓存命中速度,降低CPU的利用率,从而在减少路由缓存数量的同时保证了系统的性能。进一步地,本申请还可以利用掩码信息来进行地址映射操作,从而进一步减少路由缓存数量;而且,还可以结合路由缓存的缓存相关信息来确定所使用的掩码信息,从而进一步避免缓存溢出以确保系统性能。此外,本申请还可以在地址映射前检测该路由地址是否为合法地址,例如排除Martian地址,从而进一步减少路由缓存数量,也对DDoS攻击有一定的防御作用。Compared with the prior art, the present application maps the external address to a corresponding predetermined address by detecting an external address, and then performs a matching query in a route cache or a routing table to obtain routing information, and finally completes according to the routing information. Processing of data packets. Since the number of predetermined addresses is controllable in the present application, the number of route buffers can be kept at a low level by mapping a large number of external addresses to a limited range of predetermined addresses; even in the case of large traffic concurrent situations, The number of route caches is reduced by several orders of magnitude, and as the number of caches decreases, hot cache entries do not need to be re-established, which can improve cache hit speed and CPU utilization to a certain extent, thereby reducing the number of route caches. Guaranteed system performance. Further, the application may also use the mask information to perform an address mapping operation, thereby further reducing the number of route caches; and, in addition, the cache related information of the route cache may be combined to determine the mask information used, thereby further avoiding buffer overflow. Ensure system performance. In addition, the present application can also detect whether the routing address is a legal address before the address mapping, for example, excluding the Martian address, thereby further reducing the number of routing buffers, and also having a certain defense effect against DDoS attacks.

附图说明DRAWINGS

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:Other features, objects, and advantages of the present application will become more apparent from the detailed description of the accompanying drawings.

图1示出根据本申请一个方面的一种用于路由处理的方法流程图;1 shows a flow chart of a method for routing processing in accordance with an aspect of the present application;

图2示出根据本申请一个优选实施例的一种用于路由处理的方法流程图;2 shows a flow chart of a method for routing processing in accordance with a preferred embodiment of the present application;

图3示出根据本申请另一个方面的一种用于路由处理的设备示意图;3 shows a schematic diagram of an apparatus for routing processing according to another aspect of the present application;

图4示出根据本申请一个优选实施例的一种用于路由处理的设备示意图;4 shows a schematic diagram of an apparatus for routing processing in accordance with a preferred embodiment of the present application;

附图中相同或相似的附图标记代表相同或相似的部件。The same or similar reference numerals in the drawings denote the same or similar components.

具体实施方式detailed description

下面结合附图对本申请作进一步详细描述。The present application is further described in detail below with reference to the accompanying drawings.

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括 一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration of the present application, the terminal, the device of the service network, and the trusted party are both included. One or more processors (CPUs), input/output interfaces, network interfaces, and memory.

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。The memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory. Memory is an example of a computer readable medium.

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer readable media includes both permanent and non-persistent, removable and non-removable media. Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, A magnetic tape cartridge, magnetic tape storage or other magnetic storage device or any other non-transportable medium that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory computer readable media, such as modulated data signals and carrier waves.

在本申请中,首先,检测获取的数据包的源地址或目的地址是否为外部地址。其中,对于从外部接收的数据包,检测其源地址;对于拟转发至外部的数据包检测其目的地址。接下来,通过将大量的外部地址映射得有限范围的预定地址,从而达到减少路由缓存数量的目的。最后,根据从路由缓存或路由表中查询得到的路由信息完成对数据包的处理。In the present application, first, it is detected whether the source address or the destination address of the acquired data packet is an external address. Wherein, for the data packet received from the outside, the source address is detected; and the destination address is detected for the data packet to be forwarded to the outside. Next, the goal of reducing the number of route buffers is achieved by mapping a large number of external addresses to a limited range of predetermined addresses. Finally, the processing of the data packet is completed according to the routing information obtained from the query in the route cache or the routing table.

本申请中的路由处理设备可以包括但不限于:操作系统内核中的路由子系统中的模块、操作系统内核中的独立模块、可以实现路由功能的应用程序、路由器或交换机等可以实现路由功能的设备。The routing processing device in the present application may include, but is not limited to, a module in a routing subsystem in an operating system kernel, an independent module in an operating system kernel, an application that can implement a routing function, a router or a switch, etc., which can implement a routing function. device.

本领域技术人员应能理解,上述路由处理设备仅为举例,其他现有的或今后可能出现的路由处理设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。It should be understood by those skilled in the art that the foregoing routing processing device is only an example, and other existing or future possible routing processing devices, such as may be applicable to the present application, are also included in the scope of the present application, and are hereby incorporated by reference. The way is included here.

图1示出根据本申请一个方面的一种用于路由处理的方法流程图。1 shows a flow chart of a method for routing processing in accordance with an aspect of the present application.

该方法包括步骤S11、步骤S12、步骤S13和步骤S14。具体地,在 步骤S11中,设备1检测待路由分组的路由地址是否为外部地址;在步骤S12中,当所述路由地址为外部地址,设备1将所述路由地址映射得对应的预定地址;在步骤S13中,设备1根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;在步骤S14中,设备1根据所述路由信息处理所述待路由分组。The method includes step S11, step S12, step S13, and step S14. Specifically, in In step S11, the device 1 detects whether the routing address of the packet to be routed is an external address; in step S12, when the routing address is an external address, the device 1 maps the routing address to a corresponding predetermined address; in step S13 The device 1 performs a matching query in the route cache according to the predetermined address to obtain corresponding routing information. In step S14, the device 1 processes the to-be-routed packet according to the routing information.

在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。Here, the device 1 includes, but is not limited to, a user equipment, a network device, or a device formed by integrating a user equipment and a network device through a network. The user equipment includes, but is not limited to, any mobile electronic product that can interact with a user through a touchpad, such as a smart phone, a PDA, etc., and the mobile electronic product can adopt any operating system, such as an android operating system. iOS operating system, etc. The network device includes an electronic device capable of automatically performing numerical calculation and information processing according to an instruction set or stored in advance, and the hardware includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), and a programmable gate. Arrays (FPGAs), digital processors (DSPs), embedded devices, and more. The network device includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a plurality of servers; wherein the cloud is composed of a large number of computers or network servers based on Cloud Computing Among them, cloud computing is a kind of distributed computing, a virtual supercomputer composed of a group of loosely coupled computers. The network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (Ad Hoc network), and the like. Preferably, the device 1 may also be a script program running on the user equipment, the network device, or the user equipment and the network device, the network device, the touch terminal, or the network device and the touch terminal integrated through the network. Of course, those skilled in the art should understand that the above-mentioned device 1 is only an example, and other existing or future devices 1 may be applicable to the present application, and are also included in the protection scope of the present application, and are hereby incorporated by reference. Included here.

设备1的各个步骤之间是持续不断工作的。具体地,在步骤S11中,设备1持续检测待路由分组的路由地址是否为外部地址;在步骤S12中,当所述路由地址为外部地址,设备1持续将所述路由地址映射得对应的预定地址;在步骤S13中,设备1持续根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;在步骤S14中,设备1持续根据所述路由信息 处理所述待路由分组,直至步骤S11中设备1停止检测待路由分组的路由地址是否为外部地址。The various steps of device 1 are continuously working. Specifically, in step S11, the device 1 continuously detects whether the routing address of the packet to be routed is an external address; in step S12, when the routing address is an external address, the device 1 continuously maps the routing address to a corresponding reservation. In step S13, the device 1 continues to perform a matching query in the route cache according to the predetermined address to obtain corresponding routing information; in step S14, the device 1 continues to perform the routing information according to the routing information. The packet to be routed is processed until the device 1 stops detecting whether the routing address of the packet to be routed is an external address in step S11.

在步骤S11中,设备1检测待路由分组的路由地址是否为外部地址。In step S11, the device 1 detects whether the routing address of the packet to be routed is an external address.

具体地,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。即,路由分组包括:从外部接收的分组和拟转发至外部的分组。在此,将从外部接收分组称为入方向(ingress),将拟转发至外部分组称为出方向(egress)。在入方向上,所述路由地址为源地址,检测源地址是否为外部地址;在出方向上,所述路由地址为目的地址,检测目的地址是否为外部地址。Specifically, the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside. That is, the routing packet includes: a packet received from the outside and a packet to be forwarded to the outside. Here, the packet received from the outside is referred to as an ingress, and the packet to be forwarded to the external packet is referred to as an egress. In the inbound direction, the routing address is a source address, and the source address is detected as an external address. In the outbound direction, the routing address is a destination address, and the destination address is detected as an external address.

在具体的实施例中,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,在步骤S11中,当所述待路由分组不需要被转发时,设备1检测所述待路由分组的路由地址是否为外部地址。In a specific embodiment, the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, in step S11, when the to-be-routed packet does not need to be forwarded The device 1 detects whether the routing address of the to-be-routed packet is an external address.

例如,操作系统内核中的路由子系统会把接收到的数据包根据其目的地址进行转发,所述数据包中包括源地址和目的地址。如果目的地址为本地,则该数据包不需要被转发;如果目的地址不是本地,则该数据包需要被转发到下一级设备。For example, the routing subsystem in the operating system kernel forwards the received packet according to its destination address, which includes the source and destination addresses. If the destination address is local, the packet does not need to be forwarded; if the destination address is not local, the packet needs to be forwarded to the next-level device.

例如,在入方向上,先判断所述路由地址所属的数据包是否需要被转发,当不需要被转发时,再继续检测所述路由地址是否为外部地址。而在出方向上,因为明确知道其目的地址非本地,故不用判断是否需要被转发。For example, in the inbound direction, it is first determined whether the data packet to which the routing address belongs needs to be forwarded, and when it is not required to be forwarded, it is further detected whether the routing address is an external address. In the outbound direction, since it is clearly known that its destination address is not local, it is not necessary to determine whether it needs to be forwarded.

具体地,在步骤S11中,设备1根据对应子网信息检测待路由分组的路由地址是否为外部地址。在此,入方向上,检测源地址是否为子网内IP地址;出方向上,检测目的地址是否为子网内IP地址。Specifically, in step S11, the device 1 detects whether the routing address of the packet to be routed is an external address according to the corresponding subnet information. Here, in the inbound direction, it is detected whether the source address is an IP address in the subnet; in the outbound direction, it is detected whether the destination address is an IP address in the subnet.

优选地,在步骤S11中,设备1还检测所述路由地址是否为合法地址;其中,在步骤S12中,当所述路由地址为外部地址且属于合法地址,设备1将所述路由地址映射得对应的预定地址。Preferably, in step S11, the device 1 further detects whether the routing address is a legal address; wherein, in step S12, when the routing address is an external address and belongs to a legal address, the device 1 maps the routing address. Corresponding predetermined address.

在此,所述设备1仅对合法的外部地址进行映射。通过检测所述路由地址是否为不合法地址,可以将martian packet(a packet that has an impossible  source or destination IP,包含不可能的源地址或目的地址的数据包)过滤掉,例如源地址为0.0.0.0的IP地址即为此类不合法地址。对不合法地址进行过滤,从而对DDoS(Distributed Denial of Service,分布式拒绝服务)攻击起到了一定的防御作用。Here, the device 1 only maps legal external addresses. Martial packet (a packet that has an impossible) by detecting whether the routing address is an illegal address The source or destination IP address, which contains the source address or destination address of the impossible address, is filtered out. For example, the IP address with the source address of 0.0.0.0 is such an invalid address. Filtering invalid addresses plays a role in defending against DDoS (Distributed Denial of Service) attacks.

在步骤S12中,当所述路由地址为外部地址,设备1将所述路由地址映射得对应的预定地址。在此,对非子网内IP地址、非不合法地址的所述外部地址进行映射,得到所述预定地址。In step S12, when the routing address is an external address, the device 1 maps the routing address to a corresponding predetermined address. Here, the non-subnet IP address and the non-illegal address of the external address are mapped to obtain the predetermined address.

具体地,在步骤S12中,设备1根据对应的掩码信息将所述路由地址映射得对应的预定地址。Specifically, in step S12, the device 1 maps the routing address to a corresponding predetermined address according to the corresponding mask information.

例如,假设对外部地址202.114.1.*进行映射,掩码设为24位,202.114.1.*的所有地址均被映射到202.114.1.0这一预定地址。若将掩码设为16位,202.114.*.*的所有地址均被映射到202.114.0.0这一预定地址。若在极端情况下将掩码设为0,那么在理论上,所有外部地址都将被映射到0.0.0.0这一预定地址。为了减少对特殊地址0.0.0.0的依赖性,对于掩码为0的情况,可以特殊处理,将预定地址修改成其他容易标示的地址(比如1.1.1.1)。For example, suppose the external address 202.114.1.* is mapped, the mask is set to 24 bits, and all addresses of 202.114.1.* are mapped to the predetermined address 202.114.1.0. If the mask is set to 16 bits, all addresses of 202.114.*.* are mapped to the predetermined address 202.114.0.0. If the mask is set to 0 in extreme cases, then in theory all external addresses will be mapped to the predetermined address of 0.0.0.0. In order to reduce the dependency on the special address 0.0.0.0, for the case where the mask is 0, special processing can be performed to modify the predetermined address to other easily identifiable addresses (such as 1.1.1.1).

本领域技术人员应能理解,上述映射方式仅为举例,其他现有的或今后可能出现的映射方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。It should be understood by those skilled in the art that the foregoing mapping manner is only an example, and other existing or future mapping manners may be applicable to the present application, and are also included in the scope of the present application, and are hereby incorporated by reference. herein.

在步骤S13中,设备1根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息。In step S13, the device 1 performs a matching query in the route cache according to the predetermined address to obtain corresponding routing information.

在此,所述路由信息包括源地址和目的地址,所述路由缓存中包括所述路由信息和映射得到的所述预定地址。若路由缓存中已有所述对应的路由信息,则不需要再对路由表进行查询。若对于一个全新的外部地址,因为在路由缓存中并未保存其对应的路由信息,所以在路由缓存中进行匹配查询的结果是缓存未命中,在缓存未命中的情况下需要对路由表进行匹配查询。因查询路由表包含各种合法性检查和内存的分配释放,速度较慢,故称查询路由表的方式为慢速路径,相应地,称查询路由缓存的方式为快速路径。 Here, the routing information includes a source address and a destination address, and the routing cache includes the routing information and the predetermined address obtained by mapping. If the corresponding routing information already exists in the route cache, the routing table does not need to be queried. If a new external address is used, because the corresponding routing information is not saved in the route cache, the result of the matching query in the route cache is the cache miss. In the case of the cache miss, the routing table needs to be matched. Inquire. Because the query routing table contains various legality checks and memory allocation release, the speed is slow. Therefore, the way to query the routing table is called a slow path. Correspondingly, the way to query the route cache is called a fast path.

在具体的实施例中,对于任何一个外部地址,都是先查询路由缓存,即进入快速路径,若缓存命中则查询结束。若该外部地址是一个全新的地址,在路由缓存中并没有该外部地址对应的路由信息,那么快速路径的查询结果为缓存未命中,这时就需要通过慢速路径对路由表进行查询。In a specific embodiment, for any external address, the route cache is first queried, that is, the fast path is entered, and if the cache hits, the query ends. If the external address is a brand new address and there is no routing information corresponding to the external address in the route cache, the result of the fast path query is a cache miss. In this case, the routing table needs to be queried through the slow path.

具体地,在步骤S13中,当所述路由地址在所述路由缓存中匹配未命中时,设备1根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。在此,对于一个全新的外部地址,需要在对应路由表中进行匹配查询以获得对应的路由信息。Specifically, in step S13, when the routing address matches the miss in the routing cache, the device 1 performs a matching query in the corresponding routing table according to the routing address to obtain corresponding routing information. Here, for a brand new external address, a matching query needs to be performed in the corresponding routing table to obtain corresponding routing information.

优选地,所述方法还可以包括:设备1根据所述预定地址及所述路由信息更新所述路由缓存。Preferably, the method may further include: the device 1 updating the route cache according to the predetermined address and the routing information.

在具体的实施例中,对于一个全新的外部地址,在对应路由表中进行匹配查询后获得了对应的路由信息,需要根据所述预定地址及所述路由信息更新所述路由缓存,即把查询路由表的结果写入路由缓存。那么在下次快速路径查询路由缓存时,因为路由缓存中已有该外部地址的相关记录,所以快速路径的查询结果为缓存命中,不需要再对路由表进行查询,从而提高了查询效率。In a specific embodiment, for a brand new external address, after the matching query is performed in the corresponding routing table, the corresponding routing information is obtained, and the routing cache needs to be updated according to the predetermined address and the routing information, that is, the query is performed. The result of the routing table is written to the route cache. Then, when the route query is cached in the next fast path, because the related record of the external address already exists in the route cache, the result of the fast path query is a cache hit, and the routing table does not need to be queried, thereby improving query efficiency.

在步骤S14中,设备1根据所述路由信息处理所述待路由分组。In step S14, the device 1 processes the to-be-routed packet according to the routing information.

在此,根据查询得到的所述路由信息,对从外部接收的数据包和拟转发至外部的数据包进行相应的处理。Here, according to the routing information obtained by the query, the data packet received from the outside and the data packet to be forwarded to the outside are processed correspondingly.

图2示出根据本申请一个优选实施例的一种用于路由处理的方法流程图。2 shows a flow chart of a method for routing processing in accordance with a preferred embodiment of the present application.

该方法包括步骤S21、步骤S25、步骤S22、步骤S23和步骤S24。在此,步骤S21、步骤S23、步骤S24与图1中步骤S11、步骤S13、步骤S14的内容相同或基本相同,为简明起见,不再赘述。The method includes step S21, step S25, step S22, step S23, and step S24. Here, steps S21, S23, and S24 are the same as or substantially the same as those of step S11, step S13, and step S14 in FIG. 1, and are not described again for the sake of brevity.

具体地,在步骤S25中,设备1根据所述路由缓存对应的缓存相关信息确定对应的掩码信息。其中,在步骤S22中,当所述路由地址为外部地址,设备1根据所述掩码信息将所述路由地址映射得对应的预定地址。Specifically, in step S25, the device 1 determines corresponding mask information according to the cache related information corresponding to the route cache. In step S22, when the routing address is an external address, the device 1 maps the routing address to a corresponding predetermined address according to the mask information.

在此,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信 息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。Here, the cache related information includes at least one of the following: a capacity letter of the route cache Information; current available capacity information of the route cache; maximum number of cache records supported by the route cache; and quantity information of existing cache records of the route cache.

在具体的实施例中,可以根据路由缓存的实际使用情况调节掩码的位数。当可用缓存较多时,则可将外部地址映射到较多的预定地址,掩码位数可以取大些(例如掩码设为24位);当可用缓存较少时,则可将外部地址映射到较少的预定地址,掩码位数取小些(例如掩码设为0)。In a particular embodiment, the number of bits of the mask can be adjusted based on the actual usage of the route cache. When there are more caches available, the external address can be mapped to more predetermined addresses, and the number of mask bits can be larger (for example, the mask is set to 24 bits); when there is less available cache, the external address can be mapped. To a lesser predetermined address, the number of mask bits is smaller (for example, the mask is set to 0).

图3示出根据本申请另一个方面的一种用于路由处理的设备1,其中,设备1包括检测装置11、映射装置12、查询装置13和处理装置14。3 shows an apparatus 1 for routing processing according to another aspect of the present application, wherein the apparatus 1 includes a detecting means 11, a mapping means 12, a query means 13, and a processing means 14.

具体地,所述检测装置11检测待路由分组的路由地址是否为外部地址;当所述路由地址为外部地址,所述映射装置12将所述路由地址映射得对应的预定地址;所述查询装置13根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;所述处理装置14根据所述路由信息处理所述待路由分组。Specifically, the detecting device 11 detects whether the routing address of the packet to be routed is an external address; when the routing address is an external address, the mapping device 12 maps the routing address to a corresponding predetermined address; 13 performing a matching query in the route cache according to the predetermined address to obtain corresponding routing information; and the processing device 14 processes the to-be-routed packet according to the routing information.

在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚 本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。Here, the device 1 includes, but is not limited to, a user equipment, a network device, or a device formed by integrating a user equipment and a network device through a network. The user equipment includes, but is not limited to, any mobile electronic product that can interact with a user through a touchpad, such as a smart phone, a PDA, etc., and the mobile electronic product can adopt any operating system, such as an android operating system. iOS operating system, etc. The network device includes an electronic device capable of automatically performing numerical calculation and information processing according to an instruction set or stored in advance, and the hardware includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), and a programmable gate. Arrays (FPGAs), digital processors (DSPs), embedded devices, and more. The network device includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a plurality of servers; wherein the cloud is composed of a large number of computers or network servers based on Cloud Computing Among them, cloud computing is a kind of distributed computing, a virtual supercomputer composed of a group of loosely coupled computers. The network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (Ad Hoc network), and the like. Preferably, the device 1 may also be a foot running on the user equipment, the network device, or the user equipment and the network device, the network device, the touch terminal, or the network device and the touch terminal integrated through the network. This program. Of course, those skilled in the art should understand that the above-mentioned device 1 is only an example, and other existing or future devices 1 may be applicable to the present application, and are also included in the protection scope of the present application, and are hereby incorporated by reference. Included here.

上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述检测装置11持续检测待路由分组的路由地址是否为外部地址;当所述路由地址为外部地址,所述映射装置12持续将所述路由地址映射得对应的预定地址;所述查询装置13持续根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;所述处理装置14持续根据所述路由信息处理所述待路由分组,直至所述检测装置11停止检测待路由分组的路由地址是否为外部地址。The above devices are continuously working. Here, those skilled in the art should understand that "continuous" refers to the above-mentioned respective devices respectively in real time or according to a set or real-time adjusted working mode requirements, for example, the detecting device 11 Continuously detecting whether the routing address of the packet to be routed is an external address; when the routing address is an external address, the mapping device 12 continuously maps the routing address to a corresponding predetermined address; the querying device 13 continues according to the predetermined The address performs a matching query in the route cache to obtain corresponding routing information; the processing device 14 continues to process the to-be-routed packet according to the routing information until the detecting device 11 stops detecting whether the routing address of the to-be-routed packet is external. address.

所述检测装置11检测待路由分组的路由地址是否为外部地址。The detecting means 11 detects whether the routing address of the packet to be routed is an external address.

具体地,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。即,路由分组包括:从外部接收的分组和拟转发至外部的分组。在此,将从外部接收分组称为入方向(ingress),将拟转发至外部分组称为出方向(egress)。在入方向上,所述路由地址为源地址,检测源地址是否为外部地址;在出方向上,所述路由地址为目的地址,检测目的地址是否为外部地址。Specifically, the routing address includes at least one of the following: a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; a destination address of the to-be-routed packet, where the The to-be-routed packet is a packet to be forwarded to the outside. That is, the routing packet includes: a packet received from the outside and a packet to be forwarded to the outside. Here, the packet received from the outside is referred to as an ingress, and the packet to be forwarded to the external packet is referred to as an egress. In the inbound direction, the routing address is a source address, and the source address is detected as an external address. In the outbound direction, the routing address is a destination address, and the destination address is detected as an external address.

在具体的实施例中,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,当所述待路由分组不需要被转发时,所述检测装置11检测所述待路由分组的路由地址是否为外部地址。In a specific embodiment, the routing address includes a source address of the to-be-routed packet, and the to-be-routed packet is a packet received from the outside; wherein, when the to-be-routed packet does not need to be forwarded, the detecting The device 11 detects whether the routing address of the packet to be routed is an external address.

例如,操作系统内核中的路由子系统会把接收到的数据包根据其目的地址进行转发,所述数据包中包括源地址和目的地址。如果目的地址为本地,则该数据包不需要被转发;如果目的地址不是本地,则该数据包需要被转发到下一级设备。For example, the routing subsystem in the operating system kernel forwards the received packet according to its destination address, which includes the source and destination addresses. If the destination address is local, the packet does not need to be forwarded; if the destination address is not local, the packet needs to be forwarded to the next-level device.

例如,在入方向上,先判断所述路由地址所属的数据包是否需要被转发,当不需要被转发时,再继续检测所述路由地址是否为外部地址。而在出方向 上,因为明确知道其目的地址非本地,故不用判断是否需要被转发。For example, in the inbound direction, it is first determined whether the data packet to which the routing address belongs needs to be forwarded, and when it is not required to be forwarded, it is further detected whether the routing address is an external address. In the out direction Because it is clear that its destination address is not local, it is not necessary to determine whether it needs to be forwarded.

具体地,所述检测装置11根据对应子网信息检测待路由分组的路由地址是否为外部地址。在此,入方向上,检测源地址是否为子网内IP地址;出方向上,检测目的地址是否为子网内IP地址。Specifically, the detecting device 11 detects whether the routing address of the packet to be routed is an external address according to the corresponding subnet information. Here, in the inbound direction, it is detected whether the source address is an IP address in the subnet; in the outbound direction, it is detected whether the destination address is an IP address in the subnet.

优选地,所述检测装置11还检测所述路由地址是否为合法地址;其中,所述映射装置12当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。Preferably, the detecting device 11 further detects whether the routing address is a legal address; wherein the mapping device 12 maps the routing address to a corresponding predetermined address when the routing address is an external address and belongs to a legal address. .

在此,所述映射装置12仅对合法的外部地址进行映射。通过检测所述路由地址是否为不合法地址,可以将martian packet(a packet that has an impossible source or destination IP,包含不可能的源地址或目的地址的数据包)过滤掉,例如源地址为0.0.0.0的IP地址即为此类不合法地址。对不合法地址进行过滤,从而对DDoS(Distributed Denial of Service,分布式拒绝服务)攻击起到了一定的防御作用。Here, the mapping device 12 only maps legitimate external addresses. By detecting whether the routing address is an illegal address, the packet may be filtered out, for example, the source address is 0.0. The IP address of 0.0 is such an illegal address. Filtering invalid addresses plays a role in defending against DDoS (Distributed Denial of Service) attacks.

当所述路由地址为外部地址,所述映射装置12将所述路由地址映射得对应的预定地址。在此,对非子网内IP地址、非不合法地址的所述外部地址进行映射,得到所述预定地址。When the routing address is an external address, the mapping device 12 maps the routing address to a corresponding predetermined address. Here, the non-subnet IP address and the non-illegal address of the external address are mapped to obtain the predetermined address.

具体地,所述映射装置12根据对应的掩码信息将所述路由地址映射得对应的预定地址。Specifically, the mapping device 12 maps the routing address to a corresponding predetermined address according to the corresponding mask information.

例如,假设对外部地址202.114.1.*进行映射,掩码设为24位,202.114.1.*的所有地址均被映射到202.114.1.0这一预定地址。若将掩码设为16位,202.114.*.*的所有地址均被映射到202.114.0.0这一预定地址。若在极端情况下将掩码设为0,那么在理论上,所有外部地址都将被映射到0.0.0.0这一预定地址。为了减少对特殊地址0.0.0.0的依赖性,对于掩码为0的情况,可以特殊处理,将预定地址修改成其他容易标示的地址(比如1.1.1.1)。For example, suppose the external address 202.114.1.* is mapped, the mask is set to 24 bits, and all addresses of 202.114.1.* are mapped to the predetermined address 202.114.1.0. If the mask is set to 16 bits, all addresses of 202.114.*.* are mapped to the predetermined address 202.114.0.0. If the mask is set to 0 in extreme cases, then in theory all external addresses will be mapped to the predetermined address of 0.0.0.0. In order to reduce the dependency on the special address 0.0.0.0, for the case where the mask is 0, special processing can be performed to modify the predetermined address to other easily identifiable addresses (such as 1.1.1.1).

本领域技术人员应能理解,上述映射方式仅为举例,其他现有的或今后可能出现的映射方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。 It should be understood by those skilled in the art that the foregoing mapping manner is only an example, and other existing or future mapping manners may be applicable to the present application, and are also included in the scope of the present application, and are hereby incorporated by reference. herein.

所述查询装置13根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息。The querying device 13 performs a matching query in the route cache according to the predetermined address to obtain corresponding routing information.

在此,所述路由信息包括源地址和目的地址,所述路由缓存中包括所述路由信息和映射得到的所述预定地址。若路由缓存中已有所述对应的路由信息,则不需要再对路由表进行查询。若对于一个全新的外部地址,因为在路由缓存中并未保存其对应的路由信息,所以在路由缓存中进行匹配查询的结果是缓存未命中,在缓存未命中的情况下需要对路由表进行匹配查询。因查询路由表包含各种合法性检查和内存的分配释放,速度较慢,故称查询路由表的方式为慢速路径,相应地,称查询路由缓存的方式为快速路径。Here, the routing information includes a source address and a destination address, and the routing cache includes the routing information and the predetermined address obtained by mapping. If the corresponding routing information already exists in the route cache, the routing table does not need to be queried. If a new external address is used, because the corresponding routing information is not saved in the route cache, the result of the matching query in the route cache is the cache miss. In the case of the cache miss, the routing table needs to be matched. Inquire. Because the query routing table contains various legality checks and memory allocation release, the speed is slow. Therefore, the way to query the routing table is called a slow path. Correspondingly, the way to query the route cache is called a fast path.

在具体的实施例中,对于任何一个外部地址,都是先查询路由缓存,即进入快速路径,若缓存命中则查询结束。若该外部地址是一个全新的地址,在路由缓存中并没有该外部地址对应的路由信息,那么快速路径的查询结果为缓存未命中,这时就需要通过慢速路径对路由表进行查询。In a specific embodiment, for any external address, the route cache is first queried, that is, the fast path is entered, and if the cache hits, the query ends. If the external address is a brand new address and there is no routing information corresponding to the external address in the route cache, the result of the fast path query is a cache miss. In this case, the routing table needs to be queried through the slow path.

具体地,当所述路由地址在所述路由缓存中匹配未命中时,所述查询装置13根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。在此,对于一个全新的外部地址,需要在对应路由表中进行匹配查询以获得对应的路由信息。Specifically, when the routing address matches the miss in the routing cache, the querying device 13 performs a matching query in the corresponding routing table according to the routing address to obtain corresponding routing information. Here, for a brand new external address, a matching query needs to be performed in the corresponding routing table to obtain corresponding routing information.

优选地,所述设备1还可以包括更新装置(未示出),所述更新装置根据所述预定地址及所述路由信息更新所述路由缓存。Preferably, the device 1 may further comprise an update device (not shown) that updates the route cache based on the predetermined address and the routing information.

在具体的实施例中,对于一个全新的外部地址,在对应路由表中进行匹配查询后获得了对应的路由信息,需要根据所述预定地址及所述路由信息更新所述路由缓存,即把查询路由表的结果写入路由缓存。那么在下次快速路径查询路由缓存时,因为路由缓存中已有该外部地址的相关记录,所以快速路径的查询结果为缓存命中,不需要再对路由表进行查询,从而提高了查询效率。In a specific embodiment, for a brand new external address, after the matching query is performed in the corresponding routing table, the corresponding routing information is obtained, and the routing cache needs to be updated according to the predetermined address and the routing information, that is, the query is performed. The result of the routing table is written to the route cache. Then, when the route query is cached in the next fast path, because the related record of the external address already exists in the route cache, the result of the fast path query is a cache hit, and the routing table does not need to be queried, thereby improving query efficiency.

所述处理装置14根据所述路由信息处理所述待路由分组。The processing device 14 processes the to-be-routed packet according to the routing information.

在此,根据查询得到的所述路由信息,对从外部接收的数据包和拟转发至外部的数据包进行相应的处理。 Here, according to the routing information obtained by the query, the data packet received from the outside and the data packet to be forwarded to the outside are processed correspondingly.

图4示出根据本申请一个优选实施例的一种用于路由处理的设备1,其中,所述设备1包括检测装置11’、映射装置12’、查询装置13’、处理装置14’和掩码确定装置15’。Figure 4 shows an apparatus 1 for routing processing according to a preferred embodiment of the present application, wherein the apparatus 1 comprises a detecting means 11', a mapping means 12', a query means 13', a processing means 14' and a cover Code determining means 15'.

在此,所述检测装置11’、查询装置13’、处理装置14’与图3中检测装置11、查询装置13、处理装置14的内容相同或基本相同,为简明起见,不再赘述。Here, the content of the detecting device 11', the querying device 13', and the processing device 14' is the same as or substantially the same as that of the detecting device 11, the querying device 13, and the processing device 14 in Fig. 3, and will not be described again for brevity.

具体地,所述掩码确定装置15’根据所述路由缓存对应的缓存相关信息确定对应的掩码信息。其中,当所述路由地址为外部地址,所述映射装置12’根据所述掩码信息将所述路由地址映射得对应的预定地址。Specifically, the mask determining device 15' determines corresponding mask information according to the cache related information corresponding to the route cache. Wherein, when the routing address is an external address, the mapping device 12' maps the routing address to a corresponding predetermined address according to the mask information.

在此,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。Here, the cache related information includes at least one of: capacity information of the route cache; current available capacity information of the route cache; maximum number of cache records supported by the route cache; the route cache The amount of information that has been cached.

在具体的实施例中,可以根据路由缓存的实际使用情况调节掩码的位数。当可用缓存较多时,则可将外部地址映射到较多的预定地址,掩码位数可以取大些(例如掩码设为24位);当可用缓存较少时,则可将外部地址映射到较少的预定地址,掩码位数取小些(例如掩码设为0)。In a particular embodiment, the number of bits of the mask can be adjusted based on the actual usage of the route cache. When there are more caches available, the external address can be mapped to more predetermined addresses, and the number of mask bits can be larger (for example, the mask is set to 24 bits); when there is less available cache, the external address can be mapped. To a lesser predetermined address, the number of mask bits is smaller (for example, the mask is set to 0).

与现有技术相比,本申请通过检测得到外部地址,将所述外部地址映射得对应的预定地址,然后在路由缓存或路由表中进行匹配查询以获得路由信息,最后根据所述路由信息完成对数据包的处理。因为本申请中所述预定地址的数量可控,可以通过将大量外部地址映射到有限范围的预定地址,使得路由缓存数量保持在一个较低的水平;即使在大流量并发的情况下,也可以使路由缓存数量降低若干个数量级,而且随着缓存数量减少,热的缓存项也无需重新建立释放,可以在一定程度上提高缓存命中速度,降低CPU的利用率,从而在减少路由缓存数量的同时保证了系统的性能。进一步地,本申请还可以利用掩码信息来进行地址映射操作,从而进一步减少路由缓存数量;而且,还可以结合路由缓存的缓存相关信息来确定所使用的掩码信息,从而进一步避免缓存溢出以确保系统性能。此外,本申请还可以在地址映射前检测该路由地址是否为合法地址,例如排除Martian地址,从 而进一步减少路由缓存数量,也对DDoS攻击有一定的防御作用。Compared with the prior art, the present application maps the external address to a corresponding predetermined address by detecting an external address, and then performs a matching query in a route cache or a routing table to obtain routing information, and finally completes according to the routing information. Processing of data packets. Since the number of predetermined addresses is controllable in the present application, the number of route buffers can be kept at a low level by mapping a large number of external addresses to a limited range of predetermined addresses; even in the case of large traffic concurrent situations, The number of route caches is reduced by several orders of magnitude, and as the number of caches decreases, hot cache entries do not need to be re-established, which can improve cache hit speed and CPU utilization to a certain extent, thereby reducing the number of route caches. Guaranteed system performance. Further, the application may also use the mask information to perform an address mapping operation, thereby further reducing the number of route caches; and, in addition, the cache related information of the route cache may be combined to determine the mask information used, thereby further avoiding buffer overflow. Ensure system performance. In addition, the present application can also detect whether the routing address is a legal address before the address mapping, for example, excluding the Martian address, from Further reducing the number of route caches also has a certain defense against DDoS attacks.

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。It will be apparent to those skilled in the art that various modifications and changes can be made in the present application without departing from the spirit and scope of the application. Thus, it is intended that the present invention cover the modifications and variations of the present invention.

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。It should be noted that the present application can be implemented in software and/or a combination of software and hardware, for example, using an application specific integrated circuit (ASIC), a general purpose computer, or any other similar hardware device. In one embodiment, the software program of the present application can be executed by a processor to implement the steps or functions described above. Likewise, the software programs (including related data structures) of the present application can be stored in a computer readable recording medium such as a RAM memory, a magnetic or optical drive or a floppy disk and the like. In addition, some of the steps or functions of the present application may be implemented in hardware, for example, as a circuit that cooperates with a processor to perform various steps or functions.

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。In addition, a portion of the present application can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide a method and/or technical solution in accordance with the present application. The program instructions for invoking the method of the present application may be stored in a fixed or removable recording medium, and/or transmitted by a data stream in a broadcast or other signal bearing medium, and/or stored in a The working memory of the computer device in which the program instructions are run. Herein, an embodiment in accordance with the present application includes a device including a memory for storing computer program instructions and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, triggering The apparatus operates based on the aforementioned methods and/or technical solutions in accordance with various embodiments of the present application.

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。 装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。 It is obvious to those skilled in the art that the present application is not limited to the details of the above-described exemplary embodiments, and the present invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the present application. Therefore, the present embodiments are to be considered as illustrative and not restrictive, and the scope of the invention is defined by the appended claims instead All changes in the meaning and scope of equivalent elements are included in this application. Any reference signs in the claims should not be construed as limiting the claim. In addition, it is to be understood that the word "comprising" does not exclude other elements or steps. A plurality of units or devices recited in the device claims may also be implemented by a unit or device by software or hardware. The first, second, etc. words are used to denote names and do not denote any particular order.

Claims (20)

一种路由处理方法,其中,该方法包括:A route processing method, wherein the method includes: 检测待路由分组的路由地址是否为外部地址;Detecting whether the routing address of the packet to be routed is an external address; 当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;When the routing address is an external address, mapping the routing address to a corresponding predetermined address; 根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;Performing a matching query in the route cache according to the predetermined address to obtain corresponding routing information; 根据所述路由信息处理所述待路由分组。Processing the to-be-routed packet according to the routing information. 根据权利要求1所述的方法,其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:The method of claim 1, wherein when the routing address is an external address, mapping the routing address to a corresponding predetermined address comprises: 当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。When the routing address is an external address, the routing address is mapped to a corresponding predetermined address according to the corresponding mask information. 根据权利要求2所述的方法,其中,该方法还包括:The method of claim 2, wherein the method further comprises: 根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;Determining corresponding mask information according to the cache related information corresponding to the route cache; 其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:Wherein, when the routing address is an external address, mapping the routing address to a corresponding predetermined address includes: 当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。When the routing address is an external address, the routing address is mapped to a corresponding predetermined address according to the mask information. 根据权利要求3所述的方法,其中,所述缓存相关信息包括以下至少任一项:The method of claim 3, wherein the cache related information comprises at least one of the following: 所述路由缓存的容量信息;Capacity information of the route cache; 所述路由缓存的当前可用容量信息;Current available capacity information of the route cache; 所述路由缓存支持的缓存记录的最大数量信息;The maximum number of cache records supported by the route cache; 所述路由缓存的已有缓存记录的数量信息。The quantity information of the existing cache record of the route cache. 根据权利要求1至4中任一项所述的方法,其中,所述根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息还包括:The method according to any one of claims 1 to 4, wherein the performing a matching query in the route cache according to the predetermined address to obtain corresponding routing information further includes: 当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。When the routing address matches the miss in the routing cache, a matching query is performed in the corresponding routing table according to the routing address to obtain corresponding routing information. 根据权利要求5所述的方法,其中,该方法还包括:The method of claim 5, wherein the method further comprises: 根据所述预定地址及所述路由信息更新所述路由缓存。 Updating the route cache according to the predetermined address and the routing information. 根据权利要求1至6中任一项所述的方法,其中,所述检测待路由分组的路由地址是否为外部地址包括:The method according to any one of claims 1 to 6, wherein the detecting whether the routing address of the packet to be routed is an external address comprises: 根据对应子网信息检测待路由分组的路由地址是否为外部地址。Detect whether the routing address of the to-be-routed packet is an external address according to the corresponding subnet information. 根据权利要求7所述的方法,其中,所述检测待路由分组的路由地址是否为外部地址还包括:The method of claim 7, wherein the detecting whether the routing address of the packet to be routed is an external address further comprises: 检测所述路由地址是否为合法地址;Detecting whether the routing address is a legal address; 其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:Wherein, when the routing address is an external address, mapping the routing address to a corresponding predetermined address includes: 当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。When the routing address is an external address and belongs to a legal address, the routing address is mapped to a corresponding predetermined address. 根据权利要求1至8中任一项所述的方法,其中,所述路由地址包括以下至少任一项:The method according to any one of claims 1 to 8, wherein the routing address comprises at least one of the following: 所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; 所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。The destination address of the to-be-routed packet, where the to-be-routed packet is a packet to be forwarded to the outside. 根据权利要求9所述的方法,其中,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;The method according to claim 9, wherein the routing address comprises a source address of the packet to be routed, and the packet to be routed is a packet received from the outside; 其中,所述检测待路由分组的路由地址是否为外部地址包括:The detecting, by the detecting, whether the routing address of the to-be-routed packet is an external address includes: 当所述待路由分组不需要被转发时,检测所述待路由分组的路由地址是否为外部地址。When the to-be-routed packet does not need to be forwarded, it is detected whether the routing address of the to-be-routed packet is an external address. 一种路由处理设备,其中,该设备包括:A routing processing device, wherein the device comprises: 检测装置,用于检测待路由分组的路由地址是否为外部地址;a detecting device, configured to detect whether a routing address of the packet to be routed is an external address; 映射装置,用于当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;a mapping device, configured to: when the routing address is an external address, map the routing address to a corresponding predetermined address; 查询装置,用于根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;Querying means, configured to perform a matching query in the route cache according to the predetermined address to obtain corresponding routing information; 处理装置,用于根据所述路由信息处理所述待路由分组。The processing device is configured to process the to-be-routed packet according to the routing information. 根据权利要求11所述的设备,其中,所述映射装置用于: The apparatus of claim 11 wherein said mapping means is for: 当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。When the routing address is an external address, the routing address is mapped to a corresponding predetermined address according to the corresponding mask information. 根据权利要求12所述的设备,其中,该设备还包括:The device of claim 12, wherein the device further comprises: 掩码确定装置,用于根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;a mask determining device, configured to determine corresponding mask information according to the cache related information corresponding to the route cache; 其中,所述映射装置用于:Wherein the mapping device is used to: 当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。When the routing address is an external address, the routing address is mapped to a corresponding predetermined address according to the mask information. 根据权利要求13所述的设备,其中,所述缓存相关信息包括以下至少任一项:The device of claim 13, wherein the cache related information comprises at least one of the following: 所述路由缓存的容量信息;Capacity information of the route cache; 所述路由缓存的当前可用容量信息;Current available capacity information of the route cache; 所述路由缓存支持的缓存记录的最大数量信息;The maximum number of cache records supported by the route cache; 所述路由缓存的已有缓存记录的数量信息。The quantity information of the existing cache record of the route cache. 根据权利要求11至14中任一项所述的设备,其中,所述查询装置还用于:The device according to any one of claims 11 to 14, wherein the querying device is further configured to: 当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。When the routing address matches the miss in the routing cache, a matching query is performed in the corresponding routing table according to the routing address to obtain corresponding routing information. 根据权利要求15所述的设备,其中,该设备还包括:The device of claim 15, wherein the device further comprises: 更新装置,用于根据所述预定地址及所述路由信息更新所述路由缓存。And an updating device, configured to update the route cache according to the predetermined address and the routing information. 根据权利要求11至16中任一项所述的设备,其中,所述检测装置用于:The apparatus according to any one of claims 11 to 16, wherein the detecting means is for: 根据对应子网信息检测待路由分组的路由地址是否为外部地址。Detect whether the routing address of the to-be-routed packet is an external address according to the corresponding subnet information. 根据权利要求17所述的设备,其中,所述检测装置还用于:The apparatus according to claim 17, wherein said detecting means is further configured to: 检测所述路由地址是否为合法地址;Detecting whether the routing address is a legal address; 其中,所述映射装置用于:Wherein the mapping device is used to: 当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。 When the routing address is an external address and belongs to a legal address, the routing address is mapped to a corresponding predetermined address. 根据权利要求11至18中任一项所述的设备,其中,所述路由地址包括以下至少任一项:The device according to any one of claims 11 to 18, wherein the routing address comprises at least one of the following: 所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;a source address of the to-be-routed packet, where the to-be-routed packet is a packet received from the outside; 所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。The destination address of the to-be-routed packet, where the to-be-routed packet is a packet to be forwarded to the outside. 根据权利要求19所述的设备,其中,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;The device according to claim 19, wherein the routing address comprises a source address of the packet to be routed, and the packet to be routed is a packet received from outside; 其中,所述检测装置用于:Wherein the detecting device is used for: 当所述待路由分组不需要被转发时,检测所述待路由分组的路由地址是否为外部地址。 When the to-be-routed packet does not need to be forwarded, it is detected whether the routing address of the to-be-routed packet is an external address.
PCT/CN2016/090819 2015-08-03 2016-07-21 Method and device for routing processing Ceased WO2017020718A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510469382.7A CN106411744B (en) 2015-08-03 2015-08-03 A kind of method and apparatus for route processing
CN201510469382.7 2015-08-03

Publications (1)

Publication Number Publication Date
WO2017020718A1 true WO2017020718A1 (en) 2017-02-09

Family

ID=57942379

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/090819 Ceased WO2017020718A1 (en) 2015-08-03 2016-07-21 Method and device for routing processing

Country Status (2)

Country Link
CN (1) CN106411744B (en)
WO (1) WO2017020718A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319504A (en) * 2022-12-28 2023-06-23 杭州云合智网技术有限公司 A processing method and storage medium for routing information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394333A (en) * 2007-09-17 2009-03-25 华为技术有限公司 Method, device and network system for forwarding message
CN102045234A (en) * 2009-10-09 2011-05-04 中国移动通信集团公司 Buffering and overtime processing methods of route address mapping information as well as tunnel router
US20140133485A1 (en) * 2012-11-13 2014-05-15 Microsoft Corporation Data packet routing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447747A (en) * 2010-10-09 2012-05-09 中国移动通信集团公司 Method, device and system for interacting with private network
CN103686696B (en) * 2012-09-19 2017-11-24 华为技术有限公司 A kind of method for sending data, gateway and sensor node

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394333A (en) * 2007-09-17 2009-03-25 华为技术有限公司 Method, device and network system for forwarding message
CN102045234A (en) * 2009-10-09 2011-05-04 中国移动通信集团公司 Buffering and overtime processing methods of route address mapping information as well as tunnel router
US20140133485A1 (en) * 2012-11-13 2014-05-15 Microsoft Corporation Data packet routing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319504A (en) * 2022-12-28 2023-06-23 杭州云合智网技术有限公司 A processing method and storage medium for routing information

Also Published As

Publication number Publication date
CN106411744A (en) 2017-02-15
CN106411744B (en) 2019-10-18

Similar Documents

Publication Publication Date Title
US9866479B2 (en) Technologies for concurrency of cuckoo hashing flow lookup
US10666672B2 (en) Collecting domain name system traffic
US10719463B1 (en) Hardware handling memory write request during memory data migration
TWI606340B (en) Method for data cache, computer readable storage medium and system
US20150358276A1 (en) Method, apparatus and system for resolving domain names in network
JP5651179B2 (en) Cache protection
US9571417B2 (en) Processing resource access request in network
US9215205B1 (en) Hardware accelerator for a domain name server cache
US10977192B1 (en) Real-time memory-page state tracking and its applications
US20160044143A1 (en) Data structure and associated management routines for tcp control block (tcb) table in network stacks
CN103957195A (en) DNS system and defense method and device for DNS attack
US20140164645A1 (en) Routing table maintenance
US11533291B1 (en) Federated DNS caching
US20160283384A1 (en) Command-driven translation pre-fetch for memory management units
CN105490995A (en) Method and device for forwarding message by NVE in NVO3 network
CN110191068B (en) Detect stale memory addresses for network device stream caches
CN102857547B (en) The method and apparatus of distributed caching
CN116599892B (en) A server system, routing method, device, electronic equipment and storage medium
WO2017020718A1 (en) Method and device for routing processing
WO2016065565A1 (en) Malicious virtual machine alert generator
US10255213B1 (en) Adapter device for large address spaces
US9369485B2 (en) TCP connection resource diversity using tunable geometric series
US20160337232A1 (en) Flow-indexing for datapath packet processing
US20210342446A1 (en) Cache system for consistent retrieval of related objects
CN112532610A (en) Intrusion prevention detection method and device based on TCP segmentation

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: 16832206

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: 16832206

Country of ref document: EP

Kind code of ref document: A1