Reverse path forwarding router system
First Claim
1. An apparatus comprising:
- a routing device comprising;
a plurality of interfaces configured to receive packets from a plurality of sources;
a memory comprising;
a forwarding database that stores forwarding information comprising at least one of a forward information base (FIB) or a routing information base (RIB), the forwarding information associating with a source a set of one or more acceptable interfaces for receipt of packets from the source; and
a bundle database that stores bundle information associating with the source a bundle comprising a plurality of acceptable interfaces for receipt of packets from the source, wherein the bundle of acceptable interfaces is different from the set of one or more acceptable interfaces indicated in the forwarding information and is less than all of the plurality of interfaces of the routing device;
a validity module executable by a processor, the validity module configured to;
identify an interface of the plurality of interfaces on which a packet is received from the source;
determine whether the packet is valid based on a comparison of the interface on which the packet is received with the bundle of acceptable interfaces associated with the source, wherein the validity module is configured to access the bundle information stored in the bundle database without access of the forwarding information stored in the forwarding database to determine whether the packet is valid; and
a forwarding module executable by the processor, wherein the forwarding module is configured to;
forward the packet on one of the plurality of interfaces over one of the one or more networks in response to determination by the validity module that the packet is valid; and
drop the packet without forwarding the packet in response to determination by the validity module that the packet is invalid.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus configured to route packets over networks may be configured to determine whether a packet is valid prior to routing a received packet. The apparatus may receive the packet on one of a plurality of interfaces. The apparatus may identify the interface on which the packet is received and also a source of the packet. Additionally, the apparatus may access a bundle of acceptable interfaces on which a packet from the source may be received. The number of acceptable interfaces may be greater than a single interface, but less that all of the interfaces of the apparatus configured to receive packets from over the networks. If the interface on which the packet is received is an acceptable interface identified by the bundle, then the packet is valid and routed to a next location. Otherwise, the packet is determined to be invalid and dropped.
-
Citations
12 Claims
-
1. An apparatus comprising:
a routing device comprising; a plurality of interfaces configured to receive packets from a plurality of sources; a memory comprising; a forwarding database that stores forwarding information comprising at least one of a forward information base (FIB) or a routing information base (RIB), the forwarding information associating with a source a set of one or more acceptable interfaces for receipt of packets from the source; and a bundle database that stores bundle information associating with the source a bundle comprising a plurality of acceptable interfaces for receipt of packets from the source, wherein the bundle of acceptable interfaces is different from the set of one or more acceptable interfaces indicated in the forwarding information and is less than all of the plurality of interfaces of the routing device; a validity module executable by a processor, the validity module configured to; identify an interface of the plurality of interfaces on which a packet is received from the source; determine whether the packet is valid based on a comparison of the interface on which the packet is received with the bundle of acceptable interfaces associated with the source, wherein the validity module is configured to access the bundle information stored in the bundle database without access of the forwarding information stored in the forwarding database to determine whether the packet is valid; and a forwarding module executable by the processor, wherein the forwarding module is configured to; forward the packet on one of the plurality of interfaces over one of the one or more networks in response to determination by the validity module that the packet is valid; and drop the packet without forwarding the packet in response to determination by the validity module that the packet is invalid. - View Dependent Claims (2, 3, 4)
-
5. A method comprising:
-
receiving, on an interface of a plurality of interfaces of a routing device, a routable packet from over a network; identifying, with a processor of the routing device, the interface and a source of the packet; storing, in a forwarding database of a memory, forwarding information comprising at least one of a forward information base (FIB) or a routing information base (RIB), the forwarding information associating with the source a set of one or more acceptable interfaces for receipt of packets from the source; storing, in a bundle database of the memory, bundle information associating with the source a bundle comprising a plurality of acceptable interfaces for receipt of packets from the source, wherein the bundle of acceptable interfaces is different from the set of one or more acceptable interfaces indicated in the forwarding information and is less than all of the plurality of interfaces of the routing device; determining, with the processor, whether the packet is valid based on a comparison of the interface on which the packet is received with the bundle of acceptable interfaces associated with the source, wherein the determination is performed by accessing the bundle information stored in the bundle database without accessing the forwarding information stored in the forwarding database; forwarding, with the processor, the packet on one of the plurality of interfaces over one or more networks in response to the packet being valid; and dropping, with the processor, the packet in response to the packet being invalid. - View Dependent Claims (6, 7, 8)
-
-
9. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions, the computer executable instructions comprising:
-
instructions executable to identify an interface of a plurality of interfaces of a routing device on which a packet is received from over a network; instructions executable to identify a source of the packet; instructions executable to store, in a forwarding database of a memory, forwarding information comprising at least one of a forward information base (FIB) or a routing information base (RIB), the forwarding information associating with the source a set of one or more acceptable interfaces for receipt of packets from the source; instructions executable to store, in a bundle database of the memory, bundle information associating with the source a bundle comprising a plurality of acceptable interfaces for receipt of packets from the source, wherein the bundle of acceptable interfaces is different from the set of one or more acceptable interfaces indicated in the forwarding information and is less than all of the plurality of interfaces of the routing device; instructions executable to determine whether the packet is valid based on a comparison of the interface on which the packet is received with the bundle of acceptable interfaces associated with the source, wherein the determination is performed by accessing the bundle information stored in the bundle database without accessing the forwarding information stored in the forwarding database; instructions executable to forward the packet on one of the plurality of interfaces over one or more networks in response to the packet being valid; and instructions executable to drop the packet without forwarding the packet in response to the packet being invalid. - View Dependent Claims (10, 11, 12)
-
Specification