A data center provides secure handling of HTTPS traffic using backend ssl decryption and encryption in combination with a load balancer such as a content switch. The load balancer detects HTTPS traffic and redirects it to an ssl offloading device for decryption and return to the load balancer. The load balancer then uses the clear text traffic for load balancing purposes before it redirects the traffic back to the ssl offloading device for re-encryption. Thereafter, the re-encrypted traffic is sent to the destination servers in the data center. In one embodiment, the combination with the back-end ssl with an intrusion detection system improves security by performing intrusion detection on the decrypted HTTPS traffic.
|
1. A method comprising:
receiving ssl encrypted traffic;
transferring said ssl encrypted traffic to an ssl offload device:
receiving from said ssl offload device clear text traffic that has been generated by decrypting the ssl encrypted traffic;
determining a load balancing decision to determine a destination server from a plurality of servers for the clear text traffic;
rewriting, by a network device, said clear text traffic with a real server address for the determined destination server determined by the load balancing decision;
rewriting, by the network device, a destination mac address to a mac address for the ssl offload device;
after the rewriting steps, forwarding said clear text traffic to said ssl offload device for re-encryption using the destination mac address, wherein the real server address is preserved in the clear traffic; and
after the ssl offload device re-encrypts the clear text traffic that includes the real server address, routing said encrypted traffic to said destination server using the real server address.
18. An apparatus comprising:
one or more computer processors; and
logic encoded in one or more computer readable storage media for execution by the one or more computer processors and when executed executable to:
receive ssl encrypted traffic;
transfer said ssl encrypted traffic to an ssl offload device;
receive from said ssl offload device clear text traffic that has been generated by decrypting the ssl encrypted traffic;
determine a load balancing decision to determine a destination server from a plurality of servers for the clear text traffic;
rewrite said clear text traffic with a real server address for the determined destination server determined by the load balancing decision;
rewrite a destination mac address to a mac address for the ssl offload device;
after the rewriting steps, forward said clear text traffic to said ssl offload device for re-encryption using the destination mac address, wherein the real server address is preserved in the clear traffic; and
after the ssl offload device re-encrypts the clear text traffic that includes the real server address, route said encrypted traffic to said destination server using the real server address.
10. A method comprising:
receiving ssl encrypted traffic from a load balancer;
performing, by a network device, network based decryption on said ssl encrypted traffic to obtain clear text traffic;
forwarding, by the network device, said clear text traffic to said load balancer, wherein the clear traffic allows the load balancer to determine a load balancing decision to determine a destination server from a plurality of servers for the clear text traffic, wherein said clear text traffic is rewritten with IP address for the destination server, and wherein the clear traffic is rewritten from a destination mac address a mac address for the network device;
after the load balancer performs rewriting operations, receiving from said load balancer, using the destination mac address, clear text traffic that has been modified to specify the destination server from the plurality of servers; and
performing re-encryption of said modified clear text traffic, wherein the IP address is preserved in the clear traffic; and
sending the encrypted modified clear traffic to the load balancer to allow the load balancer to send the encrypted modified clear traffic to the destination server using the IP address.
23. An apparatus comprising:
one or more computer processors; and
logic encoded in one or more computer readable storage media for execution by the one or more computer processors and when executed executable to:
receive ssl encrypted traffic from a load balancer;
perform network based decryption on said ssl encrypted traffic to obtain clear text traffic;
forward said clear text traffic to said load balancer, wherein the clear traffic allows the load balancer to determine a load balancing decision to determine a destination server from a plurality of servers for the clear text traffic, wherein said clear text traffic is rewritten with a real server address for the destination server, and wherein the clear traffic is rewritten from a destination mac address a mac address for the network device;
after the load balancer performs rewriting operations, receive from said load balancer, using the destination mac address, clear text traffic that has been modified to specify the destination server from the plurality of servers; and
perform re-encryption of said modified clear text traffic; and
send the encrypted modified clear traffic to the load balancer to allow the load balancer to send the encrypted modified clear traffic to the destination server using the real server address.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The apparatus of
8. The method of
9. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
17. The apparatus of
19. The apparatus of
20. The apparatus of
21. The apparatus of
22. The apparatus of
|
This application claims priority from commonly assigned provisional patent application entitled “Data Center Network Design And Infrastructure Architecture” by Mauricio Arregoces and Maurizio Portolani, Application No. 60/623,810, filed Oct. 28, 2004, the entire disclosure of which is herein incorporated by reference.
A portion of the disclosure recited in the specification contains material that is subject to copyright protection. Specifically, documents provided with this application include source code instructions for a process by which the present invention is practiced in a computer system. The copyright owner has no objection to the facsimile reproduction of the specification as filed in the Patent and Trademark Office. Otherwise, all copyright rights are reserved.
Secure Sockets Layer or SSL is a protocol that was developed to securely transmit private messages between a client and a server via the internet or other public network. SSL is the industry-standard method of protecting web communication by using digitally data encryption and server and message authentication codes to maintain message integrity.
SSL connections typically have two phases. The first phase is the SSL session negotiation, which provides a mechanism for client and server authentication and negotiates encryption keys before data is exchanged. The second phase is the SSL application data transfer. In the second phase, SSL encrypts the data traffic to provide data confidentiality and integrity.
When an SSL session starts, client and server authenticate each other and agree on a secret key to be used encrypt the data transfer. This initial series of transactions are the most intensive operation in SSL processing and the most expensive operation in the handshake is the server-side RSA private key decryption of the client pre-master secret. Subsequent data is encrypted and authenticated with keys derived from the master key. A variety of cryptographic algorithms are supported by the SSL protocol. After the exchange of keys, a number of ciphers such as RC2, RC4, IDEA, DES, triple-DES may be used.
The SSL protocol usually operates in conjunction with an application layer protocol such as HTTPS. When a secure URL is found, that is the connection starts with https://, the client opens a TCP connection to port 443, followed by an SSL handshake and data transfer. SSL encrypts the HTTP header and the payload.
One problem with SSL arises because of the high CPU utilization required to perform all of the encryption operations during the SSL handshake. Of the encryption operations, the RSA encryption/decryption is the most expensive. Efficient handling of the encryption operations is particularly important in a data center where a cluster of servers configured for SSL traffic must be able to handle multiple client connections without degrading response to the client. For example, a server that can process ˜9,000 HTTP (clear text) transactions per second at 100% CPU utilization can process only approximately one percent of the clear text transactions when processing HTTPS transactions. Thus, many servers are often dedicated to handle SSL traffic.
Another problem with SSL arises in data center operations handling SSL traffic. This traffic is distributed among a cluster of servers to share the load of incoming client requests and to provide high availability for the requested application. With load balancing, SSL traffic is sent to the load balancer first and then to a server, and the server undertakes the expensive task of decrypting the data. In other instances, the load balancer utilizes a network device, an SSL offloader, to handle the decryption before the load balancer performs the load distribution decision. The network device returns clear text (decrypted) traffic to the load balancer. Unfortunately, if the load balancer distributes clear text traffic to the server cluster, it can be easily monitored by a compromised server or by an attacker who has managed to connect a traffic monitoring device to the data center's VLAN or sub-net.
Yet another problem with SSL traffic is that a network based intrusion detection system or IDS is unable to analyze the SSL encrypted traffic to detect an attack. Other prior art systems attempt to handle SSL traffic by decrypting the traffic, load balancing and then forwarding the traffic to an SSL device for re-encryption but these embodiments rely on IP forwarding for the sequence processing. While effective, these embodiments also require a much more complex configuration which is undesirable, difficult to implement and maintain. In fact, with such prior art implementation, it is necessary to create a plurality of NAT translations of ports and destination IP addresses to create the traffic flow necessary to decrypt, load balance and then re-encrypt the traffic.
To overcome these disadvantages of the prior art, the present invention efficiently handles SSL traffic while off-loading the encryption/decryption process from the servers of a data center. More specifically, a data center provides secure handling of HTTPS traffic using backend SSL decryption and encryption using a load balancer and an SSL offloader. The load balancer detects HTTPS traffic and redirects it to an SSL offloading device for decryption and return to the load balancer. The load balancer then uses the clear text traffic for load balancing purposes before it redirects the traffic back to the SSL offloading device for re-encryption. Thereafter, the re-encrypted traffic is sent to the destination servers in the data center. The present invention sends the decrypted traffic back to the SSL encryption device after having performed the load balancing decision, without having to alter the destination port or other parameters to re-encrypt the traffic. In one embodiment, the combination with the back-end SSL with an intrusion detection system improves security by performing intrusion detection on the decrypted HTTPS traffic.
The present invention provides significant benefit because the load balancer rewrites the destination IP address (as a result of the load balancing decision) and sends traffic back to the SSL offloading device for re-encryption with very a simple configuration on the SSL offloading device. Advantageously, there is no need to maintain a one-to-one mapping of NAT statements on the SSL offloading device. The load balancer may also be configured to rewrite the destination port to a different port to uniquely identifying the traffic sent by the load balancer to the SSL offload device for re-encryption. The foregoing and additional features and advantages of this invention will become apparent from the detailed description and review of the associated drawing figures that follow.
In the description herein for embodiments of the present invention, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
The present invention efficiently handles SSL traffic while off-loading the encryption process from the servers without exposing clear text traffic or decrypted traffic to intruders. A representative data center 101 is illustrated in
The layer 3 switch or router 11 is a device, or network appliance, that determines the next network point to which information packets, or traffic, should be forwarded toward its destination. Router 11 in one preferred embodiment is either the Cisco Catalyst 6500 or the Cisco 7600 series router, both of which are commercially available from Cisco Systems, the parent corporation of the present assignee. Router 11 is connected to at least two networks, such as, by way of example, an outside core network 17 and an inside network 18. Inside network 18 comprises a plurality of servers such as web servers 19 and application servers 20. In other embodiments, servers 19 or 20 may be database servers, mail servers, file servers, DNS servers or streaming servers by way of example.
Firewall 13 monitors traffic between subnets or from the outside by implementing security schemes that prevent unauthorized users from gaining access to servers 19 or 20. Firewall 13 is preferably stateful firewall configured to provide multiple virtual firewalls within a single hardware service module or appliance. Additional firewalls or firewall instances may be deployed in data center 101 at strategic locations to monitor traffic from the outside network 17.
Content switch 12 is preferably a content switching module such as the CSM commercially available from Cisco Systems, Inc. the parent corporation of the assignee of the present invention. In alternative embodiments, content switch 12 may be a Content Switching Service or CSS device, which is a switch also available from Cisco Systems. In other embodiments, other content based or service based switches could be also be used. The primary purpose of content switch 12 is to implement load balancing policies. These policies describe how connections and requests are to be distributed across the servers in each sub-net eligible to receive the traffic.
In general, content switch 12 accesses information in the TCP and HTTP headers of the packets to determine the complete requested URL and any cookies in the packet. Clear text traffic, such as regular HTTP GETs, is routed to the content switch 12 which distributes the requests to servers 19 or 20, as appropriate, listening on port 80. Router 11 also routes encrypted HTTP traffic to the content switch 12 which, in turn, forwards this encrypted traffic to SSL offload device 15. In order to access this information in encrypted SSL packets, the SSL packets must be decrypted which is the function of SSL offload device 15. Once the SSL packets are decrypted, the traffic is returned to content switch 12 to determine the best server for an inbound request. However, rather than sending clear text to the server, content switch 12 passes the traffic back to SSL offload device 15 for re-encryption in a unique manner. Specifically, the content switch rewrites the IP address to the real server IP address based on the load balancing decision. However, rather than send it on to the server, the content switch rewrites the destination MAC to SSL offload device 15 MAC address and forwards the traffic back to the SSL offload device 15. Once re-encrypted, the traffic is forwarded to router 11 by content switch 12 and then to the designated server through firewall 13. In this manner, content switch 12 provides load balancing on the decrypted traffic but sends encrypted traffic back to router 11 thereby minimizing the risk of exposing traffic to malicious attack.
Because SSL offload device 15 returns decrypted traffic to the content switch 12 for load balancing, session persistence between HTTPS and HTTP is maintained. Thus, when a user logs into a server with a secure connection, the load balancer is able to monitor encrypted headers including any cookies included with the packet and can better manage the session. Further, since the load balancer is provided with decrypted header information, the load balancer is able to identify the user and properly balance secure traffic. Once the SSL re-encrypts the payload, it sends the traffic back to the load balancer for forwarding to the destination.
The dashed lines in
Refer now to
The integration of IDS 47 monitors for malicious activities carried in HTTPS. With SSL back-end encryption, the servers are configured with an SSL server certificate and the SSL offload device verifies the signature of the server SSL certificate.
In other embodiments, additional security devices are accessed along paths 48 and 49 to monitor the traffic and increase network security by identifying an attack by a hacker hidden in the encrypted envelop of the traffic. For example, an application firewall can scan for 80/443 port mis-use and ill-formed HTML and XML documents. The addition of a layer 7 firewall enables the detection of malicious data that may be present in the encrypted payload. In yet another embodiment, an XML frond-end processor or an anti-spam processor can scan encrypted XML traffic or encrypted electronic mail for spam or other mal-ware hidden by a hacker in the encrypted payload. It will be apparent to one skilled in the art, that even though not specifically shown, any number of additional security devices can be deployed between the load balancer and the SSL processor to monitor clear text traffic after it has been decrypted by SSL 15. Once the traffic has been scanned by the spam processor or XML firewall or inspected by the firewall, it may be forwarded on to the load balancer to determine the destination and then sent back to SSL 15 for re-encryption.
When content switch 12a redirects a HTTPS request to one of the SSL offload devices 15a-15d, the SSL traffic is still encrypted, the destination MAC is the MAC address of the selected SSL offload device 15a-15d and the destination IP address is unchanged. Preferably, the content switch preserves the destination IP address by not translating the server's IP address and rewrites only the destination MAC address. Content switch 12s is the standby content switch which backups content switch 12a in the event a failure occurs.
SSL offload devices 15a-15d send the decrypted traffic back to content switch 12a for load balancing. From the SSL offload device 15a-15d to content switch 12a there is no need to rewrite the destination IP address. It is preferred that the destination IP is preserved because it identifies the server pool to which the client needs to send the request. The decrypted traffic can be sent from the SSL offload device to the content switch on any port such as port 80 because the traffic is decrypted HTTP traffic. In other embodiments, it may be beneficial to use a different port from 443 or 80 to indicate that this traffic is specifically HTTPS-decrypted traffic from the SSL offload device to the content switch, for example, port 81. The destination MAC address is the MAC address of the content switch.
Content switch 12a then performs the load balancing operations (that is, determine which servers should receive the traffic) and sends the traffic back to the SSL offload device 15a-15d for encryption before routing it to the destination server. One representative configuration on the content switch for the load balancing decision is shown in Table 1.
TABLE 1
module csm 4
serverfarm WEBAPPSSL
nat server source-mac
no nat client
predictor hash address
real name REAL1 82
inservice
real name REAL2 82
inservice
exit
vserver WEBAPPSSL
virtual <virtual IP address> tcp 81
vlan 45
no inservice
serverfarm WEBAPPSSL
inservice
exit
Because content switch 12a is configured to perform address translation or NAT, on the server's IP address, it does not forward the traffic to the real IP addresses. Rather, content switch 12a rewrites the server's IP address to the real IP address and forwards traffic to the SSL offloading device. It is also possible to configure the content switch to rewrite the destination port to a different port than 80 or 81, such as port 82 for uniquely identifying the traffic sent by content switch 12s to the SSL offload devices 15a-15d for reencryption. The content switch 12a also uses the MAC address of a SSL offload device 15 from which the traffic came as a destination MAC, and content switch 12a sends out the load balanced request to the incoming VLAN.
By having the content switch NAT the server IP address, the SSL offload device to is able to receive the traffic for back-end encryption while preserving HTTP/HTTPS persistence because the server farm for port 81 has the same IP addresses as the server farm for port 80. The nat server source-mac option enables the content switch to send clear text traffic back to the SSL device from which the traffic was originally received. The nat server source-mac option also allows enabling content switch 12a to monitor the real servers on port 443.
Once content switch 12 has rewritten the destination IP address to be one of the selected real servers, a SSL offload device 15a receiving traffic needs to re-encrypt the traffic using, by way of example, the back-end encryption configuration shown in Table 2:
TABLE 2
ssl-proxy service BACKEND client
virtual ipaddr 0.0.0.0 0.0.0.0 protocol tcp port 82 secondary
server ipaddr <content-switch-address> protocol tcp port 443
no nat server
trusted-ca SERVERCA
authenticate verify signature-only
inservice
!
SSL offload device 15a configuration takes any destination IP address and originates an SSL handshake with the selected IP address. In one embodiment, the SSL offload device operates as an SSL client in relation to the servers. A receiving SSL offload device 15a encrypts and forwards the traffic to content switch 12a again (destination MAC is the content switch MAC address). The destination IP address is unchanged as it is the real server IP address. Content switch 12a then simply needs to forward the incoming request to the servers. One representative configuration on the content switch is as follows in Table 3:
TABLE 3
vserver FORWARDFROMSSL
virtual 0.0.0.0 0.0.0.0 tcp 443
vlan 45
serverfarm FORWARD
persistent rebalance
inservice
!
serverfarm FORWARD
no nat server
no nat client
predictor forward
!
The content switch 12 forwards the traffic to the server and the server sends outbound traffic back to the content switch 12. Content switch 12 forwards the traffic to SSL offload device 15 because the connection was initiated by the SSL offload device, and the connection table on the content switch remembers the association of the connection with the VLANs and MAC addresses. SSL offload device 15 decrypts the traffic and sends it back to the content switch, which in turn has connection information stored for the clear text traffic. This allows forwarding of the clear text traffic back to the SSL offload device for encryption before it is routed back to the originator. This decryption, load balancing and encryption cycle continues for the duration of the session.
When a VIP is configured for a set of servers 50, router 51 intercepts traffic and redirects it to content switch 53 on VLAN 44 using Route Health Injection. RHI allows the content switch to advertise the availability of a VIP address and multiple content switch devices with identical VIP addresses and services can exist throughout the network.
SSL offload device 56 resides on a 10.20.45.x subnet, and its default gateway is the content switch 53 (alias) IP address. The SSL offload device 56 IP address is illustrated as 10.20.45.47. For example, content switch 53 may intercept port 443 traffic destined to a VIP address and send it to the appropriate SSL offload device 56 for decryption on VLAN 45.
IDSs 58 is also coupled to VLAN 45. It is well understood that when an intruder uses HTTPS, an IDS cannot see, for example, if a client is creating a reverse shell with a web/app server by exploiting well-known vulnerabilities. One of the major benefits of the use of SSL and IDS in combination is the fact that the IDS can detect malicious activities otherwise hidden by HTTPS. The IDS sensor must monitor VLAN 45 used for the communication between the content switch and the SSL offload device. It should be understood that copying SSL-encrypted traffic to the IDS sensor would serve no purpose and should be avoided. The topology shown in
In one preferred embodiment, the Hot Standby Routing Protocol (HSRP) is used to provide automatic router backup when configured on Cisco routers that run Internet Protocol (IP) over Ethernet, Fiber Distributed Data Interface (FDDI) or Token Ring local-area networks (LANs). HSRP allows one router to automatically assume the function of a second router if the second router fails. HSRP allows users on one subnet continuous access to resources in the network. HSRP can be used with any routing protocol supported by the router. Servers 50 belong either to VLAN 5 or VLAN 10 and the servers' default gateway is the HSRP address for router 51. These VLANs are trunked to the layer 3 switch 51 from access switch 60.
Layer 3 switch or router 51 is connected to server farm 50 by a switch 60. The topology illustrated in
Table 4 illustrates one configuration that uses VACL capture on VLAN 45 to copy the traffic to IDS 58:
TABLE 4
!
ip access-list extended decrypted
permit tcp any any eq 81
permit tcp any eq 81 any
!
ip access-list extended IP-catch-all
permit ip any any
!
vlan access-map decrypted 10
match ip address decrypted
action forward capture
vlan access-map decrypted 20
match ip address IP-catch-all
action forward
!
vlan filter decrypted vlan-list 45
!
interface FastEthernet8/27
switchport
switchport capture
switchport capture allowed vlan 45
no shut
!
exit
If it is desired to only monitor clear text traffic on VLAN 45, for example, the communication with the VIP address, the ACL in the configuration of Table 5 needs to be modified as shown in Table 5:
TABLE 5
ip access-list extended decrypted
permit tcp any 10.20.5.80 255.255.255.255 eq 81
permit tcp 10.20.5.80 255.255.255.255 eq 81 any
!
The access control list or ACL needs to be changed every time a new virtual server is added. If the system is configured for port translation with, for example, port 81 used to identify decrypted traffic using the VIP address and port 82 used to identify decrypted traffic after the load balancing decision, the ACL can be simplified as shown in Table 6:
TABLE 6
ip access-list extended decrypted
permit tcp any any eq 81
permit tcp any eq 81 any
!
Data centers are vulnerable to intrusion attacks aimed at stealing confidential information. Applications are typically deployed in multiple tiers or subnets that are vulnerable to attack if clear traffic is passed between subnets. Intruders exploit server vulnerabilities to obtain a shell on the web/application server and to install software that runs unwanted functions (such as Trojan horses) on the target host. At this point, the attacker controls the web/application server in the data center. An intruder can compromise a server, install a traffic monitoring device, and then wait for users to be assigned to the compromised server. This gives the intruder visibility into only the transactions handled by the compromised server. Further, an intruder can compromise one machine and control all transactions going to the adjacent Layer 2 network. If these transactions are exchanged in clear text, the hacker can collect confidential information that travels unencrypted in the adjacent Layer 2 segment. The solution is to use network-based SSL with SSL back-end encryption. By using SSL back-end encryption, the SSL offload device re-encrypts traffic before sending it to the destination server so no transactions are in clear text. Using backend SSL to protect confidential data greatly reduces the effectiveness of methods used by hackers.
Recognizing that the present configuration of the present invention places a heavy load on each server within a network responsible for decrypting traffic. To minimize the overhead associated with establishing a connection from the SSL proxy and servers 58, it is preferred that the SSL maintain a connection even after a user has terminated their session. Thus, the connection may be used for subsequent users but without the overhead associated with establishing a new connection. This connection is maintained by specifying a persistent connection in the connection header such that the connection is maintained indefinitely and is only torn down by the server when required by data center policy. This technique minimizes both the SSL and TCP handshake required to set up a connection with one of servers 58.
In one preferred embodiment, when SSL 56 allocates an SSL server connection for servicing a client's request, it initially looks to a cache to determine if any active connections had been previously cached. If there are any such connections, it binds the client connection with the cached server connection and starts the data transfer. If there are no cached connections, SSL 56 checks if there is any active session that was cached under the server 58. If yes, SSL 56 opens a new SSL connection and uses the cached session state to execute a short-handshake exchange with the server. If there are no cached connection and no cached session for a given server, SSL 56 opens a new SSL connection and executes a full-handshake exchange with the server.
Accordingly, the present invention provides a new data center topology that uses backend encryption to make data centers more secure. The present invention utilizes a content switch that passes encrypted traffic to a SSL offload device to generate clear traffic for load balancing purposes and after the load balancer determines the correct server, the traffic is encrypted before being sent to the appropriate server. A further enhancement includes an IDS to monitor the clear traffic during the load balancing operation before it the traffic is re-encrypted. Accordingly, the present invention provides a data center having a secure and scalable topology.
Although the invention has been described with respect to specific embodiments thereof, these embodiments are merely illustrative, and not restrictive of the invention. For example, the network may include different routers, switches, servers and other components or devices that are common in such networks. Further, these components may comprise software algorithms that implement connectivity functions between the network device and other devices in a manner different from that described herein.
In the description herein, specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
As used herein the various databases, application software or network tools may reside in one or more server computers and more particularly, in the memory of such server computers. As used herein, “memory” for purposes of embodiments of the present invention may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, system or device. The memory can be, by way of example only but not by limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, system, device, propagation medium, or computer memory.
Reference throughout this specification to “HTTPS” includes other forms of SSL encrypted traffic including LDAP, mail, POP over SSL and others. The embodiments described above are readily adapted to handle other types of SSL encrypted traffic.
Reference throughout this specification to “one embodiment,” “an embodiment,” or “a specific embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention and not necessarily in all embodiments. Thus, respective appearances of the phrases “in one embodiment,” “in an embodiment,” or “in a specific embodiment” in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any specific embodiment of the present invention may be combined in any suitable manner with one or more other embodiments. It is to be understood that other variations and modifications of the embodiments of the present invention described and illustrated herein are possible in light of the teachings herein and are to be considered as part of the spirit and scope of the present invention.
Embodiments of the invention may be implemented by using a programmed general purpose digital computer, by using application specific integrated circuits, programmable logic devices, field programmable gate arrays, optical, chemical, biological, quantum or nanoengineered systems, components and mechanisms may be used. In general, the functions of the present invention can be achieved by any means as is known in the art. Distributed, or networked systems, components and circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application. It is also within the spirit and scope of the present invention to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
Additionally, any signal arrows in the drawings/Figures should be considered only as exemplary, and not limiting, unless otherwise specifically noted. Furthermore, the term “or” as used herein is generally intended to mean “and/or” unless otherwise indicated. Combinations of components or steps will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, “a,” “an,” and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
The foregoing description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims.
Bagepalli, Nagaraj A., Chang, David W., Arregoces, Mauricio, Portolani, Maurizio, Testa, Stefano
Patent | Priority | Assignee | Title |
10084751, | Feb 16 2011 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
10148577, | Dec 11 2014 | Cisco Technology, Inc. | Network service header metadata for load balancing |
10153951, | Jun 07 2013 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
10158561, | May 10 2013 | Cisco Technology, Inc. | Data plane learning of bi-directional service chains |
10178646, | Apr 12 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method to facilitate slice management in a network environment |
10187306, | Mar 24 2016 | Cisco Technology, Inc | System and method for improved service chaining |
10218593, | Aug 23 2016 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
10218616, | Jul 21 2016 | Cisco Technology, Inc | Link selection for communication with a service function cluster |
10225187, | Mar 22 2017 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
10225270, | Aug 02 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Steering of cloned traffic in a service function chain |
10237379, | Jun 16 2014 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
10257033, | Apr 12 2017 | Cisco Technology, Inc | Virtualized network functions and service chaining in serverless computing infrastructure |
10270843, | May 21 2013 | Cisco Technology, Inc. | Chaining service zones by way of route re-origination |
10320664, | Jul 21 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Cloud overlay for operations administration and management |
10333855, | Apr 19 2017 | Cisco Technology, Inc. | Latency reduction in service function paths |
10356111, | Jan 06 2014 | Cisco Technology, Inc | Scheduling a network attack to train a machine learning model |
10361969, | Aug 30 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for managing chained services in a network environment |
10397271, | Jul 11 2017 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
10417025, | Nov 18 2014 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
10419550, | Jul 06 2016 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
10541893, | Oct 25 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for obtaining micro-service telemetry data |
10554689, | Apr 28 2017 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
10666612, | Jun 06 2018 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
10673698, | Jul 21 2017 | Cisco Technology, Inc | Service function chain optimization using live testing |
10735275, | Jun 16 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | Releasing and retaining resources for use in a NFV environment |
10778551, | Aug 23 2016 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
10778576, | Mar 22 2017 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
10791065, | Sep 19 2017 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
10798187, | Jun 19 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | Secure service chaining |
10812378, | Mar 24 2016 | Cisco Technology, Inc. | System and method for improved service chaining |
10884807, | Apr 12 2017 | Cisco Technology, Inc. | Serverless computing and task scheduling |
10931793, | Apr 26 2016 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
10938677, | Apr 12 2017 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
10944769, | Sep 25 2018 | Oracle International Corporation | Intrusion detection on load balanced network traffic |
11018981, | Oct 13 2017 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
11044203, | Jan 19 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
11063856, | Aug 24 2017 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
11102135, | Apr 19 2017 | Cisco Technology, Inc. | Latency reduction in service function paths |
11108814, | Jul 11 2017 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
11115276, | Jul 21 2017 | Cisco Technology, Inc. | Service function chain optimization using live testing |
11122008, | Jun 06 2018 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
11196640, | Jun 16 2017 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
11252063, | Oct 25 2017 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
11271906, | Oct 16 2019 | SOMANSA CO., LTD.; SOMANSA CO , LTD | System and method for forwarding traffic of endpoint |
11539747, | Apr 28 2017 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
11799821, | Jun 06 2018 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
8327017, | Mar 12 2008 | United Services Automobile Association (USAA) | Systems and methods for an autonomous intranet |
8402530, | Jul 30 2010 | Microsoft Technology Licensing, LLC | Dynamic load redistribution among distributed servers |
8769373, | Mar 22 2010 | LRDC SYSTEMS, LLC | Method of identifying and protecting the integrity of a set of source data |
8776207, | Feb 16 2011 | Fortinet, Inc. | Load balancing in a network with session information |
9088584, | Dec 16 2011 | Cisco Technology, Inc. | System and method for non-disruptive management of servers in a network environment |
9154468, | Jan 09 2013 | Netronome Systems, Inc. | Efficient forwarding of encrypted TCP retransmissions |
9160760, | Jan 06 2014 | Cisco Technology, Inc | Anomaly detection in a computer network |
9178812, | Jun 05 2013 | Cisco Technology, Inc. | Stacking metadata contexts for service chains |
9237132, | Feb 16 2011 | Fortinet, Inc. | Load balancing in a network with session information |
9246799, | May 10 2013 | Cisco Technology, Inc. | Data plane learning of bi-directional service chains |
9258243, | May 10 2013 | Cisco Technology, Inc. | Symmetric service chain binding |
9270639, | Feb 16 2011 | Fortinet, INC | Load balancing among a cluster of firewall security devices |
9276907, | Feb 16 2011 | Fortinet, Inc. | Load balancing in a network with session information |
9288183, | Feb 16 2011 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
9306907, | Feb 16 2011 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
9374297, | Dec 17 2013 | Cisco Technology, Inc. | Method for implicit session routing |
9379931, | May 16 2014 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
9385950, | Oct 14 2013 | Cisco Technology, Inc. | Configurable service proxy local identifier mapping |
9413718, | Feb 16 2011 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
9413779, | Jan 06 2014 | Cisco Technology, Inc | Learning model selection in a distributed network |
9438512, | Jun 05 2013 | Cisco Technology, Inc. | Stacking metadata contexts for service chains |
9444675, | Jun 07 2013 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
9450978, | Jan 06 2014 | Cisco Technology, Inc | Hierarchical event detection in a computer network |
9455956, | Feb 16 2011 | Fortinet, Inc. | Load balancing in a network with session information |
9467382, | Feb 03 2014 | Cisco Technology, Inc. | Elastic service chains |
9479443, | May 16 2014 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
9503466, | Jan 06 2014 | Cisco Technology, Inc | Cross-validation of a learning machine model across network devices |
9509614, | Jun 20 2013 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
9521158, | Jan 06 2014 | Cisco Technology, Inc | Feature aggregation in a computer network |
9537752, | Jul 14 2014 | Cisco Technology, Inc. | Encoding inter-domain shared service paths |
9548919, | Oct 24 2014 | Cisco Technology, Inc. | Transparent network service header path proxies |
9563854, | Jan 06 2014 | Cisco Technology, Inc | Distributed model training |
9608896, | Mar 13 2014 | Cisco Technology, Inc. | Service node originated service chains in a network environment |
9614739, | Jan 30 2014 | Cisco Technology, Inc. | Defining service chains in terms of service functions |
9755959, | Jul 17 2013 | Cisco Technology, Inc. | Dynamic service path creation |
9762402, | May 20 2015 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method to facilitate the assignment of service functions for service chains in a network environment |
9806962, | Jun 07 2013 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
9825769, | May 20 2015 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
9825912, | Feb 16 2011 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
9826025, | May 21 2013 | Cisco Technology, Inc.; Cisco Technology, Inc | Chaining service zones by way of route re-origination |
9853942, | Feb 16 2011 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
9860790, | May 03 2011 | Cisco Technology, Inc. | Mobile service routing in a network environment |
9870537, | Jan 06 2014 | Cisco Technology, Inc | Distributed learning in a computer network |
ER6665, | |||
RE48131, | Dec 11 2014 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
Patent | Priority | Assignee | Title |
5774670, | Oct 06 1995 | Meta Platforms, Inc | Persistent client state in a hypertext transfer protocol based client-server system |
6411986, | Nov 10 1998 | Citrix Systems, Inc | Internet client-server multiplexer |
7328336, | Jun 26 2001 | NCIPHER SECURITY LIMITED | System and method for small-area system data processing |
7379458, | Dec 06 2001 | Fujitsu Limited | Server load sharing system |
20030014624, | |||
20030014628, | |||
20030014650, | |||
20040210663, | |||
20040260921, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 04 2005 | CHANG, DAVID W | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016552 | /0351 | |
May 04 2005 | BAGEPALLI, NAGARAJ A | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016552 | /0351 | |
May 04 2005 | TESTA, STEFANO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016552 | /0351 | |
May 05 2005 | PORTOLANI, MAURIZIO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016552 | /0351 | |
May 05 2005 | ARREGOCES, MAURICIO | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016552 | /0351 | |
May 06 2005 | Cisco Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 02 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 02 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jul 30 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 02 2013 | 4 years fee payment window open |
Aug 02 2013 | 6 months grace period start (w surcharge) |
Feb 02 2014 | patent expiry (for year 4) |
Feb 02 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 02 2017 | 8 years fee payment window open |
Aug 02 2017 | 6 months grace period start (w surcharge) |
Feb 02 2018 | patent expiry (for year 8) |
Feb 02 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 02 2021 | 12 years fee payment window open |
Aug 02 2021 | 6 months grace period start (w surcharge) |
Feb 02 2022 | patent expiry (for year 12) |
Feb 02 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |