CN107666444B - Method and system for routing data flow - Google Patents
Method and system for routing data flow Download PDFInfo
- Publication number
- CN107666444B CN107666444B CN201710934715.8A CN201710934715A CN107666444B CN 107666444 B CN107666444 B CN 107666444B CN 201710934715 A CN201710934715 A CN 201710934715A CN 107666444 B CN107666444 B CN 107666444B
- Authority
- CN
- China
- Prior art keywords
- domain name
- data traffic
- addresses
- address
- domain
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application relates to a method for routing data traffic, which comprises the steps of establishing a domain name database, wherein the domain name database comprises a plurality of domain names; determining a set of IP addresses corresponding to the domain name; and determining a routing strategy of the data traffic based on the relation between the destination IP address of the data traffic and the IP address set. The application also relates to some variants of the method and to corresponding systems and computer-readable media. The application can improve the route management with higher efficiency and wider application range.
Description
Technical Field
The present invention relates to routing of data traffic, and in particular, to a method and system for routing data traffic.
Background
In recent years, with the rapid development of the internet, the network structure becomes more complex, and data traffic from a source node to a destination node can be realized through different routes. However, data traffic flows through different routes, and there may be significant quality differences, affecting access quality and user experience.
It is often desirable for a provider of data traffic routing services to provide different routes for data traffic for users of different importance levels. For example, it is often desirable to provide faster, higher quality routing for data traffic associated with important users at higher priorities, or to provide a better experience for applications such as games, video, etc. that have higher line requirements. Therefore, how to provide routing circuits with different qualities according to actual requirements becomes an urgent problem to be solved in the industry.
Disclosure of Invention
In order to solve the technical problems mentioned in the background art, the invention provides a brand-new data traffic routing method and system, which can directly classify the data traffic based on the IP address requested by the user, thereby realizing the purpose of providing the required routing lines for different applications.
In one aspect of the invention, a method of data traffic routing is disclosed, the method comprising: establishing a domain name database, wherein the domain name database comprises a plurality of domain names; determining a set of IP addresses corresponding to the domain name; and determining a routing strategy of the data traffic based on the relation between the destination IP address of the data traffic and the IP address set.
Preferably, if the destination IP address of the data traffic is in the set of IP addresses, the data traffic is forwarded to a first type of route, and if the destination IP address of the data traffic is not in the set of IP addresses, the data traffic is forwarded to a second type of route.
Preferably, determining the set of IP addresses corresponding to the Domain Name comprises determining the set of IP addresses corresponding to the Domain Name based on a resolution result of a DNS (Domain Name System, DNS for short) server.
Preferably, the DNS server is a public DNS server. In one example, the DNS servers include DNS servers of a common region. In another example, the DNS servers include all available DNS servers.
Preferably, the method further comprises collecting DNS servers for resolving the domain name.
Preferably, the method further comprises updating the set of IP addresses corresponding to the domain name periodically or aperiodically.
Preferably, the method further comprises updating the domain name database periodically or aperiodically.
Preferably, the updating the domain name database includes obtaining a new domain name from an HTTP message of the traffic data successfully matched, and updating the new domain name into the domain name database.
Preferably, the domain name database comprises domain names and priorities associated with the domain names, wherein if it is determined that a destination IP address of the data traffic is in the set of IP addresses, the data traffic is forwarded to the respective route based on the priority associated with the domain name.
In another aspect of the present invention, a data traffic routing system is disclosed, the system comprising: a domain name manager comprising a domain name database; the DNS manager receives the domain name information sent by the domain name manager, sends a request for analyzing the domain name to a domain name analysis server, and receives and stores an analysis result returned by the domain name analysis server, wherein the analysis result comprises an IP address set corresponding to the domain name; a traffic steering device that receives and maintains a set of IP addresses from the DNS manager and determines a routing policy for data traffic based on the set of IP addresses.
In yet another aspect of the present invention, a system for routing data traffic is disclosed, the system comprising: a memory; a processor for performing the method as described above.
In yet another aspect of the invention, a computer-readable storage medium comprising computer-executable instructions stored thereon, which, when executed by a processor, cause the processor to perform the method as described above is disclosed.
In the invention, domain names needing to be processed are collected and set in advance, and are analyzed based on a common DNS server to obtain an IP address set corresponding to each domain name, and data traffic is guided based on the relation between the IP address set and a target IP address of the data traffic to be guided. Whether the data traffic needs to be guided correspondingly is determined by judging whether the destination IP address of the data traffic belongs to the corresponding IP address set, for example, if the destination IP address of the data traffic belongs to the corresponding IP address set, the data traffic is guided to a routing line with better quality, so that the data traffic can be guided directly based on the destination IP of the data traffic, the domain name of the data traffic is not required to be obtained, the data traffic can be guided by http data traffic, the data traffic can be guided by https data traffic, and the data traffic can be classified and guided based on the relation between the destination IP and the preset IP address set.
Furthermore, by collecting domain names with different priorities and collecting DNS server addresses to determine the IP address set associated with the domain names, different IP address sets are associated with corresponding priorities, data traffic can be forwarded to different routes according to the priorities without analyzing data messages, so that efficiency is improved, and the method has wider applicability.
Drawings
The foregoing summary, as well as the following detailed description of the invention, will be better understood when read in conjunction with the appended drawings. It is to be noted that the appended drawings are intended as examples of the claimed invention. In the drawings, like reference characters designate the same or similar elements.
FIG. 1 shows a block diagram of a system according to an embodiment of the invention.
FIG. 2 shows a block diagram of another system according to an embodiment of the invention.
FIG. 3A shows a flow diagram of a method according to an embodiment of the invention.
Fig. 3B illustrates a flow diagram for determining a routing policy according to one embodiment of the invention.
FIG. 4A shows a flow diagram of another method according to an embodiment of the invention.
Fig. 4B illustrates a flow diagram for determining a routing policy according to one embodiment of the invention.
Detailed Description
The detailed features and advantages of the present invention are described in detail in the detailed description which follows, and will be sufficient for anyone skilled in the art to understand the technical content of the present invention and to implement the present invention, and the related objects and advantages of the present invention will be easily understood by those skilled in the art from the description, claims and drawings disclosed in the present specification.
In order to solve the problems in the background art, the invention provides a data traffic routing method and a data traffic routing system. In particular, the present invention can establish a domain name database including domain names and priorities associated with the domain names and determine a set of IP addresses corresponding to the domain names, such that data traffic corresponding to IP addresses in the set of IP addresses is routed according to the priorities of the domain names.
A system according to an embodiment of the present invention is described in detail below with reference to fig. 1 and 2, and a method according to an embodiment of the present invention is described in detail with reference to fig. 3 and 4.
Referring to FIG. 1, a block diagram of a system 100 is shown, according to one embodiment of the invention. The system 100 includes a domain name manager 102, a DNS manager 104, and a traffic steering device 106 that may be interconnected.
In this embodiment, domain name manager 102 includes domain name database 108, wherein the domain name database 108 may include a plurality of domain names. In this embodiment, the domain names may be high-priority domain names, that is, domain names corresponding to important clients. In other embodiments of the present invention, the priorities of the domain names may be set according to actual requirements, such as a domain name blacklist, and the present invention is not limited thereto.
The domain name database 108 may be implemented by collecting the plurality of domain names. The plurality of domain names may be collected in various ways. In one example, the domain name may be from a base domain name, or a relatively complete domain name and a generic domain name, configured by a system administrator or the like.
In addition, in another example, the domain name may also come from a domain name that the traffic steering device can match if the base generic domain name is matched to the data traffic of HTTP when traffic is groomed, and this process may be implemented by a connection between the domain name database and the traffic steering device (not shown in the figure).
For example, for a website, we only know that the domain name of the host website for that domain name is assumed to be aaa. By configuring aaa.com, the sub domain names of all aaa.com are gathered. We only know aa.aa.com before, and get all the corresponding IP addresses on the domain name resolution servers corresponding to the domain names aa.com and aa.aa.com through domain name resolution to form an IP address set corresponding to the domain name aa.com, at this time, if the http data traffic of the user successfully matches the IP address set corresponding to aa.com when the traffic is guided by the traffic guiding device, and the domain name visited in the http message of the data traffic is bb.aa.com, the traffic guiding device transmits this information to the domain name database, so that the domain name of bb.aa.com is automatically updated, and belongs to the sub-domain name of the main domain name aa.com, and the IP address set corresponding to the main domain name aa.com can be further expanded based on the domain name resolution result of bb.aa.com, thereby further improving the integrity of the IP address set.
In this way, domain names that meet defined domain name gathering rules may be collected and updated into the domain name database when accessed by a user. In this example, the domain name database may be automatically built and/or updated without intervention by a system administrator, improving the efficiency of domain name collection.
Optionally, the DNS manager 104 may include a DNS server database 110. The DNS server database 110 may include information for a plurality of DNS servers. The DNS manager 104 can send a domain name resolution request according to the domain name packet and the configured DNS server address, and receive an IP address set corresponding to the requested domain name from the DNS server.
As is known, a DNS server can resolve a domain name based on its own configuration. In actual use, all domain name resolution requests usually share one DNS server set, so as to make the IP address set obtained by each domain name resolution more complete. In some other embodiments, different DNS nameservers may also be configured for different domain names to resolve according to actual needs.
The DNS server may be a public DNS server, such as a DNS server provided by a network operator (e.g. a telecom, Unicom, mobile, etc.) or may be of another type, such as a DNS server provided by Google, Baidu, etc., or a DNS server commonly used throughout the application area. In one example, the DNS server database 110 can include as many DNS server addresses as possible, thereby making the set of IP addresses corresponding to domain names or domain name packets resolved through the DNS servers more complete.
Specifically, when a user sends data traffic, when a network layer encapsulates a data packet, a domain name resolution request is sent to the DNS server according to a request domain name in an upper layer protocol to obtain a corresponding destination IP, and the destination IP is encapsulated in the request data packet. The DNS server used here may be a random public DNS server or a specific DNS server, and since an IP address obtained by analyzing a domain name by different DNS servers may be different and an IP address obtained by analyzing the same DNS server may also be different, in this embodiment, when the DNS manager 104 analyzes a domain name in the DNS server database 110, more DNS servers or a DNS server requested by a user may be included as much as possible, so that when a domain name actually accessed by the user is a domain name in the DNS server database 110, the domain name can be directly identified, and the problem that the domain name cannot be matched is avoided.
The domain name manager 102 can send domain name packets to the DNS manager 104. For example, the domain name in the domain name packet is a high priority domain name stored in the domain name database 108. In this embodiment, the high-priority domain names are configured by the administrator in advance according to actual requirements, and the high-priority domain names have higher requirements on the quality of the line. It is understood that, in the embodiment of the present invention, the requirement of the high-priority domain name for the line may be of other types, and may be configured according to actual needs, and the present invention is not limited thereto.
The DNS manager 104 receives the domain name packet and communicates with the DNS server 112 to send a request to resolve the domain name in the domain name packet. The DNS server 112 comprises a DNS server or set of DNS servers predefined in any manner.
Preferably, when the DNS manager 104 includes the DNS server database 110, the DNS server 112 is derived from the DNS server database 110. Upon receiving the request, DNS server 112 resolves the domain names in the domain name packet to obtain a set of IP addresses corresponding to each domain name, and returns the set of IP addresses as a result to DNS manager 104. The DNS manager 104 may send the set of IP addresses to the traffic directing device 106.
In this way, the traffic steering device 106 obtains a set of IP addresses corresponding to the domain name of high priority. In one example, the traffic steering device 106 may store the set of IP addresses, for example, in an IP address database (not shown).
In directing data traffic, the traffic directing device 106 may compare the destination IP address parsed from the packet of the data traffic with the set of IP addresses, and when the destination IP address of the data traffic is in the set of IP addresses, the traffic directing device 106 may assign a first type of route, e.g., a high quality route, to the data traffic. When the destination IP address of the data traffic is not in the set of IP addresses, the traffic steering device 106 may assign a second type of route to the data traffic, such as a default route or a route with a lower line quality.
Referring to fig. 2, a block diagram of another system 200 for use in a domain name including multiple priority levels is shown, in accordance with one embodiment of the present invention. In this embodiment, similar to system 100, system 200 includes a domain name manager 202, a DNS manager 204, and a traffic steering device 206, which may be interconnected. In this embodiment, domain name manager 202 includes domain name database 208, where, unlike domain name database 108 of system 100, domain name database 208 of system 200 includes not only a plurality of domain names, but also a priority associated with each of the plurality of domain names.
In one embodiment, the domain name database 208 is built by pre-collecting and configuring domain names of various priorities. The priority may include a plurality of hierarchies. For example, in one embodiment, the domain name of the most important client may be assigned a first priority, the domain name of the next most important client may be assigned a second priority, the domain name of the second most important client may be assigned a third priority, and so on. In some examples, domain name database 208 may also include lower priority domain names, such as domain names of ordinary users, and the like. Typically, some domain names are not included in domain name database 208. It should be noted that the priority is mainly divided to distinguish different domain names and configure corresponding routing policies according to categories, for example, the routing policies for the domain names in the first priority are the same, and in other embodiments of the present invention, the definition of the priority may be set according to actual requirements.
The collection of the domain names may be accomplished in a variety of ways. The domain name may be from a base domain name, or a relatively complete domain name and a general domain name, configured by a system administrator or the like. In addition, the domain name can also come from a domain name which can be matched if the routing device is matched with the basic domain name in the HTTP message when traffic is dredged.
In one example, the domain name database may be updated periodically. For example, the domain name database may be updated hourly, daily, weekly, etc. In another example, the domain name database may be updated in response to the occurrence of a particular event. For example, when a new important customer joins, the domain name of the new important customer is added to the domain name database. In yet another example, the domain name database may be updated on an irregular basis.
The domain name database may also be connected to a traffic steering device (not shown in the figure) so that data traffic matching the correct HTTP protocol can be obtained through the connection and the extended domain name is obtained based on the data traffic. As exemplified above, the traffic directing device may transmit the domain name of bb.aaa.com in the HTTP message to the domain name database, so that the domain name packet in the domain name database comprising aaa.com may be updated to comprise bb.aaa.com. At the same time, the association between the domain name and the priority can also be updated. For example, the domain name bb.
The DNS manager may include a DNS server database. The DNS server database may include addresses for a plurality of DNS servers. The DNS server may send the domain name to the public DNS server 108 based on the grouping of domain names and configured DNS server addresses. The public DNS server 108 may resolve a set of IP addresses corresponding to the domain name for each packet and send the corresponding set of IP addresses to the traffic steering device 106.
In this embodiment, the domain name manager 202 may send a domain name packet to the DNS manager 204. In one example, unlike embodiments of system 100, domain name manager 202 can also send a priority corresponding to the domain name packet to the DNS manager 204. The DNS manager 204 receives the domain name packet and the priority and communicates with the DNS server 212 recorded in the DNS server database to send a request to resolve the domain name in the domain name packet. Upon receiving the request, DNS server 212 resolves the domain names in the domain name packet to obtain a set of IP addresses corresponding to each domain name, and returns the set of IP addresses as a result to DNS manager 204. The DNS manager 204 may send the set of IP addresses to the traffic steering device 206. Unlike embodiments of system 100, the DNS manager may also send a priority corresponding to the set of IP addresses for the domain name packet to the traffic directing device 206. The traffic steering device 106 may now have a set of IP addresses and a priority corresponding to the set of IP addresses. For different priorities, the traffic guidance device 106 also sets a corresponding routing policy in advance.
In one example, the traffic steering device 206 may store the set of IP addresses and corresponding priorities in association, such as in an IP address database (not shown). The traffic steering device 206 may compare the destination IP address to the data traffic with a set of IP addresses. When the destination IP address of the data traffic is in the IP address set, the traffic directing device 106 may execute a routing policy with a priority corresponding to the IP address set, and allocate a corresponding route for the data traffic. For example, when the priority is a first priority, data traffic associated with an address in the set of IP addresses may be assigned a first type of route (e.g., a highest quality route). When the priority is a second priority, data traffic associated with an address in the set of IP addresses may be assigned a second type of route (e.g., a next highest quality route). When the priority is a third priority, data traffic associated with an address in the set of IP addresses may be assigned a third type of route (e.g., a second best quality route). And so on. In particular, when the IP address of the data traffic is not in any set of IP addresses (i.e., the data traffic is not data traffic corresponding to any domain name in domain name database 208), the traffic steering device 106 may assign another quality route, such as a default quality route, e.g., a normal quality route or a low quality route, to the data traffic.
In another example, rather than first sending the priority to the DNS manager by domain name manager 202 and sending the priority to the traffic steering device by the DNS manager, domain name manager 202 sends the associated priority directly to traffic steering device 206 (not shown in the figure), as opposed to what is shown in fig. 2.
Those skilled in the art will appreciate that the embodiments described herein may intelligently route data traffic without parsing application layer packets, thereby reducing the need for data processing capacity and increasing efficiency. Moreover, since the embodiment described in the present invention does not depend on parsing the application layer packet, the embodiment can be applied to the HTTPS protocol, and has a wider applicability, which is particularly beneficial in an environment where the HTTPS protocol is increasingly popular nowadays.
Referring to FIG. 3A, a flow diagram of a method 300 in accordance with one embodiment of the present invention is shown. In general, the method 300 may be understood with reference to the system 100 shown in FIG. 1.
The method 300 includes: at step 302, a domain name database is established, which may include a plurality of domain names. The domain name in the domain name database may be a high priority domain name. The domain names may be collected in the manner described above with respect to domain name database 108.
The method 300 further comprises: at step 304, a set of IP addresses corresponding to the domain name is determined. This step 304 may include sending, by the domain name manager, the domain name packet in the domain name database to the DNS manager. This step 304 may also include sending, by the DNS manager, a resolution request to the corresponding DNS server, resolving, by the DNS server, the domain name in the domain name packet, and sending, by the DNS server, the resolution result to the DNS manager. The resolution result is a set of IP addresses corresponding to the domain name packet. This step 304 can also include sending, by the DNS manager, the set of IP addresses to the traffic directing device. Specific implementations can be found in the above description of domain name manager 102 and DNS manager 104.
The method 300 further comprises: in step 305, a routing policy for the data traffic is determined based on a relationship of a destination IP address of the data traffic to the set of IP addresses.
Referring to fig. 3B, one embodiment of determining a routing policy for data traffic based on a relationship of a destination IP address of the data traffic to the set of IP addresses (step 305) is described.
This step 305 may include: at step 306, it is determined whether the destination IP address of the data traffic is in the set of IP addresses. If the destination IP in the set of IP addresses indicates that the data traffic is associated with a high priority domain name. If the destination IP is not in the set of IP addresses, it indicates that the data traffic is not associated with a high priority domain name.
This step 305 may also include: if it is determined at step 306 that the destination IP address of the data traffic is in the set of IP addresses, then a first type of route (e.g., a high quality route) is assigned to the data traffic at step 308. This may be achieved by forwarding the data traffic to the first type of route. If it is determined at step 306 that the IP address corresponding to the data traffic is not in the set of IP addresses, then a second type of route (e.g., a normal quality route) is assigned to the data traffic at step 310. This may be accomplished by forwarding the data traffic to the second type of route. In this way, data traffic associated with domain names of different priorities (and thus customers of different importance levels) can be intelligently routed, and thus higher quality routing can be provided for important customers. Details of the relevant steps can be found in the description above for the system 100.
In a preferred example, the traffic steering device may attempt to match a domain name in the HTTP message and, upon a successful match, update the corresponding domain name to the domain name database.
Referring to fig. 4A, a flow diagram of another method 400 in accordance with one embodiment of the present invention is shown. In general, the method 400 may be understood with reference to the system 200 shown in FIG. 2.
The method 400 includes: at step 402, a domain name database is established, which may include domain names and priorities associated with the domain names. As described above with respect to domain name database 208, a plurality of domain name packets corresponding to a plurality of priority levels may be included. The domain names may be collected in the manner described above with respect to domain name databases 108 or 208.
The method 400 further includes: at step 404, a set of IP addresses corresponding to the domain name is determined. In one example, this step 404 can include sending, by the domain name manager, the domain name packets in the domain name database and the associated priority to the DNS manager. This step 404 may also include sending, by the DNS manager, a resolution request to the corresponding DNS server, resolving, by the DNS server, the domain name in the domain name packet, and sending, by the DNS server, the resolution result to the DNS manager. The resolution result is the set of IP addresses corresponding to the domain name packet (i.e., corresponding to the corresponding priority). This step 404 can also include sending, by the DNS manager, the IP address set and the corresponding priority to the traffic directing device. Specific implementations can be found in the above description of domain name manager 202 and DNS manager 204.
In another example, this step 404 can include sending, by the domain name manager, the domain name packet in the domain name database to the DNS manager. This step 404 may also include sending, by the DNS manager, a resolution request to the corresponding DNS server, resolving, by the DNS server, the domain name in the domain name packet, and sending, by the DNS server, the resolution result to the DNS manager. The resolution result is a set of IP addresses corresponding to the domain name packet. This step 404 can also include sending, by the DNS manager, the set of IP addresses to the traffic directing device. This step 404 may also include sending, by the domain name manager, the priority associated with the domain name packet (and thus the set of IP addresses) directly to the traffic steering device.
The method 400 further includes: in step 405, a routing policy for the data traffic is determined based on a relationship between a destination IP address of the data traffic and the set of IP addresses.
Referring to fig. 4B, one embodiment of determining a routing policy for data traffic based on a relationship of a destination IP address of the data traffic to the set of IP addresses (step 405) is described.
This step 405 may include: at step 406, it is determined whether the destination IP address of the data traffic is in the set of IP addresses. If the destination IP address is in the set of IP addresses, then the IP address is said to have a priority associated with the set of IP addresses. If the destination IP address is not in the set of IP addresses, the destination IP address is said to have a priority different from the priority associated with the set of IP addresses. If the IP address is in another set of IP addresses corresponding to another domain name packet in the domain name database, the IP address has a priority associated with the other set of IP addresses (and thus with the other domain name packet).
This step 405 may also include: : if it is determined at step 406 that the destination IP address of the data traffic is in the set of IP addresses, then at step 408 a routing policy for the data traffic is determined based on the priority of the set of IP addresses. In one example, the set of IP addresses is a first priority set of IP addresses, at which point the data traffic is forwarded to a first type of route (e.g., a highest quality route) if it is determined at step 406 that the destination IP address of the data traffic is in the set of IP addresses. In another example, the set of IP addresses is a second priority set of IP addresses, at which point the data traffic is forwarded to a second type of route (e.g., a second highest quality route) if it is determined at step 406 that the destination IP address of the data traffic is in the set of IP addresses, and so on. This step 405 may also include: if it is determined at step 406 that the destination IP address of the data traffic is not in the set of IP addresses, it is determined whether the destination IP address of the data traffic is in a set of IP addresses corresponding to another domain name in the domain name database, and if so, the data traffic is forwarded to the respective route based on another priority associated with the other domain name. In this way, it may be determined whether the IP address is in any of the IP address sets corresponding to the domain names in the domain name database and the data traffic is thus assigned a route according to the priority corresponding to the domain name. For example, if the IP address is in the set of IP addresses associated with the domain name of the first priority, the highest quality route is assigned to the IP address, if the IP address is in the set of IP addresses associated with the second priority, the next highest quality route is assigned to the IP address, and so on.
This step 405 may also include: if it is determined at step 406 that the destination IP address of the data traffic is not in any of the IP address sets, the data traffic is forwarded to another route (e.g., a default quality route, such as a default quality route or a low quality route) at step 410. In this way, data traffic associated with domain names of different priorities (and thus customers of different importance levels) can be intelligently routed, and thus higher quality routing can be provided for important customers. Details of the relevant steps can be found in the description above for the system 100.
In a preferred example, the traffic steering device may attempt to match a domain name in the HTTP message and, upon a successful match, update the corresponding domain name (and optionally the priority) to the domain name database.
It can be seen from the above analysis that, in the present invention, domain names to be processed are collected and set in advance, and are resolved based on a commonly used DNS server, so as to obtain an IP address set corresponding to each domain name, and data traffic is guided based on a relationship between the IP address set and a destination IP address of data traffic to be guided. Whether the data traffic needs to be guided correspondingly is determined by judging whether the destination IP address of the data traffic belongs to the corresponding IP address set, for example, if the destination IP address of the data traffic belongs to the corresponding IP address set, the data traffic is guided to a routing line with better quality, so that the data traffic can be guided directly based on the destination IP of the data traffic, the domain name of the data traffic is not required to be obtained, the data traffic can be guided by http data traffic, the data traffic can be guided by https data traffic, and the data traffic can be classified and guided based on the relation between the destination IP and the preset IP address set.
Furthermore, by collecting domain names with different priorities and collecting DNS server addresses to determine the IP address set associated with the domain names, different IP address sets are associated with corresponding priorities, so that data traffic can be forwarded to different routes according to the priorities without analyzing data messages, efficiency is improved, and the method has wider applicability.
It is to be understood that methods according to embodiments of the present invention may be implemented in software, firmware, or a combination thereof. In one embodiment, a system is disclosed that includes a memory; a communication interface; and a processor communicatively connected with the memory and the communication interface, the processor operative to implement the methods of the various embodiments described herein, such as one or more of methods 300, 400.
In another embodiment, a computer-readable storage medium is disclosed that includes computer-executable instructions stored thereon that, when executed by a processor, cause the processor to perform the methods of the embodiments described herein, such as one or more of methods 300, 400.
The terms and expressions which have been employed herein are used as terms of description and not of limitation. The use of such terms and expressions is not intended to exclude any equivalents of the features shown and described (or portions thereof), and it is recognized that various modifications may be made within the scope of the claims. Other modifications, variations, and alternatives are also possible. Accordingly, the claims should be looked to in order to cover all such equivalents.
Also, it should be noted that although the present invention has been described with reference to the current specific embodiments, it should be understood by those skilled in the art that the above embodiments are merely illustrative of the present invention, and various equivalent changes or substitutions may be made without departing from the spirit of the present invention, and therefore, it is intended that all changes and modifications to the above embodiments be included within the scope of the claims of the present application.
Claims (9)
1. A method of data traffic routing, the method comprising:
establishing a domain name database, the domain name database comprising a plurality of domain names, the domain name database comprising domain names and priorities associated with the domain names;
determining a set of IP addresses corresponding to the domain name;
determining a routing policy for the data traffic based on a relationship of a destination IP address of the data traffic to the set of IP addresses, wherein if it is determined that the destination IP address of the data traffic is in the set of IP addresses, forwarding the data traffic to a corresponding route based on the priority associated with the domain name; and
periodically or aperiodically updating the domain name database, including collecting sub-domain names of the domain name, wherein said determining the set of IP addresses corresponding to the domain name comprises:
and expanding an IP address set corresponding to the domain name based on a domain name resolution result of a sub-domain name of the domain name.
2. The method of claim 1, wherein determining the routing policy for the data traffic comprises: determining whether a destination IP address of the data traffic is in the set of IP addresses, and if the destination IP address of the data traffic is in the set of IP addresses, forwarding the data traffic to a first type of route, and if the destination IP address of the data traffic is not in the set of IP addresses, forwarding the data traffic to a second type of route.
3. The method of claim 1, wherein determining the set of IP addresses corresponding to the domain name comprises determining the set of IP addresses corresponding to the domain name based on a resolution result of a DNS server.
4. The method of claim 3, further comprising collecting DNS servers for resolving the domain name.
5. The method of any one of claims 3-4, further comprising updating the set of IP addresses corresponding to the domain name periodically or aperiodically.
6. The method of claim 1, wherein the updating the domain name database comprises obtaining a new domain name from an HTTP message that successfully matches the traffic data and updating into the domain name database.
7. A data traffic routing system, the system comprising:
a domain name manager comprising a domain name database comprising domain names and priorities associated with the domain names;
the DNS manager receives the domain name information sent by the domain name manager, sends a request for analyzing the domain name to a domain name analysis server, and receives and stores an analysis result returned by the domain name analysis server, wherein the analysis result comprises an IP address set corresponding to the domain name;
a traffic steering device that receives and maintains a set of IP addresses from the DNS manager and determines a routing policy for data traffic based on the set of IP addresses, wherein if a destination IP address of the data traffic is determined to be in the set of IP addresses, the data traffic is forwarded to a corresponding route based on the priority associated with the domain name,
wherein the domain name database is updated periodically or aperiodically, including collecting sub-domain names of the domain name, and augmenting a set of IP addresses corresponding to the domain name based on domain name resolution results of the sub-domain names of the domain name.
8. A system for data traffic routing, the system comprising:
a memory;
a processor for performing the method of any one of claims 1-6.
9. A computer-readable storage medium comprising computer-executable instructions stored thereon, which, when executed by a processor, cause the processor to perform the method of any one of claims 1-6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710934715.8A CN107666444B (en) | 2017-10-10 | 2017-10-10 | Method and system for routing data flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710934715.8A CN107666444B (en) | 2017-10-10 | 2017-10-10 | Method and system for routing data flow |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666444A CN107666444A (en) | 2018-02-06 |
CN107666444B true CN107666444B (en) | 2020-05-26 |
Family
ID=61097426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710934715.8A Active CN107666444B (en) | 2017-10-10 | 2017-10-10 | Method and system for routing data flow |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107666444B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900581A (en) * | 2018-06-12 | 2018-11-27 | 恒安嘉新(北京)科技股份公司 | A kind of method for building up of the key feature knowledge base of large-scale website |
CN109150725B (en) * | 2018-07-09 | 2021-07-16 | 网宿科技股份有限公司 | Traffic grooming method and server |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164078A (en) * | 2011-03-25 | 2011-08-24 | 北京星网锐捷网络技术有限公司 | Policy routing method, device and system |
CN103873372A (en) * | 2012-12-14 | 2014-06-18 | 华耀(中国)科技有限公司 | Domain-name-based policy routing system and setting method |
CN104468315A (en) * | 2014-12-16 | 2015-03-25 | 上海市共进通信技术有限公司 | Method for accelerating VPN based on intelligent gateway |
WO2016011358A1 (en) * | 2014-07-18 | 2016-01-21 | Interdigital Technology Corporation | Advanced flow routing: a method to augment legacy routing capabilities |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9876826B2 (en) * | 2015-10-30 | 2018-01-23 | At&T Intellectual Property I, L.P. | Methods and target architecture for enabling IP carrier peering |
-
2017
- 2017-10-10 CN CN201710934715.8A patent/CN107666444B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164078A (en) * | 2011-03-25 | 2011-08-24 | 北京星网锐捷网络技术有限公司 | Policy routing method, device and system |
CN103873372A (en) * | 2012-12-14 | 2014-06-18 | 华耀(中国)科技有限公司 | Domain-name-based policy routing system and setting method |
WO2016011358A1 (en) * | 2014-07-18 | 2016-01-21 | Interdigital Technology Corporation | Advanced flow routing: a method to augment legacy routing capabilities |
CN104468315A (en) * | 2014-12-16 | 2015-03-25 | 上海市共进通信技术有限公司 | Method for accelerating VPN based on intelligent gateway |
Also Published As
Publication number | Publication date |
---|---|
CN107666444A (en) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5150769B2 (en) | Updating routing information using request routing and client location information | |
CN107528862B (en) | Domain name resolution method and device | |
US9712422B2 (en) | Selection of service nodes for provision of services | |
US8073936B2 (en) | Providing support for responding to location protocol queries within a network node | |
US7855998B2 (en) | Gb parameter based radio priority | |
US11218437B2 (en) | Method for network traffic forwarding, request sending, and communication acceleration, forwarding server and node server | |
US10291536B2 (en) | Tiered services in border gateway protocol flow specification | |
US9667529B2 (en) | Selecting network services based on hostname | |
CN101325552B (en) | Triangle forwarding method for access request and GLB server | |
CN114095430B (en) | Access message processing method, system and working node | |
CN106941507A (en) | The dispatching method and device of request message | |
CN113452561A (en) | Topology generation method, device and equipment and readable storage medium | |
WO2017177437A1 (en) | Domain name resolution method, device, and system | |
CN107070790B (en) | Route learning method and routing equipment | |
CN112866214A (en) | Firewall strategy issuing method and device, computer equipment and storage medium | |
CN107666444B (en) | Method and system for routing data flow | |
CN112825524B (en) | Method, device and system for determining network service node | |
CN104253798A (en) | Network security monitoring method and system | |
US10122630B1 (en) | Methods for network traffic presteering and devices thereof | |
CN111953806A (en) | Link selection method and device, computer equipment and computer storage medium | |
CN114338809B (en) | Access control method, device, electronic equipment and storage medium | |
CN101803343B (en) | Identifying subnet address range from DNS information | |
CN112968915B (en) | Processing method, processing system and processing device for DNS (Domain name Server) attack | |
CN106254576B (en) | Message forwarding method and device | |
US10958580B2 (en) | System and method of performing load balancing over an overlay network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |