A
system and method for
virtual link aggregation for combining network links of various types and speeds to increase
throughput and reliability for packetized transport. In contrast with physical port
trunking, the
system does not require
direct control over ports or network interfaces. Instead, the
system rewrites packet addresses and works through existing networking equipment, without requiring any new or special protocols,
processing, or equipment within the network. The system works through low-level rerouting by
rewriting hardware addresses and / or high-level routing by
rewriting logical addresses. Thus packets are redirected through multiple routes to a common destination via alternate gateways and links. Different algorithms may be employed to balance the load on each link and determine an
optimal route for each packet. Embodiments may also employ packet flow or
stream identification and thereby only provide
link aggregation for a specified set of packet flows.