...
Примечание: Разные модели устройств при балансировке разбивают поля на блоки разных размеров. MES2411x/MES2424/MES2448 (устройтва на базе пакетных процессоров RTL93xx) разбивают поля на блоки по 6 бит, остальные устройства на базе пакетных процессоров RTL83xx на блоки по 4 бит.
Примечание: При При расчёте номера порта для устройств на базе пакетных базе пакетных процессоров RTL83xx необходимо учитывать особенность привязки внутреннего номера порта на процессоре к системному номеру порта (ifindex) в системе. Все чётные не оптические и не combo порты имеют аппаратный индекс на 2 меньше, чем ifindex. Поэтому при расчёте, если рассчитанный номер порта выпал на физический порт с чёрным чётным ifindex, то необходимо сравнить его с ifindex предыдущего порта в LAG (если порт не первый в LAG). При сравнении, если ifindex предыдущего порта на 1 меньше, чем рассчитаный, то тогда вместо рассчитанного пакет будет отправлен в порт c индексом на 1 меньше.
...
- Алгоритм src-dest-mac-ip
- Устройство MES2424B
Порты в LAG:
Индекс порта в LAG 0 1 2 3 4 5 6 7 Имя порта в LAG Gi 0/2 Gi 0/3 Gi 0/6 Gi 0/7 Gi 0/8 Gi 0/9 Gi 0/10 Gi 0/11 - Поля пакетов Source MAC f0:79:59:5e:32:3e, Destination MAC e0:d9:e3:f9:b3:40, Source IP 10.25.56.23, Destination IP 149.154.167.41.
- Разбиваем поля на блоки по 6 бит и производим операцию XOR между ними
Поле | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 | Поле | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
MAC SA[47..42] | 1 | 1 | 1 | 1 | 0 | 0 | MAC DA[47..42] | 1 | 1 | 1 | 0 | 0 | 0 |
MAC SA[41..36] | 0 | 0 | 0 | 1 | 1 | 1 | MAC DA[41..36] | 0 | 0 | 1 | 1 | 0 | 1 |
MAC SA[35..30] | 1 | 0 | 0 | 1 | 0 | 1 | MAC DA[35..30] | 1 | 0 | 0 | 1 | 1 | 1 |
MAC SA[29..24] | 0 | 1 | 1 | 0 | 0 | 1 | MAC DA[29..24] | 1 | 0 | 0 | 0 | 1 | 1 |
MAC SA[23..18] | 0 | 1 | 0 | 1 | 1 | 1 | MAC DA[23..18] | 1 | 1 | 1 | 1 | 1 | 0 |
MAC SA[17..12] | 1 | 0 | 0 | 0 | 1 | 1 | MAC DA[17..12] | 0 | 1 | 1 | 0 | 1 | 1 |
MAC SA[11..6] | 0 | 0 | 1 | 0 | 0 | 0 | MAC DA[11..6] | 0 | 0 | 1 | 1 | 0 | 1 |
MAC SA[0..5] | 1 | 1 | 1 | 1 | 1 | 0 | MAC DA[0..5] | 0 | 0 | 0 | 0 | 0 | 0 |
HASH (XOR) | 0 | 0 | 0 | 1 | 0 | 1 | HASH (XOR) | 0 | 1 | 1 | 0 | 0 | 1 |
Поле | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 | Поле | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
IP SA[31..30] | 0 | 0 | 0 | 0 | 0 | 0 | IP DA[31..30] | 0 | 0 | 0 | 0 | 1 | 0 |
IP SA[29..24] | 0 | 0 | 1 | 0 | 1 | 0 | IP DA[29..24] | 0 | 1 | 0 | 1 | 0 | 1 |
IP SA[23..18] | 0 | 0 | 0 | 1 | 1 | 0 | IP DA[23..18] | 1 | 0 | 0 | 1 | 1 | 0 |
IP SA[17..12] | 0 | 1 | 0 | 0 | 1 | 1 | IP DA[17..12] | 1 | 0 | 1 | 0 | 1 | 0 |
IP SA[11..6] | 1 | 0 | 0 | 0 | 0 | 0 | IP DA[11..6] | 0 | 1 | 1 | 1 | 0 | 0 |
IP SA[0..5] | 0 | 1 | 0 | 1 | 1 | 1 | IP DA[0..5] | 1 | 0 | 1 | 0 | 0 | 1 |
HASH (XOR) | 1 | 0 | 1 | 0 | 0 | 0 | HASH (XOR) | 1 | 0 | 1 | 1 | 1 | 0 |
Производим XOR над всеми получившимися HASH:
HASH | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
MAC SA | 0 | 0 | 0 | 1 | 0 | 1 |
MAC DA | 0 | 1 | 1 | 0 | 0 | 1 |
IP SA | 1 | 0 | 1 | 0 | 0 | 0 |
IP DA | 1 | 0 | 1 | 1 | 1 | 0 |
XOR | 0 | 1 | 1 | 0 | 1 | 0 |
b011010 = 26. В порт-ченнеле 8 портов, т.о. пакет улетит в порт с index равным 26 mod 8 = 2.
...