IP Library › Granted Patent US 10,931,534
Granted Patent B2
US 10,931,534 · App. 15/800,055 · Granted Feb 23, 2021

Auto discovery of network proxies

Inventors: Harish Nataraj (Berkeley, CA); Ajay Chandel (Fremont, CA); Nikhar Rakesh Saxena (Dublin, CA); Naveen Kondapalli (San Ramon, CA); Prakash Kaligotla (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L41/12H04L43/026H04L43/028H04L67/28H04L69/16H04L69/22H04L61/2514
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,931,534
App. No.
15/800,055
Granted
Feb 23, 2021
Kind
B2
Abstract

According to one or more embodiments of the disclosure, techniques herein provide for auto discovery of network proxies. In particular, in one embodiment, a controller in a computer network receives, from both source devices and destination devices, corresponding Transmission Control Protocol/Internet Protocol (TCP/IP) information and associated transaction identifiers (IDs) for packets sent by the source devices and for packets received at the destination devices. The controller may then correlate particular source TCP/IP information to particular destination TCP/IP information based on associated transaction IDs being the same, and can compare the correlated source TCP/IP information and destination TCP/IP information in order to determine whether a proxy device exists (e.g., and which particular type of proxy device exists) between the source device and the destination device.

Claims (46)

1. A method, comprising:

receiving, at a controller in a computer network from a source device, source Transmission Control Protocol/Internet Protocol (TCP/IP) information and associated transaction identifiers (IDs) that are indicative of a distributed business transaction for packets sent by the source device;

receiving, at the controller from a destination device, destination TCP/IP information and associated transaction IDs that are indicative of the distributed business transaction for packets received at the destination device;

correlating, by the controller, particular source TCP/IP information to particular destination TCP/IP information based on associated transaction IDs being the same;

comparing, by the controller, the correlated source TCP/IP information and destination TCP/IP information by using respective signatures created based on TCP/IP packet header information that remains unchanged after a layer-3 (L3) network address translation (NAT) proxy device; and

determining, by the controller based on the comparing, a) whether a proxy device exists between the source device and the destination device and b), if the proxy device exists, a type and a network layer location of the proxy device.

2. The method as in claim 1 , wherein determining whether a proxy device exists comprises:

determining that no proxy device exists between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information being the same; and

determining that a proxy device does exist between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information being different.

3. The method as in claim 1 , wherein determining whether a proxy device exists comprises:

determining that a layer-3 (L3) network address translation (NAT) proxy device exists between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information having different IP information but the same TCP information; and

determining that one of either a layer-4 or layer-7 (L4/L7) proxy device exists between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information having different TCP information.

4. The method as in claim 3 , further comprising:

determining that the L3 NAT proxy device is a reverse proxy in response to the destination TCP/IP information having a same source address as the source TCP/IP information but a different destination address from the source TCP/IP information; and

determining that the L3 NAT proxy device is a forward proxy in response to the destination TCP/IP information having a same destination address as the source TCP/IP information but a different source address from the source TCP/IP information.

5. The method as in claim 1 , wherein the signatures are computed by a source agent on the source device and by a destination agent on the destination device, and wherein receiving the source and destination TCP/IP information comprises receiving signatures from the source agent and the destination agent.

6. The method as in claim 1 , wherein a signature changes differently after an L3 NAT proxy device than after both of either a layer-4 or layer-7 (L4/L7) proxy device.

7. The method as in claim 1 , wherein receiving the source and destination TCP/IP information comprises receiving the source and destination TCP/IP information from a source agent on the source device and a destination agent on the destination device, respectively.

8. A tangible, non-transitory, computer-readable medium storing program instructions that cause a computer to execute a process comprising:

receiving, from a source device, source Transmission Control Protocol/Internet Protocol (TCP/IP) information and associated transaction identifiers (IDs) that are indicative of a distributed business transaction for packets sent by the source device;

receiving, from a destination device, destination TCP/IP information and associated transaction IDs that are indicative of the distributed business transaction for packets received at the destination device;

correlating particular source TCP/IP information to particular destination TCP/IP information based on associated transaction IDs being the same;

comparing the correlated source TCP/IP information and destination TCP/IP information by using respective signatures created based on TCP/IP packet header information that remains unchanged after a layer-3 (L3) network address translation (NAT) proxy device; and

