IP Library Granted Patent US 7,706,273
Granted Patent B2
US 7,706,273 · App. 10/955,450 · Granted Apr 27, 2010

Port tracking on dynamically negotiated ports

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 7,706,273
App. No.
10/955,450
Granted
Apr 27, 2010
Kind
B2
Abstract

Techniques for tracking dynamically negotiated port connections in a network include collecting statistical information on packets that are sent between nodes on a network, inspecting packets of control connections to detect payload fragments that denote ephemeral port negotiation and producing a mapping from a ephemeral connection flow_id to a control connection flow_id. The techniques also include checking the flow_id to see whether a flow record maps to a control connection.

Claims (75)

1. A system, comprising:

a plurality of collector devices that are disposed to collect information based on packets sent between nodes in a network, the collector devices including circuitry to:

inspect packets of control connections to detect payload fragments that denote an ephemeral port negotiation; and

produce a mapping from an ephemeral connection flow identifier to a control connection flow identifier,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port;

an aggregator that receives the mapping data from the plurality of collector devices; and

check a flow identifier associated with a flow record received by the aggregator to see whether the flow record maps to a control connection.

2. The system of claim 1 wherein if the flow identifier maps to a control connection, then the aggregator indicates that the flow record corresponds to an ephemeral flow for a known control connection.

3. The system of claim 2 wherein the aggregator associates ephemeral flow statistics with those of the well-known protocol that corresponds to the control connection.

4. The system of claim 1 wherein the aggregator expires the ephemeral flow identifier mappings after a configurable timeout.

5. The system of claim 1 wherein the aggregator performs an application-specific analysis without the need to transfer actual packet payloads from the collector to the aggregator.

6. The system of claim 1 wherein the collectors examine all packets on a specific port for a specific connection protocol.

7. The system of claim 6 wherein the protocol being tracked is the ftp and the connection port examined is port 21/tcp.

8. The system of claim 1 wherein payload fragments that denote ephemeral port negotiation for FTP are ‘PORT’ and ‘227’ FTP commands.

9. The system of claim 1 wherein the collector sends the new mapping in a message to the aggregator.

10. A collector device disposed to collect statistical information on packets sent between nodes on a network, the collector device, comprising:

a processor;

a memory executing instructions to cause the collector device to:

inspect packets of control connections to detect payload fragments that denote ephemeral port negotiation;

produce a mapping from an ephemeral connection flow identifier to a control connection flow identifier,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port; and send the mapping to a device.

11. The device of claim 10 wherein the collector examines all packets on a specific port for a specific connection protocol.

12. The device of claim 11 wherein the protocol tracked is the ftp and the connection port examined is port 21/tcp.

13. The device of claim 12 wherein payload fragments that denote ephemeral port negotiation for FTP are ‘PORT’ and ‘227’ FTP commands.

14. The device of claim 10 wherein the collector sends the new mapping in a message to the aggregator.

15. A device, comprising:

a processor;

a memory executing instructions to cause the device to:

receive mappings of a ephemeral connection flow identifier to control connection flow identifier from a plurality of collector devices,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port; and

check the flow identifier to see whether a received flow record maps to a control connection.

16. The device of claim 15 wherein the instructions to check further comprise instructions to determine if the flow identifier maps to a control connection, and if the flow identifier maps to a flow connection,

produce an indication that the flow record corresponds to an ephemeral flow for a known control connection.

17. The device of claim 16 wherein the device associates ephemeral flow statistics with those of the well-known protocol that corresponds to the control connection.

18. The device of claim 15 further comprising instructions to:

expire the ephemeral flow identifier mappings after a configurable timeout period.

19. A computer program product residing on a computer readable medium for tracking dynamically negotiated port numbers comprises instructions for causing a computer to:

collect statistical information on packets that are sent between nodes on a network;

inspect packets of control connections to detect payload fragments that denote ephemeral port negotiation;

produce a mapping from a ephemeral connection flow identifier to a control connection flow identifier,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port; and

check the flow identifier to see whether a flow record maps to a control connection.

20. The computer program product of claim 19 further comprising instructions to indicate that the flow record corresponds to an ephemeral flow for a known control connection.

21. The computer program product of claim 19 further comprising instructions to associate ephemeral flow statistics with those of a well-known protocol that corresponds to the control connection.

22. The computer program product of claim 19 further comprising instructions to expire the ephemeral flow identifier mappings after a configurable timeout.

23. The computer program product of claim 19 further comprising instructions to examine all packets on a specific port for a specific connection protocol.

24. A computer program product residing on a computer readable medium for determining mappings for ephemeral port connections comprising instructions to cause a computing device to:

inspect packets of control connections to detect payload fragments that denote ephemeral port negotiation;

produce a mapping from a ephemeral connection flow identifier to a control connection flow id,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port; and

send the mapping to a device to associate the mapping with ephemeral connections.

25. The computer program product of claim 24 further comprising instructions to examines all packets on a specific port for a specific connection protocol.

26. The computer program product of claim 24 wherein the protocol tracked is the ftp and the connection port examined is port 21/tcp.

27. The computer program product of claim 24 wherein payload fragments that denote ephemeral port negotiation for FTP are ‘PORT’ and ‘227’ FTP commands.

28. A computer program product residing on a computer readable medium for determining ephemeral port connections comprising instructions to cause a computing device to:

receive, from a plurality of collector devices, mappings corresponding to a ephemeral connection flow identifier to a control connection flow identifier,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port; and

check the flow identifier to see whether a received flow record maps to a control connection.

29. The computer program of claim 28 wherein the instructions to check further comprise instructions to determine if the flow identifier maps to a control connection; and if the flow identifier maps to a control connection,

produce an indication that the flow record corresponds to an ephemeral flow for a known control connection.

30. The computer program product of claim 28 wherein the device associates ephemeral flow statistics with those of a well-known protocol that corresponds to the control connection.

31. A computer implemented method for tracking dynamically negotiated port connections, the method comprising:

collecting statistical information on packets that are sent between nodes on a network;

inspecting packets of control connections to detect payload fragments that denote ephemeral port negotiation;

producing a mapping from a ephemeral connection flow identifier to a control connection flow identifier,

wherein the ephemeral connection flow identifier includes a destination address, an unknown port, a client destination address, and a client destination port, and

wherein the control connection flow identifier includes a source address, source port, a destination address, and a destination port; and

checking the flow identifier to see whether a flow record maps to a control connection.

32. The method of claim 31 further comprising associating ephemeral flow statistics with those of a well-known protocol that corresponds to the control connection.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2009
From: MAZU NETWORKS, LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 022542/0800 →
CHANGE OF NAME Recorded Mar 30, 2009
From: MAZU NETWORKS, INC.
To: MAZU NETWORKS, LLC
Reel/Frame 022460/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2004
From: POLETTO, MASSIMILIANO ANTONIO; GORELIK, ANDREW
To: MAZU NETWORKS, INC.
Reel/Frame 015882/0750 →