Linux TEQL (True Link Equalizer)

来源:互联网 发布:蕨类植物 分形 算法 编辑:程序博客网 时间:2024/06/07 22:30

Several approaches exist to accomplish traffic flows over equal- or unequal-cost paths or interfaces. We have investigated Ethernet channel bonding (Layer 1) and ECMP so far. Other approaches are as follows:

  • PPP Multilink (/usr/src/linux/Documentation/networking/ppp_generic.txt), which is still an experimental feature of the Linux kernel but is available on BSD Unices via mpd (Netgraph Multilink PPP daemon).

  • TEQL, the "true" (or "trivial") link equalizer, which is unique to the Linux kernel. TEQL facilitates a queuing approach via the tc (traffic control) tool, which is an integral part of the Linux iproute2 suite of tools.

As always with link equalizing or ECMP, consider the negative implications of packet reordering, especially with heavily unbalanced links. (Note the following caveat.) TEQL support has to be compiled as a kernel module. Example 8-11 shows an example setup equalizing over two Ethernet network interface cards (NICs). TEQL uses its own virtual device, teql0.

Example 8-11. Joining Slaves to a Linux Equalizer Interface
[root@ganymed:~#] insmod sch_teql[root@ganymed:~#] tc qdisc add dev eth0 root teql0[root@ganymed:~#] tc qdisc add dev eth1 root teql0[root@callisto:~#] ifconfig -ateql0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00          NOARP  MTU:1500  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:100          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)[root@callisto:~#] tc -s qdisc qdisc teql0 8001: dev eth0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc teql0 8002: dev eth1 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

CAUTION

As Alexej Kuznetsov's said, "This device (teql0) puts no limitations on physical slave characteristics; [for example,] it will equalize 9600-baud line and 100-Mb Ethernet perfectly. Certainly, [a] large difference in link speeds will make the resulting equalized link unusable because of huge packet reordering. I estimate an upper useful difference as ~10 times."[3]

0 0
原创粉丝点击