Method and apparatus for dynamically shifting between routing and switching packets in a transmission network
First Claim
1. A method for transmitting packets between an upstream node and a downstream node in a network, said downstream node being downstream from said upstream node, said method comprising the steps of:
- establishing default virtual channels between said upstream node and said downstream node;
receiving a packet at said downstream node;
determining whether the packet arrived on one of said default virtual channels;
selectively performing a flow classification, at said downstream node, on said packet;
selecting at said downstream node, a free label on said upstream node;
informing said upstream node that future packets belonging to said specified flow should be sent with said selected free label attached.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for dynamically shifting between switching and routing packets efficiently to provide high packet throughput. The present invention provides a method for transmitting packets between an upstream node and a downstream node in a network that utilizes flow classification and labelling to redirect flows. The method includes the steps of establishing default virtual channels between the upstream node and the downstream node, receiving a packet at the downstream node, performing a flow classification at the downstream node on the packet to determine whether the packet belongs to a specified flow that should be redirected in the upstream node, selecting a free label at the downstream node, and informing the upstream node that future packets belonging to the specified flow should be sent with the selected free label attached. Other embodiments of the present invention include a basic switching unit and a switch gateway unit for use in a system for transmitting packets in a network. Another embodiment includes system software, fixed on tangible media, that performs flow classification of packets to enable flow labelling and redirection to dynamically shift between Layer 3 IP packet routing and Layer 2 switching to optimize packet traffic throughput. A further embodiment provides a method for switching a flow at a first node in a network.
383 Citations
25 Claims
-
1. A method for transmitting packets between an upstream node and a downstream node in a network, said downstream node being downstream from said upstream node, said method comprising the steps of:
-
establishing default virtual channels between said upstream node and said downstream node; receiving a packet at said downstream node; determining whether the packet arrived on one of said default virtual channels; selectively performing a flow classification, at said downstream node, on said packet; selecting at said downstream node, a free label on said upstream node; informing said upstream node that future packets belonging to said specified flow should be sent with said selected free label attached. - View Dependent Claims (2, 3, 4)
-
-
5. A method for transmitting packets between an upstream node and a downstream node in a network, said downstream node being downstream from said upstream node, said method comprising the steps of:
-
establishing default virtual channels between said upstream node and said downstream node; receiving a packet at said downstream node; performing a flow classification at said downstream node on said packet to determine whether said packet belongs to a specified flow that should be redirected in the upstream node; selecting a free label at said downstream node; informing said upstream node that future packets belonging to said specified flow should be sent with said selected free label attached; and wherein said network comprises a local area computer network, and wherein said informing step is performed by IFMP software that enables communication between said upstream and downstream nodes.
-
-
6. A method for transmitting packets between an upstream node and a downstream node in a network, said downstream node being downstream from said upstream node, said method comprising the steps of:
-
establishing default virtual channels between said upstream node and said downstream node; receiving a packet at said downstream node; performing a flow classification at said downstream node on said packet to determine whether said packet belongs to a specified flow that should be redirected in the upstream node; selecting a free label at said downstream node; informing said upstream node that future packets belonging to said specified flow should be sent with said selected free label attached; wherein said flow classification performing step includes looking at a flow identifier of the packet to determine whether said packet belongs to a specified flow that should be redirected in the upstream node, said flow identifier comprising specified header fields from the packet; and sending said future packets belonging to the specified flow with said specified header fields removed to provide security. - View Dependent Claims (7)
-
-
8. A method for switching a flow at a first node, said first node having a downstream link to a second node and an upstream link to a third node, said method comprising the steps of:
-
performing a flow classification at said first node on a first packet to determine whether said first packet belongs to a specified flow that should be redirected in the third node; selecting a first free label at said first node; informing said third node that future packets belonging to said specified flow should be sent with said selected first free label attached; performing a flow classification at said second node on a second packet to determine whether said second packet belongs to said specified flow that should be redirected in the third node; selecting a second free label at said second node; informing said first node that future packets belonging to said specified flow should be sent with said selected second free label attached; and selectively switching said specified flow from said upstream link by said first node to said downstream link; and wherein said specified flow from said upstream link may be sent by said first node to said downstream link. - View Dependent Claims (9, 10, 11)
-
-
12. A method for switching a flow at a first node, said first node having a downstream link to a second node and an upstream link to a third node, said method comprising the steps of:
-
performing a flow classification at said first node on a first packet to determine whether said first packet belongs to a specified flow that should be redirected in the third node; selecting a first free label at said first node; informing said third node that future packets belonging to said specified flow should be sent with said selected first free label attached; performing a flow classification at said second node on a second packet to determine whether said second packet belongs to said specified flow that should be redirected in the third node; selecting a second free label at said second node; informing said first node that future packets belonging to said specified flow should be sent with said selected second free label attached, wherein said specified flow from said upstream link may be switched by said first node to said downstream link, said second packet is said first packet, and said informing steps are performed by IFMP software that enables communication between said nodes.
-
-
13. A computer program product that enables dynamic shifting between routing and switching in a network having an upstream node and a downstream node downstream from said upstream node, said computer program product comprising:
-
computer readable code that performs a flow classification on a packet at said downstream node to determine whether said packet belongs to a specified flow that should be redirected in said upstream node; computer readable code that selects, at said downstream node, a first free label on said upstream node; computer readable code that informs said upstream node that future packets belonging to said specified flow should be sent with said selected first free label attached; and a tangible medium that stores the computer readable codes. - View Dependent Claims (14, 15)
-
-
16. A method for transmitting packets between an upstream node and a downstream node in a network comprising the steps of:
-
receiving a packet from said upstream node at said downstream node; performing a flow classification, at said downstream node, on said packet; selectively assigning, at said downstream node, a free label on said upstream node; sending a message to said upstream node indicating said free label; and selectively including said free label in future packets from said upstream node. - View Dependent Claims (17, 18)
-
-
19. A method for forwarding packets from a first node to a second node in a network comprising the steps of:
-
receiving a first packet from said first node; performing a flow classification on said first packet; selectively assigning a free label to a flow associated with said first packet; sending a message to said first node indicating said free label; and forwarding future packets from said flow using a channel indicated by said free label. - View Dependent Claims (20)
-
-
21. A method for switching a flow at a first node comprising the steps of:
-
receiving a first packet of said flow from an upstream node; performing a flow classification on said first packet; selecting a first free label on said upstream node; sending a message to said upstream node indicating said first free label; receiving a message from a downstream node indicating a second free label; and selectively switching future packets of said flow from said upstream node to said downstream node based on said first and second free labels. - View Dependent Claims (22)
-
-
23. A computer program product for transmitting packets between an upstream node and a downstream node in a network comprising:
-
code for receiving a packet from said upstream node at said downstream node; code for performing a flow classification, at said downstream node, on said packet; code for selectively assigning, at said downstream node, a free label on said upstream node; code for sending a message to said upstream node indicating said free label; and code for selectively including said free label in future packets from said upstream node.
-
-
24. A computer program product for forwarding packets from a first node to a second node in a network comprising:
-
code for receiving a first packet from said first node; code for performing a flow classification on said first packet; code for selectively assigning a free label to a flow associated with said first packet; code for sending a message to said first node indicating said free label; and code for forwarding future packets from said flow using a channel indicated by said free label.
-
-
25. A computer program product for switching a flow at a first node comprising:
-
code for receiving a first packet of said flow from an upstream node; code for performing a flow classification on said first packet; code for selecting a first free label on said upstream node; code for sending a message to said upstream node indicating said first free label; code for receiving a message from a downstream node indicating a second free label; and code for selectively switching future packets of said flow from said upstream node to said downstream node based on said first and second free labels.
-
Specification