Есть два FastEthernet-канала (именно канала). Нужно сделать 200. Но подождите отвечать ECMP/L3 или LAG/L2. Я бы сюда не писал, если бы всё было так просто.1. Мы не контролируем проходящие пакеты. Они могут быть L2 (CDP/LLDP/VTP/STP/dotQ/QinQ/FCoE/...), L3 (IP), MPLS, что угодно, Jumbo/не-Jumbo. Т. е. даже "port-channel load-balance vlan-src-dst-mixed-ip-port" и близко не делает более-менее равное распределение: подавляющая часть трафика идёт от одного MAC с одной стороны к другому MAC с другой стороны (т. к. это MPLS между соседями), соответственно, получается 110-120, никак не 200. Ну и один поток, понятно, максимум 100.
2. На эту тему у Juniper есть "Per-Packet Random Spray Load Balancing": [edit interfaces aex aggregated-ether-options load-balance] per-packet. НО! Вспоминаем, что эти две сотни - каналы. Весьма близкие по характеристикам, но, к сожалению, не идентичные, а плюс-минус 2-5 ms друг относительно друга. Таким образом, сразу натыкаемся на out-of-order пакетов (об этом и Juniper предупреждает). А для нас это критично. Т. е. между разными flow - плевать, но в пределах одного flow должно быть строго in order. А что есть flow - наше оборудование не знает, т. к. см. п. 1.
Уже всю голову сломал. Фактически, нужно что-то, что с одной стороны будет инкапсулировать L2, нумеровать пакеты и запихивать их в каналы либо поочерёдно, либо по какому-то принципу (пытаться определить, какие flow есть в потоке?), а с другой стороны иметь sequencing buffer на несколько пакетов/миллисекунд и собирать пакеты по порядку (или нет, если flow найдены и разбросаны по каналам?). Замечательный вариант - MLPPP, он это умеет ("ppp multilink slippage"), но MLPPP в принципе не бывает на PPPoE. А у нас пара Ethernet'ов, а не Serial'ов.
Что бы это могло быть? Может ли это быть Cisco не самых дорогих семейств (кроме CRS/ASR/Nexus :) Или какое-то другое не запредельно дорогое железо?