Session monitoring using metrics of session establishment
Abstract
A first router generates session establishment metrics for use in network path selection. For example, a plurality of routers connect a client device to a network service instance hosted by a server. A first router is connected to the network service instance via first and second paths. The first router receives session performance requirements for a session between the client device and the network service instance. The first router forwards, along the first path, network traffic for the session by modifying a first packet of the session to include a session identifier for the session. The first router determines that session establishment metrics for the session do not satisfy the session performance requirements. In response, the first router forwards, along the second path, the network traffic for the session by modifying a second packet of the session to include the session identifier for the session.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
receiving, by a first router of a plurality of routers of a network connecting a client device to a network service instance hosted by a server, one or more session performance requirements for establishment of a session between the client device and the network service instance, the session comprising a forward packet flow and a reverse packet flow, wherein the first router is connected to the network service instance via a first path on the network and a second path on the network, the second path being different from the first path;
forwarding, by the first router and along the first path, network traffic for the session between the client device and the network service instance, the forwarding including modifying a first packet of at least one of the forward packet flow and the reverse packet flow of the session to include:
a header comprising a source address of the first router and a destination address of a second router of the plurality of routers along the first path; and
a portion of metadata specifying a session identifier for the session;
monitoring, by the first router, one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow for establishment of the session to derive one or more metrics related to the establishment of the session;
determining, by the first router, that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session; and
in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, forwarding, by the first router and along the second path, the network traffic for the session between the client device and the network service instance, the forwarding including modifying a second packet of at least one of the forward packet flow and the reverse packet flow of the session to include:
a header comprising a source address of the first router and a destination address of a third router of the plurality of routers along the second path; and
the portion of metadata specifying the session identifier for the session.
2. The method of claim 1 , wherein the one or more metrics related to the establishment of the session comprise one or more of:
a time to establish the session;
a number of session time-outs prior to establishment of the session;
a number of failures to establish the session due to an unreachable destination error;
a number of sessions closed before establishment of a Transmission Control Protocol (TCP) session; or
a number of sessions closed before establishment of a Transport Layer Security (TLS) session.
3. The method of claim 1 , wherein monitoring the one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow of the session to derive the one or more metrics related to the establishment of the session comprises:
monitoring the one or more session establishment messages to determine a state of the session;
determining, based on the state of the session, whether the session has established; and
generating, based on the determination of whether the session has established, the one or more metrics related to the establishment of the session.
4. The method of claim 1 , wherein the session comprises one of:
a Transmission Control Protocol (TCP) session;
a Transport Layer Security (TLS) session;
a User Datagram Protocol (UDP) session; or
an Internet Control Message Protocol (ICMP) session.
5. The method of claim 1 , wherein the one or more session performance requirements for establishment of the session comprise one or more Service-level Agreement (SLA) requirements for the session.
6. The method of claim 1 , wherein determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session comprise determining, based on the one or more metrics related to the establishment of the session, that a latency of the network traffic for the session exceeds the one or more session performance requirements for establishment of the session.
7. The method of claim 1 , wherein determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session comprises determining, based on the one or more metrics related to the establishment of the session, an occurrence of blackholing of network traffic for the session.
8. The method of claim 1 ,
wherein forwarding, by the first router and along the first path, the network traffic for the session comprises forwarding, by the first router, via a first interface of the first router, and along the first path, the network traffic for the session, and
wherein forwarding, by the first router and along the second path, the network traffic for the session comprises forwarding, by the first router, via a second interface of the first router different from the first interface, and along the second path, the network traffic for the session.
9. The method of claim 8 , further comprising:
receiving, by the first router, one or more session performance requirements for establishment of a second session between the client device and a second network service instance, the second session comprising a second forward packet flow and a second reverse packet flow, wherein the first router is connected to the second network service instance via the first path and the second path;
forwarding, by the first router, via the first interface of the first router, and along the first path, network traffic for the second session between the client device and the second network service instance, the forwarding including modifying a third packet of at least one of the second forward packet flow and the second reverse packet flow of the second session to include:
a header comprising the source address of the first router and the destination address of the second router of the plurality of routers along the first path; and
a portion of metadata specifying a second session identifier for the second session;
monitoring, by the first router, one or more second session establishment messages carried by second packets of the second forward packet flow and the second reverse packet flow for establishment of the second session to derive one or more metrics related to the establishment of the second session; and
determining, by the first router, that the one or more metrics related to the establishment of the second session satisfy the one or more session performance requirements for establishment of the second session,
wherein forwarding, by the first router, via the second interface of the first router, and along the second path, the network traffic for the session comprises switching, by the first router, from forwarding, via the first interface of the first router and along the first path, the network traffic for the session to forwarding, via the second interface of the first router and along the second path, the network traffic for the session without interrupting forwarding, by the first router, via the first interface of the first router, and along the first path, network traffic for the second session.
10. The method of claim 1 , further comprising excluding, by the first router, the first path from a session load balancer of the first router in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session,
wherein the session load balancer is configured to load balance customer traffic associated with the network service across a plurality of paths, the plurality of paths including the second path.
11. A first router of a plurality of routers of a network, the first router comprising:
processing circuitry; and
a memory operably coupled to the processing circuitry and comprising instructions configured to cause the processing circuitry to:
receive one or more session performance requirements for establishment of a session between a client device and a network service instance hosted by a server, the session comprising a forward packet flow and a reverse packet flow, wherein the first router is connected to the network service instance via a first path on the network and a second path on the network, the second path being different from the first path, and wherein the network connects the client device to the network service instance;
forward, along the first path, network traffic for the session between the client device and the network service instance, the forwarding including modifying a first packet of at least one of the forward packet flow and the reverse packet flow of the session to include:
a header comprising a source address of the first router and a destination address of a second router of the plurality of routers along the first path; and
a portion of metadata specifying a session identifier for the session;
monitor one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow for establishment of the session to derive one or more metrics related to the establishment of the session;
determine that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session; and
in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, forward, along the second path, the network traffic for the session between the client device and the network service instance, the forwarding including modifying a second packet of at least one of the forward packet flow and the reverse packet flow of the session to include:
a header comprising a source address of the first router and a destination address of a third router of the plurality of routers along the second path; and
the portion of metadata specifying the session identifier for the session.
12. The system of claim 11 , wherein the one or more metrics related to the establishment of the session comprise one or more of:
a time to establish the session;
a number of session time-outs prior to establishment of the session;
a number of failures to establish the session due to an unreachable destination error;
a number of sessions closed before establishment of a Transmission Control Protocol (TCP) session; or
a number of sessions closed before establishment of a Transport Layer Security (TLS) session.
13. The system of claim 11 , wherein to monitor the one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow of the session to derive the one or more metrics related to the establishment of the session, the processing circuitry is configured to:
monitor the one or more session establishment messages to determine a state of the session;
determine, based on the state of the session, whether the session has established; and
generate, based on the determination of whether the session has established, the one or more metrics related to the establishment of the session.
14. The system of claim 11 , wherein the session comprises one of:
a Transmission Control Protocol (TCP) session;
a Transport Layer Security (TLS) session;
a User Datagram Protocol (UDP) session; or
an Internet Control Message Protocol (ICMP) session.
15. The system of claim 11 , wherein the one or more session performance requirements for establishment of the session comprise one or more Service-level Agreement (SLA) requirements for the session.
16. The system of claim 11 , wherein to determine that the one or more metrics related to the establishment do not satisfy the one or more session performance requirements for establishment of the session, the processing circuitry is configured to determine, based on the one or more metrics related to the establishment of the session, that a latency of the network traffic for the session exceeds the one or more session performance requirements for establishment of the session.
17. The system of claim 11 , wherein to determine that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, the processing circuitry is configured to determine, based on the one or more metrics related to the establishment of the session, an occurrence of blackholing of network traffic for the session.
18. The system of claim 11 ,
wherein to forward, along the first path, the network traffic for the session, the processing circuitry is configured to forward, via a first interface of the first router, and along the first path, the network traffic for the session, and
wherein to forward, along the second path, the network traffic for the session, the processing circuitry is configured to forward, via a second interface of the first router different from the first interface, and along the second path, the network traffic for the session.
19. The system of claim 11 , wherein the processing circuitry is further configured to exclude the first path from a session load balancer of the first router in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session,
wherein the session load balancer is configured to load balance customer traffic associated with the network service across a plurality of paths, the plurality of paths including the second path.
20. A non-transitory, computer-readable medium comprising instructions that, when executed, are configured to cause processing circuitry of a first router of a plurality of routers of a network to:
receive one or more session performance requirements for establishment of a session between a client device and a network service instance hosted by a server, the session comprising a forward packet flow and a reverse packet flow, wherein the first router is connected to the network service instance via a first path on the network and a second path on the network, the second path being different from the first path, and wherein the network connects the client device to the network service instance;
forward, along the first path, network traffic for the session between the client device and the network service instance, the forwarding including modifying a first packet of at least one of the forward packet flow and the reverse packet flow of the session to include:
a header comprising a source address of the first router and a destination address of a second router of the plurality of routers along the first path; and
a portion of metadata specifying a session identifier for the session;
monitor one or more session establishment messages carried by packets of the forward packet flow and the reverse packet flow for establishment of the session to derive one or more metrics related to the establishment of the session;
determine that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session; and
in response to determining that the one or more metrics related to the establishment of the session do not satisfy the one or more session performance requirements for establishment of the session, forward, along the second path, the network traffic for the session between the client device and the network service instance, the forwarding including modifying a second packet of at least one of the forward packet flow and the reverse packet flow of the session to include:
a header comprising a source address of the first router and a destination address of a third router of the plurality of routers along the second path; and
the portion of metadata specifying the session identifier for the session.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.