determining, based on the comparing, a) whether a proxy device exists between the source device and the destination device and b), if the proxy device exists, a type and a network layer location of the proxy device.

9. The computer-readable medium as in claim 8 , wherein determining whether a proxy device exists comprises:

determining that no proxy device exists between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information being the same; and

determining that a proxy device does exist between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information being different.

10. The computer-readable medium as in claim 8 , wherein determining whether a proxy device exists comprises:

determining that a layer-3 (L3) network address translation (NAT) proxy device exists between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information having different IP information but the same TCP information; and

determining that one of either a layer-4 or layer-7 (L4/L7) proxy device exists between the source device and the destination device in response to the correlated source TCP/IP information and destination TCP/IP information having different TCP information.

11. The computer-readable medium as in claim 10 , wherein the process further comprises:

determining that the L3 NAT proxy device is a reverse proxy in response to the destination TCP/IP information having a same source address as the source TCP/IP information but a different destination address from the source TCP/IP information; and

determining that the L3 NAT proxy device is a forward proxy in response to the destination TCP/IP information having a same destination address as the source TCP/IP information but a different source address from the source TCP/IP information.

12. The computer-readable medium as in claim 8 , wherein the signatures are computed by a source agent on the source device and by a destination agent on the destination device, and wherein receiving the source and destination TCP/IP information comprises receiving signatures from the source agent and the destination agent.

13. The computer-readable medium as in claim 8 , wherein a signature changes differently after an L3 NAT proxy device than after both of either a layer-4 or layer-7 (L4/L7) proxy device.

14. The computer-readable medium as in claim 8 , wherein receiving the source and destination TCP/IP information comprises receiving the source and destination TCP/IP information from a source agent on the source device and a destination agent on the destination device, respectively.

15. A method, comprising:

capturing, at an agent on a computing device in a computer network, Transmission Control Protocol/Internet Protocol (TCP/IP) information and associated transaction identifiers (IDs) that are indicative of a distributed business transaction for packets communicated at the computing device, wherein the computing device is one of either a source computing device or a destination computing device;

generating, by the agent, signatures for the packets based on one or more headers of the TCP/IP information that remain unchanged after a layer-3 (L3) network address translation (NAT) proxy device; and

transmitting, from the agent, the signatures and associated transaction IDs to a controller in the computer network, the signatures causing the controller to i) correlate particular source signatures from the source computing device to particular destination signatures from the destination computing device based on associated transaction IDs being the same, and ii) determine, based on comparing the correlated source and destination signatures, whether a proxy device exists between the source device and the destination device and, if the proxy device exists, a type and a network layer location of the proxy device.

16. The method as in claim 15 , wherein the signatures change differently after an L3 NAT proxy device than after both of either a layer-4 or layer-7 (L4/L7) proxy device.

17. A tangible, non-transitory, computer-readable medium storing program instructions that cause a computer to execute a process comprising:

capturing Transmission Control Protocol/Internet Protocol (TCP/IP) information and associated transaction identifiers (IDs) that are indicative of a distributed business transaction for packets communicated at a computing device, wherein the computing device is one of either a source computing device or a destination computing device;

generating signatures for the packets based on one or more headers of the TCP/IP information that remain unchanged after a layer-3 (L3) network address translation (NAT) proxy device; and

transmitting the signatures and associated transaction IDs to a controller in the computer network, the signatures causing the controller to i) correlate particular source signatures from the source computing device to particular destination signatures from the destination computing device based on associated transaction IDs being the same, and ii) determine, based on comparing the correlated source and destination signatures, whether a proxy device exists between the source device and the destination device and, if the proxy device exists, a type and a network layer location of the proxy device.

18. The computer-readable medium as in claim 17 , wherein the signatures change differently after an L3 NAT proxy device than after both of either a layer-4 or layer-7 (L4/L7) proxy device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2017
From: KALIGOTLA, PRAKASH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044191/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: NATARAJ, HARISH; KONDAPALLI, NAVEEN; CHANDEL, AJAY; SAXENA, NIKHAR RAKESH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 043998/0511 →
Continuity (1)
Related Publication 20190132207A1 · May 2, 2019