 |
Link Aggregation | Fail
Over | Load Balancing | IEEE 802.3ad
LACP
Merlink is a robust, lean, high performance implementation
of managed link aggregation. It enables multiple links
to be aggregated together to form a link aggregation group, in such a way that
a MAC client can treat the group as a single link. This aggregated link thus acts
as a higher-speed link providing increased bandwidth and fault tolerance. In the
event of a link failure, Merlink redistributes traffic from the failed links to
the remaining links in the group. Merlink also balances the load across different
links with support for customizable load-balancing algorithms which can handle
links of varying bandwidth. Merlink’s tiny footprint and configurable modules
have been specifically designed for use in an embedded environment. With built-in
support for the IEEE 802.3ad Link Aggregation Control Protocol (LACP), and scalability
from basic manual trunking to advanced automated aggregate management, Merlink
is the optimal solution for high-bandwidth and fault-tolerant applications.
An
increase in data traffic requirements for a link usually involves a hard choice
between reducing services available on the link or dealing with the incompatibility
between various new physical and data link layer technologies that may provide
the higher bandwidth. Combining existing parallel, physical layer links into a
single logical link becomes increasingly attractive in such situations. This achieves
linearly scalable bandwidth per network connection while simultaneously providing
high availability and reliability through multiple links. Further, it leverages
the economies of scale for existing physical layer technologies without having
to adopt new ones. Merlink, a member of TeamF1’s Switchcraft family of switching
products, provides a convenient way for VxWorks based systems to leverage the
benefits of managed link aggregation technology. Its framework contains APIs to
manually or automatically add and remove existing links from aggregates, and has
the capability to have an aggregate appear as a virtual END driver to the higher
network layers providing for maximum application portability. The framework builds
upon standard END drivers requiring no special OS or networking source code and
supports links of different physical types and bandwidths.
Top
Besides the immediate cost and scalability benefits of utilizing multiple lower-bandwidth
links instead of one higher bandwidth link, aggregates also enable increased system
resiliency and redundancy. Failure of a single component link does not disrupt
communications between interconnected devices, and the loss of a link within an
aggregate just reduces available capacity while maintaining the connection and
data flow. Merlink adds a unique twist to this, additionally providing for sets
(sub-aggregates) of ports that can be marked for use only during failure conditions.
When the regular ports in an aggregate work normally, these ports do not participate
in traffic handling. However, when a failure condition occurs, as determined by
a configurable function of the state of various links, the fail-over ports take
over the data flow. When the regular ports are back up eventually, the framework
achieves a seamless transition back to normal conditions, setting the fail-over
ports back into passive mode. Merlink can thus help to meet the high-availability
and fault-tolerant goals of critical embedded systems.
Top
If the traffic and distribution algorithm for an aggregate is such that a few
links carry the bulk of the traffic while others go nearly idle, the improvement
will be less than anticipated. Merlink provides standard load balancing across
links so that traffic is distributed across all links without overwhelming any
single link. Normally, link aggregation assumes that a uniform distribution of
traffic will occur over the links in an aggregate (except for ones connected to
fail-over ports). However, this assumption of a trivial load-balancing may not
work for specialized applications, as well as for links of different bandwidths
and physical types. For this, Merlink provides a plug-in mechanism to introduce
a custom load-sharing algorithm between various links, which defaults to a round-robin
scheme if no such algorithm is present. Even the default scheme provides for configurability
such as the relative priority of each link and quantum of each time slice across
which balancing is scheduled. Addition of custom load balancing schemes requires
no knowledge of Merlink’s underlying implementation, yet allows for full
flexibility via the provided APIs.
Top
While Merlink supports manual deletion and addition of links to aggregates, its
automated configuration facility also provides for a convenient way to manage
and detect capabilities and connectivity of individual links within aggregation
groups. Merlink includes full support for the LACP protocol based on IEEE 802.3ad
specification. 802.3ad specifies automatic and dynamic configuration of appropriate
sets of links within an aggregation group in the absence of manual overrides.
Rapid configuration and reconfiguration are also possible in event of changes
in physical connectivity of the links. Merlink allows selective configuration
of LACP only on certain ports, if required, and supports both active and passive
mode LACP based on whether the Merlink-enabled system wants to act as a source
of control packets (PDUs) or only wants to respond to incoming packets.

Top
|