Patent US7299296B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US7299296B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Filtering data flows based on associated forwarding tables

Assignee: Juniper Networks Inc
•
Filing: 2002-09-18
•
Granted: 2007-11-20
•
Expires: 2022-09-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Techniques are described for selectively filtering data, such as network packets, that correspond to forwarding tables. For example, a router receives packets from an input interface of an interface card (IFC). The router applies one or more input interface filters associated with the input interface that received the packet. The router selectively associates the packet with a forwarding table, applies a corresponding forwarding filter, and determines the output interface corresponding to the next hop of the packet. The router may further apply one or more output interface filters associated with the output interface, and forwards the packet in accordance with the respective forwarding information.

Inventors

  • 👤 Jeffrey Y Lo
  • 👤 Scott Mackie

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 08:22
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/66

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 209 words
A method of forwarding packets using a router having a plurality of input interfaces coupled to a centralized control unit, the method comprising: maintaining, within the control unit, a plurality of forwarding tables that each associate a plurality of network destinations with next hops in a network; maintaining, within the control unit, a plurality of sets of forwarding filters, wherein each of the sets of forwarding filters corresponds to a different one of the plurality of forwarding tables, and wherein each of the forwarding filters include at least one forwarding rule and an associated action; receiving, with one of the plurality of input interfaces, a data unit from the network; forwarding the data unit from the input interface that received the packet to the control unit; selecting, with the control unit, one of the plurality of forwarding tables to be used by the control unit to forward the packet; selectively applying to the data unit only the forwarding rules and associated actions of the forwarding filters of the set of forwarding filters that corresponds to the selected forwarding table; and forwarding the data unit with the control unit to an output interface in accordance with the selected one of the plurality of forwarding tables maintained by the control unit.
Claim 2
Independent Claim 209 words
A method of forwarding packets using a router having a plurality of input interfaces coupled to a centralized control unit, the method comprising: maintaining, within the control unit, a plurality of forwarding tables that each associate a plurality of network destinations with next hops in a network; maintaining, within the control unit, a plurality of sets of forwarding filters, wherein each of the sets of forwarding filters corresponds to a different one of the plurality of forwarding tables, and wherein each of the forwarding filters include at least one forwarding rule and an associated action; receiving, with one of the plurality of input interfaces, a data unit from the network; forwarding the data unit from the input interface that received the packet to the control unit; selecting, with the control unit, one of the plurality of forwarding tables to be used by the control unit to forward the packet; selectively applying to the data unit only the forwarding rules and associated actions of the forwarding filters of the set of forwarding filters that corresponds to the selected forwarding table; and forwarding the data unit with the control unit to an output interface in accordance with the selected one of the plurality of forwarding tables maintained by the control unit.
Claim 3
Dependent Claim 27 words
The method of claim 1 , wherein one or more of the plurality of forwarding tables corresponds to more than one of the plurality of input interfaces.
Claim 4
Dependent Claim 38 words
The method of claim 1 , further comprising: identifying the output interface for the data unit based on the selected forwarding table; and applying an output interface filter to the data unit based on the identified output interface.
Claim 5
Dependent Claim 60 words
The method of claim 1 , further comprising: dynamically instantiating a logical interface between the input interface that received the data unit and the control unit; associating the instantiated interface with a first forwarding table of the plurality of forwarding tables; and filtering the data unit of the instantiated interface with a forwarding filter associated with the first forwarding table.
Claim 6
Dependent Claim 30 words
The method of claim 1 , wherein selectively applying the forwarding filters comprises: accepting the data unit based on an examination of header information; and forwarding the accepted data unit.
Claim 7
Dependent Claim 30 words
The method of claim 1 , wherein selectively applying the forwarding filters comprises: rejecting the data unit based on an examination of header information; and discarding the rejected data unit.
Claim 8
Dependent Claim 32 words
The method of claim 1 , wherein each of the plurality of forwarding tables maintained by the control unit corresponds to one of a plurality of different customer virtual private networks (VPNs).
Claim 9
Dependent Claim 29 words
The method of claim 1 , wherein selecting one of the plurality of forwarding tables comprises selecting one of the plurality of forwarding tables based on the data unit.
Claim 10
Dependent Claim 37 words
The method of claim 1 , wherein selecting one of the plurality of forwarding tables comprises selecting one of the plurality of forwarding tables based on the input interface that received the data unit from the network.
Claim 11
Dependent Claim 186 words
A network device comprising: a plurality of input interfaces that receive at least one data unit from a network; and a control unit coupled to the input interfaces, wherein the control unit includes: a plurality of forwarding tables that each associate a plurality of network destinations with specific next hops in a network; a plurality of sets of forwarding filters, each of the sets of forwarding filters being associated with a different one of the forwarding tables, and each of the forwarding filters including at least one forwarding rule and an associated action; and wherein the control unit receives the data unit from the one of the input interfaces that received the data unit from the network, selects one of the plurality of forwarding tables to forward the data unit, selectively applies the forwarding filters to the data unit by applying only the forwarding rules and associated actions of the set of forwarding filters associated with the selected forwarding table, and forwards the data unit to an output interface in accordance with the selected one of the plurality of forwarding tables maintained by the control unit.
Claim 12
Dependent Claim 186 words
A network device comprising: a plurality of input interfaces that receive at least one data unit from a network; and a control unit coupled to the input interfaces, wherein the control unit includes: a plurality of forwarding tables that each associate a plurality of network destinations with specific next hops in a network; a plurality of sets of forwarding filters, each of the sets of forwarding filters being associated with a different one of the forwarding tables, and each of the forwarding filters including at least one forwarding rule and an associated action; and wherein the control unit receives the data unit from the one of the input interfaces that received the data unit from the network, selects one of the plurality of forwarding tables to forward the data unit, selectively applies the forwarding filters to the data unit by applying only the forwarding rules and associated actions of the set of forwarding filters associated with the selected forwarding table, and forwards the data unit to an output interface in accordance with the selected one of the plurality of forwarding tables maintained by the control unit.
Claim 13
Dependent Claim 34 words
The network device of claim 10 , further comprising a set of interface filters, wherein each of the set of interface filters filters packets for a respective one of the plurality of input interfaces.
Claim 14
Dependent Claim 24 words
The network device of claim 10 , further comprising: an output interface; and an interface filter that filters data units of the output interface.
Claim 15
Dependent Claim 37 words
The network device of claim 12 , further comprising: an interface card; and, a service card, wherein the interface card and the service card each provide a number of input interfaces and a number of output interfaces.
Claim 16
Dependent Claim 28 words
The network device of claim 13 , further comprising a chassis having slots to receive and couple the interface card and the service card to the control unit.
Claim 17
Dependent Claim 30 words
The network device of claim 10 , wherein each of the plurality of forwarding tables may be one or more of a list, radix tree, database, flat file, and table.
Claim 18
Dependent Claim 33 words
The network device of claim 10 , wherein each of the plurality of forwarding tables maintained by the control unit corresponds to one of a plurality of different customer virtual private networks (VPNs).
Claim 19
Dependent Claim 206 words
A computer-readable storage medium comprising instructions that cause a processor to: maintain, within a centralized control unit of a router, a plurality of forwarding tables that each associate a plurality of network destinations with next hops in a network; maintain, within the control unit, a plurality of sets of forwarding filters, wherein each of the sets of forwarding filters corresponds to a different one of the plurality of forwarding tables, and wherein each of the forwarding filters include at least one forwarding rule and an associated action; receive, with one of a plurality of input interfaces coupled to the control unit, a data unit from the network; forward the data unit from the input interface that received the packet to the control unit; select, with the control unit, one of the plurality of forwarding tables to be used by the control unit to forward the packet selectively apply to the data unit only the forwarding filters rules and associated actions of the forwarding filters of the set of forwarding filters that corresponds to the selected-forwarding table; and forward the data unit with the control unit to an output interface in accordance with the selected one of the plurality of forwarding tables maintained by the control unit.
Claim 20
Dependent Claim 206 words
A computer-readable storage medium comprising instructions that cause a processor to: maintain, within a centralized control unit of a router, a plurality of forwarding tables that each associate a plurality of network destinations with next hops in a network; maintain, within the control unit, a plurality of sets of forwarding filters, wherein each of the sets of forwarding filters corresponds to a different one of the plurality of forwarding tables, and wherein each of the forwarding filters include at least one forwarding rule and an associated action; receive, with one of a plurality of input interfaces coupled to the control unit, a data unit from the network; forward the data unit from the input interface that received the packet to the control unit; select, with the control unit, one of the plurality of forwarding tables to be used by the control unit to forward the packet selectively apply to the data unit only the forwarding filters rules and associated actions of the forwarding filters of the set of forwarding filters that corresponds to the selected-forwarding table; and forward the data unit with the control unit to an output interface in accordance with the selected one of the plurality of forwarding tables maintained by the control unit.
Claim 21
Dependent Claim 33 words
The computer-readable medium of claim 17 , further comprising instructions that cause the processor to filter the data unit with an interface filter corresponding to the input interface that received the data unit.
Claim 22
Dependent Claim 53 words
The computer-readable medium of claim 17 , further comprising instructions that cause the processor to: identify an output interface for the data unit based on the identified forwarding table; filter the data unit with an interface filter associated with the identified output interface; and forward the data unit via the identified output interface.
Claim 23
Dependent Claim 67 words
The computer-readable medium of claim 19 , further comprising instructions that cause the processor to: dynamically instantiate a logical interface between the input interface that received the data unit and the control unit; associate the instantiated interface with a first forwarding table of the plurality of forwarding tables; and filter the data unit of the instantiated interface with a forwarding filter associated with the first forwarding table.
Claim 24
Dependent Claim 33 words
The computer-readable medium of claim 17 , wherein each of the plurality of forwarding tables maintained by the control unit corresponds to one of a plurality of different customer virtual private networks (VPNs).
Claim 25
Dependent Claim 195 words
A network device comprising: a plurality of input interfaces that receive data units from a network, wherein at least one of the input interfaces includes one or more interface filters that filter the data units received on the respective input interfaces; a control unit coupled to each of the plurality of interfaces, wherein the control unit maintains a plurality of forwarding tables that each associate a plurality of network destinations with specific next hops in a network, and further wherein the control unit maintains a plurality of sets of forwarding filters, each of the sets of forwarding filters being associated with a different one of the forwarding tables, and each of the forwarding filters including at least one forwarding rule and an associated action; and wherein the control unit receives data its from the input interfaces, identifies one of the plurality of forwarding tables for each of the data units, applies to each of the data units the set of forwarding filters associated with the identified one of the plurality of forwarding tables, and forwards at least a Portion of the data units in accordance with the identified one of the plurality of forwarding tables.
Claim 26
Dependent Claim 195 words
A network device comprising: a plurality of input interfaces that receive data units from a network, wherein at least one of the input interfaces includes one or more interface filters that filter the data units received on the respective input interfaces; a control unit coupled to each of the plurality of interfaces, wherein the control unit maintains a plurality of forwarding tables that each associate a plurality of network destinations with specific next hops in a network, and further wherein the control unit maintains a plurality of sets of forwarding filters, each of the sets of forwarding filters being associated with a different one of the forwarding tables, and each of the forwarding filters including at least one forwarding rule and an associated action; and wherein the control unit receives data its from the input interfaces, identifies one of the plurality of forwarding tables for each of the data units, applies to each of the data units the set of forwarding filters associated with the identified one of the plurality of forwarding tables, and forwards at least a Portion of the data units in accordance with the identified one of the plurality of forwarding tables.

References Cited (Backward Citations)

US6341130B1 Cited
US6594268B1 Cited
US6754729B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2010-11-19 2011-05-21 2011-11-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2014-11-19 2015-05-21 2015-11-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2018-11-19 2019-05-21 2019-11-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag